- Электронный сертификат
-
Сертификат (сертификат открытого ключа, сертификат ЭЦП) — цифровой или бумажный документ, подтверждающий соответствие между открытым ключом и информацией, идентифицирующей владельца ключа. Содержит информацию о владельце ключа, сведения об открытом ключе, его назначении и области применения, название центра сертификации и т. д.
Открытый ключ может быть использован для организации защищенного канала связи с владельцем двумя способами:
- для проверки подписи владельца (аутентификация)
- для шифрования посылаемых ему данных (конфиденциальность)
Существует две модели организации инфраструктуры сертификатов: централизованная (PKI) и децентрализованная (реализуемая на основе т. н. сетей доверия), получившая наибольшее распространение в сетях PGP.
Содержание
Принцип работы
Сертификаты, как правило, используются для обмена зашифрованными данными в больших сетях. Криптосистема с открытым ключом решает проблему обмена секретными ключами между участниками безопасного обмена, однако не решает проблему доверия к открытым ключам. Предположим, что Алиса, желая получать зашифрованные сообщения, генерирует пару ключей, один из которых (открытый) она публикует каким-либо образом. Любой, кто желает отправить ей конфиденциальное сообщение, имеет возможность зашифровать его этим ключом, и быть уверенным, что только она (так как только она обладает соответствующим секретным ключом) сможет это сообщение прочесть. Однако описанная схема ничем не может помешать злоумышленнику Давиду создать пару ключей, и опубликовать свой открытый ключ, выдав его за ключ Алисы. В таком случае Давид сможет расшифровывать и читать, по крайней мере, ту часть сообщений, предназначенных Алисе, которые были по ошибке зашифрованы его открытым ключом.
Идея сертификата — это наличие третьей стороны, которой доверяют две другие стороны информационного обмена. Предполагается, что таких третьих сторон не много, и их открытые ключи всем известны каким-либо способом, например, хранятся в операционной системе или публикуются в журналах. Таким образом, подлог открытого ключа третьей стороны легко выявляется.
Если Алиса сформирует сертификат со своим публичным ключом, и этот сертификат будет подписан третьей стороной (например, Трентом), любой, доверяющий Тренту, сможет удостовериться в подлинности открытого ключа Алисы. В централизованной инфраструктуре в роли Трента выступает удостоверяющий центр. В сетях доверия Трент может быть любым пользователем, и следует ли доверять этому пользователю, удостоверившему ключ Алисы, решает сам отправитель сообщения.
Формальное описание
Пусть имеются две стороны информационного обмена — A1,A2 — и третяя сторона A3, которой доверяют A1 и A2. Стороне A1 принадлежит пара (K1o, K1s), где K1o — открытый ключ, K1s — закрытый (секретный) ключ. Стороне A3 принадлежит пара (K3o, K3s).
A1 регистрируется у A3, указывая данные о себе и свой K1o. A3 выдает стороне A1 сертификат S, устанавливающий соответствие между A1 и K1o. S содержит K1o, сведения о A1, название стороны A3, подпись A3 (результат применения хеш-функции к данным сертификата, зашифрованный с помощью K3s) и другую информацию.
A1 посылает стороне A2 свой сертификат S и его копию Ss, зашифрованную с помощью K1s. A2 извлекает из S ключ K1o и расшифровывает с помощью него Ss. Совпадение результата расшифровки с S подтверждает, что K1o действительно принадлежит A1.
Затем с помощью широко известного K3o расшифровывается подпись стороны A3. Если в результате получается тот же сертификат с теми же сведениями о A1 и ключом K1o — значит A1 действительно прошел регистрацию у A3.
Структура сертификата
Перечень обязательных и необязательных полей, которые могут присутствовать в сертификате, определяется стандартом на его формат (например, X.509). Как правило, сертификат включает в себя следующие поля:
- имя владельца сертификата (имя пользователя, которому принадлежит сертификат)
- один или несколько открытых ключей владельца сертификата
- имя удостоверяющего центра
- серийный номер сертификата, присвоенный удостоверяющим центром
- срок действия сертификата (дата начала действия и дата окончания действия)
- информация об использованных криптографических алгоритмах
- электронная цифровая подпись, сгенерированная с использованием секретного ключа удостоверяющего центра (подписывается результат хэширования всей информации, хранящейся в сертификате)
Российские стандарты
В России действуют свои криптографические стандарты. Использование их совместно с сертификатами описано в RFC4491: Using GOST with PKIX.
Ссылки
Wikimedia Foundation. 2010.