Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
166
Добавлен:
02.05.2014
Размер:
56.32 Кб
Скачать

Лекция 8 (Продолжение)

1. Современное применение криптографии. Цифровые сигнатуры

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

Передача с забыванием позволяет одно­му субъекту передать сообщение другому субъекту ВС таким способом, что сообщение имеет точно 50%-ную вероятность получения. Эта вероятность не может быть изменена третьим субъектом..

Процедура электронного бросания монеты позволяет двум недружественным субъектам осуществить такое бросание по телефону, чтобы оно было случайным, несмещенным и ни один из субъектов не мог влиять на процесс извне. Розыг­рыш считается справедливым, когда, кроме перечисленных выше свойств, ни один из субъектов не в состоянии увидеть результат, если только второй партнер не дает на это разре­шения. Этот принцип используется во многих криптографиче­ских протоколах. Протокол бросания монеты, не поддающийся раскрытию с помощью ЭВМ и базирующийся на явлениях квантовой физики.

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

Схема защиты типа (k,n)-пороговой схемы позволяет распреде­лить ключи среди п пользователей таким образом, что толь­ко при одновременном обращении любых k из них обеспечи­вается доступ к защищенной информации.

Каждый из субъектов ВС имеет доступ к разной защи­щенной информации, например при факторизации RSA-модулей. Допустим, что они решили обменяться информацией друг с другом. Как можно осуществить обмен секретами и быть уверенным, что вы получаете то, что нужно в обмен на истинный секрет, переданный вами?

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

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

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

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

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

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

Хотя для защиты программного обеспечения ни одной практической криптографической схемы не предложено, инте­ресные теоретические идеи можно найти в работах.

В реальной жизни часто возникают ситуации, сводимые к проблеме миллионеров, которая состоит в следующем: два миллионера хотят узнать, кто из них богаче, но таким обра­зом, чтобы ни один не узнал истинного состояния другого, Здесь мы имеем дело со специальным случаем защиты рас­пределенных вычислений, когда два субъекта хотят, вычислив значение некоторой согласованной функции f(а,b), где аргу­мент а известен только одному субъекту, а аргумент b другому, и ни один из них не владеет никакой информация о степени секретности параметра, известного партнеру (за ис­ключением информации о значении функции f(а, b) и собст­венной конфиденциальной информации). Одна из возможных реализации такого подхода состоит в том, что два партнера могут согласованно выбрать целое число, о котором они знают, что оно является произведением двух простых чи­сел, но при этом ни один из них не может осуществить факторизацию этого числа без кооперации с партнером.

Еще одна проблема - это проблема выборов; в некотором смысле она аналогична предыдущей и состоит в следую­щем. Как могут несколько субъектов осуществить голосование с использованием ВС, вычислить исход голосования и при этом сохранить в тайне выбор каждого из субъектов.

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

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

Недавно было установлено, что при условии шифрования любой язык, принадлежащий классу NР, обеспечивает такой протокол. Например, должны ли вы явно указать гамильтонов цикл в заданном графе, если у вас есть возможность убедить субъекта в этом факте, не давая никакого намека, где его следует искать.

Интерактивный протокол теоретически не позволяет выя­вить информацию о доказательстве, но открывает возмож­ность для передачи ошибочного доказательства, если оказыва­ется возможным выявить криптографические механизмы в те­чение реального времени функционирования протокола [СНАи87].

2. Техника управления ключами

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

2.1 Накопление ключей

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

Каждый компьютер и каждый терминал в ВС должны иметь собственные мастер-ключи, ус­танавливаемые в соответствии с установленными процедурами предоставления доступа.

2.2 Распределение ключей

Распределение ключей между пользователями ВС реализуется двумя способами:

1. Путем создания одного или нескольких центров рас­пределения ключей. Недостаток такого подхода состоит в том, что в центре распределения ключей известно, какие ключи кому распределены, и это позволяет читать все сообщения, передаваемые по сети. Возможные злоупотребления существенно влияют на защиту сеансов, которые используют ключи, распределяемые этим центром.

2. Прямой обмен сеансовыми ключами между субъектами сети. В этом случае проблема состоит в том, чтобы надежно удостоверить подлинность субъектов.

В обоих случаях должна быть гарантирована подлинность сеанса связи. Это можно обеспечить двумя способами:

1. Механизм запроса-ответа, который состоит в следую­щем. Если пользователь А желает быть уверенным, что сооб­щения, которые он получает от субъекта В, не являются ложными, он включает в посылаемое сообщение для В не­предсказуемый элемент (запрос). При ответе субъект В дол­жен выполнить некоторую операцию над этим элементом (например, добавить единицу), что, однако, невозможно осу­ществить заранее, поскольку неизвестно, какое случайное число придет в запросе. После получения результата дейст­вий В (ответ) А может быть уверен, что сеанс является по­длинным.

2. Механизм отметки времени. Он подразумевает фикса­цию времени для каждого сообщения; в этом случае каждый субъект сети может знать, сколь старо пришедшее сообщение, и решит не принимать его, поскольку оно может быть лож­ным.

В обоих случаях для защиты элемента контроля следует использовать шифрование, чтобы быть уверенным, что ответ послан не злоумышленником и штемпель отметки времени не изменен.

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

- возможность отказа от центра распределения ключей;

- взаимное подтверждение подлинности участников сеанса;

- подтверждение достоверности сеанса механизмом запроса-ответа;

- использование при обмене ключами минимального числа сообщений.

Цель состоит в разработке метода, в котором после уста­новления подлинности участники сами создают сеансовый ключ без помощи центра распределения ключей, так чтобы распределитель ключей не мог выявить содержания сообщений.

Соседние файлы в папке Лекции по защите информации2