Petrov

advertisement
Д. Н. Петров, Д. Ю. Счастный
Россия, Москва, ОКБ САПР
Особенности реализации PKCS#11 для программноаппаратного комплекса ШИПКА
Программно-аппаратный комплекс (ПАК) ШИПКА представляет собой
малогабаритное устройство в виде брелока с USB-интерфейсом и может быть использован
в приложениях, где ранее использовались пароли, смарт-карты и другие идентификаторы.
В отличие от смарт-карт ШИПКА не требует применения специальных считывателей
(ридеров), что делает его доступным для использования самым широким кругом
пользователей. Внутренняя операционная система ПАК ШИПКА может быть в
кратчайшие сроки адаптирована под индивидуальные потребности заказчика. В отличие
от большинства представленных на рынке идентификаторов зарубежного производства,
ШИПКА может содержать аппаратную реализацию российских стандартов шифрования.
Это дает возможность применять комплекс в системах информационной безопасности в
соответствии с российским законодательством.
Стандартом де-факто для взаимодействия с криптографическими токенами
является PKCS #11, разработанный RSA Laboratories. PKCS #11 – это один из стандартов
криптографии с открытым ключом (Public Key Cryptography Standards, PKCS). Эти
стандарты были разработаны для обеспечения совместимости между различными
реализациями алгоритмов криптографии с открытым ключом, поставляемыми
различными разработчиками устройств и программного обеспечения. Стандарт PKCS #11,
также известный под названием Cryptoki, распространяется на программирование
криптографических аппаратных токенов, таких как ШИПКА. Он описывает интерфейс
прикладного программирования (API) для устройств, которые несут в себе
криптографическую информацию и способны выполнять криптографические
преобразования. Стандарт определяет общий набор команд для выполнения
криптографических функций. Эти команды могут использоваться независимо от
конкретной аппаратной реализации токена.
Библиотека PKCS#11 для токена ШИПКА соответствует спецификации 2.20 и
работает под операционными системами Windows 95-2003. Библиотека представляет
собой динамически подключяемую dll. К отличительным чертам в реализации стандарта
PKCS#11 для ПАК ШИПКА можно отнести аппаратную поддержку различных
алгоритмов хэширования MD5, SHA1, ГОСТ Р 34. 11 – 94, шифрования RSA, RC2, RC4,
ГОСТ 28147 - 89, электронно-цифровой подписи RSA, ГОСТ Р 34. 10 – 94. Реализация
стандарта PKCS#11 в библиотеке ШИПКА имеет некоторые ограничения, связанные с
аппаратными характеристиками устройства. Например, в PKCS#11 в качестве владельцев
токена рассматриваются пользователь и администратор (security officer). Только
пользователь может получить доступ к защищенным объектам (ключам, данным) в
токене. Роль администратора состоит в инициализации токена, установки PIN. В ПАК
ШИПКА роль администратора и пользователя закреплена за владельцем ключа, что
допускается стандартом PKCS#11 версии 2.20. Реализация PKCS#11 для ПАК ШИПКА не
поддерживает некоторые двойственные (дуальные) функции такие как: одновременное
подписание и шифрование, одновременное вычисление хэш-функции и шифрование и т.
п., которые, тем не менее, в случае востребованности со строны приложения, могут быть
выполнены при помощи пары аналогичных функций. При этом весь необходимый
минимум функций доступен. Наличие подобных ограничений допускается стандартом
PKCS #11. PKCS #11 не определяет стандартные идентификаторы для российских
криптографических алгоритмов, поэтому для их поддержки в библиотеки используется
расширение списка механизмов.
Поддержка стандарта PKCS#11 позволяет использовать функции ШИПКИ в
различных приложениях. К таким приложениям, например, относится PGP (Pretty Good
Privacy). После подключения библиотеки PKCS#11 к PGP становятся доступны все
возможности по хранению ключей и шифрованию для систем обмена мгновенными
сообщениями (ICQ), электронной почты (Outlook), шифрования данных. Возможно
использование ПАК ШИПКА в программных продуктах Strong Disk, F-Secure ssh, Lotus
Notes и многих других. Реализация библиотеки позволит, также, внедрить поддержку
ПАК ШИПКА для различных корпоративных решений PKI, таких как Entrust PKI, iPlanet
CMS, RSA Keon Certification Authority, Baltimore UniCERT PKI.
Download