• No se han encontrado resultados

Es necesario por tanto resolver la seguridad de las redes. Operaciones bancarias. Compras (tarjetas de crédito). Etc. Introducción a la criptografía

N/A
N/A
Protected

Academic year: 2021

Share "Es necesario por tanto resolver la seguridad de las redes. Operaciones bancarias. Compras (tarjetas de crédito). Etc. Introducción a la criptografía"

Copied!
42
0
0

Texto completo

(1)

Introducción (I)

• Inicialmente la seguridad no fue un problema

tenido en cuenta en las redes de ordenadores.

• Sin embargo, en la actualidad las redes

transportan información sensible como:

– Operaciones bancarias.

– Compras (tarjetas de crédito). – Etc.

• Es necesario por tanto resolver la seguridad de

las redes.

(2)

Introducción (II)

• Existen cuatro áreas de seguridad interrelacionadas:

– El secreto.

• Mantener la información fuera del alcance de los no autorizados.

– La validación de identificación.

• Asegurar la identidad del otro lado del canal de comunicación.

– El control de integridad.

• Asegurar que los mensajes recibidos no han sido manipulados por el camino.

– El no repudio.

(3)

Secreto (I)

• El secreto en la red y en las comunicaciones esta ligado al cifrado (codificación) de los mensajes.

• En el cifrado:

– Los mensajes a cifrar se conocen como texto normal

– Se transforman mediante una función parametrizada por una clave.

– El texto que se obtiene se conoce como texto cifrado. – La transmisión se realiza mediante el texto cifrado.

– Si un intruso captura el texto cifrado no puede descifrarlo al no conocer el algoritmo y/o la clave.

• La persona que descifra mensajes sin conocer la clave se llama criptoanalista y a la técnica se la llama

(4)

Secreto (II)

• A partir de ahora:

– C=Ek(P): El cifrado del texto P con el algoritmo E

utilizando la clave k da el texto cifrado C.

– P=Dk(C): El descifrado del texto C con el algoritmo

D utilizando la clave k da el texto normal P. – Por tanto Dk(Ek(P))=P

• En la actualidad se supone que el secreto debe

mantenerse si un criptoanalista conoce E (y D si

es distinta) y no conoce la clave k.

(5)

Rellenos de una sola vez (I)

• Un cifrado inviolable se conoce desde hace

tiempo: Los rellenos de una sola vez.

– Se escoge una cadena de bits al azar como clave. – Se traduce el texto a su ASCII.

– Se realiza la operación lógica XOR, bit a bit entre la clave y el texto. A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0

(6)

Rellenos de una sola vez (II)

• El texto resultante no puede descifrarse por:

– Cada texto candidato posible a haber sido cifrado

tiene la misma probabilidad.

– El texto cifrado no proporciona al criptoanalista ninguna información:

• Cada letra.

• Digrama: Combinación de dos letras. • Trigrama: Combinación de tres letras.

– Aparecen con igual frecuencia.

• Su problema es que solo puede cifrarse la

longitud de la clave como máximo.

(7)

Rellenos de una sola vez (III)

• Ejemplo:

Codificación cifrada (hex) 31 0B 58 01 01 00 0F 1C 01 13 13 44 08

Texto de cifrado E n u n l u g a r d Codificación ASCII (hex) 45 6E 20 75 6E 20 6C 75 67 61 72 20 64 Codificación ASCII (hex) 74 65 78 74 6F 20 63 69 66 72 61 64 6F Texto original t e x t o c i f r a d o

Texto original t e x t o c i f r a d o Codificación ASCII (hex) 74 65 78 74 6F 20 63 69 66 72 61 64 6F

Texto de cifrado E n u n l u g a r d

Codificación ASCII (hex) 45 6E 20 75 6E 20 6C 75 67 61 72 20 64

(8)

Criptografía clásica

• Se basa en:

– Algoritmos sencillos. – Claves muy largas.

• Sus técnicas son:

– Cifrado por sustitución. – Cifrado por trasposición.

(9)

Cifrado por sustitución (I)

• Se basa en:

– Sustituir cada letra o grupo de letras por otra letra o grupo de letras.

• Uno de los más antiguos conocidos. Cifrado de

Cesar.

– Cambiar la a por la D, la b por la E, etc.

– La palabra ataque se convierte en DWDTXH.

• Una generalización mínima es cambiar la letra

por la situada k posiciones, con lo que k es la

clave de cifrado.

(10)

Cifrado por sustitución (II)

• Generalización del cifrado por sustitución:

– Establecer una correspondencia biunívoca entre las letras del alfabeto y cualquier permutación de las mismas.

• Ejemplo:

a b c d e f g h i j k l m n o p q r s t u v w x y z Q W E R T Y U I O P A S D F G H J K L Z X C V B N M

• Este sistema se llama sustitución

monoalfabética.

• La clave es la cadena de 26 letras por la que se

sustituyen las letras del alfabeto.

(11)

Cifrado por sustitución (III)

• Teóricamente es seguro, pues existen 26! =

4x10

26

posibilidades.

• Puede descifrarse utilizando las propiedades

estadísticas de los lenguajes naturales.

• En cada lenguaje existen una letras, digramas,

trigramas, etc., más frecuentes.

• Analizando el texto se pueden buscar esas

ocurrencias y encontrar la clave sin necesidad de

buscar todas las posibilidades.

(12)

Cifrado por sustitución (IV)

• Frecuencia en castellano:

Letra Frecuencia Letra Frecuencia Letra Frecuencia Letra Frecuencia

e 16.78 a 11.96 o 8.69 l 8.37

s 7.88 n 7.01 d 6.87 r 4.94

u 4.80 i 4.15 t 3.31 c 2.92

p 2.76 m 2.12

Digrama Frecuencia Digrama Frecuencia Digrama Frecuencia

de 778 la 460 el 339

en 302 se 119 un 98

no 74 su 64 al 63

es 47

Trigrama Frecuencia Trigrama Frecuencia Trigrama Frecuencia

que 289 los 196 del 156

las 114 por 110 con 82

una 78 mas 36 sus 27

(13)

Cifrado por sustitución (V)

• Texto a descifrar:

Q DTRORQ JXT SGL QHXFZTL RT ZTGKOQ, TFXFEOQRGL RT

HKQEZOEQL, TZE., LTQF TSQWGKQRGL, LT EGSGEQKQF TF TS EGKKTLHGFROTFZT QHQKZQRG. HQKQ CTK SGL XSZODGL

RGEXDTFZGL HXTLZGL TF SQ HQUOFQ COLOZQ TS QHQKZQRG RT QCOLGL.

• Frecuencia de aparición de las letras:

Letra Frecuencia Letra Frecuencia Letra Frecuencia Letra Frecuencia

Q 11.85 T 10.43 G 8.06 L 7.58

F 5.21 R 5.21 Z 5.21 K 4.74

O 4.74 E 3.79 H 3.79 S 3.79

X 2.84 C 1.42 D 1.42 J 0.47

(14)

Cifrado por sustitución (VI)

• Texto cifrado.

Q DTRORQ JXT SGL QHXFZTL RT ZTGKOQ, TFXFEOQRGL RT HKQEZOEQL, TZE., LTQF

TSQWGKQRGL, LT EGSGEQKQF TF TS EGKKTLHGFROTFZT QHQKZQRG. HQKQ CTK SGL XSZODGL RGEXDTFZGL HXTLZGL TF SQ HQUOFQ COLOZQ TS QHQKZQRG RT QCOLGL.

• Analizando frecuencias y digramas T es e y Q es a. a DeRORa JXe SGL aHXFZeL Re ZeGKOa, eFXFEOaRGL Re HKaEZOEaL, eZE., LeaF

eSaWGKaRGL, Le EGSGEaKaF eF eS EGKKeLHGFROeFZe aHaKZaRG. HaKa CeK SGL XSZODGL RGEXDeFZGL HXeLZGL eF Sa HaUOFa COLOZa eS aHaKZaRG Re aCOLGL.

• Analizando el digrama Re con de, R es d.

a DedOda JXe SGL aHXFZeL de ZeGKOa, eFXFEOadGL de HKaEZOEaL, eZE., LeaF

eSaWGKadGL, Le EGSGEaKaF eF eS EGKKeLHGFdOeFZe aHaKZadG. HaKa CeK SGL XSZODGL dGEXDeFZGL HXeLZGL eF Sa HaUOFa COLOZa eS aHaKZadG de aCOLGL.

• Analizando el trigrama JXe con que, J es q y X es u. a DedOda que SGL aHuFZeL de ZeGKOa, eFuFEOadGL de HKaEZOEaL, eZE., LeaF

eSaWGKadGL, Le EGSGEaKaF eF eS EGKKeLHGFdOeFZe aHaKZadG. HaKa CeK SGL uSZODGL dGEuDeFZGL HueLZGL eF Sa HaUOFa COLOZa eS aHaKZadG de aCOLGL.

(15)

Cifrado por sustitución (VII)

• Analizando el trigrama SGL con los, S es l, G es o y L es s.

a DedOda que los aHuFZes de ZeoKOa, eFuFEOados de HKaEZOEas, eZE., seaF

elaWoKados, se EoloEaKaF eF el EoKKesHoFdOeFZe aHaKZado. HaKa CeK los ulZODos doEuDeFZos HuesZos eF la HaUOFa COsOZa el aHaKZado de aCOsos.

• Analizando el digrama eF con en, F es n.

a DedOda que los aHunZes de ZeoKOa, enunEOados de HKaEZOEas, eZE., sean

elaWoKados, se EoloEaKan en el EoKKesHondOenZe aHaKZado. HaKa CeK los ulZODos doEuDenZos HuesZos en la HaUOna COsOZa el aHaKZado de aCOsos.

• Con el texto legible, Z es t, O es i, H es p, E es c y K es r. a Dedida que los apuntes de teoria, enunciados de practicas, etc., sean

elaWorados, se colocaran en el correspondiente apartado. para Cer los ultiDos docuDentos puestos en la paUina Cisita el apartado de aCisos.

• Analizando las palabras reconocibles D es m, etc.

a medida que los apuntes de teoria, enunciados de practicas, etc., sean

elaborados, se colocaran en el correspondiente apartado. para ver los ultimos documentos puestos en la pagina visita el apartado de avisos.

(16)

Cifrado por trasposición (I)

• Se basa en:

– Reordenar las letras del texto en función de una clave. – Un ejemplo es la trasposición columnar:

• Una clave indica el orden en que se alteran las columnas del texto. • Ejemplo:

en junio tenemos examen de atd

• Utilizando como clave la palabra peso: p e s o 3 1 4 2 e n j u n i o t e n e m o s e x a m e n d e a t d x x x • Obtenemos el texto cifrado:

(17)

Cifrado por trasposición (II)

• Para descifrarlo:

– Se comprueba que la frecuencia de las letras es la adecuada al idioma.

– Se intenta obtener el número de columnas existentes:

• Adivinar una posible palabra existente en el texto y buscar su aparición:

• JUNIO:

– 2 columnas: JNO y UI. – 3 columnas: JI.

– 4 columnas: JO.

(18)

Cifrado por trasposición (III)

N U E J I T N O N M E E S X O E M N A E E T D A X X D X • Reordenar las columnas:

– Examinando todos los pares de columnas.

– Buscando la frecuencia de aparición de digramas, trigramas, etc.

N E J U I N O T N E E M S O E X M A E N E D A T X D X X

(19)

Cifrado por trasposición (IV)

N E J U  E J U N E N J U I N O T  N O T I N I O T N E E M  E E M N E N E M S O E X  O E X S O S E X M A E N  A E N M A M E N E D A T  D A T E D E A T X D X X  X X D X D X X X

(20)

Criptografía moderna (I)

• Se basa en:

– Algoritmos complicados. – Claves cortas.

• Utiliza dos dispositivos de bloques básicos:

– Cajas P. – Cajas S. Caja P Caja S 3 a 8 8 a 3 Cifrado de producto P1 P2 P3 S1 S2 S3 S4 S5 S6 S7 S8

(21)

Criptografía moderna (II)

• Se divide en:

– Clave privada:

• La clave de cifrado y descifrado es la misma (o se deriva una de otra).

• Debe mantenerse en secreto.

– Clave pública.

• La clave de cifrado y descifrado son distintas.

• Puede hacerse pública la clave de cifrado mientras se mantenga en secreto la clave de descifrado.

(22)

Cifrado DES (I)

• Fue desarrollado a principios de los 70.

• Se basa en el algoritmo Lucifer de IBM de 112

bits de clave.

• Utiliza una clave de 56 bits.

• Se desarrollo para poder ser implementado en un

circuito electrónico de los años 70.

• El texto normal se cifra en bloques de 64 bits,

utilizando los 56 bits de clave dando un texto

cifrado de 64 bits.

(23)

Cifrado DES (II)

Transposición inicial Iteración 1 Iteración 2 Iteración 16 Intercambio de 32 bits Transposición inversa 64 bits de texto normal

Clave de 56 bits.

Li-1 Ri-1

(24)

Cifrado DES triple (I)

• La velocidad de los circuitos electrónicos

actuales:

– Permite descifrar el algoritmo DES probando las claves.

• Los ordenadores actuales:

– Pueden descifrar el algoritmo en un tiempo razonable.

(25)

Cifrado DES triple (II)

• Solución: Cifrar 3 veces con DES.

E D E

K1 K2 K1

P C D E D

K1 K2 K1

C P

• Se utilizan dos claves de 56 bits.

• Se utiliza EDE en lugar de EEE porque:

– Da igual utilizar la función en cifrado o descifrado, la seguridad es la misma.

– Permite utilizar dos claves K1 y K2, y haciendo

(26)

Cifrado IDEA (I)

• Utiliza una clave de 128 bits.

– La clave genera 52 subclaves de 16 bits.

• 6 para cada una de las 8 iteraciones. • 4 para la transformación final.

• Cifra en bloques de 64 bits como DES.

• Utiliza aritmética de 16 bits sin signo.

(27)

Cifrado IDEA (II)

Iteración 1 Iteración 2 Iteración 7 Iteración 8 Transformación 64 bits de texto normal

64 bits de texto cifrado

X # # # # X + + # # X + + X K1 K2 K3 K4 K5 K6

Cuatro bloques de entrada de 16 bits

Cuatro bloques de salida de 16 bits Suma módulo 216 de 16 bits

Multiplicación módulo 216+1 de 16 bits

+ X

(28)

Cifrado AES (I)

• En 1997 se propuso el desarrollo de un nuevo

algoritmo de cifrado: AES.

• AES es:

– Público.

– Utiliza criptografía de clave simétrica con bloques de 128 bits.

– Permite claves de 128, 192 y 256 bits.

(29)

Cifrado AES (II)

• AES opera en matrices de datos de 4x4 realizando:

– Una sustitución no lineal de cada byte de la matriz por otro byte de acuerdo a una tabla.

– Una transposición donde las filas son rotadas.

– Un mezclado de columnas con otras mediante una transformación lineal.

– Una combinación del resultado con la clave.

• AES utiliza:

– 10 rondas para claves de 128 bits. – 12 rondas para claves de 192 bits. – 14 rondas para claves de 256 bits.

(30)

Cifrado RSA (I)

• En 1976, investigadores de Stanford propusieron

una clase nueva de criptosistema:

– Las claves de cifrado y descifrado eran diferentes. – El algoritmo de cifrado, con clave E y el de

descifrado, con clave D, debían cumplir:

• D(E(P))=P

• Es difícil deducir D de E.

(31)

Cifrado RSA (II)

• El funcionamiento es el siguiente:

– Tenemos dos algoritmos E y D que cumplen lo anterior. – A escoge una clave de cifrado EA y de descifrado DA. – B escoge otra clave de cifrado EB y de descifrado DB. – E, D, EA y EB son públicos.

• A quiere enviar un mensaje P a B:

– Con EB calcula EB(P) y lo envía a B.

– B lo recibe y calcula DB(EB(P)) y obtiene P. – Nadie más que B puede descifrar el mensaje.

• Un algoritmo que cumple la propiedad propuesta es el RSA.

(32)

Cifrado RSA (III)

• El RSA se basa en:

– Escoger dos números primos grandes p y q mayores de 10100.

– Calcular n=p*q y z=(p-1)*(q-1).

– Seleccionar un primo d respecto a z (un número sin factores comunes con z).

– Encontrar e tal que (e*d)%z = 1.

– El texto se cifra en bloques de k bits de forma que 0<2k<n.

– Para cifrar calculamos C=Pe%n.

(33)

Cifrado RSA (IV)

• La parte pública de la clave es (e,n).

• La parte privada de la clave es (d,n).

• La dificultad consiste en factorizar números

grandes como n.

– Si se factoriza n se puede obtener z, y con z y e se obtiene d mediante el algoritmo de Euclides.

– En la actualidad, suponiendo un tiempo de instrucción de 1 nanosegundo, se requieren 4

millones de años para factorizar un número de 200 dígitos.

(34)

Cifrado RSA (V)

• Ejemplo:

– Tomemos p=3 y q=11, entonces n=33 y z=20. – Tomemos d=7, entonces (7*e)%20=1 -> e=3.

Texto original (P) Cifrado (C) Texto descifrado (P)

Carácter Valor P3 P3(mod 33) C7 C7(mod 33) Carácter

e 5 125 26 8031810176 5 e n 14 2744 5 78125 14 n r 19 6859 28 13492928512 19 r i 9 729 3 2187 9 i q 18 5832 24 4586471424 18 q u 22 10648 22 2494357888 22 u e 5 125 26 8031810176 5 e

• Ejemplo de sustitución monoalfabética pues p y q son muy pequeños.

(35)

Validación de identificación

• Permite que dos personas Alfa y Beta comprueben que el otro es quién dice ser.

• El procedimiento general es:

– Alfa y Beta intercambian mensajes:

• Entre ellos.

• Con un centro de distribución de claves.

– Al final del proceso Alfa esta seguro que habla con Beta y viceversa.

– Poseen una clave secreta de cifrado para intercambiar los mensajes.

– Un intruso Gamma, no puede interferir el proceso y suplantar a Alfa o Beta o capturar la clave secreta de cifrado.

(36)

Protocolo de autenticación Kerberos

• Todo usuario:

– Se identifica ante Kerberos.

– Acuerda una clave criptográfica K propia para él.

A

B Na, ID(A), ID(B)

Kb(K,L,ID(A)) K(ID(A),Ta) 1 2 3 4 Ka(K,L,Na,ID(B)) Kb(K,L,ID(A)) K(Ta+ )1 Kerberos

(37)

Compendios de mensajes

• Permiten comprobar la validez de un mensaje.

• La idea general es utilizar una función de

dispersión unidireccional que cumpla:

– Dado P es fácil calcular MD(P).

– Dado MD(P) no es posible obtener P. – No es posible encontrar P<>P’ tal que

MD(P)=MD(P’).

(38)

Compendio MD5

• Es la quinta función de una serie de funciones de dispersión diseñadas por Ron Rivest.

• El algoritmo es:

– Se coge el mensaje original P y se rellena hasta que su tamaño sea 448 módulo 512.

– Se añade la longitud del mensaje como un entero de 64 bits, con lo que la longitud final es múltiplo de 512 bits.

– Se inicializa un buffer de 128 bits con un valor fijo.

– Se toma el mensaje en bloques de 512 bits y se mezclan con el buffer actual de 128 bits junto con una tabla construida a partir de la función seno.

– Cuando se acaban los bloques el valor del buffer es el MD5 del mensaje original, MD5(P).

(39)

Compendio SHA

• Fue desarrollado por la NSA.

• El algoritmo es:

– Se coge el mensaje original P y se rellena hasta que su tamaño sea 448 módulo 512.

– Se añade la longitud del mensaje como un entero de 64 bits, con lo que la longitud final es múltiplo de 512 bits.

– Se inicializa un buffer de 160 bits con un valor fijo.

– Se toma el mensaje en bloques de 512 bits y se mezclan con el buffer actual de 160 bits:

• Utiliza 80 rondas para cada bloque de entrada.

• Cada 20 rondas modifica las funciones de mezcla del bloque y del buffer.

(40)

Firma digital

• Una firma digital debe cumplir:

– El receptor pueda verificar la identidad del emisor.

• Una computadora de un banco necesita saber que la otra computadora es quién dice ser.

– El emisor no pueda repudiar el mensaje enviado.

• Si se compra una tonelada de oro y cae el precio, el cliente puede decir que el no mando comprar la tonelada de oro.

– El receptor no pueda confeccionar el mensaje.

• Si se compra una tonelada de oro y sube el precio, el

(41)

Firma de clave secreta

• Todo usuario:

– Se identifica ante la autoridad X.

– Acuerda una clave secreta K propia para él.

A

A, KA(B,RA,t,P)

KB(A,RA,t,P,KX(A,t,P))

B X

• El problema es que X debe leer todos los

mensajes.

(42)

Firma de clave pública

• Un usuario utiliza, por ejemplo, RSA y genera una clave pública y una privada.

• Problemas:

– A puede decir que le han robado su clave privada DA.

– A puede cambiar las claves y entonces lo que ya ha firmado no es valido.

– Se requiere una autoridad que controle estos casos.

Clave privada de A, DA Clave pública de B, EB Clave privada de B, DB Clave pública de A, EA

Computadora de A Línea de transmisión Computadora de B

P P

EB(DA(P))

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)