Статус: Новичок
Группы: Участники
Зарегистрирован: 19.05.2011(UTC) Сообщений: 4
|
Добрый день, наша компания занимается внедрением технологий Крипто Про в свои продукта для iOS, в этой теме мы бы хотели задавать появляющиеся вопросы.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.05.2011(UTC) Сообщений: 4
|
Как на iPad установить уже существующий сертификат открытого ключа и закрытый ключ (Крипто Про), записанный в копируемый контейнер?
Вариант выдачи нового сертификата и ключа через доступ к УЦ по сети не всегда удобен для корпоративных пользователей, которые получили свои ключи заранее на токенах или флешках.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
Здравствуйте. Использовать токен или флешку на iOS нет технической возможности (есть camera kit, в который можно воткнуть флешку, но права на работу с ней ограничены производителем, мы не можем ей пользоваться для хранения ключей). Таким образом, штатных средств для копирования ключей с флешки/токена на iPad у нас нет -- нужно создавать ключи на устройстве. У пользователя может быть несколько сертификатов -- с одним он будет работать на iPad, с другим на компьютере. При этом, если речь идет о корпоративной системе со своим удостоверяющим центром, компании это ничего не будет стоить: -если используете MS CA, то выпуск нового сертификата не повлечёт за собой затрат; -если используете КриптоПро УЦ, то там ведется учёт количества пользователей, а не сертификатов. Выпуск ещё одного сертификата для уже существующего пользователя не будет учитываться в лицензии.
Ещё есть вариант -- средствами вашего приложения перенести ключи (папку с ключами с флешки) в директорию приложения, далее Library/Caches/cprocsp/keys/имя_пользователя/ .
При этом необходимо проследить чтобы: - владельцем файлов был пользователь, в диретории с именем которого расположен контейнер(от его имени будет осуществляться работа с ключами) - чтобы на директорию с ключами были выставлены права, разрешаюшие владельцу всё - чтобы на файлы были выставлены права, разершающие владельцу по крайней мере чтение и запись
Можете сделать ключи на симуляторе и посмотреть в его файловой системе как это выглядит. Но такой способ переноса ключей по сети не безопасен, мы его реализовывать не планируем. Рекомендуется делать отдельные сертификаты для iPad и настольного компьютера. |
Татьяна ООО Крипто-Про |
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.05.2011(UTC) Сообщений: 4
|
Татьяна, спасибо!
Итого: если сертификат уже получен, файлы закрытого ключа с флешки можно включить в сборку, но проблемы безопасности при этом остаются на совести пользователя и разработчика приложения?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.01.2008(UTC) Сообщений: 40 Откуда: Москва Поблагодарили: 3 раз в 2 постах
|
Татьяна написал:Ещё есть вариант -- средствами вашего приложения перенести ключи (папку с ключами с флешки) в директорию приложения, далее Library/Caches/cprocsp/keys/имя_пользователя/ . Этот вариант не документирован, да и, возможно, работать в финальной версии не будет. Кроме того, всё равно потребуется писать код для установки сертификатов (см. ниже). ialyabushev написал:Итого: если сертификат уже получен, файлы закрытого ключа с флешки можно включить в сборку, но проблемы безопасности при этом остаются на совести пользователя и разработчика приложения? Есть документированный вариант, он несколько сложнее, но документирован. Задача перенести ключ из Вашего приложения на Windows/Linux/Mac OS в другое Ваше же приложение на iPad:
- Ваши приложения должны получить (или согласовать) ключ экспорта/импорта, например это может быть разовое достаточно длинное случайное число, полученное на Windows CryptGenRandom() (оно отображается на экране Windows и, скажем, вводится на iPad), хэш-функция от него CryptHashData() и диверсифицированный ключ на его основе CryptDeriveKey();
- Ваше приложение на Windows/Linux/Mac OS экспортирует закрытый ключ контейнера CryptExportKey() в CRYPT_PRIVATEKEYBLOB;
- Передаёт его и необходимые сертификаты на iPad;
- Ваше приложение на iPad импортирует CRYPT_PRIVATEKEYBLOB функцией CryptImportKey();
- И устанавливает сертификат ключа, и в контейнер CryptSetProvParam(), и в хранилище "My" CertAddCertificateContextToStore();
- Корневой и промежуточные сертификаты, тоже нужно установить CertAddCertificateContextToStore() в соответствующие хранилища;
Примерно как-то так. P.S. По-хорошему, контейнер на флэш надо будет стереть. На мой взгляд, лучше не иметь двух ключей на нескольких носителях. P.P.S. ialyabushev написал:Вариант выдачи нового сертификата и ключа через доступ к УЦ по сети не всегда удобен для корпоративных пользователей Вы разработчики, Вам виднее, но может оказаться, что запросить сертификат от КриптоПро УЦ для iPad по WiFi окажется удобнее. Отредактировано пользователем 26 мая 2011 г. 0:13:21(UTC)
| Причина: Не указана |
|
1 пользователь поблагодарил Serge3leo за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.05.2011(UTC) Сообщений: 4
|
Сергей спасибо!
Орг. вопрос, с точки зрения регламента безопасности Крипто Про УЦ может выдавать сертификаты по сети? Я раньше был уверен, что сертифицированный УЦ вообще нельзя в сеть показывать, от этого у меня и возникают вопросы, как запросить официальный сертификат с iPad, если с УЦ могут контактировать только USB токены.
Вариант с переносом сертификата с токена в iPad мне казался единственным, но может регламент отменили уже?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.01.2008(UTC) Сообщений: 40 Откуда: Москва Поблагодарили: 3 раз в 2 постах
|
ialyabushev написал:Орг. вопрос, с точки зрения регламента безопасности Крипто Про УЦ может выдавать сертификаты по сети? Да может (и достаточно давно, я уж и не упомню в какой версии его не было). Смотри описание продукта "КриптоПро УЦ": АРМ зарегистрированного пользователя < http://www.cryptopro.ru/products/ca/usage>, соответственно зарегистрированный пользователь бывает с маркером доступа (обычно новый), а бывает с сертификатом (обычно старый, для плановой смены). |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.04.2010(UTC) Сообщений: 16 Откуда: Москва
|
Опять вопрос о работе с ключевым контейнером на флеш-накопителе, но с дополнительным условием: iPad джейлбрейкнутый. То есть, имеется фаловый доступ к отчуждаемому носителю.
Можно ли работать в такой ситуации с ключевым контейнером?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
Мы не занимались поддержкой такой функциональности в iOS, поскольку сертифицируем решение для не джейлбрейкнутого айпада (то есть, на джейлбрейкнутом применение нашей библиотеки не будет придавать документообороту никакой юридической значимости). Как правило, если не нужна юридическая значимость, то не нужен и наш CSP. Однако, CSP для iPad работает практически так же, как CSP на любом другом юниксе. Там такой же конфиг с такими же настройками считывателей. Этого никто не проверял и такое решение не поддерживается, но теоретически, если правильно настроить считыватель и сделать правильный симлмнк на флешку, всё может работать. |
Татьяна ООО Крипто-Про |
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.04.2010(UTC) Сообщений: 16 Откуда: Москва
|
Спасибо за ответ. Татьяна написал:<...> (то есть, на джейлбрейкнутом применение нашей библиотеки не будет придавать документообороту никакой юридической значимости). Как правило, если не нужна юридическая значимость, то не нужен и наш CSP.
Про этот момент хочется узнать подробнее. Jailbreak нарушает правила пользования вашей библиотекой, которые были указаны при подаче на сертификацию? Если да, то какие? PS Собственно, почему интересует использование отчуждаемых носителей: во многих организациях регламент работы с ключами не предполагает генерацию ключей на "рабочем месте пользователя". Ключи создаются по бумажному запросу на специализированном АРМ, а потом отдаются пользователю на носителе. Получается, что на iPad реализация такого сценария невозможна? Отредактировано пользователем 14 сентября 2011 г. 17:06:18(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close