Protocolo de Needham–Schroeder
O protocolo de Needham-Schroeder se refere a um dos dois protocolos de comunicação para uso sobre uma rede insegura, ambos propostos por Roger Needham e Michael Schroeder1 em um artigo em 1978. Eles são:
- O protocolo de chave simétrica de Needham-Schroeder é baseado em um algoritmo de chave simétrica. Forma a base do protocolo Kerberos. O objetivo deste protocolo é estabelecer uma chave de seção entre duas partes em uma rede, normalmente para proteger uma comunicação futura.
- O protocolo de chave pública de Needham-Schroeder é baseado em uma criptografia de chave pública. Seu objetivo é fornecer uma autenticação mútua entre duas partes que se comunicam através de uma rede, mas na forma proposta é inseguro.
O protocolo simétrico [editar]
Neste caso, Alice(A) inicia uma comunicação com Bob(B). Desta maneira,
- A e B são identificados como Alice e Bob, respectivamente
- S é um servidor confiado por ambas partes
- KAS é uma chave simétrica que conhece apenas A e S
- KBS é uma chave simétrica que conhece apenas B e S
- NA e NB são nonces
O protocolo pode ser especificado usando a notação de protocolos de segurança como segue:

- Alice envia uma mensagem ao servidor intentificando a si mesma e a Bob, dizendo ao servidor que quer se comunicar com Bob.

- O servidor gera a chave
e a envia a Alice, criptografada usando
, para que Alice a envie a Bob e uma cópia da chave para ela. Dado que Alice pode estar solicitando chaves para usar com pessoa distintas, o nonce dá garantia a Alice que a mensagem é recente e que o servidor está respondendo a uma determinada mensagem e a inclusão de Bob diz a Alice com quem deve compartilhar esta chave.

- Alice reenvia a chave a Bob, que pode descriptografá-la com a chave que ele compartilha com o servidor, autenticando assim esta informação.

- Bob envia a Alice um nonce criptografado usando
para demonstrar que ele obteve a chave.

- Alice realiza uma operação simples sobre o nonce, volta a criptografá-lo e o envia de volta a Bob, para que ele verifique que ela existe e que obteve a chave também.
Este protocolo é vulnerável a um ataque de replay (também identificado por Denning e Sacco2 ). Se um atacante armazena as mensagens deste protocolo e logo descobre o valor KAB que foi usado, pode voltar a enviar a mensagem
a Bob, que a aceitará e não será capaz de dizer se a chave é recente ou não (a não ser que mantenha um registro de todas as chaves que ele usou). Esse bug foi corrigido no protocolo Kerberos, com a inclusão de um timestamp.
Referências [editar]
- ↑ (December 1978) "Using encryption for authentication in large networks of computers.". Communications of the ACM 21 (12): 993–999. DOI:10.1145/359657.359659.
- ↑ Denning, Dorothy E. (1981). "Timestamps in key distributed protocols". Communication of the ACM 24 (8): 533–535. DOI:10.1145/358722.358740.
Links Externos [editar]
- http://www.lsv.ens-cachan.fr/spore/nspk.html - descrição do protocolo de chave pública
- http://www.lsv.ens-cachan.fr/spore/nssk.html - o protocolo de chave simétroca
- http://www.lsv.ens-cachan.fr/spore/nspkLowe.html - o protocolo de chave pública alterada pela Lowe
e a envia a Alice, criptografada usando
, para que Alice a envie a Bob e uma cópia da chave para ela. Dado que Alice pode estar solicitando chaves para usar com pessoa distintas, o