Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline potter000  
#1 Оставлено : 15 января 2009 г. 1:32:22(UTC)
potter000

Статус: Новичок

Группы: Участники
Зарегистрирован: 12.01.2009(UTC)
Сообщений: 8
Откуда: Moscow

Добрый день,

Установил последний билд (5167) CSP 3.6 на Solaris 9. При помощи csptest скопировал ключевой контейнер с дискеты:
Код:
csptest -keycopy -machinekeyset -src '\\.\FAT12_0\source_container_name' -dest '\\.\HDIMAGE\dest_container_name'

Всё делаю под root'ом. После этого, если попробовать получить список контейнеров из-под root'а:
Код:
 csptest -keyset -machinekeyset -enum_containers -fqcn -verifycontext

то вижу оба контейнера (и HDIMAGE, и FAT12_0). Если же работать из-под обычного пользователя, то виден только 1 контейнер (FAT12_0), т.е. контейнера на жестком диске не видно.
Соответственно, если к контейнеру на диске привязать сертификат и попробовать им что-нибудь программно зашифровать, то функция CryptAcquireCertificatePrivateKey валится. Аналогичный код под Linux (AltLinux Server 4.0) работает нормально, и под Linux оба контейнера видны под простым пользователем.
Куда копать?
Заранее спасибо.
Offline Татьяна  
#2 Оставлено : 15 января 2009 г. 14:08:16(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
Здравствуйте.
Контейнеры с ключами могут принадлежать пользователю или компьютеру. По умолчанию, когда пользователь создает контейнер, он помещается в его хранилище(принадлежит этому пользователю) и не доступен другим пользователям.
В данному случае вы создаете контейнер от имени пользователя root и, соответственно, контейнер принадлежит руту, другим не доступен (одни пользователи компьютера не должны иметь доступа к секретным ключам других).
Если необходимо пользоваться контейнером от имени другого пользователя, проведите операцию копирования от его имени(при этом можно использовать то же имя контейнера '\\.\HDIMAGE\dest_container_name' ).

Отредактировано пользователем 15 января 2009 г. 15:55:58(UTC)  | Причина: Не указана

Татьяна
ООО Крипто-Про
Offline potter000  
#3 Оставлено : 16 января 2009 г. 9:46:47(UTC)
potter000

Статус: Новичок

Группы: Участники
Зарегистрирован: 12.01.2009(UTC)
Сообщений: 8
Откуда: Moscow

Добрый день,
Я создавал (копировал) контейнер с опцией -machinekeyset, ,да и находится этот контейнер в /var/opt/cprocsp/keys, а не в /var/opt/cprocsp/keys/(имя_пользователя). То есть, контейнер все-таки в Local machine, насколько я понимаю
Offline Татьяна  
#4 Оставлено : 16 января 2009 г. 21:10:55(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
Пользователь не имеет прав на работу с хранилищем локального компьютера. Пожалуй, это не очень удобно, но самый простой способ копирования ключей в хранилище пользователя -- через отчуждаемый носитель(дискету) при помощи csptest -keycopy.
Татьяна
ООО Крипто-Про
Offline potter000  
#5 Оставлено : 17 января 2009 г. 3:22:14(UTC)
potter000

Статус: Новичок

Группы: Участники
Зарегистрирован: 12.01.2009(UTC)
Сообщений: 8
Откуда: Moscow

Татьяна написал:

Пользователь не имеет прав на работу с хранилищем локального компьютера.

Почему же под Linux они видят это хранилище?
Код:
csptest -keyset -machinekeyset -enum_containers -fqcn -verifycontext

выполняю под простым пользователем - получаю список контейнеров Local Machine

И как в таком случае мне установить сертификат с закрытым ключом в хранилище Local Machine (дано: сертификат + дискета с ключом)?

Offline Татьяна  
#6 Оставлено : 20 января 2009 г. 14:44:00(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
Чтобы сделать это, следует поду рутом выполнить
certmgr -inst -store mMy -file 'путь к файлу'

и выбрать контейнер на дискете. (Устанавливать сертификаты в хранилище компьютера может только суперпользователь, читать -- все).

После этого пользователю будет доступен сертификат.
Татьяна
ООО Крипто-Про
Offline potter000  
#7 Оставлено : 20 января 2009 г. 17:02:42(UTC)
potter000

Статус: Новичок

Группы: Участники
Зарегистрирован: 12.01.2009(UTC)
Сообщений: 8
Откуда: Moscow

В этом случае закрытый ключ сертификата остается на дискете, т.е. для любых операций (шифрование/дешифрование) потребуется вставлять дискету с ключом. Поэтому на Linux я делал так:
1. Копировал контейнер с дискеты на жесткий диск (HDIMAGE) в Local Machine
Код:
csptest -keycopy -machinekeyset -src '\\.\FAT12_0\source' -dest '\\.\HDIMAGE\destination'

2. Устанавливал сертификат и выбирал контейнер на диске
Код:
certmgr -inst -store mMy -file '/path/to/certificate/file.cer'

Еще раз повторю, что на чтение контейнеры HDIMAGE (Local Machine) были видны ВСЕМ. Вопрос в том, почему под Solaris это не так.
Offline Татьяна  
#8 Оставлено : 20 января 2009 г. 22:10:21(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
у меня csp версии 3.6 сборки 5167 на линукс ведет себя так же.
какая у вас версия и сборка CSP на линукс?
Татьяна
ООО Крипто-Про
Offline potter000  
#9 Оставлено : 21 января 2009 г. 3:02:51(UTC)
potter000

Статус: Новичок

Группы: Участники
Зарегистрирован: 12.01.2009(UTC)
Сообщений: 8
Откуда: Moscow

Видимо, проблема в сборке:
Linux + CSP 3.6 b5071 = поведение 1 (все видят контейнеры)
Solaris + CSP 3.6 b 5167 = поведение 2 (контейнеры видит только root)
Не знаете ли Вы, чем связано такое изменение в поведении? И зачем в таком случае вообще нужны контейнеры в Local Machine, если никто, кроме одного пользователя, не имеет к ним доступа? Проще тогда скопировать контейнеры в контейнеры пользователя root...
Offline Татьяна  
#10 Оставлено : 22 января 2009 г. 17:02:12(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
При проектировании системы учитывается большое количество различных факторов, в числе которых не только технические возможности и ограничения, но также требования безопасности и законодательные требования.
Сейчас режим доступа к контейнерам компьютера, находящимся на жестком диске, обсуждается.

Этот вопрос решается, но имеет не самый высокий приоритет, поскольку текущий режим работы вызывает неудобства только если есть достаточно большое количество пользователей, которые должны пользоваться одним и тем же закрытым ключом(что вообще говоря не является нормой). Если же пользователь один, вопрос решается путем копирования контейнера с дискеты в его хранилище и установки сертификата с привязкой к этому контейнеру.
Татьяна
ООО Крипто-Про
Offline potter000  
#11 Оставлено : 22 января 2009 г. 18:24:08(UTC)
potter000

Статус: Новичок

Группы: Участники
Зарегистрирован: 12.01.2009(UTC)
Сообщений: 8
Откуда: Moscow

Спасибо за информацию!
Вопрос возникал потому, что мы разрабатываем клиент-серверное приложение, и серверная часть, работающая с сертификатами, крутится под системным пользователем, трогать которого не хотелось. Но, раз так, будем устанавливать ключи в контейнер этого пользователя.

Еще такой вопрос: выполняю
Код:

csptest -keyset -enum_containers -fqcn -verifycontext

под root'ом. Если вставлена дискета с ключевым контейнером, всё ОК, если не вставлена (или вставлена чистая дискета) - приложение зависает. Почему такое может происходить? ОС Solaris 9 + CSP 3.6 b5167
Offline Татьяна  
#12 Оставлено : 23 января 2009 г. 14:24:56(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
а другие конейнеры у него есть?
приложение действительно зависает, или просто очень долго думает?
Татьяна
ООО Крипто-Про
Offline potter000  
#13 Оставлено : 23 января 2009 г. 20:14:57(UTC)
potter000

Статус: Новичок

Группы: Участники
Зарегистрирован: 12.01.2009(UTC)
Сообщений: 8
Откуда: Moscow

Уточнил, действительно, просто очень долго думает (минут 10)
Offline Татьяна  
#14 Оставлено : 9 февраля 2009 г. 15:36:47(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
сообщите пожалуйста более точно версию операционной системы (для проведения тестирования)
Татьяна
ООО Крипто-Про
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.