forked from vlsergey/infosec
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CAs.tex
46 lines (34 loc) · 8.09 KB
/
CAs.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
\subsection{Иерархия удостоверяющих центров}\label{section-CAs}
\selectlanguage{russian}
Проблему аутентификации и распределения сеансовых симметричных ключей шифрования в Интернете, а также в больших локальных и виртуальных сетях решают с помощью построения иерархии открытых ключей криптосистем с открытым ключом.
\begin{enumerate}
\item Существует удостоверяющий центр (УЦ) верхнего уровня\index{удостоверяющий центр!верхнего уровня}, корневой УЦ\index{удостоверяющий центр!корневой} (\langen{root certificate authority, root CA}), обладающий парой из закрытого и открытого ключей. Открытый ключ УЦ верхнего уровня распространяется среди всех пользователей, причём все пользователи \emph{доверяют УЦ}. Это означает, что:
\begin{itemize}
\item УЦ -- <<хороший>>, то есть обеспечивает надёжное хранение закрытого ключа, не пытается фальсифицировать и скомпрометировать свои ключи;
\item имеющийся у пользователей открытый ключ УЦ действительно принадлежит УЦ.
\end{itemize}
В массовых информационных и интернет-системах открытые ключи многих корневых УЦ встроены в дистрибутивы и пакеты обновлений ПО. Доверие пользователей неявно проявляется в их уверенности в том, что открытые ключи корневых УЦ, включённые в ПО, не фальсифицированы и не скомпрометированы. \emph{Де-факто пользователи доверяют а) распространителям ПО и обновлений, б) корневому УЦ.}\index{доверие}
Назначение УЦ верхнего уровня -- проверка принадлежности и подписание открытых ключей удостоверяющих центров второго уровня (\langen{certificate authority, certification authority, CA}), а также организаций и сервисов. УЦ подписывает своим закрытым ключом следующее сообщение:
\begin{itemize}
\item название и URI УЦ нижележащего уровня или организации/сервиса;
\item значение сгенерированного открытого ключа и название алгоритма соответствующей криптосистемы с открытым ключом;
\item время выдачи и срок действия открытого ключа.
\end{itemize}
\item УЦ второго уровня\index{удостоверяющий центр} имеют свои пары открытых и закрытых ключей, сгенерированных и подписанных корневым УЦ, причём перед подписанием корневой УЦ убеждается в <<надёжности>> УЦ второго уровня, производит юридические проверки. Корневой УЦ не имеет доступа к закрытым ключам УЦ второго уровня.
Пользователи, имея в своей базе открытых ключей доверенные открытые ключи корневого УЦ, могут проверить ЭП открытых ключей УЦ 2-го уровня и убедиться, что предъявленный открытый ключ действительно принадлежит данному УЦ. Таким образом:
\begin{itemize}
\item Пользователи полностью доверяют корневому УЦ и его открытому ключу, который у них хранится. Пользователи верят, что корневой УЦ не подписывает небезопасные ключи и гарантирует, что подписанные им ключи действительно принадлежат УЦ 2-го уровня.
\item Проверив ЭП открытого ключа УЦ 2-го уровня с помощью доверенного открытого ключа УЦ 1-го уровня, пользователь верит, что открытый ключ УЦ 2-го уровня действительно принадлежит данному УЦ и не был скомпрометирован.
\end{itemize}
Аутентификация в протоколе защищённого интернет-соединения SSL/TLS\index{протокол!SSL/TLS} достигается в результате проверки пользователями совпадения URI-адреса сервера из ЭП с фактическим адресом.
УЦ второго уровня в свою очередь тоже подписывает открытые ключи УЦ третьего уровня, а также организаций. И так далее по уровням.
\item В результате построена \emph{иерархия} подписанных открытых ключей.
\item Открытый ключ с идентификационной информацией (название организации, URI-адрес веб-ресурса, дата выдачи, срок действия и~др.) и подписью УЦ вышележащего уровня, заверяющей ключ и идентифицирующие реквизиты, называется \emph{сертификатом открытого ключа},\index{сертификат открытого ключа} на который существует международный стандарт X.509\index{сертификат!X509}, последняя версия 3. В сертификате указывается его область применения: подписание других сертификатов, аутентификация для веба, аутентификация для электронной почты и~т.\,д.
\end{enumerate}
\begin{figure}[!ht]
\centering
\includegraphics[width=0.8\textwidth]{pic/X509-hierarchy}
\caption{Иерархия сертификатов\label{fig:x509-hierarchy}}
\end{figure}
На рис.~\ref{fig:x509-hierarchy} приведены примеры иерархии сертификатов и путь подписания сертификата X.509\index{сертификат!X509} интернет-сервиса Gmail (Google Mail).
Система распределения, хранения и управления сертификатами открытых ключей называется \emph{инфраструктурой открытых ключей}\index{инфраструктура открытых ключей} (\langen{public key infrastructure, PKI}). PKI применяется для аутентификации в системах SSL/TLS\index{протокол!SSL/TLS}, IPsec\index{протокол!IPsec}, PGP и~т.\,д. Помимо процедур выдачи и распределения открытых ключей, PKI также определяет процедуру отзыва скомпрометированных или устаревших сертификатов.