Срок годности обеспечивает безопасность. Негодные удостоверения могут существовать некоторое время, но в конце концов окажутся просроченными. Компания кредитных карт должна хранить записи об аннулированных картах только в течение этого срока, так как по его истечении они в любом случае окажутся непригодными. Доверенное лицо, которое выпускает эти удостоверения, может регулировать срок годности, чтобы обеспечить наиболее удобный режим. Ваша первая кредитная карта будет действительна в течение полугода или года, даже в том случае, если вы не оправдываете доверия. Спустя какое-то время ваша карта может обновляться раз в три года. Водительские удостоверения (по крайней мере в Иллинойсе) устаревают через четыре года. Паспорт США действителен в течение 10 лет. Можно представить себе, что в тех сферах, где мошенничество является обычным делом, удостоверения должны обновляться каждую неделю, или каждый день, или каждый час. Это большая головная боль, если в нашем распоряжении только ручка и бумага, но это прекрасно работает в киберпространстве.
Так что мы нуждаемся в удостоверениях, работающих в киберпространстве. Мы хотим иметь цифровой эквивалент кредитных карт, удостоверений, подтверждающих возраст, знаков принадлежности к корпорации, читательских билетов, членских билетов и т. п.
Сертификаты
Сертификат – это удостоверение… один из его видов. Это способ идентифицировать вас, но безотносительно к тому, что вы представляете собой в реальности. И это означает для любого, что можно доверять… может быть. Это определенно не то же самое, что открытый ключ.
Я думаю, нужно начать с начала.
Помните главу 6 и шифрование с применением открытого ключа? Алиса использует это шифрование для цифровой подписи. Она заверяет документы своим закрытым ключом и посылает подписанный документ Бобу. Теперь Боб нуждается в открытом ключе Алисы, чтобы проверить ее подпись. Как он получит его и в каком случае он может быть уверен, что ключ действительно Алисин?
На ранней стадии развития шифрования с использованием открытого ключа предполагалось, что будут существовать обширные базы данных, содержащие открытые ключи, подобно телефонным книгам. Боб мог бы посмотреть Алисино имя в такой базе данных и отыскать соответствующий этому имени открытый ключ.
Хорошо, но если все открытые ключи будут храниться где-то в большой базе данных, что можно сказать о безопасности этой базы данных? Злоумышленник способен натворить кучу бед, если сможет заменить один открытый ключ другим. Он может создать новый открытый ключ, подписать им пачку чеков и затем поместить его в базу данных рядом с именем Алисы. Таким образом, она подписала все эти чеки. Если Боб использует открытый ключ Алисы, чтобы зашифровать сообщение для нее, злоумышленник в силах заменить открытый ключ Алисы на свой; тогда секретное сообщение для Алисы сможет расшифровать взломщик, но не она сама.
Мы должны быть в состоянии защитить базы данных открытых ключей, но пригодна ли сама идея обеспечить свободный и широкий доступ к открытым ключам? Надо признать, что это не работает.
Сертификаты являются решением обозначенной проблемы. Сертификат представляет собой связь между открытым ключом и подтверждением подлинности. Пользующийся всеобщим доверием объект – назовем его Богом – берет имя Алисы и ее открытый ключ, связывает их и затем подписывает все это. Теперь Боб может не беспокоиться. Он получил Алисин сертификат открытого ключа – его не очень заботит, откуда – и проверил подпись Бога на нем. Боб доверяет Богу, так что, если он удостоверился в подлинности подписи, он знает, что открытый ключ принадлежит Алисе, а не какому-то обманщику. Проблема решена; мир теперь безопасен для электронной коммерции.
Однако не совсем. Заметим, что в действительности мы не решили проблему. Все, что мы сделали, возвращает нас к первоначальному вопросу: «Как Боб узнает, что открытый ключ Алисы действительно принадлежит ей?» Или изменим формулировку: «Как Боб узнает, что открытый ключ Бога действительно его ключ?». Боб проверил подлинность подписи Бога на сертификате, прежде чем начал использовать Алисин ключ, так что ему необходим был открытый ключ Бога. И где он его мог получить?
Но мы все же решили кое-что. Вероятно, Боб хочет взаимодействовать со множеством людей, не только с Алисой. И если Бог подписал каждый сертификат, мы свели проблему Боба к меньшей проблеме: теперь вместо подтверждения открытого ключа каждого нужно подтвердить лишь один ключ – Божий. Но эту проблему мы обсудим позже.
Читать дальше