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

См. также

Примечания

  1. 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.».

Ссылки