SSL (англ. Secure Sockets Layer — рівень захищених сокетів) — криптографічний протокол, який забезпечує встановлення безпечного з'єднання між клієнтом і сервером. SSL спочатку розроблений компанією Netscape Communications . Згодом на підставі протоколу SSL 3.0 був розроблений і прийнятий (стандарт RFC), що отримав ім'я TLS.
Протокол забезпечує конфіденційність обміну даними між клієнтом і сервером, що використовують TCP/IP, причому для шифрування використовується асиметричний алгоритм з відкритим ключем. При шифруванні з відкритим ключем використовується два ключі, причому будь-який з них може використовуватися для шифрування повідомлення. Тим самим, якщо використовується один ключ для шифрування, то відповідно для розшифрування потрібно використовувати інший ключ. У такій ситуації можна отримувати захищені повідомлення, публікуючи відкритий ключ, і зберігаючи в таємниці секретний ключ.
Опис
Протокол SSL складається з двох підпротоколів: протокол SSL запису і рукостискання. Протокол SSL запису визначає формат, який використовується для передачі даних. Протокол SSL включає рукостискання з використанням протоколу SSL запису для обміну серіями повідомлень між сервером і клієнтом, під час встановлення першого з'єднання. Для роботи SSL потрібно, щоб на сервері був SSL-сертифікат.
SSL надає канал, що має три основні властивості:
- Автентифікація. Сервер завжди автентифікований, в той час як клієнт автентифікований в залежності від алгоритму.
- Цілісність. Обмін повідомленнями містить у собі перевірку цілісності.
- Конфіденційність каналу. Шифрування використовується після встановлення з'єднання і використовується для всіх наступних повідомлень.
У протоколі SSL всі дані передаються у вигляді записів-об'єктів, що складаються із заголовка і переданих даних. Передача починається із заголовка. Заголовок містить або два, або три байти коду довжини. Причому, якщо старший біт в першому байті коду дорівнює одиниці, то запис не має заповнювача і повна довжина заголовка дорівнює двом байтам, інакше запис містить заповнювач і повна довжина заголовка дорівнює трьом байтам. Код довжини запису не містить у собі число байт заголовка. Довжина запису 2-х байтового заголовка:
RecLength = (byte [0] & 0x7F <<8) | byte [1];
Тут byte [0] і byte [1] перший і другий отримані байти.
Довжина запису 3-х байтового заголовка:
RecLength = (byte [0] & 0x3F <<8) | byte [1];
Escape = (byte [0] & 0x40)! = 0;
Padding = byte [2];
Тут Padding визначає число байтів доданих відправником до початкового тексту, для того щоб зробити довжину запису кратною розміру блока шифру, при використанні блокового шифру.
Тепер відправник «заповненого» запису додає заповнювач до наявних даних, і шифрує все це. Причому вміст заповнювача ніякої ролі не має. Через те, що обсяг переданих даних відомий, то заголовок може бути сформований з урахуванням Padding.
У свою чергу одержувач запису дешифрує все поле даних і отримує повну вихідну інформацію. Потім обчислюється значення RecLength за відомим Padding, і заповнювач з поля даних видаляється. Дані запису SSL складаються з трьох компонент:
- MAC_Data [Mac_Size] — (Message Authentication Code) — код аутентифікації повідомлення
- Padding_Data [Padding] — дані заповнювача
- Actual_Data [N] — реальні дані
Коли записи надсилаються відкритим текстом, очевидно, що ніякі шифри не використовуються. Тоді довжина Padding_Data і MAC_Data дорівнюють нулю. При використанні шифрування, Padding_Data залежить від розміру блоку шифру, а MAC_Data залежить від вибору шифру. Приклад обчислення MAC_Data:
MacData = Hash (Secret, Actual_Data, Padding_Data, Sequence_Number);
Значення Secret залежить від того, хто (клієнт або сервер) посилає повідомлення. Sequence_Number — лічильник, який інкрементується як сервером, так і клієнтом. Тут Sequence_Number є 32-х бітовий код, який передається хеш-функції у вигляді 4-х байт, причому першим передається старший байт. Для MD2, MD5 MAC_Size дорівнює 16 байтам (128 бітам). Для 2-х байтового заголовка максимальна довжина запису дорівнює 32767 байтам, а для 3-х байтового заголовка 16383 байти.
Історія та розвиток
Протокол SSL був спочатку розроблений компанією Netscape. Версія протоколу 1.0 публічно не випускалася. Версія 2.0 була випущена в лютому 1995 року, але «містила багато недоліків з безпеки, які, в кінцевому рахунку, привели до створення версії 3.0», яка була випущена в 1996 році. Тим самим версія SSL 3.0 послужила основою для створення протоколу TLS 1.0, стандарт протоколу Internet Engineering Task Force (IETF) вперше був визначений в RFC 2246 в січні 1999 року. Visa, Master Card, American Express і багато інших організацій, що працюють з інтернет грошима, мають ліцензію на використання протоколу SSL, для комерційних цілей в мережі Інтернет.
SSL працює модульним способом. Тим самим SSL розширюваність згідно з проектом про підтримку передньої і зворотної сумісності та переговорів між сполуками в однорангової мережі.
Застосування
Значне використання протоколу SSL призвело до формування протоколу HTTPS (Hypertext Transfer Protocol Secure), що підтримує шифрування. Дані, які передаються по протоколу HTTPS, «упаковуються» в криптографічний протокол SSL або TLS, тим самим забезпечуючи захист цих даних. Такий спосіб захисту широко використовується у світі Веб для додатків, в яких важлива безпека з'єднання, наприклад у платіжних системах. HTTPS підтримується всіма браузерами. На відміну від HTTP, для HTTPS за замовчуванням використовується TCP-порт 443.
Спочатку віртуальні приватні мережі (VPN) на основі SSL розроблялися як додаткова і альтернативна технологія віддаленого доступу на основі IPsec VPN. Однак, такі фактори як достатня надійність і дешевизна зробили цю технологію привабливою для організації VPN. Також SSL отримав широке застосування в електронній пошті.
Основні цілі протоколу в порядку пріоритетності
- Криптографічна безпека: SSL встановлює безпечне з'єднання між двома сторонами.
- Відкритість: Програмісти, незалежно один від одного, можуть створювати додатки, що використовують SSL, які згодом будуть здатні успішно обмінюватися криптографічними параметрами без всякого знання коду чужих програм.
- Розширюваність: SSL прагне забезпечити робочий простір, в якому нові відкриті ключі і трудомісткі методи шифрування можуть бути додані при необхідності.
- Відносна ефективність: робота протоколу на основі SSL вимагає великих швидкостей від CPU, зокрема для роботи з відкритими ключами. Тому до SSL протоколу була включена необов'язкова схема кешування сесій для зменшення кількості з’єднань, які необхідно встановлювати з нуля. Крім того, велика увага приділяється тому, щоб зменшити мережеву активність.
Типи SSL-сертифікатів
SSL-cертифікати розрізняють за центром сертифікації, типом захисту та рівнем перевірки.
За типом захисту SSL-сертифікати поділяють на:
- Сертифікати із захистом доменів (звичайні сертифікати). Використовуються для шифрування інформації одного домену без піддоменів.
- Сертифікати із захистом піддоменів (Wildcard-сертифікати). Використовуються для шифрування інформації всіх піддоменів одного домену.
- Сертифікати із захистом кількох доменів (SAN-сертифікати). Використовуються для шифрування інформації одразу кількох доменів без піддоменів.
- Сертифікати програмного коду (Code Signing). Використовуються для підпису програмного забезпечення.
- Сертифікати з підтримкою IDN. Використовуються для шифрування інформації кириличних або інших доменів, які містять літери нелатинських алфавітів.
- Сертифікати із захистом електронної пошти та документів. Використовуються для автентифікації відправника та запобігають змінам у документах з боку правопорушників (спам, фішинг, підроблені рахунки).
SSL-сертифікати за рівнем перевірки власника поділяються на:
- DV-сертифікати (domain validation) – перевірка за доменом. Підтверджують факт володіння доменом. Використовуються для блогів, лендінгів, сайтів-візиток та портфоліо.
- OV-сертифікати (organization validation) – перевірка організації. Підтверджують власника домену та компанію, яка за ним стоїть. Перевірка організації зазвичай використовується для бізнес-сайтів, які приймають платежі.
- EV-сертифікати (extended validation) – розширена перевірка організації. Крім перевірки домену та організації, перевіряється, чи має компанія право на володіння своєю назвою. Використовуються для фінансових, урядових, банківських, страхових та ecommerce-сайтів.
SSL-сертифікати різних типів захисту та рівнів перевірки можна отримати в центрах сертифікації, зокрема Certum, Comodo (після ребрендингу Sectigo), RapidSSL, GeoTrust і Thawte.
Автентифікація і обмін ключами
SSL підтримує 3 типи аутентифікації:
- Автентифікація обох сторін (клієнт — сервер),
- Автентифікація сервера з нерозпізнаних клієнтом
- Повна анонімність.
Кожного разу, коли сервер автентифіковані, канал безпечний проти спроби перехоплення даних між вебсервером і браузером, але повністю анонімна сесія за своєю суттю вразлива до такої атаки. Анонімний сервер не може автентифікувати клієнта. Якщо сервер аутентифікований, то його повідомлення сертифікації має забезпечити вірний сертифікаційний ланцюжок, що веде до прийнятного центру сертифікації. Простіше кажучи, аутентифікований клієнт повинен надати допустимий сертифікат сервера. Кожна сторона відповідає за перевірку того, що сертифікат іншого боку ще не закінчився і не був скасований.
Головна мета процесу обміну ключами — це створення секрету клієнта (pre_master_secret), відомого тільки клієнту і серверу. Секрет (pre_master_secret) використовується для створення спільної таємниці (master_secret). Загальний секрет необхідний для того щоб створити повідомлення для перевірки сертифіката, ключів шифрування, секрету MAC (message authentication code) і повідомлення «finished». При посилці вірного повідомлення «finished», тим самим сторони доведуть що вони знають вірний секрет (pre_master_secret).
Анонімний обмін ключами
Повністю анонімна сесія може бути встановлена при використанні алгоритму RSA або Діффі-Хеллмана для створення ключів обміну. У разі використання RSA клієнт шифрує секрет (pre_master_secret) за допомогою відкритого ключа несертифікованого сервера. Відкритий ключ клієнт дізнається з повідомлення обміну ключами від сервера. Результат надсилається в повідомленні обміну ключами від клієнта. Оскільки перехоплювач не знає закритого ключа сервера, то йому буде неможливо розшифрувати секрет (pre_master_secret). При використанні алгоритму Діффі-Хеллмана відкриті параметри сервера містяться в повідомленні обміну ключами від сервера, і клієнтові посилають в повідомленні обміну ключами. Перехоплювач, який не знає приватних значень, не зможе знайти секрет (pre_master_secret).
Обмін ключами при використанні RSA і автентифікація
У цьому випадку обмін ключами та автентифікація сервера може бути скомбінована. Відкритий ключ також може міститися в сертифікаті сервера або може бути використаний тимчасовий ключ RSA, який посилається в повідомленні обміну ключами від сервера. Коли використовується тимчасовий ключ RSA, повідомлення обміну підписуються server's RSA або сертифікат DSS. Сигнатура включає поточне значення повідомлення Client_Hello.random, таким чином старі сигнатури і старі тимчасові ключі не можуть повторюватися. Сервер може використовувати тимчасовий ключ RSA тільки одного разу для створення сесії. Після перевірки сертифіката сервера клієнт шифрує секрет (pre_master_secret) за допомогою відкритого ключа сервера. Після успішного декодування секрету (pre_master_secret) створюється повідомлення «finished», тим самим сервер демонструє, що він знає приватний ключ відповідний сертифікату сервера.
Коли RSA використовується для обміну ключами, для аутентифікації клієнта використовується повідомлення перевірки сертифіката клієнта. Клієнт підписується значенням, обчисленим з master_secret і всіх попередніх повідомлень протоколу рукостискання. Ці повідомлення рукостискання включають сертифікат сервера, який ставить у відповідність сигнатурі сервера, повідомлення Server_Hello.random, якому ставить у відповідність сигнатуру поточному повідомленням рукостискання.
Обмін ключами при використанні протоколу Діффі-Геллмана і автентифікація
У цьому випадку сервер може також підтримувати алгоритм Діффі-Хеллмана або може використовувати повідомлення обміну ключами від сервера для посилки набору часових параметрів, підписаних сертифікатами DSS або RSA. Тимчасові параметри хешують з повідомленням hello.random перед підписанням, для того щоб зловмисник не зміг вчинити повтор старих параметрів. У будь-якому випадку клієнт може перевірити сертифікат або сигнатуру, для впевненості, що параметри належать серверу.
Якщо клієнт має сертифікат, що містить параметри протоколу Діффі-Геллмана, то сертифікат також має інформацію необхідну для того, щоб завершити обмін ключами. Зауважимо, що в цьому випадку клієнт і сервер повинні будуть згенерувати ті ж результати алгоритму Діффі-Геллмана (pre_master_secret) щоразу, коли вони встановлюють з'єднання. Для запобігання перебування секрету (pre_master_secret) у пам'яті комп'ютера на час, довший за необхідний, секрет має бути переведений в загальний секрет (master_secret) настільки швидко, наскільки це можливо. Для роботи обміну ключами параметри клієнта повинні бути сумісні з тими, які підтримує сервер.
Протокол запису (Record Layer)
Протокол запису — це рівневий протокол. На кожному рівні повідомлення включають поля для довжини, опису і перевірки. Протокол запису приймає повідомлення, які потрібно передати, фрагментує дані в керовані блоки, розумно стискає дані, застосовуючи MAC (message authentication code), шифрує і передає результат. Отримані дані він розшифровує, перевіряє, розпаковує, збирає і доставляє верхнім рівням клієнта.
Існує чотири протоколи запису: протокол рукостискання (Handshake Protocol), протокол тривоги (Alert Protocol), протокол зміни шифру (The Change Cipher Spec Protocol), протокол даних додатку (Application Data Protocol). Якщо SSL реалізація отримує тип запису, який їй невідомий, то цей запис просто ігнорується.
Протокол рукостискання (Handshake Protocol)
SSL клієнт і сервер домовляються про встановлення зв'язку за допомогою процедури рукостискання. Під час рукостискання клієнт і сервер домовляються про різні параметри, які будуть використані, щоб забезпечити безпеку з'єднання.
- Рукостискання починається тоді, коли клієнт підключається до SSL сервера. Запит безпечного з'єднання являє собою список підтримуваних шифрів та хеш-функцій.
- З цього списку сервер вибирає найсильніший шифр та хеш-функцію, яку він також підтримує, і повідомляє клієнтів про прийняте рішення.
- Сервер відсилає це рішення у вигляді цифрового сертифікату. Сертифікат, звичайно, містить ім'я сервера, довірений Центр Сертифікації, і відкритий ключ шифрування сервера. Клієнт може зв'язатися з сервером, який видав сертифікат і переконатися, що сертифікат є справжнім, перш ніж продовжити.
- Для того, щоб згенерувати ключі сеансу, використовується безпечне з'єднання. Клієнт шифрує випадкове число за допомогою відкритого ключа (ВК) сервера і відправляє результат на сервер. Тільки сервер в змозі розшифрувати його (з його закритим ключем (ЗК)), і тільки цей факт робить ключі прихованими від третьої сторони, так як тільки сервер і клієнт мали доступ до цих даних. Клієнт знає відкритий ключ і випадкове число, а сервер знає закритий ключ і (після розшифровки повідомлення клієнта) випадкове число. Третя сторона, можливо, знає тільки відкритий ключ, якщо закритий ключ не був зламаний.
- З випадкового числа обидві сторони створюють ключові дані для шифрування та розшифрування.
На цьому рукостискання завершується, і починається захищене з'єднання, яке зашифровується і розшифровується за допомогою ключових даних. Якщо будь-що з перерахованих вище дій не вдається, то рукостискання SSL не вдалося, і з'єднання не створюється.
Протокол зміни параметрів шифрування (The Change Cipher Spec Protocol)
Він існує для сигналізації переходу в режим шифрування. Протокол містить єдине повідомлення, яке зашифроване і стиснуте при поточному встановленому з'єднанні. Повідомлення складається тільки з одного біта зі значенням 1.
struct { enum {change_cipher_spec (1), (255)} type; } ChangeCipherSpec;
Повідомлення зміни шифру посилається і клієнтом і сервером для сповіщення приймаючої сторони, що наступні записи будуть захищені відповідно до нових домовленостей про CipherSpec і ключі. Прийняття цього повідомлення змушує одержувача віддати наказ рівня запису негайно копіювати стан відкладеного читання у стан поточного читання. Відразу після послання цього повідомлення, той хто послав повинен віддати наказ рівня запису перевести режим відкладеної запису в режим поточного запису. Повідомлення зміни шифру надсилається під час рукостискання, після того як параметри захисту були передані, але перед тим як буде надіслано повідомлення 'finished'.
Протокол тривоги (Alert Protocol)
Один з типів перевірки, які підтримуються в протоколі SSL запису, — це протокол тривоги. Повідомлення тривоги передає труднощі, які виникли у повідомленні, та опис тривоги. Повідомлення тривоги з критичним рівнем негайно перериває з'єднання. У цьому випадку інші з'єднання, відповідної сесії, можуть бути продовжені, але ідентифікатор сесії повинен бути визнаний недійсним. Як і інші повідомлення, повідомлення тривоги зашифровано і стиснуто, як тільки вказано поточний стан з'єднання.
Протокол даних додатку (Application Data Protocol)
Повідомлення з даними додатка опрацьовуються на рівні запису. Вони фрагментуються, стискаються і шифруються на основі поточного стану з'єднання. Повідомлення вважаються прозорими для рівня запису.
Помилки в протоколі SSL
У протоколі SSL обробка помилок дуже проста. Коли помилка виявлена, той, хто її виявив, посилає про це повідомлення своєму партнерові. Непереборні помилки вимагають від сервера і клієнта розриву з'єднання. Протокол SSL визначає наступні помилки:
- Unsupported_Certificate_Type_Error: така помилка виникає, коли клієнт / сервер отримує тип сертифіката, який не підтримується. Помилка переборна (тільки для аутентифікації клієнта).
- No_Cipher_Error: помилка виникає, коли сервер не може знайти розмір ключа або шифр, який підтримується також і клієнтом. Помилка непереборна.
- Bad_Certificate_Error: така помилка виникає, коли сертифікат вважається приймаючою стороною поганим. Це означає, що або некоректний підпис сертифіката, або він має некоректне значення. Помилка переборна (тільки для аутентифікації клієнта).
- No_Certificate_Error: якщо надіслано повідомлення Request_Certificate, то ця помилка може бути надіслана через те, що клієнт не має сертифіката. Помилка переборна.
Атаки
Опишемо ряд атак, які можуть бути проведені проти протоколу SSL. Однак, SSL стійкий до цих атак за умови використання довірених центрів сертифікації.
Розкриття шифрів
Як відомо, SSL залежить від різних криптографічних параметрів. Шифрування з відкритим ключем RSA необхідно для пересилки ключів і аутентифікації сервера / клієнта. Для шифрування використовуються різні криптографічні алгоритми. Таким чином, якщо здійснити успішну атаку на ці алгоритми, то SSL не може вже вважатися безпечним. Атака проводиться записом сесії, і потім, протягом довгого часу підбирається ключ сесії або ключ RSA. Використання SSL робить таку атаку невигідною, так як витрачається велика кількість часу і грошей.
Зловмисник посередині
Також відома як MitM (Man-in-the-Middle) атака. Передбачає участь трьох сторін: сервера, клієнта і зловмисника, що знаходиться між ними. У даній ситуації зловмисник може перехоплювати всі повідомлення, які слідують в обох напрямках, і підміняти їх. Зловмисник представляється сервером для клієнта і клієнтом для сервера. У разі обміну ключами по алгоритму Діффі-Хелмана дана атака є ефективною, оскільки цілісність прийнятої інформації і її джерело перевірити неможливо. Однак така атака неможлива при використанні протоколу SSL, так як для перевірки автентичності джерела (зазвичай сервера) використовуються сертифікати, завірені центром сертифікації.
Атака буде успішною, якщо:
- Сервер не має підписаного сертифіката.
- Клієнт не перевіряє сертифікат сервера.
- Користувач ігнорує повідомлення про відсутність підпису сертифіката центром сертифікації або про розбіжності сертифіката з кешованою копією.
Зауваження. Робота HTTPS-фільтра (який встановлює тунель в обидві сторони і віддає свій сертифікат клієнту) в MS Forefront TGM, що працює за цією схемою, не є атакою, але є засобом захисту та контролю.
Атака відгуку
Зловмисник записує комунікаційну сесію між сервером і клієнтом. Пізніше, він намагається встановити з'єднання з сервером, відтворюючи записані повідомлення клієнта. Але SSL відбиває цю атаку за допомогою особливого унікального ідентифікатора з'єднання (ІЗ). Звичайно, теоретично третя сторона не в силах передбачити ІЗ, тому що він заснований на наборі випадкових подій. Однак, зловмисник з великими ресурсами може записати велику кількість сесій і спробувати підібрати «правильну» сесію, ґрунтуючись на коді nonce, який послав сервер в повідомлення Server_Hello. Але коди nonce SSL мають, щонайменше, довжину 128 біт, а значить, зловмисникові необхідно записати кодів nonce, щоб отримати ймовірність вгадування 50%. Але досить велике число, що робить ці атаки безглуздими.
Атака проти протоколу рукостискання
Зловмисник може спробувати вплинути на обмін рукостисканнями для того, щоб сторони обрали різні алгоритми шифрування, а не ті, що вони обирають зазвичай. Через те, що багато реалізацій підтримують 40-бітове експортне шифрування, а деякі навіть 0-шифрування або MAC-алгоритм, ці атаки представляють великий інтерес.
Для такої атаки зловмисникові необхідно швидко підмінити одне або більше повідомлень рукостискання. Якщо це відбувається, то клієнт і сервер обчислять різні значення хеш повідомлення рукостискання. У результаті чого сторони не приймуть один від одного повідомлення Finished. Без знання секрету зловмисник не зможе виправити повідомлення Finished, тому атака може бути виявлена.
Атаки на SSL 2.0
SSL 2.0 мав низку вразливостей:
- Використання одного ключа для автентифікації повідомлень та шифрування даних. (Протокол SSL 3.0, дозволяє MAC секретам бути довшими за ключі для шифрування, тому секрет може залишатись захищеним навіть якщо буде зламано ключ для шифрування.)
- SSL 2.0 має слабкий алгоритм обчислення MAC-підписів, що використовує хеш-функцію MD5 із таємним префіксом, що робить його вразливим до .
- SSL 2.0 не має захисту процесу рукостискання (відкриття сеансу обміну даними), що робить його вразливим до .
- SSL 2.0 використовує стандартні механізми протоколу транспортного рівня TCP закриття з'єднання для позначення кінця даних. Це робить його вразливим до атаки на передчасне завершення передачі даних. Зловмисник може примусово обірвати з'єднання підробивши команду TCP FIN, отримувач даних тоді може не дізнатись про отримання неповних даних (у SSL 3.0 цю проблему виправлено — завершення сеансу відбувається явно, за відповідним повідомленням).
- SSL 2.0 передбачає єдиний сертифікат для домену, що робить його несумісним з поширеною практикою віртуального хостингу веб серверів.
SSL 2.0 було вимкнено за замовченням починаючи з Internet Explorer 7,Mozilla Firefox 2,Opera 9.5, та Safari. Якщо після відправлення повідомлення TLS «ClientHello» Mozilla Firefox виявляє, що сервер не здатний завершити рукостискання, то браузер спробує повернутись до використання SSL 3.0 надіславши повідомлення SSL 3.0 «ClientHello» у форматі SSL 2.0 аби збільшити ймовірність успішного завершення рукостискання зі старішими серверами. Підтримка протоколу SSL 2.0 (та слабких 40- та 56- бітних шифрів) повністю прибрана з браузера Opera 10 версії.
Алгоритми, що використовуються в SSL
Вартість SSL
Вартість SSL-сертифікатів залежить від кількох факторів. Насамперед від типу перевірки та поширення. Найдешевшими є сертифікати з перевіркою тільки домену. Вони коштують від 15 доларів на рік. Далі йдуть сертифікати з перевіркою компанії. Їх вартість — від 45 доларів за один рік користування. Найдорожчі — SSL-сертифікати з розширеною перевіркою. За один рік користування ним потрібно заплатити від 140 доларів.
Як отримати SSL-сертифікат
Сертифікати довіри видаються багатьма центрами сертифікації. Серед них можна виділити Sectigo Limited, DigiCert Inc, Symantec, GeoTrust, RapidSSL, Thawte та інші. Але не обов'язково звертатись до них безпосередньо. Більшість провайдерів пропонують до хостингових тарифів цілий набір сертифікатів на вибір. Такий варіант навіть кращий, тому що провайдер має достатньо досвіду, щоб знайти надійний центр сертифікації та запропонувати найкраще рішення.
Див. також
Примітки
- Honcharenko, Diana (17 квітня 2024). Які бувають SSL-сертифікати? Переваги й недоліки кожного типу • Блог Hostpro. Блог Hostpro (укр.). Процитовано 17 квітня 2024.
- Joris Claessens; Valentin Dem; Danny De Cock; Bart Preneel; Joos Vandewalle (2002). . Computers & Security. 21 (3): 253—265. doi:10.1016/S0167-4048(02)00312-7. Архів оригіналу за 17 жовтня 2015. Процитовано 12 липня 2017.
- RFC 6101
- Lawrence, Eric (22 жовтня 2005). IEBlog: Upcoming HTTPS Improvements in Internet Explorer 7 Beta 2. MSDN Blogs. Архів оригіналу за 17 квітня 2013. Процитовано 25 листопада 2007.
- . Mozilla Corporation. Архів оригіналу за 14 лютого 2017. Процитовано 25 листопада 2007.
- «Opera 9.5 for Windows Changelog» [ 26 червня 2009 у Wayback Machine.] at : «Disabled SSL v2 and weak ciphers.»
- . 11 вересня 2008. Архів оригіналу за 14 лютого 2017. Процитовано 12 липня 2017.
- «Opera 10 for Windows changelog» [ 26 березня 2013 у Wayback Machine.] at : «Removed support for SSL v2 and weak ciphers»
- Pettersen, Yngve (30 квітня 2007). . Opera Software. Архів оригіналу за 12 жовтня 2007. Процитовано 25 листопада 2007.
- . Просто о фрилансе, штатной работе и не только: блог Freelancehunt (рос.). 30 квітня 2021. Архів оригіналу за 21 липня 2021. Процитовано 21 липня 2021.
- . cityhost.ua (укр.). Архів оригіналу за 8 грудня 2021. Процитовано 8 грудня 2021.
Посилання
- Mozilla.org [ 11 листопада 2011 у Wayback Machine.] — введення в SSL протокол
Ця стаття потребує додаткових для поліпшення її . (березень 2017) |
Ця стаття не містить . (березень 2017) |
Це незавершена стаття про Інтернет. Ви можете проєкту, виправивши або дописавши її. |
Це незавершена стаття з криптографії. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
SSL angl Secure Sockets Layer riven zahishenih soketiv kriptografichnij protokol yakij zabezpechuye vstanovlennya bezpechnogo z yednannya mizh kliyentom i serverom SSL spochatku rozroblenij kompaniyeyu Netscape Communications Zgodom na pidstavi protokolu SSL 3 0 buv rozroblenij i prijnyatij standart RFC sho otrimav im ya TLS Protokol zabezpechuye konfidencijnist obminu danimi mizh kliyentom i serverom sho vikoristovuyut TCP IP prichomu dlya shifruvannya vikoristovuyetsya asimetrichnij algoritm z vidkritim klyuchem Pri shifruvanni z vidkritim klyuchem vikoristovuyetsya dva klyuchi prichomu bud yakij z nih mozhe vikoristovuvatisya dlya shifruvannya povidomlennya Tim samim yaksho vikoristovuyetsya odin klyuch dlya shifruvannya to vidpovidno dlya rozshifruvannya potribno vikoristovuvati inshij klyuch U takij situaciyi mozhna otrimuvati zahisheni povidomlennya publikuyuchi vidkritij klyuch i zberigayuchi v tayemnici sekretnij klyuch OpisProtokol SSL skladayetsya z dvoh pidprotokoliv protokol SSL zapisu i rukostiskannya Protokol SSL zapisu viznachaye format yakij vikoristovuyetsya dlya peredachi danih Protokol SSL vklyuchaye rukostiskannya z vikoristannyam protokolu SSL zapisu dlya obminu seriyami povidomlen mizh serverom i kliyentom pid chas vstanovlennya pershogo z yednannya Dlya roboti SSL potribno shob na serveri buv SSL sertifikat SSL nadaye kanal sho maye tri osnovni vlastivosti Avtentifikaciya Server zavzhdi avtentifikovanij v toj chas yak kliyent avtentifikovanij v zalezhnosti vid algoritmu Cilisnist Obmin povidomlennyami mistit u sobi perevirku cilisnosti Konfidencijnist kanalu Shifruvannya vikoristovuyetsya pislya vstanovlennya z yednannya i vikoristovuyetsya dlya vsih nastupnih povidomlen U protokoli SSL vsi dani peredayutsya u viglyadi zapisiv ob yektiv sho skladayutsya iz zagolovka i peredanih danih Peredacha pochinayetsya iz zagolovka Zagolovok mistit abo dva abo tri bajti kodu dovzhini Prichomu yaksho starshij bit v pershomu bajti kodu dorivnyuye odinici to zapis ne maye zapovnyuvacha i povna dovzhina zagolovka dorivnyuye dvom bajtam inakshe zapis mistit zapovnyuvach i povna dovzhina zagolovka dorivnyuye trom bajtam Kod dovzhini zapisu ne mistit u sobi chislo bajt zagolovka Dovzhina zapisu 2 h bajtovogo zagolovka RecLength byte 0 amp 0x7F lt lt 8 byte 1 Tut byte 0 i byte 1 pershij i drugij otrimani bajti Dovzhina zapisu 3 h bajtovogo zagolovka RecLength byte 0 amp 0x3F lt lt 8 byte 1 Escape byte 0 amp 0x40 0 Padding byte 2 Tut Padding viznachaye chislo bajtiv dodanih vidpravnikom do pochatkovogo tekstu dlya togo shob zrobiti dovzhinu zapisu kratnoyu rozmiru bloka shifru pri vikoristanni blokovogo shifru Teper vidpravnik zapovnenogo zapisu dodaye zapovnyuvach do nayavnih danih i shifruye vse ce Prichomu vmist zapovnyuvacha niyakoyi roli ne maye Cherez te sho obsyag peredanih danih vidomij to zagolovok mozhe buti sformovanij z urahuvannyam Padding U svoyu chergu oderzhuvach zapisu deshifruye vse pole danih i otrimuye povnu vihidnu informaciyu Potim obchislyuyetsya znachennya RecLength za vidomim Padding i zapovnyuvach z polya danih vidalyayetsya Dani zapisu SSL skladayutsya z troh komponent MAC Data Mac Size Message Authentication Code kod autentifikaciyi povidomlennya Padding Data Padding dani zapovnyuvacha Actual Data N realni dani Koli zapisi nadsilayutsya vidkritim tekstom ochevidno sho niyaki shifri ne vikoristovuyutsya Todi dovzhina Padding Data i MAC Data dorivnyuyut nulyu Pri vikoristanni shifruvannya Padding Data zalezhit vid rozmiru bloku shifru a MAC Data zalezhit vid viboru shifru Priklad obchislennya MAC Data MacData Hash Secret Actual Data Padding Data Sequence Number Znachennya Secret zalezhit vid togo hto kliyent abo server posilaye povidomlennya Sequence Number lichilnik yakij inkrementuyetsya yak serverom tak i kliyentom Tut Sequence Number ye 32 h bitovij kod yakij peredayetsya hesh funkciyi u viglyadi 4 h bajt prichomu pershim peredayetsya starshij bajt Dlya MD2 MD5 MAC Size dorivnyuye 16 bajtam 128 bitam Dlya 2 h bajtovogo zagolovka maksimalna dovzhina zapisu dorivnyuye 32767 bajtam a dlya 3 h bajtovogo zagolovka 16383 bajti Istoriya ta rozvitokProtokol SSL buv spochatku rozroblenij kompaniyeyu Netscape Versiya protokolu 1 0 publichno ne vipuskalasya Versiya 2 0 bula vipushena v lyutomu 1995 roku ale mistila bagato nedolikiv z bezpeki yaki v kincevomu rahunku priveli do stvorennya versiyi 3 0 yaka bula vipushena v 1996 roci Tim samim versiya SSL 3 0 posluzhila osnovoyu dlya stvorennya protokolu TLS 1 0 standart protokolu Internet Engineering Task Force IETF vpershe buv viznachenij v RFC 2246 v sichni 1999 roku Visa Master Card American Express i bagato inshih organizacij sho pracyuyut z internet groshima mayut licenziyu na vikoristannya protokolu SSL dlya komercijnih cilej v merezhi Internet SSL pracyuye modulnim sposobom Tim samim SSL rozshiryuvanist zgidno z proektom pro pidtrimku perednoyi i zvorotnoyi sumisnosti ta peregovoriv mizh spolukami v odnorangovoyi merezhi ZastosuvannyaZnachne vikoristannya protokolu SSL prizvelo do formuvannya protokolu HTTPS Hypertext Transfer Protocol Secure sho pidtrimuye shifruvannya Dani yaki peredayutsya po protokolu HTTPS upakovuyutsya v kriptografichnij protokol SSL abo TLS tim samim zabezpechuyuchi zahist cih danih Takij sposib zahistu shiroko vikoristovuyetsya u sviti Veb dlya dodatkiv v yakih vazhliva bezpeka z yednannya napriklad u platizhnih sistemah HTTPS pidtrimuyetsya vsima brauzerami Na vidminu vid HTTP dlya HTTPS za zamovchuvannyam vikoristovuyetsya TCP port 443 Spochatku virtualni privatni merezhi VPN na osnovi SSL rozroblyalisya yak dodatkova i alternativna tehnologiya viddalenogo dostupu na osnovi IPsec VPN Odnak taki faktori yak dostatnya nadijnist i deshevizna zrobili cyu tehnologiyu privablivoyu dlya organizaciyi VPN Takozh SSL otrimav shiroke zastosuvannya v elektronnij poshti Osnovni cili protokolu v poryadku prioritetnostiKriptografichna bezpeka SSL vstanovlyuye bezpechne z yednannya mizh dvoma storonami Vidkritist Programisti nezalezhno odin vid odnogo mozhut stvoryuvati dodatki sho vikoristovuyut SSL yaki zgodom budut zdatni uspishno obminyuvatisya kriptografichnimi parametrami bez vsyakogo znannya kodu chuzhih program Rozshiryuvanist SSL pragne zabezpechiti robochij prostir v yakomu novi vidkriti klyuchi i trudomistki metodi shifruvannya mozhut buti dodani pri neobhidnosti Vidnosna efektivnist robota protokolu na osnovi SSL vimagaye velikih shvidkostej vid CPU zokrema dlya roboti z vidkritimi klyuchami Tomu do SSL protokolu bula vklyuchena neobov yazkova shema keshuvannya sesij dlya zmenshennya kilkosti z yednan yaki neobhidno vstanovlyuvati z nulya Krim togo velika uvaga pridilyayetsya tomu shob zmenshiti merezhevu aktivnist Tipi SSL sertifikativSSL certifikati rozriznyayut za centrom sertifikaciyi tipom zahistu ta rivnem perevirki Za tipom zahistu SSL sertifikati podilyayut na Sertifikati iz zahistom domeniv zvichajni sertifikati Vikoristovuyutsya dlya shifruvannya informaciyi odnogo domenu bez piddomeniv Sertifikati iz zahistom piddomeniv Wildcard sertifikati Vikoristovuyutsya dlya shifruvannya informaciyi vsih piddomeniv odnogo domenu Sertifikati iz zahistom kilkoh domeniv SAN sertifikati Vikoristovuyutsya dlya shifruvannya informaciyi odrazu kilkoh domeniv bez piddomeniv Sertifikati programnogo kodu Code Signing Vikoristovuyutsya dlya pidpisu programnogo zabezpechennya Sertifikati z pidtrimkoyu IDN Vikoristovuyutsya dlya shifruvannya informaciyi kirilichnih abo inshih domeniv yaki mistyat literi nelatinskih alfavitiv Sertifikati iz zahistom elektronnoyi poshti ta dokumentiv Vikoristovuyutsya dlya avtentifikaciyi vidpravnika ta zapobigayut zminam u dokumentah z boku pravoporushnikiv spam fishing pidrobleni rahunki SSL sertifikati za rivnem perevirki vlasnika podilyayutsya na DV sertifikati domain validation perevirka za domenom Pidtverdzhuyut fakt volodinnya domenom Vikoristovuyutsya dlya blogiv lendingiv sajtiv vizitok ta portfolio OV sertifikati organization validation perevirka organizaciyi Pidtverdzhuyut vlasnika domenu ta kompaniyu yaka za nim stoyit Perevirka organizaciyi zazvichaj vikoristovuyetsya dlya biznes sajtiv yaki prijmayut platezhi EV sertifikati extended validation rozshirena perevirka organizaciyi Krim perevirki domenu ta organizaciyi pereviryayetsya chi maye kompaniya pravo na volodinnya svoyeyu nazvoyu Vikoristovuyutsya dlya finansovih uryadovih bankivskih strahovih ta ecommerce sajtiv SSL sertifikati riznih tipiv zahistu ta rivniv perevirki mozhna otrimati v centrah sertifikaciyi zokrema Certum Comodo pislya rebrendingu Sectigo RapidSSL GeoTrust i Thawte Avtentifikaciya i obmin klyuchamiSSL pidtrimuye 3 tipi autentifikaciyi Avtentifikaciya oboh storin kliyent server Avtentifikaciya servera z nerozpiznanih kliyentom Povna anonimnist Kozhnogo razu koli server avtentifikovani kanal bezpechnij proti sprobi perehoplennya danih mizh vebserverom i brauzerom ale povnistyu anonimna sesiya za svoyeyu suttyu vrazliva do takoyi ataki Anonimnij server ne mozhe avtentifikuvati kliyenta Yaksho server autentifikovanij to jogo povidomlennya sertifikaciyi maye zabezpechiti virnij sertifikacijnij lancyuzhok sho vede do prijnyatnogo centru sertifikaciyi Prostishe kazhuchi autentifikovanij kliyent povinen nadati dopustimij sertifikat servera Kozhna storona vidpovidaye za perevirku togo sho sertifikat inshogo boku she ne zakinchivsya i ne buv skasovanij Golovna meta procesu obminu klyuchami ce stvorennya sekretu kliyenta pre master secret vidomogo tilki kliyentu i serveru Sekret pre master secret vikoristovuyetsya dlya stvorennya spilnoyi tayemnici master secret Zagalnij sekret neobhidnij dlya togo shob stvoriti povidomlennya dlya perevirki sertifikata klyuchiv shifruvannya sekretu MAC message authentication code i povidomlennya finished Pri posilci virnogo povidomlennya finished tim samim storoni dovedut sho voni znayut virnij sekret pre master secret Anonimnij obmin klyuchami Povnistyu anonimna sesiya mozhe buti vstanovlena pri vikoristanni algoritmu RSA abo Diffi Hellmana dlya stvorennya klyuchiv obminu U razi vikoristannya RSA kliyent shifruye sekret pre master secret za dopomogoyu vidkritogo klyucha nesertifikovanogo servera Vidkritij klyuch kliyent diznayetsya z povidomlennya obminu klyuchami vid servera Rezultat nadsilayetsya v povidomlenni obminu klyuchami vid kliyenta Oskilki perehoplyuvach ne znaye zakritogo klyucha servera to jomu bude nemozhlivo rozshifruvati sekret pre master secret Pri vikoristanni algoritmu Diffi Hellmana vidkriti parametri servera mistyatsya v povidomlenni obminu klyuchami vid servera i kliyentovi posilayut v povidomlenni obminu klyuchami Perehoplyuvach yakij ne znaye privatnih znachen ne zmozhe znajti sekret pre master secret Obmin klyuchami pri vikoristanni RSA i avtentifikaciya U comu vipadku obmin klyuchami ta avtentifikaciya servera mozhe buti skombinovana Vidkritij klyuch takozh mozhe mistitisya v sertifikati servera abo mozhe buti vikoristanij timchasovij klyuch RSA yakij posilayetsya v povidomlenni obminu klyuchami vid servera Koli vikoristovuyetsya timchasovij klyuch RSA povidomlennya obminu pidpisuyutsya server s RSA abo sertifikat DSS Signatura vklyuchaye potochne znachennya povidomlennya Client Hello random takim chinom stari signaturi i stari timchasovi klyuchi ne mozhut povtoryuvatisya Server mozhe vikoristovuvati timchasovij klyuch RSA tilki odnogo razu dlya stvorennya sesiyi Pislya perevirki sertifikata servera kliyent shifruye sekret pre master secret za dopomogoyu vidkritogo klyucha servera Pislya uspishnogo dekoduvannya sekretu pre master secret stvoryuyetsya povidomlennya finished tim samim server demonstruye sho vin znaye privatnij klyuch vidpovidnij sertifikatu servera Koli RSA vikoristovuyetsya dlya obminu klyuchami dlya autentifikaciyi kliyenta vikoristovuyetsya povidomlennya perevirki sertifikata kliyenta Kliyent pidpisuyetsya znachennyam obchislenim z master secret i vsih poperednih povidomlen protokolu rukostiskannya Ci povidomlennya rukostiskannya vklyuchayut sertifikat servera yakij stavit u vidpovidnist signaturi servera povidomlennya Server Hello random yakomu stavit u vidpovidnist signaturu potochnomu povidomlennyam rukostiskannya Obmin klyuchami pri vikoristanni protokolu Diffi Gellmana i avtentifikaciya Dokladnishe Protokol Diffi Gellmana U comu vipadku server mozhe takozh pidtrimuvati algoritm Diffi Hellmana abo mozhe vikoristovuvati povidomlennya obminu klyuchami vid servera dlya posilki naboru chasovih parametriv pidpisanih sertifikatami DSS abo RSA Timchasovi parametri heshuyut z povidomlennyam hello random pered pidpisannyam dlya togo shob zlovmisnik ne zmig vchiniti povtor starih parametriv U bud yakomu vipadku kliyent mozhe pereviriti sertifikat abo signaturu dlya vpevnenosti sho parametri nalezhat serveru Yaksho kliyent maye sertifikat sho mistit parametri protokolu Diffi Gellmana to sertifikat takozh maye informaciyu neobhidnu dlya togo shob zavershiti obmin klyuchami Zauvazhimo sho v comu vipadku kliyent i server povinni budut zgeneruvati ti zh rezultati algoritmu Diffi Gellmana pre master secret shorazu koli voni vstanovlyuyut z yednannya Dlya zapobigannya perebuvannya sekretu pre master secret u pam yati komp yutera na chas dovshij za neobhidnij sekret maye buti perevedenij v zagalnij sekret master secret nastilki shvidko naskilki ce mozhlivo Dlya roboti obminu klyuchami parametri kliyenta povinni buti sumisni z timi yaki pidtrimuye server Protokol zapisu Record Layer Protokol zapisu ce rivnevij protokol Na kozhnomu rivni povidomlennya vklyuchayut polya dlya dovzhini opisu i perevirki Protokol zapisu prijmaye povidomlennya yaki potribno peredati fragmentuye dani v kerovani bloki rozumno stiskaye dani zastosovuyuchi MAC message authentication code shifruye i peredaye rezultat Otrimani dani vin rozshifrovuye pereviryaye rozpakovuye zbiraye i dostavlyaye verhnim rivnyam kliyenta Isnuye chotiri protokoli zapisu protokol rukostiskannya Handshake Protocol protokol trivogi Alert Protocol protokol zmini shifru The Change Cipher Spec Protocol protokol danih dodatku Application Data Protocol Yaksho SSL realizaciya otrimuye tip zapisu yakij yij nevidomij to cej zapis prosto ignoruyetsya Protokol rukostiskannya Handshake Protocol SSL kliyent i server domovlyayutsya pro vstanovlennya zv yazku za dopomogoyu proceduri rukostiskannya Pid chas rukostiskannya kliyent i server domovlyayutsya pro rizni parametri yaki budut vikoristani shob zabezpechiti bezpeku z yednannya Rukostiskannya pochinayetsya todi koli kliyent pidklyuchayetsya do SSL servera Zapit bezpechnogo z yednannya yavlyaye soboyu spisok pidtrimuvanih shifriv ta hesh funkcij Z cogo spisku server vibiraye najsilnishij shifr ta hesh funkciyu yaku vin takozh pidtrimuye i povidomlyaye kliyentiv pro prijnyate rishennya Server vidsilaye ce rishennya u viglyadi cifrovogo sertifikatu Sertifikat zvichajno mistit im ya servera dovirenij Centr Sertifikaciyi i vidkritij klyuch shifruvannya servera Kliyent mozhe zv yazatisya z serverom yakij vidav sertifikat i perekonatisya sho sertifikat ye spravzhnim persh nizh prodovzhiti Dlya togo shob zgeneruvati klyuchi seansu vikoristovuyetsya bezpechne z yednannya Kliyent shifruye vipadkove chislo za dopomogoyu vidkritogo klyucha VK servera i vidpravlyaye rezultat na server Tilki server v zmozi rozshifruvati jogo z jogo zakritim klyuchem ZK i tilki cej fakt robit klyuchi prihovanimi vid tretoyi storoni tak yak tilki server i kliyent mali dostup do cih danih Kliyent znaye vidkritij klyuch i vipadkove chislo a server znaye zakritij klyuch i pislya rozshifrovki povidomlennya kliyenta vipadkove chislo Tretya storona mozhlivo znaye tilki vidkritij klyuch yaksho zakritij klyuch ne buv zlamanij Z vipadkovogo chisla obidvi storoni stvoryuyut klyuchovi dani dlya shifruvannya ta rozshifruvannya Na comu rukostiskannya zavershuyetsya i pochinayetsya zahishene z yednannya yake zashifrovuyetsya i rozshifrovuyetsya za dopomogoyu klyuchovih danih Yaksho bud sho z pererahovanih vishe dij ne vdayetsya to rukostiskannya SSL ne vdalosya i z yednannya ne stvoryuyetsya Protokol zmini parametriv shifruvannya The Change Cipher Spec Protocol Vin isnuye dlya signalizaciyi perehodu v rezhim shifruvannya Protokol mistit yedine povidomlennya yake zashifrovane i stisnute pri potochnomu vstanovlenomu z yednanni Povidomlennya skladayetsya tilki z odnogo bita zi znachennyam 1 struct enum change cipher spec 1 255 type ChangeCipherSpec Povidomlennya zmini shifru posilayetsya i kliyentom i serverom dlya spovishennya prijmayuchoyi storoni sho nastupni zapisi budut zahisheni vidpovidno do novih domovlenostej pro CipherSpec i klyuchi Prijnyattya cogo povidomlennya zmushuye oderzhuvacha viddati nakaz rivnya zapisu negajno kopiyuvati stan vidkladenogo chitannya u stan potochnogo chitannya Vidrazu pislya poslannya cogo povidomlennya toj hto poslav povinen viddati nakaz rivnya zapisu perevesti rezhim vidkladenoyi zapisu v rezhim potochnogo zapisu Povidomlennya zmini shifru nadsilayetsya pid chas rukostiskannya pislya togo yak parametri zahistu buli peredani ale pered tim yak bude nadislano povidomlennya finished Protokol trivogi Alert Protocol Odin z tipiv perevirki yaki pidtrimuyutsya v protokoli SSL zapisu ce protokol trivogi Povidomlennya trivogi peredaye trudnoshi yaki vinikli u povidomlenni ta opis trivogi Povidomlennya trivogi z kritichnim rivnem negajno pererivaye z yednannya U comu vipadku inshi z yednannya vidpovidnoyi sesiyi mozhut buti prodovzheni ale identifikator sesiyi povinen buti viznanij nedijsnim Yak i inshi povidomlennya povidomlennya trivogi zashifrovano i stisnuto yak tilki vkazano potochnij stan z yednannya Protokol danih dodatku Application Data Protocol Povidomlennya z danimi dodatka opracovuyutsya na rivni zapisu Voni fragmentuyutsya stiskayutsya i shifruyutsya na osnovi potochnogo stanu z yednannya Povidomlennya vvazhayutsya prozorimi dlya rivnya zapisu Pomilki v protokoli SSLU protokoli SSL obrobka pomilok duzhe prosta Koli pomilka viyavlena toj hto yiyi viyaviv posilaye pro ce povidomlennya svoyemu partnerovi Nepereborni pomilki vimagayut vid servera i kliyenta rozrivu z yednannya Protokol SSL viznachaye nastupni pomilki Unsupported Certificate Type Error taka pomilka vinikaye koli kliyent server otrimuye tip sertifikata yakij ne pidtrimuyetsya Pomilka pereborna tilki dlya autentifikaciyi kliyenta No Cipher Error pomilka vinikaye koli server ne mozhe znajti rozmir klyucha abo shifr yakij pidtrimuyetsya takozh i kliyentom Pomilka nepereborna Bad Certificate Error taka pomilka vinikaye koli sertifikat vvazhayetsya prijmayuchoyu storonoyu poganim Ce oznachaye sho abo nekorektnij pidpis sertifikata abo vin maye nekorektne znachennya Pomilka pereborna tilki dlya autentifikaciyi kliyenta No Certificate Error yaksho nadislano povidomlennya Request Certificate to cya pomilka mozhe buti nadislana cherez te sho kliyent ne maye sertifikata Pomilka pereborna AtakiOpishemo ryad atak yaki mozhut buti provedeni proti protokolu SSL Odnak SSL stijkij do cih atak za umovi vikoristannya dovirenih centriv sertifikaciyi Rozkrittya shifriv Yak vidomo SSL zalezhit vid riznih kriptografichnih parametriv Shifruvannya z vidkritim klyuchem RSA neobhidno dlya peresilki klyuchiv i autentifikaciyi servera kliyenta Dlya shifruvannya vikoristovuyutsya rizni kriptografichni algoritmi Takim chinom yaksho zdijsniti uspishnu ataku na ci algoritmi to SSL ne mozhe vzhe vvazhatisya bezpechnim Ataka provoditsya zapisom sesiyi i potim protyagom dovgogo chasu pidbirayetsya klyuch sesiyi abo klyuch RSA Vikoristannya SSL robit taku ataku nevigidnoyu tak yak vitrachayetsya velika kilkist chasu i groshej Zlovmisnik poseredini Takozh vidoma yak MitM Man in the Middle ataka Peredbachaye uchast troh storin servera kliyenta i zlovmisnika sho znahoditsya mizh nimi U danij situaciyi zlovmisnik mozhe perehoplyuvati vsi povidomlennya yaki sliduyut v oboh napryamkah i pidminyati yih Zlovmisnik predstavlyayetsya serverom dlya kliyenta i kliyentom dlya servera U razi obminu klyuchami po algoritmu Diffi Helmana dana ataka ye efektivnoyu oskilki cilisnist prijnyatoyi informaciyi i yiyi dzherelo pereviriti nemozhlivo Odnak taka ataka nemozhliva pri vikoristanni protokolu SSL tak yak dlya perevirki avtentichnosti dzherela zazvichaj servera vikoristovuyutsya sertifikati zavireni centrom sertifikaciyi Ataka bude uspishnoyu yaksho Server ne maye pidpisanogo sertifikata Kliyent ne pereviryaye sertifikat servera Koristuvach ignoruye povidomlennya pro vidsutnist pidpisu sertifikata centrom sertifikaciyi abo pro rozbizhnosti sertifikata z keshovanoyu kopiyeyu Zauvazhennya Robota HTTPS filtra yakij vstanovlyuye tunel v obidvi storoni i viddaye svij sertifikat kliyentu v MS Forefront TGM sho pracyuye za ciyeyu shemoyu ne ye atakoyu ale ye zasobom zahistu ta kontrolyu Ataka vidguku Zlovmisnik zapisuye komunikacijnu sesiyu mizh serverom i kliyentom Piznishe vin namagayetsya vstanoviti z yednannya z serverom vidtvoryuyuchi zapisani povidomlennya kliyenta Ale SSL vidbivaye cyu ataku za dopomogoyu osoblivogo unikalnogo identifikatora z yednannya IZ Zvichajno teoretichno tretya storona ne v silah peredbachiti IZ tomu sho vin zasnovanij na nabori vipadkovih podij Odnak zlovmisnik z velikimi resursami mozhe zapisati veliku kilkist sesij i sprobuvati pidibrati pravilnu sesiyu gruntuyuchis na kodi nonce yakij poslav server v povidomlennya Server Hello Ale kodi nonce SSL mayut shonajmenshe dovzhinu 128 bit a znachit zlovmisnikovi neobhidno zapisati 264 displaystyle 2 64 kodiv nonce shob otrimati jmovirnist vgaduvannya 50 Ale 264 displaystyle 2 64 dosit velike chislo sho robit ci ataki bezgluzdimi Ataka proti protokolu rukostiskannya Zlovmisnik mozhe sprobuvati vplinuti na obmin rukostiskannyami dlya togo shob storoni obrali rizni algoritmi shifruvannya a ne ti sho voni obirayut zazvichaj Cherez te sho bagato realizacij pidtrimuyut 40 bitove eksportne shifruvannya a deyaki navit 0 shifruvannya abo MAC algoritm ci ataki predstavlyayut velikij interes Dlya takoyi ataki zlovmisnikovi neobhidno shvidko pidminiti odne abo bilshe povidomlen rukostiskannya Yaksho ce vidbuvayetsya to kliyent i server obchislyat rizni znachennya hesh povidomlennya rukostiskannya U rezultati chogo storoni ne prijmut odin vid odnogo povidomlennya Finished Bez znannya sekretu zlovmisnik ne zmozhe vipraviti povidomlennya Finished tomu ataka mozhe buti viyavlena Ataki na SSL 2 0 SSL 2 0 mav nizku vrazlivostej Vikoristannya odnogo klyucha dlya avtentifikaciyi povidomlen ta shifruvannya danih Protokol SSL 3 0 dozvolyaye MAC sekretam buti dovshimi za klyuchi dlya shifruvannya tomu sekret mozhe zalishatis zahishenim navit yaksho bude zlamano klyuch dlya shifruvannya SSL 2 0 maye slabkij algoritm obchislennya MAC pidpisiv sho vikoristovuye hesh funkciyu MD5 iz tayemnim prefiksom sho robit jogo vrazlivim do SSL 2 0 ne maye zahistu procesu rukostiskannya vidkrittya seansu obminu danimi sho robit jogo vrazlivim do SSL 2 0 vikoristovuye standartni mehanizmi protokolu transportnogo rivnya TCP zakrittya z yednannya dlya poznachennya kincya danih Ce robit jogo vrazlivim do ataki na peredchasne zavershennya peredachi danih Zlovmisnik mozhe primusovo obirvati z yednannya pidrobivshi komandu TCP FIN otrimuvach danih todi mozhe ne diznatis pro otrimannya nepovnih danih u SSL 3 0 cyu problemu vipravleno zavershennya seansu vidbuvayetsya yavno za vidpovidnim povidomlennyam SSL 2 0 peredbachaye yedinij sertifikat dlya domenu sho robit jogo nesumisnim z poshirenoyu praktikoyu virtualnogo hostingu veb serveriv SSL 2 0 bulo vimkneno za zamovchennyam pochinayuchi z Internet Explorer 7 Mozilla Firefox 2 Opera 9 5 ta Safari Yaksho pislya vidpravlennya povidomlennya TLS ClientHello Mozilla Firefox viyavlyaye sho server ne zdatnij zavershiti rukostiskannya to brauzer sprobuye povernutis do vikoristannya SSL 3 0 nadislavshi povidomlennya SSL 3 0 ClientHello u formati SSL 2 0 abi zbilshiti jmovirnist uspishnogo zavershennya rukostiskannya zi starishimi serverami Pidtrimka protokolu SSL 2 0 ta slabkih 40 ta 56 bitnih shifriv povnistyu pribrana z brauzera Opera 10 versiyi Algoritmi sho vikoristovuyutsya v SSLDlya obminu klyuchami ta perevirki yih dostovirnosti zastosovuyutsya RSA Diffie Hellman ECDH Dlya autentifikaciyi RSA DSA ECDSA Dlya simetrichnogo shifruvannya RC4 IDEA DES Triple DES abo AES Camellia Dlya hesh funkcij SHA MD5 MD4 i MD2 Vartist SSLVartist SSL sertifikativ zalezhit vid kilkoh faktoriv Nasampered vid tipu perevirki ta poshirennya Najdeshevshimi ye sertifikati z perevirkoyu tilki domenu Voni koshtuyut vid 15 dolariv na rik Dali jdut sertifikati z perevirkoyu kompaniyi Yih vartist vid 45 dolariv za odin rik koristuvannya Najdorozhchi SSL sertifikati z rozshirenoyu perevirkoyu Za odin rik koristuvannya nim potribno zaplatiti vid 140 dolariv Yak otrimati SSL sertifikatSertifikati doviri vidayutsya bagatma centrami sertifikaciyi Sered nih mozhna vidiliti Sectigo Limited DigiCert Inc Symantec GeoTrust RapidSSL Thawte ta inshi Ale ne obov yazkovo zvertatis do nih bezposeredno Bilshist provajderiv proponuyut do hostingovih tarifiv cilij nabir sertifikativ na vibir Takij variant navit krashij tomu sho provajder maye dostatno dosvidu shob znajti nadijnij centr sertifikaciyi ta zaproponuvati najkrashe rishennya Div takozhSSL u sestrinskih VikiproyektahTLS JSSE OpenSSL SSHPrimitkiHoncharenko Diana 17 kvitnya 2024 Yaki buvayut SSL sertifikati Perevagi j nedoliki kozhnogo tipu Blog Hostpro Blog Hostpro ukr Procitovano 17 kvitnya 2024 Joris Claessens Valentin Dem Danny De Cock Bart Preneel Joos Vandewalle 2002 Computers amp Security 21 3 253 265 doi 10 1016 S0167 4048 02 00312 7 Arhiv originalu za 17 zhovtnya 2015 Procitovano 12 lipnya 2017 RFC 6101 Lawrence Eric 22 zhovtnya 2005 IEBlog Upcoming HTTPS Improvements in Internet Explorer 7 Beta 2 MSDN Blogs Arhiv originalu za 17 kvitnya 2013 Procitovano 25 listopada 2007 Mozilla Corporation Arhiv originalu za 14 lyutogo 2017 Procitovano 25 listopada 2007 Opera 9 5 for Windows Changelog 26 chervnya 2009 u Wayback Machine at Disabled SSL v2 and weak ciphers 11 veresnya 2008 Arhiv originalu za 14 lyutogo 2017 Procitovano 12 lipnya 2017 Opera 10 for Windows changelog 26 bereznya 2013 u Wayback Machine at Removed support for SSL v2 and weak ciphers Pettersen Yngve 30 kvitnya 2007 Opera Software Arhiv originalu za 12 zhovtnya 2007 Procitovano 25 listopada 2007 Prosto o frilanse shtatnoj rabote i ne tolko blog Freelancehunt ros 30 kvitnya 2021 Arhiv originalu za 21 lipnya 2021 Procitovano 21 lipnya 2021 cityhost ua ukr Arhiv originalu za 8 grudnya 2021 Procitovano 8 grudnya 2021 PosilannyaMozilla org 11 listopada 2011 u Wayback Machine vvedennya v SSL protokol Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno berezen 2017 Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno berezen 2017 Ce nezavershena stattya pro Internet Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Ce nezavershena stattya z kriptografiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi