Criptografía: Fundamentos, aplicaciones e implementación

Slides:



Advertisements
Presentaciones similares
Certificados X.509 Federico García
Advertisements

Universidad De Valencia
Diseño y análisis de algoritmos
SEGURIDAD EN INTERNET EQUIPO No. 1 TELECOMUNICACIONES II Seguridad de Redes Seguridad de Redes Protección al proceso mediante el cual la información es.
Curso de Seguridad Informática
Curso de Seguridad Informática
Claves asimétricas En 1976 los matemáticos Whit Diffie y Martin Hellman crearon los sistemas criptográficos de clave asimétrica o pública.
Héctor Bretón González Maestría en Ciencias en Ingeniería de Cómputo
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
- Firma digital y cifrado de mensajes.
CIFRADO DE FLUJO.
Estructura de Datos Hugo Araya Carrasco Hugo Araya Carrasco.
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Diseño y análisis de algoritmos
Que es el protocolo “SSL”
Trabajo de redes Inma Gómez Durán
ALGORITMO DE LLAVE PUBLICA/ASIMETRICA
Redes I Unidad 7.
ESTRATEGIAS PARA SOLUCIONAR PROBLEMAS MATEMÁTICOS
Técnico en programación de Software
Por: Jorge Aguirre Firma digital.
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 1: Consideraciones acerca de la eficiencia.
FIRMAS DIGITALES UTILIZANDO
La ley de los grandes números
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Seguridad en las redes de computadores
El Criptosistema RSA CRIPTOGRAFIA de CLAVE PRIVADA CRIPTOGRAFIA de CLAVE PUBLICA Block Ciphers Stream Ciphers Hash functions Digital Signature Key Agreement.
Computadoras analógicas Miden magnitudes físicas que se distribuyen en escala continua como pueden ser la temperatura y la presión. Este tipo de computadoras.
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 02/03/04 Archivo con 13 diapositivas Jorge Ramió Aguirre.
PGP (Pretty Good Privacy)
MÉTODO DE ENCRIPTACIÓN BASADO EN EL ALGORITMO R.S.A
CRIPTOGRAFIA ASIMÉTRICA
Introducción al análisis de algoritmos

Procesamiento digital Parte 3 - Filtros
Capítulo 7 Seguridad en las redes de computadores Nota sobre el uso de estas diapositivas ppt: Proporcionamos estas diapositivas de forma gratuita para.
Criptografía de clave privada: Cifrado de Vernam o “one-time pad”
(Organización y Manejo de Archivos)

Criptografía Simétrica LUIS ALFONSO JIMÉNEZ PIEDRAHITA.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
SEGURIDAD DE REDES CARRERA DE INGENIERÍA DE SISTEMAS Ing. Moisés Toapanta, MSc. Guayaquil, junio del 2014.
CONCEPTOS BÁSICOS FUNDACIÓN UNIVERSITARIA LOS LIBERTADORES Fredys Alberto Simanca Herrera Programación Estructurada Semana Bogotá, D.C
Implementación del Algoritmo de ElGamal
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE

¿Qué es esto? / /
¿Qué matemáticas están presentes en la aplicación de la computación en el ámbito científico? César Fernández R. Hipótesis cognitiva: La matemática que.
Que es la criptografia Es el arte o ciencia de cifrar y descifrar información mediante técnicas especiales. Empleada frecuentemente para permitir un intercambio.
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 03/03/03 Archivo con 14 diapositivas Jorge Ramió Aguirre.
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 03/03/03 Archivo con 28 diapositivas Jorge Ramió Aguirre.
Seguridad del protocolo HTTP:
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 03/03/03 Archivo con 28 diapositivas Jorge Ramió Aguirre.
Certificación Digital
Integrantes : Eduardo Gutiérrez Droguett Yoshio Jujihara Astorga Eduardo Becerra Olivares Nicolás Ibarra Betanzo Johan Contreras Ramírez Profesor: Luis.
Protocolo ssl. Introducción El protocolo SSL (Secure Sockets Layer) fue diseñado con el objeto de proveer privacidad y confiabilidad a la comunicación.
Por: Juan Giovanny Lima González.
Técnicas de cifrado. Clave pública y clave privada:
Alicia De Gyves López Licenciatura Tecnologías de la Información y Comunicación 3º. Cuatrimestre Estadística Descriptiva Distribuciones de Probabilidad.
Firma Electrónica Eduardo Chiara Galván
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
TALLER DE DESARROLLO WEB
6. Sistemas de ecuaciones diferenciales lineales
El protocolo SSL (Secure Sockets Layer) fue diseñado con el objeto de proveer privacidad y confiabilidad a la comunicación entre dos aplicaciones. Este.
Guardando el secreto Protección de datos.
Simulacion. Simulación Es la construcción de modelos informáticos que describen la parte esencial del comportamiento de un sistema de interés, así como.
Electiva de Redes II – 2012-I Departamento de Ingeniería de Sistemas 1 Seguridad en Redes, Enfoque hacia Criptografía Miguel Jimeno, Ph.D. Departamento.
Para generar una transmisión segura de datos, debemos contar con un canal que sea seguro, esto es debemos emplear técnicas de forma que los datos que.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Ciclos condicionales y exactos Estructura de control de ciclos
Transcripción de la presentación:

Criptografía: Fundamentos, aplicaciones e implementación Patrick Longa University of Waterloo

Agenda Criptosistemas Asimétricos: Ataques Side-Channel: 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

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

Problemas con Sistemas Simétricos encriptador desencriptador canal seguro Bob k Eve Alice c ¿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.

CRIPTOSISTEMAS ASIMETRICOS Eve encrypter decrypter m Llave publica de Alice c Alice Bob Llave privada de Alice 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:  criptosistemas híbridos

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

La Historia detrás En 1976: En 1977: 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

Nociones de seguridad Para romper un sistema de seguridad… 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

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

Nociones de seguridad Criptosistemas Asimétricos Por ejemplo: el ataque Number Field Sieve (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 bits de seguridad

RSA Basado en la dificultad para factorizar números de gran tamaño. Criptosistemas Asimétricos 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 llave privada es Notar que :

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

Implementación de RSA Operación central: exponenciación Criptosistemas Asimétricos 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

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

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 que Rivest, Shamir y Adleman). Finalmente, Malcolm Williamson, tratando de encontrar alguna falla en el análisis de Cocks, descubre el Intercambio de llaves DH en 1975 (un año antes que Diffie y Hellman). Sin embargo, GCHQ nunca supo sacar provecho de sus descubrimientos !

Caso de estudio: Criptografía y la Industria Automotriz

Firmas Digitales Definición Criptosistemas Asimétricos Definición Un firma digital esta definida por tres funciones: Generación de llaves: Función para firmar: Función de verificación: Se debe cumplir: 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

Firma Digital RSA Dado un parámetro de seguridad l: Criptosistemas Asimétricos 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 llave privada es Recordar que :

Firma Digital RSA Función para firmar: Criptosistemas Asimétricos 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:

Logaritmos discretos Criptosistemas Asimétricos 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

Curvas Elípticas (ECC) Criptosistemas Asimétricos 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

Características (ECC) Criptosistemas Asimétricos 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 Tamaño de llave (bits) ECC 160 224 256 384 512 RSA 1024 2048 3072 8192 15360

Un ejemplo: Intercambio de llaves EC Diffie-Hellman Criptosistemas Asimétricos 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 QBob a Alice a Bob Enviar QAlice Calcular bQAlice Calcular aQBob

ECC: básicos Criptosistemas Asimétricos 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

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

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

ECC: básicos 1st nivel: Aritmética escalar Criptosistemas Asimétricos 1st nivel: Aritmética escalar Objetivo: ejecutar la multiplicación escalar dP eficientemente Método directo  dP = P + P + … + P (d veces)  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

ECC: básicos 2nd nivel: Aritmética de punto 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 Adición de puntos: P+Q Doubling de puntos: 2P

ECC: básicos 6 + 8 = 14  3 mod 11 6 – 8 = -2  9 mod 11 Criptosistemas Asimétricos 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 )

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 para tener una probabilidad de éxito superior al 50% !! “Colisiones” o “valores repetidos” aparecen más pronto de lo esperado; por ejemplo: Supongamos un banco autentica sus transacciones bancarias 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

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

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.

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

Clasificación DSCA (Differential Side-Channel Attacks) SCA ATAQUES Side-CHANNEL DSCA (Differential Side-Channel Attacks) SCA SSCA (Simple Side-Channel Attacks) 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 D D,A …

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

Medidas contra SSCA Side-Channel Atomicity: ATAQUES Side-CHANNEL 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 M A N … ADICION DOUBLING DOUBLING

Algunas referencias Información acerca Side-channel attacks: http://www.crypto.ruhr-uni-bochum.de/en_sclounge.html Información acerca 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/

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