Прежде чем перейти к описанию моделей доверия, важно внести ясность, что понимается под доверием в данном контексте. Наиболее точно смысл "доверия", по мнению авторов, передает формулировка рекомендаций X.509 ITU-T [78]: можно сказать, что один субъект "доверяет" другому субъекту, когда предполагает, что второй субъект будет вести себя точно так, как ожидает от него первый субъект. Таким образом, доверие имеет дело с предположениями, ожиданиями и поведением. Очевидно, это означает, что доверие не может быть измерено количественно, существует риск, связанный с доверием, и установление доверия не всегда происходит автоматически (например, когда субъектами в упомянутом выше определении являются люди). Концепция доверия раскрывает:
* где и как инициируется доверие в PKI;
* каким сертификатам может доверять субъект;
* как может быть подтверждено такое доверие;
* при каких обстоятельствах это доверие может быть ограничено или может контролироваться в данной среде.
В частности, в контексте PKI приведенное выше определение может быть использовано следующим образом: конечный субъект доверяет УЦ, когда предполагает, что последний будет устанавливать и поддерживать точное связывание атрибутов каждого субъекта с его открытым ключом (например, будет точно представлять идентичность субъекта, для которого он выпускает сертификат).
Термин "доверие" часто используется и по-другому: в литературе о PKI бывают ссылки на так называемый доверенный открытый ключ. Смысл термина "доверенный" в данном случае не связан с предположениями и ожиданиями одного субъекта относительно поведения другого субъекта. Можно сказать, что открытый ключ является "доверенным" для субъекта, когда тот уверен, что данный открытый ключ соответствует секретному ключу, который действительно легитимно принадлежит определенному поименованному субъекту. Обычно имя (или информация, идентифицирующая субъекта) появляется в сертификате вместе с открытым ключом. В лекции термин "доверие" используется в обоих смыслах.
Именование субъектов
Сертификатом называют подписанную, то есть заверенную цифровой подписью, структуру данных, связывающую пару ключей (явным образом открытый ключ и неявно секретный ключ) с идентичностью. Рассмотрим, что такое идентичность.
Имя - это набор данных, который отличает одного субъекта от любого другого субъекта в данной среде; то есть уникально идентифицирует этот субъект в данной среде. Имя действует как идентификатор этого субъекта. Имя может быть простым (таким как личное имя), составным (например, имя, отчество и фамилия), а может содержать другую информацию (гражданство, место жительства, адрес электронной почты и т.п.). Все это зависит от домена, которому принадлежит данный субъект. Размер и характеристики домена определяют количество информации, необходимой для уникальности имени.
Вообще говоря, субъект может и не иметь имени (то есть действовать анонимно), может пользоваться псевдонимом (фальшивым именем) или веронимом (настоящим именем). Вероним - это и есть то, что обычно подразумевается под идентичностью субъекта. Таким образом, идентичность не только уникально идентифицирует, или отличает субъекта в данной среде, но и раскрывает данные реальным миром имя, фамилию субъекта или аналогичную информацию, точно соответствующую человеку или объекту реального мира [44]. Поскольку реализации PKI обычно помещают вероним в сертификат субъекта - в поле Subject (субъект) или Subject Alt Name (альтернативное имя субъекта), - то, вообще говоря, PKI связывает пару ключей с идентичностью субъекта, хотя концептуально эта формулировка ограничена и использование вместо нее имени является технически более точным.
Путаница в терминологии часто происходит из-за того, что слова идентифицировать, идентификационная информация, идентифицируемый и идентификатор могут использоваться в двух смыслах. В более широком они служат просто для того, чтобы отличать или выделять данного субъекта из группы субъектов; в более узком смысле они предназначены для того, чтобы отличать субъекта определенным образом, открывая данный ему в реальном мире вероним, или идентичность субъекта. Следовательно, в некоторых случаях идентификатором может быть и псевдоним, а в некоторых - только вероним. Путаница усиливается в связи с тем, что в сообществе безопасности термин "идентификация" используется только в узком смысле (как указано выше). Если шаг аутентификации открывает имя, но при этом оказывается, что имя должно быть настоящим, то этот шаг можно назвать идентификацией. Следует отметить, что многие люди используют имя только в узком смысле веронима.
Сложность достижения уникальности идентичности зависит от размера домена PKI. В небольшой закрытой среде уникальность идентичности достигается легко - для того чтобы различать субъектов, бывает достаточно даже просто обычных имен. Однако, как только масштаб домена возрастает, гарантировать уникальность имен становится все труднее. Некоторые специалисты считают, что в масштабе Интернета невозможно поддерживать глобальную уникальность имен.
С теоретической точки зрения, глобальная уникальность имен субъектов в целом достижима на базе механизма отличительных имен стандарта X.500 [54]. Это иерархическая структура именования с корнем наверху и центром именования в каждой вершине, каждый центр именования гарантирует уникальность имен вершин, находящихся в иерархии непосредственно под ним. Механизм отличительных имен гарантирует уникальность имен, если каждый субъект, который получит имя таким способом, официально регистрируется вместе с соответствующим центром именования и принимает присвоенное ему имя. В современных электронных коммуникациях базисом адресации и маршрутизации являются имена, образованные на основе IP-адресов и адресов электронной почты.
Однако механизм отличительных имен не считается абсолютно удачным, по крайней мере, по двум причинам:
1 Концепция каталога X.500 и полезность отличительных имен не кажется привлекательными основному сообществу пользователей из-за популярности и широкой распространенности альтернативного способа идентификации субъектов - имен электронной почты.
2 Во многих случаях субъекты при присвоении имен не прибегают к помощи центра именования, а выбирают себе имена сами. Таким образом, два разных субъекта могут присвоить себе одинаковые имена независимо от какого-либо центра именования. Очевидно, что глобальная уникальность имен достигается только, если все субъекты соблюдают правила образования отличительных имен стандарта X.500, но не существует способа гарантировать это.
Отличительные имена поддерживаются и в сертификатах формата X.509, но при этом разрешено использование альтернативных имен субъектов, таких как IP-адрес или адрес электронной почты, чтобы гарантировать уникальность имени субъекта и обеспечить связь с другими механизмами идентичности.
Модель строгой иерархии удостоверяющих центров
Строгая иерархия удостоверяющих центров обычно графически изображается в виде древовидной структуры с корнем наверху и ветвями, спускающимися вниз и заканчивающимися листьями. В этом перевернутом дереве корень представляет определенный УЦ, который обычно называется корневым (или головным ) и действует как главный пункт, или корень, доверия для целого домена подчиненных ему субъектов PKI. Под корнем располагаются промежуточные удостоверяющие центры. Промежуточные удостоверяющие центры представлены в древовидной структуре промежуточными узлами, от которых отходят следующие ветви. Листья, или конечные вершины дерева, соответствуют субъектам PKI, не являющимся удостоверяющими центрами, их называют конечными субъектами или просто конечными пользователями (см. рис. 5.1).
Термин корень имеет фундаментальный смысл. Корень является не просто начальным пунктом сети, связей или архитектуры, а начальным пунктом доверия. Все субъекты PKI (промежуточные удостоверяющие центры и конечные субъекты) владеют открытым ключом корневого (головного) УЦ и полагаются на него как на начальный и конечный пункт доверия при верификации всех сертификатов. Этот ключ является корневым, даже если в конфигурации PKI отсутствуют промежуточные удостоверяющие центры или она выглядит как-то иначе. В некоторых иерархиях УЦ верхнего уровня может сертифицировать не только удостоверяющие центры, но и конечных субъектов. Обычно в литературе, посвященной проблематике PKI, предполагается, что УЦ сертифицирует либо удостоверяющие центры, либо конечных субъектов (а не тех и других одновременно). В дальнейшем при изложении материала мы будем следовать этому принципу.