Лекция 9 - Современные крипотографические системы (продолжение) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Лекция 9 - Современные крипотографические системы (продолжение)



 

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.3 Возможные ситуации

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

В основном встречаются следующие три ситуации:

а) Прямой обмен ключами:

б) Обмен через третье лицо (посредника):

в) Обмен через двух и более третьих лиц (посредников):

Наиболее общий случай отражен в ситуации в), когда ус­танавливается взаимная подлинность А и S 1, В и S2. Пред­полагается, что между S1 и S 2 возможно защищенное взаи­модействие.

2.4 Ключи подтверждения подлинности

В каждой из трех ситуаций необходимо, чтобы каждый субъ­ект имел возможность непосредственного подтверждения по­длинности. Лицо, удостоверяющее подлинность некоторого субъекта, само является субъектом сети, для которого реали­зуется своя процедура установления подлинности. В ситуации а) субъект В является лицом, непосредственно удостоверяю­щим подлинность А, и наоборот. В ситуации б) субъект S является лицом, удостоверяющим подлинность и А, и В. Удо­стоверяющий подлинность может находиться и вне ВС. Если подлинность пользователя и удостоверяющего установлена с достаточной надежностью, они могут сами назначить ключи подтверждения подлинности, что означает: "достаточная на­дежность" зависит от применений и прав, предоставляемых удостоверяющему. После первоначального подтверждения по­длинности вне ВС, ключи подтверждения подлинности можно использовать для взаимного подтверждения подлинности в ВС между пользователем и его удостоверяющим.

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

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

 

 


 



Поделиться:


Последнее изменение этой страницы: 2021-12-07; просмотров: 31; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.44.108 (0.025 с.)