43
Criptografía ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO Maestría en Seguridad Telemática

Cap I - Introduccion a La Criptografia

  • Upload
    npiedad

  • View
    24

  • Download
    2

Embed Size (px)

Citation preview

  • Criptografa

    ESCUELA SUPERIOR

    POLITECNICA DE CHIMBORAZO

    Maestra en Seguridad Telemtica

  • Cap. I

    Introduccin a la

    Criptografa

    Criptografa

  • Agenda

    Definicin de la Criptografa

    Seguridad de un Sistema

    Aplicaciones de Criptografa

    Hitos histricos de la criptografa

    Sistemas de cifrado

    Clasificacin de los cripsostemas

    Cifrado de clave privada y clave pblica

    Gestin de claves de sistemas de cifrado

    Sistemas de cifrado hbridos

  • Definicin de Criptografa

    Las races etimolgicas de la palabra criptografa son:

    kriptos, que significa oculto, y

    graphos, que se traduce como escribir,

    Lo que da una clara idea de su definicin clsica:

    Arte de escribir mensajes en clave secreta o enigmticamente.

    Fue considerada un arte

    Hasta que Shannon public en 1949 la Teora de las comunicaciones secretas. Entonces la criptografa empez a ser considerada una ciencia aplicada

    Parte 1

  • Definicin de Criptografa

    Las Rama inicial de las Matemticas y en la actualidad tambin de la Informtica y la Telemtica, que hace uso de mtodos y tcnicas con el objeto principal de cifrar, y por tanto proteger, un mensaje o archivo por medio de un algoritmo, usando una o ms claves.

    Parte 2

    Rami, J. O. R. G. E. (2006). Libro electrnico de seguridad informtica y criptografa. Versin, 4, 1.

  • Definicin de Criptografa Parte 3

    Cristologa: ciencia que estudia e investiga todo aquello relacionado con la criptografa: incluye cifra y criptoanlisis.

    Criptgrafo: mquina o artilugio para cifrar.

    Criptlogo: persona que trabaja de forma legtima para proteger la informacin creando algoritmos criptogrficos.

    Criptoanalista: persona cuya funcin es romper algoritmos de cifra en busca de debilidades, la clave o del texto en claro.

    Texto en claro: documento original. Se denotar como M.

    Criptograma: documento/texto cifrado. Se denotar como C.

    Claves: datos (llaves) privados/pblicos que permiten cifrar un documento y descifrar el correspondiente criptograma.

  • La Seguridad de un sistema Parte 1

    Interrupcin

    Interceptacin

    Modificacin

    Generacin

    Interrupcin Interceptacin

    Flujo Normal

    Modificacin Generacin

    La seguridad de un sistema son influenciadas por las amenazas.

    Las amenazas afectan principalmente al hardware, al software y a los datos. stas se deben a fenmenos de:

  • La Seguridad de un sistema Parte 2

    Interrupcin

    Intercepcin

    Modificacin

    Produccin

  • La Seguridad de un sistema Parte 3

    Integridad Los componentes del

    sistema slo pueden ser creados y modificados por los usuarios autorizados.

    Disponibilidad Los usuarios deben tener

    disponibles todos los componentes del sistema cuando as lo deseen.

    Objetivos de la seguridad informtica:

    Confidencialidad Los componentes del sistema sern accesibles slo por

    aquellos usuarios autorizados.

  • La Seguridad de un sistema Parte 4

    Otros objetivos de la seguridad informtica:

    No repudio Ofrece proteccin a un usuario frente a otro usuario que

    niegue posteriormente que en realidad se realiz cierta comunicacin.

    Control de acceso Requiere que el acceso a los recursos (informacin,

    capacidad de clculo, nodos de comunicaciones, entidades fsicas, etc.) sea controlado y limitado por el sistema

    destino.

    Autenticidad Requiere una identificacin correcta del origen del

    mensaje, asegurando que la entidad no es falsa.

  • Mecanismos de seguridad

    Intercambio de autenticacin: corrobora que una entidad, ya sea origen o destino de la informacin, es la deseada. (Contraseas, Certificados ...)

    Cifrado: garantiza que la informacin no es inteligible para individuos, entidades o procesos no autorizados. (Cifrado de datos con AES ...)

    Integridad de datos: para verificar que los datos no han sido modificados en el trayecto (Hash o resumen de un mensaje).

    Firma digital: se enviar junto con los datos ordinarios, garantizar la autenticidad y el no repudio de los datos

    Unicidad: consiste en aadir a los datos un nmero de secuencia, la fecha y hora, un nmero aleatorio, o alguna combinacin de los anteriores, que se incluyen en la firma digital o integridad de datos para darnos la unicidad en el tiempo.

  • Aplicaciones de la Criptografa

    Comunicaciones Seguras:

    Trfico de la web: HTTPS

    Trfico de la Wireless: 802.11i WPA2 (and WEP), GSM, Bluetooth

    Cifrado de archivos en disco duros: EFS, TrueCrypt

    Proteccin de contenidos (Ejs. DVD, Blu-ray)

    Autentificacin de usuarios

    Firmas digitales

    Comunicacin annima

  • Hitos histricos de la Criptografa

    El primer uso de la escritura secreta de que se tiene constancia data del siglo v a. C., durante la guerra entre Atenas y Esparta. el cifrado conocido como esctala se basaba nicamente en la alteracin del mensaje mediante la escritura de los smbolos.

    poca de los romanos. El cifrado en ese caso consista en una sustitucin de determinados smbolos por otros segn una regla fija.

    En el siglo XIV la obra ms antigua que existe sobre criptografa. Se titula Lber Zifrorum y su autor, Cicco Simoneta.

    Parte 1

  • Hitos histricos de la Criptografa

    En el siguiente siglo, Alberti (1404-1472) destaca en el campo del criptoanlisis, siendo considerado por ello el padre de la cristologa

    El mayor desarrollo de la criptologa tuvo lugar durante las dos guerras mundiales.

    En la primera guerra fue fundamental la ruptura por parte de los aliados britnicos del conocido como telegrama Zimmermann.

    En la segunda guerra mundial, la mquina de cifrado alemana Enigma fue rota por la oficina criptoanaltica britnica capitaneada por el matemtico Alan Turing

    Parte 2

  • Medio deTransmisor Transmisin Receptor

    M C

    Cifrador Mensaje cifrado Descifrador

    Interceptacin del mensaje

    por un intruso

    T RMT

    C M

    Sea cual sea el medio de transmisin (enlace, red telefnica, red de

    datos, disco magntico, disco ptico, etc.) ste ser siempre y por

    definicin inseguro y habr que adaptarse a este medio. Esto podra

    dejar de ser cierto en los futuros sistemas con criptografa cuntica.

    Usurpacin de identidad

    por un intruso

    Sistema de cifrado Parte 1

  • Texto TransmisorTexto cifrado

    ReceptorBase Base

    Canal inseguro

    Clave

    Cifrador Descifrador

    Texto

    Un espacio de Textos en Claro M

    Un espacio de Textos Cifrados C

    Un espacio de Claves K

    Unas transformaciones de Cifrado EK(M) y de Descifrado DK (C)

    M MC

    K Clave K

    Sistema de cifrado - esquema Parte 2

  • C = E(M)

    M = D(C)

    M = D(E(M))

    Si se usa una clave k:

    C = E(k,M) o Ek(M)

    M = D(k, E(k,M))

    M = D(kD, E(kE,M))

    Las operaciones D y E son

    inversas o bien lo son las

    claves que intervienen. Esto

    ltimo es lo ms normal, con

    los inversos dentro de un

    cuerpo finito. Por lo tanto, se

    recupera el mensaje en claro.

    E: Cifrado del mensaje M

    D: Descifrado del criptograma C

    En este ltimo caso los algoritmos E y D son iguales

    Sistema de cifrado - funciones y operaciones Parte 3

  • M = {m1, m2, ..., mn}Est muy claro que esto

    es un texto en claro...

    Componentes de un mensaje inteligible (bits, bytes, pixels, signos, caracteres, etc.) que provienen de un alfabeto previamente establecido como en el ejemplo.

    El lenguaje tiene unas reglas sintcticas y semnticas.

    En algunos casos y para los sistemas de cifra clsicos la longitud del alfabeto indicar el mdulo en el cual se trabaja. En los modernos, no guarda relacin.

    Habr mensajes con sentido y mensajes sin sentido

    Sistema de cifrado - Espacio de mensajes M Parte 4

  • Normalmente el alfabeto es el mismo que el utilizado para crear el mensaje en claro.

    Supondremos que el espacio de los textos cifrados C y el espacio de los mensaje M (con y sin sentido) tienen igual magnitud.

    En este caso, a diferencia del espacio de mensajes M, sern vlidos todo tipo de criptogramas.

    C = {c1, c2, ..., cn}VjbmljYSB3kZSBNYWRy+

    WQgQ0ExLTAr8BgN...

    Sistema de cifrado - Espacio de criptogramas CParte 5

  • Si el espacio de claves K es tan grande como el de los mensajes M, se obtendr un criptosistema con secreto perfecto.

    Se supone que es un conjunto altamente aleatorio de caracteres, palabras, bits, bytes, etc., en funcin del sistema de cifrado. Al menos una de las claves en un criptosistemase guardar en secreto.

    K = {k1, k2, ..., kn}

    Parte 6Sistema de cifrado - Espacio de claves K

  • Ek es una aplicacin con una clave k, que est en el espacio de claves K, sobre el mensaje M y que lo transforma en el criptograma C.

    Es el algoritmo de cifrado. Slo en algunos sistemas clsicos el algoritmo es secreto. Por lo general el algoritmo de cifra ser de dominio pblico y su cdigo fuente debera estar disponible en Internet.

    Ek: M C k K

    Sistema de cifrado - transformaciones cifradoParte 7

  • Dk es una aplicacin con una clave k, que est en el espacio de claves K, sobre el criptograma C y que lo transforma en el texto en claro M.

    Se usa el concepto de inverso. Dk ser la operacin inversa de Ek o bien -que es lo ms comn- se usa la misma transformacin Ek para descifrar pero con una clave k que es la inversa de k dentro de un cuerpo.

    Dk: C M k K

    Sistema de cifrado - transformaciones descifradoParte 8

  • Dk(Ek(P)) = P

    E y D son slo funciones matemticas parametrizadascon la clave k

    Estas funciones E( ) y D( ) son conocidas por elcriptoanalista, pero no la clave.

    1.- La cantidad de esfuerzo necesario para inventar, probar e instalarun mtodo nuevo (funciones E y D) cada vez que el viejo esconocido hace impracticable mantenerlo en secreto.

    2.- Este mtodo de cifrado con claves, permite cambiar fcilmentede mtodo de cifrado simplemente con cambiar la clave

    Sistema de cifrado - Cifrado y Descifrado Parte 9

  • Algoritmo de cifrado y descifrado rpido y fiable.

    Posibilidad de transmitir ficheros por una lnea de datos, almacenarlos o transferirlos.

    No debe existir retardo debido al cifrado o descifrado.

    La seguridad del sistema deber residir solamente en el secreto de una clave y no de las funciones de encriptacin.

    La fortaleza del sistema se entender como la imposibilidad computacional (tiempo de clculo en aos que excede cualquier valor razonable) de romper el criptograma o encontrar la clave secreta a partir de otros datos de carcter pblico.

    Sistema de cifrado - Requisitos de criptosistemaParte 10

  • Fortaleza de la cifra

    Conociendo el algoritmo de cifra, el criptoanalista intentar romper la cifra en uno de estos escenarios:

    1. Contando nicamente con el criptograma.

    2. Contando con texto en claro conocido.

    3. Eligiendo un texto en claro.

    4. A partir de texto cifrado elegido.

    ATAQUE POR FUERZA BRUTA

    5. Buscando todas combinaciones posibles de claves.

    Un algoritmo de cifra ser fuerte si, conociendo su funcionamiento o cdigo, conociendo el texto cifrado y conociendo el texto en claro, el ataque a la clave de cifra secreta es computacionalmente muy difcil.

  • Clasificacin de los Criptosistemas

    Sistemas de cifra: Sustitucin vs. Transposicin Clasificacin de acuerdo al tipo de

    operacin.

    Sistemas de cifra: en bloque versus en flujo Clasificacin de acuerdo a cmo

    se produce la cifra.

    Sistemas con clave: secreta vs. pblica Clasificacin de acuerdo al uso de una nica clave secreta

    (sistemas simtricos) o bien dos claves, una de ellas pblica y la otra privada (sistemas asimtricos).

    Parte 1

  • Clasificacin de los Criptosistemas Parte 2

    CIFRADO POR SUSTITUCION:

    Este mtodo consiste en desplazar (a derecha o izquierda) el alfabeto de texto cifrado k letras, siendo k la clave de cifrado. E descifrado es invertir el desplazamiento.

    CIFRADO POR TRANSPOSICION:

    Los cifrados por transposicin reordenan las letras. La clave k, se utiliza para reordenar las columnas del texto normal, de forma que el texto cifrado se obtiene leyendo el texto normal con la ordenacin determinada por la clave.

  • Clasificacin de los Criptosistemas Parte 3

    CIFRADO EN BLOQUE:

    El mismo algoritmo de cifra se aplica a un bloque de informacin (grupo de caracteres, nmero de bytes, etc.) repetidas veces, usando la misma clave. El bloque de texto o informacin a cifrar normalmente ser de 64 128 bits.

    CIFRADO EN FLUJO:

    El algoritmo de cifra se aplica a un elemento de informacin (carcter, bit) mediante un flujo de clave en teora aleatoria y de mayor longitud que el mensaje. La cifra se hace carcter a carcter o bit a bit.

  • CIFRADO EN BLOQUE

    Ventajas: Desventajas:

    * Alta difusin de los elementos * Baja velocidad de cifrado al tener

    en el criptograma. que leer antes el bloque completo.

    * Inmune: imposible introducir * Propenso a errores de cifra. Un

    bloques extraos sin detectarlo. error se propagar a todo el bloque.

    CIFRADO EN FLUJO

    Ventajas: Desventajas:

    * Alta velocidad de cifra al no * Baja difusin de elementos en el

    tener en cuenta otros elementos. criptograma.

    * Resistente a errores. La cifra es * Vulnerable. Pueden alterarse los

    independiente en cada elemento. elementos por separado.

    Clasificacin de los Criptosistemas Parte 4

  • En el cifrado de clave privada las claves de cifrado y descifrado son la misma (o bien se deriva de forma directa una de la otra), debiendo mantenerse en secreto dicha clave. Ejemplos:

    DES (Data Encryption Standard) y T-DES (o 3DES)

    IDEA (International Data Encryption Algorithm)

    AES (Advanced Encryption Standard) o Rijndael

    En el cifrado de clave pblica, las claves de cifrado y descifrado son independientes, no derivndose una de la otra, por lo cual puede hacerse pblica la clave de cifrado siempre que se mantenga en secreto la clave de descifrado. Ejemplo:

    Cifrado RSA (Rivest, Shamir, Adleman)

    Cifrado de clave privada y pblica Parte 1

  • Mensaje cifrado

    Medio deClave Transmisin Clave

    M C

    Texto TextoBase

    Base

    Cifrado DescifradoMTMC

    Cifrado: Ek Descifrado: Dk

    Ek Dk

    k k

    Clave nica

    Cifrado con clave privada

    El problema es cmo hacerla llegar al destino

    Parte 2

  • Medio de

    Transmisor Transmisin ReceptorM C

    Cifrador Mensaje cifrado Descifrador

    T RMT

    C M

    Usurpacin de identidad

    por un intruso (I)

    Interceptacin del mensaje

    por un intruso (I)

    Cualquier medio de transmisin es inseguro

    Integridad

    Confidencialidad

    Estos dos principios de la seguridad informtica, el de la

    confidencialidad y la integridad, (adems de la disponibilidad y

    el no repudio) sern muy importantes en un sistema de

    intercambio de informacin segura a travs de Internet.

    Cifrado con clave privada Parte 3

  • protegida

    Buscamos la

    confidencialidad

    Medio de

    k Transmisin kM

    C

    Texto TextoBase Base

    M no permitido

    EK MTDK

    MCDK

    El criptoanalista no podr descifrar el criptograma C o

    cualquier otro texto cifrado bajo la transformacin EK.

    intruso

    Criptograma

    Protegemos el

    extremo receptor

    Cifrado con clave privada - Confidencialidad Parte 4

  • protegida

    Buscamos la

    integridad

    Medio de

    k Transmisin kM

    C

    Texto TextoBase Criptograma Base

    C no permitido

    EK MTDK

    MC

    EK

    El criptoanalista no podr cifrar un texto en claro M y

    enviarlo al destinatario como C = EK(M).

    intruso

    Hola... soy Paquito!

    Protegemos ahora el extremo emisor

    Cifrado con clave privada - Integridad Parte 5

  • protegida

    Medio de

    k Transmisin kM

    C

    Texto TextoBase Criptograma Base

    C no permitido

    EK MTDK

    MC

    EK

    Hola... soy Paquito! M no permitido

    protegida

    DK

    ConfidencialidadIntegridad

    La confidencialidad y la integridad se lograrn

    simultneamente si se protege la clave secreta.

    Era algo obvio

    Cifrado con clave privada - resumen Parte 6

  • protegida

    Buscamos la

    confidencialidad

    Medio declave pblica de B

    Transmisin

    M

    C

    Texto TextoBase Base

    M no permitido

    EB MTDB M

    CDB

    intruso

    Criptograma

    clave privada de B

    Observe que se cifra con la clave pblica del usuario receptor

    Usuario A Usuario B

    C = EB(M)

    M = DB(C) = DB(EB(M))

    EB y DB son operaciones

    inversas dentro de un cuerpo

    Cada usuario usa dos funciones: una pblica EX y otra privada DX.

    Cifrado con clave pblica - Confidencialidad Parte 1

    Usada en intercambio RSA

  • Medio declave privada de A

    Transmisin

    M

    C

    Texto TextoBase Base

    DA MT EA MC

    DA

    Criptograma

    clave pblica de A

    Observe que se cifra con la clave privada del usuario emisor

    Usuario A Usuario B

    C = DA(M)

    M = EA(C) = EA(DA(M))DA y EA son operaciones

    inversas dentro de un cuerpo

    protegida

    Buscamos la

    integridad

    C no permitido

    intruso

    Hola... soy Paquito

    otra vez!

    Cifrado con clave pblica - Integridad Parte 2

    Usada en Firma digital RSA

  • C = EB(DA(M)) Cifrado del mensaje con firma digital

    M = EA(DB(C)) Descifrado y comprobacin de firma

    K privada

    de A

    MC

    Confidencialidad

    Usuario A Usuario B

    Integridad

    DB EAEBDA

    K privada

    de BK pblica

    de B

    K pblica

    de A

    DA

    La integridad y la confidencialidad se

    obtendrn ahora por separado ...

    M

    Esta caracterstica

    ser muy importante

    DB

    Cifrado con clave pblica - Resumen Parte 3

  • Gestin de claves sistemas de cifra Parte 1

    A

    ED

    C

    B

    kAB

    kAC

    kBC

    kAD

    kBD

    kCD

    kAE

    kBE

    kCE

    kDE

    X YkXY

    kYX

    Nmero Claves:

    n (n-1) / 2

    2 usuarios: N = 1

    3 usuarios: N = 3

    4 usuarios: N = 6

    5 usuarios: N = 10

    Definicin previa:

    N = n de claves

    Muy mala gestin de claves: el valor tiende a n2.

    Clave secreta

    kxy = kyx

  • Gestin de claves sistemas de cifra Parte 2

    A

    ED

    C

    B

    kPr.A

    kPu.C

    kPu.A

    kPr.B

    kPr.D

    kPu.E

    kPu.B

    kPr.C

    kPu.D

    X YkPu.X

    Nmero Claves:

    n * 2

    2 usuarios: N = 4

    3 usuarios: N = 6

    4 usuarios: N = 8

    5 usuarios: N = 10

    Definicin previa:

    N = n de claves

    Buena gestin de claves: el valor tiende a n*2.

    Clave Pblica

    kPu.X kPu.Y

    kPr.E

    kPr.X

    kPr.Y

    kPu.Y

  • Sistemas de cifra hbridos

    Entonces los sistemas de clave pblica NO son la solucin a todos nuestros problemas.

    Los mtodos de cifrado hibrido utilizan los sistemas de clave publica y privada.

    Los algoritmos de clave publica son lentos en comparacin con algoritmos de clave privada, pero son una herramienta efectiva para distribuir claves de cifrado simtrico

    Se utiliza la clave publica del destinatario para cifrar la clave simtrica, para luego utilizar la clave simtrica en el cifrado de los mensajes.

  • 1. Un empleado poco satisfecho ha robado varios discos duros de muy

    alta calidad con datos de la empresa. Qu importa ms, el costo de

    esos discos o el valor de los datos? Justifique su respuesta.

    2. En una empresa se comienza a planificar estrategias de acceso a las

    dependencias, polticas de backup, de proteccin de los equipos ante

    fuego, agua, etc. Eso es seguridad fsica o lgica? Por qu?

    3. En nuestra empresa alguien usa software pirata. Es una amenaza de

    interrupcin, interceptacin, modificacin o de generacin?

    4. Una clave de sesin en Internet para proteger una operacin de cifra

    dura 45 segundos. Si alguien intercepta el criptograma, debemos

    preocuparnos si sabemos que la prxima vez la clave ser otra?

    5. Si se prueban todas las combinaciones posibles de una clave para

    romper un criptograma, qu tipo de ataque estamos realizando?

    Ejercicios de repaso Parte 1

  • 6. Si protegemos una clave en el extremo emisor, qu buscamos, la

    confidencialidad o la integridad? Y si es en el extremo receptor?

    7. Por qu en un sistema simtrico se obtiene la confidencialidad y la

    integridad al mismo tiempo protegiendo la clave?

    8. Explique qu significa que en un sistema de cifra asimtrica se

    obtengan la confidencialidad y la integridad por separado.

    9. Si se cifra un mensaje con la clave privada del emisor, qu se

    obtiene? Y si el emisor cifra con la clave pblica del receptor?

    10. Tiene sentido que el emisor cifre de forma asimtrica con su clave

    pblica? Qu logramos con ello? Para qu servira?

    11. Queremos comunicarnos 10 usuarios con un sistema de cifra de

    clave secreta nica entre cada dos miembros. Cuntas claves sern

    necesarias? Es eficiente el sistema? Y si hay un usuario ms?

    Ejercicios de repaso Parte 2