Anar al contingut

Protocol de Needham-Schroeder

De L'Enciclopèdia, la wikipedia en valencià
Erro al crear miniatura:
Esquema del funcionament del protocol de clau pública de Needham-Schroeder

El protocol de Needham-Schroeder es referix a un dels dos protocols de comunicació per a us sobre una ret insegura, abdós proposts per Roger Needham i Michael Schroeder en un artícul en 1978. Ells són:

  • El protocol de clau simètrica de Needham-Schroeder, basat en un algoritme de sifrat simètric. Forma la base del protocol Kerberos. L'objectiu d'este protocol és realisar una autenticació mútua i establir una clau de sessió aleatòria entre les dos parts, normalment per a protegir la comunicació subsecuente.
  • El protocol de clau pública de Needham-Schroeder, basat en un criptografia asimètrica. El seu objectiu és brindar autenticació mútua entre dos parts que es comuniquen a través d'una ret, pero en la seua forma proposta és insegur.

El protocol simètric

En este cas, Alice (A) inicia una comunicació en Bob (B). D'esta manera,

  • S és un servidor confiat per abdós partixes
  • KAS és una clave simètrica que coneixen solament A i S
  • KBS és una clau simètrica que coneixen solament B i S
  • NA i NB són nonces

El protocol pot especificar-se per mig de la notació de protocols de seguritat de la següent manera:

A→S:A,B,NA

Alice li envia un mensage al servidor identificant-se a sí mateixa i a Bob, dient-li al servidor que vol comunicar-se en Bob.

S→A:{NA,KAB,B,{KAB,A}KBS}KAS

El servidor genera la clau KAB i li l'envia a Alice, sifrada usant KBS, per a que Alice li l'envie a Bob, i una còpia de la clau per a ella. Ya que Alice pot estar solicitant claus per a usar en distintes persones, el nonce li garantisa a Alice que el mensage és recent i que el servidor està responent a un determinat mensage i l'inclusió de Bob li diu a Alice en quí deu compartir esta clau.

A→B:{KAB,A}KBS

Alice li reenvía la clau a Bob, qui la pot dessifrar en la clau que ell compartix en el servidor, autenticando aixina esta informació.

B→A:{NB}KAB

Bob li envia a Alice un nonce sifrat usant KAB per a demostrar-li que ell va obtindre la clau.

A→B:{NB−1}KAB

Alice realisa una operació senzilla sobre el nonce (Ej. restar-li 1), ho torna a sifrar i li l'envia de regrés a Bob, per a que ell verifique que ella existix i que va obtindre la clau també.

[1] Per a que este protocol puga ser usat, és necessari exigir que el método de sifrat usat no siga maleable. Açò es deu a que si el sifrat és maleable llavors l'últim pas, la comprovació de que Alice coneix la clau realisant un sifrat sobre el nonce, no és vàlida. Si per eixemple el sifrat és one-clave-pad i N és impar, qualsevol pot trobar el {NB−1}KAB simplement canviant l'últim bit.

Este protocol és vulnerable a un atac de replay. Si un atacant almagasena els mensages d'este protocol i després descobrix el valor KAB que va ser usat, pot tornar a enviar-li el mensage {KAB,A}KBS a Bob, qui ho acceptarà i no serà capaç de dir si la clau és recent o no (a no ser que duga un registre de totes les claus que ell va usar). Este fallo es resol en el protocol Kerberos per mig de l'inclusió d'un timestamp.

El protocol de clau pública

Este protocol assumix l'us d'un algoritme de sifrat de clau pública.

En este cas, Alice (A) i Bob (B) interactuen junt en un servidor de confiança (S) per a la distribució de claus públiques a demanat. Estes claus són:

  • KPA i KSA, les mitats pública i privada respectivament d'un parell de claus de sifrat de
  • KPB i KSB, idem per a B
  • KPS i KSS, idem per a S. (Note's que en est case KSS s'usa per a sifrar i KPS per a dessifrar).

El protocol es desenrolla de la següent manera:

A→S:A,B

A li solicita a S la clau pública de B.

S→A:{KPB,B}KSS

S respon en l'identitat de B junt en KPB per a constatar.

A→B:{NA,A}KPB

A inventa NA i li l'envia a B.

B→S:B,A

B solicita la clau pública de A.

S→B:{KPA,A}KSS

El servidor respon.

B→A:{NA,NB}KPA

B inventa NB i li l'envia a A junt en NA per a demostrar la seua capacitat de poder dessifrar en KSB.

A→B:{NB}KPB

A li confirma NB a B per a demostrar la seua capacitat de poder dessifrar en KSA.

Al final del protocol, A i B coneixen l'identitat de l'atre, NA i NB. Estos nonces són desconeguts per a oyents furtivos.

Atacs al protocol

Desafortunadament, este protocol és vulnerable al atac Man-in-the-middle. Si un impostor I és capaç de persuadir a A per a que inicie una sessió en ell, est pot reenviar els mensages a B i fer-li creure a B de que s'està comunicant en A.

Ignorant el tràfic des d'i cap a S, que no varia, l'atac es desenrolla de la següent manera:

A→I:{NA,A}KPI

A li envia NA a I, qui dessifra el mensage en KSI.

I→B:{NA,A}KPB

I li reenvía el mensage a B, fent de conte que és A qui s'està intentant comunicar.

B→I:{NA,NB}KPA

B li envia NB.

I→A:{NA,NB}KPA

I li'l reenvía a A.

A→I:{NB}KPI

A dessifra NB i li'l confirma a I, qui passa a conéixer-ho.

I→B:{NB}KPB

I torna a sifrar NB, i convenç a B de que ell ho ha dessifrat.

Al final de l'atac, B creu erròneament de que A s'està comunicant en ell i que NA i NB són coneguts únicament per a i B.

L'atac va ser descrit per primera volta en un artícul en 1995 per Gavin Lowe. L'artícul descriu també una versió arreglada de l'esquema, al com li'l crida el protocol de Needham-Schroeder-Lowe.

Vore també

Referències

  1. ↑ Matej Pivoluska,"Senar-malleable encryption and message authentication". Diplomar Thesis. Brno 2010

Bibliografia

  • Lowe, Gavin. «Un atac al protocol d'autenticació de clau pública de Needham-Schroeder.» Information Processing Letters, 56(3):131-136, novembre de 1995.
  • Needham, Roger i Michael Schroeder. «Usant sifrat per a autenticació en rets de computadora grans.» Communications of the ACM, 21(12), decembre de 1978.


Referències