Но атакующий умен; вместо того чтобы анализировать только входные и выходные данные, он обращает внимание также на скорость, с которой модуль проводит операции. Критическое рассмотрение атаки измерения времени показывает, что выполнение многих операций шифрования происходит с различной скоростью для различных ключей. Знание скорости, с которой происходит определенная операция, дает информацию о ключе. Знание множества различных скоростей для различных операций помогает получить полную информацию о ключе.
Представьте себе атаку, направленную против склада: вы хотите узнать, что находится внутри. У вас нет возможности заглянуть на склад, чтобы посмотреть, как там расположены вещи. Однако вы можете попросить служащего «получить» материал для вас. Время, которое ему потребуется для того, чтобы сделать ту или иную вещь, скажет вам многое об этом складе. Он каждый раз тратит много времени на то, чтобы принести картридж? Должно быть, картриджи находятся в самом дальнем углу. Расходует ли он больше времени на то, чтобы принести стопку бумаги, через каждые 10 запросов? Тогда, должно быть, бумага сложена в коробки по 10 пачек. Ему требуется больше времени на то, чтобы принести карандаши, чем на то, чтобы принести резинки? Это говорит о том, какие коробки лежат сверху.
Рассмотрим тайминг-атаку против устройства проверки пароля. Берем случайный пароль и варьируем только первый символ. Так как всего букв 26, можно использовать строчные и прописные, еще 10 цифр, несколько знаков пунктуации, итого около 70 паролей. Возможно, один из них устройство будет проверять дольше, чем остальные, прежде чем отклонить. Возможно, это пароль с правильным первым символом. Повторим то же самое с остальными символами. Если вы предпринимаете попытку атаковать пароль из 8 символов, вам нужно проверить всего 560 паролей и измерить соответствующие задержки.
Атакующий не обязательно должен ограничиться тайминг-анализом. Он может посмотреть, сколько энергии затрачено на различные операции. (В случае, когда модуль потребляет разное количество энергии при осуществлении одинаковых по сути операций, в зависимости от ключа.) Он может исследовать также, сколько тепла излучается и даже где в модуле находится источник излучения. Например, атаки измерения энергии (powerattacks) были применены, чтобы раскрыть секреты почти всех смарт-карт, имеющихся на рынке.
Все эти атаки допустимы, поскольку модуль находится в руках атакующего. Если модуль помещен в хранилище, закрытое на замок, злоумышленник не сможет проводить эти виды атак. (Хотя он, вероятно, окажется в состоянии осуществить нападение против другой копии такого же продукта, которая может обеспечить ему получение некоторой интересной информации.) Но в случае, когда проектировщики систем полагаются на аппаратные средства защиты от вторжения и дают возможность нападающему получить копию модуля, они тем самым убирают препятствия для проведения подобных систематических атак.
Иногда возможно осуществлять некоторые нападения удаленно, через сеть. Здесь не получится наблюдать за потерями тепла и энергопотреблением, но вы сможете измерять временные интервалы. Конечно, в сети всегда присутствует некий шум, что не особенно мешает получить результат математически. Или вы можете наблюдать излучение (военные называют это TEMPEST).
TEMPEST заслуживает более подробных объяснений, если по каким-то причинам различные военные ведомства тратят кучу денег на защиту против него. Система нападения извлекает информацию, содержащуюся в излучении электронной аппаратуры, используя чувствительный радиоприемник, специально настроенный на нужный канал, чтобы воспринимать нужную информацию. (Это излучение также называют излучением ван Эка.) Видеомониторы, возможно, наиболее уязвимы – с «правильным» оборудованием вы сможете читать содержимое экрана чужого компьютера, несмотря на блокировку, – но утечка информации в той или иной степени существует везде. Сотовые телефоны, факсимильные аппараты и коммутаторы – через них тоже утекает информация. Не имеет значения, что данные в этих устройствах могут быть зашифрованы; как зашифрованные, так и «открытые» данные излучают, и обладающий достаточными ресурсами атакующий способен отличить одно от другого. Кабели ведут себя как антенны; от них также распространяется излучение, несущее информацию. Линии электропередач – это трубопроводы, по которым течет информация. Это нетривиальная атака, которая может потребовать массу специального оборудования. Иногда это легко – прочитать информацию с экрана чьего-нибудь компьютера, – но в других случаях оказывается сложным и трудоемким.
Правительственное решение проблемы излучения – это экранирование. Военные покупают компьютерное оборудование, которое экранировано от TEMPEST. Когда они создают оборудование для шифрования, они тратят дополнительные деньги, чтобы быть уверенными, что открытый текст не утекает через линии передачи зашифрованных данных или из устройства для шифрования. Они покупают экранированные кабели и для передачи данных и для электропитания. Они даже строят TEMPEST-экранированные помещения или, в критических случаях, целые здания: все это называется SCIFs (Secure Compartmented Information Facilities, средства безопасности для предотвращения утечки информации).
Существуют и другие атаки с использованием побочных каналов. Иногда нагревание или охлаждение модуля может предоставить в ваше распоряжение интересную информацию; в других случаях результат даст изменение напряжения на входе. Один безопасный процессор, например, предоставлял доступ к секретным данным, если входное напряжение мгновенно понижалось. Другой имел генератор случайных чисел, который выдавал их все, если напряжение медленно понижалось. Другие модули уязвимы, когда вы задействуете тики генератора импульсов синхронизации.
Подумайте обо всем этом как о неагрессивных биологических экспериментах. Вы можете многое узнать об организме, если будете просто наблюдать за ним: что он ест, что он выделяет, когда он спит, сколько времени ему требуется для выполнения определенной задачи в различных случаях, в условиях тепла или холода, сырости или сухости. Нет необходимости его вскрывать: вы можете многое узнать о нем в процессе его нормального функционирования.
Вскрыть его всегда интересно, особенно если вы сумеете сделать это, не убивая его. Если мы взломаем систему сопротивления вторжения и не разрушим модуль, мы узнаем множество подробностей о его системе безопасности.
Анализ ошибок – еще одна мощная атака, поскольку шифрование чувствительно к малым изменениям. В главе 7 я говорил о том, как легко это применить к некорректной системе шифрования, нарушив ее безопасность в процессе функционирования. При анализе ошибок аналитик намеренно вводит ошибки в процесс осуществления шифрования – в особых точках, которые обеспечат максимальную утечку информации. Комбинируя это со взломом системы сопротивления вторжению – действуя на ключевые точки в том и другом направлении (не случайно, но специальным образом), – можно провести разрушительную атаку против безопасных модулей.
Систематические атаки недешевы. Маловероятно, что они будут выполнены преступниками-одиночками или сообществом террористов. Это атаки, которые могут осуществляться хорошо финансируемыми противниками: организованной преступностью, промышленными конкурентами, военными разведывательными организациями и академическими лабораториями. Но они работают, и работают хорошо. Системы, подобные смарт-картам, выполняли бы свои функции надежно, если бы заранее предполагалось, что систематические атаки возможны, и была уверенность, что даже в случае их успешного осуществления безопасность системы не будет нарушена.
Атаки с использованием побочных каналов не всегда можно распространить на любые системы. Нападение, основанное на анализе ошибок, невозможно провести, если процесс шифрования осуществляется таким образом, что атакующий не имеет возможности создать и использовать нужные ошибки. Но эта атака намного сильнее стандартных криптаналитических атак против алгоритмов. Например, известная атака против DES с использованием анализа ошибок требует от 50 до 200 блоков зашифрованного текста (без открытого текста) для того, чтобы восстановить ключ. Она работает только на определенных аутентификаторах DES, будучи выполненной определенным образом. Контраст с этим составляет лучшая атака без использования сторонних каналов, которая требует около 64 Тбайт открытого текста и зашифрованного текста для определения единственного ключа.
Некоторые исследователи заявляют, что это обман. Правильно, но в системах, существующих в реальном мире, атакующие всегда обманывают. Их работа – восстановить ключ, а не следовать неким произвольным правилам выполнения атаки. Дальновидные разработчики систем безопасности понимают это и приспосабливаются к обстановке. Мы верим, что наиболее действенные атаки используют информацию, получаемую через побочные каналы. Звук – тоже побочный канал; о прослушивании вращательного движения роторов электромеханических двигателей упоминал в своей книге «The Codebreakers» Дэвид Кан. Военные Соединенных Штатов долгое время разбирались с TEMPEST. И в своей книге «Охотник за шпионами» («Spycatcher») Питер Райт обсуждает утечку секретных данных через линию передач по побочному каналу (метод, известный среди военных как HIJACK), которая позволила взломать шифровальный механизм, использовавшийся французами.
Осуществить защиту трудно. Вы можете либо сократить количество информации, утекающей через побочные каналы, либо сделать эту информацию не соответствующей действительности. Оба метода имеют свои проблемы, хотя исследователи работают над ними. Более дорогие устройства оборудованы датчиками, позволяющими обнаружить подключение на входе, – регуляторами, определяющими падение напряжения, термометрами, фиксирующими попытки охладить устройство, часами, устойчивыми к внешним сбоям, – и не разрушить свои секреты. Другие устройства чувствуют, что их вскрыли, и реагируют подобающим образом. Но эти виды защитных мер преимущественно используются только в системах, которые покупают военные, и даже не применяются в таких безопасных устройствах, как смарт-карты.
Атаки с использованием побочных каналов очень эффективны, и это будет до тех пор, пока не существует хорошей теории, на которой могла бы строиться защита. В любом случае система, в которой устройство находится в руках одной персоны, а секреты, содержащиеся внутри, принадлежат другой, рискованна.
Атаки против смарт – карт
Смарт-карты могут рассматриваться как своего рода «заговоренные пули» компьютерной безопасности – многоцелевой инструмент, который находит применение для контроля доступа, в электронной коммерции, аутентификации, защите секретности и других приложениях. В основном разработчики используют их свойства безопасной территории: процессор и память, находящиеся внутри, неуязвимы (предположительно) для атак. Также они маленькие, переносимые, дешевые и гибкие. Это делает их привлекательными, но недостатки прямого ввода-вывода, применяемого в смарт-картах, придают им большую уязвимость.
Наиболее интересно в смарт-картах то, что существует большое число сторон, вовлеченных в любую систему на основе смарт-карт. Это означает, что смарт-карты чувствительны ко многим видам атак. Большинство этих атак невозможно в обычных компьютерных системах, так как они могли бы иметь место только в случае проникновения внутрь безопасной территории. Но по отношению к смарт-картам все перечисленные ниже атаки вправе вполне обоснованно считаться опасными.
Атаки со стороны терминала против владельца карты или против того, кому принадлежат данные. Когда владелец карты опускает свою карту в терминал, он полагается на то, что терминал правильно осуществит ввод-вывод данных. Безопасность большинства систем с использованием смарт-карт основывается на том факте, что терминал имеет доступ к карте в течение короткого промежутка времени. На самом деле безопасность имеет отношение не только к обмену данными между смарт-картой и терминалом: должна быть законченная система обработки, которая способна отслеживать карты, терминалы и сигнализировать об их подозрительном поведении.
Атаки со стороны владельца карты против терминала. Более тонкими являются атаки владельцев карт против терминала. К ним относятся подмена или изменение карт с использованием программного обеспечения в жульнических целях, для того чтобы нарушить работу протокола обмена между картами и терминалом. Хорошо сконструированный протокол снижает риск подобной атаки. Риск угрозы падает еще больше, если карты имеют физические характеристики, которые сложно подделать (например, голограмма Visa-карты) и которые могут быть непосредственно проверены владельцем терминала.
Атаки со стороны владельца карты против собственника данных. В большинстве коммерческих систем, использующих смарт-карты, данные, хранящиеся на карте, должны быть защищены от ее владельца. В некоторых случаях владелец карты даже не должен знать эти данные. Если карта содержит значение денежной суммы, и ее владелец сумеет изменить это значение, он сможет эффективно создавать деньги из ничего. Было много успешных атак против данных, содержащихся в смарт-картах.
Атаки со стороны владельца карты против того, кто их выпускает. Многие финансовые атаки были направлены против того, кто выпускает смарт-карты, но фактически против целостности и подлинности данных или программ, хранящихся на карте. Если изготовитель карт поместил биты, которые ответственны за разрешение на вход в систему, на карту, он не должен удивляться, если эти биты будут атакованы. Подобные системы основываются на сомнительном предположении, что безопасной территории внутри карты достаточно для решения задачи, перед ней поставленной.
Атаки со стороны владельцев карт против производителей программного обеспечения. Вообще говоря, даже в системах, рассчитанных на враждебного пользователя, предполагается, что он не будет загружать новое программное обеспечение на карту. В некоторых случаях это предположение может оказаться неверным.
Атаки со стороны владельца терминала против изготовителя карт. В некоторых системах владелец терминала и тот, кто выпускает карты, являются различными субъектами. Это разделение создает несколько новых возможностей для атаки. Терминал управляет всеми соединениями между картой и ее изготовителем, и всегда можно сфальсифицировать записи или помешать успешному завершению одного или нескольких шагов транзакции, для того чтобы совершить мошенничество или создать проблемы в обслуживании пользователей.
Атаки со стороны изготовителя карт против владельцев карт. В общем, большинство систем основано на изначальном предположении, что тот, кто выпускает карты, искренно и наилучшим образом заботится об интересах владельцев карт. Но это не всегда так. Эти атаки представляют собой типичные случаи нарушения секретности тем или иным образом. При создании системы смарт-карт, которая должна служить заменой наличных денег, надо позаботиться о том, чтобы сохранились существенные свойства наличных денег: анонимность и обезличенность.
Атаки против собственников данных, возникающие вследствие конструктивных недостатков программного обеспечения. Некоторые конструктивные особенности программного обеспечения могут создавать существенные и неприятные эффекты для собственников данных в системе. Если производители реализовали операционную систему, которая позволяет многим пользователям запускать программы на одной и той же карте, это приводит к появлению ряда новых проблем безопасности, таких как разрушительная деятельность операционной системы, преднамеренно ограниченный генератор случайных чисел или конфликт различных приложений, запущенных на одной смарт-карте.
Все это не означает, что смарт-карты нельзя рассматривать как защищенные устройства. Смарт-карты, которые обращаются в кредитной финансовой системе, например, очень отличаются от карт, которые используются в системе денежных вкладов (stored value system). Системы смарт-карт, которые обеспечивают идентификацию и возможность проверки, также безопасны. Смарт-карты полезны, но их использование сопряжено с известным риском. Безопасная система смарт-карт должна уметь распознавать вышеописанные атаки; она должна быть сконструирована таким образом, чтобы они не могли на нее повлиять. В лучших системах не имеет значения, например, что пользователь может взломать карту. Это очень «по дзенски»: работа не против возможного нападающего, а на основе модели сохранения безопасности.
Глава 15
Сертификаты и удостоверения
Понятия сертификата открытого ключа и инфраструктуры открытого ключа являются центральными для шифрования в современном Интернете. Прежде чем их рассматривать, однако, будет нелишне напомнить, что представляет собой цифровая подпись. Цифровая подпись является математической операцией над совокупностью битов, которую можно выполнить только с помощью определенного ключа. Ее подлинность может быть подтверждена с помощью другого, соответствующего первому, ключа. Допустим, ключ шифрования известен только Алисе. Следовательно, понятно, что только Алиса может выполнить операцию и таким образом «подписать» сочетание битов.
Проблема с описанной моделью заключается в следующем: предполагается, что ключ шифрования – это секрет, известный только Алисе. Путем проверки подписи мы можем действительно подтвердить только то, что сообщение подписано с помощью Алисиного ключа; мы не вправе ничего утверждать относительно того, подписала ли его сама Алиса. Мы не знаем, был ли ключ украден кем-либо еще. Мы не знаем ничего относительно намерений Алисы. Когда мы видим Алисину собственноручную подпись на бумаге, мы можем сделать некоторые утверждения относительно ее воли: она прочла и подписала документ, она поняла его содержание. Когда же документ подписан с помощью секретного ключа Алисы, мы даже не можем быть уверены, что она вообще видела его. «Цифровая подпись» – это название, которое настораживает, потому что это не есть подпись.
Это будет важно в дальнейшем изложении темы этой главы. А пока что поговорим о доверенных третьих лицах.
Доверенные третьи лица
Специалисты по криптографии определяют доверенное третье лицо как персону, которой доверяют все участники протокола, помогающую придать протоколу завершенность и безопасность. Мой друг из NSA однажды заметил (определение, отличающееся замечательной ясностью): «Каждый, кто вас знает, может нарушить вашу секретность и не быть пойманным». Вполне достаточно, эти два определения в главном совпадают.
Помните различные протоколы доверенных третьих лиц из главы 7? Любая коммерция, исключая прямой бартер, тем или иным образом использует доверенных третьих лиц. Даже сделки с оплатой наличными: продавец верит, что правительство примет деньги, которые он получил от покупателя. Когда же сделки включают в себя более интересные финансовые инструменты – чеки, кредитные карты, дебетовые карты, командировочные удостоверения, – и продавец и покупатель полагаются на то, что банк или финансовая компания будут вести себя правильно. Предприниматель и клиент не обязательно доверяют друг другу, но доверенное третье лицо должно успешно посредничать между ними. Все заканчивается очень быстро, если компания кредитных карт начинает капризно отвергать карты некоторых владельцев.
Адвокаты играют роль доверенных третьих лиц в персональных делах, выполняя волю свих клиентов. Когда некто говорит своему похитителю: «Если вы убьете меня, то мой адвокат пошлет копии доказательств в ФБР, CNN и New York Times, он использует своего поверенного в качестве доверенного третьего лица. Адвокаты не думают шутить, профессия делает их превосходными доверенными лицами.
Судебная система в целом может рассматриваться как доверенное третье лицо, гарантирующее, что контракты законны и дела ведутся правильно. Рассмотрим такой протокол честного контракта: Алиса и Боб ведут переговоры и подписывают контракт. Если один из них почувствует, что другой не соблюдает контракт со своей стороны, он или она обратятся к доверенной третьей стороне – к судье. Судья выслушает доказательства с обеих сторон и затем свершит правосудие.
Это работает, если они оба верят, что судья честен. В тех случаях, когда юридическая система коррумпирована или ее представители некомпетентны, мы видим крайне малую степень доверия контрактам и совершенно другую систему правил ведения коммерции.
Современная жизнь полна примеров существования доверенной третьей стороны. Магазины, торгующие по накладным, неважно, реальные или в Сети, суть доверенные третьи лица. Также и аукционы. А каждый, кто покупает что-либо через службу доставки? Служба доставки – доверенное третье лицо. То же самое – почтовые переводы. Нотариально заверенный акт подтверждает подлинность личности людей, подписавших законные документы, и обеспечивает проверку доказательств в случае спора. ООН посылает «наблюдателей» в качестве доверенных лиц в те страны мира, где противоборствующие стороны не доверяют друг другу. В Сети появляется служба условного депонирования, действующая как доверенная третья сторона между продавцами и покупателями в случае сделок с привлечением крупных денежных сумм.
В США существует целая индустрия доверенных третьих лиц, проводящих сделки с недвижимостью. Эти компании действуют как доверенные третьи лица между всеми сторонами, вовлеченными в сделки с недвижимостью: между продавцом и покупателем, банком продавца и банком покупателя, агентом по недвижимости продавца и агентом по недвижимости покупателя. Все эти стороны полагаются на агентство по недвижимости в том, что сделка будет завершена успешно.
Доверенные третьи лица играют особо важную роль в электронном мире. В мире, в котором отсутствует контакт лицом к лицу, а порой и голосовой контакт, в котором вы вынуждены полагаться на криптографию и устрашающе ненадежную компьютерную безопасность, это единственное реальное подтверждение, которое вы можете получить.
Помните целую систему открытых ключей, которую мы с вами обсуждали в главе 6? Алиса хочет послать зашифрованное сообщение, используя открытый ключ Боба, и для этого просматривает базу данных открытых ключей, чтобы найти его. Она получает сертификат открытого ключа Боба. Это сообщение, подписанное кем-то еще, которое удостоверяет, что данный ключ действительно принадлежит Бобу. Персона, которая подписала его, – это доверенное третье лицо.
Доверенные третьи лица – это рычаг системы безопасности, поскольку обращение к ним присуще любой системе, которой требуются гарантии безопасности. В плохо сконструированных системах доверенным третьим лицам права предоставляются без учета возможных неожиданностей. Блестяще сконструированные системы вручают мандат доверия по закону.
Удостоверения
Откройте ваш бумажник. Внутри вы обнаружите все виды удостоверений. У вас есть банковская карта. Это удостоверение, предоставленное вам вашим банком; оно необходимо, чтобы подтвердить подлинность вашей личности, когда автоматическая система выдает вам наличные. Вы имеете кредитную карту – удостоверение, врученное вам банком, и можете расплачиваться с ее помощью. У вас есть водительские права, выданные правительством. Они доказывают, что вы имеете все привилегии водителя.
Компании в зарубежных странах, дающие в аренду автомобили, рассматривают это удостоверение как подтверждение вашей способности управлять машиной, но полиция обычно видит в нем лишь легкий путь узнать ваше имя и адрес: они сверяют ваши права со своей базой данных. (Есть несколько историй, когда водительские права использовались в качестве удостоверения, прежде чем вам разрешали расплатиться чеком; отношения с доверенными третьими лицами базируются на предпосылке, что правильная информация об идентификации помогает судебному расследованию.) У вас также есть карта клиента авиационной компании, читательский билет, членский билет какого-нибудь спортивного клуба и бог знает что еще. Если у вас есть паспорт – это еще одно удостоверение.
Все эти удостоверения предоставлены различными доверенными третьими лицами, и каждое из них действует в той области, в которой вручившее его лицо является доверенным. Удостоверения не являются взаимозаменяемыми. Банку доверяют выдачу кредитных карт людям, которые имеют счета. Карта вместе с личным идентификационным номером и актуальной базой данных, дающей возможность видеть баланс на вашем счете, позволит вам снять деньги со счета. Водительские права, поскольку это удостоверение, выданное государственным органом, могут также подтвердить ваш возраст при посещении бара. Бар принимает поручительство государства при проверке возраста. (Я видел бары, которые принимали в качестве доказательства возраста водительские права, выданные государственными органами удостоверения личности и заграничные паспорта, но не паспорта США. Это лишено смысла.) Но если вы хотите заказать что-нибудь, водительские права вряд ли будут полезны. Бар доверяет государству подтвердить вашу дату рождения, но не вашу платежеспособность.
Каждое из доверенных третьих лиц имеет свои собственные правила, которым следует при вручении удостоверений. Чтобы получить паспорт, вы должны предоставить доказательства наличия у вас гражданства и подлинности вашей личности. Чтобы получить водительские права, вы обязаны сдать экзамен и предоставить доказательства того, что живете в том штате, в котором вы хотите их получить. Компания, выпускающая кредитные карты, соберет о вас кучу личной информации, проверит ее в некоей большой базе данных, и лишь после этого вы получите удостоверение. Удостоверение может поначалу обеспечивать небольшой кредит, но если вы и дальше будете строить отношения как постоянный пользователь, он будет возрастать.
Эти физические удостоверения также иллюстрируют проблему аннулирования. Что случится, если ваше удостоверение будет аннулировано? Когда управляющий банка (Master-Card) аннулирует вашу кредитную карту, он не может залезть в ваш бумажник и вытащить ее оттуда. Так что он «аннулирует» ее где-то в базе данных: он просто пометит соответствующий номер карточки как недействительный. Это работает до тех пор, пока тот, кто принимает кредитные карты, сверяется с базой данных. Если вы находитесь в какой-нибудь глубинке, где нет даже телефона, может не найтись способа подтвердить действительность вашего удостоверения.
Другой способ обходиться с аннулированными удостоверениями – это ограничить период времени, когда они могут использоваться, не будучи вновь подтвержденными. Почти все удостоверения имеют срок годности, даже такие, как читательские билеты. (Единственный контрпример, я думаю, знаки принадлежности к некоей корпорации. Это «глухой» номер. Хотя намного более вероятно, что вы смените работу, чем то, что вы разучитесь водить.) Удостоверения недействительны по истечении срока годности, что знает каждый, кто неосторожно пытался заплатить по просроченной кредитной карте или (не дай Бог) вернуться в США с просроченным паспортом. Если срок годности вашего удостоверения истек, вы должны получить новое. Иногда вы обязаны явиться за ним лично (как в случае с паспортом), иногда вам посылают его автоматически, например новую кредитную карту.
Срок годности обеспечивает безопасность. Негодные удостоверения могут существовать некоторое время, но в конце концов окажутся просроченными. Компания кредитных карт должна хранить записи об аннулированных картах только в течение этого срока, так как по его истечении они в любом случае окажутся непригодными. Доверенное лицо, которое выпускает эти удостоверения, может регулировать срок годности, чтобы обеспечить наиболее удобный режим. Ваша первая кредитная карта будет действительна в течение полугода или года, даже в том случае, если вы не оправдываете доверия. Спустя какое-то время ваша карта может обновляться раз в три года. Водительские удостоверения (по крайней мере в Иллинойсе) устаревают через четыре года. Паспорт США действителен в течение 10 лет. Можно представить себе, что в тех сферах, где мошенничество является обычным делом, удостоверения должны обновляться каждую неделю, или каждый день, или каждый час. Это большая головная боль, если в нашем распоряжении только ручка и бумага, но это прекрасно работает в киберпространстве.
Так что мы нуждаемся в удостоверениях, работающих в киберпространстве. Мы хотим иметь цифровой эквивалент кредитных карт, удостоверений, подтверждающих возраст, знаков принадлежности к корпорации, читательских билетов, членских билетов и т. п.
Сертификаты
Сертификат – это удостоверение… один из его видов. Это способ идентифицировать вас, но безотносительно к тому, что вы представляете собой в реальности. И это означает для любого, что можно доверять… может быть. Это определенно не то же самое, что открытый ключ.
Я думаю, нужно начать с начала.
Помните главу 6 и шифрование с применением открытого ключа? Алиса использует это шифрование для цифровой подписи. Она заверяет документы своим закрытым ключом и посылает подписанный документ Бобу. Теперь Боб нуждается в открытом ключе Алисы, чтобы проверить ее подпись. Как он получит его и в каком случае он может быть уверен, что ключ действительно Алисин?
На ранней стадии развития шифрования с использованием открытого ключа предполагалось, что будут существовать обширные базы данных, содержащие открытые ключи, подобно телефонным книгам. Боб мог бы посмотреть Алисино имя в такой базе данных и отыскать соответствующий этому имени открытый ключ.
Хорошо, но если все открытые ключи будут храниться где-то в большой базе данных, что можно сказать о безопасности этой базы данных? Злоумышленник способен натворить кучу бед, если сможет заменить один открытый ключ другим. Он может создать новый открытый ключ, подписать им пачку чеков и затем поместить его в базу данных рядом с именем Алисы. Таким образом, она подписала все эти чеки. Если Боб использует открытый ключ Алисы, чтобы зашифровать сообщение для нее, злоумышленник в силах заменить открытый ключ Алисы на свой; тогда секретное сообщение для Алисы сможет расшифровать взломщик, но не она сама.