Описание
Инфраструктура открытых ключей – это система цифровых сертификатов, центров сертификации и центров регистрации, которые проверяют и подтверждают подлинность каждого объекта, участвующего в электронной транзакции с использованием криптографии с открытыми ключами. Инфраструктура открытых ключей использует технологию открытых ключей для:
- идентификации участников электронного обмена (пользователей, программ, систем),
- обеспечения конфиденциальности информации,
- контроля за целостностью информации,
- установления происхождения информации.
Введение
PKI
—
Public key infrastructure
Инфраструктура открытых ключей (ИОК) — набор средств
(технических, материальных, людских и т. д.), распределённых служб и
компонентов, в совокупности используемых для поддержки криптозадач на основе
закрытого и открытого ключей.
В основе PKI лежит использование криптографической системы с открытым ключом и
несколько основных принципов:
- закрытый ключ (private key) известен только его владельцу;
- удостоверяющий центр создает электронный документ — сертификат открытого ключа,
таким образом удостоверяя факт того, что закрытый (секретный) ключ известен
эксклюзивно владельцу этого сертификата, открытый ключ (public key) свободно
передается в сертификате; - никто не доверяет друг другу, но все доверяют удостоверяющему центру;
- удостоверяющий центр подтверждает или опровергает принадлежность открытого ключа
заданному лицу, которое владеет соответствующим закрытым ключом.
Основные задачи
Основные задачи системы информационной безопасности, которые решает инфраструктура управления открытыми ключами:
- обеспечение конфиденциальности информации;
- обеспечение целостности информации;
- обеспечение аутентификации пользователей и ресурсов, к которым обращаются пользователи;
- обеспечение возможности подтверждения совершенных пользователями действий с информацией (неотказуемость/неотрекаемость — англ. non-repudiation).
Данные шифруются для того, чтобы контролировать кто может их читать.
Если зашифровать данные закрытым (private) ключом, то все у кого есть открытый (public) ключ
смогут их читать.
Данные подписываются для того, чтобы все знали, что они пришли от нас.
Если подписать данные открытым (public) ключом, то понять, что они пришли от нас
сможет только владелец закрытого (private) ключа.
Данные шифруются открытым ключом и расшифровываются закрытым ключом.
Данные подписываются закрытым ключом и верифицируются открытым ключом.
После того как пара ключей сгенерирована, нужно создать сертификат и подписать его в УЦ,
чтобы другие пользователи могли ему доверять.
Первым делом отправляется запрос на подпись сертификата (certificate signing request)
В сертификат войдёт наш открытый (public) ключ, информация о том кто мы такие а также
какая-то дополнительная информация (extensions).
Информация о том, кто мы такие должна быть записана в формате (distinguished name).
Сертификат должен быть подписан нашим закрытым (private) ключом.
Основные определения
Цифровой сертификат — cтруктура данных, применяющаяся для связывания определенного модуля с определенным открытым ключом. Цифровые сертификаты используются для подтверждения подлинности пользователей, приложений и сервисов, и для контроля доступа (авторизации).
Цифровой конверт — метод использования шифрования с открытым ключом для безопасного распространения секретных ключей использующихся при симметричном шифровании и для посылки зашифрованных сообщений. Значительно сокращается проблема распространения ключей связанная с симметричным шифрованием.
Цифровая подпись- метод использования шифрования с открытым ключом для обеспечения целостности данных и невозможности отказа от посылки. Зашифрованный блок информации после расшифровки получателем, идентифицирует отправителя и подтверждает сохранность данных. Например: документ «сжат», HASH зашифрован с помощью частного ключа отправителя и приложен к документу (по сути, это означает приложить «отпечаток пальца» этого документа). Получатель использует открытый ключ для расшифровки полученного сообщения до состояния «выжимки», которая затем сравнивается с «выжимкой» полученной после «сжатия» присланного документа. Если обе «выжимки» не совпали, то это означает, что документ был изменен или поврежден в процессе пересылки.
Шифрование с открытым ключом — тип шифрования, при котором используется пара ключей: открытый, т.е. свободно доступный, и соответствующий ему частный ключ, известный только конкретному пользователю, приложению или сервису, которые владеют этим ключом. Эта пара ключей связана таким образом, что зашифрованное частным ключом, может быть расшифровано только открытым ключом и наоборот.
Симметричное шифрование — тип шифрования, при котором получатель и отправитель используют один и тот же ключ для шифрования и расшифровки. Это означает, что множество пользователей должны иметь одинаковые ключи. Очевидно, что до получения ключа пользователем шифрование невозможно, при этом распространение ключа по сети не является безопасным. Другие же способы распространения, такие как специальный курьер, дорогие и медленные.
Основные компоненты PKI
- Удостоверяющий центр он же и центр сертификации (УЦ или CA — Certificate Authority)
является основной структурой, формирующей цифровые сертификаты подчиненных центров сертификации и
конечных пользователей. УЦ является главным компонентом PKI:он является доверенной третьей стороной
это сервер, который осуществляет управление жизненным циклом сертификатов (но не их непосредственным использованием).
- он является доверенной третьей стороной
- это сервер, который осуществляет управление жизненным циклом сертификатов (но не их непосредственным использованием).
- Сертификат открытого ключа (чаще всего просто сертификат) — это данные пользователя/сервера и его открытый ключ, скреплённые электронной подписью удостоверяющего центра. Выпуская сертификат открытого ключа, удостоверяющий центр тем самым подтверждает, что лицо, поименованное в сертификате, владеет закрытым ключом, который соответствует этому открытому ключу.
- Регистрационный центр (РЦ) — необязательный компонент системы, предназначенный для регистрации пользователей. Удостоверяющий центр доверяет регистрационному центру проверку информации о субъекте. Регистрационный центр, проверив правильность информации, подписывает её своим ключом и передаёт удостоверяющему центру, который, проверив ключ регистрационного центра, выписывает сертификат. Один регистрационный центр может работать с несколькими удостоверяющими центрами (то есть состоять в нескольких PKI), один удостоверяющий центр может работать с несколькими регистрационными центрами. Иногда, удостоверяющий центр выполняет функции регистрационного центра.
- Репозиторий — хранилище, содержащее сертификаты и
списки отозванных сертификатов
(СОС) и служащее для распространения этих объектов среди пользователей. В Федеральном Законе РФ № 63 «Об электронной подписи» он называется реестр сертификатов ключей подписей.
- Архив сертификатов — хранилище всех изданных когда-либо сертификатов (включая сертификаты с закончившимся сроком действия). Архив используется для проверки подлинности электронной подписи, которой заверялись документы.
- Центр запросов — необязательный компонент системы, где конечные пользователи могут запросить или отозвать сертификат.
- Конечные пользователи — пользователи, приложения или системы, являющиеся владельцами сертификата и использующие инфраструктуру управления открытыми ключами.
Схема инфраструктуры открытого ключа
А инфраструктура открытого ключа (PKI) представляет собой набор ролей, политик, оборудования, программного обеспечения и процедур, необходимых для создания, управления, распространения, использования, хранения и отзыва цифровые сертификаты и управлять шифрование с открытым ключом. Цель PKI — облегчить безопасную электронную передачу информации для ряда сетевых операций, таких как электронная коммерция, интернет-банкинг и конфиденциальная электронная почта. Это требуется для действий, когда простые пароли являются неадекватным методом аутентификации и требуются более строгие доказательства для подтверждения личности сторон, участвующих в обмене данными, и для подтверждения передаваемой информации.
В криптография, PKI — это устройство, которое связывает открытые ключи с соответствующими идентификаторами сущностей (например, людей и организаций). Привязка устанавливается в процессе регистрации и выдачи сертификатов в центр сертификации (CA). В зависимости от уровня гарантии привязки это может выполняться автоматизированным процессом или под контролем человека.
Объект должен быть однозначно идентифицируемым в каждом домене CA на основе информации об этом объекте. Третья сторона орган проверки (VA) может предоставить информацию об этом объекте от имени CA.
Основная идея
Задачей PKI является определение политики выпуска цифровых сертификатов, выдача их и аннулирование, хранение информации, необходимой для последующей проверки правильности сертификатов. В число приложений, поддерживающих PKI, входят: защищенная электронная почта, протоколы платежей, электронные чеки, электронный обмен информацией, защита данных в сетях с протоколом IP, электронные формы и документы с электронной цифровой подписью (ЭЦП).
PKI оперирует в работе сертификатами. Сертификат — это электронный документ, который содержит электронный ключ пользователя, — открытый или же ключевую пару (keypair), — информацию о пользователе, которому принадлежит сертификат, удостоверяющую подпись центра выдачи сертификатов (УЦ) и информацию о сроке действия сертификата.
Для того, чтобы клиент мог работать с удостоверяющим центром, необходимо включить центр в список доверенных. После включения в этот список, любой сертификат, выданный доверенным центром, считается достоверным, а его владелец — достойным доверия.
Удостоверяющий центр также публикует и списки отозванных сертификатов (Certificate Revocation List/CRL), которые могут использовать клиенты инфраструктуры открытого ключа, когда решают вопрос о доверии сертификату пользователя и/или компьютера.
Создаётся пара ключей либо центром выдачи сертификатов (удостоверяющим центром), по запросу пользователя, или же самим пользователем с помощью специального программного обеспечения. Пользователь делает запрос на сертификат, после чего, после процедуры идентификации пользователя, центр выдаёт ему сертификат со своей подписью. Эта подпись свидетельствует о том, что данный сертификат выдан именно этим центром выдачи сертификатов и никем другим.
Секретный ключ используется для подписи данных, открытый ключ в свою очередь используется для шифрования данных. Открытый ключ известен всем, а секретный ключ хранится в тайне. Владелец секретного ключа всегда хранит его в защищённом хранилище и ни при каких обстоятельствах не должен допустить того, чтобы этот ключ стал известным злоумышленникам или другим пользователям. Если же секретный ключ всё таки станет известен злоумышленникам, то он считается скомпрометированным и должен быть отозван и заменен. Только владелец секретного ключа может подписать данные, а также расшифровать данные, которые были зашифрованы открытым ключом, соответствующим секретному ключу владельца. Подпись на данных или письме гарантирует авторство полученной информации и то, что информация в процессе передачи не подверглась изменениям. Подпись двоичного кода гарантирует, что данное программное обеспечение действительно произведено указанной компанией и не содержит вредоносного кода, если компания это декларирует.
Архитектуры PKI
В основном выделяют 5 видов архитектур PKI:
- Простая PKI (одиночный удостоверяющий центр).
- Иерархическая PKI.
- Сетевая PKI.
- Кросс-сертифицированные корпоративные PKI.
- Архитектура мостового УЦ.
В основном PKI делятся на разные архитектуры по следующим признакам:
- Количество УЦ (а также количество УЦ, которые доверяют друг-другу).
- Сложность проверки пути сертификации.
- Последствия выдачи злоумышленника себя за УЦ.
Методы сертификации
В этой модели доверительных отношений ЦС является доверенной третьей стороной, которой доверяет как субъект (владелец) сертификата, так и сторона, полагающаяся на сертификат.
Временные сертификаты и единый вход
С сентября 2020 года срок действия сертификата TLS снижен до 13 месяцев.
Альтернативным подходом к проблеме публичной аутентификации информации с открытым ключом является схема доверительного интернета, в которой используются самоподписанные. сертификаты и сторонние подтверждения этих сертификатов. Единичный термин «сеть доверия» не подразумевает существование единой сети доверия или общей точки доверия, а, скорее, одной из любого числа потенциально непересекающихся «сетей доверия». Примеры реализации этого подхода: PGP (Довольно хорошая конфиденциальность) и GnuPG (реализация OpenPGP, стандартизированная спецификация PGP). Поскольку PGP и его реализации позволяют использовать электронное письмо цифровые подписи для самостоятельной публикации информации с открытым ключом, относительно легко реализовать собственную сеть доверия.
Концепция сети доверия была впервые предложена создателем PGP. Фил Циммерманн в 1992 г. в руководстве для PGP версии 2.0:
Со временем вы будете накапливать ключи от других людей, которых, возможно, захотите назначить надежными посредниками. Все остальные выберут своих доверенных представителей. И каждый будет постепенно накапливать и распространять со своим ключом коллекцию удостоверяющих подписей от других людей, ожидая, что любой, кто ее получит, будет доверять хотя бы одной или двум подписям. Это вызовет появление децентрализованной отказоустойчивой сети доверия для всех открытых ключей.
Простая инфраструктура открытого ключа
Вот список известных PKI на основе блокчейна:
Public Key Infrastructure (PKI) — это набор различных технологий, которые используются для обеспечения аутентификации источника, целостности данных и конфиденциальности для пользователя в сети. PKI использует преимущества асимметричного шифрования и использует пары открытого и закрытого ключей для шифрования данных.
В PKI открытый ключ обычно связан с цифровой подписью, чтобы добавить доверие и проверить сведения о владельце сертификата. Ниже приведен ключевой жизненный цикл в PKI:
- Генерация ключа: Этот процесс определяет шифр и размер ключа.
- Генерация сертификата: Этот процесс создает цифровой сертификат и назначает его человеку или устройству.
- Распространение: Процесс распространения отвечает за безопасное распространение ключа пользователю или устройству.
- Хранение: Этот процесс отвечает за безопасное хранение ключа, чтобы предотвратить любой несанкционированный доступ к нему.
- Отзыв: Сертификат или ключ могут быть отозваны, если они скомпрометированы субъектом угрозы.
- Срок действия: Каждый сертификат имеет срок службы.
Каждый день мы посещаем различные веб-сайты, такие как социальные сети, стрим, новости, спорт, блоги и другие платформы. Однако задумывались ли вы когда-нибудь о проверке подлинности веб-сайтов, которые вы посещаете? Вы, наверное, думаете, что всему, что находится в Интернете, нельзя доверять. Хотя это отчасти правда, мы можем доверять только ограниченному числу веб-сайтов, например, доверять веб-сайту вашего банка. Главный вопрос заключается в том, как мы можем проверить подлинность веб-сайтов, которые мы посещаем? Именно здесь как PKI, так и цифровые сертификаты помогают установить доверие между хостом в Интернете и нашим компьютером.
Центр сертификации
PKI играет жизненно важную роль в Интернете, поскольку многим пользователям и устройствам требуется метод установления доверия в самой ненадежной сети в мире – Интернете. Понимание компонентов, которые помогают PKI обеспечить доверие, необходимую как пользователям, так и устройствам, имеет важное значение для любого специалиста по кибербезопасности.
Вы можете рассматривать PKI как набор процедур, правил, аппаратного и программного обеспечения, а также людей, которые работают вместе для управления цифровыми сертификатами. Цифровой сертификат-это официальная форма идентификации объекта, которая проверяется доверенной стороной. Эти цифровые сертификаты выдаются доверенной стороной в сети или Интернете. Они известны как Центр сертификации (Certificate Authority — CA).
В каждой стране существует государственное учреждение, которое обычно отвечает за проверку личности своих граждан и выдачу удостоверений личности, такой как паспорт.
Важное примечание! Цифровой сертификат создается при объединении ключа и цифровой подписи. Сертификат будет содержать сведения о владельце сертификата, например, об организации.
ЦС выдаст объекту цифровой сертификат только после того, как его личность будет проверена. После того, как ЦС создает цифровой сертификат, он сохраняется в базе данных сертификатов, которая используется для безопасного хранения всех утвержденных ЦС цифровых сертификатов.
Важное примечание! По истечении срока действия цифрового сертификата он возвращается в ЦС, который затем помещается в список отзыва сертификатов (Certificate Revocation List — CRL), который поддерживается ЦС.
Цифровой сертификат форматируется с использованием стандарта X.509, который содержит следующие сведения:
Следующий рисунок — это цифровой сертификат, который используется для проверки веб-сайта Cisco:
Как показано на предыдущем рисунке, видно, что CA — это HydrantID SSH ICA G2, который выдает сертификат на www.cisco.com на срок действия с 20 сентября 2019 года по 20 сентября 2021 года.
Как показано на следующем рисунке, цифровой сертификат содержит дополнительную информацию, которая хранится с использованием стандарта X.509:
Далее давайте рассмотрим, как создается цифровая подпись и ее роль в PKI.
Цифровая подпись
При совершении деловых операций на документах требуется подпись, чтобы гарантировать, что сделка санкционирована соответствующим лицом. Такая же концепция требуется в сети, так что цифровая подпись отправляется вместе с сообщением на конечный хост. Затем узел назначения может использовать цифровую подпись для проверки подлинности сообщения.
При использовании PKI используются следующие алгоритмы для создания и проверки цифровых подписей:
- DSA
- RSA
- Elliptic Curve Digital Signature Algorithm (ECDSA)
Чтобы создать цифровую подпись, между Алисой (отправителем) и Сергеем Алексеевичем (получателем) происходит следующий процесс:
1) Алиса будет использовать алгоритм хеширования для создания хэша (дайджеста) сообщения:
2) Затем Алиса будет использовать свой закрытый ключ для шифрования хэша (дайджеста) сообщения:
Цифровая подпись используется в качестве доказательства того, что Алиса подписала сообщение.
Чтобы лучше понять, как используются цифровые подписи в реальной жизни, давайте представим, что в сети есть два пользователя. Алиса хочет отправить Сергею Алексеевичу сообщение. Алиса может использовать цифровую подпись с сообщением, чтобы заверить Сергея Алексеевича в том, что сообщение исходило именно от нее. Это шаги, которые Алиса будет использовать для обеспечения подлинности, целостности и неотрицания:
- Алиса создаст пару открытых и закрытых ключей для шифрования данных.
- Алиса даст Сергею Алексеевичу только открытый ключ. Таким образом, закрытый ключ хранится у Алисы.
- Алиса создаст сообщение для Сергея Алексеевича и создаст хэш (дайджест) сообщения.
- Затем Алиса будет использовать закрытый ключ для шифрования хэша (дайджеста) сообщения для создания цифровой подписи.
- Алиса отправит сообщение и цифровую подпись Сергею Алексеевичу.
- Сергей Алексеевич будет использовать открытый ключ Алисы для расшифровки цифровой подписи, чтобы получить хэш сообщения.
- Сергей Алексеевич также сгенерирует хэш сообщения и сравнит его с хэшем, полученным из цифровой подписи Алисы. Как только два значения хэша (дайджеста) совпадают, это просто означает, что сообщение подписано и отправлено Алисой.
Цифровые подписи используются не только для проверки подлинности сообщений. Они также используются в следующих случаях:
- Цифровые подписи для цифровых сертификатов: это позволяет отправителю вставить цифровую подпись в цифровой сертификат.
- Цифровые подписи для подписи кода: это позволяет разработчику приложения вставить свою цифровую подпись в исходник приложения, чтобы помочь пользователям проверить подлинность программного обеспечения или приложения.
На следующем рисунке показан пример приложения, содержащего цифровой сертификат:
На следующем рисунке показана дополнительная проверка цифровой подписи подписавшего:
Система доверия PKI
Ранее мы узнали, что организация может получить цифровой сертификат от доверенного центра сертификации в Интернете. Однако во многих крупных организациях вы обычно найдете корневой ЦС и множество промежуточных ЦС. Корневой ЦС отвечает за создание первичного цифрового сертификата, который затем делегируется каждому подчиненному ЦС или промежуточному ЦС. Промежуточный ЦС будет использовать цифровой сертификат корневого сервера для создания новых цифровых сертификатов для конечных устройств, таких как внутренние серверы.
На следующем рисунке показана иерархия корневого и промежуточного ЦС:
Использование этого типа иерархической структуры снимает нагрузку с корневого центра сертификации по управлению всеми цифровыми сертификатами в организации. Некоторые из этих обязанностей делегированы промежуточным серверам ЦС в сети. Представьте, что в вашем головном офисе вы развернули корневой ЦС, а в каждом удаленном филиале развернули промежуточные ЦС. Следовательно, каждый промежуточный ЦС отвечает за управление сертификатами своего собственного домена или филиала. Это также снижает риски взлома корневого ЦС злоумышленником, так что в случае взлома промежуточного ЦС корневой ЦС может быть отключен от сети, не затрагивая другие конечные устройства или промежуточные ЦС.
В небольших сетях можно развернуть один корневой ЦС для предоставления цифровых сертификатов каждому конечному устройству, как показано на следующем рисунке:
Как показано на предыдущем рисунке, одним ЦС легко управлять. Однако по мере роста сети наличие единственного центра сертификации в сети не позволит легко масштабироваться, поэтому необходимо использовать иерархическую структуру с корневым центром сертификации и промежуточными (подчиненными) центрами сертификации.
Рекомендуем
PKI того или иного типа и от любого из нескольких поставщиков имеют множество применений, включая предоставление открытых ключей и привязок к идентификаторам пользователей, которые используются для:
- Шифрование и / или отправитель аутентификация из электронное письмо сообщения (например, используя OpenPGP или S / MIME );
- Шифрование и / или аутентификация документов (например, Подпись XML или XML-шифрование стандарты, если документы закодированы как XML );
- Начальная загрузка безопасные протоколы связи, такие как Обмен ключами в Интернете (IKE) и SSL. В обоих случаях начальная настройка безопасного канала («ассоциация безопасности «) использует асимметричный ключ — то есть, открытый ключ — методы, тогда как при фактическом общении используются более быстрые симметричный ключ —Т.е., Секретный ключ — методы;
- Интернет вещей требует безопасного взаимодействия между взаимно доверенными устройствами. Инфраструктура открытого ключа позволяет устройствам получать и обновлять сертификаты X509, которые используются для установления доверия между устройствами и шифрования связи с использованием TLS.
Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии»
Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году.
Находясь под влиянием работы Ральфа Меркле (англ. Ralph Merkle) о распространении открытого ключа,
они предложили метод получения секретных ключей, используя открытый канал.
Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи — Хеллмана,
был первым опубликованным практичным методом для установления разделения секретного ключа между
заверенными пользователями канала.
В 2002 году Хеллман предложил называть данный алгоритм «Диффи — Хеллмана — Меркле», признавая вклад
Меркле в изобретение криптографии с открытым ключом.
Эта же схема была разработана Малькольмом Вильямсоном в 1970-х, но держалась в секрете до 1997 г.
Метод Меркле по распространению открытого ключа был изобретён в 1974 и опубликован в 1978 году,
его также называют загадкой Меркле.
В 1977 году учёными Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом из Массачусетского
технологического института был разработан алгоритм шифрования, основанный на проблеме о разложении
на множители. Система была названа по первым буквам их фамилий (RSA — Rivest, Shamir, Adleman).
Эта же система была изобретена в 1973 году Клиффордом Коксом (англ. Clifford Cocks), работавшим в
центре правительственной связи (GCHQ), но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании было неизвестно до 1977 года. RSA стал первым алгоритмом, пригодным и для шифрования, и для электронной подписи.
Реализации с открытым исходным кодом
- OpenSSL это простейшая форма CA и инструмент для PKI. Это инструментарий, разработанный на C, который включен во все основные Linux дистрибутивов и может использоваться как для создания собственного (простого) центра сертификации, так и для приложений с поддержкой PKI. (Лицензированный Apache )
- EJBCA это полнофункциональная реализация CA корпоративного уровня, разработанная в Ява. Его можно использовать для настройки центра сертификации как для внутреннего использования, так и в качестве услуги. (Лицензия LGPL )
- OpenCA — это полнофункциональная реализация CA с использованием ряда различных инструментов. OpenCA использует OpenSSL для основных операций PKI.
- XCA представляет собой графический интерфейс и базу данных. XCA использует OpenSSL для основных операций PKI.
- (Снято с производства) TinyCA был графическим интерфейсом для OpenSSL.
- IoT_pki это простой PKI, построенный с использованием Python библиотека криптографии
- Солдатский жетон это полнофункциональный центр сертификации, разработанный и поддерживаемый как часть Проект Fedora.
- Либерметик это автономная система инфраструктуры с открытым ключом, встроенная в C-язык библиотека. Герметик использует LibSodium для всех криптографических операций, и SQLite для всех операций сохранения данных. Программное обеспечение Открытый исходный код и выпущен под Лицензия ISC.
История
Публичное раскрытие как безопасных обмен ключами и асимметричные ключевые алгоритмы в 1976 г. Диффи, Хеллман, Ривест, Шамир, и Адлеман полностью изменили защищенную связь. С дальнейшим развитием высокоскоростной цифровой электронной связи ( Интернет и его предшественники), стала очевидной необходимость в способах безопасного взаимодействия пользователей друг с другом и, как дальнейшее следствие этого, в способах, с помощью которых пользователи могли быть уверены, с кем они фактически взаимодействуют.
Продавцы и предприниматели увидели возможность большого рынка, основали компании (или новые проекты в существующих компаниях) и начали агитировать за юридическое признание и защиту от ответственности. An Американская ассоциация адвокатов технологический проект опубликовал обширный анализ некоторых предполагаемых юридических аспектов операций PKI (см. Рекомендации ABA по цифровой подписи ), а вскоре после этого несколько штатов США (Юта будучи первым в 1995 году) и другие юрисдикции по всему миру начали принимать законы и постановления. Группы потребителей подняли вопросы о Конфиденциальность, доступа и ответственности, которые в одних юрисдикциях учитывались больше, чем в других.
Принятые законы и постановления различались, возникали технические и эксплуатационные проблемы при преобразовании схем PKI в успешную коммерческую эксплуатацию, и прогресс шел гораздо медленнее, чем предполагали пионеры.
К первым нескольким годам 21-го века базовую криптографическую инженерию было явно нелегко правильно развернуть. Рабочие процедуры (ручные или автоматические) было нелегко правильно спроектировать (или даже если они так спроектированы, чтобы выполнить безупречно, как того требовала инженерия). Существовавших стандартов было недостаточно.
Дизайн
- А центр сертификации (CA), который хранит, выдает и подписывает цифровые сертификаты;
- А регистрирующий орган (RA), который проверяет идентичность объектов, запрашивающих их цифровые сертификаты для хранения в ЦС;
- А центральный каталог—Т.е. Безопасное место, в котором ключи хранятся и индексируются;
- А система управления сертификатами управление такими вещами, как доступ к сохраненным сертификатам или доставка сертификатов, которые будут выпущены;
- А политика сертификатов излагая требования PKI в отношении ее процедур. Его цель — позволить посторонним проанализировать надежность PKI.
Примеры использования PKI
Сторона Б зашифровывает документ открытым ключом стороны А. Чтобы убедиться, что открытый ключ действительно принадлежит стороне А, сторона Б запрашивает сертификат открытого ключа у удостоверяющего центра. Если это так, то только сторона А может расшифровать сообщение, так как владеет соответствующим закрытым ключом.
Электронный отпечаток — это информация при помощи которой можно проверить, является ли полученный открытый ключ именно тем, который был отослан отправителем. Электронные отпечатки открытого и закрытого ключа одной пары идентичны, поэтому сверив отпечаток полученного ключа (например, по телефону) с отпечатком закрытого ключа отправителя, можно установить соответствие открытого ключа закрытому.
Электронно-цифровая подпись (ЭЦП)
Сторона А формирует ЭЦП документа и отправляет документ стороне Б. Сторона Б запрашивает сертификат открытого ключа стороны А у удостоверяющего центра, а также информацию о действительности сертификата. Если сертификат стороны А действителен и проверка ЭЦП прошла успешно, значит документ был подписан стороной А, а не кем-то другим.