Выбрать главу

Вообще говоря, сертификаты связывают открытый ключ с уникальным именем (называемым отличительным именем в терминологии Х.500), но, возможно, стоит обсудить, насколько полезна такая связь. Представьте себе, что вы получили сертификат, принадлежащий Джоан Робинсон. Вы, возможно, знаете лично только одну Джоан Робинсон, но сколько людей с таким именем известны центру сертификации? Как вы удостоверитесь, что конкретный сертификат Джоан Робинсон, полученный вами, принадлежит вашей подруге? Вы можете получить ее открытый ключ лично от нее, или она лично подтвердит передачу, но более вероятно, что вы примете сертификат по электронной почте и должны просто поверить, что это «правильная» Джоан Робинсон. Обобщенное имя на сертификате, вероятно, будет дополнено некоторой другой информацией, благодаря которой станет уникальным среди имен, получивших сертификат от одного СА.

Вы знаете эту дополнительную информацию о своей подруге? Знаете ли вы, какой СА выдал ей сертификат?

Вспомним аналогию с телефонным справочником. Если вы захотели найти открытый ключ Джоан Робинсон, вы просмотрели каталог, разыскали ее открытый ключ и послали сообщение, предназначенное только для ее глаз, используя этот открытый ключ. Это могло работать в случае с телефонным каталогом Стэнфордского отделения информационного обеспечения в 1976 году, но сколько Джоан Робинсон присутствуют в телефонном справочнике Нью-Йорка, и насколько это число меньше предполагаемого числа Джоан Робинсон в гипотетическом телефонном справочнике Интернета?

Мы вырастаем в маленьких семьях, где имена служат идентификаторами. К тому времени как нам исполняется пять лет от роду, мы усваиваем этот урок. Имена работают. Это неверно для большого мира, но вещи, впитанные в младенческом возрасте, мы не забываем никогда. В данном случае мы должны внимательно продумать все относительно имен, а не полагаться слепо на опыт пятилетнего ребенка, отложившийся в нашем сознании.

Идея также предполагает, что Алиса и Боб находятся в каких-то взаимоотношениях в физическом мире и хотят перенести эти отношения в киберпространство. Помните времена, когда «киберпространство» было термином из научной фантастики, а все взаимоотношения, о которых мы говорили, – деловые, социальные, банковские, коммерческие – формировались исключительно в мире из плоти и крови? Теперь люди встречаются в Сети и формируют там свои взаимоотношения все время. Иногда им удается свидеться лично через много лет после того, как они уже стали друзьями; в некоторых случаях они так и не входят в личный контакт. В этом прекрасном новом мире система, сконструированная только для того, чтобы проецировать взаимоотношения реального мира в киберпространство, выглядит ограниченной.

Проблемы с традиционными PKI

Инфраструктуры открытых ключей и центры сертификации несут в себе массу других проблем. Например, что может значить, когда бюро сертификации объявляет кого-либо заслуживающим доверия? Согласно литературе по криптографии, это означает лишь, что этот некто правильно обращается со своим собственным закрытым ключом. Это не говорит, что вы можете всегда доверять сертификату, полученному от СА для какой-то определенной цели: оплатить небольшую сумму или подписать заказ на миллион долларов.

Кто дает СА полномочия проводить подобные авторизации? Кто делает их доверенными лицами? Многие сертифицирующие органы обходят вопрос о том, что им никто не давал власти проводить авторизацию путем выпуска идентификационных сертификатов. Каждый может назначать имена. Мы делаем это все время. Инстанция, подтверждающая сертификаты, идет на риск, если она использует идентификационные сертификаты таким образом, что они подразумевают некий вид авторизации. В основном сертификаты только защищают вас от тех, с кем продавцы PKI не захотели даже иметь дела.

И слово «полномочия» («authority») имеет несколько значений. СА могут обладать авторитетом для выпуска сертификатов, но обладают ли они властью в отношении их содержимого? Например, сертификат сервера SSL содержит два массива данных, представляющих потенциальный интерес для целей безопасности: имя держателя ключа (keyholder) (обычно имя корпорации) и имя сервера в системе DNS (Domain Name System, система доменных имен). Существуют органы, обладающие властью назначать имя в системе DNS, но ни один из сертифицирующих органов SSL, представленных в списках, которые можно видеть в популярных браузерах, таковым не является. Это означает, что имя DNS в сертификате не является авторитетно установленным. Есть органы, назначающие корпоративные имена. Такое имя должно регистрироваться, когда некто хочет получить лицензию на какой-либо бизнес. Однако ни один из СА SSL, опубликованных в популярных браузерах, не обладает полномочиями делать это. В добавление ко всему, если сервер получает сертификат SSL-сервера, он имеет разрешение работать по протоколу SSL. Кто дал полномочия сертификационному органу SSL контролировать подобные разрешения? И является ли контроль за этими разрешениями необходимым? Какой вред будет причинен, если несертифицированный сервер будет использовать кодирование? Никакого.