Next: , Previous: , Up: Описание встречи  


Пример применения подписей ключей

Пусть, например, Алиса и Борис каждый создали ключи PGP с помощью GnuPG и провели встречу для подписи ключей. На встрече Алиса и Борис проверили ключи друг друга и впоследствии подписали их. По умолчанию GnuPG автоматически подписывает открытый ключ каждой вновь созданной пары с помощью соответствующего закрытого ключа. Таким образом, как Алиса, так и Борис имеют как минимум по две подписи, подтверждающие их владение соответствующим ключом. Ключ Алисы подписан самой Алисой и Борисом, а ключ Бориса подписан им самим и Алисой.

Допустим, впоследствии Алиса и Борис познакомились с Викторией. Виктория создаёт пару ключей и сообщает Алисе и Борису, что пошлёт им свой открытый ключ. Алисе не нравится Виктория, и она не хочет, чтобы Борис обменивался с Викторией зашифрованными письмами. Алиса также создаёт PGP-ключи от имени Виктории и высылает их Борису. Оба открытых ключа имеют только одну подпись – созданную с помощью соответствующего закрытого ключа. Борис не может проверить, какой из ключей на самом деле принадлежит Виктории.

Виктория узнает, что Борис получил два открытых ключа от её имени. Она подозревает Алису. Желая отомстить, Виктория может попытаться разрушить отношения доверия между Борисом и Алисой. Чтобы достичь результата, Виктория посылает письмо Борису от имени Алисы, сообщая, что Алиса создала новую пару ключей. В письме также содержится "новый ключ" Алисы, созданный Викторией. Однако Борис может легко установить подмену, так как, хотя у него и есть два разных ключа, оба якобы принадлежащих Алисе, один из них подписан несколькими людьми (им самим и Алисой), а другой (поддельный ключ, созданный Викторией) – только собственным закрытым ключом.

Этот пример очень упрощён, и в реальной ситуации процесс может выглядеть намного сложнее. Прочтите список ответов на частые вопросы о PGP или какую-нибудь хорошую книгу о PKI – наверняка вы найдёте более подробное объяснение и много дополнительной информации. Рассмотренный пример, однако, наглядно показывает принципы и необходимость подписи ключей. Виктории не удалось заставить Бориса использовать поддельную пару ключей для Алисы, поскольку между Алисой и Борисом уже установлен путь доверия.

Однако наличие подписей и сетей доверия не всегда обеспечивает возможность проверки ключей. Пусть, например, Алиса и Борис познакомились с Викторией в присутствии Дмитрия, знакомого Виктории. Дмитрий может создать поддельные ключи для Алисы и Бориса, подписать их своим ключом и поддельными ключами Алисы и Бориса. В этом случае он получит три подписи на каждом из поддельных ключей, которые он пошлёт Виктории. Настоящие ключи Алисы и Бориса подписаны только их закрытыми ключами; они также посланы Виктории. Каким образом Виктория может противостоять такой атаке? Пусть, например, весь обмен ключами происходит через сервер ключей. Виктория находит по две копии ключей для Алисы и Бориса. Если ключи Бориса и Алисы подписаны двадцатью участниками во время встречи для подписи ключей, очевидно, что Виктории следует доверять открытым ключам, подписанным 20 раз, а не тем, которые подписаны всего 3 раза. В любом случае уже сам факт существования двух наборов подписей должен насторожить Викторию – в этом случае она может более тщательно проверить сеть доверия наборов, даты создания и тому подобное. 20 ключей, использовавшиеся во время встречи для подписи ключей, сами должны быть подписаны не менее 20 раз, иметь различные даты создания, развитые сети доверия. У поддельных ключей этого не будет, даже если Дмитрий создаст поддельную сеть доверия из 20 ключей. Поддельная сеть доверия Дмитрия будет ограничена по размерам и глубине количеством ключей, созданных или контролируемых Дмитрием. Многоуровневая сеть доверия, содержащая заведомо настоящие ключи, будет веским свидетельством в пользу того, что подлинным ключам Алисы и Бориса можно доверять больше, чем поддельным ключам Дмитрия.


Next: Зачем мне проводить встречи для подписи ключей?, Previous: Что такое сеть доверия?, Up: Описание встречи