En criptografia, un protocol d'acord de claus és un protocol pel qual dues (o més) parts generen una clau criptogràfica en funció de la informació proporcionada per cada part honesta, de manera que cap part no pot predeterminar el valor resultant. En particular, tots els participants honestos influeixen en el resultat. Un protocol d'acord de claus és una especialització d'un protocol d'intercanvi de claus.

En completar el protocol, totes les parts comparteixen la mateixa clau. Un protocol d'acord de claus impedeix que tercers no desitjats imposin una elecció de clau a les parts que hi han acordat. Un acord de clau segura pot garantir la confidencialitat i la integritat de les dades en sistemes de comunicacions, des de simples aplicacions de missatgeria fins a transaccions bancàries complexes.

L'acord segur es defineix en relació amb un model de seguretat, per exemple el Model Universal. De manera més general, a l'hora d'avaluar protocols, és important establir els objectius de seguretat i el model de seguretat. Per exemple, pot ser necessari autenticar la clau de sessió. L'èxit d'un protocol només es pot avaluar en el context dels seus objectius i del model d'atac. Un exemple de model adversari és el model Dolev-Yao.

En molts sistemes d'intercanvi de claus, una part genera la clau i l'envia a l'altra part;See Diffie–Hellman key exchange for a more complete history of both the secret and public development of public-key cryptography. l'altra part no té cap influència sobre la clau.

Intercanvi de claus exponencial El primer protocol d'acord de clau pública conegut públicamentSee Diffie–Hellman key exchange for a more complete history of both the secret and public development of public-key cryptography. que complia els criteris anteriors va ser l'intercanvi de claus Diffie-Hellman, en què dues parts exponencialitzen conjuntament un generador amb nombres aleatoris, de manera que un escoltador no pugui determinar de manera factible quina és la clau compartida resultant.

L'acord de clau exponencial en si mateix no especifica cap acord previ ni autenticació posterior entre els participants. Per tant, s'ha descrit com un protocol d'acord de clau anònim.

Acord de clau simètrica L'acord de clau simètrica (SKA) és un mètode d'acord de clau que utilitza únicament criptografia simètrica i funcions de hash criptogràfiques com a primitives criptogràfiques. Està relacionat amb l'intercanvi de claus autenticades simètriques.

SKA pot assumir l'ús de secrets inicials compartits o es suposa que hi ha un tercer de confiança amb qui les parts que hi estan d'acord comparteixen un secret. Si no hi ha cap tercer present, aconseguir SKA pot ser trivial: tautològicament assumim que dues parts que comparteixen un secret inicial ja han aconseguit SKA.

SKA contrasta amb els protocols d'acord de claus que inclouen tècniques de criptografia asimètrica, com ara mecanismes d'encapsulació de claus.

L'intercanvi inicial d'una clau compartida s'ha de fer de manera privada i amb integritat garantida. Històricament, això s'aconseguia per mitjans físics, com ara mitjançant un missatger de confiança.

Un exemple de protocol SKA és el protocol Needham-Schroeder. Estableix una clau de sessió entre dues parts de la mateixa xarxa, utilitzant un servidor com a tercer de confiança. El protocol Needham-Schroeder original és vulnerable a un atac de repetició. S'inclouen marques de temps i nonces per solucionar aquest atac. Constitueix la base del protocol Kerberos.

Tipus d'acord clau Boyd et al. classifiquen els protocols d'acord clau bipartit segons dos criteris de la manera següent:

si ja existeix una clau precompartida o no el mètode per generar la clau de sessió.

La clau precompartida es pot compartir entre les dues parts, o cada part pot compartir una clau amb un tercer de confiança. Si no hi ha un canal segur (com el que es pot establir mitjançant una clau precompartida), és impossible crear una clau de sessió autenticada.

La clau de sessió es pot generar mitjançant: transport de claus, acord de claus i híbrid. Si no hi ha cap tercer de confiança, els casos de transport de claus i generació de claus de sessió híbrides són indistingibles. SKA es preocupa pels protocols en què la clau de sessió s'estableix utilitzant només primitives simètriques.

Autenticació L'intercanvi anònim de claus, com Diffie-Hellman, no proporciona autenticació de les parts i, per tant, és vulnerable a atacs de tipus man-in-the-middle.

S'ha desenvolupat una àmplia varietat d'esquemes i protocols d'autenticació criptogràfica per proporcionar un acord de clau autenticat per evitar atacs intermediaris i atacs relacionats. Aquests mètodes generalment vinculen matemàticament la clau acordada a altres dades acordades, com ara les següents:

parells de claus pública-privada claus secretes compartides contrasenyes

Claus públiques Un mecanisme àmpliament utilitzat per derrotar aquests atacs és l'ús de claus signades digitalment que han de garantir la seva integritat: si la clau de Bob està signada per un tercer de confiança que avala la seva identitat, Alice pot tenir una confiança considerable que una clau signada que rep no és un intent d'interceptació per part d'Eve. Quan Alice i Bob tenen una infraestructura de clau pública, poden signar digitalment una clau Diffie-Hellman acordada o intercanviar claus públiques Diffie-Hellman. Aquestes claus signades, de vegades signades per una autoritat de certificació, són un dels principals mecanismes utilitzats per al trànsit web segur (inclosos els protocols HTTPS, SSL o TLS). Altres exemples específics són MQV, YAK i el component ISAKMP del conjunt de protocols IPsec per assegurar les comunicacions del Protocol d'Internet. Tanmateix, aquests sistemes requereixen cura a l'hora d'avalar la coincidència entre la informació d'identitat i les claus públiques per part de les autoritats de certificació per tal que funcionin correctament.

Sistemes híbrids Els sistemes híbrids utilitzen criptografia de clau pública per intercanviar claus secretes, que després s'utilitzen en sistemes de criptografia de clau simètrica. La majoria de les aplicacions pràctiques de la criptografia utilitzen una combinació de funcions criptogràfiques per implementar un sistema global que proporciona les quatre característiques desitjables de les comunicacions segures (confidencialitat, integritat, autenticació i no repudi).

Contrasenyes Els protocols d'acord de claus autenticats per contrasenya requereixen l'establiment per separat d'una contrasenya (que pot ser més petita que una clau) de manera que sigui privada i amb integritat garantida. Aquests estan dissenyats per resistir els atacs intermediaris i altres atacs actius a la contrasenya i a les claus establertes. Per exemple, DH-EKE, SPEKE i SRP són variacions autenticades per contrasenya de Diffie-Hellman.

Altres trucs Si es disposa d'una manera amb integritat garantida de verificar una clau compartida a través d'un canal públic, es pot dur a terme un intercanvi de claus Diffie-Hellman per obtenir una clau compartida a curt termini i, posteriorment, autenticar que les claus coincideixen. Una manera és utilitzar una lectura autenticada per veu de la clau, com en PGPfone. L'autenticació per veu, però, presumeix que no és factible que un intermediari suplanti la veu d'un participant a l'altre en temps real, cosa que pot ser una suposició no desitjada. Aquests protocols poden estar dissenyats per funcionar fins i tot amb un petit valor públic, com ara una contrasenya. S'han proposat variacions sobre aquest tema per als protocols d'emparellament Bluetooth.

En un intent d'evitar l'ús de factors d'autenticació fora de banda addicionals, Davies i Price van proposar l'ús del protocol d'enclavament de Ron Rivest i Adi Shamir, que ha estat objecte tant d'atac com de refinament posterior.

Referències

Categoria:Criptografia