81
Programación 3 Encriptación Angel Vázquez-Patiño [email protected] Departamento de Ciencias de la Computación Universidad de Cuenca 5 de enero de 2017

Programación 3: encriptación

Embed Size (px)

Citation preview

Page 1: Programación 3: encriptación

Programación 3

Encriptación

Angel Vázquez-Patiñ[email protected]

Departamento de Ciencias de la ComputaciónUniversidad de Cuenca

5 de enero de 2017

Page 2: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 2/81

Objetivos

1. Entender los principales problemas de seguridad en redes y sistemas de información

2. Entender la diferencia entre cifrado y codificación

3. Entender las dos categorías históricas de encriptación

4. Conocer los dos principios criptográficos fundamentales

Page 3: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 3/81

Objetivos

5. Entender la diferencia entre algoritmos de clave simétrica y de clave pública

6. Entender los conceptos de firma digital

7. Usar encriptación con un gestor de correos electrónicos

Page 4: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 4/81

Contenido

Introducción

Problemas de seguridad

Criptografía

Cifrado vs codificación

Cifrado por sustitución y transposición

Principios criptográficos fundamentales

Algoritmos de clave simétrica y de clave pública

Firmas digitales

Page 5: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 5/81

Introducción

Page 6: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 6/81

Introducción● Comienzo de telecomunicaciones: email,

compartir impresoras● No había interés en la seguridad

Seguridad● No poder leer o modificar mensajes● Acceso a servicios remotos no autorizados● Verificación de proveniencia● Captura y reproducción de mensajes legítimos,

personas que intentar negar que enviaron

Page 7: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 7/81

Introducción

Page 8: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 8/81

IntroducciónProblemas de seguridad● Confidencialidad

– Usuarios no autorizados fuera del alcance de la información

● Autenticación– Con quién se está hablando antes de revelar informa ción delicada o

hacer un trato de negocios

● No repudio– firmas: ¿cómo comprobar que su cliente en realidad hizo un pedido

electrónico, cuando después él afirma que no? O tal vez argumente que él nunca realizó ningún pedido

● Control de integridad– forma en que podemos estar seguros de que un mensaje recibido

realmente fue el que se envió, y no algo que un adversario mali cioso modificó en el camino o ideó por su propia cuenta

Page 9: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 9/81

Introducción● La aparición de las Tecnologías de la

Información y la Comunicación y el uso masivo de las comunicaciones digitales han producido un número creciente de problemas de seguridad

Page 10: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 10/81

Introducción

Confidencialidad

Page 11: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 11/81

Introducción

Integridad

Page 12: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 12/81

Introducción

Autenticación

Page 13: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 13/81

Introducción● En un Sistema de Comunicación de Datos, es

de vital importancia, asegurar que la Información viaje segura, manteniendo su autenticidad, integridad, confidencialidad y el no repudio de la misma entre otros aspectos

● Estas características sólo se pueden asegurar utilizando las Técnicas de Firma Digital Encriptada y la Encriptación de Datos

Page 14: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 14/81

Revisar

Historia de la Criptografía y su Desarrollo en Europa● https://youtu.be/a99Qorfotv4

Redes sociales y menores● https://youtu.be/nlfUhKijHCg

Datos personales. Guía de seguridad para usuarios● https://youtu.be/qNKozIsD31M

Seguridad en redes Wi-fi● https://youtu.be/rhJAJ1TdNyg

Page 15: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 15/81

Criptografía

Page 16: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 16/81

Criptografía

Definición● Griego, escritura secreta● Kahn, 1996. The codebreakers● Parte de la criptología que se ocupa de las

técnicas, bien sean aplicadas al arte o la ciencia, que alteran las representaciones lingüísticas de mensajes, mediante técnicas de cifrado y/o codificado, para hacerlos ininteligibles a intrusos (lectores no autorizados) que intercepten esos mensajes

Page 17: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 17/81

Criptografía

Sistema de cifrado vs sistema de código (1)● Cifrado

– transformación carácter por carácter o bit por bit, sin importar la estructura lingüística del mensaje

● Código– reemplaza una palabra con otra palabra/símbolo.

Ya no se utilizan, aunque tienen una historia gloriosa

Page 18: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 18/81

Criptografía

Sistema de cifrado vs sistema de código (2)● Cifrado

– transformar un mensaje de "texto claro“ (esté en el código que esté) a algo ininteligible mediante el uso de una clave que sólo el emisor y el receptor del mensaje conozcan

● Código– convertir un mensaje cualquiera (e.g., letras, números,

bytes arbitrarios) de un código A (Morse, Base64, UTF-8, ASCII, ...) a otro B (traducir). Decodificar es el proceso inverso: dado un mensaje en el código B, transformarlo según el código A

Page 19: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 19/81

Criptografía

Codificación: un ejemplo de la historia● “El código con mayor éxito fue el de las fuerzas

armadas de Estados Unidos, durante la Segunda Guerra Mundial en el Pacífico. Tenían indios navajos hablando entre sí, utilizando palabras específicas en navajo correspondientes a términos militares; por ejemplo, chay-da-gahi-nail-tsaidi (literalmente: asesino de tortugas) quiere decir arma antitanque. El lenguaje navajo es altamente tonal, muy complejo y no tiene forma escrita. Ninguna persona en Japón sabía algo acerca de él.”

Kahn (1996)

Page 20: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 20/81

Criptografía

Contribuciones al arte de la criptografía● Los militares● El cuerpo diplomático● Los redactores de los periódicos● Los amantes

Tanenbaum y Wetherall (2012)

Page 21: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 21/81

Criptografía

El arte de quebrantar los sistemas de cifrado, es conocidocomo criptoanálisis, y en conjunto con el arte de idearlos (criptografía) se conocen como criptología

Page 22: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 22/81

Criptografía

Principio de Kerckhoff● Suponer que el algoritmo de encriptación y

desencriptación está seguro. Seguridad por desconocimiento

● La clave (K) se puede cambiar con mayor frecuencia

Todos los algoritmos deben ser públicos; Todos los algoritmos deben ser públicos; sólo las claves deben ser secretassólo las claves deben ser secretas

Page 23: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 23/81

Criptografía

Clave de encriptación● Su longitud es importante (es conocida)

● Cuanto más grande sea la clave, mayor será el factor de trabajo que tendrá que enfrentar el criptoanalista

Page 24: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 24/81

Criptografía

Factor de trabajo● Búsqueda exhaustiva del espacio

de clave crece exponencialmente● El secreto radica en tener un algoritmo poderoso

(pero público) y una clave larga● Para evitar que su hermano menor lea su correo

electrónico, las claves de 64 bits son suficientes. Para el uso comercial común, se requieren por lo menos 128 bits. Para mantener a raya a gobiernos poderosos se requieren claves de al menos 256 bits, y de preferencia mayores

Page 25: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 25/81

Criptografía

Categorías históricas de encriptación

1) Sistemas de cifrado por sustitución

2) Sistemas de cifrado por transposición

Page 26: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 26/81

Sistemas de cifrado por sustitución● Reemplazo por letra o grupo de letras

Sistema de cifrado de César● a se vuelve D, b se vuelve E, c se vuelve F, ... ,

y z se vuelve C● ataque se vuelve DWDTXH

Generalización del sistema de cifrado de César● Desplazamiento de k letras● K se vuelve clave de encriptación

Page 27: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 27/81

Sistemas de cifrado por sustitución

Cifrado por sustitución monoalfabética● Cada símbolo se asocia con una letra

● ataque se transformaría en el texto cifrado QZQJXT

Clave de encriptación

Page 28: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 28/81

Cifrado por sustitución

Cifrado por sustitución monoalfabética● Romper seguridad

– 4×1026 claves posibles, 10.000 años

– Frecuencia de letras

– Capturar mensaje donde se sabe de alguna palabra y analizar la repetición de letras

Page 29: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 29/81

Cifrado por transposición● Reordenan las letras pero no las disfrazan

Transposición columnar

Page 30: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 30/81

Tarea● Saber si un texto cifrado fue cifrado por

sustitución o transposición● Cifre un texto plano de mínimo 10.000 letras● No use caracteres especiales

Page 31: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 31/81

Rellenos de una sola vez● Es sencillo construir un sistema de cifrado

inquebrantable:

1) Escoger cadena de bits al azar como clave

2) Convertir el texto plano en una cadena de bits

3) Calcular el XOR de las dos cadenas, bit por bit● En una muestra suficientemente grande de texto cifrado

cada letra aparecerá con la misma frecuen cia, lo mismo que cada diagrama, trigrama, etc.

● La razón se deriva de la teoría de la información: no hay información en el mensaje debido a que todos los textos planos posibles de una longitud dada son parecidos

Page 32: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 32/81

Rellenos de una sola vez

I l o v e y o u .

E l v i s l i v e s

No hay información en el texto cifrado● Es posible obtener cualquier mensaje con la

longitud correcta a partir de él

Page 33: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 33/81

Rellenos de una sola vez

Desventajas en la práctica● La clave no se puede memorizar, por lo que

tanto el emisor como el receptor deben transportar una copia escrita con ellos. Captura de información

● La cantidad total de datos que se pueden transmitir está limitada por la cantidad de claves disponibles. Si el espía tiene suerte y descubre una gran cantidad de datos, quizá no los pueda transmitir al cuartel general debido a que la clave se ha agotado

Page 34: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 34/81

Rellenos de una sola vezDesventajas en la práctica● Sensibilidad del método a los caracteres perdidos o

insertados. Si el emisor y el receptor pierden la sincronización, de ahí en adelante todos los datos aparecerán distorsionados

● Transporte de la clave. DVD con varios gigabytes de información y, si se transporta en una caja de película para DVD y se le anteponen algunos minutos de vídeo, ni siquiera sería sospechoso. Por supuesto que, a velocidades de red de gigabit, tener que insertar un nuevo DVD cada 30 segundos podría volverse tedioso. Y los DVD deben transportarse personalmente desde el emisor hasta el receptor antes de poder enviar cualquier mensaje, lo que reduce en gran medida su utilidad práctica

Page 35: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 35/81

Criptografía cuántica

Seminario de introducción a la Computación y Criptografía Cuántica, UPM (2010)

https://youtu.be/3zsg3DGfWFg

Page 36: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 36/81

Revisar

¿Qué es la teoría de la información?● https://youtu.be/vVokVFHz8uA

Page 37: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 37/81

Principios criptográficos fundamentales

1) Los mensajes deben contener alguna redundancia

2) Es necesario algún método para frustrar los ataques de repetición

Page 38: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 38/81

Redundancia● Infor mación no necesaria para entender el

mensaje● 60.000 productos, se sabe la lista de clientes

Mensaje de pedido

Cantidad

Número producto

Nombre del cliente Datos

Page 39: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 39/81

Redundancia● Al desencriptar un mensaje, el destinatario debe tener la

capacidad de saber si es válido con sólo inspeccionarlo y tal vez mediante un cálculo simple

● Esta redundancia es necesaria para evitar que intrusos activos envíen basura y engañen al receptor para que desencripte la basura y realice algo con el “texto plano”

● Sin embargo, esta misma redundancia simplifica en gran medida la violación del sistema por parte de los intrusos pasivos, por lo que aquí hay un poco de preocupación

● Además, la redundancia nunca debe estar en la forma de n ceros al principio o al final de un mensaje, debido a que al ejecutar tales mensajes a través de algunos algoritmos criptográficos los resultados son más predecibles, lo que facilita el trabajo del criptoanalista. Un polinomio CRC, hash criptográfico.

Page 40: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 40/81

Actualización● Asegurar que cada mensaje reci bido se verifique con el fin de

saber si está actualizado● Evitar que intrusos activos reproduzcan mensajes antiguos● Continuar repitiendo los mensajes válidos enviados con

anterioridad● Una de tales medidas es incluir en cada mensaje una estampa de

tiempo válida durante, digamos, 10 segundos. El receptor puede entonces guardar los mensajes unos 10 segundos y comparar los mensajes recién llegados con los anteriores para filtrar los duplicados. Los mensajes con una antigüedad mayor a 10 segundos pueden descartarse, dado que todas las repeticiones enviadas más de 10 segundos después también se rechazarán por ser demasiado viejas. Más adelante estudiaremos algunas medidas diferentes a las estampas de tiempo

Page 41: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 41/81

Algoritmos de clave simétrica

Page 42: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 42/81

Algoritmos de clave simétrica

Page 43: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 43/81

Algoritmos de clave simétrica● La criptografía moderna usa las mismas ideas

básicas que la criptografía tradicional (la transposición y la sustitución), pero su énfasis es distinto. Por tradición, los criptógrafos han usado algoritmos simples

● Hoy día se hace lo opuesto: el objetivo es hacer el algoritmo de encriptación tan complicado y rebuscado que incluso si el criptoanalista obtiene cantidades enormes de texto cifrado a su gusto, no será capaz de entender nada sin la clave

Page 44: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 44/81

Algoritmos de clave simétrica

Definición● Misma clave para encriptar y para desencriptar● Nos enfocaremos en los sistemas de cifrado en

bloques, que toman un bloque de n bits de texto plano como entrada y lo transforman mediante el uso de la clave en un bloque de n bits de texto cifrado

Page 45: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 45/81

Algoritmos de clave simétrica

n bits

n bits

n bits

Page 46: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 46/81

Algoritmos de clave simétricaEjemplo simple● Mensaje: VII Jornadas

● Formato binario: 111111000000

● Clave secreta: Paradigma

● Formato binario: 101010101010

● Algoritmo matemático (conocido): XOR (Suma Binaria dígito a dígito)

El emisor encripta el Documento● 111111000000

● 101010101010

● 010101101010 Documento Encriptado

Page 47: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 47/81

Algoritmos de clave simétrica● Eventualmente si alguien escucha el mensaje 010101101010 no podrá interpretarlo ya que no conocen la Clave

● El Destinatario Recibe el Documento Encriptado y lo Desencripta utilizando la Clave

● 010101101010

● 101010101010

● 111111000000 Mensaje: VII Jornadas

Page 48: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 48/81

Algoritmos de clave simétrica

DES: Estándar de Encriptación de Datos● 1977, gobierno Estadounidense● Con potencia de cálculo actual, ya no es

seguro en su forma original, pero aún es útil en una forma modificada

● Está sujeta a ataques de fuerza bruta● El 19 de mayo de 2005, su uso ha sido

rechazado por el gobierno de los EE.UU.

Page 49: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 49/81

19 etapas

Page 50: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 50/81

Algoritmos de clave simétrica

1. Transposición inicial, independiente de la clave y texto plano

2-17. Parametrizadas mediante diferentes funciones de la clave

18. 32 bits más a la izquierda con los 32 bits más a la derecha

19. Inverso exacto de la transposición

Page 51: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 51/81

Algoritmos de clave simétrica● La salida de la derecha es el XOR a nivel de bits de la entrada izquierda y una función de la entrada derecha, además de ser la clave de esta etapa, Ki

Page 52: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 54/81

Algoritmos de clave simétrica● En cada una de las 16 iteraciones, se usa una clave diferente. Antes de iniciarse el algoritmo, se aplica una transposición de 56 bits a la clave

● Justo antes de cada iteración, la clave se divide en dos unidades de 28 bits, cada una de las cuales se rota hacia la izquierda una cantidad de bits dependiente del número de iteración

● Ki se deriva de esta clave rotada al aplicarle otra transposición de 56 bits. En cada ronda un subgrupo de 48 bits diferente se extrae y permuta de los 56 bits

Page 53: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 55/81

Algoritmos de clave simétrica

AES (Rijndael)

Ver el libro Redes de Computadores de Tanenbaum y Wetherall (2012)

Page 54: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 56/81

Algoritmos de clave simétrica● 3DES (TripleDES): Reemplazo para DES. Usa

tres claves de 64 bits (la longitud de clave máxima es de 192 bits, aunque la duración real es de 56 bits que proporcionan claves de 168 bits)

● Los datos se cifran con la primera clave descifrada con la clave cifrada segundo y, finalmente, de nuevo con la tercera llave

● Esto hace que 3DES sea más lento que el original DES, pero ofrece una mayor seguridad. En lugar de tres claves puedes ser utilizadas sólo dos

Page 55: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 57/81

Algoritmos de clave simétrica

Rijndael● también conocido como AES (Advanced Encryption

Standard). Sucesor de DES. En la actualidad, el algoritmo es adoptado por el gobierno de EEUU

● Compatible con claves de 128 bits, bits de 192 y 256 bits

RC2● Puede ser configurado para que sea más seguro o

menos seguro que el DES. Patrocinado por Lotus. Soporta claves de 8 a 128 bits. Utiliza 64 bits de forma predeterminada

Page 56: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 58/81

Algoritmos de clave simétrica

BLOWFISH● Seguro y rápido, desarrollado por Bruce

Schneier. Se utilizan claves de 448 bits

TwoFish● Algoritmo que acepta bloques de 128K de

tamaño de clave variable de hasta 256 bits. No está patentado. No se rige por los derechos de autor y ha sido ampliamente analizado

Page 57: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 59/81

Revisar

Sistemas de cifra con clave simétrica● https://youtu.be/46Pwz2V-t8Q

Page 58: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 60/81

Tarea

1) AES (Rijndael)

2) 3DES (TripleDES) y DESede

3) RC2

4) BLOWFISH

5) TwoFish

6) HmacMD5

7) HmacSHA1

Page 59: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 61/81

Algoritmos de clave pública

Page 60: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 62/81

Algoritmos de clave pública

Page 61: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 63/81

Algoritmos de clave pública● Debilidad de mayoría de criptosistemas: distribución de

claves● Claves de encriptación y desencriptación eran iguales o se

podían derivar una de la otra● En 1976, claves de encriptación y desencriptacioń eran

sumamente diferentes● El algoritmo de encriptación (con clave) E y el algoritmo de

desencriptación (con clave) D1) D(E(P)) = P

2) Es demasiado difícil deducir D a partir de E

3) E no se puede descifrar mediante un ataque de texto plano elegido (los intrusos pueden experimentar todo lo que quieran con el algoritmo)

Page 62: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 64/81

Algoritmos de clave pública

Alice

● EA Público

● DA Privado

● EB(PP11)

● DA(EA(PP22)) = PP22

Bob

● EB Público

● DB Privado

● DB(EB(PP11)) = PP11

● EA(PP22)

Page 63: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 65/81

Algoritmos de clave pública● La dificultad es encontrar algoritmos que satisfagan

las tres condiciones

RSA (Rivest, Shamir y Adleman, 1978, MIT)● Basado en principios de la teoría de los números:

factorización de números enteros● Los mensajes enviados se representan mediante

números, y el funcionamiento se basa en el producto, conocido, de dos números primos grandes elegidos al azar y mantenidos en secreto

● Es el primer y más utilizado algoritmo y es válido para cifrar y para firmar digitalmente

Page 64: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 66/81

Algoritmos de clave pública

RSA (Rivest, Shamir y Adleman, 1978, MIT)● Aunque es el más popular no es soportado por

algunas JDK por lo que debe instalarse una librería de un tercero, e.g., BouncyCastle

● Desventaja– 1024 bits, más lento que clave simétrica (128)

Page 65: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 67/81

Algoritmos de clave pública

Diffie-Hellman● Primer algoritmo asimétrico● Solamente se puede utilizar para intercambiar

claves simétricas● Una de las principales funciones de los

algoritmos asimétricos● Así, está muy extendido en sistemas de

internet con confidencialidad de clave simétrica

Page 66: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 71/81

Revisar

Sistemas de cifra con clave pública● https://youtu.be/On1clzor4x4

Page 67: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 72/81

Tarea

1) RSA

2) Diffie-Hellman

3) MD2, MD4 y MD5

Page 68: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 73/81

Firmas digitales

Page 69: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 74/81

Firmas digitales● Condiciones

1)Que el receptor pueda verificar la identidad del transmisor

2)Que el emisor no pueda repudiar más tarde el contenido del mensaje

3)Que el receptor no haya podido elaborar el mensaje él mismo

Page 70: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 75/81

Firmas digitales

Firmas de clave simétrica● Autoridad central de confianza que sepa todo

● La autoridad y Alice conocen KA

Page 71: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 76/81

Firmas digitales

Firmas de clave pública

Page 72: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 77/81

Firmas digitales● La firma digital es un bloque de bytes que

identifican inequívocamente al emisor y al contenido del mensaje

● Las firmas digitales se utilizan comúnmente para la distribución de software, transacciones financieras y en otras áreas donde es importante detectar la falsificación y la manipulación

Page 73: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 78/81

Firmas digitales● La firma digital consiste en un método

criptográfico que asocia la identidad de una persona o de un equipo informático, al mensaje o documento

● En función del tipo de firma, puede además asegurar la integridad del documento o mensaje

● Las firmas son especialmente útiles cuando la información debe atravesar redes sobre las que no se tiene control directo y, en consecuencia, no existe posibilidad de verificar de otra forma la procedencia de los mensajes

Page 74: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 79/81

Firmas digitales● Existen varios métodos para hacer uso de la

firma digital, uno de ellos es el siguiente:● «quien envía el mensaje lo codifica con su

clave privada. Para descifrarlo, sólo puede hacerse con la clave pública correspondiente a dicha persona o institución. Si efectivamente con dicha clave se descifra es señal de que quien dice que envió el mensaje, realmente lo hizo»

Page 75: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 80/81

Firma digital formada encriptando con la clave privada del emisor

● Firma Digital y Autentificación● E: Encriptar / D: Desencriptar.● KP: Encriptación utilizando la Clave Privada.● KV: Encriptación utilizando la Clave Pública.● M: Mensaje.

Page 76: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 81/81

Tarea

1) Encriptación en gestor de correos electrónicos● Por ejemplo, Mozilla Thunderbird

Page 77: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 82/81

Conceptos y términos importantes

Page 78: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 83/81

Conceptos y términos importantes● Principio de Kerckhoff● Intruso activo vs intruso pasivo● Clave pública vs clave simétrica● Firma digital● Teoría de la información

Page 79: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 84/81

Información adicional

Intypedia, Enciclopedia de la Seguridad de la Información● www.intypedia.com

Introducción a la teoría de la información● https://goo.gl/Q2zeYt

Fundamentos básicos de la Teoría de la Información● https://goo.gl/hFdQr9

Page 80: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 85/81

Referencias● Tanenbaum, A.S., Wetherall, D.J., 2012. Redes

de computadoras, 5th ed. Pearson Educación, México D.F., México.

● Kahn, D., 1996. The codebreakers, Rev. ed. ed. Scribner, New York.

Page 81: Programación 3: encriptación

05/01/17 Angel Vázquez-Patiño 86/81

Preguntas