http://computacion.cs.cinvestav.mx/~jjangel/
CriptografĂa
http://computacion.cs.cinvestav.mx/~jjangel/
1.- Motivaci贸n 2.- Seguridad de la informaci贸n 3.- Criptograf铆a
http://computacion.cs.cinvestav.mx/~jjangel/
1.- BBC News, 29 Octubre 2002 http://news.bbc.co.uk/2/hi/technology/2372209.stm En Octubre de 2002 se estimaron 16 559 ataques informáticos de grupos islámicos a entidades occidentales.
2.- BBC News, 18 Febrero 2003 http://news.bbc.co.uk/2/hi/business/2774477.stm Un hacker tubo acceso a más de 5 millones de tarjetas de crédito visa y mastercard en USA.
http://computacion.cs.cinvestav.mx/~jjangel/
3.- CNET News Marzo 1999 http://news.com.com/2100-1023-222630.html?legacy=cnet Clinton pidió 1.5 billones de dólares para prevenir ataques a sistemas computarizados de los Estados Unidos.
4.- Las más grandes compañías (DELL, RSAsecurity, MS,...) y algunos gobiernos (USA, Israel,...) has sido atacados por diferentes medios. Lo que muestra una gran vulnerabilidad de los sistemas de información, y la necesidad de mejorar su uso.
http://computacion.cs.cinvestav.mx/~jjangel/ Seguridad de la información
Es un conjunto de medidas para reducir los riesgos que tiene la información en cualquiera de sus formas.
Las medidas anteriores se aplican tanto en aspectos del comportamiento (administrativos, organizacionales, reglamentos, leyes), cómo a los dispositivos que manejan la información (redes, líneas de transmisión, conexiones, discos, pc’s), y a los lugares físicos donde se mantiene o procesa la información (edificios, laboratorios). Las medidas pueden ser preventivas, detectivas, correctivas.
http://computacion.cs.cinvestav.mx/~jjangel/
Ejemplo:
El caso de la informaci贸n en una compra por Internet medida 1.- usar SSL, es una medida preventiva, aplicada a la transmisi贸n de la informaci贸n entre el browser del cliente y el servidor de la tienda. medida 2.-usar ssh y un firewall en el servidor de la tienda, es una medida preventiva, aplicada en la red que administra al servidor de la tienda.
http://computacion.cs.cinvestav.mx/~jjangel/ Por el momento hay algunas preguntas que hacer: ¿Cómo se eligen esas medidas? ¿Hay un momento en que puedo decir que mis medidas son suficientes? Las preguntas son intencionales para dar las siguientes respuestas 1.- La medida se elige de acuerdo al problema de seguridad que haya que resolver. 2.- Hasta cierto punto si son suficientes las medidas, sí se toman de acuerdo a los estándares establecidos.
http://computacion.cs.cinvestav.mx/~jjangel/ El m茅todo entonces es:
1.2.3.4.5.6.-
Conocer el flujo que nuestra informaci贸n tiene Definir una pol铆tica de seguridad Reconocer que riesgos puede tener nuestra informaci贸n Encontrar la medida que reduzca ese riesgo Evaluar nuestro sistema de seguridad Replantear las medidas finalmente
http://computacion.cs.cinvestav.mx/~jjangel/ Servicios de seguridad Un servicio de seguridad es un objetivo que se debe de cumplir para lograr la política de seguridad que pretende reducir al mínimo el riesgo que tiene la información. a.- Confidencialidad: preservar restricciones en el acceso de información, que sólo personas autorizadas pueden accesar a la información. b.- Integridad: se refiere a que la información no debe ser modificada, alterada, o borrada. c.- Autenticación: se refiere a poder verificar la identidad de una entidad. d.- No-repudio: se refiere a no poder negar la autoría de una acción.
http://computacion.cs.cinvestav.mx/~jjangel/
En la práctica los servicios de seguridad estan relacionados con las acciones de la información, es decir, pueden ser más explicitos en cada caso. 1.- Autenticación de cada una de las partes en una comunicación. 2.- Autenticación del origen de los mensajes, se refiere a conocer el origen de un simple mensaje. 3.- Integridad de datos con recuperación: se refiere a detectar alguna modificación, alteración etc., en la información, y consecuentemente recuperar la información dañada. 4.- Integridad sin recuperación: se refiere a solo detectar alguna alteración en la información sin poder reparar el daño.
http://computacion.cs.cinvestav.mx/~jjangel/ Criptografía Terminología estándar en criptografía Criptografía: Ciencia que se dedica a resolver algunos problemas de seguridad, como la confidencialidad, la integridad, la autenticidad, el no repudio, etc. Criptografía simétrica: parte de la criptografía que usa algoritmos que dependen de una clave, y esta clave debe de estar en ambos lados de la comunicación. Criptografía asimétrica: parte de la criptografía que usa algoritmos que depende de dos claves diferentes, una en cada lado de la comunicación, la clave pública y la clave privada.
Criptografia Asimétrica
DigitalSignature
Simétrica
Key Establishment BlockCiphers
StreamCiphrs
MAC
Key Transport Hash Key Agreement DES-TDES PFI PLD-PDH PLDE-PDHE PVC PBDH
RSA
RC4
SHA-1
AES
SHA-256....
Camellia
Whirpool
DSA-DH DSAE-DHE NTRU IBE
Ejemplo:
Cajero automático Confidencialidad
ATM Control de acceso Autenticación de la persona Integridad con recuperación Si hay repudio de la transacción
Bank Autenticación de la persona Integridad con recuperación Si hay repudio de la transacción
Ejemplo:
Teléfono Confidencialidad
Alice
Autenticación de la persona Integridad con recuperación Si hay repudio de la transacción Autenticación del origen de los mensajes
Bob Autenticación de la persona Integridad con recuperación Si hay repudio de la transacción Autenticación del origen de los mensajes
Ejemplo: B2B Confidencialidad
Bank
Control de acceso Autenticación de la entidad Integridad con recuperación no repudio de la transacción Autenticación del origen de los mensajes
Gov.
Control de acceso Autenticación de la entidad Integridad con recuperación no repudio de la transacción Autenticación del origen de los mensajes
Ejemplo: C2B Confidencialidad
Costumer Control de acceso Integridad con recuperaciรณn Autenticaciรณn del origen de los mensajes
Web
Control de acceso Autenticaciรณn de la entidad Integridad con recuperaciรณn Autenticaciรณn del origen de los mensajes
Ejemplo: Comunicación espacial Confidencialidad
Earth Control de acceso Autenticación de la entidad Integridad sin recuperación Autenticación del origen de los mensajes
Antenna
Control de acceso Autenticación de la entidad Integridad sin recuperación Autenticación del origen de los mensajes
Ejemplo: VoIP Confidencialidad
Alice Integridad con recuperaci贸n Autenticaci贸n del origen de los mensajes
Bob
Integridad con recuperaci贸n Autenticaci贸n del origen de los mensajes
Ejemplo: VoIP Criptografía simétrica Confidencialidad Block Cipher
Alice Integridad con recuperación Autenticación del origen de los mensajes MAC
Bob
Integridad con recuperación Autenticación del origen de los mensajes MAC
Ejemplo: VoIP Criptografía simétrica Confidencialidad Block Cipher, DES,AES
Alice Integridad con recuperación Autenticación del origen de los mensajes HMAC, MD5, SHA-1
Bob
Integridad con recuperación Autenticación del origen de los mensajes HMAC, MD5, SHA-1
Ejemplo: VoIP Confidencialidad Block Cipher, DES,AES
Alice Integridad con recuperación Autenticación del origen de los mensajes HMAC, MD5, SHA-1 DH
Criptografía simétrica Criptografía asimétrica
Bob
Integridad con recuperación Autenticación del origen de los mensajes HMAC, MD5, SHA-1 DH
Ejemplo: VoIP Criptografía simétrica Criptografía asimétrica Confidencialidad Block Cipher, DES,AES,SRTP
Alice Integridad con recuperación Autenticación del origen de los mensajes HMAC, MD5, SHA-1 DH IKE, MIKEY
Bob
Integridad con recuperación Autenticación del origen de los mensajes HMAC, MD5, SHA-1 DH IKE, MIKEY
Algoritmo Simétrico Elementos que toman parte en un cifrado simétrico:
1.- Algoritmo de cifrado. 2.- Algoritmo de descifrado. 3.- Clave simétrica, o clave secreta, o clave privada, o clave de sesión. 4.- La longitud de la clave simétrica. 5.- Modo de operación del cifrado. 6.- Mensaje a cifrar, o mensaje original. 7.- Mensaje cifrado.
Criptografía simétrica: algoritmo simétrico (confidencialidad) Mensaje original
-----------------
Algoritmo de cifrado
Clave Simétrica
Mensaje Cifrado
Mensaje Descifrado
-----------------
Algoritmo de descifrado
Características más común de un cifrado simétrico 1.- Cifra por bloques de bits, del mismo tamaño que la clave. 2.- La clave simétrica se elige aleatoriamente. 3.- Se supone resuelto el problema del intercambio de la clave simétrica.
00101100100101 01000100100011 00010100001111
Inicia el cifrado
10100011010101 11010101010011 11101000001111 00101100100101
El algoritmo sim茅trico contiene el modo de operaci贸n integrado.
Cliente
Servidor
00101100100101 01000100100011
Cifra el 1er bloque
00010100001111 10100011010101 11010101010011 11101000001111
Cliente
Servidor
00101100100101 01000100100011
EnvĂa el 1er bloque
00010100001111 10100011010101 11010101010011 11101000001111
Cliente
Servidor
00101100100101 01000100100011
Descifra el 1er bloque
00010100001111 10100011010101 11010101010011 11101000001111
Cliente
00101100100101
Servidor
00101100100101
Cifra el 2o bloque
01000100100011 00010100001111 10100011010101 11010101010011
Cliente
00101100100101
Servidor
00101100100101
EnvĂa el 2o bloque
01000100100011 00010100001111 10100011010101 11010101010011
Cliente
00101100100101
Servidor
00101100100101
Descifra el 2o bloque
01000100100011 00010100001111 10100011010101 11010101010011
11101000001111 00101100100101
Cliente
Servidor
Cifra el 3er bloque
00101100100101 01000100100011 00010100001111 10100011010101
11101000001111 00101100100101
Cliente
Servidor
EnvĂa el 3er bloque
00101100100101 01000100100011 00010100001111 10100011010101
11101000001111 00101100100101
Cliente
Servidor
Descifra el 3er bloque
00101100100101 01000100100011 00010100001111 10100011010101
11010101010011 11101000001111 00101100100101
Cliente
Servidor
Cifra el 4o bloque
00101100100101 01000100100011 00010100001111
11010101010011 11101000001111 00101100100101
Cliente
Servidor
EnvĂa el 4o bloque
00101100100101 01000100100011 00010100001111
11010101010011 11101000001111 00101100100101
Cliente
Servidor
Descifra el 4o bloque
00101100100101 01000100100011 00010100001111
10100011010101 11010101010011 11101000001111 00101100100101
Cliente
Servidor
Cifra el 5o bloque
00101100100101 01000100100011
10100011010101 11010101010011 11101000001111 00101100100101
Cliente
Servidor
EnvĂa el 5o bloque
00101100100101 01000100100011
10100011010101 11010101010011 11101000001111 00101100100101
Cliente
Servidor
Descifra el 5o bloque
00101100100101 01000100100011
00010100001111 10100011010101 11010101010011 11101000001111
00101100100101
Cliente
Servidor
Cifra el 6o bloque
00101100100101
00010100001111 10100011010101 11010101010011 11101000001111
00101100100101
Cliente
Servidor
EnvĂa el 6o bloque
00101100100101
00010100001111 10100011010101 11010101010011 11101000001111
00101100100101
Cliente
Servidor
Descifra el 6o bloque
00101100100101
01000100100011 00010100001111 10100011010101 11010101010011
11101000001111 00101100100101
Cliente
Servidor
Cifra el 7o bloque
01000100100011 00010100001111 10100011010101 11010101010011 11101000001111 00101100100101
Cliente
Servidor
EnvĂa el 7o bloque
01000100100011 00010100001111 10100011010101 11010101010011
11101000001111 00101100100101
Cliente
Servidor
Descifra el 7o bloque
00101100100101 01000100100011 00010100001111 10100011010101 11010101010011 11101000001111 00101100100101
Cliente
Servidor
Termina transmisi贸n confidencial
00101100100101 01000100100011 00010100001111 10100011010101 11010101010011 11101000001111 00101100100101
Cliente
Servidor
Esquemas de intercambio de claves simétricas
1.- Envío de clave simétrica (Key Transport) 2.- Generación compartida de clave simétrica (Key Agreement)
Elementos con que cuenta un esquema de clave pública.
1.- Para cada usuario un par de claves: una privada , y otra pública . 2.- El mensaje a cifrar es generalmente corto, como una clave simétrica , un password, un IV, un mesaje secreto. 3.- La clave pública se usa para cifrar mensajes. 4.- La clave secreta se usa para descifrar mensajes.
Criptografía asimétrica: algoritmo de clave pública Mensaje original
Clave Pública
-----------------
Mensaje Cifrado
Mensaje Descifrado
-----------------
Clave Privada Algoritmo de cifrado
Algoritmo de descifrado
Sesi贸n Key Transport Inicia la comunicaci贸n
Cliente
Servidor
Sesi贸n Key Transport Inicia la comunicaci贸n Env铆a la clave p煤blica
Cliente
Servidor
Sesión Key Transport Inicia la comunicación Envía la clave pública PRGN
Genera la simétrica
Cliente
Servidor
Sesión Key Transport Inicia la comunicación Envía la clave pública PRGN
Cifra la simétrica con la pública
Cliente
Servidor
Sesión Key Transport Inicia la comunicación Envía la clave pública PRGN
Cliente
Envía la clave cifrada
Servidor
Sesión Key Transport Inicia la comunicación Envía la clave pública PRGN
Cliente
Servidor Descifra la simétrica con la privada
Sesi贸n Key Transport
Cliente
Servidor Ambos lados de la comunicaci贸n comparten la misma clave sim茅trica
Sesi贸n Key Agreement Inicia la comunicaci贸n
Cliente
Servidor
Sesi贸n Key Agreement Inicia la comunicaci贸n PRGN
PRGN
Ambos lados de la comunicaci贸n generan parte de la clave sim茅trica.
Cliente
Servidor
Sesi贸n Key Agreement Inicia la comunicaci贸n PRGN
PRGN
El cliente env铆a su parte de la clave
Cliente
Servidor
Sesi贸n Key Agreement Inicia la comunicaci贸n PRGN
PRGN
Cliente
Servidor
El servidor env铆a su parte de la clave
Sesi贸n Key Agreement Inicia la comunicaci贸n PRGN
Cliente
PRGN
Ambos lados de la comunicaci贸n unen sus partes de la clave sim茅trica.
Servidor
Sesi贸n Key Agreement Inicia la comunicaci贸n PRGN
PRGN
Cliente
Servidor
Ambos lados de la comunicaci贸n tienen la misma clave sim茅trica.
Sesi贸n Key Agreement Diffie-Hellman Inicia la comunicaci贸n PRGN
PRGN
x, g
y, g
gx
gy
Cliente
Servidor
Sesi贸n Key Agreement Diffie-Hellman Inicia la comunicaci贸n PRGN
x, g gx Cliente
PRGN
El cliente env铆a su parte de clave
gx
y, g gy Servidor
Sesi贸n Key Agreement Diffie-Hellman Inicia la comunicaci贸n PRGN
x, g gx Cliente
PRGN
El cliente env铆a su parte de clave
gy
gx
y, g gy
El servidor env铆a su parte de clave Servidor
Sesi贸n Key Agreement Diffie-Hellman Inicia la comunicaci贸n PRGN
PRGN
x, g
y, g
gx
gy
Cliente
x, g
y
Servidor Ambos lados de la comunicaci贸n tienen la misma clave informaci贸n.
y, g x
Sesi贸n Key Agreement Diffie-Hellman Inicia la comunicaci贸n PRGN
PRGN
x, g
y, g
gx
gy
Cliente
x, g
Servidor
y, g x
y
Ambos lados de la comunicaci贸n construyen la misma clave sim茅trica.
g yx
g xy
Firma Digital
Firma Digital
Proceso de firma 1.- Se requiere el documento a firmar. 2.- Se requiere una función hash. 3.- La firma la realiza el propietario de una clave privada.
Proceso de verificación 1.- Se requiere el documento firmado. 2.- Se requiere la firma. 3.- Se requiere la función hash. 4.- La verificación la efectúa cualquier entidad con la clave pública.
Firma Digital (Procedimiento de Firma) Documento a firmar Se aplica un hash al documento
Cliente
-----
0100111010001...0100
Servidor
Firma Digital (Procedimiento de Firma) Documento a firmar
-----
0100111010001...0100
Se firma el hash con la privada Cliente
1111001011001...0110
Servidor
Firma Digital (Procedimiento de Firma) Documento a firmar
-----
0100111010001...0100
1111001011001...0110
Cliente
Servidor Documento con su firma digital
1111001011001...0110
-----
Firma Digital (Procedimiento de Verificaci贸n) Documento con su firma digital
Cliente
1111001011001...0110
-----
Servidor
Firma Digital (Procedimiento de Verificaci贸n) Documento con su firma digital
1111001011001...0110
Cliente
1111001011001...0110
-----
0100111010001...0100
Se aplica la primitiva de verificaci贸n a la firma digital, con la clave p煤blica.
Servidor
Firma Digital (Procedimiento de Verificaci贸n) Documento con su firma digital
1111001011001...0110
1111001011001...0110
-----
0100111010001...0100 -----
Cliente Se aplica el hash al documento
Servidor
0100111010001...0100
Firma Digital (Procedimiento de Verificaci贸n) Documento con su firma digital
1111001011001...0110
1111001011001...0110
-----
0100111010001...0100 -----
Cliente
Servidor
0100111010001...0100
La firma se acepta si los dos hash son iguales ? 0100111010001...0100
=
0100111010001...0100
Comunicaci贸n segura (SSL)
Elementos para efectuar una comunicación segura
1.- Un cliente (es quién inicia la comunicación) 2.- Un servidor (es quién responde la comunicación) 3.- Es común (pero no necesario) que el servidor tenga su par de claves, una privada y una pública, la pública estará en un certficado digital.
Sesi贸n de comunicaci贸n segura
Inicia la comunicaci贸n
Cliente
Servidor
Sesión de comunicación segura
Inicia la comunicación Envía la clave pública
Cliente
Servidor
Sesión de comunicación segura
Inicia la comunicación Envía la clave pública Genera una simétrica(sesión)
Cliente
Servidor
Sesión de comunicación segura
Inicia la comunicación Envía la clave pública Genera una simétrica(sesión) Cifra la simétrica con la pública Cliente
Servidor
Sesión de comunicación segura
Inicia la comunicación Envía la clave pública Genera una simétrica(sesión) Cifra la simétrica con la pública Cliente
Envía la clave cifrada
Servidor
Sesión de comunicación segura
Inicia la comunicación Envía la clave pública Genera una simétrica(sesión) Cifra la simétrica con la pública Cliente
Envía la clave cifrada Descifra la simétrica con la privada
Servidor
Sesión de comunicación segura
Inicia la comunicación Envía la clave pública Genera una simétrica(sesión) Cifra la simétrica con la pública Cliente
Envía la clave cifrada Descifra la simétrica con la privada
Da inicio la sesión segura
Servidor
http://computacion.cs.cinvestav.mx/~jjangel/ http://www.criptored.upm.es/ http://www.virusprot.com/ http://www.iacr.org/ http://csrc.nist.gov/