КриптоПро Java CSP - средство криптографической защиты информации, реализующее российские криптографические стандарты, разработанное в соответствии со спецификацией JCA (Java Cryptography Architecture).
КриптоПро Java CSP представляет собой Java модуль который выполняет все криптографические операции используя КриптоПро CSP. Данный криптопровайдер сочетает в себе высокую скорость нативного кода с удобством разработки и использования JCE интерфейсов в Java приложениях.
Интеграция КриптоПро Java CSP с архитектурой Java позволяет использовать стандартные процедуры, такие как создание и проверка ЭЦП (в том числе XMLdsig, CAdES, XAdES) , шифрование, генерацию ключей, вычисление кодов аутентификации (Message Authentication Code - MAC) в JavaTM Cryptography Extension (JCE) в соответствии со спецификациями JavaTM Cryptography Extension (JCE) на различных операционных системах и аппаратных платформах.
Реализация API КриптоПро Java CSP совместима с API КриптоПро JCP 2.0. Для работы КриптоПро Java CSP требуется установить криптопровайдер КриптоПро CSP версии 3.9 и выше .
КриптоПро Java CSP предназначен для:
- авторизации и обеспечения юридической значимости электронных документов при обмене ими между пользователями, посредством использования процедур формирования и проверки электронной цифровой подписи (ЭЦП) в соответствии с отечественными стандартами ГОСТ Р 34.11-94/ГОСТ Р 34.11-2012 и ГОСТ Р 34.10-2001/ГОСТ Р 34.10-2012;
- обеспечения конфиденциальности и контроля целостности информации посредством ее шифрования и имитозащиты, в соответствии с ГОСТ 28147-89;
- обеспечение аутентичности, конфиденциальности и имитозащиты соединений TLS;
- контроля целостности, системного и прикладного программного обеспечения для его защиты от несанкционированного изменения или от нарушения правильности функционирования;
- управления ключевыми элементами системы в соответствии с регламентом средств защиты.
Поддерживаемые КриптоПро Java CSP алгоритмы зависят от версии используемого КриптоПро CSP, в частности, только в КриптоПро CSP версии 4.0 и выше реализованы алгоритмы стандарта ГОСТ Р 34.10-2012.
Алгоритм выработки значения хэш-функции реализован в соответствии с требованиями ГОСТ Р 34.11 94 "Информационная технология. Криптографическая защита информации. Функция хэширования" и ГОСТ Р 34.11 2012 "Информационная технология. Криптографическая защита информации. Функция хэширования".
Алгоритмы формирования и проверки ЭЦП реализованы в соответствии с требованиями:
-
ГОСТ Р 34.10-2001 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи";
-
ГОСТ Р 34.10-2012 "Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи".
Алгоритм зашифрования/расшифрования данных и вычисление имитовставки реализованы в соответствии с требованиями ГОСТ 28147 89 "Системы обработки информации. Защита криптографическая".
При генерации закрытых и открытых ключей обеспечена возможность генерации с различными параметрами в соответствии с ГОСТ Р 34.10-2001/ГОСТ Р 34.10-2012.
При выработке значения хэш-функции и шифровании обеспечена возможность использования различных узлов замены в соответствии с ГОСТ Р 34.11-94/ГОСТ Р 34.11-2012 и ГОСТ 28147-89.
КриптоПро Java CSP разработан в соответствии с требованиями интерфейса JCA и может быть использован в операционных системах с установленной виртуальной машиной Java версии 7 и выше или Google Android (версии 7.0 и выше).
Поддерживаемые операционные системы:
- Microsoft Windows (win32/x64)
- Linux (x86/x64)
- Android (ARM7/ARMv8-A, x86)
- AIX 7 (ppc/ppc64)
- Mac OS
В соответствии с КриптоПро JCP, КриптоПро Java CSP функционирует в следующем окружении:
- виртуальная машина Java версии 7 (удовлетворяющая спецификации Sun Java 2 ™ Virtual Machine) и выше или виртуальная машина операционной системы Google Android (версии 4.2 и выше);
- предустановленный провайдер КриптоПро JCP версии 2.0;
- предустановленный провайдер КриптоПро CSP версии 5.0 (рекомендуется), 4.0;
- Необходимость лицензии на КриптоПро Java CSP зависит от лицензии на КриптоПро CSP с которым она используется. Если КриптоПро CSP с серверной лицензией - нужна серверная лицензия на КриптоПро Java CSP. При совместном использовании с клиентским КриптоПро CSP, КриптоПро Java CSP не требует лицензий.
Длина ключей электронной цифровой подписи (ГОСТ Р 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 бит;
Типы ключевых носителей: см. ключевые носители в КриптоПро CSP
Криптографическая архитектура Java
Стандартные спецификации Java 7 предоставляют стройную систему криптографической защиты информации (ПКЗИ). Более подробно эта архитектура развёрнута по следующим ссылкам: