Capítulo 9: Protocolos criptográficos
-
Upload
juan-manuel-garcia -
Category
Technology
-
view
61 -
download
0
Transcript of Capítulo 9: Protocolos criptográficos
AgendaIntroduccion
Protocolos Criptograficos
Juan Manuel Garcıa Garcıa
20 de octubre de 2010
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
AgendaIntroduccion
Parte I: Protocolos basados en cifrado simetricoParte II: Protocolos basados en clave publica
Parte I
Protocolo de Needham-Schroeder
Protocolo de Denning-Saco
Protocolo de Otway-Rees
Protocolo KerberosProtocolo Kerberos simpleKerberos V
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
AgendaIntroduccion
Parte I: Protocolos basados en cifrado simetricoParte II: Protocolos basados en clave publica
Parte II
Protocolo Needham-Schroeder de clave publica
Protocolos basados en clave publica con firma digitalProtocolo de autenticacion X.509
Claves publicas implıcitamente certificadasClaves publicas basadas en identidad de GuntherClaves publicas auto-certificadas de Girault
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
AgendaIntroduccion
DefinicionesNotacion
Definiciones
◮ Protocolo: Un algoritmo multipartita, definido por unasecuencia precisa de pasos que especifican las accionesrequeridas por dos o mas entidades para lograr un objetivodeterminado.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
AgendaIntroduccion
DefinicionesNotacion
Definiciones
◮ Protocolo de autenticacion: El objetivo es proveer a unaentidad algun grado de certeza concerniente a la identidad deotra entidad con la cual pretende comunicarse.
◮ Protocolo de establecimiento de claves: El objetivo esestablecer una clave criptografica compartida.
◮ Protocolo de establecimiento de clave autenticada: Suobjetivo es establecer una clave compartida con una entidadcuya identidad ha sido (o puede ser) corroborada.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
AgendaIntroduccion
DefinicionesNotacion
Definiciones
◮ Establecimiento de clave: Protocolo donde una clavecriptografica se vuelve disponible para dos o mas entidades.
◮ Transporte de clave: Es un protocolo de establecimiento declave donde una entidad genera una clave y la transfiere demanera segura a otra.
◮ Acuerdo de clave: Protocolo de establecimiento de clavedonde una clave es derivada por dos o mas entidades comouna funcion de la informacion proporcionada por, o asociadacon, cada una de ellas.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
AgendaIntroduccion
DefinicionesNotacion
Definiciones
◮ Servidor de confianza: Muchos protocolos de establecimientode clave involucran una entidad centralizada o de confianza.Esta entidad es referida por una variedad de nombresdependiendo de su rol en el protocolo, incluyendo:
◮ tercero de confianza◮ servidor de confianza◮ servidor de autenticacion◮ centro de distribucion de claves (KDC)◮ autoridad certificadora (CA)
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
AgendaIntroduccion
DefinicionesNotacion
Notacion
La siguiente es la notacion utilizada para especificar protocolos deautenticacion:A Principal A en una maquina.B Principal B en otra maquina.S Servidor de autenticacion.Kas Clave secreta compartida por A y S .Kbs Clave secreta compartida por B y S .Kab Clave de sesion compartida por A y B.Ka Clave publica de A en un criptosistema de clave publica.K−1
a Clave privada de A en un criptosistema de clave publica.A → B : M A envıa el mensaje M a B.{M}K Mensaje M encriptado con la clave K .Na Numero aleatorio (nonce) generado por A.Nb Numero aleatorio (nonce) generado por B.Ts Marca de tiempo de la maquina en que reside S .
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo de Needham-SchroederProtocolo de Denning-Saco
Protocolo de Otway-ReesProtocolo Kerberos
Parte I
Protocolos basados en cifrado simetrico
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo de Needham-SchroederProtocolo de Denning-Saco
Protocolo de Otway-ReesProtocolo Kerberos
Protocolo de Needham-Schroeder
1. A → S : A, B, Na
2. S → A : {Na, B, Kab, {A, Kab}Kbs}Kas
3. A → B : {A, Kab}Kbs
4. B → A : {Nb}Kab
5. A → B : {Nb − 1}Kab
Si la clave de sesion Kab es comprometida y el mensaje en el paso3 es grabado entonces se puede logra una impostura de A.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo de Needham-SchroederProtocolo de Denning-Saco
Protocolo de Otway-ReesProtocolo Kerberos
Protocolo de Denning-Sacco
Para superar las vulnerabilidades del protocolo deNeedham-Schroeder, se incluyen marcas de tiempo en los mensajesencriptados.
1. A → S : A, B
2. S → A : {B, Kab, Ts , {A, Kab, Ts}Kbs}Kas
3. A → B : {A, Kab, Ts}Kbs
A y B pueden verificar que sus mensajes no son replicacioneschecando que:
L − Ts ≤ δt1 + δt2
donde L es el tiempo del reloj local, δt1 es la discrepancia normalentre el reloj del servidor y el reloj local, y δt2 el retraso normal decomunicacion en la red.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo de Needham-SchroederProtocolo de Denning-Saco
Protocolo de Otway-ReesProtocolo Kerberos
Protocolo de Otway-Rees
Proporciona autenticacion temporal sin la necesidad de relojessincronizados.
1. A → B : M, A, B, {M, A, Na, B}Kas
2. B → S : M, A, B, {M, A, Na, B}Kas, {M, A, B, Nb}Kbs
3. S → B : M, {Na, Kab}Kas, {Nb, Kab}Kbs
4. B → A : M, {Na, Kab}Kas
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo de Needham-SchroederProtocolo de Denning-Saco
Protocolo de Otway-ReesProtocolo Kerberos
Protocolo Kerberos simpleKerberos V
Protocolo Kerberos simple
La siguiente es una version simplificada de Kerberos:
1. A → S : A, B
2. S → A : {Kab, Ticketab}Kas, donde
Ticketab = {B, A, addr , Ts , L, Kab}Kbs
3. A → B : Authab, Ticketab, donde Authab = {A, addr , Ta}Kab
4. B → A : {Ta + 1}Kab
donde addr es la direccion IP de la maquina de A y L un tiempo devida del ticket.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo de Needham-SchroederProtocolo de Denning-Saco
Protocolo de Otway-ReesProtocolo Kerberos
Protocolo Kerberos simpleKerberos V
Protocolo Kerberos V
En el protocolo, K denota al servidor de autenticacion Kerberos, G
es el servidor expendedor de boletos, N es un numero aleatorio, yC y S son cliente y servidor, respectivamente.
1. C → K : C , G , N
2. K → C : {Kcg , N}Kc, Ticketcg
3. C → G : Authcg , Ticketcg
4. G → C : {Kcs , N}Kcg, Ticketcs
5. C → S : Authcs , Ticketcs
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo de Needham-SchroederProtocolo de Denning-Saco
Protocolo de Otway-ReesProtocolo Kerberos
Protocolo Kerberos simpleKerberos V
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadas
Parte II
Protocolos basados en clave publica
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadas
Protocolo de Needham-Schroeder de clave publica
1. A → B : {N1, A}Kb
2. B → A : {N1, N2}Ka
3. A → B : {N2}Kb
La clave de sesion puede ser calculada como f (N1, N2) utilizandouna funcion no-reversible apropiada.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadasProtocolo de autenticacion X.509
Protocolo de autenticacion X.509
Notacion:
◮ {y}kXsignifica aplicar cifrado con la clave publica kX a los
datos y .
◮ {y}k−1X
significa firmar los datos y con la clave privada k−1X .
◮ NA y NB son numeros usados por unica vez (para detectarreuso e impostura).
◮ certX es un certificado que vincula a X con una clave publicakX utilizable para cifrado y firma digital.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadasProtocolo de autenticacion X.509
Protocolo de autenticacion X.509
Protocolo:Sean DA = (TA, NA, B, data∗1, {k1}
∗
kB) y
DB = (TB , NB , A, data∗2, {k2}∗
kA).
1. A → B : certA, DA, {DA}k−1A
2. B → A : certB , DB , {DB}k−1B
3. A → B : (NB , B), {NB , B}k−1A
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadasProtocolo de autenticacion X.509
Protocolo de autenticacion X.509
◮ Autenticacion de dos pasos: Se omite el paso 3, pero severifican los timestamps TA y TB .
◮ Autenticacion de tres pasos: Se realiza el paso 3, y B verificaque la firma del mensaje sea correcta. Los timestamps TA yTB no se verifican, por lo que pueden ponerse en ceros.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadas
Claves publicas basadas en identidad de GuntherClaves publicas auto-certificadas de Girault
Claves de Gunther
Un tercero de confianza T crea una clave publica de Diffie-Hellmanimplıcitamente certificada para A, y transfiere a A lacorrespondiente clave publica. Para hacer esto T hace lo siguiente:
1. T selecciona un primo p apropiado, fijo y publico, y ungenerador α de Z
∗
p. T selecciona un entero aleatorio t, con1 ≤ t ≤ p − 2 y gcd(t, p − 1) = 1, como su clave privada ypublica su clave publica u = αt mod p, junto con α,p.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadas
Claves publicas basadas en identidad de GuntherClaves publicas auto-certificadas de Girault
Claves de Gunther
2. T asigna a cada entidad A un nombre distinguido o cadenaidentificadora IA y un entero aleatorio kA congcd(kA, p − 1) = 1. T entonces calcula PA = αk mod p.
3. Utilizando una funcion de hash apropiada h, T resuelve lasiguiente ecuacion para a (reiniciando con una nueva kA sia = 0):
h(IA) = t · PA + kA · a (mod p − 1).
4. T transmite de manera segura a A el par (r , s) = (PA, a), lacual es la firma ElGamal de T sobre IA.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadas
Claves publicas basadas en identidad de GuntherClaves publicas auto-certificadas de Girault
Claves de Gunther
5. Cualquier otra entidad puede entonces reconstruir la clavepublica de A, Pα
A (= αkAa) completamente a partir deinformacion publicamente disponible (α, IA, u, PA, p)calculando:
Pα
A = αh(IA) · u−Pa mod p.
(Observese que αh(IA) = uPA · PaA).
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadas
Claves publicas basadas en identidad de GuntherClaves publicas auto-certificadas de Girault
Claves de Girault
Un tercero de confianza T crea una clave publica de Diffie-Hellmanimplıcitamente certificada, publicamente recuperable, para unaentidad A. Para hacer esto, T hace lo siguiente:
1. El servidor de confianza T selecciona primos secretos p y q
para un entero RSA n = pq, un elemento α de orden maximoen Z
∗
n y enteros adecuados e y d como par de claves (publicay privada) RSA para n.
2. T asigna un nombre distinguido o cadena identificadora IA acada entidad A.
Juan Manuel Garcıa Garcıa Protocolos Criptograficos
Protocolo Needham-Schroeder de clave publicaProtocolos basados en clave publica con firma digital
Claves publicas implıcitamente certificadas
Claves publicas basadas en identidad de GuntherClaves publicas auto-certificadas de Girault
Claves de Girault
3. La entidad A elige una clave privada a, y proporciona la clavepublica αa mod n a T .
4. T calcula los datos publicos de reconstruccion de la clave deA como
PA = (αa − IA)d mod n.
(Entonces (PeA + IA) mod n = αa mod n.)
Juan Manuel Garcıa Garcıa Protocolos Criptograficos