Инфраструктура открытых ключей (англ. PKI - Public Key Infrastructure) — набор средств (технических, материальных, людских и т. д.), распределенных служб и компонентов, в совокупности используемых для поддержки криптозадач на основе закрытого и открытого ключей.
В основе PKI лежит использование криптографической системы с открытым ключом и несколько основных принципов:
Фактически, PKI представляет собой систему, основным компонентом которой является удостоверяющий центр и пользователи, взаимодействующие между собой посредством удостоверяющего центра.
PKI реализуется в модели клиент-сервер, то есть проверка какой-либо информации, предоставляемой инфраструктурой может происходить только по инициативе клиента.
Основные задачи системы информационной безопасности, которые решает инфраструктура управления открытыми ключами:
PKI напрямую не реализует авторизацию, доверие, именование субъектов криптографии, защиту информации или линий связи, но может использоваться как одна из составляющих при их реализации.
Задачей PKI является определение политики выпуска цифровых сертификатов, выдача их и аннулирование, хранение информации, необходимой для последующей проверки правильности сертификатов. В число приложений, поддерживающих PKI, входят: защищенная электронная почта, протоколы платежей, электронные чеки, электронный обмен информацией, защита данных в сетях с протоколом IP, электронные формы и документы с электронной цифровой подписью (ЭЦП).
Деятельность инфраструктуры управления открытыми ключами осуществляется на основе регламента системы. Инфраструктура открытых ключей основывается на использовании принципов криптографической системы с открытым ключом. Инфраструктура управления открытыми ключами состоит из центра сертификации (удостоверяющего центра — УЦ), конечных пользователей, и опциональных компонентов: центра регистрации и сетевого справочника.
PKI оперирует в работе сертификатами. Сертификат — это электронный документ, который содержит электронный ключ пользователя, — открытый или же ключевую пару (keypair), — информацию о пользователе, которому принадлежит сертификат, удостоверяющую подпись центра выдачи сертификатов (УЦ) и информацию о сроке действия сертификата.
Для того, чтобы клиент мог работать с удостоверяющим центром, необходимо включить центр в список доверенных. После включения в этот список, любой сертификат, выданный доверенным центром, считается достоверным, а его владелец — достойным доверия.
Удостоверяющий центр также публикует и списки отозванных сертификатов (Certificate Revocation List/CRL), которые могут использовать клиенты инфраструктуры открытого ключа, когда решают вопрос о доверии сертификату пользователя и/или компьютера.
Ключевая пара — это набор, состоящий из двух ключей: секретного ключа (private key) и открытого ключа (public key). Эти ключи создаются вместе, являются комплементарными по отношению друг к другу (то, что зашифровано с помощью открытого ключа можно расшифровать, только имея секретный ключ, а подпись сделанную с помощью секретного ключа можно проверить используя открытый ключ).
Создаётся пара ключей либо центром выдачи сертификатов (удостоверяющим центром), по запросу пользователя, или же самим пользователем с помощью специального программного обеспечения. Пользователь делает запрос на сертификат, после чего, после процедуры идентификации пользователя, центр выдаёт ему сертификат со своей подписью. Эта подпись свидетельствует о том, что данный сертификат выдан именно этим центром выдачи сертификатов и никем другим.
Секретный ключ используется для подписи данных, открытый ключ в свою очередь используется для шифрования данных. Открытый ключ известен всем, а секретный ключ хранится в тайне. Владелец секретного ключа всегда хранит его в защищённом хранилище и ни при каких обстоятельствах не должен допустить того, чтобы этот ключ стал известным злоумышленникам или другим пользователям. Если же секретный ключ всё таки станет известен злоумышленникам, то он считается скомпрометированным и должен быть отозван и заменен. Только владелец секретного ключа может подписать данные, а также расшифровать данные, которые были зашифрованы открытым ключом, соответствующим секретному ключу владельца. Подпись на данных или письме гарантирует авторство полученной информации и то, что информация в процессе передачи не подверглась изменениям. Подпись двоичного кода гарантирует, что данное программное обеспечение действительно произведено указанной компанией и не содержит вредоносного кода, если компания это декларирует.
Разберём подробнее следующие моменты:
Основная работа удостоверяющего центра заключается в идентификации пользователей и их запросов на сертификаты, в выдаче пользователям сертификатов, в проверке подлиности сертификатов, в проверке по сертификату, не выдаёт ли пользователь сертификата себя за другого, в аннулировании или отзыве сертификатов, в ведении списка отозванных сертификатов.
Для того чтобы получить сертификат, нужно найти какой-либо УЦ в интернете (альтернативным решением является использование ПО PGP или ему подобных), после чего выписать сертификат и установить его себе в систему. Обычно этот процесс происходит автоматически. После установки сертификата его можно будет увидеть у себя в хранилище личных сертификатов. Для того чтобы просмотреть его свойства, достаточно просто открыть его. (Для операционных систем семейства Windows: Пуск -> Выполнить -> certmgr.msc -> OK). В свойствах можно увидеть время действия сертификата, кем он был выдан, кому был выдан, его уникальный номер и прочие свойства. После получения сертификатов двумя или более пользователями от одного УЦ, происходит организация простейшей по архитектуре PKI. PKI — с одиночным УЦ. Пользователи, сохранив сертификаты в файл обмениваются ими (таким образом происходит обмен открытыми ключами) и начинают защищённую переписку. Проверка подлинности полученного открытого ключа проводится по электронному отпечатку этого ключа. В простейшем случае достаточно позвонить коллеге выславшему открытый ключ и сверить с ним электронный отпечаток ключа. Если он совпал — можно смело начинать защищённую переписку, если нет — обменяться ключами ещё раз.
Какие же бывают PKI по архитектуре, кроме как одиночные УЦ?
В основном выделяют 5 видов архитектур PKI, это:
В основном PKI делятся на разные архитектуры по следующим признакам:
Рассмотрим более подробно каждую из архитектур PKI в отдельности.
Как уже говорилось выше, самая простая из архитектур, это архитектура одиночного УЦ. В данном случае все пользователи доверяют одному УЦ и переписываются между собой. В данной архитектуре, если злоумышленник выдаст себя за УЦ, необходимо просто перевыпустить все выписанные сертификаты и продолжить нормальную работу.
Иерархическая структура — это наиболее часто встречающаяся архитектура PKI. В данном случае во главе всей структуры стоит один Головной УЦ, которому все доверяют и ему подчиняются нижестоящие УЦ. Кроме этого головного УЦ в структуре присутствуют ещё не один УЦ, который подчиняется вышестоящему, которому в свою очередь приписаны какие-либо пользователи или нижестоящие УЦ. Частный пример иерархической PKI — корпоративная PKI. Например если у нас есть одна большая фирма, у которой в подчинении множество филиалов по всей стране. В главном здании фирмы есть головной УЦ и в каждом филиале есть УЦ, который подчиняется головному. В иерархической PKI, даже если злоумышленник выдал себя за какой — либо УЦ, сеть продолжает работать без него, а когда он восстанавливает нормальную работоспособность — он просто снова включается в структуру.
Сетевая архитектура PKI строится как сеть доверия, многочисленные удостоверяющие центры которой предоставляют PKI-сервисы и связаны одноранговыми, то есть равноправными, отношениями. Но в данном случае нет одного головного УЦ, которому все доверяют. В этой архитектуре все УЦ доверяют рядом стоящим УЦ, а каждый пользователь доверяет только тому УЦ, у которого выписал сертификат. Удостоверяющие центры выпускают сертификаты друг для друга; пара сертификатов описывает двусторонние отношения доверия. В данную архитектуру PKI легко добавляется новый УЦ, для этого ему нужно обменяться сертификатами, по крайней мере, с одним УЦ, который уже входит в сеть. В данной архитектуре наиболее сложное построение цепочки сертификации.
Сетевые PKI обладают большой гибкостью, так как имеют многочисленные пункты доверия. Компрометация одного УЦ не отражается на сетевой PKI в целом: удостоверяющие центры, которые выпустили сертификаты для скомпрометированного УЦ, просто аннулируют их, тем самым удаляя из инфраструктуры ненадежный УЦ. В результате не нарушается работа пользователей, связанных с другими удостоверяющими центрами, — они по-прежнему могут полагаться на надежные пункты доверия и защищенно связываться с остальными пользователями своей PKI. Компрометация сетевой PKI приводит либо к тому, что сворачивается работа одного УЦ вместе с его сообществом пользователей, либо, если стали ненадежными несколько удостоверяющих центров, к тому, что PKI распадается на несколько меньших инфраструктур. Восстановление после компрометации сетевой PKI происходит проще, чем иерархической, прежде всего, потому что компрометация затрагивает меньше пользователей.
Построить путь сертификации в сети достаточно сложно, поскольку этот процесс не детерминирован и имеются многочисленные варианты формирования цепи сертификатов. Одни из них приводят к построению правильного пути, другие — заводят в тупик. По этой причине валидация пути сертификации часто выполняется одновременно с его построением, частью этого процесса является удаление неверных ветвей. Для построения правильного пути используется несколько дополнительных полей сертификатов.
Данный вид архитектуры можно рассматривать как смешанный вид иерархической и сетевой архитектур. Есть несколько фирм, у каждой из которых организована какая-то своя PKI, но они хотят общаться между собой, в результате чего возникает их общая межфирменная PKI.В архитектуре кросс-сертифицированной корпоративной PKI самая сложная система цепочки сертификации.
Архитектура мостового УЦ разрабатывалась для того, чтобы убрать недостатки сложного процесса сертификации в кросс-сертифицированной корпоративной PKI. В данном случае все компании доверяют не какой-то одной или двум фирмам, а одному определённому мостовому УЦ, который является практически их головным УЦ, но он не является основным пунктом доверия, а выступает в роли посредника между другими УЦ.
Внедрение инфраструктуры управления открытыми ключами с учетом снижения затрат и сроков внедрения осуществляется в течение семи этапов.
Сторона А формирует ЭЦП документа и отправляет документ стороне Б. Сторона Б запрашивает сертификат открытого ключа стороны А у удостоверяющего центра, а также информацию о действительности сертификата. Если сертификат стороны А действителен и проверка ЭЦП прошла успешно, значит документ был подписан стороной А, а не кем-то другим.
Сторона Б зашифровывает документ открытым ключом стороны А. Чтобы убедиться, что открытый ключ действительно принадлежит стороне А, сторона Б запрашивает сертификат открытого ключа у удостоверяющего центра. Если это так, то только сторона А может расшифровать сообщение, так как владеет соответствующим закрытым ключом.
Сертификаты могут использоваться для подтверждения личности пользователя и задания полномочий, которыми он наделен. В числе полномочий субъекта сертификата может быть, например, право просматривать информацию или разрешение вносить изменения в материал, представленный на web-сервере.
Из всего выше сказанного можно выделить некоторые пункты, а также добавить новые, для того чтобы определить основные термины, используемые в PKI. Итак, в PKI используются термины:
электронный документ, который содержит электронный ключ пользователя, информацию о пользователе, удостоверяющую подпись центра выдачи сертификатов и информацию о сроке действия сертификата.
ключ, хранящийся в безопасном хранилище, созданный с использованием алгоритмов шифрования, имеющий свой уникальный электронный отпечаток и использующийся для получения зашифрованных данных и подписи данных
ключ, созданный в паре с закрытым ключом, имеющем такой же электронный отпечаток, как и закрытый ключ, которому он соответствует, используется для шифрования данных и проверки подписи
это информация при помощи которой можно проверить, является ли полученный открытый ключ именно тем, который был отослан отправителем. Электронные отпечатки открытого и закрытого ключа одной пары идентичны, поэтому сверив отпечаток полученного ключа (например, по телефону) с отпечатком закрытого ключа отправителя, можно установить соответствие открытого ключа закрытому.
данные, подписанные при помощи закрытого ключа пользователя
данные, зашифрованные при помощи открытого ключа пользователя
Термины, которые необходимы для общего понимания:
цепочка документов, которая позволяет удостовериться, что предъявленный сертификат был выдан доверенным центром; последним звеном в этой цепочке является предъявленный сертификат, начальным — сертификат корневого доверенного центра сертификации, а промежуточными — сертификаты, выданные промежуточным центрам сертификации. Особенностью пути доверия является то, что при потере доверия к начальному звену цепочки (корневому центру сертификации) теряется доверие ко всей цепочке, то есть ко всем выданным данным центром сертификатам и к предъявленному в том числе.
сертификаты которые хранятся у пользователя в личном хранилище сертификатов.
центры сертификации, которым доверяют изначально все, либо руководствуясь политикой предприятия, либо из-за предустановленных настроек хранилища сертификатов, и которые могут находиться в начале пути доверия.
список центров сертификации, которым доверяют владельцы сертификатов. Чтобы сделать какой-либо центр доверенным, достаточно получить от него сертификат и внести его в список доверенных центров.
Инфраструктура открытых ключей состояние и перспективы, инфраструктура открытых ключей презентация, инфраструктура открытых ключей в рб.
Доска (шахматы), Посёлок дома отдыха «Отличник», Шаблон:L ig, Громов, Андрей.