Протокол управления секретными ключами компании IBM


В конце 70-х годов IBM, используя только симметричную криптографию, разработала законченную систему управления ключами для передачи данных и безопасности файлов в компьютерных сетях [515, 1027]. Не так важны реальные механизмы протокола, как его общая философия: за счет автоматизации генерации, распределения, установки, хранения, изменения и разрушения ключей этот протокол далеко продвинулся, обеспечивая безопасность лежащих в его основе криптографических алгоритмов.

Этот протокол обеспечивает три вещи: безопасную связь между сервером и различными терминалами, безопасное хранение файлов на сервере и безопасную связь между серверами. Протокол не обеспечивает настоящего прямого соединения терминал-терминал, хотя его модификация может реализовать такую возможность.

Каждый сервер сети подключен к криптографической аппаратуре, которая выполняет все шифрование и дешифрирование. У каждого сервера есть Главный ключ (Master Key), KM0, и два варианта, KM1и KM2, которые являются упрощенными вариантами KM0. Эти ключи используются для шифрования других ключей и для генерации новых ключей. У каждого терминала есть Главный ключ терминала (Master TerminalKey), KMT, который используется для обмена ключами с другими терминалами.

KMT хранятся на серверах, зашифрованные ключом KM1. Все остальные ключи, например, используемые для шифрования файлов ключей (они называются KNF), хранятся в зашифрованной форме, закрытые ключом KM2. Главный ключ KM0 хранится в энергонезависимом модуле безопасности. Сегодня это может быть либо ключ в ПЗУ, либо магнитная карточка, или ключ может вводиться пользователем с клавиатуры (возможно как текстовая строка, преобразуемая в ключ). KM1и KM2 не хранятся где-нибудь в системе, а, когда понадобится, вычисляются по KM0. Сеансовые ключи для связи между серверами генерируются на сервере с помощью псевдослучайного процесса. Аналогичным образом генерируются ключи для шифрования хранимых файлов (KNF).

Сердцем протокола служит устойчивый к вскрытию модуль, называемый криптографической аппаратурой (cryptographicfacility). И на сервере, и на терминале все шифрование и дешифрирование происходи именно в этом модуле. В этом модуле хранятся самые важные ключи, используемые для генерации действительных ключей шифрования. После того, как эти ключи записаны, считать их становится невозможным. Кроме того, они помечены для конкретного использования: ключ, предназначенный для решения одной задачи, не может случайно быть использован для решения другой. Эта концепция векторов управления ключами возможно является самым значительным достижением этой системы. Дональд Дэвис (Donald Davies) Вильям Прайс (William Price) подробно рассматривают этот протокол управления ключами в [435].

Модификация

Модификацию этой схемы главного и сеансовых ключей можно найти в [1478]. Она построена на базе сетевых узлов с аппаратурой проверки подлинности ключей, которая обслуживает локальные терминалы. Эта модификация была разработана, чтобы:

— Обезопасить дуплексный канал между двумя пользовательскими терминалами.

— Обезопасить связь с помощью шифрованной почты.

— Обеспечить защиту личных файлов.

— Обеспечить возможность цифровой подписи.

Для связи и передачи файлов между пользователями в этой схеме используются ключи, генерированные в аппаратуре проверки подлинности ключей, отправляемые пользователям после шифрования с помощью главного ключа. Информация о личности пользователя встраивается в ключ, предоставляя доказательство того, что сеансовый ключ используется конкретной парой пользователей. Возможность проверки подлинности ключей является главной в этой системе. Хотя в системе не используется криптография с открытыми ключами, она поддерживает возможность, похожую на цифровую подпись: ключ может быть прислан только из конкретного источника и прочитан только в конкретном месте назначения.

MITRENET

Одной из самых ранних реализаций криптографии с открытыми ключами была экспериментальная система MEMO (MITRE Encrypted Mail Office, Шифрованное почтовое отделение). MITRE - это была команда умных парней, работающая по заказу Министерства обороны. MEMO служила системой безопасной электронной почты для пользователей сети MITRENET и использовала криптографию с открытыми ключами для обмена ключами и DES для шифрования файлов.

В системе MEMO все открытые ключи хранятся в Центре распределения открытых ключей (Public Key Distribution Center), который является отдельным узлом сети. Ключи хранятся в стираемом перепрограммируемом ПЗУ, чтобы не дать изменить их. Закрытые ключи генерируются пользователями системы.

Чтобы пользователь мог отправлять безопасные сообщения, система сначала устанавливает безопасное соединение с Центром распределения открытых ключей. Пользователь запрашивает в Центре файл всех открытых ключей. Если пользователь проходит идентификацию с использованием его закрытого ключа, Центр пересылает запрошенный список на рабочую станцию пользователя. Для обеспечения целостности список шифруется с помощью DES.

Для шифрования сообщений используется DES. Для шифрования файлов система генерирует случайный ключ DES, пользователь шифрует файл ключом DES, а ключ DES - открытым ключом получателя. Зашифрованный файл и ключ отправляются получателю.

MEMO не предусматривает мер предосторожности против потерь ключей. Существуют некоторые средства проверки целостности сообщений с использованием контрольных сумм. В систему не встроены средства проверки подлинности.

Прежде, чем система была реализована, была доказана небезопасность конкретной реализации системы открытых ключей в MEMO - обмена ключами по схеме Diffie-Hellman над GF(2127) (см. раздел 11.6), хотя нетрудно изменить систему, чтобы можно было использовать большие числа. MEMO была изобретена главным образом для экспериментальных целей и никогда не использовалась в реальной системе MITRENET.

ISDN

Bell-Northern Research разработала прототип безопасного телефонного терминала ISDN (Integrated Services Digital Network, Цифровая сеть с интегрированием услуг) [499, 1192, 493, 500]. Как телефонный аппарат, терминал остался на уровне прототипа. В результате появился Уровень безопасности пакетов данных (Packet Data Security Overlay). Терминал использует схему обмена ключами Diffie-Hellman, цифровые подписи RSA и DES для шифрования данных. Он может передавать и принимать речь и данные со скоростью 64 Кбит/с.

Ключи

В телефон встроена пара "открытый ключ/закрытый ключ" для длительного использования. Закрытый ключ хранится в устойчивом от вскрытия модуле телефона. Открытый ключ служит для идентификации телефона. Эти ключи являются частью самого телефонного аппарата и не могут быть изменены.

Кроме того, в телефоне хранятся еще два открытых ключа. Одним из них является открытый ключ владельца аппарата. Этот ключ используется для проверки подлинности команд владельца, он может быть изменен по команде, подписанной владельцем. Так пользователь может передать кому-то другому право владения аппаратом.

В телефоне также хранится открытый ключ сети. Он используется для проверки подлинности команд аппаратуры управления сетью и проверки подлинности вызовов от других пользователей сети. Этот ключ также можно изменить командой, подписанной владельцем. Это позволяет владельцу менять сеть, к которой подключен его аппарат.

Эти ключи рассматриваются как ключи длительного пользования - они меняются редко, если вообще меняются. В телефоне также хранится пара "открытый ключ/закрытый ключ" для краткосрочного использования. Они встроены в сертификат, подписанный центром управления ключами. Два телефона обмениваются сертификатами при установлении соединения. Подлинность этих сертификатов удостоверяется открытым ключом сети.

Обмен сертификатами и их проверка выполняются только при установлении безопасного соединения между аппаратами. Для установления безопасного соединения между людьми протокол содержит дополнительный компонент. В аппаратном ключе зажигания, который вставляется в телефон владельцем, хранится закрытый ключ владельца, зашифрованный секретным паролем, известным только владельцу (его не знает ни телефонный аппарат, ни центр управления сетью, ни еще кто-нибудь). Ключ зажигания также содержит сертификат, подписанный центром управления сетью, в который включены открытый ключ владельца и некоторая идентификационная информация (имя, компания, специальность, степень допуска, любимые сорта пиццы, сексуальная ориентация и прочее). Все это также зашифровано. Для дешифрирования этой информации и ввода ее в телефон пользователь вводит свой секретный пароль с клавиатуры аппарата. Телефонный аппарат использует эту информацию для соединения, но она удаляется после того, как пользователь извлечет свой ключ зажигания.

В телефоне также хранится набор сертификатов, выданных центром управления сетью. Эти сертификаты удостоверяют право конкретных пользователей пользоваться конкретными телефонными аппаратами.

Вызов

Вызов Боба Алисой происходит следующим образом.

(1) Алиса вставляет в телефон свой ключ зажигания и вводит свой пароль.

(2) Телефон опрашивает ключ зажигания, чтобы определить личность Алисы и выдать ей сигнал "линия свободна".

(3) Телефон проверяет свой набор сертификатов, проверяя, что Алиса имеет право использовать этот аппарат.

(4) Алиса набирает номер, телефон определяет адресата звонка.

(5) Два телефона используют протокол обмена ключами на базе криптографии с открытыми ключами, чтобы генерировать уникальный и случайный сеансовый ключ. Все последующие этапы протокола шифруются с помощью этого ключа.

(6) Телефон Алисы передает свой сертификат и идентификатор пользователя.

(7) Телефон Боба проверяет подписи сертификата и идентификатора пользователя, используя открытый ключ сети.

(8) Телефон Боба инициирует последовательность запросов/ответов. Для этого необходимо в реальном времени (не позднее заданной задержки) отправлять подписанные ответы на запросы. (Это помешает злоумышленнику использовать сертификаты, скопированные из предыдущего обмена.) Один ответ должен быть подписан закрытым ключом телефона Алисы, а другой - закрытым ключом Алисы.

(9) Если Боба нет у телефона, то его телефон звонит.

(10) Если Боб дома, он вставляет в телефон свой ключ зажигания. Его телефон опрашивает ключ зажигания и проверяет сертификат Боба, как на этапах (2) и (3).

(11) Боб передает свой сертификат и идентификатор пользователя.

(12) Телефон Алисы проверяет подписи Боба, как на этапе (7) и инициирует последовательность запросов/ответов, как на этапе (8).

(13) Оба телефона выводят на свои экраны личность и номер телефона другого пользователя.

(14) Начинается безопасный разговор.

(15) Когда одна из сторон вешает трубку, удаляются сеансовый ключ, а также сертификаты, которые телефон Боба получил от телефона Алисы, и сертификаты, которые телефон Алисы получил от телефона Боба.

Каждый ключ DES уникален для каждого звонка. Он существует только внутри двух телефонных аппаратов и только в течение разговора, а после его окончания немедленно уничтожается. Если злоумышленник добудет один или оба участвовавших в разговоре аппарата, он не сможет расшифровать ни один предшествующий разговор, в котором участвовали эти два аппарата.

STU-III

STU обозначает "Secure Telephone Unit" (Безопасный телефонный модуль), разработанный в NSA безопасный телефон. По размерам и форме этот модуль почти такой же, как и обычный телефон, и может быть использован также, как и обычный телефон. Аппараты устойчивы к взлому, без ключа они работают как несекретные. Они также включают порт передачи данных и помимо передачи речи могут быть использованы для безопасной передачи данных по модемному каналу [1133].

Уитфилд Диффи описал STU-III в [494]:

Чтобы позвонить, используя STU-III, звонящий сначала обычным образом звонит на другой STU-III, затем вставляет похожее на ключ устройство, содержащее криптографическую переменную, и нажимает кнопку "секретные переговоры" ("go secure"). Спустя примерно 15 секунд задержки, нужной для криптографической настройки, каждый телефон выводит на экран информацию о личности и допуске другой стороны, и разговор может начинаться.

Беспрецедентным шагом был объявление Уолтера Дили (Walter Deeley), заместителя директора NSA по безопасности коммуникаций, о STU-III или будущей системе безопасной голосовой связи в эксклюзивном интервью, данном The New York Times [282]. Главной целью новой системы было предоставить Министерству обороны США и его подрядчикам средства безопасной передачи речи и безопасной низкоскоростной передачи данных. В интервью не было много сказано о работе системы, но постепенно информация начала появляться. В новой системе используются открытые ключи.

О новом подходе к распределению ключей было рассказано в [68], в одной статье говорилось о телефонах, "перепрограммируемых раз в год по безопасному телефонному каналу", что весьма вероятно предполагает использование протокола проверки сертификатов, аналогичного описанному [в разделе 24.3], который минимизирует для телефонов необходимость общаться с центром управления ключами. Последние известия были более информативными, в них рассказывалось о системе управления ключами, названной FIREFLY, которая [1341] "разработана на базе технологии открытых ключей и используется для распределения ключей шифрования попарного трафика". И это описание, и свидетельские показания, данные Конгрессу США Ли Ньювиртом (Lee Neuwirth) из Cylink [1164] предполагают использование комбинации обмена ключами и сертификатами, аналогичного используемому в безопасных телефонах ISDN. Весьма вероятно, что FIREFLY также основана на возведении в степень.

STU-III производятся AT&T и GE. За 1994 год было выпущено 300000-400000 штук. Новая версия, Secure Terminal Equipment (STE, Безопасный терминал), будет работать по линиям ISDN.

KERBEROS

Kerberos представляет собой разработанный для сетей TCP/IP протокол проверки подлинности с доверенной третьей стороной. Служба Kerberos, работающая в сети, действует как доверенный посредник, обеспечивая безопасную сетевую проверку подлинности, дающую пользователю возможность работать на нескольких машинах сети. Kerberos на симметричной криптографии (реализован DES, но вместо него можно использовать и другие алгоритмы). При общении с каждым объектом сети Kerberos использует отличный общий секретный ключ, и знание этого секретного ключа равносильно идентификации объекта.

Kerberos был первоначально разработан в МТИ для проекта Афина. Модель Kerberos основана на протоколе Needham-Schroeder с доверенной третьей стороной (см. раздел 3.3) [1159]. Оригинальная версия Kerberos, Версия 4, определена в [1094, 1499]. (Версии с 1 по 3 были внутренними рабочими версиями.) Версия 5, модификация Версии 4, определена в [876, 877, 878]. Лучшим обзором по Kerberos является [1163]. Другие обзорные статьи - [1384, 1493], использование Kerberos в реальном мире хорошо описано в [781, 782].

Модель Kerberos

Базовый протокол Kerberos был схематично описан в разделе 3.3. В модели Kerberos существуют расположенные в сети объекты - клиенты и серверы. Клиентами могут быть пользователи, но могут и независимые программы, выполняющие следующие действия: загрузку файлов, передачу сообщений, доступ к базам данных, доступ к принерам, получение административных привилегий, и т.п.

Kerberos хранит базу данных клиентов и их секретных ключей. Для пользователей-людей секретный ключ является зашифрованным паролем. Сетевые службы, требующие проверки подлинности, и клиенты, которые хотят использовать эти службы, регистрируют в Kerberos свои секретные ключи.

Так как Kerberos знает все секретные ключи, он может создавать сообщения, убеждающие один объект в подлинности другого. Kerberos также создает сеансовые ключи, которые выдаются клиенту и серверу (или двум клиентам) и никому больше. Сеансовый ключ используется для шифрования сообщений, которыми обмениваются две стороны, и уничтожается после окончания сеанса.

Для шифрования Kerberos использует DES. Kerberos версии 4 обеспечивал нестандартный, слабый режим проверки подлинности - он не мог определить определенный изменения шифротекста (см. раздел 9.10). Kerberos версии 5 использует режим CBC.

Рис. 22-1. Этапы проверки подлинности Kerberos



Дата добавления: 2021-01-26; просмотров: 261;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.016 сек.