Цифрови́й сертифіка́т — цифровий документ, який є одним із засобів підтвердження відкритого (публічного) ключа приналежності його власникові, суб'єкту матеріального світу. Найчастіше електронний сертифікат додається до підписаного ЕЦП електронного документа та використовується для перевірки, що відкритий ключ належить саме тому власнику, чиї дані зазначено в ньому.

Існує дві моделі організації інфраструктури сертифікатів: централізована або інфраструктура відкритих ключів (англ. PKI) — в цій моделі всі користувачі довіряють тільки тим сертифікатам, які підписані кореневими центрами сертифікації; децентралізована — кожен користувач самостійно обирає, яким сертифікатам довіряти та в якій ступень.

Найчастіше сертифіката являє собою файл стандарту X.509 в DER або PEM форматі (*.cer), який містить відкритий ключ та ідентифікаційні дані власника ключа та підписаний цифровим підписом центра сертифікації.

Сертифікат містить: серійний номер сертифіката; назва алгоритму цифрового підпису; назва центра сертифікації, що підтвердив підпис власника; термін дії сертифікату з ... по ... ; ім'я користувача, якому належить сертифікат; відкритий (публічний) ключ власника сертифіката (ключів може бути декілька); об'єктні ідентифікатори алгоритмів, асоційованих з відкритими ключами власника сертифіката; електронний цифровий підпис центру сертифікації вищенаведених даних. Всі дані, які й власно утворюють сертифікат, отримують цифровій відбиток, якій відбивається в сертифікаті; назву видавця (issuer).

Формат сертифікатів Цифровий сертифікат — набір відомостей ідентифікації, пов'язаних з відкритим ключем і підписаних довіреною третьою особою, щоб довести їхню дійсність і взаємозв'язок. Сертифікат може бути представлений безліччю різних форматів. PGP підтримує два формати сертифікатів:

Сертифікати OpenPGP (частіше називані просто ключами PGP) Сертифікати X.509

Формат сертифікату PGP Сертифікат PGP містить:

Відкритий ключ власника сертифіката — відкрита частина ключової пари і її алгоритм: RSA v4, RSA Legacy v3, DH або DSA. Відомості про власника сертифіката — інформація, що ідентифікує особу користувача: його ім'я, адреса електронної пошти, номер ICQ, фотографія і т. д. ЕЦП власника сертифіката — підпис ключової пари, зв'язаної із сертифікатом (т. зв. автопідпис). Період дії сертифіката — дата початку дії сертифіката і дата закінчення його дії; указує на те, коли сертифікат стане недійсним (аналогічно терміну дії посвідчення водія). Якщо ключова пара містить додаткові підключі шифрування, то тут буде зазначений період дії кожного з них. Найкращий алгоритм шифрування — указує на те, зашифровану яким алгоритмом інформацію воліє одержувати власник сертифіката. Підтримуються такі: CAST, AES, IDEA, Triple-DES і Twofish.

Ви можете представити сертифікат PGP у вигляді відкритого ключа з однієї або декількома прив'язаними до нього «бирками». На цих «бирках» зазначена інформація, що ідентифікує власника ключа, а також підпис цього ключа, що підтверджує, що ключ і ідентифікаційні відомості взаємозалежні. (Цей вид підпису називається автопідписом (self-signature); її містить кожен PGP-сертифікат.)

Унікальний аспект формату сертифікатів PGP у тім, що кожен сертифікат може містити безліч підписів. Будь-яка людина може підписати ідентифікаційно-ключову пару, щоб завірити, покладаючись на своє особисте переконання, що відкритий ключ належить саме зазначеному в ID користувачеві. Якщо пошукати на суспільних серверах-депозитаріях, то можете знайти деякі ключі, як, наприклад, що належить авторові PGP Філу Ціммерману, що містять величезну кількість підписів. Деякі PGP-сертифікати складаються з відкритого ключа з декількома «бирками», кожна з яких містить власні відомості, що ідентифікують власника ключа (наприклад, ім'я власника і його робочий e-mail, псевдо власника і його домашній e-mail, фотографія власника — усі на одному сертифікаті). Список підписів на кожній з «бирок» може бути різним; підписом вказують на достовірність визначеної «бирки» і її приналежність відкритому ключеві, а не на те, що всі «бирки» достовірні. (Врахуйте, що «достовірність» залежить від встановленого неї: підпису — це думки, і різні люди приділяють різний ступінь уваги перевірці дійсності перед підписанням ключа.)

Формат сертифіката Х.509 X.509 — інший дуже розповсюджений формат. Усі сертифікати Х.509 відповідають міжнародному стандартові ITU-T X.509; у такий спосіб (теоретично), сертифікат Х.509, створений для одного додатка, може бути використаний у будь-якому іншому, що підтримує цей стандарт. На практиці, однак, склалася ситуація, що різні компанії створюють власні розширення для Х.509, не усі з яких між собою сумісні.

Усякий сертифікат вимагає, щоб хтось завірив взаємозв'язок відкритого ключа й ідентифікуючого власника ключа інформації. Маючи справу з PGP-сертифікатом, кожний може виступати як завіритель зведень, що утримуються в ньому, (за винятком випадків, коли ця можливість навмисно обмежена політикою безпеки). Але у випадку сертифікатів Х.509 завірителем може бути тільки Центр сертифікації або хтось, спеціально вповноважений їм на цю роль. (Майте на увазі, що PGP-сертифікати також повною мірою підтримують ієрархічне структурування системи довіри, що використовує ЦС для посвідчення сертифікатів.)

Сертифікат Х.509 — набір стандартних полів, що містять зведення про користувача або пристрій, і їх відповідний відкритий ключ. Стандарт Х.509 визначає, які зведення входять у сертифікат і як вони кодуються (формат даних).

Сертифікат Х.509 містить такі зведення :

Версія Х.509 — указує, на основі якої версії стандарту Х.509 побудований даний сертифікат, що визначає, яка інформація може в ньому утримуватися. Відкритий ключ власника сертифіката — відкритий ключ поряд з ідентифікатором використовуваного алгоритму (що вказує криптосистему, до якої належить даний ключ) і інша інформація про параметри ключа. Серійний номер сертифіката — організація-видавець сертифіката зобов'язаний привласнити йому унікальний серійним (порядковий) номер для його впізнання серед інших сертифікатів, виданих даною організацією. Ця інформація застосовується в ряді випадків; наприклад, при анулюванні сертифіката, його серійний номер міститься до реєстру анульованих сертифікатів (Certificate Revocation List, CRL). Унікальний встановлювач власника ключа (або DN, distinguished name — унікальне ім'я) — ім'я повинне бути унікальному і єдиним у всьому Інтернету. DN складається з декількох підпунктів і може виглядати приблизно так: CN=Bob Davis, [email protected], OU=PGP Engineering, O=PGP Corporation, C=US

(Що позначає Зрозуміле ім'я суб'єкта, електронну пошту, Підрозділ організації, Організацію і Країну відповідно.)

Період дії сертифіката — дата початку дії сертифіката і дата закінчення його дії; указує на те, коли сертифікат стане недійсний. Унікальне ім'я видавця — унікальне ім'я організації, що підписав сертифікат. Звичайно, це найменування Центра сертифікації. Використання сертифіката має на увазі довіра організації, його що підписала. (У випадках з кореневими сертифікатами організація, що видала — цей же ЦС — підписує його сама.) ЕЦП видавця — електронний підпис, створений закритим ключем організації, що видав сертифікат. Ідентифікатор алгоритму підпису — вказує алгоритм, використаний ЦС для підписання сертифіката.

Існує ряд фундаментальних розходжень між форматами сертифікатів Х.509 і PGP:

ви можете особисто створити власний сертифікат PGP; ви повинні запросити й одержати сертифікат Х.509 від Центра сертифікації; сертифікати Х.509 містять тільки одне ім'я власника сертифіката; сертифікати Х.509 містять тільки одну ЕЦП, що підтверджує дійсність сертифіката.

Щоб одержати сертифікат Х.509, ви повинні попросити ЦС видати його вам. Ви надаєте системі свій відкритий ключ, чим доводите, що володієте відповідно закритим, а також деякі ідентифікуючі ваші зведення. Потім ви електронно підписуєте ці зведення і відправляєте весь пакет — запит сертифіката — у Центр сертифікації. ЦС виконує визначений процес перевірки дійсності наданої інформації і, якщо усе сходиться, створює сертифікат, підписує і повертає вам.

Ви можете представити сертифікат Х.509, як звичайний паперовий сертифікат або атестат із приклеєним до нього відкритим ключем. На ньому зазначене ваше ім'я, а також деякі зведення про вас, плюс підпис видавця сертифіката.

Імовірно, найбільша користь від сертифікатів Х.509, це їхнє застосування у Веббраузерах.

Анулювання сертифіката Застосування сертифіката припустиме тільки поки він достовірний. Небезпечно покладатися на те, що сертифікат буде захищений і надійний вічно. У більшості організацій і у всіх PKI сертифікат має обмежений термін «життя». Це звужує період, у який система може виявитися під погрозою, якщо сертифікат буде зламаний.

Таким чином, сертифікат створюється з визначеним заданим періодом валідності, що починається з дати створення і закінчується датою витікання (аналогічно терміну придатності харчових продуктів або дії прав водія). Сертифікат може бути використаний протягом усього періоду дії, після закінчення якого перестає бути вірним, оскільки валідність його ідентифікаційно-ключової пари більш не може бути гарантована. (Проте, сертифікат як і раніше може застосовуватися для підтвердження інформації, зашифрованої або підписаної ним раніше протягом періоду життя; однак він стає незастосовний для майбутніх криптографічних нестатків.)

Але іноді з'являється потреба зробити сертифікат недійсним до закінчення терміну його життя, наприклад, у випадку звільнення власника сертифіката з дійсного місця роботи або коли у власника виникає підозра, що закритий ключ даного сертифіката був скомпрометований. Такий процес називається відкликанням або анулюванням. Анульований сертифікат набагато підозріліший, ніж минулий. Минулий сертифікат більш непридатний до використання, однак, не несе такої погрози скомпрометованості, як анульований.

Будь-який користувач, що завірив сертифікат (що доручився за взаємозв'язку ключа і зведень сертифіката), у будь-який момент може відкликати з нього свій підпис, використовуючи той же закритий ключ, яким його створював. Відкликаний підпис указує на те, що завіритель рахував, що відкритий ключ і ідентифікаційна інформація більше не зв'язані один з одним, або що відкритий ключ сертифіката (або відповідний закритий) був скомпрометований. Відкликаний підпис має практично таке ж значення, як і анульований сертифікат.

У випадку сертифікатів Х.509 відкликаний підпис фактично представляє те саме, що й анульований сертифікат, оскільки взагалі лише один підпис був поручительством чинності сертифіката — підпис Центра сертифікації. PGP надає додаткову можливість анулювання всього сертифіката (а не тільки підписів на ньому), якщо ви раптом порахуєте, що він був якимось чином скомпрометований.

Тільки власник сертифіката (власник відповідного закритого ключа) або хтось, спеціально уповноважений власником (т. зв. «довірений скасовувач», designated revoker), може анулювати PGP-сертифікат. (Доручення третій особі функції анулювання досить корисно, тому що втрата пароля до закритого ключа, що найчастіше і є приводом до анулювання, робить виконання цієї процедури самим власником сертифіката неможливої.) Сертифікат Х.509 може бути відкликаний тільки його видавцем — ЦС — за запитом власника.

Повідомлення про анулювання сертифіката Після анулювання сертифіката украй важливо сповістити всіх потенційних кореспондентів, що він більше не дійсний. Найпростіший спосіб оповіщення в середовищі PGP — розміщення анульованого сертифіката на сервері-депозитарії; таким чином, усі, хто може вирішити зв'язатися з вами, будуть попереджені не використовувати цей відкритий ключ.