You are on page 1of 14

SISTEMAS DE SEGURIDAD CRTICA

1.4 CRIPTOGRAFA ASIMTRICA

La criptografa asimtrica (ASYMMETRIC KEY CRYPTOGRAPHY) o criptografa de clave


pblica (PUBLIC KEY CRYPTOGRAPHY) o criptografa de dos claves (TWO-KEY
CRYPTOGRAPHY), fue inventada en 1976 por los matemticos Whit Diffie y Martin
Hellman y es la base de la moderna criptografa.

La criptografa asimtrica utiliza dos claves complementarias llamadas clave privada y clave
pblica, ambas claves pertenecen al remitente del mensaje. La clave pblica puede ser
conocida y entregada a mltiples personas, la clave privada no; sin embargo, esta pareja slo
puede ser generada una vez. Ser complementarias significa que lo que est codificado con
una clave privada necesita la clave pblica para ser descodificado y lo codificado con una
clave pblica slo puede ser descodificado con la clave privada. En estos criptosistemas se
identifican seis elementos:
Texto claro
Texto cifrado
Clave pblica
Clave privada
Algoritmo de encriptacin
Algoritmo de desencriptacin

Cifrado asimtrico

Este esquema de par de claves admite dos variantes:


Encriptacin con clave pblica: el emisor usa la clave pblica del receptor para cifrar el
mensaje, una vez cifrado, slo la clave privada del emisor podr descifrar este mensaje,
esto garantiza la confidencialidad del mensaje. El Criptosistema sera:

30
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

Encriptacin con clave privada: el emisor, propietario del par de claves, usa su clave
privada para cifrar el mensaje, cualquiera puede descifrarlo utilizando su clave pblica.
Aqu se logra la identificacin y autentificacin del emisor (firma electrnica).

La criptografa asimtrica se basa en el uso de nmeros primos muy grandes, sobre los que
al operar sucede que:

Se usan funciones unidireccionales, cuyo clculo directo es posible, pero el clculo de la


funcin inversa tiene tal complejidad que resulta inviable
Se utilizan operaciones matemticos difciles de resolver:
Factorizacin: descomponer un nmero grande en sus factores primos
Logaritmo discreto: obtener el exponente al que ha sido elevado una base para
dar un resultado
Mochila tramposa: obtener los sumandos que han dado origen a una suma

31
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

Por lo que el uso de la fuerza bruta requerira miles de aos. Los protocolos modernos de
encriptacin como SET y PGP son prcticamente invulnerables por el tamao de los
nmeros primos que utilizan. La desventaja sin embargo, es la lentitud del proceso de
codificacin, por eso es que se establecen sistemas hbridos, donde la codificacin de la data
se hace a partir de algoritmos simtricos como DES o IDEA, mientras que se utilizan las
claves asimtricas para la comunicacin de la clave simtrica utilizada, generando lo que se
conoce como sobre digital.

Distribucin de claves secretas

La siguiente tabla muestra una comparacin entre la criptografa simtrica y la asimtrica

Segn lo expresado las dos principales ramas de la criptografa de clave pblica son:

a) Cifrado de clave pblica: un mensaje cifrado con la clave pblica de un destinatario A


no puede ser descifrado por nadie (incluyendo al que lo cifr), excepto el dueo de la
clave privada correspondiente (destinatario A), La funcin es garantizar la
confidencialidad del mensaje.

32
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

b) Firmas digitales: un mensaje firmado con la clave privada del emisor puede ser ledo
por cualquier persona que tenga acceso a la clave pblica de dicho emisor, lo que implica
que este emisor tena acceso a la clave privada (autenticacin). Ello asegura que el
mensaje no ha sido alterado, ya que cualquier manipulacin del mensaje impedira una
salida exitosa del algoritmo de resumen del mensaje (encoded message digest). Se utiliza
para garantizar la autenticidad del mensaje.

33
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

Los algoritmos de encriptacin y desencriptacin, deben cumplir lo siguiente:

1. Es computacionalmente simple para el receptor B generar el par de claves pblica PUb


y privada PRb
2. Es computacionalmente simple para el emisor A, conociendo la clave pblica y el
mensaje a ser encriptado X, el generar el texto cifrado

Y=E(PUb,X)

3. Es computacionalmente simple para el receptor B desencriptar el texto cifrado usando


la clave privada para recuperar el mensaje original:

X=D(PRb,Y)= D[PRb, E(PUb,X)]

4. Es computacionalmente imposible para un adversario, conociendo la clave pblica PUb


determinar la clave privada PRb
5. Es computacionalmente imposible para un adversario, conociendo la clave pblica PUb
y un texto cifrado Y, recobrar el mensaje original X

de manera opcional:

6. Las dos claves pueden ser aplicadas en cualquier orden

X= D[PUb, E(PRb,X)]= D[PRb, E(PUb,X)]

Son muy pocos los algoritmos que cumplen estas condiciones: RSA, curva elptica, Diffie-
Hellman, DSS)

Es posible combinar los dos tipos de aplicaciones, la de confiabilidad y autenticacin,


usando el siguiente esquema:

34
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

1.4.1 Gestin de la confiabilidad

Los sistemas asimtricos exigen que la clave pblica de un usuario sea autntica y que slo
el posea la clave privada asociada, finalmente la terna de seguridad la completa la identidad
del usuario asociada a algn cdigo nico. Existen dos tipos de esquemas para el manejo de
la confianza:

Esquemas centralizados: basados en la arquitectura cliente-servidor, donde los servidores


proveen esta gestin
Esquemas descentralizados: cada nodo del sistema tiene sus propias capacidades y
derechos.

Para garantizar las condiciones de seguridad, la mayora de arquitectos de la infraestructura


TI, asume un modelo previamente certificado por organismo competentes, dentro de los ms
usados tenemos:

a) Infraestructura de clave pblica (PKI): hay una o varias entidades emisoras de


certificados (Autoridades de certificacin o CA Certification Authority) que certifican la
autenticidad de la clave pblica y los atributos del usuario, a travs de su firma digital
(certificado del usuario).

b) Red de confianza: cada nodo es un usuario final y cada uno decide el conjunto de claves
pblicas en las que confa o acepta las relaciones de confianza de otros usuarios (usado
por ejemplo por el sistema PGP Pretty Good Privacy)

c) Criptografa basada en identidad: existe un generador de claves privadas o PKG (Private


Key Generator) que verifica la identidad del usuario y genera las claves privada y pblica
para ese usuario, mientras que difunde la pblica a todos los usuarios, la privada es
comunicada en exclusiva al usuario a quien pertenece.

d) Criptografa basada en certificados: cada usuario posee una clave privada y otra pblica,
la clave pblica se enva a una autoridad de certificacin que basndose en criptografa
basada en identidad genera un certificado que asegura la validez de los datos.

e) Criptografa sin certificados: usa un centro generador de claves o KGC (Key Generator
Center) el que genera una clave parcial, el usuario generar su clave privada completa a
35
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

partir de la clave privada parcial y un valor aleatorio generado por el usuario. La clave
pblica tambin la genera el usuario a partir de parmetros pblicos del KGC y valores
propios.

Estos modelos generarn tres niveles de confianza segn la autoridad que interviene en el
proceso (PKG, KGC o CA):

Nivel 1: la autoridad calcula claves secretas de usuarios y puede hacerse pasar como
cualquier usuario sin ser detectado (firmas basadas en identidad)
Nivel 2: la autoridad no puede calcular claves secretas de usuarios, pero puede hacerse
pasar por un usuario sin ser detectado (firmas sin certificados)
Nivel 3: la autoridad no puede calcular claves secretas de usuarios, y tampoco puede
hacerse por un usuario sin ser detectado (firmas PKI y firmas basadas en certificados)

1.4.2 Gestin de la Seguridad

La gestin de la seguridad, en base al segundo principio de Kerckhoffs, se centra en la clave


y no en el algoritmo de encriptacin, es por ello que esta se mide en base al tamao de la
clave y el tipo de sistema. Mientras que en el cifrado simtrico, claves de 128 bits son
exitosas, en el cifrado asimtrico se recomiendan claves pblicas de 1024 bits.

1.4.3 Algoritmos asimtricos

RSA
Diffie-Hellman
DSA
ElGamal
Criptografa de curva elptica
Criptosistema de Merkle-Hellman
Goldwasser-Micali
Goldwasser-Micali-Rivest
Cifrado extremo a Extremo

36
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

Usos

1.4 FUNCIONES HASH

Una funcin hash criptogrfica, es un conjunto de algoritmos usados para generar claves o
llaves que representen de manera unvoca a un documento o conjunto de datos. Es una
operacin matemtica que se realiza sobre un conjunto de datos de cualquier longitud, y la
salida es una huella digital, de tamao fijo e independiente de la dimensin del documento
original.

dE es la clave privada del emisor que firmar h(M). En el lado del receptor se descifra la
rbrica r usando la clave pblica del emisor eE, al mensaje claro M (de longitudes variables),
obtenido despus de aplicar el algoritmo de descifrado si tambin viniera cifrado, se le aplica
la misma funcin hash que en la emisin, si el resultado el igual a h(M) se asume que la
firma es autntica y se acepta el mensaje. La seguridad depende bsicamente de la longitud
del resumen h(M)

37
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

Como la funcin hash tiene un nmero de bits finito, existe la posibilidad de que existan
huellas digitales iguales para mensajes diferentes. Sin embargo, las funciones hash son
ampliamente usados en aplicaciones de seguridad y protocolos de Internet protocolos.

Las funciones hash usadas en criptografa deben cumplir los siguientes requisitos de
seguridad:

Imposibilidad de obtener el texto original a partir de la huella digital.


Imposibilidad de encontrar un conjunto de datos diferentes que tengan la misma
huella digital
Poder transformar un texto de longitud variable en una huella de tamao fijo
Facilidad de empleo e implementacin.

Las funciones hash usadas en criptografa deben tener las siguientes propiedades:

1) Unidireccionalidad: conocido un resumen h(M), debe ser computacionalmente


imposible encontrar M a partir de dicho resumen.
2) Compresin: a partir de un mensaje de longitud m, el resumen h(M) debe tener una
longitud fija n. Lo normal es que n<m.
3) Facilidad de clculo: debe ser fcil computar h(M) a partir de un mensaje M.
4) Difusin: el resumen h(M) debe ser una funcin compleja de todos los bits del
mensaje M, si se modificara un bit del mensaje M, el hash h(M) debera cambiar
aproximadamente en la mitad de sus bits
5) Colusin simple o resistencia dbil a las colisiones (CRHF: STRONG ONE WAY
HASH FUNCTION): conocido M, ser computacionalmente imposible encontrar
otro M distinto tal que h(M) = h(M).
6) Resistencia a la preimagen (ONE WAY HASH FUNCION): para prcticamente
cualquier entrada es computacionalmente irrealizable encontrar un x (desconocido)
tal que h(x)=y (conocido)
38
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

7) Resistencia a la segunda preimagen (OWHF: WEAK ONE WAY HASH


FUNCTION): dados x y su correspondiente y=h(x), es computacionalmente
irrealizable encontrar otro x distinto a x tal que y=h(x)=y
8) No correlacin: los bits de entrada y los bits de salida no deben estar correlacionados.
Tambin es deseable que los cambios en cada bit de entrada afecta a cada bit de
salida.
9) Resistencia a la casi colisin: debe ser difcil obtener dos entradas (x, x) para las
cuales sus imgenes (y, y) difieran solamente en unos pocos bits.
10) Resistencia a las preimgenes parciales: debe ser igual de difcil recuperar una parte
de la preimgen de un hash que recuperar la totalidad. (Adems si se conoce una
parte de la preimgen debe ser difcil obtener el resto de ella a partir del hash, o sea
si se desconocen t bits de la preimgen, debe tomar en promedio 2t-1 operaciones
hashing hasta descubrirlos)

1.4.3 Aplicaciones de las funciones hash

a) Autenticacin de mensajes

Servicio usado para verificar la integridad del mensaje y que haya sido enviado por quien
dice, asegurando que el contenido no se haya modificado, borrado o rechazado, los mensajes
as autenticados se denominan message digest. Hay diferentes formas de proveer
autenticacin de mensajes.

El mensaje y el cdigo hash concatenados son encriptados usando encriptacin simtrica,


como slo emisor y receptor conocen la clave, este esquema provee autenticacin y
confidencialidad.

Solo el cdigo hash code es encriptado de manera simtrica, esto reduce el


procesamiento y se usa cuando la confidencialidad no es requerida.

Se puede usar la funcin hash para la autenticacin, pero no se implementa encriptacin.


La tcnica asume que ambas partes comparten un valor secreto, pero como este no se
enva, un intruso no puede modificar un mensaje interceptado

39
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

Se puede aadir confidencialidad al mtodo anterior encriptando el mensaje ms el


cdigo hash

La seleccin del tipo de esquema a usar se hace considerando que

El software de encriptacin es lento, aun cuando el tamao del mensaje sea pequeo.
El costo del hardware de encriptacin puede ser prohibitivo, aun cuando se use para DES
chips de bajo costo, el costo se incrementa en funcin al nmero de nodos en la red
El hardware para encriptacin est optimizado para tamaos de datos muy grandes, si
esto no es as una gran proporcin del tiempo se usar en operaciones de inicializacin e
invocacin.
Los algoritmos de encriptacin generan costos adicionales por licencias de uso

Una de las funciones hash ms usadas es el message authentication code (MAC) o keyed
hash function, la que es usada entre dos nodos que establecen una clave secreta compartida
para el intercambio de informacin. MAC toma la clave secreta y un bloque de datos para
producir un valor hash el que se transmite con el mensaje protegido; si la integridad de este
necesita validarse, la funcin MAC se aplica al mensaje y se compara con el valor MAC
almacenado. Un ataque que altera el mensaje no podr alterar la MAC sino conoce la clave
secreta, los algoritmos MAC sueles ser ms eficientes que los algoritmos de encriptacin al
generar bloques de longitud fija

b) Firmas digitales

Funciona de manera semejante a MAC, el valor hash del mensaje y la clave privada del
usuario son encriptados, el que conoce la clave pblica del usuario podr verificar su
identidad

El cdigo hash es protegido usando encriptacin asimtrica con la clave privada del
emisor, la autenticacin reside en que slo el emisor habr producido el cdigo hash
encriptado

40
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

Si tambin se desea confidencialidad adems de la firma digital, el mensaje y el cdigo


hash de la clave privada sern encriptados usando una clave secreta en forma simtrica

c) Otras aplicaciones

Las funciones hash se suelen utilizar tambin para

Crear password para proteger archivos


Para detectar intrusiones
Para detectar virus
Como generador de funciones y nmeros pseudoaleatorios
Confirmacin de conocimiento (ACK)
Obtencin de claves aleatorias
Almacenamiento seguro de contraseas
Autenticacin mutua en protocolos de enlace remoto
Autenticacin de sistemas

41
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

1.4.4 Funciones hash ms comunes

MD5: Ron Rivest 1992. Mejoras al MD4 y MD2 (1990), es ms lento pero con mayor
nivel de seguridad. Resumen de 128 bits. Es una funcin hash de 128 bits. Como todas
las funciones hash, toma unos determinados tamaos a la entrada, y salen con una
longitud fija (128bits). El algoritmo MD5 no sirve para cifrar un mensaje. La
informacin original no se puede recuperar, ya que est especficamente diseado para
que a partir de una huella hash no se pueda recuperar la informacin. Actualmente esta
funcin hash no es segura utilizarla, nunca se debe usar

SHA-1: Del NIST, National Institute of Standards and Technology, 1994. Similar a
MD5 pero con resumen de 160 bits. Existen otras nuevas propuestas conocidas como
SHA-256 y SHA-512. Es parecido al famoso MD5, pero tiene un bloque de 160bits en
lugar de los 128bits del MD5. La funcin de compresin es ms compleja que la funcin
de MD5, por tanto, SHA-1 es ms lento que MD5 porque el nmero de pasos son de 80
(64 en MD5) y porque tiene mayor longitud que MD5 (160bits contra 128bits). SHA-1
es ms robusto y seguro que MD5, pero ya se han encontrado colisiones, por tanto,
actualmente esta funcin hash no es segura utilizarla, nunca se debe usar.

SHA-2: las principales diferencias con SHA-1 radica en en su diseo y que los rangos
de salida han sido incrementados. Dentro de SHA-2 encontramos varios tipos, el SHA-
224, SHA-256, SHA-384 y SHA-512. El ms seguro, es el que mayor salida de bits
tiene, el SHA-512, que tiene 80 rondas (pasos), como el SHA-1 pero se diferencia de
ste en:

o Tamao de salida 512 por los 160 de SHA-1.


o Tamao del bloque, tamao de la palabra y tamao interno que es el doble que
SHA-1.
o Como ocurre con todos los cifrados y hash, cuanto ms seguro, ms lento su
procesamiento y uso, debemos encontrar un equilibrio entre seguridad y velocidad.

RIPEMD: Comunidad Europea, RACE, 1992. Resumen de 160 bits.


N-Hash: Nippon Telephone and Telegraph, 1990. Resumen: 128 bits.
Snefru: Ralph Merkle, 1990. Resmenes entre 128 y 256 bits. Ha sido criptoanalizado
y es lento.
Tiger: Ross Anderson, Eli Biham, 1996. Resmenes de hasta 192 bits. Optimizado para
mquinas de 64 bits (Alpha).
Panama: John Daemen, Craig Clapp, 1998. Resmenes de 256 bits de longitud. Trabaja
en modo funcin hash o como cifrador de flujo.
Haval: Yuliang Zheng, Josef Pieprzyk y Jennifer Seberry, 1992. Admite 15
configuraciones diferentes. Hasta 256 bits.

42
Mgter. Lucy Delgado Barra
SISTEMAS DE SEGURIDAD CRTICA

1.4.5 Ataques a funciones hash

Ataque del cumpleaos


Ataque de seudo-colisiones y funciones de compresin
Ataques encadenados
Ataques al motor de encriptacin
Ataques de colisiones diferenciales (Chabaud-Joux)

http://www.fileformat.info/tool/hash.htm

43
Mgter. Lucy Delgado Barra

You might also like