Що таке PKI та як працює довіра до сертифікатів
Автор: Редакція Domeny.ForSale Опубліковано
Коротко: PKI — це інфраструктура відкритих ключів: система сертифікатів, установ, процедур та інструментів, яка дає змогу пов’язати криптографічний ключ із доменом, особою або пристроєм. Завдяки цьому браузер може перевірити, чи підключається він до потрібного сервера, а корпоративна мережа — розпізнати комп’ютер, якому дозволено доступ. PKI лежить в основі багатьох застосувань HTTPS, автентифікації та цифрових підписів, але сама собою не гарантує доброчесності власника сайту чи безпеки всієї системи.
Як PKI пов’язує ключ з ідентичністю
Скорочення PKI походить від англійського Public Key Infrastructure. В основі цієї інфраструктури лежить асиметрична криптографія — рішення, що використовують пару математично пов’язаних ключів: відкритий і приватний. Відкритий ключ можна поширювати, а приватний має залишатися під контролем власника.
Для цифрового підпису приватний ключ використовують, щоб створити підпис, а відкритий — щоб перевірити його правильність. Успішна перевірка підтверджує, що підпис створено за допомогою відповідного приватного ключа і що підписані дані не було змінено. Однак сама пара ключів не вказує, кому вона належить.
Цю проблему розв’язує цифровий сертифікат — електронне підтвердження, що пов’язує відкритий ключ із певним суб’єктом або ідентифікатором, наприклад доменним ім’ям. Він містить m.in. відкритий ключ, дані суб’єкта, відомості про видавця, строк дії та дозволені способи використання. У поширеному форматі X.509 видавець засвідчує сертифікат цифровим підписом.
Що саме засвідчує сертифікат, залежить від його типу. Базовий сертифікат сервера HTTPS підтверджує контроль над зазначеним доменом відповідно до процедури видавця, а не надійність магазину чи якість його пропозиції.
З чого складається інфраструктура PKI
PKI — це не окремий сертифікат, а ціла система видавання сертифікатів і керування ними. Її основні складові:
- Центр сертифікації (CA) — видає та підписує сертифікати, підтверджуючи певний зв’язок між ключем і суб’єктом.
- Центр реєстрації (RA) — перевіряє заявки та право на отримання сертифіката. Цю функцію може виконувати сам CA.
- Сховище довіри — набір довірених сертифікатів, який підтримує, наприклад, операційна система, браузер або адміністратор компанії.
- Механізми перевірки відкликання — дають змогу з’ясувати, чи було сертифікат відкликано до завершення строку дії. До них належать списки CRL і протокол OCSP.
- Правила та інструменти керування — визначають, хто отримує сертифікат, як захищають ключі та як відбувається поновлення чи відкликання сертифіката.
Довіра зазвичай вибудовується в ланцюжок: сертифікат сервера підписаний проміжним CA, а сертифікат цього CA веде до довіреного кореневого центру, тобто root CA. Кореневий сертифікат зазвичай самопідписаний, але довіреним його робить не цей підпис. Вирішальним є те, що його заздалегідь додали до сховища довіри.
Що відбувається під час з’єднання HTTPS
HTTPS — це HTTP, захищений протоколом TLS, який убезпечує обмін даними між браузером і сервером. У цьому процесі PKI допомагає підтвердити ідентичність сервера.
Припустімо, ви відкриваєте сайт mahazyn.example. Спрощено, браузер виконує такі дії:
- Отримує сертифікат сервера та проміжні сертифікати, потрібні для побудови ланцюжка довіри.
- Перевіряє, чи поширюється сертифікат на ім’я
mahazyn.example, чи не минув строк його дії та чи можна використовувати його для автентифікації сервера. - Перевіряє підписи в ланцюжку та з’ясовує, чи веде він до довіреного центру. Обробка відомостей про відкликання залежить від програмного забезпечення та його політик.
- Під час узгодження параметрів TLS перевіряє доказ того, що сервер володіє відповідним приватним ключем, і узгоджує ключі сеансу.
Сертифікат самостійно не шифрує весь трафік. У сучасному TLS дані захищає ефективна симетрична криптографія, що використовує узгоджені ключі сеансу. Сертифікат і приватний ключ насамперед слугують для автентифікації сервера.
Правильно налаштований HTTPS захищає передавання даних, але не підтверджує добрих намірів одержувача. Шахрайський магазин також може мати чинний сертифікат для свого домену.
Публічна чи приватна PKI — що вибрати
Публічна PKI спирається на центри, яким зазвичай довіряють браузери та системи. Це належний вибір для загальнодоступного сайту: відвідувач не повинен вручну встановлювати сертифікат вашого центру. Вибираючи послугу, перевірте актуальну сумісність із клієнтським програмним забезпеченням, яке використовуєте, правила перевірки та можливості автоматичного поновлення сертифікатів.
Приватна PKI працює в межах організації або контрольованого середовища. Компанія самостійно визначає правила видавання сертифікатів і налаштовує довіру до власного CA на керованих пристроях. Такі сертифікати не стають автоматично довіреними на комп’ютерах клієнтів поза компанією.
Наприклад, публічному сайту компанії потрібен сертифікат, який розпізнають браузери користувачів. Натомість для автентифікації службових ноутбуків у мережі Wi-Fi можна використати приватну PKI: кожен ноутбук отримує власний сертифікат, який можна відкликати в разі втрати пристрою. Приватну PKI також застосовують у VPN та mTLS — тобто TLS з автентифікацією обох сторін з’єднання за допомогою сертифікатів.
Що потрібно підтримувати після видавання сертифіката
Найважливіші обов’язки починаються після запуску системи. Приватні ключі потрібно захищати від копіювання та несанкціонованого використання, а сертифікати — обліковувати, стежити за строками їхньої дії та вчасно поновлювати. Завершення строку дії сертифіката може порушити роботу сайту, інтерфейсу API або доступу до мережі.
Якщо приватний ключ став відомий стороннім, недостатньо повторно завантажити сертифікат. Потрібно згенерувати нову пару ключів, отримати новий сертифікат, відкликати попередній і усунути причину витоку. Ефективність відкликання також залежить від того, чи перевіряють статус сертифіката системи, які його використовують.
Перед упровадженням визначте, хто має довіряти сертифікатам: будь-який користувач інтернету чи лише керовані пристрої. Потім призначте відповідальних за захист ключів, автоматичне поновлення сертифікатів і реагування на заволодіння ключами сторонніми — без цього навіть правильно налаштовану PKI буде складно безпечно підтримувати.
Дивіться також: Що таке MCP?
