Interested Article - Java Secure Socket Extension
- 2020-02-21
- 1
Расширение Java для безопасных сокетов ( англ. Java Secure Socket Extension , JSSE ) — библиотека Java для реализации безопасных сетевых соединений. В JSSE реализованы протоколы SSL и TLS . Библиотека включает функциональность по шифрованию данных , аутентификации сервера и клиента, проверки целостности сообщений.
Описание
Данные, которые передаются по сети, могут быть легко перехвачены теми, кому они не предназначены. Если данные содержат конфиденциальную информацию, такую как пароли или номера кредитных карт , необходимо предпринять определённые действия, чтобы обезопасить передаваемые данные. Вместе с тем необходимы гарантии, что данные не были изменены, умышленно или неумышленно, в процессе передачи. Протоколы 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 |
См. также
Примечания
- 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.». . —
Ссылки
- 2020-02-21
- 1