Java Secure Socket Extension

Java Secure Socket Extension
Типбібліотека
Мова програмуванняJava
Вебсайтdocs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html

Розширення 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, Inc. с. 327. ISBN 9781449365967. Архів оригіналу за 20 квітня 2017. Процитовано 19 жовтня 2014. JSSE allows you to create sockets and server sockets that transparently handle the negotiations and encryption necessary for secure communication.

Посилання