Инфраструктура открытых ключей
Инфраструктура открытых ключей (англ. PKI - Public Key Infrastructure) — набор средств (технических, материальных, людских и т. д.), распределенных служб и компонентов, в совокупности используемых для поддержки криптозадач на основе закрытого и открытого ключей.
В основе PKI лежит использование криптографической системы с открытым ключом и несколько основных принципов:
- закрытый ключ известен только его владельцу;
- удостоверяющий центр создает сертификат открытого ключа, таким образом удостоверяя этот ключ;
- никто не доверяет друг другу, но все доверяют удостоверяющему центру;
- удостоверяющий центр подтверждает или опровергает принадлежность открытого ключа заданному лицу, которое владеет соответствующим закрытым ключом.
Фактически, PKI представляет собой систему, основным компонентом которой является удостоверяющий центр и пользователи, взаимодействующие между собой посредством удостоверяющего центра.
Содержание |
История [править]
| Этот раздел статьи ещё не написан.
Согласно замыслу одного из участников Википедии, на этом месте должен располагаться специальный раздел.
Вы можете помочь проекту, написав этот раздел. |
Объекты PKI [править]
PKI реализуется в модели клиент-сервер, то есть проверка какой-либо информации, предоставляемой инфраструктурой может происходить только по инициативе клиента.
- Основные компоненты PKI
- Удостоверяющий центр (УЦ) является основной структурой, формирующей цифровые сертификаты подчиненных центров сертификации и конечных пользователей. УЦ является главным управляющим компонентом PKI:
- он является доверенной третьей стороной (trusted third party)
- это сервер, который осуществляет управление сертификатами.
- Сертификат открытого ключа (чаще всего просто сертификат) — это данные пользователя и его открытый ключ, скрепленные подписью удостоверяющего центра. Выпуская сертификат открытого ключа, удостоверяющий центр тем самым подтверждает, что лицо, поименованное в сертификате, владеет секретным ключом, который соответствует этому открытому ключу.
- Регистрационный центр (РЦ) — необязательный компонент системы, предназначенный для регистрации пользователей. Для этих целей РЦ обычно предоставляет web-интерфейс. Удостоверяющий центр доверяет регистрационному центру проверку информации о субъекте. Регистрационный центр, проверив правильность информации, подписывает её своим ключом и передаёт удостоверяющему центру, который, проверив ключ регистрационного центра, выписывает сертификат. Один регистрационный центр может работать с несколькими удостоверяющими центрами (то есть состоять в нескольких PKI), один удостоверяющий центр может работать с несколькими регистрационными центрами. Иногда, удостоверяющий центр выполняет функции регистрационного центра.
- Репозиторий — хранилище, содержащее сертификаты и списки отозванных сертификатов (СОС) и служащее для распространения этих объектов среди пользователей. В Федеральном Законе РФ № 63 «Об электронной подписи» он называется реестр сертификатов ключей подписей.
- Архив сертификатов — хранилище всех изданных когда-либо сертификатов (включая сертификаты с закончившимся сроком действия). Архив используется для проверки подлинности электронной подписи, которой заверялись документы.
- Центр запросов — необязательный компонент системы, где конечные пользователи могут запросить или отозвать сертификат.
- Конечные пользователи — пользователи, приложения или системы, являющиеся владельцами сертификата и использующие инфраструктуру управления открытыми ключами.
Основные задачи [править]
Основные задачи системы информационной безопасности, которые решает инфраструктура управления открытыми ключами:
- обеспечение конфиденциальности информации;
- обеспечение целостности информации;
- обеспечение аутентификации пользователей и ресурсов, к которым обращаются пользователи;
- обеспечение возможности подтверждения совершенных пользователями действий с информацией (неотказуемость, или апеллируемость — англ. non-repudiation).
PKI напрямую не реализует авторизацию, доверие, именование субъектов криптографии, защиту информации или линий связи, но может использоваться как одна из составляющих при их реализации.
Основная идея [править]
Задачей PKI является определение политики выпуска цифровых сертификатов, выдача их и аннулирование, хранение информации, необходимой для последующей проверки правильности сертификатов. В число приложений, поддерживающих PKI, входят: защищенная электронная почта, протоколы платежей, электронные чеки, электронный обмен информацией, защита данных в сетях с протоколом IP, электронные формы и документы с электронной цифровой подписью (ЭЦП).
Деятельность инфраструктуры управления открытыми ключами осуществляется на основе регламента системы. Инфраструктура открытых ключей основывается на использовании принципов криптографической системы с открытым ключом. Инфраструктура управления открытыми ключами состоит из центра сертификации (удостоверяющего центра — УЦ), конечных пользователей, и опциональных компонентов: центра регистрации и сетевого справочника.
PKI оперирует в работе сертификатами. Сертификат — это электронный документ, который содержит электронный ключ пользователя, — открытый или же ключевую пару (keypair), — информацию о пользователе, которому принадлежит сертификат, удостоверяющую подпись центра выдачи сертификатов (УЦ) и информацию о сроке действия сертификата.
Для того, чтобы клиент мог работать с удостоверяющим центром, необходимо включить центр в список доверенных. После включения в этот список, любой сертификат, выданный доверенным центром, считается достоверным, а его владелец — достойным доверия.
Удостоверяющий центр также публикует и списки отозванных сертификатов (Certificate Revocation List/CRL), которые могут использовать клиенты инфраструктуры открытого ключа, когда решают вопрос о доверии сертификату пользователя и/или компьютера.
Ключевая пара — это набор, состоящий из двух ключей: секретного ключа (private key) и открытого ключа (public key). Эти ключи создаются вместе, являются комплементарными по отношению друг к другу (то, что зашифровано с помощью открытого ключа можно расшифровать, только имея секретный ключ, а подпись сделанную с помощью секретного ключа можно проверить используя открытый ключ).
Создаётся пара ключей либо центром выдачи сертификатов (удостоверяющим центром), по запросу пользователя, или же самим пользователем с помощью специального программного обеспечения. Пользователь делает запрос на сертификат, после чего, после процедуры идентификации пользователя, центр выдаёт ему сертификат со своей подписью. Эта подпись свидетельствует о том, что данный сертификат выдан именно этим центром выдачи сертификатов и никем другим.
Секретный ключ используется для подписи данных, открытый ключ в свою очередь используется для шифрования данных. Открытый ключ известен всем, а секретный ключ хранится в тайне. Владелец секретного ключа всегда хранит его в защищённом хранилище и ни при каких обстоятельствах не должен допустить того, чтобы этот ключ стал известным злоумышленникам или другим пользователям. Если же секретный ключ всё таки станет известен злоумышленникам, то он считается скомпрометированным и должен быть отозван и заменен. Только владелец секретного ключа может подписать данные, а также расшифровать данные, которые были зашифрованы открытым ключом, соответствующим секретному ключу владельца. Подпись на данных или письме гарантирует авторство полученной информации и то, что информация в процессе передачи не подверглась изменениям. Подпись двоичного кода гарантирует, что данное программное обеспечение действительно произведено указанной компанией и не содержит вредоносного кода, если компания это декларирует.
Некоторые основные моменты [править]
| Стиль этого раздела неэнциклопедичен или нарушает нормы русского языка.
Следует исправить раздел согласно стилистическим правилам Википедии.
|
Разберём подробнее следующие моменты:
- В чём заключается работа УЦ
- Как происходит выдача сертификата, обмен открытыми ключами и как понять, что открытый ключ, который мы имеем, не фальшивый
- Какие бывают PKI.
УЦ и его работа [править]
Основная работа удостоверяющего центра заключается в идентификации пользователей и их запросов на сертификаты, в выдаче пользователям сертификатов, в проверке подлинностей сертификатов, в проверке по сертификату, не выдаёт ли пользователь сертификата себя за другого, в аннулировании или отзыве сертификатов, в ведении списка отозванных сертификатов.
Процесс работы с сертификатами [править]
Для того чтобы получить сертификат, нужно найти какой-либо УЦ в интернете (альтернативным решением является использование ПО PGP или ему подобных), после чего выписать сертификат и установить его себе в систему. Обычно этот процесс происходит автоматически. После установки сертификата его можно будет увидеть у себя в хранилище личных сертификатов. Для того чтобы просмотреть его свойства, достаточно просто открыть его. (Для операционных систем семейства Windows: Пуск -> Выполнить -> certmgr.msc -> OK). В свойствах можно увидеть время действия сертификата, кем он был выдан, кому был выдан, его уникальный номер и прочие свойства. После получения сертификатов двумя или более пользователями от одного УЦ, происходит организация простейшей по архитектуре PKI. PKI — с одиночным УЦ. Пользователи, сохранив сертификаты в файл обмениваются ими (таким образом происходит обмен открытыми ключами) и начинают защищённую переписку. Проверка подлинности полученного открытого ключа проводится по электронному отпечатку этого ключа. В простейшем случае достаточно позвонить коллеге выславшему открытый ключ и сверить с ним электронный отпечаток ключа. Если он совпал — можно смело начинать защищённую переписку, если нет — обменяться ключами ещё раз.
Какие же бывают PKI по архитектуре, кроме как одиночные УЦ?
Архитектуры PKI [править]
В основном выделяют 5 видов архитектур PKI, это:
- простая PKI (одиночный УЦ)
- иерархическая PKI
- сетевая PKI
- кросс-сертифицированные корпоративные PKI
- архитектура мостового УЦ
В основном PKI делятся на разные архитектуры по следующим признакам:
- количество УЦ (а также количество УЦ, которые доверяют друг-другу)
- сложность проверки пути сертификации
- последствия выдачи злоумышленника себя за УЦ
Рассмотрим более подробно каждую из архитектур PKI в отдельности.
1. Простая PKI [править]
Как уже говорилось выше, самая простая из архитектур, это архитектура одиночного УЦ. В данном случае все пользователи доверяют одному УЦ и переписываются между собой. В данной архитектуре, если злоумышленник выдаст себя за УЦ, необходимо просто перевыпустить все выписанные сертификаты и продолжить нормальную работу.
2. Иерархическая PKI [править]
Иерархическая структура — это наиболее часто встречающаяся архитектура PKI. В данном случае во главе всей структуры стоит один Головной УЦ, которому все доверяют и ему подчиняются нижестоящие УЦ. Кроме этого головного УЦ в структуре присутствуют ещё не один УЦ, который подчиняется вышестоящему, которому в свою очередь приписаны какие-либо пользователи или нижестоящие УЦ. Частный пример иерархической PKI — корпоративная PKI. Например если у нас есть одна большая фирма, у которой в подчинении множество филиалов по всей стране. В главном здании фирмы есть головной УЦ и в каждом филиале есть УЦ, который подчиняется головному. В иерархической PKI, даже если злоумышленник выдал себя за какой — либо УЦ, сеть продолжает работать без него, а когда он восстанавливает нормальную работоспособность — он просто снова включается в структуру.
3. Сетевая PKI [править]
Сетевая архитектура PKI строится как сеть доверия, многочисленные удостоверяющие центры которой предоставляют PKI-сервисы и связаны одноранговыми, то есть равноправными, отношениями. Но в данном случае нет одного головного УЦ, которому все доверяют. В этой архитектуре все УЦ доверяют рядом стоящим УЦ, а каждый пользователь доверяет только тому УЦ, у которого выписал сертификат. Удостоверяющие центры выпускают сертификаты друг для друга; пара сертификатов описывает двусторонние отношения доверия. В данную архитектуру PKI легко добавляется новый УЦ, для этого ему нужно обменяться сертификатами, по крайней мере, с одним УЦ, который уже входит в сеть. В данной архитектуре наиболее сложное построение цепочки сертификации.
Сетевые PKI обладают большой гибкостью, так как имеют многочисленные пункты доверия. Компрометация одного УЦ не отражается на сетевой PKI в целом: удостоверяющие центры, которые выпустили сертификаты для скомпрометированного УЦ, просто аннулируют их, тем самым удаляя из инфраструктуры ненадежный УЦ. В результате не нарушается работа пользователей, связанных с другими удостоверяющими центрами, — они по-прежнему могут полагаться на надежные пункты доверия и защищенно связываться с остальными пользователями своей PKI. Компрометация сетевой PKI приводит либо к тому, что сворачивается работа одного УЦ вместе с его сообществом пользователей, либо, если стали ненадежными несколько удостоверяющих центров, к тому, что PKI распадается на несколько меньших инфраструктур. Восстановление после компрометации сетевой PKI происходит проще, чем иерархической, прежде всего, потому что компрометация затрагивает меньше пользователей.
Построить путь сертификации в сети достаточно сложно, поскольку этот процесс не детерминирован и имеются многочисленные варианты формирования цепи сертификатов. Одни из них приводят к построению правильного пути, другие — заводят в тупик. По этой причине валидация пути сертификации часто выполняется одновременно с его построением, частью этого процесса является удаление неверных ветвей. Для построения правильного пути используется несколько дополнительных полей сертификатов.
4. Архитектура кросс-сертифицированной корпоративной PKI [править]
Данный вид архитектуры можно рассматривать как смешанный вид иерархической и сетевой архитектур. Есть несколько фирм, у каждой из которых организована какая-то своя PKI, но они хотят общаться между собой, в результате чего возникает их общая межфирменная PKI.В архитектуре кросс-сертифицированной корпоративной PKI самая сложная система цепочки сертификации.
5. Архитектура мостового УЦ [править]
Архитектура мостового УЦ разрабатывалась для того, чтобы убрать недостатки сложного процесса сертификации в кросс-сертифицированной корпоративной PKI. В данном случае все компании доверяют не какой-то одной или двум фирмам, а одному определённому мостовому УЦ, который является практически их головным УЦ, но он не является основным пунктом доверия, а выступает в роли посредника между другими УЦ.
Внедрение PKI [править]
Внедрение инфраструктуры управления открытыми ключами с учетом снижения затрат и сроков внедрения осуществляется в течение семи этапов.
- Этап 1. Анализ требований к системе.
- Этап 2. Определение архитектуры.
- Этап 3. Определение регламента.
- Этап 4. Обзор системы безопасности. Анализ и минимизация рисков.
- Этап 5. Интеграция.
- Этап 6. Развертывание.
- Этап 7. Эксплуатация.
Примеры использования PKI [править]
Электронно-цифровая подпись (ЭЦП) [править]
Сторона А формирует ЭЦП документа и отправляет документ стороне Б. Сторона Б запрашивает сертификат открытого ключа стороны А у удостоверяющего центра, а также информацию о действительности сертификата. Если сертификат стороны А действителен и проверка ЭЦП прошла успешно, значит документ был подписан стороной А, а не кем-то другим.
Шифрование сообщений [править]
Сторона Б зашифровывает документ открытым ключом стороны А. Чтобы убедиться, что открытый ключ действительно принадлежит стороне А, сторона Б запрашивает сертификат открытого ключа у удостоверяющего центра. Если это так, то только сторона А может расшифровать сообщение, так как владеет соответствующим закрытым ключом.
Авторизация [править]
Сертификаты могут использоваться для подтверждения личности пользователя и задания полномочий, которыми он наделен. В числе полномочий субъекта сертификата может быть, например, право просматривать информацию или разрешение вносить изменения в материал, представленный на web-сервере.
Терминология PKI [править]
Из всего выше сказанного можно выделить некоторые пункты, а также добавить новые, для того чтобы определить основные термины, используемые в PKI. Итак, в PKI используются термины:
- сертификат
электронный документ, который содержит электронный ключ пользователя, информацию о пользователе, удостоверяющую подпись центра выдачи сертификатов и информацию о сроке действия сертификата.
- закрытый ключ
ключ, хранящийся в безопасном хранилище, созданный с использованием алгоритмов шифрования, имеющий свой уникальный электронный отпечаток и использующийся для получения зашифрованных данных и подписи данных
- открытый ключ
ключ, созданный в паре с закрытым ключом, имеющем такой же электронный отпечаток, как и закрытый ключ, которому он соответствует, используется для шифрования данных и проверки подписи
- электронный отпечаток (fingerprint)
это информация при помощи которой можно проверить, является ли полученный открытый ключ именно тем, который был отослан отправителем. Электронные отпечатки открытого и закрытого ключа одной пары идентичны, поэтому сверив отпечаток полученного ключа (например, по телефону) с отпечатком закрытого ключа отправителя, можно установить соответствие открытого ключа закрытому.
- подписанные данные
данные, подписанные при помощи закрытого ключа пользователя
- зашифрованные данные
данные, зашифрованные при помощи открытого ключа пользователя
Термины, которые необходимы для общего понимания:
- путь доверия
цепочка документов, которая позволяет удостовериться, что предъявленный сертификат был выдан доверенным центром; последним звеном в этой цепочке является предъявленный сертификат, начальным — сертификат корневого доверенного центра сертификации, а промежуточными — сертификаты, выданные промежуточным центрам сертификации. Особенностью пути доверия является то, что при потере доверия к начальному звену цепочки (корневому центру сертификации) теряется доверие ко всей цепочке, то есть ко всем выданным данным центром сертификатам и к предъявленному в том числе.
- личные сертификаты
сертификаты которые хранятся у пользователя в личном хранилище сертификатов.
- корневые центры сертификации
центры сертификации, которым доверяют изначально все, либо руководствуясь политикой предприятия, либо из-за предустановленных настроек хранилища сертификатов, и которые могут находиться в начале пути доверия.
- доверенные центры сертификации
список центров сертификации, которым доверяют владельцы сертификатов. Чтобы сделать какой-либо центр доверенным, достаточно получить от него сертификат и внести его в список доверенных центров.
Библиография [править]
- Полянская О. Ю., Горбатов В. С. Инфраструктура открытых ключей. Учебное пособие., Москва, 2007. ISBN 978-5-94774-602-0
Ссылки [править]
- IETF — спецификации PKIX (англ.)
| Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её. Это примечание по возможности следует заменить более точным. |

