- Что нового
- Pki клиент
- Авторизация при помощи приватного ключа
- Безопасность
- Дополнительные компоненты
- Загрузка mydss 2.0
- Защищенная адресная книга
- Защищенные задачи
- Защищенный календарь
- Импорт «криптопро» в мобильное приложение
- Контейнер закрытого ключа для работы с «криптопро»
- Механизмы защиты
- Назначение
- Полезные ссылки
- Работа с «криптопро»
- Уникальность
- Установка контейнера закрытого ключа в приложение
Что нового
Помимо подтверждения операций подписи, аутентификации и др., мобильное приложение myDSS 2.0 предоставляет следующие возможности3:
Внимание!Для проверки возможности перехода с myDSS на myDSS 2.0 необходимо обратиться в организацию, предоставившую Вам учетную запись.
Pki клиент
PKI Клиент является специальным приложением для iOS-устройств (iPad, iPhone), обеспечивающим управление ключевой информацией и сертификатами ключей проверки электронной подписи, необходимыми для функционирования остальных приложений линейки Защищенная мобильность.
Возможности
PKI Клиент реализует следующие функции:
Авторизация при помощи приватного ключа
Для авторизации с использованием приватного ключа нам понадобится сам ключ, установленный вышеописанным образом, установленный корневой сертификат УЦ, настроенный сервер с «КриптоПро» и с добавленным в доверенные нашим ключом. Сервер должен поддерживать работу по TLS версии 1.2 для всех устройств с iOS 9 и выше, а также иметь ГОСТовые cipher suites от «КриптоПро».
Безопасность
Использование КриптоПро DSS совместно с приложением myDSS 2.0 позволяет подписывать документы квалифицированной электронной подписью в режиме мобильной подписи (с хранением ключей на устройстве пользователя).
Создание электронной подписи документа обеспечивает неотказуемость действий. Пользователь не только подтверждает содержание документа, но и в дальнейшем не имеет возможности отказаться от совершенного действия.
Дополнительные компоненты
Защищенная почта тесно интегрирована со следующими продуктами из линейки Защищенная мобильность:
Загрузка mydss 2.0
Для загрузки приложения отсканируйте QR-код или перейдите по одной из ссылок ниже.
1 По сравнению с мобильным приложением myDSS.2 С учетом ограничений, описанных на странице о КриптоПро DSS.3 Мобильные приложения DSS Client и myDSS 2.
Защищенная адресная книга
Защищенная адресная книга — iOS-приложение, позволяющее безопасно хранить и работать с корпоративной и личной адресной книгой, используя мобильные устройства iPad или iPhone.
Приложение поддерживает интеграцию с LDAP-каталогами Microsoft Active Directory, IBM Lotus Domino. Хранение контактов в памяти устройства и передача данных по каналам связи обеспечивается с использованием криптографической защиты, отвечающей российским стандартам.
Защищенные задачи
Защищенные задачи — iOS-приложение, позволяющее сотрудникам организации работать со списками задач Microsoft Exchange Server с использованием мобильных устройств iPad или iPhone, аналогично тому как это происходит в среде приложения Microsoft Outlook под Windows.
Приложение обеспечивает криптографическую защиту информации о задачах, хранимую в памяти iOS-устройства и передаваемую по каналам связи.
Защищенный календарь
Защищенный календарь — iOS-приложение, позволяющее сотрудникам организации работать с корпоративным и личным календарем, планировать встречи, принимать приглашения на собрания с использованием мобильных устройств iPad или iPhone.
Приложение обеспечивает криптографическую защиту информации календаря, хранимую в памяти iOS-устройства и передаваемую по каналам связи.
Импорт «криптопро» в мобильное приложение
Первый шаг для использования «КриптоПро» в своем приложении — это внедрить фреймворк, скачанный с сайта компании. В пакете для iOS помимо самого фреймворка содержатся также три примера — создание электронной подписи (ЭЦП), создание ssl-тоннеля и пример, позволяющий собрать браузер, обладающий функциональностью создания и проверки ЭЦП на веб-страницах.
Подробное описание содержится внутри примеров, в файлах Readme. На их основе легче понять алгоритм действий. Очень поможет пакет для MacOS: в нем содержится много полезных примеров с подробными комментариями. После его установки все примеры будут находиться на диске в разделе opt/cprocsp/src/doxygen/CSP.
Инструкция по импортированию самого фреймворка находится в CPROCSP.framework в файле ReadMe, разберем его по пунктам.
1. От вас требуется зайти в консоль и прописать путь к скаченному фреймворку, далее запустить утилиту, как описано ниже:
Контейнер закрытого ключа для работы с «криптопро»
На момент написания статьи «КриптоПро CSP 4.0» не поддерживает работу с сертификатами *.pfx, которые содержат и публичный, и приватный ключ. Необходимо использовать контейнеры *.000, которые можно получить только при использовании «КриптоПро»; их формат нигде не описан, и записываются они, как правило, на ключевых носителях, токенах (флешках, дискетах).
Механизмы защиты
Для обеспечения безопасности данных применяется: защита канала связи с внешним периметром организации: TLS-ГОСТ, двухфакторная аутентификация, шифрование и контроль целостности трафика; хранение электронных сообщений, вложений, базы контактов на iOS-устройстве в зашифрованном виде; шифрование содержимого сообщений на сертификате адресата, формирование и проверка ЭП сообщения и вложений;
Назначение
Защищенная почта — является программным средством защиты информации (СЗИ), позволяющим мобильным сотрудникам работать с электронной почтой с использованием устройств iPad или iPhone, минимизируя риски утечек и несанкционированного доступа к информации.
Защищенная почтаориентирована на использование в государственных и коммерческих организациях, по почтовому каналу которых передается информация, классифицируемая как конфиденциальная, коммерческая тайна, персональные данные (ПДн).
Защищенная почтареализует поддержку протокола S/MIME, позволяя адресатам обмениваться шифрованными и подписанными с помощью ЭП сообщениями. Расшифровка писем выполняется с участием закрытого ключа сертификата получателя, что гарантирует конфиденциальность переписки между отправителем и получателем.
Полезные ссылки
— подробное описание всех функций, входящих в них параметров, а также рабочие примеры.
Форум — форум «КриптоПро», на котором сотрудники ежедневно отвечают на вопросы. Многие ответы на вопросы уже даны, и, несмотря на их давность (порою около 6 лет), они все еще могут вам помочь.
Руководство разработчика — написанное компанией руководство, которое содержит в себе перечень входящих в состав криптопровайдера функций с кратким описанием и примерами.
Описание ошибок — большой список возможных ошибок, возникающих в функциях С , с их кодом и кратких описанием. Чтобы получить код ошибки, используйте в коде приложения функцию CSP_GetLastError, входящей в состав фреймворка. Она хранит в себе код последней полученной ошибки.
Работа с «криптопро»
Сразу хотелось бы сказать, что осуществление такого уровня защиты и функционала в мобильных приложениях в принципе не может быть столь же простым, как сверстать страницу или отправить запрос на сервер. Читать и изучать придется в любом случае, особенно если вы никогда прежде не работали с криптографией и безопасным соединением через TLS.
Компания «КриптоПро» предоставляет мобильным разработчикам мощный инструмент для внедрения в свое приложение такого сложного функционала совершенно бесплатно, но есть и ложка дегтя. К сожалению, за долгое время существования компании не было сделано удобной и понятной документации. Отдельно для мобильных разработчиков ее нет в принципе.
Разработка рано или поздно приведет вас на форум, и вам придется его перелопатить, чтобы найти ответ. Наибольшую сложность составляет отсутствие информации о том, что и как делать, — это мы и постараемся исправить в нашей статье. Все ссылки на ресурсы, которые могут быть полезными, будут оставлены в конце статьи.
Также придется поработать с С и самостоятельно заботиться о выделении и очистке памяти.Стоит отметить, что статья написана при актуальной версии «КриптоПро CSP 4.0», поэтому описанные ниже пакеты для разработчиков в будущем могут отличаться.
Уникальность
Отличительными чертами приложения Защищенная почта являются:
Установка контейнера закрытого ключа в приложение
Как пишут сами сотрудники «КриптоПро», есть три варианта установки контейнера на устройство:
• Через iTunes File Sharing.• Использовать отдельное приложение для записи файлов на iOS, типа iExplorer.• Написать собственный экспорт ключа в блоб (PRIVATEKEYBLOB) и импортировать его в коде приложения. Пример такого способа находится в вышеупомянутом пакете для MacOS под названием EncryptKey/DecryptKey.
Мы использовали первый вариант — как самый быстрый и удовлетворяющий требованиям заказчика. Именно для его реализации при импорте был выбран флаг USE_CACHE_DIR = false; если iTunes File Sharing вами использоваться не будет или вы хотите скрыть от пользователя возможность заглянуть в папку с ключами, то лучше скройте ее, выставив флаг true.После первого запуска с установленным фреймворком в папке Documents приложения будет создана папка cprocsp:
Внутри этой папки и хранятся все контейнеры ключей. Устанавливаемые сертификаты и контейнеры хранятся и относятся к приложению, а не к ключевому хранилищу устройства, поэтому после его удаления будет необходимо установить их заново.
Далее существует два пути: написать все функции самому или использовать уже готовый контроллер, и так как его хватит для решения большинства задач, о нем и поговорим.Фреймворк содержит в себе хедер-файл с названием PaneViewController.h. Если вы не обременены строгостью по дизайну, то можете импортировать предложенные xib-файлы (находятся в CPROCSP.framework/Resources) и инициализировать криптопанель через них — к примеру, таким образом: