2.3. Квантовый протокол распределения ключей
Следуя традиции, распространенной в криптографической литературе, назовем отправителя и получателя сообщений Алисой и Бобом соответственно.
Цель протокола распределения ключей — обеспечение Алисы и Боба общим секретным ключом (ключами) таким образом, чтобы злоумышленник, прослушивающий канал связи, не смог раскрыть передаваемый ключ. Конфиденциальность обеспечивается при помощи шифрования/дешифрования информации на секретном ключе, известном как отправителю (Алисе), так и получателю сообщений (Бобу). Основная гипотеза современных моделей системы связи, составляющих теоретическую основу для анализа атак в криптографии и теории информации, заключается в предположении о неограниченной возможности пассивно го мониторинга каналов передачи информации. Под пассивным мониторингом понимается прослушивание каналов, или, по-другому, несанкционированное считывание (копирование) передаваемой информации. В криптоанализе для обозначения подобной атаки часто используют термин нассивнв1й перехват сообщений. Как правило, справедливо и более сильна предположение — факт пассивного перехвата не может быть обнаружен ни отправителем, ни получателем сообщений.
В отличие от традиционных методов передачи информации, основанных на изменении (модуляции) таких физических параметров электрического сигнала, как частота, фаза и амплитуда, передача информации в квантовом канале осуществляется при помощи отдельные поляризованных фотонов. Например, элементарная квантовая система, состоящая из базиса образованного двумя состояниями поляризации, позволяет передавать двоичную информацию (бит «1» — фотон с одним состоянием поляризации, бит «О» — фотон с другим состоянием). При этом согласно принципу неопределенности существует теоретическая возможность создания квантового канала, состояние которого изменяется в результате прослушивания, Действительно, результат будет случайным, если выбрать два различных базиса и метод измерения для одного базиса использовать для измерения поляризации фотонов другого базиса. Причем адекватный метод измерения позволяет детерминированно установить состояние поляризации единичного фотона. Два базиса, обладающих подобным свойством рандомизации результатов измерений, называют сопряженными [105].
Рассмотрим квантовый протокол распределения ключей на примере конкретной схемы кодирования фазы для отдельных фотонов. Схема основана на применении интерферометра. Его принцип действия: два (или более) когерентных луча (с одинаковой частотой и paзностью фаз) проходят разные оптические пути, приобретают некоторую разность хода и при встрече в одной точке пространства интерферируют, то есть усиливаются, ослабляются или уничтожают друг друга в зависимости от соотношения фаз, с которыми они приходят в данную точку. Квантовая система связи (упрощенная схема представлена на рис. VIII.3) на основе разнесенного интерферометра Цендера — Маха [130] обеспечивает секретную передачу ключевой информации по стандартному волоконно-оптическому кабелю на расстояние 30 км и более [117]. Как видно из рисунка, одна половина интерферометра контролируется отправителем (Алисой), а вторая — получателем (Бобом).
Алиса в своей половине интерферометра генерирует последовательность многофотонных световых импульсов и подает их на вход устройства расщепления светового пучка. Расщепление выполняется в соответствии с заданными коэффициентами отражения и передачи. Последовательность импульсов с выхода расщепителя Алисы, распространяясь по волоконно-оптическому кабелю, поступает на вход модулятора фазы и затем, после сдвига фазы —на первый вход расщепителя Боба. Последовательность импульсов с выхода модулятора фазы Алисы также проходит по волоконно-оптическому кабелю и поступает на второй вход расщепителя Боба. Характер интерференции определяется фазовыми сдвигами, возникающими вследствие параметрических установок в модуляторах фазы. Помимо двух входов расщепитель Боба имеет два выхода — «плечо» 1 и «плечо» 2. Появление импульсов
на одном из «плеч» (или на обоих сразу) зависит от установленного в модуляторах фазового сдвига и коэффициентов расщепителя. Сбалансированный интерферометр с равными коэффициентами отражения и передачи обеспечивает разделение световых импульсов в ранкой пропорции. Если, например, модулятор Алисы переключает фазу между 0° и 180°, а фаза в модуляторе Боба постоянно установлена в 0°, то Боб будет наблюдать импульсы в «плече» 1 и 2 на выходе расщепителя. Таким образом, можно воспользоваться следующей схемой копирования двоичной информации: фазовый сдвиг 0° = бит 0 и фазовые( сдвиг 180° = бит 1. Соответственно для сбалансированного интерферометра: импульс в «плече» 1 = бит 0 и импульс в «плече» 2 = бит 1. Предположим: интенсивность источника световых импульсов Алисы такова, что одному импульсу соответствует один фотон (однофотонный импульс). При подаче однофотонного импульса на вход расщепителя разделение импульса невозможно. Иными словами, фотодетекторы, установленные на выходах первого расщепителя, не могут сработать одновременно. При заданных условиях одиночный фотон случайно «выбирает» один из двух путей, причем вероятность «выбора» определяется коэффициентами отражения и передачи расщепителя. Появление фотонов на выходе расщепителя Боба будет также иметь вероятностный характер. Вероятностную природу поведения фотонов в расщепителе можно использовать для генерации случайных двоичных последовательностей. Влияние фазовых установок на результаты измерений представлено в табл. VIII.1.
Схема кодирования 0°/180° не единственная, существует бесконечное число фазовых установок, позволяющих кодировать двоичную информацию. Например, передача двоичной информации также возможна, если Боб выбирает фазовую установку 90°, а Алиса переключает фазу между 90° и 270°. Обе схемы кодирования представлены в табл. ЧШ.1. Выбранные для кодирования базисы являются сопряженными. Следовательно, если Алиса выбирает схему 0°/180°, а модулятор Боба сдвигает фазу на 90°, то последовательность бит на выходе устройства Боба будет абсолютно случайной.
В общих чертах протокол распределения ключей состоит из следующих этапов:
• Алиса и Боб совместно выбирают схему кодирования/декодирования (например, 0°/180° и 90°/270°). Алиса генерирует ключ в виде случайной последовательности бит. Кодирование бита сводится к выбору с вероятностью 0.5 схемы кодирования (0°/180° или 90°/270°) и применению ее к отдельному фотону — переносчику бита информации в квантовом канале;
• Алиса посылает последовательность фотонов Бобу, который, в свою очередь, выполняет их декодирование — выбирает с вероятностью 0.5 схему декодирования (0°/180° или 90°/270°) и применяет ее для измерения каждого принятого фотона;
• закончив измерения, Алиса и Боб переходят к открытому обсуждению результатов кодирования/декодирования по открытому (не квантовому) каналу, например традиционному
Рис. VШ.4. Общая схема квантового протокола распределения ключей. Компьютеры отправителя и получателя управляют подготовкой и измерением отдельных фотонов— лазером «Л» и детектором «Д». Кодирование/декодирование выполняется при помощи разнесенного интерферометра Бендера — Маха. Согласование ключа осуществляется по открытому, не квантовому каналу. Пример иллюстрирует передачу одного бита ключа — получен в результате согласования после передачи четырех бит
ному телекоммуникационному каналу. Поскольку злоумышленник может вмешиваться в ход обсуждения, информационный обмен должен быть аутентичным — необходим механизм проверки подлинности сообщений как со стороны Алисы, так и со стороны Боба. При обсуждении по открытому каналу Боб сообщает, какая схема декодирования была использована при измерении каждого принятого фотона и в каких позициях фотоны вообще не были приняты. При этом он не раскрывает конкретных бит информации, полученных в процессе измерений;
• Алиса сравнивает выбор Боба со своим выбором и сообщает Бобу (по открытому каналу), где они совпали. Все биты, соответствующие разным схемам кодирования/декодирования, а также биты, не обнаруженные в ходе приема, из рассмотрения выбрасываются. В результате Алиса и Боб имеют одинаковые случайные последовательности бит ключа;
• активность злоумышленника может привести к ошибочному приему отдельных бит ключа. Для обнаружения ошибок Алиса и Боб открыто договариваются о выборе некоторого подмножества позиций ключа, вычисляют контрольные суммы (сумма по модулю 2 бит на выбранных позициях) и обмениваются результатами. Наличие ошибок свидетельствует об активности злоумышленника. Отсутствие ошибок гарантирует секретность ключа. Как и на предыдущем этапе, все использованные для обнаружения ошибок биты из рассмотрения выбрасываются.
Схема квантового протокола распределения ключей представлена на рис. VШ.4. Описанный протокол требует дополнительных пояснений. Чем обусловлена секретность ключа? Рассмотрим протокол с позиции злоумышленника. Злоумышленник имеет доступ к квантовому каналу, по которому передаются фотоны, возможность прослушивания открытого (не квантового) канала также ничем не ограничена. Квантовый и открытый каналы имеют различную физическую природу. Предположим, что злоумышленник пытается раскрыть секретный ключ, для этого он перехватывает (принимает от Алисы → измеряет → передает Бобу) фотоны в квантовом канале и анализирует обсуждение в открытом канале. Он не знает истиной схемы кодирования, так как Алиса случайно и независимо выбирает одну возможных схем кодирования для каждого передаваемого бита. Более того, сделав юный выбор, злоумышленник не может установить сам факт ошибки. Злоумышленник вынужден передавать фотоны Бобу, так как знает, что пропущенные в ходе приема фотоны из рассмотрения выбрасываются. Таким образом, основная задача злоумышленника- угадать схему кодирования. Боб случайно и независимо от Алисы выбирает одну из возможных схем декодирования для каждого принятого фотона. Это, в свою очередь, чует, что 50% переданных Алисой и принятых Бобом бит ключа в результате открытого обсуждения будет исключено из рассмотрения. Из примера табл. VШ.2 следует, что выбранные Алисой и Бобом схемы кодирования/декодирования для некоторых позиций совпадают. Однако злоумышленник, находящийся между Алисой и Бобом, иногда ошибается в ре схемы, что приводит к изменению начального состояния фотона и схемы кодирования. Активность злоумышленника приводит к возникновению ошибок. Обнаружение ошибок выполняется путем сравнения контрольных сумм, вычисленных на случайно выбранных и сованных в ходе открытого обсуждения позициях. Эта фаза протокола называется фазой согласования (reconciliation stage). Стратегия злоумышленника в сочетании с выбором сопряженных базисов для кодирования/декодирования приводит к тому, что 25% переданной информации будет принято с ошибками. Вообще, если Алиса, Боб и злоумышленник случайно и независимо выбирают схему кодирования/декодирования, то приблизительно 5/8 бит декодировано без ошибок. Действительно 5/8 = 2/8+ 1/2 × 6/8, где 2/8 — вероятность того, что все трое выберут одну и ту же схему (схемы две, поэтому и события два, каждое возникает с вероятностью 1/8), а 6/8 — вероятность противоположного события, при котором ошибка возникает с вероятностью 1/2. Из табл. VШ.2 видно, что биты на позициях 4, 7 и 10 известны злоумышленнику. Предположим, что в результате процедуры обнаружения ошибок (с выбрасыванием проверенных бит) все известные злоумышленнику биты остались' »составе секретного ключа. Следовательно, полученный ключ является частично секретным. Как исправить положение? Гарантированно секретный ключ может быть получен, если Алиса и Боб вычислят значение хэш-функции от двоичной последовательности, полученной в результате согласования. Очевидно, что хэш-функции отправителя и получателя должны быть одинаковыми.
При таком подходе секретность ключа определяется вычислительной трудоемкостью восстановления исходной двоичной последовательности по значению хэш-функции. Эта фаза протокола называется фазой расширения секретности (privacy amplification stage). Например, в одном из первых экспериментов, при начальной длине ключа 105 бит, ожидаемое количество информации о ключе, полученное злоумышленником после завершения фазы расширения секретности, оценивалось как 6 × 10171 бит [119).
Как было отмечено выше, необходимо обеспечить аутентичность всех передаваемых в. ходе открытого обсуждения сообщений. Сделать это можно при помощи кода аутентификации сообщений (КАС), вычисляемого отправителем и проверяемого получателем сообщений. Для вычисления и проверки КАС отправитель и получатель должны разделять общий секретный ключ. Таким образом, складывается парадоксальная ситуация: для согласования секретного ключа, переданного по квантовому каналу, Алиса и Боб должны знать некоторый другой секретный ключ, необходимый для аутентификации сообщений в открытом, не квантовом канале связи. На первый взгляд, данное обстоятельство ставит под сомнение все достоинства квантовой криптографии. Однако все не так плохо, как кажется. Квантовая криптография не позволяет решить проблему секретного канала принципиально, но предлагает компромиссное решение. Необходимость «первичного» канала распространения секретного ключа сохраняется. Контроль передачи секретного ключа в таком канале осуществляется «всем миром». Основное назначение «первичного» канала — запуск квантового протокола распределения ключей. После передачи первого секретного ключа по квантовому каналу необходимость в «первичном» канале отпадает. Новый ключ аутентификации получается вычислением хэш-функции от конкатенации секретного ключа, переданного во время предыдущего сеанса, и старого ключа аутентификации. Поскольку для аутентификации необходим
Таблица VШ.2. Пример передачи 10 бит ключа в квантовом канале. Символ «√» используется для обозначения базиса 90°/270°, выбранного Алисой, Бобом или злоумышленником для кодирования/декодирования бита информации. Поскольку в позициях 2,3, 6 и 9 Алиса и Боб выбрали различные базисы, биты на этих позициях исключаются из, рассмотрения (помечены символом «†). В позициях 1, 5 и 8 Алиса и Боб в отличие от злоумышленника выбрали одинаковые базисы, биты на этих позициях (помечены символов «+) являются претендентами на ключ, однако могут содержать ошибки (позиции 1 и 8). Биты на позициях, помеченных символом а —, известны злоумышленнику — случайно угадал правильный базис
секретный ключ, открытое обсуждение может быть конфиденциальным — ничто не мешает использовать ключ для шифрования сообщений в открытом, не квантовом канале, Шифрование позволяет применять корректирующие коды с исправлением ошибок (например, каскадные коды [131]) и, как следствие, увеличить пропускную способность квантового канала — необходимость в выбрасывании проверенных бит при этом отпадает. Возможно, квантовый протокол распределения ключей следует воспринимать не как способ передачи ключа, а как совместную процедуру генерации случайной двоичной последовательности.
Рассмотренная стратегия злоумышленника известна под названием перехвата с nepeдaчей (intercept/resend strategy). Несостоятельность всех известных разновидностей подобном стратегии применительно к квантовому протоколу распространения ключей доказана в [118]. Дополнительные сложности возникают при практической реализации протокола. Реальные приборы — детекторы и модуляторы — вносят свои ошибки независимо от злоумышленника. Однако для обеспечения гарантированной секретности необходимо исходить из предположения, что все ошибки инспирированы злоумышленником.
Существует возможность передачи по квантовому каналу на расстояния, превышающими 30 км. Некоторое усовершенствование детекторов позволяет увеличить расстояние до 100 км и более. Компания British Telecom предложила ряд экспериментальных разработок в этой области. Первый вариант квантового протокола распределения ключей на основе разнесенного интерферометра с длиной волны 1300 нм обеспечил передачу ключей на расстояние свыше 30 км со скоростью 1 Кбит/с [117]. Разработанный прототип продемонстрировал принципиальную возможность передачи ключей со скоростью 20 Кбит/с и выше. Основная сложность практической реализации связана с обеспечением стабильной поляризации при передаче по стандартному волоконно-оптическому кабелю на десятки километров. Эффект двойного лучепреломления, обусловленный неоднородностью волокон кабеля, а также ряд других эффектов приводят к случайной флуктуации поляризации. Результаты недавних экспериментов показали, что в общем случае временной интервал флуктуаций достаточно велик (десятки минут) и, следовательно, может быть компенсирован [120]. Задача компенсации флуктуаций в принципе решаема, однако может привести к дополнительным трудностям при практической реализации.
Разнесенный (или двойной) интерферометр Цендера-Маха (рис. VШ.З) составляет основу всех известных прототипов квантового протокола распределения ключей [121, 122]. Интерферирующие импульсы между Алисой и Бобом имеют одинаковую задержку и распространяются по квантовому каналу в режиме временного уплотнения. Однако параметры интерферометров Алисы и Боба могут различаться. Точнее, длина пути, которую проходят импульсы, в разных интерферометрах может быть различной. Таким образом, для получения качественной интерференции необходимо обеспечить идентичность интерферометров и их стабильную работу во время передачи по квантовому каналу. Кроме того, некоторые оптические компоненты, например модуляторы фазы, также требуют контроля поляризации в самом интерферометре и во время передачи. Указанные факторы осложняют практическую реализацию квантового протокола распределения ключей.
Авторы патента [116] предложили новый вариант практической реализации протокола. Передача осуществляется в режиме временного уплотнения каналов, однако интерферирующие импульсы проходят по одному пространственному пути с незначительной временной задержкой. В отличие от известных ранее схем новое решение не требует контроля длины пути. Кроме того, пройдя по волоконно-оптическому кабелю, импульсы отражаются при помощи зеркал Фарадея. Применение зеркал Фарадея вместо обычных зеркал позволяет устранить эффект двойного лучепреломления и потерю поляризации во время передачи. В предлагаемом решении отпадает необходимость в контроле поляризации. Алиса и Боб могут обмениваться ключами по стандартному телекоммуникационному каналу без предварительного согласования параметров. Для того чтобы начать передачу, достаточно подключить к волоконно-оптическому кабелю передающее и приемное оборудование и синхронизировать сигналы. Стремясь отметить простоту установки и запуска и используя терминологию из области компьютерных технологий, авторы охарактеризовали предложенное ими решение, или plug-and-play-систему квантовой криптографии.
2.4. Распределение ключей в оптических сетях
Из приведенного выше описания следyeт, что с точки зрения сетевых технологий квантовый протокол распределения ключей возможен только для соединения «точка-точка». Данный факт ограничивает область применения протокола. Компания British
Telecom предложила ряд решений, позволяющих применять протокол в рамках сетевого взаимодействия [123]. Для простоты рассмотрим сеть с древовидной конфигурацией [123]. Схема сети представлена на рис. VIII.5. Алиса взаимодействуют с N абонентами сети — передает и принимает информацию. Присвоим абонентам сети имена Боб(1) ... Боб(N). Сеть на рис. VIII.5 — «двойная звезда», оснащенная оптическими расщепителями (optical splitters) на каждом уровне (обозначены кружками). При передаче многофотонный импульс «расщепляется» таким образом, что копия входного импульса появляется на каждом из выходов расщепителя и направляется по своему пути. В итоге каждый Боб получает копию импульса, переданного Алисой. Как было отмечено выше, поведение отдельного фотона в расщепителе подчиняется вероятностным законам. Переданный Алисой единичный фотон не может быть разделен или скопирован, но может появиться (с некоторой вероятностью) на
одном из выходов расщепителя. В результате переданный Алисой единичный фотон будет получен только одним из абонентов. Какой из Бобов получит фотон, зависит от вероятности появления фотона на том или ином выходе расщепителя.
Таким образом, Алиса для передачи уникального секретного ключа каждому Бобу посылает некоторую двоичную последовательность; при кодировании каждого бита случайно и независимо выбирается одна из двух схем сопряженного кодирования. Процесс распределения бит является недетерминированным, номера разрядов с полученными битами будут меняться от одного сеанса распределения ключа к другому. В результате каждый из Бобов получит уникальный ключ — некоторое подмножество бит двоичной последовательности, переданной Алисой. Описанная технология эквивалентна установлению N различных среди пений типа «точка-точка» между Алисой и каждым из абонентов. Следовательно, исходя из предположения о пропорциональном коэффициенте расщепления, каждый из Бобов получит двоичную последовательность длины D(N, где D — длина исходной последовательности. На рис. VIII.6 представлен пример передачи ключа в упрощенной сети с одним расщепителем и тремя Бобами.
Возможности применения протоколов квантовой криптографии в оптических сетях с различной конфигурацией, а также вопросы практической реализации квантового протокола для многих пользователей рассматриваются в статьях [123, 124].
2.5. Другие протоколы распределения ключей
Характерная особенность рассмотренного квантового протокола распределения ключей заключается в факте искажения передаваемой информации в результате активности злоумышленника. Все известные в настоящее время протоколы квантовой криптографии позволяют обнаружить пассивный перехват в квантовом канале.
В 1992 г. Беннетт разработал квантовый протокол с двумя состояниями и продемонстрировал его работу на экспериментальной установке [126]. Для кодирования бит используется два неортогональных квантовых состояния вместо четырех. Для обеспечения секретности ключа необходимы дополнительные усилия, так как злоумышленник может точно устань вить ошибку в результате измерения и передавать получателю фотоны, соответствующие
раскрытым битам ключа. Исследовательская группа из Лос-Аламоса реализовала протокол и осуществила секретную передачу ключа по стандартному волоконно-оптическому кабелю расстояние 14 км [127].
В 1991 г. Экерт предложил квантовый протокол на основе эффекта Эйнштейна-Подольского — Розена [111]. Фундаментальное содержание идеи сводится к тому, что понятие корреляции в квантовой механике отличается от аналогичного понятия в классической механике. Активность злоумышленника разрушает квантовую корреляцию и переводит ее в классическую. Неравенство Белла [128], известное в квантовой физике с 1964 г., позволяет устанавливать факт отсутствия квантовой корреляции и тем самым обнаруживать пассивный перехват в квантовом канале. Протокол Экерта пока не реализован на практике, однако результаты исследований подтверждают, что это возможно [129].
Квантовая криптография стала реальностью — факт бесспорный. При соответствующем ypoвне инвестиций и проведении дополнительных исследований можно ожидать, что коммерческая система появится в ближайшие годы. С развитием глобальной информационной инфраструктуры, появлением электронных наличных денег и платежных систем вопросы информационной безопасности выйдут на передний план. Очевидно, что в этой ситуации возможности квантовой криптографии трудно переоценить. Однако с учетом последних теоретических результатов квантовая криптография может принципиально повлиять на проблему обеспечения секретности. В 1994 г. Шор (Р. Shor) из АТЛЕТ Laboratories показал, как принципы, лежащие в основе квантовой механики, могут быть использованы для атаки классических двухключевых криптосистем, например криптосистемы RSA и стандарта цифровой подписи DSA [125]. Известно, что практическая криптостойкость RSA зависит от вычислительной трудоемкости задачи факторизации — разложения двусоставного модуля (произведение двух простых чисел) на сомножители. Факторизация модуля позволяет раскрыть секретный ключ и, как следствие, дешифровать любое сообщение, подделать цифровую подпись. Суть атаки на DSA — эффективное решение задачи дискретного логарифмирования. Шор предложил алгоритмы факторизации и дискретного логарифмирования для квантового компьютера, позволяющие решать задачи существенно эффективнее, чем известные алгоритмы для классического компьютера. Таким образом практическая криптостойкость RSA остается под вопросом — развитие методов целочисленной факторизации в сочетании с производительностью квантового компьютера представляет серьезную угрозу для долговременных секретов. Однако при атаке на квантовый протокол распределения ключей применение квантового компьютера, как и классического, не позволяет принципиально повлиять на эффективность атаки. Иными словами, никакой компьютер, квантовый или какой-либо другой, не сможет справиться с принципом неопределенности — фундаментальным законом природы.
Аутентификация
Аутентификация представляет собой метод проверки подлинности, позволяющий достоверно убедиться в том, что субъект действительно является тем, за кого он себя выдает. Отметин, что идентификация в отличие от аутентификации заключается в присваивании уникальны имен-идентификаторов и позволяет субъекту (пользователю, или процессу, действующему имени пользователя) называть себя (сообщать свое имя) в ответ на соответствующий запрос системы,
Субъект может подтвердить свою подлинность, если предъявит по крайней мере одну следующих сущностей:
• нечто, что он знает (пароль, личный идентификатор, криптографический ключ и т.п.);
• нечто, чем он владеет (персональную карточку или иное устройство аналогичного назначения);
• нечто, что является частью его самого (голос, отпечатки пальцев или иные биометрические характеристики).
Отметим, что аутентификация может применяться не только для установления подлинности пользователей, но и для проверки подлинности источника сообщений. В распределенных средах, когда аутентификации подвергаются процессы или данные, криптографические методы выходят на передний план; по существу им нет альтернативы.
Парольная защита — один из основных применяемых на практике механизмов аутентификации. Системы парольной защиты часто подвергаются атакам со стороны злоумышленников; несовершенство существующих способов защиты является объектом непрерывной критики. Выбор адекватных мер противодействия во многом зависит от понимания системными администраторами природы существующих угроз. К известным угрозам относятся: раскрытие и угадывание пароля, пассивный перехват, компрометация проверяющего, несанкционированное воспроизведение. Рассмотрим возможные меры противодействия угрозам [64].
1.1. Противодействие раскрытию и угадыванию пароля
Раскрытие — свободный доступ к секретному паролю со стороны злоумышленника. Существует множество причин утечки секретной информации. Например, несекретный режим хранения: легальный пользователь, чтобы не забыть пароль, записывает его на бумаге. В некоторых случаях пароли хранятся в открытых файлах данных или исполняемых программ. Необходимую секретную информацию можно получить, просматривая распечатки
системных протоколов. А разве нельзя, в конце концов, просто позвонить системному администратору, представиться легальным пользователем и потребовать замены пароля? Очевидно, что угроза раскрытия усугубляется в случае, если один и тот же пароль известен группе пользователей.
Меры противодействия раскрытию сводятся к следующему:
• разъяснение специфики существующих угроз;
• строгая политика безопасности;
• регулярная смена паролей;
• индивидуальные пароли;
• секретные методы ввода и хранения паролей;
• легко запоминающиеся пароли.
Отметим, что для раскрытия пароля из шести символов латинского алфавита методом силовой атаки (исчерпывающий перебор) в худшем случае понадобится проверить не менее 309 миллионов комбинаций (266 = 309M). Оценки вычислительной трудоемкости силовой атаки при производительности 10 тыс. паролей в секунду приведены в табл. IX.1 (по материалам корпорации PKWARE, Inc.).
Угадывание паролей также представляет серьезную проблему. Некоторые последовательности символов, выбираемые в качестве паролей, могут использоваться чаще, чем все остальные. Моррис и Томпсон (Morris, Thompson) провели исследование 3289 различных паролей [135] и обнаружили 2831 (86%) «слабый» пароль. Из них:
• 15 состояли из одного ASCII-символа;
• 72 — из двух ASCII-символов;
• 464 — из трех ASCII-символов;
• 477 — из четырех алфавитно-цифровых символов;
• 706 — из пяти букв (все либо строчные, либо прописные);
• 605 — из шести строчных букв.
Таким образом, специальные частотные словари имен, словоформ и акронимов позволяют упростить угадывание пароля. Непродуманная политика безопасности, допускающая ввод коротких паролей, — еще одна причина успешных атак на системы парольной защиты. Естественно, многие пользователи отдают предпочтение коротким паролям за легкость запоминания и ввода. При этом задача злоумышленника также существенно упрощается— сокращается объем перебора возможных вариантов. Брешь в политике безопасности создает отсутствие строгого ограничения на использование стандартных паролей, устанавливаемых по умолчанию на фазе инсталляции компонентов системы. Стандартные пароли должны меняться сразу же после первого предоставления доступа, в противном случае доступ должен блокироваться. Уязвимо также применение в качестве паролей собственных имен или других персональных характеристик пользователей, например даты рождения. Распространенная практика — использование одной последовательности символов для пароля и системного имени login.
Известно, что сетевой вирус Worm широко распространился в Internet благодаря алгоритму угадывания паролей [132]. Процедура угадывания состояла из трех этапов:
• в первую очередь выполнялась проверка на:
— отсутствие пароля;
— совпадение пароля с именем login;
— конкатенацию имени login с самим собой; — реверсивное имя login;
— собственное имя пользователя (всегда можно извлечь из системных файлов);
• затем осуществлялся поиск пароля в словаре объемом 432 слова, состоящем в основном из английских названий и имен;
• последняя проверка — поиск пароля в on-line-словаре ОС UNIX™ (с проверкой вари- анта замены прописных букв строчными).
Существенно более простой алгоритм угадывания паролей — проверка на отсутствие пароля и совпадение его с именем login — не ограничил распространения другого сетевого виpyca WANK &OILZ [133].
Известны следующие меры противодействия угадыванию паролей:
• разъяснение специфики существующих угроз;
• ограничение числа попыток ввода пароля;
• снижение продуктивности угадывания путем введения дополнительной задержки при проверке пароля;
• проверка в целях запрета:
— слишком коротких паролей;
— паролей, совпадающих с именем login;
— паролей на основе персональных данных пользователей;
— паролей в виде часто употребляемых слов и последовательностей символов (проверка по словарю);
• регулярная смена паролей:
• ограничение времени жизни стандартных паролей, устанавливаемых по умолчанию при инсталляции;
• применение специальных программ генерации паролей.
К сожалению, меры противодействия раскрытию и угадыванию паролей в достаточной степени противоречивы. Соблюдение мер противодействия угадыванию отрицательно сказывается на удобстве пользования паролями. Если пароль трудно запомнить, возникает соблазн записать его на бумаге, следовательно, возникает угроза раскрытия пароля. Все это необходимо учитывать при проектировании парольной защиты, стремясь к сбалансированному решению. Некоторые рекомендации по парольной защите изложены в федеральном стандарте США FIPS PUB 112, а также в рекомендациях Министерства обороны США [134].
1.2. Противодействие пассивному перехвату
Угроза пассивного перехвата пароля возникает в первую очередь при удаленном доступе. Но не только. Например, для получения доступа к закрытым при помощи паролей разделам жесткого диска персонального компьютера достаточно внедрить в операционную систему программу «закладку» мониторинга начальной фазы сеанса (login, password) с сохранением Е базе данных всех введенных при этом паролей и имен пользователей. Основная мера противодействия пассивному перехвату — применение механизма защищенных паролей, который может быть реализован как криптографическими, так и некриптографическими методами при помощи хэш-функций.
Хэш-функция h — преобразование последовательности бит переменной длины x в последовательность бит фиксированной длины у. Отметим, что подобное преобразование не является криптографическим, так как не содержит секретного компонента — ключа. Алгоритм вычисления функции также всем известен.
Простейшая схема защищенных паролей представлена на рис. IX.1.
Предположим: заданы пароль р и уникальный идентификатор пользователя id. Для получения доступа пользователь (или злоумышленник) вводит идентификатор id и некоторый пароль р'. Вычисленное значение хэш-функции от введенного пароля q' = h(р') и идентификатор id перешаются проверяющему. В базе данных проверяющего для каждого id содержится значение q = h(р). В случае q = q проверяющий заключает, что введенный пароль р' соответствует истинному р. Суть механизма защиты— знание q не позволяет просто определить р (требуется обратить хэш-функцию, а это вычислительно-трудоемкая задача).
Описанная схема имеет существенный недостаток. Предполагаемый злоумышленник может заранее построить таблицу значений q для наиболее вероятных р.
Будет ли раскрыт пароль, за висит от объема данных, полученных в результате мониторинга запросов на предоставление доступа, и от того, насколько выбранное распределение вероятностей для р соответствует реальному. Недостаток может быть устранен простым изменением схемы защищенных паролей (рис. IX.2). В предлагаемом варианте хэш-функция вычисляется не от пароля, а от конкатенации пароля и идентификатора. q =h(р+ id) и q1 =h(р1+id), устойчивый к табличной где знак «+» означает конкатенацию. При этом возможность построения таблицы ограничена конкретным идентификатором, что существенно снижает эффективность табличной атаки.
1.3. Защита при компрометации проверяющего
Масштабы потерь при компрометации базы данных проверяющего в результате внутренней атаки катастрофичны, так как скомпрометированным оказывается не отдельный пароль, и вся система парольной защиты.
Описанные выше схемы защищенных паролей в определенной степени обеспечивают защиту, поскольку в базе данных хранятся не сами пароли, а значения хэш-функции. Однако подобный метод не гарантирует адекватной защиты и адекватной защиты в случае, если злоумышлен ник может перехватывать значения хэш-функции легальных пользователей ( например, при удаленном вводе пароля) и затем использовать их для нелегального доступа. Один из способов устранения недостатка — вычислении хэш-функции проверяющим (рис. IX.З).
Аналогичная парольная схема применяется в, ОС UNIX™ [132]. (В ОС UNIXТМ помимо идентификатора и пароля при вычислении хэш- функции используется уникальное для каждого идентификатора случайное число, что обеспечивает дополнительную устойчивость к табличной атаке.
Данная схема имеет очевидный недостаток. При удаленном вводе пароля возникает риск пассивного перехвата. Введение дополнительной хэш-функции (рис. IX.4) позволяет частично уменьшить риск, одновременно обеспечивается защита в случае компрометации проверяющего. Схема сочетает достоинства вариантов, представленных на рис. IX.2 и IX.З. Проверяющий сохраняет значение r = h2(q+ id), где q = h1(р+ id). При этом хэш-функции h1 и h2 могут быть как одинаковыми, так и различными.
Дополнительная задержка при проверке — еще одно достоинство рассмотренных схем— дает возможность снизить продуктивность угадывания паролей.
1.4. Противодействие несанкционированному воспроизведению
Рассмотренные схемы не гарантируют защиты от несанкционированного воспроизведения— сохранения значений хэш-функции легальных пользователей, полученных в результате мониторинга запросов в целях их использования для несанкционированного доступа в более поздние сроки. Парольная схема с защитой от несанкционированного воспроизведения представлена на рис. IX.5. Идея сводится к введению дополнительной хэш-функции h3(х). Как и в рассмотренных выше случаях, после ввода пароля и идентификатора вычисляется значение q1, затем q' и некоторое число t (смысл которого будет разъяснен ниже) поступают на вход h3.Вычисленное в результате значение r' вместе с идентификатором id и числом t передается проверяющему, который вычисляет r = h2(q+t) и сравнивает с принятым r1. Положительное решение о предоставлении доступа принимается при r =r'.
Параметр t, или одноразовое число (в английской терминологии попсе), обеспечивает уникальность каждого запроса на предоставление доступа. Для принятия положительного решения о предоставлении доступа проверяющий обязан установить, что число t из текущего запроса не использовалось ранее, в противном случае запрос
отвергается. Один из способов реализации одноразовых чисел — применение механизма временных меток при условии существования синхронизированной системы единого времени для запрашивающего и проверяющего. Другой способ — генерация некоторого случайного числа для каждого запроса. Очевидно, что при этом проверяющий должен сохранять все использованные ранее числа в специальной базе данных.
Отметим, что рассмотренная схема все еще уязвима с точки зрения компрометации проверяющего. Зная q и id, злоумышленник может вычислить подходящее значение t и получить несанкционированный доступ.
Назначение схемы одноразовых паролей — противодействие угрозе несанкционированного воспроизведения. Суть схемы — использование различных паролей в каждом новом запросе на предоставление доступа. Известны следующие способы реализации идеи одноразовых паролей:
• общий для легального пользователя и проверяющего список случайных паролей и надежный механизм их синхронизации;
• общий генератор случайных чисел, с одним и тем же начальным значением для пользователя и проверяющего;
• механизм временных меток на основе системы единого времени.
Рассмотрим схему на основе персонального генератора паролей (рис. IX.6). Предположим, что описанные в предыдущих разделах функции реализованы в миниатюрном персональном устройстве с дисплеем. Устройство генерирует и выводит на дисплей некоторое значение r1. Затем выданное значение используется в качестве пароля и передается проверяющему по открытому каналу связи.
Персональное устройство имеет секретный ключ key.
Предполагается, что:
• секретный ключ key недоступен благодаря технологическому уровню реализации устройства;
• устройство функционирует в системе единого времени с проверяющим.
Для получения доступа легальный пользователь вводит в персональное устройство пароль р Устройство выводит на дисплей значение r' =h3(t+ key+ h1 (p'+ key)), вычисленное при помощи хэш-функций h1 и h3 где t — временная метка. Затем значение r вместе с идентификатором id передается проверяющему по открытому каналу связи. База данных проверяющего для каждого id содержит секретный ключ key и значение q = h1(р+ key). Положительное решение о предоставлении доступа принимается в случае r' = h2(q+ key+t).
Схема имеет следующие преимущества:
• атака невозможна, если злоумышленник знает пароль р, но не имеет доступа к устройству;
• атака невозможна, если злоумышленник имеет доступ к устройству, но не знает пароля p;
• атака невозможна, если злоумышленник знает q (например, утечка информации из базы данных), но не знает ключа key;
• защита от несанкционированного воспроизведения запроса (id,r') гарантирована благодаря механизму временных меток.
Дополнительная безопасность обеспечивается за счет периодической смены пароля р (и соответственно q в базе данных проверяющего), хотя персональное устройство и ключ key могут оставаться без изменения в течение длительного времени.
Другой вариант реализации идеи одноразовых паролей предложен в схеме S-Key [100].
На начальном этапе легальный пользователь случайно выбирает некоторое число т и для заданного системного параметра и при помощи рекурсивного хеширования вычисляет финальное значение w0:
Значение w0 вместе с- параметром n и идентификатором id передается проверяющему, по аутентичному каналу связи. Проверяющий записывает w0, n, id в базу данных. На этом заканчивается начальный этап формирования параметров схемы одноразовых паролей.
Далее легальный пользователь в целях получения доступа вычисляет (или извлекает из памяти) первый одноразовый пароль
и передает его проверяющему по открытому каналу связи.
Проверяющий, в свою очередь, вычисляет значение w0= h(w1). Положительное решение о предоставлении доступа принимается в случае равенства текущего одноразового пароля и пароля из базы данных: w0= w0. По факту положительного решения проверяющий выполняет корректировку базы данных: записывает w1 вместо w0 и (n — 1) вместо п.
При следующем запросе легальный пользователь вычисляет одноразовый пароль
В случае w1 = h(w2) проверяющий обновляет базу данных: вычитает единицу из n и записывает текущий одноразовый пароль wi+1 вместо предыдущего wi (w2 вместо w1 и т.д.).
Таким образом, при каждом новом запросе используется уникальный пароль. При n = 0 параметры схемы генерируются заново. Основная цель злоумышленника заключается в раскрытии следующего одноразового пароля wi+1 по текущему wi, то есть сводится к вычислительно-трудоемкой задаче обращения хэш-функции wi+1= h-1(wi).
Решение многих задач разграничения доступа основано на методе «запрос-ответ». Смысл метода заключается в следующем. Запрашивающий генерирует некоторое случайное число и передает его противоположной стороне. Ответ в виде криптографического преобразования заданного числа используется для принятия решения о предоставлении доступа. Например, управление доступом в компьютер может осуществляться следующим образом. На первом шаге в ответ на запрос компьютера (login) пользователь вводит свое имя, далее компьютер, проверив полномочия доступа на уровне списка имен, выдает запрос в виде семизначного числа. На втором шаге пользователь вводит запрос и секретный PIN-код в персональное устройство. Преобразование сводится к конкатенации запроса и PIN-кода с последующим шифрованием на секретном ключе устройства. На третьем шаге в ответ на запрос компьютера (password) пользователь вводит первые семь цифр результата шифрования.
Критерием для принятия решения о предоставлении доступа является совпадение введенного семизначного пароля и числа, хранящегося в таблицах доступа компьютера.
Метод «запрос-ответ» гарантирует надежную защиту от несанкционированного воспроизведения. Недостаток метода — усложнение протокола обмена между легальным пользователем и проверяющим.
Еще раз обратимся к схеме защиты от несанкционированного воспроизведения (рис. IХ.5). При реализации схемы возникает две важные проблемы. Первая связана с синхронизацией одноразовых чисел t, вторая — с проверкой уникальности одноразовых чисел. Метод «запрос-ответ» позволяет решить обе проблемы. Смысл в том, что запрос в виде уникального значения формируется проверяющим и затем передается легальному пользователю. Логика протокола проиллюстрирована на рис. IX.7.
Функции пользователя также могут быть реализованы на основе персонального вычислительного устройства. Аналогично схеме на рис. IX.6 дополнительный уровень безопасности может быть обеспечен за счет секретного ключа key.
В результате схема управления доступом по методу «запрос-ответ» совпадает со схемой на рис. IX.6, отличие лишь в том, что вместо одноразового числа t на вход h3 подается запрос chall от проверяющего (рис. IX.8). После ввода пароля р' и запроса chall портативное устройство вычисляет и выводит на дисплей значение г', которое затем передается проверяющему. Таким образом, механизм генерирования запросов chall (по сути одноразовых чисел) в подобных схемах находится в руках проверяющего и полностью им контролируется.
Человек является носителем уникальной информации, и некоторые его биологические параметры могут использоваться в качестве пароля. Подделать такой «биологический» пароль достаточно сложно, для этого необходимо воспроизвести отдельные элементы физической оболочки человека. Уникальность «биологического» пароля является сутью биометрических методов.
Биометрические методы основаны на измерении некоторых уникальных биологических параметров объекта в целях установления подлинности последнего. Надежность известных настоящее время биометрических методов составляет 99% — в одном проценте случаев ~ возможен отказ. К биометрическим относятся такие методы, как распознавание
• по голосу;
• по динамике факсимильной подписи;
• по отпечаткам пальцев;
• по геометрии руки;
• по сетчатке глаза;
• по радужной оболочке глаза;
• по геометрии лица;
• по индивидуальной технике работы.
При использовании биометрических методов различают две рабочие фазы:
• измерения объекта в целях получения уникального эталонного образца для базы данных;
• измерение объекта в целях принятия решения о предоставлении доступа.
На первой фазе предполагаются однократные измерения, выполняемые при формировании таблицы доступа. Вторая фаза — это выполнение измерений каждый раз при возникновении запроса на предоставление доступа. Технология предоставления доступа состоит из трех этапов:
• измерение объекта и получение текущего образца;
• распознавание текущего образца;
• принятие решения.
В случае абсолютно надежного биометрического метода с адекватной процедурой распознавания возможны два взаимоисключающих события — предоставление доступа или отказ в предоставлении доступа. Однако практическая надежность биометрического устройства оценивается по числу отказов в предоставлении доступа легальному пользователю (ложный отказ) и числу противоположных событий — предоставления доступа нелегальному пользователю (ложный доступ).
Рассматривая различные биометрические методы, обратим внимание в первую очередь на такие характеристики, как время, необходимое для измерения параметра, стоимость оборудования, эргономичность и надежность.
Основная проблема при разработке системы аутентификации по голосу заключается в реализации самой процедуры распознавания. Известно, что анализ частоты основного тона не дает хороших результатов, по этой причине чаще применяют метод моделирования характеристик резонансной системы речевого тракта при помощи кодирования с линейным предсказанием. Отметим, что задачи распознавания голоса и речи во многом похожи. Однако в силу объективных причин методы распознавания речи применяются достаточно редко— настройка системы для распознавания речи конкретного пользователя требует длительного времени. Эффективность процесса распознавания всегда зависит от уровня внешних шумов. К тому же человеческий голос может меняться со временем, что также осложняет распознавание. Существует и ряд технологических проблем. Процедура распознавания основана на применении сложных математических методов, таких, например, как преобразование Фурье. Аутентификация по голосу уязвима с точки зрения несанкционированного воспроизведения — для получения доступа достаточно записать парольную фразу легального пользователя и затем предоставить ее для распознавания. Для предотвращения описанной атаки применяется следующий способ: задается не одна, а несколько парольных фраз, адекватно распознаваемых системой аутентификации. Процедура аутентификации сводится при этом к случайному выбору и отображению на дисплее одной из парольных фраз и ее голосовому воспроизведению.
Простой способ распознавания факсимильной подписи, так же, как в случае распознавания голоса, не позволяет получить надежных результатов. Сравнение текущего варианта подписи с эталонным не подходит, так как необходимо учета вариабельности при распознавании открывает лазейки для подлога подписи. Для решения задачи помимо отслеживания координат текущей подписи применяется более сложный метод анализа таких динамических характеристик, как давление, время и скорость рукописной подписи. Подобная процедура схожа с аутентификацией по голосу, где сравниваются характеристики отдельных сегментов, составляющих подпись. Системы аутентификации на основе распознавания подписи практичны и не требуют значительных инвестиций в разработку. Однако анализ динамических характеристик все же не дает полной гарантии — возможен ложный отказ в предоставлении доступа. Кроме того, не исключена вероятность несанкционированного воспроизведения и подлога подписи. В качестве меры противодействия применяется способ, аналогичный описанному выше.
Компания IBM разработала специальное биометрическое устройство анализа факсимильной подписи на базе электронного пера (патент 4 513 437). Перо имеет три пьезоэлектрических датчика, один — для измерения давления в направлении оси пера, два других — для измерения ускорения. Скорость обработки составляет 80 однобайтовых образцов в секунду. Около 1000 измерений выполняется за 12,5 с. Процедура распознавания действует на основе алгоритма динамической адаптации, позволяющего учитывать вариабельность подписи. В результате двухгодичного тестирования было установлено, что ложный отказ возникает в 0,2%, а ложный доступ — в 0,4% случаев. На этапе начальной регистрации необходимо вводить несколько рукописных образцов подписи. В ходе распознавания также может возникнуть необходимость в повторном рукописном воспроизведении подписи.
Активными исследованиями в области распознавания подписи занимаются научные подразделения компании Sandia и исследовательского института в Станфорде.
Метод аутентификации по отпечаткам пальцев известен очень давно и основан на классификации и анализе таких элементов дактилоскопического узора, как дуги, циклы, изгибы.
Классификация элементов узора выполняется по методу Генри, названному так в честь е создателя сэра Эдварда Генри. В видоизмененном и расширенном виде метод Генри применяется практически во всех процедурах распознавания. Проверка отпечатка выполняется путем локализации деталей узора (концевых точек, раздвоений и т.д.) с фиксацией их координат и угловых отклонений. Решение принимается по результатам сравнения с образцом.
Дактилоскопические сканеры удобны — для считывания достаточно поместить палец (и всю руку) на рабочую площадку. Общий метод получения изображения дактилоскопического узора — освещение обратной стороны стеклянной площадки, на которую помещается палец с последующим измерением интенсивности отраженного света. Информация об узоре полу чается за счет низкого коэффициента отражения зоны контакта выступающих папиллярных линий с поверхностью стекла. Широкое распространение метода в криминалистике порождает некоторые опасения и ограничивает его использование в задачах аутентификации.
Метод аутентификации по геометрии руки основан на измерении таких физических характеристик руки пользователя, как длина и толщина пальцев, ширина ладони. Метод считается наилучшим с точки зрения точности измерений и эргономичности. Однако вопрос q возможности подлога остается открытым. Известная на рынке система аутентификации имеет следующие параметры: память для хранения эталона — 9 байтов, вероятность ложного доступа/отказа — 0,2%, время проверки — 1,2 с.
В 1935 г. исследователи Саймон (Simon) и Гольдштейн (Goldstein) доказали уникальность рисунка кровеносных сосудов сетчатки глаза. Следовательно, человеческий глаз, как и от печатки пальцев, может использоваться в качестве объекта аутентификации. Процедура заключается в считывании рисунка при помощи инфракрасного сканера, соответствующей обработке и сравнении с образцом. Данный метод не популярен, так как связан с определенным неудобством для пользователя — для считывания рисунка необходимо воздействовать на сетчатку световым пучком. Другая проблема связана с точным позиционированием головы по время считывания — незначительные отклонения могут повлиять на результат. Система аутентификации на основе сканирования сетчатки компании Eyedentify, Inc. имеет следующий параметры: память для хранения образца — 35 байтов, ложный доступ — 0% при низком проценте ложных отказов.
Идея, аналогичная поиску уникальных элементов дактилоскопического узора, используется в системах аутентификации на основе анализа радужной оболочки глаза. Данный метод точнее анализа отпечатков пальцев и предоставляет в шесть раз больше информации. Компания Iriscan, Inc. предлагает устройство со следующими параметрами: память для хранения образца — 256 байтов, вероятность ложного доступа/отказа — 13%, время проверки — 100 мс,
Методы распознавания геометрических характеристик человеческого лица находятся в стадии разработки. Существующая в настоящее время техника воспроизводит свойственный человеку метод распознавания при общении лицом к лицу. Компания Neuromatic Vision Systems, Inc. предлагает сложное устройство на основе нейронно-сетевой микросхемы с производительностью 20 чел./с.
Метод распознавания индивидуальной техники применялся еще во время первой мировой войны. По манере передачи сообщений в коде Морзе устанавливалась личность оператора. В настоящее время используются методы распознавания индивидуальной техники работы на клавиатуре и манипуляторе типа «мышь». Метод перестает работать при изменении индивидуальной техники, например, в случае повреждения конечностей.
Лаборатория компании Sandia провела исследование эффективности некоторых коммерческих устройств для биометрической аутентификации. Данные о надежности различных методов распознавания приведены в табл. IX.2.
Характеристики существующих методов представлены в табл. IX.З. Биометрические методы имеют достаточно высокий процент ошибок и не гарантируют точной аутентификации. Однако их применение вместе с парольной защитой, в соответствии с принципом «кто ты и что ты знаешь», позволяет надежно устанавливать подлинность объекта аутентификации.
3. Криптографические методы аутентификации
В 1977 г. Нидхэм (R. М. Needham) из Кембриджа и Шредер (М. D. Shroeder) из научного подразделения компании Xerox сформулировали ряд общих принципов аутентификации в компьютерных сетях. Результаты исследования были опубликованы в ноябрьском номере журнала Communication of the АСМ за 1978 г. [45].
В настоящее время принципы аутентификации Нидхэма — Шредера составляют основу многих практических протоколов (например, Kerberos [28], протоколы стандарта ITU-Т Х.509 [18] и т.д.).
Применительно к компьютерным сетям задача аутентификации заключается в установлении подлинности источника сетевых сообщений. Под взаимной аутентификацией понимают процедуру установления подлинности двух взаимодействующих сетевых объектов.
С точки зрения гарантированного доказательства подлинности различают два вида аутентификации:
• объекты аутентификации убеждаются в подлинности друг друга — обмениваются взаимными гарантиями;
• объекты аутентификации не только обмениваются взаимными гарантиями, но и могут доказывать свою подлинность независимому арбитру (третьей стороне).
При сетевом взаимодействии различают:
аутентификацию в режиме on-line. Особенность этого режима заключается в интерактивном взаимодействии сетевых объектов — возможен непрерывный обмен сообщениями по определенному протоколу. Каждое переданное сообщение инициирует ответ противоположной стороны. Типичный пример — взаимодействие по технологии «клиент/сервер»;
аутентификацию в режиме off-line. В этом режиме непрерывный обмен сообщениями невозможен. Передача сообщений имеет односторонний характер. Обработка сообщения будет выполнена в тот момент, когда противоположная сторона будет к этому готова. Типичный пример — электронная почта.
Проблема аутентификации в компьютерных сетях решается при помощи криптографических протоколов аутентификации.
Криптографическим протоколом называют дисциплину обмена информацией между абонентами криптосети для установления и поддержания безопасного режима взаимодействия при передаче сообщений, предоставления доступа, обработке и хранении информации.
Основу любого криптографического протокола составляет некоторый алгоритм криптографического преобразования. Очевидно, что в случае успешной атаки на криптоалгоритм протокол также будет скомпрометирован. Однако плохо спроектированный протокол может быть скомпрометирован даже в случае применения безусловно секретного шифра Вернама [32), то есть криптоалгоритма, в котором для каждого сообщения используется уникальный секретный псевдослучайный ключ, причем длина ключа (в битах) равна длине сообщения, а шифрование (дешифрование) выполняется путем побитного суммирования (по модулю 2) открытого текста (шифротекста) и ключа.
Рассматривая протоколы аутентификации, будем исходить из предположения, что противник может активно вмешиваться в процесс передачи информации — модифицировать передаваемые сообщения, навязывать получателю свои собственные сообщения и даже изымать сообщения из канала.
Полноценная аутентификация невозможна без участия доверенного центра, отвечающего за хранение и управление ключами. Многие протоколы аутентификации являются двусторонними — абоненты криптосети общаются не только друг с другом, но и с доверенным центром. Обслуживание потока запросов от абонентов криптосети и управление протоколом аутентификации осуществляются при помощи специальных серверов аутентификации.
Рассмотрим протоколы аутентификации на основе симметричных и асимметричных криптосистем для on/off-line-режимов сетевого взаимодействия.
3.1. Аутентификация в режиме on-line
3.1.1. Протокол 1. Симметричная криптосистема
В симметричной криптосистеме каждый абонент имеет секретный ключ, известный также серверу аутентификации.
При установлении соединения полезно различать абонента-инициатора (обозначим через А), запрашивающего соединение, и абонента-респондента (обозначим через В), отвечающего на сообщения абонента-инициатора. С точки зрения рассматриваемой задачи абонент- инициатор должен сгенерировать сообщение, отвечающее двум основным требованиям:
а) сообщение должно быть понятно только В, то есть только В может воспользоваться сообщением для доказательства своей подлинности абоненту-инициатору А;
б) подлинность сообщения абонента инициатора должна быть для В очевидна.
Рассмотрим протокол аутентификации исходя из предположения, что абоненты А и В обслуживаются сервером аутентификации AS. При описании протокола для обозначения процедуры шифрования воспользуемся фигурными скобками — шифруется все, что указано внутри скобок. Для обозначения ключа, на котором выполняется шифрование, используется верхний индекс закрывающей парной фигурной скобки.
Протокол начинается с передачи AS имени абонента-инициатора, абонента-респондента и некоторого уникального одноразового значения IA1. (В англоязычных текстах для обозначения IA1 часто используют термин попсе — used only once.). Важно, чтобы одноразовое значение менялось от сеанса к сеансу. Вся информация на первом шаге протокола передается в незашифрованном виде:
Получив сообщение (IX.1), сервер AS извлекает из базы данных секретные ключи абонентов А и В и вычисляет уникальный сеансовый секретный ключ KS. Затем AS передает А сообщение:
Через КA и КB обозначены секретные ключи абонентов А и В соответственно. Поскольку сообщение (IX.2) зашифровано на секретном ключе абонента А, только он может дешифровать его и раскрыть сеансовый ключ KS. После дешифрования А выполняет проверку атрибутов сообщения: имени абонента-респондента и значения IA1. Совпадение принятых атрибутов с переданными ранее позволяет убедиться, что принятое от сервера сообщение является ответом на запрос (IX.1). При положительном результате проверки А посылает В сообщение:
Только В при помощи ключа Кв может дешифровать данное сообщение и извлечь сеансовый ключ КS. При этом В знает, что подлинность А подтверждена доверенным сервером аутентификации AS.
Таким образом, при содействии сервера AS абоненты А и В входят в ключевой синхронизм и могут обмениваться шифрованными сообщениями.
Отметим, что сообщение (IX.2) должно обязательно содержать имя абонента-респондента и одноразовое значение IA1. Отсутствие имени респондента в запросе (IX.1) позволяет злоумышленнику заменить имя абонента-инициатора на свое имя (например, Х), до того как сервер получит данное сообщение. В результате А установит аутентичное соединение с Х вместо В. Если опустить одноразовое значение IA1, злоумышленник может воспользоваться ранее переданным сообщением (IX.2) и тем самым вынудить А использовать секретный ключ предыдущего сеанса (возможно, уже раскрытый злоумышленником).
Определим, что знают абоненты А и В по окончании фазы аутентификации. Абонент А уверен, что все принятые им и дешифрованные на ключе КS сообщения отправлены абонентом В. Любое зашифрованное на ключе КS сообщение будет адекватно дешифровано только В. Аналогичные рассуждения справедливы mutatis mutandis в отношении абонента В.
Необходима, однако, гарантия того, что злоумышленник не сможет воспользоваться сообщениями фазы аутентификации предыдущего сеанса для активной атаки на протокол. В этом отношении позиции абонентов А и В различаются. Абонент А уверен, что ключ KS уникален и ранее не использовался. Следовательно, все зашифрованные на данном ключе сообщения принадлежат легальному абоненту В. Положение абонента В значительно хуже: он не может установить уникальность сеансового ключа — существует риск, что сообщение (1Х.3) использовалось ранее в другом сеансе. Абонент В может, конечно, сохранять ключи предыдущих сеансов и выполнять поиск заданного ключа с целью определения его уникальности (нет среди сохраненных — уникален, в противном случае — использовался ранее). Однако такая процедура мало практична. В целях защиты В генерирует уникальное одноразовое значение IB, шифрует его на ключе КS и посылает А:
Абонент А, в свою очередь, отвечает сообщением:
Соответствующая проверка позволяет В убедиться в уникальности сеансового ключа КS. После этого А и В готовы к обмену шифрованными сообщениями.
Рассмотренный выше протокол аутентификации состоит из пяти сообщений. Если абонент А взаимодействует с фиксированным числом постоянных партнеров, можно сократить число сообщений до трех. Для этого необходимо создать локальную базу данных с записями вида В: KS, {КS, А}KB для каждого постоянного абонента В. Информация для записи извлекается яз сообщения (IX.2) первого сеанса. Для всех последующих сеансов сообщения (IX.1) и (IX.2) из протокола исключаются. Однако такой подход требует внесения некоторых изменений. Заметим, что один и тот же ключ КS используется многократно. Следовательно, уникальность каждого сеанса должна подтверждаться при помощи дополнительного одноразового значения IA2. Для этого сообщения (1Х.3) и (IX.4) необходимо заменить на:
А → В:{KS A}KB {1~2}Ks (IX.6)
B→ A: {IA2-1,IB}Ks. (IX.7)
Описанные изменения не увеличивают числа сообщений протокола. Сообщения (1Х.3)-. (IX.5) необходимы на начальном этапе для гарантий уникальности ключа KS — единого для серии сеансов.
3.1.2. Протокол 2. Асимметричная криптосистема
Обозначим открытый и секретный парные ключи абонента А через PKA и SKA соответственно. Протокол начинается с запроса открытого ключа абонента-респондента:
A→ AS: A, B. (IX.8)
Сервер аутентификации отвечает сообщением:
AS→A: {PKB, B} SKas (IX.9)
Через SKAG обозначен парный секретный ключ сервера. Предполагается, что А заранее знает парный открытый ключ PKAS, необходимый для дешифрования принятого сообщения. Процедуры хранения, извлечения и применения ключа PKAS должны отвечать требованиям повышенной безопасности. Подлог PKAS означает полную дискредитацию сервера и вместе с ним всего протокола аутентификации.
Шифрование в (IX.9) выполняется не для того, чтобы гарантировать конфиденциальность, а для того, чтобы обеспечить целостность и аутентичность передаваемого сообщения. Необходимо, чтобы абонент А мог убедиться в аутентичности открытого ключа РКв. Для этого имя абонента В возвращается в сообщении (IX.9) вместе с его отрытым ключом. Абонент А знает имя абонента-респондента и всегда может его проверить.
Затем А посылает В сообщение:
A→B: {IA, A}PKB (IX.10)
Абонент В дешифрует сообщение на парном секретном ключе и затем обращается к Серверу за открытым ключом РКA.
В→АБ: В, А, (IX.11)
АS→В: {PKA, А}SKas (IX.12)
Шифрование в (IX.12), как и в (IX.9), выполняется для обеспечения целостности и аутентичности сообщения сервера.
Для доказательства уникальности текущего сеанса необходимо выполнить следующие действия:
Рассмотренный протокол состоит из семи сообщений. Сохраняя в локальной базе данных открытые ключи абонентов А и В, можно избежать передачи сообщений (IX.8), (IX.9), (IX.11) и (IX.12). В результате протокол будет состоять из трех сообщений.
Отметим, что, поскольку открытые ключи не являются секретными, злоумышленник может пытаться изымать сообщения легальных пользователей и вставлять свои собственные.
Простейший способ защиты — использование преобразования вида {{данные}SKa}PKB. Другой способ заключается во введении функции нумерации шифруемых сообщений. Так, номер текущего сообщения может вычисляться как функция его порядкового номера (например, текущий_ номер: = предыдущий_ номер+1) и одноразового случайного значения IА или IB (например, IA Θ текущий_ номер, где Θ — сумма по модулю 2, операция XOR) в зависимости от направления передачи. Еще один известный способ — метод одноразовых паролей S/KEY компании Bellcore [100]. При таком методе защиты злоумышленник не может воспроизвести легальный номер сообщения и, как следствие, не может вставить ложное сообщение в передаваемый поток.
3.2. Аутентификация при участии нескольких серверов
При рассмотрении протоколов аутентификации предполагалось, что оба абонента обслуживаются одним сервером. Однако А и В могут быть абонентами различных криптосетей я обслуживаться различными серверами аутентификации.
Специфика протокола аутентификации при участии нескольких серверов зависит от типа используемой криптосистемы — симметричной или асимметричной.
Рассмотрим протокол аутентификации для симметричной криптосистемы. Для вхождения в ключевой синхронизм абонент А должен передать абоненту В сообщение {KS, A}Ks
(сообщение (IX.З)). Предположим, что абонент А обслуживается сервером ASA, а абонент В — сервером АSB. Тогда в протоколе аутентификации должны участвовать оба сервера, так как только ASA может выполнить шифрование на ключе КА и только ASB — на ключе КB. Изменение протокола заключается в добавлении «рукопожатия» серверов между сообщениями (IX.1) и (IX.2):
Предполагается, что предварительно серверы устанавливают аутентичный режим взаимодействия по протоколу 1. Секретные ключи серверов могут храниться, например, у мастерсервера.
В случае применения асимметричной криптосистемы А может непосредственно взаимодействовать с сервером ASB. Для этого, однако, необходимо знать открытый ключ сервера.
Предположим, А знает открытый ключ PKASB и В знает PKASA Тогда А может непосредственно обмениваться сообщениями с сервером ASB (сообщения (IX.8) и (IX.9)), а В может обмениваться сообщениями с сервером АSA(сообщения (IX.11) и (IX.12)).
В обоих случаях использование локальных баз данных для хранения ключей позволяет сократить число сообщений до трех.
3.3. Организация серверов аутентификации
Различия в организации серверов аутентификации определяются типом используемой криптосистемы. В случае симметричной криптосистемы записи в базе данных вида А: KA должны быть зашифрованы на секретном ключе сервера. Управление базой данных (хранение, извлечение, замена ключей и т.д.) осуществляется в режиме повышенной секретности. В случае асимметричной криптосистемы открытые ключи абонентов криптосети — записи в базе данных вида А: {PKA, А)SKas — могут храниться в незашифрованном виде. При этом процедуры управления базой данных должны исключать возможность несанкционированной замены одного открытого ключа на другой, пусть даже заверенный ранее сервером аутентификации. Отметим, что на начальном этапе доставка, регистрация и заверение открытого ключа выполняются в режиме повышенной секретности. При замене ключевой пары новый открытый ключ подписывается на старом секретном ключе (предполагается, что ключ не скомпрометирован) и передается серверу. Результат проверки подписи является критерием для принятия решения о замене открытого ключа.
3.4. Аутентификация в режиме off-line
В режиме off-line интерактивное взаимодействие между отправителем и получателем сообщений невозможно. Например, при использовании электронной почты отправитель создает электронное сообщение и передает его сначала агенту пользователя, а затем транспортному агенту. Последний передает сообщение транспортному агенту следующего почтового сервера и так далее, пока сообщение не попадет транспортному агенту адресата. Полученной сообщение передается агенту пользователя адресата для хранения. Получатель может обратиться к агенту пользователя для того, чтобы прочитать сообщение, сохранить или ответить на него.
После передачи сообщения агенту пользователя отправитель, как правило, не доступен. Получатель также может обратиться к почтовому ящику, когда пожелает. Таким образом, отправитель и получатель действуют независимо и асинхронно.
Однако аутентификация отправителя и получателя почтовых сообщений столь же необходима, как и аутентификация при взаимодействии клиента и сервера.
Рассмотрим аутентификацию в режиме off-line исходя из предположения, что протокол аутентификации не является частью транспортного механизма.
3.4.1. Протокол на основе симметричной криптосистемы
Рассмотрим возможность использования сообщения:
Аутентификацию отправителя и получателя можно обеспечить, если поместить сообщение (IX.17) в заголовок зашифрованного на ключе KS почтового сообщения. Предполагается, что для гарантии непрерывной ассоциации используется описанный ранее метод нумерации отдельных блоков почтового сообщения. Однако необходимо убедиться в том, что принятое почтовое сообщение не является нелегальной копией ранее переданного. Простейший способ заключается в задании уникальных временных меток (time stamp) для каждого сообщения. Подобный метод не практичен, так как требует введения системы единого времени и механизма синхронизации часов.
Существует и другой метод. Для этого в тело каждого почтового сообщения помещается временная метка, указывающая на время его отправки, что всегда можно сделать, так как любая система электронной почты включает службу поддержки времени. Точность отсчета времени должна быть достаточной для того, чтобы никакие два принятых одно за другим почтовых сообщения не содержали одинаковые временные метки. Получатель, например В, создает специальный регистрационный журнал и для каждого принятого сообщения заносит туда запись вида (идентификатор отправителя, временная метка). Далее В устанавливает временной интервал T. Временной интервал выбирается исходя из оценки погрешности сетевых часов и доверительного интервала между временем отправки и приема сообщений. Решение относительно каждого входящего сообщения принимается по результатам поиска текущего идентификатора отправителя и временной метки в регистрационном журнале. Сообщение отвергается при обнаружении записи с той же временной меткой. Почтовое сообщение также отвергается, если разница между реальным временем и временной меткой превышает установленный интервал Т. Объем регистрационного журнала регулируется путем удаления тех записей, для которых указанная разница превышает Т.
3.4.2. Протокол на основе асимметричной криптосистемы
Гарантия временной целостности (time integrity) сообщений необходима и в случае использования асимметричной криптосистемы. Существует два альтернативных метода.
Первый метод заключается в односторонней передаче (без «рукопожатиями) следующего служебного сообщения:
Абонент А выступает в качестве отправителя. Получатель В может проконтролировать аутентичность А, дешифруя {В}SKa на открытом ключе А. Для получения PKA необходимо запросить сервер аутентификации (сообщения (IX.11) и (IX.12)). Одноразовое значение 1 используется для связи служебного сообщения с последующим потоком сообщений, содержащих зашифрованные на РКB данные абонента А. При передаче последующих сообщений используется механизм временных меток и нумерация. Для асимметричной криптосистемы одноразовое значение 1 выступает в той же роли, что и ключ КS в симметричной криптосистеме.
Другой метод обеспечения временной целостности рассматривается в следующем параграфе.
3.5. Аутентификация с привлечением арбитра
В предыдущих параграфах рассматривались протоколы взаимной аутентификации двух равноправных сетевых объектов. Однако в ряде случаев необходимо уметь доказывать подлинность объектов третьей стороне. В бумажном мире для доказательства подлинности документа применяют факсимильную подпись. В мире электронных документов для этой цели применяется цифровая подпись. Основное требование, предъявляемое к цифровой подписи, заключается в невозможности ее фальсификации (несанкционированного изменения подписи при фиксированном сообщении или изменения сообщения при фиксированной подписи), а также отказа отправителя/получателя от ранее переданного/принятого подписанного сообщения.
3.5.1. Протокол 3. Симметричная криптосистема
Известный подход к решению задачи заключается в применении хэш-функции.
Протокол аутентификации сводится к следующей последовательности действий. Сначала А вычисляет значение хэш-функции HA от блока данных, шифрует HA на своем секретном ключе и передает серверу аутентификации:
Сервер заверяет значение хэш-функции и возвращает его А:
Отметим, что сообщение (IX.20) зашифровано на секретном ключе сервера и может быть, дешифровано только им. Затем А посылает В сообщение (IX.20) вместе с зашифрованным на ключе КB информационным блоком. Абонент В сначала дешифрует блок и вычисляет значение хэш-функции НB, затем В передает сообщение (IX.20) серверу аутентификации:
Сервер сначала дешифрует сообщение на своем секретном ключе, затем шифрует его на секретном ключе КB и возвращает В:
Если принятое от сервера значение HA равно НB, то подлинным отправителем блока является абонент А (его имя фигурирует в сообщении (IX.22)). Если НB не равно НA, то какие-то из сообщений (IX.19) — (IX.22) были фальсифицированы. Обнаружение попыток фальсификации возможно на более ранних этапах. Для этого необходимо использовать одноразовые значения в сообщениях (IX.19) — (IX.20) и (IX.21) — (IX.22). Для доказательства подлинности независимому арбитру достаточно предъявить принятые блок данных и сообщение (IX.20). Проверка подлинности выполняется в соответствии с шагами (IX.21) и (IX.22).
Описанный протокол может быть легко обобщен на случай нескольких серверов аутентификации.
3.5.2. Протокол 4. Асимметричная криптосистема
Рассмотрим протокол для асимметричной криптосистемы. Сначала абонент А запрашивает открытый ключ абонента В. Получив ключ РКB из локальной базы данных или от сервера, А выполняет шифрование информационного блока и затем передает его В:
Абонент В может дешифровать сообщение (IX.23), так как знает ключ SКB. Кроме того, В может проверить подлинность блока. Для этого необходимо получить ключ PKA от сервера или извлечь его из локальной базы данных. Абонент В не может фальсифицировать подпись, так как не знает SКA.Процедура доказательства сводится к дешифрованию сообщения (IX.23) на ключе SКB и передаче результата независимому арбитру для дальнейшей проверки. Отметим, что проверка возможна только при условии неизменности ключевой пары абонента А. В случае замены ключевой пары, например, в результате компрометации одного из ключей, сервер вынужден сохранять старые ключи в течение определенного периода времени. Необходимо также включать дату и время подписи непосредственно в подписываемый блок.
Заметим, что преимущество симметричной криптосистемы при аутентификации с возможностью доказательства третьей стороне заключается в том, что сервер должен хранить только свои ключи.
Рассмотренные выше протоколы на основе симметричной и асимметричной криптосистем во многом схожи и имеют одинаковое число сообщений. Современный подход к проблеме заключается в использовании гибридных криптосистем. Аутентификация и установление сеансового ключевого синхронизма реализуются при помощи асимметричной, а шифрование потока сообщений на сеансовом ключе — при помощи симметричной криптосистемы.
4. Анализ протоколов аутентификации
На практике стратегия криптоаналитика заключается в анализе и разработке атаки на протокол и только в случае неудачи — в атаке криптоалгоритма, что, как правило, требует значительных вычислительных ресурсов и инвестиций. Рассмотрим некоторые типичные примеры атак на криптографические протоколы, приводящие к компрометации криптосистемы в целом.
4.1. Протокол с сервером аутентификации
Время играет существенную роль во многих криптографических протоколах. Применение долговременных секретных ключей является распространенным на практике решением для разграничения доступа или установления защищенного режима взаимодействия между абонентами криптосети. Учитывая возможность компрометации долговременного ключа или изменения статуса его владельца, подобное решение предполагает разработку сложных процедур управления списком отмененных ключей и реконфигурации криптосети.
Более простое решение заключается в создании специального сервера аутентификации, разделяющего долговременный секретный ключ с каждым абонентом криптосети. Воспользуемся именами Алиса (А) и Боб (В) для обозначения абонентов и именем Сэм (S) для обозначения сервера. Обозначим разделяемые долговременные ключи как КAS(для Сэма и Алисы) и КBS(для Сэма и Боба).
При таком решении установление защищенного сеансового соединения между абонента ми и обмен кратковременным сеансовым ключом КAB осуществляются с помощью сервера аутентификации. Таким образом, изоляция абонента криптосети, например Чарли (С), в случае потери последним доверия или компрометации его долговременного ключа выполняется сервером аутентификации путем удаления ключа КOS.
Однако многие протоколы, разработанные с учетом изложенной идеологии, могут быть скомпрометированы. Рассмотрим протокол [41], в котором Алиса передает Бобу кратковременный сеансовый ключ КAB с помощью сервера аутентификации. Для шифротекста, полученного в результате шифрования {открытого текста} на некотором {ключей}, введем обозначение {открытый текст}ключ. Шаги протокола могут быть записаны следующим образом:
Через ТA и ТS обозначены временные метки, формируемые Алисой и Сэмом соответственно. Очевидно, что временной интервал, в течение которого Боб может оперировать ключом КAB, является системным параметром и устанавливается заранее. Уязвимость описанного протокола связана с заменой временной метки ТA, полученной от Алисы, на метку сервера аутентификации ТS. В результате, несмотря на удаленный ключ КOS, у Чарли сохраняется возможность взаимодействия с другими абонентами криптосети.
Например, Чарли может выдать себя за Боба и установить сеансовое соединение с Алисой, послав Сэму перехваченное на шаге 2 сообщение {T”S ,А,КAB)KBS и получив ответное сообщение {TS, В,КAB}KAS, где Т'S — новая временная метка. Он может также выдать себя за Алису и получить от Сэма сообщение {Т"S, А, КAB} и так далее.
Эффективность атаки зависит от приложений. Отметим, что Чарли не имеет доступа к долговременным секретным ключам КAS, КBS и не знает сеансового ключа КAB. Он может только перехватывать сообщения, передаваемые по открытому каналу связи. Рассмотрим ситуацию, когда все необходимые для согласования сеансового ключа процедуры реализованы на Smart Card или PCMCIA-карте с применением TEMPEST-технологии (например, Capstone), а процедура шифрования/дешифрования на сеансовом ключе реализована программно и выполняется на стандартном компьютере. TEMPEST-технология исключает возможность доступа к секретной информации, записанной в конкретное устройство. Однако Чарли может добиться успеха, завладев устройством и воспользовавшись описанной выше атакой.
Решение многих задач разграничения доступа основано на применении протокола «запри» ответ» (challenge-response protocol). Смысл протокола заключается в том, что запрашивающий вырабатывает некоторое случайное число и передает его противоположной стороне. Ответ, в виде криптографического преобразования заданного числа, используется для принятия решения о предоставлении доступа к ресурсам. Например, управление доступом в компьютер может осуществляться следующим образом. На первом шаге, в ответ на запрос компьютера (login), пользователь вводит свое имя, далее компьютер, проверив полномочия доступа не уровне списка имен, выдает запрос в виде семизначного числа. На втором шаге пользователь вводит запрос и секретный PIN-код в персональное криптографическое устройство (например, Capstone). Криптографическое преобразование заключается в конкатенации запроса и PIN-кода с последующим шифрованием на секретном ключе устройства. На третьем шаге, в ответ на запрос компьютера (password), пользователь вводит первые семь цифр результата шифрования. Критерием для принятия решения о предоставлении доступа является совпадение введенного семизначного пароля и числа, хранящегося в таблицах доступа компьютера.
Описанная схема позволяет избежать ряда проблем при решении задачи разграничения доступа многих пользователей к одному компьютеру. Однако ситуация меняется, если управление доступом к нескольким компьютерам осуществляется с помощью специализированного сервера аутентификации. Рассмотрим протокол, управляющий доступом Алисы в компьютер Боба, при условии общих секретных ключей KAS (для Сэма и Алисы) и КBS (для Сэма и Боба). Через NA (со стороны Алисы) и NB (со стороны Боба) обозначим случайные одноразовые числа, уникальные для каждого сообщения протокола. Протокол может быть записан. в виде следующей последовательности шагов:
Приведем пример, в котором Чарли получает несанкционированный доступ в компьютер Боба, выдавая себя за Алису. Исходный протокол, без «трюков» со стороны Чарли, но при условии одновременных запросов со стороны Алисы и Чарли, имеет следующий вид:
Сервер аутентификации отказывает Чарли, так как полномочия доступа последнего не распространяются на компьютер Боба.
Однако Чарли может обмануть сервер аутентификации, вмешиваясь в работу протокола. Так, на шаге 3 вместо запроса NB со стороны Боба Чарли может передать Алисе запрос N'B. В результате сообщение на шаге 5 будет иметь вид {N'B}КAS. Боб не может проконтролировать свой запрос, так как тот зашифрован на секретном ключе КAS, известном только Алисе и Сэму. Теперь для обмана сервера достаточно поменять местами сообщения на шаге 7 и 8. Отметим, что ответы сервера на шаге 9 и 10 соответствуют запросам на шаге 1 и 2. В результате сервер откажет Алисе, как если бы она была Чарли, и разрешит доступ Чарли, действующему от лица Алисы.
Описанный выше протокол уязвим и тогда, когда решение о праве доступа принимается Бобом. Каждый раз Боб будет получать от сервера аутентификации сообщение {N'B}KBS и отказывать Алисе (в лице Чарли), поскольку N'B ≠ NB.
Одна из модификаций протокола [42] предполагает замену сообщения {NB}KBS, получаемого Бобом от Сэма, на сообщение {А, NB}КBS . Однако этого недостаточно, особенно тогда, когда Сэм не знает имени компьютера, доступ к которому запрашивается со стороны Алисы.
Протокол, включающий также имя Боба [43], представлен ниже:
Другие разновидности атак описаны в [41,42].