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 (обмін ключами) |
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, 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.
- Опис на сайті SUN [Архівовано 20 вересня 2007 у Wayback Machine.]