Системы защиты компьютера

         

Протокол обмена сообщениями с использованием симметричного шифрования



Протокол обмена сообщениями с использованием симметричного шифрования

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

1. Антон и Борис уславливаются о том, какой криптосистемой они будут пользоваться.

2. Антон и Борис генерируют ключи для шифрования и расшифрования своих сообщений и затем обмениваются ими.

3. Антон шифрует сообщение с использованием криптографического алгоритма и ключа, о которых он заранее договорился с Борисом.

4. Антон отправляет зашифрованное сообщение Борису.

5. Борис расшифровывает полученное сообщение, применяя тот же криптографический алгоритм и ключ, которыми пользовался Антон.

Если Петр имеет возможность перехватывать сообщения, которые передают друг другу Антон и Борис, он может попытаться прочесть эти сообщения. Если Антон и Борис используют стойкий алгоритм шифрования. — они в безопасности. Однако Петр может оказаться в состоянии подслушивать за Антоном и Борисом, когда они выполняют шаг 1 и шаг 2 протокола. Поэтому стойкая криптосистема не должна опираться на сохранение в тайне алгоритма шифрования. Необходимо, чтобы ее стойкость определялась одной только длиной секретного ключа. Тогда Антон и Борис могут условиться, каким шифром они будут пользоваться, ничуть не заботясь о том, что их подслушает Петр. Тем не менее, шаг 2 протокола все равно должен выполняться ими в обстановке строжайшей секретности. Требуется, чтобы свои сгенерированные ключи Антон и Борис хранили в секрете до, во время и после процесса выполнения всех шагов протокола. Иначе Петр сможет прочесть всю их шифрованную переписку.

Что касается Зиновия, то в зависимости от преследуемых целей он может действовать по-разному. Если Зиновий прервет связь между Антоном и Борисом, они будут не в состоянии обмениваться сообщениями.


Протокол обмена сообщениями с использованием шифрования с открытым ключом

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

В 1976 г. американские криптологи У. Диффи и М. Хеллман изобрели криптографию с открытым ключом. Они предложили использовать два вида ключей — открытые и тайные. Вычислить тайный ключ, зная только открытый, очень сложно. Человек, владеющий открытым ключом, может с его помощью зашифровать сообщение. Расшифровать это сообщение в состоянии только тот, кто имеет соответствующий тайный ключ. В отличие от симметричной криптосистемы, для алгоритма шифрования с открытым ключом больше подходит сравнение с почтовым ящиком. Опустить почту и этот ящик очень просто, равно как и зашифровать сообщение с применением открытого ключа. А извлечение из почтового ящика находящейся в нем корреспонденции сродни расшифрованию сообщения. Желающего сделать это без ключа вряд ли ожидает легкая работа. Обладатель же ключа откроет почтовый ящик, т. е. расшифрует сообщение, без особого труда.



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

Протокол обмена сообщениями с использованием шифрования с открытым ключом выглядит следующим образом:

  • Антон и Борис уславливаются о том, какой криптосистемой они будут пользоваться.



  • Зиновий может заменить шифрованное сообщение, посланное Антоном, на свое собственное. Попытавшись расшифровать поддельное сообщение, Борис вместо осмысленного открытого текста получит абракадабру, и решит, что Антон не слишком серьезно отнесся к шифрованию своего сообщения или что при передаче оно было просто искажено. Хуже, если Зиновий узнает ключ, которым пользуются Антон и БоРисунок Тогда он сможет зашифровать любое сообщение и отправить его Борису от имени Антона, а у Бориса не будет возможности распознать подделку.

    Если Антон вознамерится навредить Борису, тот будет не в силах ему помешать. Например, Антон может заставить Бориса отказаться от обмена сообщениями. Для этого Антону достаточно передать копию ключа Петру с условием, что Петр опубликует открытые тексты сообщений Бориса в газете для всеобщего обозрения. Это значит, что, используя приведенный выше протокол, Антон и Борис должны полностью доверять друг другу.

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



  • Борис посылает Антону свой открытый ключ.


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


  • Борис расшифровывает сообщение Антона, используя свой тайный ключ.


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

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

    1. Антон находит открытый ключ Бориса в базе данных.

    2. Антон шифрует открытый текст своего сообщения при помощи открытого ключа Бориса.

    3. Борис расшифровывает сообщение Антона, используя свой тайный ключ.

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


    Содержание раздела