Java Secure Socket Extension
Java Secure Socket Extension | |
---|---|
Тип | библиотека функций |
Написана на | Java |
Сайт | docs.oracle.com/javase/8… |
Расширение Java для безопасных сокетов (англ. Java Secure Socket Extension, JSSE) — библиотека Java для реализации безопасных сетевых соединений. В JSSE реализованы протоколы SSL и TLS. Библиотека включает функциональность по шифрованию данных[1], аутентификации сервера и клиента, проверки целостности сообщений.
Описание
[править | править код]Данные, которые передаются по сети, могут быть легко перехвачены теми, кому они не предназначены. Если данные содержат конфиденциальную информацию, такую как пароли или номера кредитных карт, необходимо предпринять определённые действия, чтобы обезопасить передаваемые данные. Вместе с тем необходимы гарантии, что данные не были изменены, умышленно или неумышленно, в процессе передачи. Протоколы SSL и TLS были разработаны с целью обеспечения защиты конфиденциальности и целостности данных при передаче по сети.
JSSE даёт возможность устанавливать безопасные интернет-соединения. JSSE предоставляет программные интерфейсы и реализацию на языке Java протоколов SSL и TLS и включает функциональность для шифрования данных, аутентификации сервера, целостности сообщений и опционально — аутентификации клиента. Используя JSSE, разработчики могут безопасно передавать данные по протоколам HTTP, Telnet и FTP, работающих поверх протокола TCP/IP.
Благодаря абстрагированию сложных базовых алгоритмов безопасности, JSSE минимизирует риск создания незаметных, но крайне опасных уязвимостей. Более того, JSSE упрощает разработку приложений, выступая в роли строительных блоков, которые разработчики могут непосредственно включать в свои приложения.
Первоначально JSSE был опциональной библиотекой, которую надо было дополнительно подключать после установки JVM. Так было во времена JVM и JDK версий 1.2 и 1.3. Начиная с версии 1.4, JSSE интегрирована в платформу Java 2 и средства разработки JDK.
Программные интерфейсы JSSE API поддерживают SSL версий 2.0 и 3.0, а также TLS версии 1.0. Реализация JSSE в рамках J2SDK, v 1.4 поддерживают протоколы SSL 3.0 и TLS 1.0. В ней не реализован протокол SSL версии 2.0.
Другие компоненты обеспечения безопасности в рамках платформы Java 2 включают Криптографическое расширение Java (Java Cryptography Extension — JCE), Службу аутентификации и авторизации (the Java Authentication and Authorization Service — JAAS) и Инструментарий обеспечения безопасности (Java Security Tools).
Программные интерфейсы JSSE API позволяют подключить другую реализацию протоколов SSL/TLS и Инфраструктуры открытых ключей (Public Key Infrastructure — PKI). В частности, для российских разработчиков это означает, что оставаясь в рамках JSSE и используя хорошо знакомые и документированные возможности API, они могут подключить сертифицированные российские реализации алгоритмов безопасности. Это актуально, потому что в отдельных случаях законодательством РФ предписывается использовать только такие реализации.
Поддержка криптографических протоколов
[править | править код]В JSSE реализованы некоторые криптографические алгоритмы, которые широко используются в средствах защиты данных:
Криптографический алгоритм | Криптографический процесс | Длина ключа (бит) |
---|---|---|
RSA | Аутентификация и обмен ключами | 2048 (аутентификация) 2048 (обмен ключами) 512 (обмен ключами) |
RC4 | Потоковое шифрование | 128 128 (40 эффективных) |
DES | Потоковое шифрование | 64 (56 эффективных) 64 (40 эффективных) |
Triple DES | Потоковое шифрование | 192 (112 эффективных) |
Diffie-Hellman | Выработка ключей | 1024 512 |
DSA | Аутентификация | 1024 |
См. также
[править | править код]Примечания
[править | править код]- ↑ Harold, Elliotte Rusty[англ.]. Java Network Programming. — O’Reilly Media. — С. 327. — ISBN 9781449365967. Архивировано 20 апреля 2017 года.. — «JSSE allows you to create sockets and server sockets that transparently handle the negotiations and encryption necessary for secure communication.».