1 / 38

Criptografía : Fundamentos , aplicaciones e implementación

Criptografía : Fundamentos , aplicaciones e implementación. Patrick Longa University of Waterloo. Agenda. Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación de RSA Firmas digitales Logaritmos discretos Curvas elípticas (ECC)

mauli
Télécharger la présentation

Criptografía : Fundamentos , aplicaciones e implementación

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Criptografía:Fundamentos, aplicacionese implementación Patrick Longa University of Waterloo

  2. Agenda • Criptosistemas Asimétricos: • Definiciones, nociones de seguridad y principios básicos • RSA, implementación de RSA • Firmas digitales • Logaritmos discretos • Curvas elípticas (ECC) • Básicos, Características • Intercambio de llaves DH • Aritmética en ECC • Ataques Side-Channel: • Ataques Side-Channel simples (SSCA) • Aplicaciones, implementación e historia • Casos de estudio: RFIDs y la industria automotriz

  3. Ayer vimos... • Criptografía no solo es encriptación También ofrece: • Confidencialidad • Autenticación • No repudiación • Integridad • Clasificación • Criptosistemas Simétricos • Criptosistemas Asimétricos

  4. Eve Bob Alice encriptador desencriptador k canal seguro Problemas con Sistemas Simétricos • ¿Cómo se logra el “Canal Seguro”? • Complejo/impráctico manejo/distribución de llaves.  comunicaciones seguras entre n personas requieren n(n-1)/2 llaves • ¿ Autenticación y no repudiación?  no se puede lograr. c

  5. m m c encrypter decrypter Llave publica de Alice CRIPTOSISTEMAS ASIMETRICOS Eve • Propiedades de autenticación y no repudiación: Firmas Digitales • Manejo/distribución de llaves más fácilmente manejable. • Sin embargo, mucho más lento que sistemas simétricos:  criptosistemashíbridos Alice Bob Llave privada de Alice

  6. Criptosistemas Asimétricos Criptosistemas Asimétricos • Definición Criptosistemas definidos por tres funciones: • Generación de llaves: • Función de encriptación: • Función de desencriptación: m : mensaje  M : conjunto de todos los mensajes c : texto encriptado  C : conjunto de todos los textos encriptados. P : llave pública  LL : conjunto de todos los pares de llaves. S : llave secreta l : parámetro de seguridad de la llave

  7. Criptosistemas Asimétricos La Historia detrás En 1976: • Diffie, Hellman y Merkle presentaron una solución al problema de distribución de llaves para criptosistemas simétricos • Definieron por primera vez la idea de un Criptosistema Asimétrico (o de llave pública) Sin embargo, ellos mismos no fueron capaces en ese momento de proponer un sistema práctico que encajara en su definición En 1977: • Rivest, Shamir y Adleman descubrieron el primer sistema práctico de llave pública: RSA

  8. Criptosistemas Asimétricos Nociones de seguridad • Para romper un sistema de seguridad… • (Muy arcaicamente) se cuentan los “pasos” requeridos por el algoritmo más “eficiente” para romper el criptosistema • El nivel de seguridad se expresa en bits(# pasos) Por ejemplo: el ataque Pollard rho requiere pasos para romper ECC. Si ECC es implementado con tamaño(p) = bits  y el nivel de seguridad es de 80 bits

  9. Criptosistemas Asimétricos Nociones de seguridad • Mas genéricamente: La complejidad de cualquier función puede ser expresada por: Para categorizarla como: • Exponencial en • Subexponencial • Polinomial en

  10. Criptosistemas Asimétricos Nociones de seguridad Por ejemplo: el ataque NumberFieldSieve (NFS) requiere pasos para romper RSA. claramente subexponential. Si RSA se quiere con 80 bits de seguridad, ¿cuantos bits en el parámetro de seguridad l de la llave se requieren?  bits es requerido para alcanzar 80 bitsde seguridad

  11. Criptosistemas Asimétricos RSA • Basado en la dificultad para factorizar números de gran tamaño. Dado un parámetro de seguridad l: • Generación de llaves: Escoger dos números primos p y q,y calcula n = p.q Escoger un número aleatorio e que sea coprimo a  la llave pública es (n, e)  la llaveprivadaes Notarque :

  12. Criptosistemas Asimétricos RSA • Función de encriptación: Dado un mensaje m: • Función de desencriptación: Dado el texto encriptado c: Chequeando el proceso encriptacion/desencriptacion:

  13. Criptosistemas Asimétricos Implementación de RSA • Operación central: exponenciación Método directo (e veces)  sólo multiplicaciones modulares  muy caro! Método binario  , donde y  squarings y multiplicaciones modulares

  14. Criptosistemas Asimétricos Implementación de RSA Método binario:

  15. La historia alternativa de PKC El concepto de criptosistemas de llave pública fue en realidad descubierto por James Ellis (Government Communications Headquarters – GCHQ) al final de los 60’s (alrededor de 7 años antes!). Clifford Cocks retomó la labor de llevar a la realidad la innovativa definición, y así descubrió RSA en 1973 (3-4 años antes queRivest, Shamir y Adleman). Finalmente, Malcolm Williamson, tratando de encontrar algunafalla en el análisis de Cocks, descubre el Intercambio de llaves DH en 1975 (un año antes queDiffie y Hellman). Sin embargo, GCHQ nunca supo sacar provecho de sus descubrimientos !

  16. Caso de estudio:Criptografía y la Industria Automotriz

  17. Criptosistemas Asimétricos Firmas Digitales • Definición Un firma digital esta definida por tres funciones: • Generación de llaves: • Función para firmar: • Función de verificación: Se debecumplir: m : mensaje σ: firma del mensaje. PK : llave pública  LL : conjunto de todos los pares de llaves. SK : llave secreta l : parámetro de seguridad de la llave

  18. Criptosistemas Asimétricos Firma Digital RSA Dado un parámetro de seguridad l: • Generación de llaves: Escoger dos números primos p y q,y calcular n = p.q Escoger un número aleatorio e que sea coprimo a  la llave pública es (n, e)  la llaveprivadaes Recordarque :

  19. Criptosistemas Asimétricos Firma Digital RSA • Función para firmar: Dado el hash del mensaje m: H(m) La firma es el par (σ, H(m)) • Función de verificación: Dada una firma (σ, H(m)), aceptarla si y solo si: Chequeando el proceso firma/verificacion:

  20. Criptosistemas Asimétricos Logaritmos discretos • Basado en la dificultad para calcular logaritmos en determinados grupos cíclicos. Dado el grupo cíclico G de orden n, encontrar x dados g y . O lo que es lo mismo, calcular: Ejemplos: • DLOGs son fáciles de calcular ; ya que (h veces) = 1. h = h • se especula que es difícil de calcular • , donde E es una curva elíptica sobre el grupo finito . Se considera que el calculo de DLOG es considerablemente más difícil en este grupo

  21. Criptosistemas Asimétricos Curvas Elípticas (ECC) El criptosistema de curvas elípticas (ECC) es un sistema de llave publica que fue independientemente propuesto por Miller y Koblitz (1985): • Basado en la dificultad para calcular logaritmos discretos sobre una curva elíptica: Dada la curva elíptica E definida sobre el campo finito K, y P y Q que son puntos de E(K) tal que: Q = dP El problema de determinar d dados los puntos P y Q es considerado altamente difícil. • La multiplicación escalar es la operación dominante en ECC. • En general, d es usada como la llave secreta y Q como la llave pública

  22. Criptosistemas Asimétricos Características (ECC) No se conoce ataque subexponential contra ECC  más atractivo que RSA porque requiere llaves significantemente más cortas para brindar el mismo nivel de seguridad  más rápida ejecución  menores requerimientos de memoria Ideal para dispositivos portátiles como PDAs, smartcards, celulares, etc. Algunos ejemplos de protocolos usando ECC: • ECDSA  EC Digital Signature Algorithm • ECDH  Intercambio de llaves EC Diffie-Hellman

  23. Criptosistemas Asimétricos Un ejemplo: Intercambio de llaves EC Diffie-Hellman Público: un grupo E(K) y un punto P de orden n  Bob y Alice poseen el mismo valor bQAlice = aQBob = abP  Esta llave compartida puede ahora ser utilizada para establecer una rápida y segura comunicación usando un criptosistema simétrico: hybrid cryptosystem Escoger secreto 0 < b < n Escoger secreto 0 < a < n Calcular QBob= bP Calcular QAlice= aP Enviar QBoba Alice a Bob Enviar QAlice Calcular bQAlice Calcular aQBob

  24. Criptosistemas Asimétricos ECC: básicos Una curve elíptica E sobre un campo finito K es definido por la ecuación: (1) Donde el conjunto de puntos (x,y) que resuelven (1) y un punto al infinito (que es la identidad) forman un grupo finito especializado En general, hay dos grupos finitos para construir ECC: • Binary fields : campos finitos de orden

  25. Criptosistemas Asimétricos ECC: básicos • Prime fields :consiste de los enteros modulo p (primo): {0,1,…,p-1}, con adición y multiplicación sobre modulo p Donde:

  26. Algoritmos para multiplicación escalar: dP = P + P + … + P (d times) ARITMETICA ESCALAR Doubling y adición de puntos ECC: 2P , P+Q ARITMETICA DE PUNTO Adición, multiplicación, squaring, inversión de campo ARITMETICA DE CAMPO Criptosistemas Asimétricos ECC: básicos La estructura aritmética de ECC consiste de 3 niveles:

  27. Criptosistemas Asimétricos ECC: básicos 1stnivel: Aritmética escalar Objetivo:ejecutar la multiplicación escalar dP eficientemente • Método directo  dP = P + P + … + P (dveces)  solo adiciones de puntos • Método binario  adiciones y doublings de puntos Ejemplo: 45 = (101101)2 [45]P = 2(2(2(2(2P) + P) + P)) + P

  28. ECC: básicos Adición de puntos: P+Q Doubling de puntos: 2P Criptosistemas Asimétricos 2nd nivel: Aritmética de punto Objetivo:calcular adiciones y doublings de puntos eficientemente  tradicional representación con dos coordenadas (x,y) : Affine

  29. Criptosistemas Asimétricos ECC: básicos 3rd nivel: Aritmética de campo Objetivo:calcular inversiones, multiplicaciones, squarings, adiciones, substracciones and reducciones de campo eficientemente  Para campos primos : operaciones son módulo el número primo p Un ejemplo: operaciones de campo modulo 11 6 + 8 = 14  3 mod 11 6 – 8 = -2  9 mod 11 6 x 8 = 48  4 mod 11 6^2 = 36  3 mod 11 6^(-1)  2 mod 11 (6 x 2 = 12  1 mod 11 )

  30. El Ataque de Cumpleaños ¿Cuántas personas deben agruparse (aleatoriamente) para que la posibilidad de tener al menos dos con el mismo cumpleaños sea alto? Sólo 23 parateneruna probabilidad de éxito superior al 50% !! “Colisiones” o “valoresrepetidos” aparecenmás pronto de lo esperado; porejemplo: Supongamos un bancoautenticasustransaccionesbancarias con 64 bits (algo de 18 trillones) Con el Principio del Cumpleaños un atacante en realidad solo necesita ver (algo de 4000 millones) de transacciones

  31. Caso de estudio:RFIDs, firmas digitales y la industria farmacéutica

  32. Side-Channel Attacks (SCA) • Establecidos criptosistemas (AES, ECC, RSA, etc.) están basados • en problemas matemáticos de gran dificultad •  más altos niveles de seguridad son (hasta el día de hoy) • imposibles de romper “matemáticamente” • Pero dispositivos de la vida real despiden información adicional que puede correlacionarse con las computaciones internas: • Tiempo de ejecución • Fallas forzadas • Consumo de potencia • Emisión electromagnética, etc., etc.

  33. Data de entrada Data encriptada ATAQUES Side-CHANNEL Modelo de Ataque Consumo de potencia, emision EM, tiempo de ejecucion, etc. ATACANTE DATA SECRETA INFORMACION SIDE-CHANNEL

  34. Clasificación DSCA (Differential Side-Channel Attacks) SCA SSCA (Simple Side-Channel Attacks) … … D D D D,A D,A ATAQUES Side-CHANNEL SSCA:explota información de solo una medición para revelar la llave secreta En la multiplicación escalar de ECC, secuencia de D and A depende directamente de los bits de la llave:  si es posible distinguir D de A, se puede descubrir el valor de la llave secreta 0 0 1 1 0

  35. Medidas contra SSCA ATAQUES Side-CHANNEL • Regular secuencia de operaciones (ejemplo: Double-and-Add-Always)  altamente caro • Operaciones indistinguibles vía instrucciones “falsas”: Hacer los consumos de potencia D and A indistinguibles con la inserción de instrucciones “falsas”  costoso

  36. M A N A M A N A M A N A M A N A M A N A M A N A M A N A M A N A M A N A M A N A M A N A M A N A ADICION DOUBLING DOUBLING … … ATAQUES Side-CHANNEL Medidas contra SSCA • Side-Channel Atomicity: Construir D y A con bloques (“atómicos”) homogéneos  conteniendo la misma secuencia de operaciones de campo  un atacante no va a poder distinguir entre adiciones and doublings.  de bajo costo

  37. Algunas referencias • Información acerca Side-channel attacks: • http://www.crypto.ruhr-uni-bochum.de/en_sclounge.html • Informaciónacerca de ECC: • http://www.certicom.com/index.php?action=ecc,home • Información acerca de RSA y aplicaciones de criptografía: • http://www.rsa.com/rsalabs/node.asp?id=2260 • Grupo de investigación criptográfica de la U. de Waterloo: • http://www.cacr.math.uwaterloo.ca/

  38. Criptografía:Fundamentos, aplicacionese implementación Preguntas y Respuestas Presentación disponible en: http://www.patricklonga.bravehost.com Patrick Longa University of Waterloo

More Related