Введение
Ключевой протокол транспорта
Протокол Нидхэма — Шредера — один из двух ключевых протоколов транспорта, предназначенных для использования в незащищенной сети, оба предложенные Роджером Нидхэмом и Майклом Шредером. К ним относятся: протокол Нидхэма — Шредера с симметричным ключом, основанный на алгоритме симметричного шифрования. Он является основой для протокола Kerberos. Этот протокол предназначен для установления сеансового ключа между двумя сторонами в сети, как правило, для защиты последующей связи. Протокол Нидхэма — Шредера с открытым ключом, основанный на криптографии с открытым ключом. Этот протокол предназначен для обеспечения взаимной аутентификации между двумя сторонами, взаимодействующими в сети, но в предложенной форме он является уязвимым.
The Needham–Schroeder Symmetric Key Protocol, based on a symmetric encryption algorithm. It forms the basis for the Kerberos protocol. This protocol aims to establish a session key between two parties on a network, typically to protect further communication. The Needham–Schroeder Public Key Protocol, based on public key cryptography. This protocol is intended to provide mutual authentication between two parties communicating on a network, but in its proposed form is insecure.
Нападения на протокол
Протокол уязвим к атаке повторной отправки (как было выявлено Деннингом и Сакко). Если злоумышленник использует устаревшее, скомпрометированное значение для 1= K {AB}, он может повторно отправить это сообщение Бобу, который примет его, не имея возможности определить, что ключ не является актуальным.
Исправление атаки
Этот недостаток исправлен в протоколе Kerberos путем включения временной метки. Его также можно исправить с использованием одноразовых чисел (нонсов), как описано ниже. В начале протокола Алиса отправляет Бобу запрос. Боб отвечает, отправляя одноразовое число, зашифрованное его ключом совместно с сервером. Алиса отправляет сообщение серверу, идентифицируя себя и Боба, сообщая серверу о своем желании установить связь с Бобом. Обратите внимание на включение одноразового числа. Затем протокол продолжается, как описано, в течение последних трех шагов, описанных в исходном протоколе выше. Обратите внимание, что это другое одноразовое число, чем N<sub>B</sub>. Включение этого нового одноразового числа предотвращает повторное использование скомпрометированной версии сообщения, поскольку такое сообщение должно иметь форму, которую злоумышленник не может подделать, так как у него нет K<sub>BS</sub>.
Alice sends to Bob a request. Bob responds with a nonce encrypted under his key with the Server. Alice sends a message to the server identifying herself and Bob, telling the server she wants to communicate with Bob. Note the inclusion of the nonce. The protocol then continues as described through the final three steps as described in the original protocol above. Note that is a different nonce from 1= N B The inclusion of this new nonce prevents the replaying of a compromised version of since such a message would need to be of the form which the attacker can't forge since she does not have 1= K {BS} .