
Архітектура pki
Основою для досягнення безпеки в Internet було створення протоколів безпеки, таких як TLS, SSH і IPSec. Всі ці протоколи використовують криптографію з відкритим ключем для надання таких сервісів як конфіденційність, цілісність даних, автентифікація вихідних даних і неможливість відмови. Метою PKI є надання довіреного й дійсного ключа й керування сертифікатом відкритого ключа, що необхідний для автентифікації, неможливості відмови й конфіденційності.
Користувачі систем, заснованих на відкритому ключі, повинні бути впевнені, що коли вони використовують відкритий ключ, суб'єкти, з яким вони зв'язуються, є власником відповідного закритого ключа. Ця впевненість досягається завдяки використанню PKCs, які є структурами даних, що зв'язують значення відкритого ключа із суб'єктами. Зв'язування забезпечується при наявності довіреного СА, що перевіряє ідентифікацію суб'єкта й підписує кожний PKC.
PKC має обмежений час життя, що вказується в підписаному вмісті. Так як підпис і своєчасність можуть бути незалежно перевірені клієнтом, що використовує сертифікат, PKCs можуть поширюватися по небезпечних комунікаціях і серверних системах і кешуватися в небезпечному сховищі в системах, що використовує сертифікати.
PKCs застосовуються в процесі перевірки дійсності підписаних даних. Є певна специфіка, що ставиться до використовуваного алгоритму, але загальний процес виглядає в такий спосіб (помітимо, що не існує особливостей, що ставляться до порядку, у якому повинні виконуватися перераховані перевірки; розроблювачі вільні у виборі найбільш ефективного способу для своїх систем).
Одержувач підписаних даних повинен переконатися, що надана ідентифікація користувача відповідає ідентифікації, що втримується в PKC.
Одержувач перевіряє, чи не відмінний в отриманому ланцюжку сертифікатів який-небудь PKC (наприклад, за допомогою одержання відповідного поточного CRL або on-line запиту статусу сертифіката) і чи всі PKCs перебували в рамках своїх періодів дійсності в момент підписування даних.
Одержувач повинен переконатися, що дані не містять ніяких значень, для яких сторона, що підписує, не має авторизації.
Одержувач перевіряє, чи не змінювалися дані після підписування, використовуючи відкритий ключ в PKC.
Якщо всі ці перевірки проходять, одержувач може вважати, що дані були підписані зазначеною стороною, що підписує. Процес для ключів, використовуваних для шифрування, аналогічний.
Зауваження: звичайно, можливо, що дані були підписані кимось ще, якщо, наприклад, закритий ключ сторони, що підписує, скомпрометований. Безпека залежить від всіх частин системи, що використовує сертифікати; вона включає: фізичну безпеку розміщення комп'ютерів; безпека персоналу (наприклад, можливість довіряти людям, які реально розробляють, інсталюють, виконують і супроводжують систему); безпека, забезпечувану СА. Порушення в кожній із цих областей може послужити причиною порушення безпеки всієї системи. PKIX обмежена в предметній області й адресована тільки результатами, що ставляться до функціонування підсистеми PKI.
PKI визначається як:
Безліч апаратури, ПЗ, людей, політик і процедур, необхідних для створення, керування, зберігання, розподіли й скасування PKCs, ґрунтуючись на криптографії з відкритим ключем.
PKI складається з наступних типів компонентів:
Саs, які випускають і скасовують PKCs.
RAs, які ручаються за зв'язок між відкритими ключами й ідентифікаціями тримачів сертифікатів, а також іншими атрибутами.
Тримачі PKCs, для яких випущений сертифікат, можуть підписувати й шифрувати документи, використовуючи закриті ключі.
Клієнти, які перевіряють цифрові підписи й відповідні верифікаційні шляхи за допомогою відомого відкритого ключа довіреного СА й дешифрують документи, використовуючи відкриті ключі із сертифікатів тримачів PKCs.
Репозиторії, які зберігають і роблять доступними PKCs і CRLs.
На рисунку 10.1 показаний спрощений погляд на архітектурну модель PKI.
Рисунок 10.1 – Учасники PKI