Инфраструктура открытых ключей (ИОК, ) — набор средств (технических, материальных, людских и т. д.), распределённых служб и компонентов, в совокупности используемых для поддержки криптозадач, на основе закрытого и открытого ключей. В основе PKI лежит использование криптографической системы с открытым ключом и несколько основных принципов: закрытый ключ (private key) известен только его владельцу; удостоверяющий центр (УЦ или CA — certificate authority) создает электронный документ — сертификат открытого ключа, таким образом удостоверяя факт того, что закрытый (секретный) ключ известен эксклюзивно владельцу этого сертификата, открытый ключ (public key) свободно передается; никто не доверяет друг другу, но все доверяют удостоверяющему центру; удостоверяющий центр подтверждает или опровергает принадлежность открытого ключа заданному лицу, которое владеет соответствующим закрытым ключом.

История Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркле (англ. Ralph Merkle) о распространении открытого ключа, они предложили метод получения секретных ключей, используя открытый канал. Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи — Хеллмана, был первым опубликованным практичным методом для установления разделения секретного ключа между заверенными пользователями канала. В 2002 году Хеллман предложил называть данный алгоритм «Диффи — Хеллмана — Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом. Эта же схема была разработана Малькольмом Вильямсоном в 1970-х, но держалась в секрете до 1997 г. Метод Меркле по распространению открытого ключа был изобретён в 1974 и опубликован в 1978 году, его также называют загадкой Меркле.

В 1977 году учёными Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом из Массачусетского технологического института был разработан алгоритм шифрования, основанный на проблеме о разложении на множители — RSA. Система была названа по первым буквам их фамилий (RSA — Rivest, Shamir, Adleman). Эта же система была изобретена в 1973 году Клиффордом Коксом (англ. Clifford Cocks), работавшим в центре правительственной связи (GCHQ), но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании было неизвестно до 1977 года. RSA стал первым алгоритмом, пригодным и для шифрования, и для электронной подписи.

Объекты PKI

Основные компоненты PKI: Удостоверяющий центр, он же и центр сертификации (УЦ или CA — certificate authority) является основной структурой, формирующей цифровые сертификаты подчиненных центров сертификации и конечных пользователей. УЦ является главным компонентом PKI: он является ; это сервер, который осуществляет управление жизненным циклом сертификатов (но не их непосредственным использованием). Сертификат открытого ключа (чаще всего просто сертификат) — это данные пользователя/сервера и его открытый ключ, скреплённые электронной подписью удостоверяющего центра. Выпуская сертификат открытого ключа, удостоверяющий центр тем самым подтверждает, что лицо, поименованное в сертификате, владеет закрытым ключом, который соответствует этому открытому ключу. Регистрационный центр (РЦ) — необязательный компонент системы, предназначенный для регистрации пользователей. Удостоверяющий центр доверяет регистрационному центру проверку информации о субъекте. Регистрационный центр, проверив правильность информации, подписывает её своим ключом и передаёт удостоверяющему центру, который, проверив ключ регистрационного центра, выписывает сертификат. Один регистрационный центр может работать с несколькими удостоверяющими центрами (то есть состоять в нескольких PKI), один удостоверяющий центр может работать с несколькими регистрационными центрами. Иногда, удостоверяющий центр выполняет функции регистрационного центра. Репозиторий — хранилище, содержащее сертификаты и списки отозванных сертификатов (СОС) и служащее для распространения этих объектов среди пользователей. В Федеральном Законе РФ № 63 «Об электронной подписи» он называется реестр сертификатов ключей подписей. Архив сертификатов — хранилище всех изданных когда-либо сертификатов (включая сертификаты с закончившимся сроком действия). Архив используется для проверки подлинности электронной подписи, которой заверялись документы. Центр запросов — необязательный компонент системы, где конечные пользователи могут запросить или отозвать сертификат. Конечные пользователи — пользователи, приложения или системы, являющиеся владельцами сертификата и использующие инфраструктуру управления открытыми ключами.

Основные задачи Основные задачи системы информационной безопасности, которые решает инфраструктура управления открытыми ключами: обеспечение конфиденциальности информации; обеспечение целостности информации; обеспечение аутентификации пользователей и ресурсов, к которым обращаются пользователи; обеспечение возможности подтверждения совершенных пользователями действий с информацией (неотказуемость/неотрекаемость — англ. non-repudiation).

Основная идея Упрощенно, PKI представляет собой систему, основным компонентом которой является удостоверяющий центр и пользователи, взаимодействующие между собой используя сертификаты, выданные этим удостоверяющим центром. Деятельность инфраструктуры управления открытыми ключами осуществляется на основе регламента системы. Инфраструктура открытых ключей основывается на использовании принципов криптографической системы с открытым ключом. Инфраструктура управления открытыми ключами состоит из центра сертификации, конечных пользователей и опциональных компонентов: центра регистрации и сетевого справочника.

Основные функции удостоверяющего центра: проверка личности будущих пользователей сертификатов; выдача пользователям сертификатов; аннулирование сертификатов; ведение и публикация списков отозванных сертификатов (Certificate Revocation List/CRL), которые используются клиентами инфраструктуры открытого ключа, когда они решают вопрос о доверии сертификату. Дополнительные функции удостоверяющего центра: УЦ может производить генерацию пар ключей, один из которых будет включен в сертификат. По запросу, при разрешении конфликтов, УЦ может производить проверку подлинности электронной подписи владельца сертификата, выданного этим УЦ. Сертификат — это электронный документ, который содержит электронный ключ пользователя (открытый ключ), информацию о пользователе, которому принадлежит сертификат, электронную подпись центра выдачи сертификатов (УЦ), информацию о сроке действия сертификата и другие атрибуты. Сертификат не может быть бессрочным, он всегда содержит дату и время начала и окончания своего действия.

Причины досрочного аннулирования сертификатов: компрометация закрытого ключа; изменение информации о владельце сертификата, содержащейся в этом сертификате; добровольное заявление владельца сертификата; изменения полномочий текущего владельца сертификата. Ключевая пара — это набор, состоящий из двух ключей: закрытого ключа (private key) и открытого ключа (public key). Эти ключи создаются вместе, являются комплементарными по отношению друг к другу (то, что зашифровано с помощью открытого ключа можно расшифровать, только имея закрытый ключ, а электронную подпись, сделанную с помощью закрытого ключа, можно проверить, используя открытый ключ).

Ключевая пара создается либо центром выдачи сертификатов (удостоверяющим центром) по запросу пользователя, или же самим пользователем с помощью специального программного обеспечения. Пользователь делает запрос на сертификат, и после процедуры идентификации пользователя УЦ выдаёт ему сертификат, подписанный этим Удостоверяющим Центром. Электронная подпись УЦ свидетельствует о том, что данный сертификат выдан именно этим центром и никем другим.

Открытый ключ известен всем, в то время как закрытый ключ хранится в тайне. Владелец закрытого ключа всегда хранит его в тайне и ни при каких обстоятельствах не должен допустить того, чтобы этот ключ стал известным злоумышленникам или другим пользователям. Если же закрытый ключ всё-таки станет известен злоумышленникам, то он считается скомпрометированным, поэтому сертификат со связанным с ним открытым ключом должен быть отозван. Только владелец закрытого ключа может подписать данные, а также расшифровать данные, которые были зашифрованы открытым ключом, связанным с закрытым ключом владельца. Действительная подпись гарантирует авторство информации и то, что информация в процессе передачи не подверглась изменениям. Подпись кода гарантирует, что данное программное обеспечение действительно произведено указанной компанией и не содержит вредоносного кода, если компания это декларирует.

Собственный закрытый ключ используется для подписи данных и для расшифровки данных, полученных от других участников PKI. Открытый ключ, извлеченный из сертификата другого участника Инфраструктуры Открытых Ключей, может использоваться для подтверждения корректности электронной подписи этого участника, а также для шифрования данных отправляемых этому участнику. Процесс шифрования с использованием асимметричной криптографии является медленным по сравнению с симметричными алгоритмами, поэтому использование его для шифрования данных не рекомендуется и по факту не производится в системах, где время является критическим фактором. При использовании сертификатов открытых ключей для защищенного взаимодействия с веб-сайтами (интернет-магазинами, банками), сертификаты используются только для установления защищенной связи; для последующего обмена информацией используются выбранные сторонами симметричные ключи.

Одним из ключевых понятий ИОК является электронная подпись. В рамках этой статьи понятия подпись, электронная подпись (ЭП), цифровая подпись и электронная цифровая подпись (ЭЦП) взаимозаменяемы. В Федеральном Законе РФ № 1 «Об электронно-цифровой подписи» от 2001 года, существовало только понятие электронно-цифровой подписи. Федеральный Закон РФ № 63 «Об электронной подписи» от 2011 года расширил понятие подписи. В соответствии со статьёй 5 «Виды электронных подписей», различают простую электронную подпись и усиленную электронную подпись. В текущей статье и практически во всех литературных источниках об Инфраструктуре Открытых Ключей, как англоязычных, так и русскоязычных, под понятием подписи понимается усиленная электронная подпись.

Электронная подпись — это результат использования алгоритма электронной подписи на хеш данных (документа/сообщения/файла).

Подлинность электронной подписи проверяется следующим образом: Получатель получает данные (зашифрованные или в открытом виде) и электронную подпись. [Опциональный шаг, так как документ/сообщение/файл мог быть отправлен в открытом виде]. Данные расшифровываются с помощью либо заранее оговоренного симметричного ключа, либо с помощью закрытого ключа получателя (во втором случае данные были зашифрованы с помощью открытого ключа получателя, извлеченного из его сертификата). Получатель вычисляет хеш расшифрованного документа/сообщения/файла (алгоритм хеша указан в сертификате). Получатель применяет к электронной подписи алгоритм снятия подписи (алгоритм подписи указан в сертификате), в результате чего получает хеш исходного документа/сообщения/файла. Получатель сравнивает хеши. Если они одинаковы — электронная подпись считается действительной, при условии, что сертификат действителен и был применен в соответствии с его политиками.

В число приложений, поддерживающих PKI, входят: защищённая электронная почта, протоколы платежей, электронные чеки, электронный обмен информацией, защита данных в сетях с протоколом IP, электронные формы и документы с электронной цифровой подписью (ЭП).

Краткое описание процесса работы с личными сертификатами