КриптоПро JCP - средство криптографической защиты информации, реализующее российские криптографические стандарты, разработанное в соответствии со спецификацией JCA (Java Cryptography Architecture) [1].
Интеграция КриптоПро JCP с архитектурой Java позволяет использовать стандартные процедуры, такие как создание и проверка ЭЦП (в том числе XMLdsig [2], CAdES [3], XAdES [4]) , шифрование, генерацию ключей, вычисление кодов аутентификации (Message Authentication Code - MAC) в JavaTM Cryptography Extension (JCE) в соответствии со спецификациями JavaTM Cryptography Extension (JCE) на различных операционных системах и аппаратных платформах.
Реализация КриптоПро JCP совместима с КриптоПро CSP [5].
Средство криптографической защиты КриптоПро JCP распространяется в двух комплектациях:
- генерация ключей, формирование и проверка ЭЦП, хэширование данных;
- генерация ключей, формирование и проверка ЭЦП, хэширование данных, шифрование.
КриптоПро JCP предназначен для:
- авторизации и обеспечения юридической значимости электронных документов при обмене ими между пользователями, посредством использования процедур формирования и проверки электронной цифровой подписи (ЭЦП) в соответствии с отечественными стандартами ГОСТ Р 34.11-94/ГОСТ Р 34.11-2012 и ГОСТ Р 34.10-2001/ГОСТ Р 34.10-2012;
- обеспечения конфиденциальности и контроля целостности информации посредством ее шифрования и имитозащиты, в соответствии с ГОСТ 28147-89 и ГОСТ 34.12-2015;
- обеспечение аутентичности, конфиденциальности и имитозащиты соединений TLS;
- контроля целостности, системного и прикладного программного обеспечения для его защиты от несанкционированного изменения или от нарушения правильности функционирования;
- управления ключевыми элементами системы в соответствии с регламентом средств защиты.
Алгоритм выработки значения хэш-функции реализован в соответствии с требованиями ГОСТ Р 34.11 94 "Информационная технология. Криптографическая защита информации. Функция хэширования" и ГОСТ Р 34.11 2012 "Информационная технология. Криптографическая защита информации. Функция хэширования".
Алгоритмы формирования и проверки ЭЦП реализованы в соответствии с требованиями:
- ГОСТ Р 34.10-2001 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи";
- ГОСТ Р 34.10-2012 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи".
Алгоритм зашифрования/расшифрования данных и вычисление имитовставки реализованы в соответствии с требованиями ГОСТ 28147-89 "Системы обработки информации. Защита криптографическая" и ГОСТ 34.12-2015 "Информационная технология. Криптографическая защита информации".
При генерации закрытых и открытых ключей обеспечена возможность генерации с различными параметрами в соответствии с ГОСТ Р 34.10-2001/ГОСТ Р 34.10-2012.
При выработке значения хэш-функции и шифровании обеспечена возможность использования различных узлов замены в соответствии с ГОСТ Р 34.11-94/ГОСТ Р 34.11-2012 и ГОСТ 28147-89.
КриптоПро JCP функционирует в следующем окружении:
- виртуальной машина, удовлетворяющая спецификации Java 7 ™ Virtual Machine [6];
- требуется Java 7 Runtime Environment версии 7 и выше;
Длина ключей электронной цифровой подписи (ГОСТ Р 34.10-2001):
- закрытый ключ - 256 бит;
- открытый ключ - 512 бит при использовании алгоритма ГОСТ Р 34.10-2001;
Длина ключей электронной цифровой подписи (ГОСТ Р 34.10-2012, 256 бит):
- закрытый ключ - 256 бит;
- открытый ключ - 512 бит при использовании алгоритма ГОСТ Р 34.10-2012, 256 бит;
Длина ключей электронной цифровой подписи (ГОСТ Р 34.10-2012, 512 бит):
- закрытый ключ - 512 бит;
- открытый ключ - 1024 бит при использовании алгоритма ГОСТ Р 34.10-2012, 512 бит;
Длина ключей, используемых при шифровании:
- закрытый ключ - 256 бит на базе алгоритма ГОСТ Р 34.10-2001;
- закрытый ключ - 256 бит на базе алгоритма ГОСТ Р 34.10-2012, 256 бит;
- закрытый ключ - 512 бит на базе алгоритма ГОСТ Р 34.10-2012, 512 бит;
- открытый ключ - 512 бит на базе алгоритма ГОСТ Р 34.10-2001;
- открытый ключ - 512 бит на базе алгоритма ГОСТ Р 34.10-2012, 256 бит;
- открытый ключ - 1024 бит на базе алгоритма ГОСТ Р 34.10-2012, 512 бит;
- симметричный ключ - 256 бит;
Типы ключевых носителей:
- дискеты 3,5";
- сменные носители с интерфейсом USB;
- российские интеллектуальные карты (Оскар) с использованием считывателей смарт-карт, поддерживающих интерфейс OpenCard Framework (в том числе протокол PC/SC для Windows): GemPC Twin, Towitoko, Oberthur OCR126 и др.);
- электронные ключи и смарт-карты eToken;
- электронные ключи Rutoken;
- смарт-карты ESMART;
- директория жесткого диска.
Криптографическая архитектура Java
Стандартные спецификации Java 7 [7], предоставляют стройную систему криптографической защиты информации (ПКЗИ). Более подробно эта архитектура развёрнута по следующим ссылкам:
Как использовать
КриптоПро JCP разработан в соответствии с требованиями интерфейса JCA и позволяет создавать новые, надежно защищенные приложения с использованием богатейшего и проверенного временем инструментария Java такого, как Apache XML Security [9] для ЭЦП XML-документов стандарта XMLdsig [2].
Рекомендации к окружению
Для пользовательских приложений рекомендуется использовать лицензированные Sun виртуальные машины J2SE [10] полностью удовлетворяющие требованиям спецификации Java 7. Для серверных приложений рекомендуется использовать сертифицированные Sun сервера приложений имеющие значок "Java compatible Enterprise Edition" [11].
Сравнение версий JCP | JCP | JCP 2.0 |
---|---|---|
ГОСТ Р 34.10-2012 | 512 / 1024 бит | |
ГОСТ Р 34.10-2001 | 512 бит | 512 бит |
ГОСТ Р 34.10-94 | 1024 бит | |
ГОСТ Р 34.11-2012 | 256 / 512 бит | |
ГОСТ Р 34.11-94 | 256 бит | 256 бит |
ГОСТ 28147-89 | 256 бит | 256 бит |
ГОСТ 34.12-2015 | 256 бит | |
Поддержка новых алгоритмов в JTLS | - | + |
Контроль сроков действия ключа | - | + |
Поддержка CAdES/XAdES-подписи | - | + |