CRL - список відкликаних сертифікатів, як відрізнити недійсні і недовірені сертифікати від допустимо довірених?
Цифрові сертифікати X.509 є невід'ємною частиною інфраструктури відкритих ключів (PKI) і веб-безпеки в цілому. Але що відбувається, коли щось йде не так з одним з цих сертифікатів або його ключами? Ми вже бачили масові анулювання сертифікатів. Наприклад, Apple, Google і GoDaddy і кілька інших CA відкликали мільйони сертифікатів в минулому році через сертифікати, що мають 63-бітові серійні номери замість 64-бітних. А на початку цього року ми побачили, що Let's Encrypt зіткнувся з масовим відкликанням сертифікатів через помилки в їх коді.
Але що таке відкликання сертифіката і як воно працює? Що таке список відкликаних сертифікатів? І, крім того, яку роль відіграє CRL в безпеці сайту в цілому? Національний інститут стандартів і технологій (NIST) визначає CRL як «Список відкликаних сертифікатів відкритих ключів, створених і мають цифровий підпис центру сертифікації». RFC 5280 Інженерна робоча група по Інтернету (IETF) описує CRL як структуру даних з відміткою часу і підписом, яку періодично видає орган по сертифікації (CA) або CRL для передачі статусу відкликання порушених цифрових сертифікатів. Залежно від постачальника списки відкликаних сертифікатів пропонуються щогодини, щодня або щотижня. Список відкликаних сертифікатів (CRL) можна визначити як чорний список цифрових сертифікатів X.509, які ЦС відкликає до призначених їм дат закінчення терміну дії. Важливо відзначити, що в цей список не включені прострочені сертифікати. Крім того, в деяких випадках сторонні організації видають і підтримують CRL від імені CA. Це означає, що видавець CRL не завжди збігається з центром сертифікації, який видав відкликаний сертифікат.
Відкликання сертифікатів - це процес, який відрізняє недійсні і недовірені сертифікати від допустимо довірених. По суті, це спосіб для CA (емітента CRL) повідомити, що один або кілька їх цифрових сертифікатів більше не заслуговують на довіру з тієї чи іншої причини. Коли вони анулюють сертифікат (процес, який іноді називають відкликанням сертифіката PKI), вони, по суті, роблять сертифікат недійсним до закінчення терміну його дії. Таким чином, якщо ЦС необхідно відкликати сертифікат для вашого сайту, він змушує Google Chrome відображати попередження для відвідувачів вашого сайту:
CA може відкликати сертифікат вашого сайту по одній з наступних причин:
- Хтось скомпрометував або підозрюється в компрометації закритого ключа вашого сертифіката. (Це найпоширеніша причина.)
- CA неправильно видав сертифікат і випускає новий, щоб замінити його.
- Сам CA піддався ризику компромітаціі.
- Деталі вашої організації, зазначені в сертифікаті, наприклад, назва вашої організації, змінилися, і ЦС повинен перевидати сертифікат, щоб відобразити цю зміну.
- Сертифікат є незаконним або був обманним шляхом підписаний з вкраденим ключем.
Коли ЦС випускає цифровий сертифікат, він очікує, що сертифікат буде використовуватися протягом всього терміну його служби. Але так не завжди буває. Іноді сертифікати скасовують раніше, і тоді вони потрапляють в CRL. Це відрізняється від процесу для сертифікатів з вичерпаним терміном дії, які ЦС анулюють, а браузери і операційні системи автоматично відхиляють. Список відкликаних сертифікатів - це список ненадійних цифрових сертифікатів X.509. Хоча сертифікати SSL / TLS або так звані сертифікати безпеки веб-сайтів є найбільш поширеними, списки відкликаних сертифікатів можуть також включати сертифікати підпису кода и сертифікати підпису електронної пошти (або так звані сертифікати S / MIME). По суті, це сертифікати, які довірені центри сертифікації анулюють до закінчення їх офіційних дат.
Перевірка браузером статусу відкликання сертифікатів на основі списку відкликаних сертифікатів
Щоб перевірити стан сертифіката за допомогою CRL, клієнт звертається до CA або видавця CRL і завантажує свій список відкликаних сертифікатів. Після цього він повинен виконати пошук по всьому списку цього окремого сертифіката. Це не тільки громіздко, але і повільно. Щоб підвищити продуктивність, клієнт може завантажувати оновлені CRL кожні 24 години або близько того.
Списки CRL ростуть, і центри сертифікації випускають нові списки. Оскільки методи перевірки на основі CRL вимагають перевірки стану відкликання сертифікатів для кожного з'єднання, існує ймовірність того, що видавець CRL або CA можуть випустити новий список, і ви пропустіть нові відкликані сертифікати. Політика м'якої відмови перевірки списку відкликання сертифікатів деякими браузерами, коли клієнт перевіряє список CRL або відправляє повідомлення респонденту OCSP і отримує «невідому» відповідь, деякі браузери можуть припустити, що сертифікат дійсний, і дозволити з'єднання незалежно від потенційної небезпеки.
CRL корисні для того, щоб допомогти вашому клієнтові визначити, чи безпечно підключатися до веб-сервера. Однак вони не ідеальні. Списки відкликаних сертифікатів незграбні, повільні і обтяжливі для клієнтів, які постійно завантажуються і упорядковуються. Незалежно від того, завантажує ваш клієнт список CRL для перевірки кожного окремого сертифіката або він використовує відповідач OCSP для перевірки статусу сертифіката в реальному часі на сервері відкликання, все ще існує ймовірність того, що щось може піти не так, і ви в кінцевому підсумку будете покладатися на старі дані.