X509Certificates
От: mikа Stock#
Дата: 15.01.04 15:20
Оценка:
Объясните мне на пальцах, как работает принцип этих сертификатов?
Линки тоже были бы сктати (но без всякой мути вроде OpenSSL).

Заранее благодарю.
Re: X509Certificates
От: Cider Россия  
Дата: 16.01.04 13:57
Оценка: 18 (1)
Здравствуйте, mikа, Вы писали:

M>Объясните мне на пальцах, как работает принцип этих сертификатов?

M>Линки тоже были бы сктати (но без всякой мути вроде OpenSSL).

M>Заранее благодарю.


Я, конечно, не специалист по безопасности, но кажется представляю...
Значит так:
1. Чтобы удостоверить подлинность сообщения, отправитель шифрует его (или его хэш — неважно) своим закрытым ключом, который есть только у него.
2. Чтобы получатель мог раскодировать это сообщение вместе с сообщением посылается открытый ключ.
И все бы хорошо, но ключ можно и подменить вместе с письмом.
Поэтому надо доказать подлинность и самого ключа.
3. По рекурсии ключ зашифровывается закрытым ключом, так же как и письмо. См. пункт 1
4. Так или иначе, чтобы раскрыть рекурсию на компе получателя должен быть хотя бы один открытый ключ, которому он доверяет. Такие ключи есть — они поставляются вместе с виндой. certmgr.exe поможет их посмотреть.
ИТОГО: к письму прилагается его зашифрованный хэш и сертификат x509, который представляет цепочку сертификатов, восходящую к какому-то корневому сертификату.
Сделать такой сертификат ручками невозможно, так как для этого нужно уже иметь доверяемый сертификат на компе получателя либо восходящий к таковому, поэтому такие сертификаты надо покупать у тех, кто это может сделать. Это например www.verisign.com и www.thawte.com.

Вот еще статеька по этому поводу, да и вообще там много чего есть... ну и гугль
Введение в криптографию

Cider
Cider
Re: X509Certificates
От: J.J.OK  
Дата: 16.01.04 14:21
Оценка: 18 (1)
Здравствуйте, mikа, Вы писали:

M>Объясните мне на пальцах, как работает принцип этих сертификатов?

M>Линки тоже были бы сктати (но без всякой мути вроде OpenSSL).

M>Заранее благодарю.


"принцип сертификатов" работает

на пальцах:

сертификат::= { период действия; субъект; издатель; открытый ключ субъекта; другое инфо; ЭЦП издателя }

издатель == сертификат в "другом инфо" которого стоят соответствующие флажки

издатели::= { корневые; промежуточные }

корневые:
1) субъект==издатель
2) тело сертификата подписано приватным ключем соответствующим открытому в теле сертификата (само-подписанные).

промежуточные: все остальные издатели

проверка сертификата (уложить рекурсивно в процедуру построения цепочки сертификации от сертификата пользователя к доверенному корневому — для каждого сертификата в цепочке):
1) по времени действия
2) "математическая" — ЭЦП издателя
3) текущий статус — присутствует ли данный сертификат в списке отозванных (CRL) — распространяется издателем
4) контроль за непротиворечивостью "другого инфо" в данном месте цепочки сертификации

подробно: RFC3280

Удачи
Чем безопаснеe — тем неудобнее ;-)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.