Инфраструктура открытых ключей
Инфраструктура открытых ключей (англ. PKI - Public Key Infrastructure) — современная система управления криптографической защитой, в том числе и в агрессивной среде, например Интернет.
Основная идея
Задачей PKI является определение политики выпуска цифровых сертификатов, выдача их и аннулирование, хранение информации, необходимой для последующей проверки правильности сертификатов. В число приложений, поддерживающих PKI, входят: защищенная электронная почта, протоколы платежей, электронные чеки, электронный обмен информацией, защита данных в сетях с протоколом IP, электронные формы и документы с электронной цифровой подписью (ЭЦП).
Деятельность инфраструктуры управления открытыми ключами осуществляется на основе регламента системы. Инфраструктура открытых ключей основывается на использовании принципов криптографической системы с открытым ключом. Инфраструктура управления открытыми ключами состоит из центра сертификации (удостоверяющего центра - УЦ), конечных пользователей, и опциональных компонентов: центра регистрации и сетевого справочника.
PKI оперирует в работе сертификатами. Сертификат — это электронный документ, который содержит электронный ключ пользователя, - открытый или же ключевую пару (keypair), - информацию о пользователе, которому принадлежит сертификат, удостоверяющую подпись центра выдачи сертификатов (УЦ) и информацию о сроке действия сертификата.
Для того, чтобы клиент мог работать с удостоверяющим центром, необходимо включить центр в список доверенных. После включения в этот список, любой сертификат, выданный доверенным центром, считается достоверным, а его владелец - достойным доверия.
Удостоверяющий центр так же публикует и списки отозванных сертификатов (Cetificate Revocation List/CRL), которые могут использовать клиенты инфраструктуры открытого ключа, когда решают вопрос о доверии сертификату пользователя и/или компьютера.
Ключевая пара - это набор, состоящий из двух ключей: закрытого ключа (private key) и открытого ключа (public key). Эти ключи создаются вместе, являются комплементарными по отношению друг к другу (то, что зашифровано с помощью открытого ключа можно расшировать, только имея закрытй ключ, и наоборот) и имеют одинаковый электронный отпечаток (fingerprint). По электронному отпечатку можно определить, соответствует ли данный открытый ключ своему закрытому ключу. Создаётся пара ключей либо центром выдачи сертификатов (удостоверяющим центром), по запросу пользователя, или же самим пользователем с помощью специального программного обеспечения. Пользователь делает запрос на сертификат, после чего, после процедуры идентификации пользователя, центр выдаёт ему сертификат со своей подписью. Эта подпись свидетельствует о том, что данный сертификат выдан именно этим центром выдачи сертификатов и никем другим.
Закрытый ключ используется для подписи данных, открытый ключ в свою очередь используется для шифрования данных. Открытый ключ известен всем, а закрытый ключ хранится в тайне. Владелец закрытого ключа всегда хранит его в защищённом хранилище и ни при каких обстоятельствах не должен допустить того, чтобы этот ключ стал известным злоумышленникам или другим пользователям. Если же закрытый ключ всё таки станет известен злоумышленникам, то он считается скомпрометированным и должен быть отозван и заменен. Только владелец закрытого ключа может подписать данные, а также расшифровать данные, которые были зашифрованы открытым ключом, соответствующим закрытому ключу владельца. Подпись на данных или письме гарантирует авторство полученной информации и то, что информация в процессе передачи не подверглась изменениям. Подпись двоичного кода гарантирует, что данное программное обеспечение действительно произведено указанной компанией и не содержит вредоносного кода, если компания это декларирует.
Терминология PKI.
Из всего выше сказанного можно выделить некоторые пункты, а также добавить новые, для того чтобы определить основные термины, используемые в PKI. Итак, в PKI используются термины:
Сертификат
электронный документ, который содержит электронный ключ пользователя, информацию о пользователе, удостоверяющую подпись центра выдачи сертификатов и информацию о сроке действия сертификата.
Закрытый ключ
ключ, хранящийся в безопасном хранилище, созданный с использованием алгоритмов шифрования, имеющий свой уникальный электронный опечаток и использующийся для получения зашифрованных данных и подписи данных
Открытый ключ
ключ, созданный в паре с закрытым ключом, имеющем такой же электронный отпечаток, как и закрытый ключ, которому он соответствует, используется для шифрования данных и проверки подписи
Подписанные данные
данные, подписанные при помощи закрытого ключа пользователя
Зашифрованные данные
данные, зашифрованные при помощи открытого ключа пользователя
Термины, которые необходимы для общего понимания:
Путь доверия
цепочка документов, которая позволяет удостовериться, что предъявленный сертификат был выдан доверенным центром; последним звеном в этой цепочке является предъявленный сертификат, начальным - сертификат корневого доверенного центра сертификации, а промежуточными - сертификаты, выданные промежуточным центрам сертификации. Особенностью пути доверия является то, что при потере доверия к начальному звену цепочки (корневому центру сертификации) теряется доверие ко всей цепочке, то есть ко всем выданным данным центром сертификатам и к предъявленному в том числе.
Личные сертификаты
сертификаты которые хранятся у пользователя в личном хранилище сертификатов.