Сертификаты открытых ключей

Как правило, при использовании открытых ключей хранят не сами ключи, а их сертификаты. Сертификат представляет собой набор данных

CA=(A,kA,t,SkTA(A,kA,t)),

состоящий из идентификатора абонента А, его открытого ключа kА и, быть может, еще какой-либо дополнительной информации, например, времени t выдачи сертификата и срока его действия, заверенных цифровой подписью доверенного центра ТА или заслуживающего доверия лица. Сертификат предназначен для исключения возможности подмены открытого ключа при его хранении или пересылке.

Получив такой сертификат и проверив цифровую подпись, можно убедиться в том, что открытый ключ действительно принадлежит данному абоненту.

Международный стандарт CCITT X.509 определяет следующий протокол аутентификации с одновременным распределением ключей:

1. A→B:Ca,Da,Sa(Da),

2. В→А: CB,DB,SB(DB),

3. A→B:rB,B,SA(rB,B),

где СА и СB — сертификаты сторон, SA и SB — цифровые подписи сторон,

DA = (tА ,rA,B, data1, ЕB (k1)),

DВ = (tВ, rB, A,rA, data2,ЕА (k2))

- наборы передаваемых и подписываемых данных. В поля data заносится дополнительная информация для аутентификации источника. Третий шаг протокола требуется стороне В для подтверждения того, что она действительно взаимодействует со стороной А.