Глава 19. PKI: красивая мечта
19.2.5
Ассоциация кредитных карт
Эта организация объединяет на кооперативных началах несколько тысяч
банков по всему миру. Все эти банки могут обмениваться платежами. Напри-
мер, пользователь, открывший кредитную карту в банке А, может заплатить
продавцу, которого обслуживает банк Б. При этом банк А должен некото-
рым образом рассчитаться с банком Б, для чего им потребуется безопасное
взаимодействие. При наличии инфраструктуры открытого ключа все банки,
входящие в ассоциацию, могут идентифицировать друг друга и выполнять
безопасные транзакции. В этом случае ассоциация кредитных карт может вы-
ступить в качестве центра сертификации, который заверяет ключи каждого
банка.
19.3
Дополнительные детали
В реальной жизни все гораздо сложнее, поэтому простая схема PKI часто
обрастает разнообразными расширениями.
19.3.1
Многоуровневые сертификаты
Довольно часто центр сертификации разбивается на несколько частей.
Например, ассоциации кредитных карт было бы крайне утомительно самой
сертифицировать каждый банк. Сертификацией отдельных банков занима-
ются ее региональные отделения. Это приводит к появлению двухуровне-
вой структуры сертификатов. Главный ЦС выдает сертификат на открытый
ключ регионального отделения. Этот сертификат утверждает нечто наподо-
бие “Ключ PK
X
принадлежит региональному отделению
X
и может приме-
няться для сертификации других ключей”. После этого региональное отделе-
ние может сертифицировать ключи отдельных банков. Сертификат откры-
того ключа банка состоит из двух подписанных сообщений: сообщения глав-
ного ЦС, которое авторизует ключ регионального отделения, и сертификата,
выданного региональным ЦС ключу банка. Такая структура называется
це-
почкой сертификатов (certificate chain)
и может быть расширена на любое
количество уровней.
Подобные многоуровневые структуры сертификации могут оказаться
крайне полезными. С их помощью функции главного ЦС могут быть распре-
делены между уровнями иерархической структуры ЦС, что вполне подходит
для многих организаций. Практически все системы PKI имеют многоуров-
невую структуру. Один из недостатков такой структуры состоит в том, что
размер сертификатов становится больше, а для их верификации требуется
большее количество вычислений, но, как правило, стоимость последних от-
19.3. Дополнительные детали
341
носительно невелика. Следует также отметить, что каждый из центров серти-
фикации, добавляемых в систему, представляет собой еще один потенциаль-
ный объект атаки, а следовательно, снижает безопасность системы в целом.
Один из способов устранить недостатки больших многоуровневых сер-
тификатов, который, к сожалению, еще не встречался нам на практике, —
это свернуть иерархию сертификатов. Проиллюстрируем его на примере,
рассмотренном выше. Получив двухуровневый сертификат, банк может ото-
слать его главному ЦС. Последний проверяет двухуровневый сертификат
и высылает банку одноуровневый сертификат, заверенный ключом главно-
го ЦС. Если структура сертификатов будет сворачиваться подобным обра-
зом, стоимость добавления в иерархию дополнительных уровней станет очень
небольшой. Однако добавление уровней иерархии — не всегда удачное реше-
ние. Многоуровневые иерархические структуры редко оказываются эффек-
тивными.
Следует быть крайне осторожным, выстраивая цепочки сертификатов на-
подобие описанной выше. Они усложняют систему, а сложность — это всегда
плохо. Вот лишь один пример из недалекого прошлого. Защищенные Web-
узлы в Internet используют систему PKI, чтобы обозреватели пользователей
могли идентифицировать эти узлы. На практике эта система оказалась не
очень защищенной. Если бы все дело было только в пользователях, которые
не утруждают себя проверкой имени посещаемого Web-узла! К сожалению,
около года назад критическая ошибка была обнаружена и в библиотеке, кото-
рая удостоверяет правильность сертификатов всех операционных систем Mi-
crosoft. Каждый элемент цепочки сертификатов содержит флажок, который
показывает, является ли сертифицируемый ключ ключом центра сертифи-
кации. Ключам центров сертификации разрешено сертифицировать другие
ключи. Ключи остальных субъектов этого делать не могут. Это очень важ-
ное различие. К сожалению, упомянутая библиотека не проверяла данный
флажок. Как следствие, злоумышленник мог приобрести сертификат, ска-
жем, для домена
nastyattacker.com
и воспользоваться им, чтобы самому
заверить подделанный ключ узла
amazon.com
. Обозреватель Microsoft Inter-
net Explorer использовал ту самую библиотеку, в которой была обнаружена
ошибка. Он мог принять сертификат фальшивого ключа Amazon, выданный
узлом
nastyattacker.com
, и отобразить поддельный Web-узел под видом на-
стоящего узла Amazon. Подумать только: глобальную систему безопасности,
на разработку которой было затрачено столько средств и усилий, удалось
обмануть с помощью малюсенькой ошибки в одной-единственной библиоте-
ке! Как только о наличии ошибки стало известно широкой общественности,
Microsoft выпустила исправление библиотеки (специалистам компании пона-
добилось несколько попыток, чтобы устранить эту проблему). Тем не менее
это хороший пример того, как одна маленькая ошибка может разрушить без-
342
Достарыңызбен бөлісу: |