Иллюстрированный самоучитель по защите информации

Основные криптографические протоколы

Обмен ключами

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

Обмен ключами для симметричных криптосистем

Предположим, что Антон и Борис, являющиеся пользователями компьютерной сети, получили секретные ключи от Дмитрия (доверенного лица, наделенного правами арбитра). Секретные ключи попали к Антону и Борису еще до начала сеанса связи, а злоумышленник Зиновий ровным счетом ничего не знает о том, какие это ключи. Тогда для обмена шифрованными сообщениями по компьютерной сети Антон и Борис могут воспользоваться следующим криптографическим протоколом:

  1. Антон связывается с Дмитрием и запрашивает у него сеансовый ключ для связи с Борисом.
  2. Дмитрий генерирует случайный сеансовый ключ и создает две шифрованных копии этого ключа – один раз Дмитрий шифрует сеансовый ключ с помощью секретного ключа Антона, второй – с помощью секретного ключа Бориса. Затем Дмитрий отсылает обе копии Антону.
  3. Антон расшифровывает свою копию сеансового ключа.
  4. Антон отправляет Борису его копию сеансового ключа.
  5. Борис расшифровывает свою копию сеансового ключа.
  6. Антон отправляет Борису сообщение, зашифрованное с использованием сеансового ключа, копия которого имеется у них обоих.

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

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

Обмен ключами для криптосистем с открытым ключом

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

  1. Антон находит открытый ключ Бориса в справочнике, в базе данных или получает его от Дмитрия.
  2. Антон генерирует случайный сеансовый ключ, шифрует его при помощи открытого ключа Бориса и отправляет ему в зашифрованном виде.
  3. Борис расшифровывает сообщение Антона с использованием своего тайного ключа.
  4. Антон и Борис обмениваются сообщениями, зашифрованными на одном и том же сеансовом ключе.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.