Инфраструктура открытых ключей (англ. PKI — public key infrastructure) — набор средств (технических, материальных, людских и т. д.), распределённых служб и компонентов, в совокупности используемых для поддержки криптозадач, на основе закрытого и открытого ключей. В основе PKI лежит использование криптографической системы с открытым ключом и несколько основных принципов:
- закрытый ключ (private key) известен только его владельцу;
- удостоверяющий центр (УЦ или CA — certificate authority) создает электронный документ — сертификат открытого ключа, таким образом удостоверяя факт того, что закрытый (секретный) ключ известен эксклюзивно владельцу этого сертификата, открытый ключ (public key) свободно передается и максимально широко распространяется;
- никто не доверяет друг другу, но все доверяют удостоверяющему центру;
- удостоверяющий центр подтверждает или опровергает принадлежность открытого ключа заданному лицу, которое владеет соответствующим закрытым ключом.
Для хранения и распространения ключей может быть использован x.509 .
Существует два основных типа PKI:
• Веб-PKI, также известный как «Internet PKI», был определен RFC 5280 и дополнен CA/Browser Forum. По умолчанию он работает с браузерами и со всем остальным, что использует TLS .
• Внутренний (или локальный) PKI — это PKI, который вы используете для собственных нужд, а именно для зашифрованных локальных сетей, контейнеров данных, корпоративных ИТ-приложений или корпоративных конечных точек, таких как ноутбуки и телефоны. В общем-то, его можно использовать для всего, что вы хотите идентифицировать.
- Основные компоненты PKI:
- Удостоверяющий центр, он же и центр сертификации (УЦ или CA — certificate authority) является основной структурой, формирующей цифровые сертификаты подчиненных центров сертификации и конечных пользователей. УЦ является главным компонентом PKI:
- он является доверенной третьей стороной;
- это сервер, который осуществляет управление жизненным циклом сертификатов (но не их непосредственным использованием).
- Сертификат открытого ключа (чаще всего просто сертификат) — это данные пользователя/сервера и его открытый ключ, скреплённые электронной подписью удостоверяющего центра. Выпуская сертификат открытого ключа, удостоверяющий центр тем самым подтверждает, что лицо, поименованное в сертификате, владеет закрытым ключом, который соответствует этому открытому ключу.
- Регистрационный центр (РЦ) — необязательный компонент системы, предназначенный для регистрации пользователей. Удостоверяющий центр доверяет регистрационному центру проверку информации о субъекте. Регистрационный центр, проверив правильность информации, подписывает её своим ключом и передаёт удостоверяющему центру, который, проверив ключ регистрационного центра, выписывает сертификат. Один регистрационный центр может работать с несколькими удостоверяющими центрами (то есть состоять в нескольких PKI), один удостоверяющий центр может работать с несколькими регистрационными центрами. Иногда, удостоверяющий центр выполняет функции регистрационного центра.
- Репозиторий — хранилище, содержащее сертификаты и списки отозванных сертификатов (СОС) и служащее для распространения этих объектов среди пользователей. В Федеральном Законе РФ № 63 «Об электронной подписи» он называется реестр сертификатов ключей подписей.
- Архив сертификатов — хранилище всех изданных когда-либо сертификатов (включая сертификаты с закончившимся сроком действия). Архив используется для проверки подлинности электронной подписи, которой заверялись документы.
- Центр запросов — необязательный компонент системы, где конечные пользователи могут запросить или отозвать сертификат.
- Конечные пользователи — пользователи, приложения или системы, являющиеся владельцами сертификата и использующие инфраструктуру управления открытыми ключами.
Из всего выше сказанного можно выделить некоторые пункты, а также добавить новые, для того чтобы определить основные термины, используемые в PKI. Итак, в PKI используются термины:
- Сертификат открытого ключа
электронный документ удостоверенный электронной подписью удостоверяющего центра, содержащий открытый ключ, информацию о сроке его действия и владельце ключа.
- Закрытый ключ
ключ, известный только его владельцу, сгенерированный с помощью асимметричного криптографического алгоритма, использующийся для электронной подписи данных и расшифровки данных зашифрованных на соответствующем этому закрытому ключу открытом ключе.
- Открытый ключ
ключ, создаваемый в паре с закрытым ключом с помощью асимметричного криптографического алгоритма, используется для шифрования данных и проверки электронной подписи.
информация, по которой можно идентифицировать открытый ключ. Отпечаток создаётся путём применения криптографической хеш-функции к значению открытого ключа.
- Подписанные данные
данные, подписанные при помощи закрытого ключа пользователя.
- Зашифрованные данные
данные, зашифрованные при помощи открытого ключа пользователя.
- Путь доверия
цепочка документов, которая позволяет удостовериться, что предъявленный сертификат был выдан доверенным центром; последним звеном в этой цепочке является предъявленный сертификат, начальным — сертификат корневого доверенного центра сертификации, а промежуточными — сертификаты, выданные промежуточным центрам сертификации. Особенностью пути доверия является то, что при потере доверия к начальному звену цепочки (корневому центру сертификации) теряется доверие ко всей цепочке, то есть ко всем выданным данным центром сертификатам и к предъявленному в том числе.
- Личные сертификаты
сертификаты которые хранятся у пользователя в личном хранилище сертификатов.
- Корневые центры сертификации
центры сертификации, которым доверяют изначально все, либо руководствуясь политикой предприятия, либо из-за предустановленных настроек хранилища сертификатов, и которые могут находиться в начале пути доверия.
- Доверенные центры сертификации
список центров сертификации, которым доверяют владельцы сертификатов. Чтобы сделать какой-либо центр доверенным, достаточно получить от него сертификат и внести его в список доверенных центров.