X.509
Протоколи безпеки Інтернет |
---|
Керування ключами |
Рівень застосувань |
Система доменних імен |
Рівень Інтернет |
X.509 — в криптографії стандарт ITU-T для інфраструктури відкритого (публічного) ключа (англ. public key infrastructure (PKI)) та інфраструктури управління привілеями (англ. Privilege Management Infrastructure (PMI)).
X.509 стандартизує формати представлення та кодування:
- сертифікатів відкритого ключа (англ. public key certificates);
- списку відкликаних сертифікатів (англ. certificate revocation lists);
- атрибутів сертифікатів (англ. attribute certificates);
- алгоритм перевірки методу сертифікації (англ. certification path validation algorithm).
X.509 був виданий 3 липня 1988 року і був зв'язаний зі стандартом X.500.
Для випуску сертифікатів існує чітко визначена ієрархічна система відповідальних органів (англ. certificate authorities — CAs). У цьому його відмінність від моделей, основаних на принципі мережі довіри (англ. web of trust), подібним до PGP, де будь-хто (не тільки спеціальні органи — CAs) можуть випускати, підписувати і перевіряти відповідність.
Версія 3 X.509 має гнучкість для підтримки таких топологій як мости (bridges) та сітки (meshes). Може бути використаний у p2p мережах, але таким чином використовується рідко.
Стандартом X.509 визначані такі види сертифікатів:
- сертифікат відкритого ключа;
- сертифікат атрибутів.
Сертифікат відкритого ключа підтверджує, що відкритий ключ належить відповідній особі. Містить ім'я особи, відкритий ключ, назву засвідчувального центру, політику використання тощо. Сертифікат підписується електронним підписом засвідчувального центру.
Сертифікат відкритого ключа використовується для ідентифікації особи та визначення операцій, які він має право здійснювати з використанням закритого ключа, що відповідає відкритому ключу.
Формат сертифіката відкритого ключа X.509 v3 наведено в RFC 5280[1].
Сертифікат атрибутів — підтверджує атрибути та їх значення, що характеризують особу, наприклад, приналежність до групи, роль, повноваження тощо. За структурою аналогічний сертифікату відкритого ключа, але не має відкритого ключа. Сертифікат атрибутів застосовується для авторизації осіб.
Формат сертифіката атрибутів наведено в RFC 5755[2].
Сертифікат складається з наступних атрибутів та їхніх значень:
- Сертифікат (Certificate)
- версія (Version)
- серійний номер (Serial Number)
- ідентифікатор алгоритму (Algorithm ID)
- видавець (Issuer)
- період дії (Validity) включає у себе:
- не перед (Not Before)
- не після (Not After)
- суб’єкт сертифікату (Subject)
- інформація про публічний ключ суб’єкту (Subject Public Key Info):
- алгоритм (Public Key Algorithm)
- публічний ключ (Subject Public Key)
- унікальний ідентифікатор видавця (Issuer Unique Identifier ) — необов'язково
- унікальний ідентифікатор суб’єкту (Subject Unique Identifier) — необов'язково
- розширення (Extensions) - необов'язково
- додаткові дані
- Алгоритм підпису сертифікату(Certificate Signature Algorithm).
- Підпис сертифікату(Certificate Signature).
VeriSign запропонувала наступну концепцію класифікації цифрових сертифікатів:
- Class 1 - індивідуальні, для ідентифікації електронної пошти;
- Class 2 - для організацій;
- Class 3 - для серверів та програмного забезпечення;
- Class 4 - для онлайн-бізнесу та транзакцій між компаніями;
- Class 5 - для приватних компаній або урядової безпеки.
- .CER — CER закодований сертифікат або набір сертифікатів;
- .DER — DER закодований сертифікат;
- .PEM — (Privacy Enhanced Mail) Base64 закодований DER сертифікат, поміщений між «-----BEGIN CERTIFICATE-----» та «-----END CERTIFICATE-----»;
- .P7B — Див. .p7c
- .P7C — PKCS#7 Підписана структура без даних, просто сертифікат(-и) чи список сертифікатів які вже не дійсні;
- .PFX — Див. .p12
- .P12 — PKCS#12 можуть містити публічні та приватні ключі захищені паролем.
Найбільш поширений файл з сертифікатом відкритого ключа (*.cer) містить інформацію в бінарному вигляді. Для того, щоб її переглянути можна скористатись пакетом OpenSSL:
openssl x509 -inform der -in my_digest.cer -noout -text
Ця команда покаже вміст сертифікату (нижче приклад):
Data: Version: 3 (0x2) Serial Number: 646702442348892787 (0x8f98c71e7955273) Signature Algorithm: sha256WithRSAEncryption Issuer: C = UA, O = MyDigest Inc., OU = My Digest Company, CN = Developer Relations Cert Validity Not Before: Oct 12 12:40:30 2014 GMT Not After : Oct 12 12:40:30 2016 GMT Subject: UID = XMM9NE5AEO, CN = Developer: Petrovsk Oleksa, OU = Worker, O = Petrovsk Oleksa, C = UA Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:d3:de:c0:bf:f6:8b:51:1c:b7:66:a1:4f:0c:94: .... .... Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE X509v3 Authority Key Identifier: keyid:88:27:17:09:A9:B6:18:60:8B:EC:EB:BA:F6:47:59:C5:52:54:A3:B7 Authority Information Access: OCSP - URI:http://ocsp.mydiget.com/findosp[недоступне посилання з червня 2019] X509v3 Certificate Policies: Policy: 1.2.340.122635.100.1.1 User Notice: Explicit Text: Reliance on this certificate by ... CPS: http://www.mydiget.com/certificateauthority/[недоступне посилання з червня 2019] X509v3 Extended Key Usage: critical Code Signing X509v3 Subject Key Identifier: 23:D2:13:8B:27:81:88:99:00:88:0D:41:CB:37:53:72:4A:F3:02:6D X509v3 Key Usage: critical Digital Signature 1.2.840.113635.100.6.1.2: critical .. Signature Algorithm: sha256WithRSAEncryption ba:23:aa:a9:0b:8c:c6:1b:d6:dd:9a:83:b2:29:e8:f8:4f:2f: .... ....
- ITU-X Recommendation X.509 : Information technology — Open Systems Interconnection — The Directory: Public-key and attribute certificate frameworks [Архівовано 13 квітня 2018 у Wayback Machine.]
- Peter Gutmann's X.509 Style Guide [Архівовано 25 січня 2013 у WebCite]
- PKIX website
- CAcert.org — Free digital certificates [Архівовано 24 січня 2013 у Wayback Machine.]
- Enterprise Trust Integration and Web Services Security standards and demos [Архівовано 25 серпня 2015 у Wayback Machine.]
- FAQ from RSA Labs
Це незавершена стаття з криптографії. Ви можете допомогти проєкту, виправивши або дописавши її. |
Це незавершена стаття про Інтернет. Ви можете допомогти проєкту, виправивши або дописавши її. |