4. 4
Криптография с открытым ключом
1. Алиса генерирует закрытый ключ (privkey)
2. Алиса генерирует открытый ключ (pubkey)
3. Алиса отправляет открытый ключ Бобу по открытом каналу
1. Боб шифрует сообщение на открытом ключе Алисы и отправляет его Алисе
по открытому каналу
2. Алиса расшифровывает сообщение, используя свой закрытый ключ
7. 7
Public Key Infrastructure
Certificate Authority (УЦ) - сущность, которой все доверяют
УЦ выпускает сертификаты субъектам
Возможность делегирования функций (Subordinate CA)
Иерархическая система доверия
8. 8
Цифровой сертификат
Открытый ключ субъекта, подписанный закрытым ключом УЦ
Сертификаты могут использоваться для подписи, шифрования,
аутентификации клиента или сервера
9.
10. 10
Инфраструктура PKI
Корневой УЦ (Root CA)
Подчиненные УЦ (Intermediate CA)
Защищенное хранилище для закрытого ключа (HSM)
Набор политик и регламентов
Каталог выданных сертификатов
Каталог отозванных сертификатов
11. 11
Mesh PKI
1. Алиса генерирует закрытый ключ
2. Алиса генерирует открытый ключ
3. Алиса передает открытый ключ Бобу
4. Боб верит Алисе и шифрует сообщения
на полученном открытом ключе
1. Алиса генерирует закрытый ключ
2. Алиса генерирует CSR
3. Алиса отправляет CSR в УЦ
4. УЦ подписывает CSR своим
закрытым ключом, выпуская
сертификат (CER)
5. Боб получает CER Алисы из
публичного каталога
6. Боб проверяет валидность CER и
шифрует сообщения на нем
13. 13
Стандарт X.509
Разработан в 1988 году в RSA
Стандартная структура сертификата
Стандартные процедуры запроса и отзыва
Стандарты на проверку валидности
14. 14
Структура X.509-сертификата
Serial number
Issuer
Validity (NotBefore, NotAfter)
Subject
Subject Public Key Info (Algorithm, Key)
Extensions
Certificate Signature Algorithm
Certificate Signature
PEM (base64)
DER (binary)
PKCS#12 (контейнер)
16. 16
CRL
Список, публикуемый УЦ на регулярной основе
Имеет время жизни
Содержит причину отзыва сертификата
Сертификат может быть “revoked” или “hold”
OCSP
Проверка статуса сертификата в реальном времени
Доступность OCSP-сервера?
Нарушение приватности?
17. 17
Модель доверия
Webtrust Program for CA
http://www.webtrust.org/homepage-documents/item27839.aspx
Baseline requirements and guidelines
https://www.cabforum.org/documents.html
18. 18
PKI: практическое применение
Говорим “шифрование” — подразумеваем TLS/SSL
Говорим TLS/SSL — подразумеваем HTTPS (почти всегда)
Говорим “сертификат” — подразумеваем сертификат веб-сервера
Да, мы помним, что еще есть S/MIME
19. 19
Проблемы X.509 PKI
Невозможно ограничить Subordinate CA в выдаче сертификатов
Что делать при недоступности CRL и/или OCSP?
Что делать при компрометации сертификата субъекта (сервера)?
Что делать при компрометации CA?
20. 20
CRL и OCSP в современных браузерах
Chromium: Google CRLSets
Firefox: OCSP
Opera (Presto): CRL + OCSP
IE: CRL + OCSP
22. 22
Что делать при компрометации сертификата
сервера?
(Perfect) Forward Secrecy
Безопасно, но медленно ;(
23. 23
Что делать при компрометации CA?
В мире около 1500 УЦ от 650 организаций, которым доверяют
современные браузеры
Весна 2011: взлом Comodo
Лето 2011: взлом DigiNotar
Осень 2011: DigiCert Malaysia выпускает 22 сертификата со
слабыми RSA-ключами
Зима 2012: Trustwave выписывает сертификат для MITM
28. 28
Расширения PKI
Certificate Pinning
Public Key Pinning Extension for HTTP
http://tools.ietf.org/html/draft-ietf-websec-key-pinning-20
29. 29
Расширения PKI
Convergence (http://convergence.io)
Распределенная система доверия (trust agility)
Проверка сертификата третьими сторонами (нотариусами)
30. 30
Расширения PKI
TACK (http://tack.io)
Расширение TLS
Передача ключа в рамках TLS handshake
- Клиент передает TLS extension “tack”в ClientHello
- Сервер отвечает TackExtension с ключом сервера
Сертификат сервера подписывается TACK-ключом
TACK-ключи имеют время жизни и механизм передачи
Не защищает от MITM при первоначальном подключении
31. 31
Расширения PKI
Certificate Transparency (http://certificate-transparency.org)
Проблема: поддельные сертификаты обнаруживают не сразу
Идея: невозможно выписать сертификат на домен незаметно
для владельца домена
Certificate logs
Certificate monitors
Certificate auditors