Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Capítulo 9: Protocolos criptográficos

632 vues

Publié le

Material del curso de criptografía impartido a alumnos de la carrera de ITC del ITESM Campus Morelia en el 2010.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Capítulo 9: Protocolos criptográficos

  1. 1. Agenda Introducci´on Protocolos Criptogr´aficos Juan Manuel Garc´ıa Garc´ıa 20 de octubre de 2010 Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  2. 2. Agenda Introducci´on Parte I: Protocolos basados en cifrado sim´etrico Parte II: Protocolos basados en clave p´ublica Parte I Protocolo de Needham-Schroeder Protocolo de Denning-Saco Protocolo de Otway-Rees Protocolo Kerberos Protocolo Kerberos simple Kerberos V Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  3. 3. Agenda Introducci´on Parte I: Protocolos basados en cifrado sim´etrico Parte II: Protocolos basados en clave p´ublica Parte II Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Protocolo de autenticaci´on X.509 Claves p´ublicas impl´ıcitamente certificadas Claves p´ublicas basadas en identidad de G¨unther Claves p´ublicas auto-certificadas de Girault Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  4. 4. Agenda Introducci´on Definiciones Notaci´on Definiciones ◮ Protocolo: Un algoritmo multipartita, definido por una secuencia precisa de pasos que especifican las acciones requeridas por dos o m´as entidades para lograr un objetivo determinado. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  5. 5. Agenda Introducci´on Definiciones Notaci´on Definiciones ◮ Protocolo de autenticaci´on: El objetivo es proveer a una entidad algun grado de certeza concerniente a la identidad de otra entidad con la cual pretende comunicarse. ◮ Protocolo de establecimiento de claves: El objetivo es establecer una clave criptogr´afica compartida. ◮ Protocolo de establecimiento de clave autenticada: Su objetivo es establecer una clave compartida con una entidad cuya identidad ha sido (o puede ser) corroborada. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  6. 6. Agenda Introducci´on Definiciones Notaci´on Definiciones ◮ Establecimiento de clave: Protocolo donde una clave criptogr´afica se vuelve disponible para dos o m´as entidades. ◮ Transporte de clave: Es un protocolo de establecimiento de clave donde una entidad genera una clave y la transfiere de manera segura a otra. ◮ Acuerdo de clave: Protocolo de establecimiento de clave donde una clave es derivada por dos o m´as entidades como una funci´on de la informaci´on proporcionada por, o asociada con, cada una de ellas. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  7. 7. Agenda Introducci´on Definiciones Notaci´on Definiciones ◮ Servidor de confianza: Muchos protocolos de establecimiento de clave involucran una entidad centralizada o de confianza. Esta entidad es referida por una variedad de nombres dependiendo de su rol en el protocolo, incluyendo: ◮ tercero de confianza ◮ servidor de confianza ◮ servidor de autenticaci´on ◮ centro de distribuci´on de claves (KDC) ◮ autoridad certificadora (CA) Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  8. 8. Agenda Introducci´on Definiciones Notaci´on Notaci´on La siguiente es la notaci´on utilizada para especificar protocolos de autenticaci´on: A Principal A en una m´aquina. B Principal B en otra m´aquina. S Servidor de autenticaci´on. Kas Clave secreta compartida por A y S. Kbs Clave secreta compartida por B y S. Kab Clave de sesi´on compartida por A y B. Ka Clave p´ublica de A en un criptosistema de clave p´ublica. K−1 a Clave privada de A en un criptosistema de clave p´ublica. A → B : M A env´ıa el mensaje M a B. {M}K Mensaje M encriptado con la clave K. Na N´umero aleatorio (nonce) generado por A. Nb N´umero aleatorio (nonce) generado por B. Ts Marca de tiempo de la m´aquina en que reside S. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  9. 9. Protocolo de Needham-Schroeder Protocolo de Denning-Saco Protocolo de Otway-Rees Protocolo Kerberos Parte I Protocolos basados en cifrado sim´etrico Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  10. 10. Protocolo de Needham-Schroeder Protocolo de Denning-Saco Protocolo de Otway-Rees Protocolo 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 sesi´on Kab es comprometida y el mensaje en el paso 3 es grabado entonces se puede logra una impostura de A. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  11. 11. Protocolo de Needham-Schroeder Protocolo de Denning-Saco Protocolo de Otway-Rees Protocolo Kerberos Protocolo de Denning-Sacco Para superar las vulnerabilidades del protocolo de Needham-Schroeder, se incluyen marcas de tiempo en los mensajes encriptados. 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 replicaciones checando que: L − Ts ≤ δt1 + δt2 donde L es el tiempo del reloj local, δt1 es la discrepancia normal entre el reloj del servidor y el reloj local, y δt2 el retraso normal de comunicaci´on en la red. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  12. 12. Protocolo de Needham-Schroeder Protocolo de Denning-Saco Protocolo de Otway-Rees Protocolo Kerberos Protocolo de Otway-Rees Proporciona autenticaci´on temporal sin la necesidad de relojes sincronizados. 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 Criptogr´aficos
  13. 13. Protocolo de Needham-Schroeder Protocolo de Denning-Saco Protocolo de Otway-Rees Protocolo Kerberos Protocolo Kerberos simple Kerberos V Protocolo Kerberos simple La siguiente es una versi´on 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 direcci´on IP de la m´aquina de A y L un tiempo de vida del ticket. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  14. 14. Protocolo de Needham-Schroeder Protocolo de Denning-Saco Protocolo de Otway-Rees Protocolo Kerberos Protocolo Kerberos simple Kerberos V Protocolo Kerberos V En el protocolo, K denota al servidor de autenticaci´on Kerberos, G es el servidor expendedor de boletos, N es un n´umero aleatorio, y C 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 Criptogr´aficos
  15. 15. Protocolo de Needham-Schroeder Protocolo de Denning-Saco Protocolo de Otway-Rees Protocolo Kerberos Protocolo Kerberos simple Kerberos V Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  16. 16. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Parte II Protocolos basados en clave p´ublica Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  17. 17. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Protocolo de Needham-Schroeder de clave p´ublica 1. A → B : {N1, A}Kb 2. B → A : {N1, N2}Ka 3. A → B : {N2}Kb La clave de sesi´on puede ser calculada como f (N1, N2) utilizando una funci´on no-reversible apropiada. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  18. 18. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Protocolo de autenticaci´on X.509 Protocolo de autenticaci´on X.509 Notaci´on: ◮ {y}kX significa aplicar cifrado con la clave p´ublica kX a los datos y. ◮ {y}k−1 X significa firmar los datos y con la clave privada k−1 X . ◮ NA y NB son n´umeros usados por ´unica vez (para detectar reuso e impostura). ◮ certX es un certificado que vincula a X con una clave p´ublica kX utilizable para cifrado y firma digital. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  19. 19. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Protocolo de autenticaci´on X.509 Protocolo de autenticaci´on 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−1 A 2. B → A : certB, DB, {DB}k−1 B 3. A → B : (NB, B), {NB, B}k−1 A Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  20. 20. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Protocolo de autenticaci´on X.509 Protocolo de autenticaci´on X.509 ◮ Autenticaci´on de dos pasos: Se omite el paso 3, pero se verifican los timestamps TA y TB. ◮ Autenticaci´on de tres pasos: Se realiza el paso 3, y B verifica que la firma del mensaje sea correcta. Los timestamps TA y TB no se verifican, por lo que pueden ponerse en ceros. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  21. 21. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Claves p´ublicas basadas en identidad de G¨unther Claves p´ublicas auto-certificadas de Girault Claves de G¨unther Un tercero de confianza T crea una clave p´ublica de Diffie-Hellman impl´ıcitamente certificada para A, y transfiere a A la correspondiente clave p´ublica. Para hacer esto T hace lo siguiente: 1. T selecciona un primo p apropiado, fijo y p´ublico, y un generador α de Z∗ p. T selecciona un entero aleatorio t, con 1 ≤ t ≤ p − 2 y gcd(t, p − 1) = 1, como su clave privada y publica su clave p´ublica u = αt m´od p, junto con α,p. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  22. 22. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Claves p´ublicas basadas en identidad de G¨unther Claves p´ublicas auto-certificadas de Girault Claves de G¨unther 2. T asigna a cada entidad A un nombre distinguido o cadena identificadora IA y un entero aleatorio kA con gcd(kA, p − 1) = 1. T entonces calcula PA = αk m´od p. 3. Utilizando una funci´on de hash apropiada h, T resuelve la siguiente ecuaci´on para a (reiniciando con una nueva kA si a = 0): h(IA) = t · PA + kA · a (m´od p − 1). 4. T transmite de manera segura a A el par (r, s) = (PA, a), la cual es la firma ElGamal de T sobre IA. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  23. 23. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Claves p´ublicas basadas en identidad de G¨unther Claves p´ublicas auto-certificadas de Girault Claves de G¨unther 5. Cualquier otra entidad puede entonces reconstruir la clave p´ublica de A, Pα A (= αkAa) completamente a partir de informaci´on publicamente disponible (α, IA, u, PA, p) calculando: Pα A = αh(IA) · u−Pa m´od p. (Obs´ervese que αh(IA) = uPA · Pa A). Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  24. 24. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Claves p´ublicas basadas en identidad de G¨unther Claves p´ublicas auto-certificadas de Girault Claves de Girault Un tercero de confianza T crea una clave p´ublica de Diffie-Hellman impl´ıcitamente certificada, p´ublicamente recuperable, para una entidad 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 m´aximo en Z∗ n y enteros adecuados e y d como par de claves (p´ublica y privada) RSA para n. 2. T asigna un nombre distinguido o cadena identificadora IA a cada entidad A. Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos
  25. 25. Protocolo Needham-Schroeder de clave p´ublica Protocolos basados en clave p´ublica con firma digital Claves p´ublicas impl´ıcitamente certificadas Claves p´ublicas basadas en identidad de G¨unther Claves p´ublicas auto-certificadas de Girault Claves de Girault 3. La entidad A elige una clave privada a, y proporciona la clave p´ublica αa m´od n a T. 4. T calcula los datos p´ublicos de reconstrucci´on de la clave de A como PA = (αa − IA)d m´od n. (Entonces (Pe A + IA) m´od n = αa m´od n.) Juan Manuel Garc´ıa Garc´ıa Protocolos Criptogr´aficos

×