Gentoo Archives: gentoo-user-ru

From: "Denis V. Rybakov" <denis.rybakov@×××××.com>
To: gentoo-user-ru@l.g.o
Subject: Re: [gentoo-user-ru] openssl: CRL Distribution Point
Date: Mon, 05 Jan 2009 19:13:28
Message-Id: 49625C0F.4080207@gmail.com
In Reply to: [gentoo-user-ru] openssl: CRL Distribution Point by Anton Ananich
1 Anton Ananich wrote:
2
3 > В силу специфики их работы они имеют потребность
4 > шифровать свою переписку с помощью SSL сертификатов.
5
6 Нет такого понятия "ssl-сертификат".
7 Не надо выдумывать отсебятину, это запутывает и тебя, и собеседника.
8 Лучше почитать RFC3280, RFC2510 и принять существующую терминологию,
9 а заодно и получить ответы на 90% своих вопросов :)
10
11 > В один день Паниковский теряет свой ноутбук вместе с сертификатом. Он
12 > сообщает об этом администратору, администратор с помощью
13 > # openssl -revoke panikovsky.pem
14 > делает сертификат невалидным, выдает новый ноутбук и новый сертификат.
15 >
16 > Вопросы:
17 > 1) Как _правильно_ нужно настроить CA, чтобы Бендер мог об этом узнать
18 > о том, что сертификат скомпрометирован как можно скорее?
19 > 2) Как протестировать, что CRL действительно блокирует сертификаты в
20 > a) браузере (например firefox)
21 > б) почтовом клиенте ( например Thunderbird или Microsoft Outlook)
22 >
23
24 Есть множество этапов, которые выполняют при проверке сертификата на
25 валидность
26 Что касается проверки на отозванность, то это вообще отдельная тема,
27 т.к. каждый строит свою
28 схему в зависимости от жесткости требований.
29 Ну например приведу более менее полную схему.
30 1. NotBefore <= NOW <= NotAfter
31 2. Поиск CRL для данного УЦ в хранилище.
32 2.1 Попытка обновить CRL через CDP (CRL Distrubution Point, опциональна,
33 указывается в качестве расширения в сертификате УЦ)
34 2.1.1 Если удалось, проверяем на присутствие в списке
35 2.1.2 Если не удалось, можем игнорировать, при условии наличия в
36 локальном хранилище
37 неистекшего CRL, а можем обломать, в зависимости от параноидальности.
38 3. Проверка статуса через службу OCSP, опять же возможны варианты, если
39 не удалось до нее достучаться (доверять локальному CRL или нет).
40
41 И это еще не все. Тема вопроса обширнейшая.
42 В криптографической подсистеме винды есть даже понятие Revocation
43 Provider, т.е. это отдельная сущность, которая
44 исходя из своей логики, говорит тебе валиден сертификат или нет и
45 которую можно написать под свои требования.
46
47 Основная беда в том, что в линуксе ничего такого централизованного нет -
48 хранилища сертификатов, единое криптоапи и т.д.
49 Да даже нецентрализованного тоже в общем то нет, openssl который с
50 ооочень большим натягом можно посчитать за стандарт
51 каждое приложение использует как ему вздумается.
52
53 Единственное - в мозилле (firefox, thinderbird, etc) криптуха более
54 менее реализована, оно даже OCSP держит.
55
56 > Ранее в рассылке было упомянуто решение: CRL Distribution Point,
57 > однако поиск в сети не дал желаемых результатов.
58
59 CDP это всего лишь вершина айсберга.
60
61 > Надеюсь мы сможем найти истину вместе :)
62 >
63
64 Истина в том, что криптуха в линуксе в плачевном состоянии.
65 А если говорить о каком-то стандарте на уровне системы, то ее просто нет.
66
67 Тупое решение в лоб.
68 1. Создаешь CA с расширением id-ce-cRLDistributionPoints (CDP по
69 простому), там можно всякие URI указывать,
70 самое простое - http. Будет типа http://blabla.bla/ca.crl
71 (на чем CA поднимать не спрашивай, тут тоже все печально. самое простое
72 - можешь из openvpn выдрать)
73 2. На CA обеспечиваешь, чтобы текущий crl был доступен по тому же урлу,
74 что и в расширении корневого сертификта.
75 3. Магическим образом заставляешь клиентское ПО использовать проверку
76 сертификатов по CRL вытащенгному с CDP
77 (могу ошибаться, но вроде в openssl есть механизмы, которые сами это
78 делают, если с curl'ом собирать)

Replies

Subject Author
Re: [gentoo-user-ru] openssl: CRL Distribution Point Anton Ananich <anton.ananich@×××××.com>