Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шнайер - Прикладная криптография.doc
Скачиваний:
13
Добавлен:
01.05.2025
Размер:
10 Мб
Скачать
☆

Часть IV Реальный мир Примеры реализаций

Одно дело разрабатывать протоколы и алгоритмы, и совсем другое дело встраивать их в операционные системы. В теории практика и теория не отличимы, но на практике между ними огромные различия. Часто идеи замечательно выглядят на бумаге, но не работают в реальной жизни. Может быть слишком велики требования к скорости канала, может быть протокол слишком медлителен. Некоторые из вопросов использования криптографии рассматриваются в главе 10, в этой главе обсуждаются примеры того, как криптографические алгоритмы реализуются на практике.

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

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

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

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

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

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