32

Антон Карпов - Криптография и PKI

  • Upload
    yandex

  • View
    137

  • Download
    8

Embed Size (px)

Citation preview

Page 1: Антон Карпов - Криптография и PKI
Page 2: Антон Карпов - Криптография и PKI

Инфраструктура открытых ключей (PKI)

Антон Карпов

Page 3: Антон Карпов - Криптография и PKI

3

Криптография

Конфиденциальность (шифрование)

Целостность (подпись)

Аутентификация

Невозможность отказа от авторства

Page 4: Антон Карпов - Криптография и PKI

4

Криптография с открытым ключом

1. Алиса генерирует закрытый ключ (privkey) 2. Алиса генерирует открытый ключ (pubkey) 3. Алиса отправляет открытый ключ Бобу по открытом каналу

1. Боб шифрует сообщение на открытом ключе Алисы и отправляет его Алисе по открытому каналу

2. Алиса расшифровывает сообщение, используя свой закрытый ключ

Page 5: Антон Карпов - Криптография и PKI

5

Криптография с открытым ключом

Page 6: Антон Карпов - Криптография и PKI

Проблемы

Распространение ключей

Как проверить подлинность открытого ключа?

Page 7: Антон Карпов - Криптография и PKI

7

Public Key Infrastructure

Certificate Authority (УЦ) - сущность, которой все доверяют

УЦ выпускает сертификаты субъектам

Возможность делегирования функций (Subordinate CA)

Иерархическая система доверия

Page 8: Антон Карпов - Криптография и PKI

8

Цифровой сертификат

Открытый ключ субъекта, подписанный закрытым ключом УЦ

Сертификаты могут использоваться для подписи, шифрования,

аутентификации клиента или сервера

Page 9: Антон Карпов - Криптография и PKI
Page 10: Антон Карпов - Криптография и PKI

10

Инфраструктура PKI

Корневой УЦ (Root CA)

Подчиненные УЦ (Intermediate CA)

Защищенное хранилище для закрытого ключа (HSM)

Набор политик и регламентов

Каталог выданных сертификатов

Каталог отозванных сертификатов

Page 11: Антон Карпов - Криптография и PKI

11

Mesh PKI

1. Алиса генерирует закрытый ключ 2. Алиса генерирует открытый ключ 3. Алиса передает открытый ключ Бобу 4. Боб верит Алисе и шифрует сообщения

на полученном открытом ключе

1. Алиса генерирует закрытый ключ 2. Алиса генерирует CSR 3. Алиса отправляет CSR в УЦ 4. УЦ подписывает CSR своим

закрытым ключом, выпуская сертификат (CER)

5. Боб получает CER Алисы из публичного каталога

6. Боб проверяет валидность CER и шифрует сообщения на нем

Page 12: Антон Карпов - Криптография и PKI

12

Модель доверия

Page 13: Антон Карпов - Криптография и PKI

13

Стандарт X.509

Разработан в 1988 году в RSA

Стандартная структура сертификата

Стандартные процедуры запроса и отзыва

Стандарты на проверку валидности

Page 14: Антон Карпов - Криптография и PKI

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 (контейнер)

Page 15: Антон Карпов - Криптография и PKI

15

MD5 мертв

SHA-1 медленно помирает

SHA-2 — наше завтра

Certificate Signature Algorithm

Page 16: Антон Карпов - Криптография и PKI

16

CRL

Список, публикуемый УЦ на регулярной основе

Имеет время жизни

Содержит причину отзыва сертификата

Сертификат может быть “revoked” или “hold”

OCSPПроверка статуса сертификата в реальном времени

Доступность OCSP-сервера?

Нарушение приватности?

Page 17: Антон Карпов - Криптография и PKI

17

Модель доверия

Webtrust Program for CAhttp://www.webtrust.org/homepage-documents/item27839.aspx

Baseline requirements and guidelineshttps://www.cabforum.org/documents.html

Page 18: Антон Карпов - Криптография и PKI

18

PKI: практическое применение

Говорим “шифрование” — подразумеваем TLS/SSL

Говорим TLS/SSL — подразумеваем HTTPS (почти всегда)

Говорим “сертификат” — подразумеваем сертификат веб-сервера

Да, мы помним, что еще есть S/MIME

Page 19: Антон Карпов - Криптография и PKI

19

Проблемы X.509 PKI

Невозможно ограничить Subordinate CA в выдаче сертификатов

Что делать при недоступности CRL и/или OCSP?

Что делать при компрометации сертификата субъекта (сервера)?

Что делать при компрометации CA?

Page 20: Антон Карпов - Криптография и PKI

20

CRL и OCSP в современных браузерах

Chromium: Google CRLSets

Firefox: OCSP

Opera (Presto): CRL + OCSP

IE: CRL + OCSP

Page 21: Антон Карпов - Криптография и PKI

21

OCSP Stapling

Page 22: Антон Карпов - Криптография и PKI

22

Что делать при компрометации сертификата сервера?

(Perfect) Forward Secrecy

Безопасно, но медленно ;(

Page 23: Антон Карпов - Криптография и PKI

23

Что делать при компрометации CA?

В мире около 1500 УЦ от 650 организаций, которым доверяют

современные браузеры

Весна 2011: взлом Comodo

Лето 2011: взлом DigiNotar

Осень 2011: DigiCert Malaysia выпускает 22 сертификата со

слабыми RSA-ключами

Зима 2012: Trustwave выписывает сертификат для MITM

Page 24: Антон Карпов - Криптография и PKI

24

Отозвать сертификат скомпрометированного CA?

Page 25: Антон Карпов - Криптография и PKI

25

Отозвать сертификат скомпрометированного CA?

Page 26: Антон Карпов - Криптография и PKI

26

Extended Validation (EV) сертификаты

Page 27: Антон Карпов - Криптография и PKI

27

В современном мире удостоверяющему центру нет доверия

Page 28: Антон Карпов - Криптография и PKI

28

Расширения PKI

Certificate Pinning

Public Key Pinning Extension for HTTP

http://tools.ietf.org/html/draft-ietf-websec-key-pinning-20

Page 29: Антон Карпов - Криптография и PKI

29

Расширения PKI

Convergence (http://convergence.io)

Распределенная система доверия (trust agility)

Проверка сертификата третьими сторонами (нотариусами)

Page 30: Антон Карпов - Криптография и PKI

30

Расширения PKI

TACK (http://tack.io)

Расширение TLS

Передача ключа в рамках TLS handshake- Клиент передает TLS extension “tack”в ClientHello- Сервер отвечает TackExtension с ключом сервера

Сертификат сервера подписывается TACK-ключом

TACK-ключи имеют время жизни и механизм передачи

Не защищает от MITM при первоначальном подключении

Page 31: Антон Карпов - Криптография и PKI

31

Расширения PKI

Certificate Transparency (http://certificate-transparency.org)

Проблема: поддельные сертификаты обнаруживают не сразу

Идея: невозможно выписать сертификат на домен незаметно

для владельца домена

Certificate logs

Certificate monitors

Certificate auditors

Page 32: Антон Карпов - Криптография и PKI

32

Альтернативы PKI. Pretty Good Privacy

Фил Циммерман, 1991

“Web of Trust”