Sistemas criptogrficos
La comunicacin segura requiere
Confidencialidad
Integridad
Autenticidad
No rechazo
Criptologa
Ciencia que se encarga del estudio
de mecanismos de ocultacin y
encubrimiento de la informacin
Critpografa (Datos: texto, imgenes,
video)
Criptofona (voz)
Criptoanlisis (descifrado de
criptosistemas)
Criptosistema
Sistema que implementa un algoritmo criptogrfico para
cifrar y descifrar informacin
Criptosistemas simtricos
Utilizan una misma clave para cifrar y descifrar
Criptosistemas asimtricos
Utilizan un par de claves, una privada y otra pblica
Criptoanlisis
La prctica y estudio de los
mecanismo para la determinacin
del significado de informacin
cifrada (rompiendo el cdigo), sin
acceso a la clave secreta.
Los mtodos ms usados para
Criptoanlisis:
Mtodo de fuerza bruta
Mtodo de slo texto cifrado
Mtodo de texto plano conocido
Mtodo de texto plano escogido
Mtodo de texto cifrado escogido
Mtodo Meet-in-the-Middle
Criptologa en redes
La autenticacin, integridad y confidencialidad de los datos se
implementa en muchas formas utilizando diversos protocolos y
algoritmos.
La eleccin de alguna depende del nivel de seguridad requerido en la
poltica de seguridad.
Integridad
Hashes
Criptogrficos,
protocolos y
algoritmos comunes
MD5 (dbil)
SHA (fuerte)
Autenticacin
Confidencialidad
HMAC-MD5
DES (dbil)
HMAC-SHA-1
3DES
RSA y DSA
AES (fuerte)
Criptologa en redes
La seguridad de cifrado se encuentra en el secreto de las claves,
no en el algoritmo usado.
Algoritmos de cifrado antiguos se basan en el secreto del
algoritmo para lograr la confidencialidad.
Con la tecnologa moderna el secreto del algoritmo ya no importa
ya que la ingeniera inversa con frecuencia es simple, por tanto,
los algoritmos de dominio pblico son de uso frecuente.
Ahora, el descifrado con xito requiere conocimiento de las claves.
Cmo se pueden mantener las claves en secreto?
Funciones de Una Va
Son parte fundamental de la criptografa de clave pblica
Son fciles de generar, pero difciles de revertir
Dado x es fcil obtener H(x)
Dado H(x) es difcil obtener x
Ej.: Romper un plato
MD5
SHA-1
Qu significa difcil?
Tomara mucho tiempo (millones de aos?) calcular un
valor, incluso si todas las computadoras en el mundo
fueran asignadas al problema
Ej.: Contar la estrellas
Matemticamente, no existen evidencias fuertes de que
pueda ser alcanzable
Funciones de una va tramposas
Son funciones de una va que tienen una puerta trasera
(trapdoor)
Dado x es fcil obtener f(x)
Dado f(x) es difcil obtener x
Pero, existe un secreto y tal que dados y y f(x) es fcil obtener x
Ej.: Desarmar un reloj a cuerda y tratar de armarlo con/sin
un manual
Funciones resumen de una va
Funcin compresin, Resumen de Mensaje, Fingerprint,
cdigo de deteccin de manipulacin (MDC)
Toma una informacin de entrada de tamao variable
(pre-imagen) y la convierte en una informacin de salida
de tamao fijo (valor resumen Hash) generalmente de
tamao pequeo
Cualquier modificacin en la pre-imagen implica un valor
Hash diferente
Ha sido diseada para verificar y asegurar:
Integridad de los datos
Autenticacin
Los Hashes se usan
Para confirmar la autenticidad cuando se utiliza con una clave de
autenticacin secreta simtrica, como la seguridad IP (IPsec) o la
autenticacin de protocolos de enrutamiento.
Para proporcionar autenticacin mediante la generacin de
respuestas de una sola vez y en un solo sentido a los desafos en
los protocolos de autenticacin como el CHAP PPP.
Para proporcionar una prueba de comprobacin de integridad de
mensaje como las usadas cuando se accede a un sitio seguro
usando un navegador.
Para confirmar que un archivo descargado no ha sido alterado.
Libertad de Colisin
Los Hashes son libres de colisin, lo que significa que dos
diferentes valores de entrada generan diferentes resultados
Hash.
Hash para integridad
Hashing slo avisa que el mensaje cambi, tal como por un error de
comunicacin o por un ataque.
Todava es susceptible a ataques de intermediario.
Un potencial atacante puede interceptar un mensaje, cambiarlo, volver a
calcular el hash, y aadirlo al mensaje.
No hay nada que vincule al remitente en el procedimiento de hashing, por lo
que cualquiera puede calcular un hash para cualquier dato, mientras tengan
la funcin Hash correcta.
Estas son dos funciones Hash bien conocidas:
Message Digest 5 (MD5) con resmenes de 128 bits
Secure Hash Algorithm 1 (SHA-1) con resmenes de 160 bits
Hash para integridad
El emisor aplica el algoritmo de
hash al mensaje y computa su
resumen de longitud fija o
fingerprint.
El receptor remueve el fingerprint
del mensaje y aplica al mensaje el
mismo algoritmo de hash.
MD5
SHA-1
MD5
SHA-1
El fingerprint es adjuntado al
mensaje y ambos son enviados
al receptor en texto plano.
Si el hash resultante es igual al
que vino adjunto al mensaje,
significa que el mensaje no fue
alterado durante su trnsito.
Keyed-Hash Message Authentication
Code
HMAC (o KHMAC) es un cdigo de autenticacin de mensajes
(MAC) que se calcula usando una funcin hash y una clave
secreta.
Las funciones hash son la base del mecanismo de proteccin de
HMAC.
La salida de la funcin hash depende ahora de los datos de entrada y
la clave secreta.
La autenticidad est garantizada ya que slo el emisor y el
receptor conocen la clave secreta.
Slo ellos pueden calcular el resumen de una funcin HMAC.
Esta caracterstica mitiga ataques de inetrmediario y proporciona
autenticacin del origen de datos.
Keyed-Hash Message Authentication
Code
La fuerza criptogrfica de HMAC depende de:
La fuerza criptogrfica de la funcin Hash subyacente.
El tamao y calidad de la clave.
El tamao de la longitud del Hash de salida en bits.
Las tecnologas de Cisco utilizan dos funciones bien conocidas
HMAC:
MD5 o HMAC-MD5 se basa en el algoritmo de hash MD5.
SHA-1 o HMAC-SHA-1 se basa en el algoritmo de hash SHA-1.
HMAC en Accin
Data enviada
Data Recibida
Pay to Terry Smith
$100.00
One Hundred and xx/100
Dollars
HMAC
(Fingerprint
autenticado)
Clave
Secreta
4ehIDx67NMop9
Pay to Terry Smith
$100.00
One Hundred and xx/100
Dollars
4ehIDx67NMop9
Pay to Terry Smith
$100.00
One Hundred and xx/100
Dollars
HMAC
(Fingerprint
autenticado)
Clave
Secreta
4ehIDx67NMop9
Si el HMAC generado coincide con el
HMAC recibido, entonces la
integridad y autenticidad han sido
verificadas.
Si no coinciden, descartar el
mensaje.
Criptosistema Simtrico
Llamados algoritmos de clave secreta compartida.
Utilizan la misma clave secreta pre-compartida para cifrar y
descifrar datos.
La clave pre-compartida es conocida por el remitente y el
receptor antes de que comience cualquier comunicacin
cifrada.
Si alguien obtiene esta clave, el sistema est comprometido
Criptosistemas simtricos
Debido a que ambas partes estn protegiendo un secreto
compartido, los algoritmos de cifrado utilizados pueden tener
longitudes de clave ms cortas.
Las longitudes de clave ms cortas significan una ejecucin ms
rpida.
Por esta razn los algoritmos simtricos son generalmente mucho
menos intensivos computacionalmente que los algoritmos
asimtricos.
Algoritmos de clave simtrica
Algoritmos de cifrado conocidos que utilizan claves simtricas:
DES
3DES
AES
Algoritmo de cifrado por software (SEAL)
Sistemas de cifrado Rivest (RC) series (RC2, RC4, RC5 y RC6)
Otros algoritmos de cifrado simtrico incluyen Blowfish, Twofish,
Threefish, y Snake.
Existen dos tipos de algoritmos de cifrado:
Cifrado en bloque
Cifrado en flujo
Cifrado en bloque
Transforma un bloque de longitud fija de texto claro en un bloque comn
de texto cifrado de 64 o 128 bits.
El tamao de bloque se refiere a la cantidad de datos se cifra en un momento
dado.
La longitud de la clave se refiere al tamao de la clave de cifrado que se
utiliza.
Este texto cifrado se descifra aplicando la transformacin inversa al bloque de
texto cifrado, utilizando la misma clave secreta.
Cifrados de bloque comunes incluyen:
DES con un tamao de bloque de 64 bits
AES con un tamao de bloque de 128 bits
RSA con un tamao de bloque variable
Cifrado en flujo
Cifrados de flujo cifra texto plano de un byte o un bit a la vez.
El cifrado Vigenre es un ejemplo de un cifrado de flujo.
Puede ser mucho ms rpido que el cifrado en bloque, y
generalmente no aumentan el tamao del mensaje.
Cifrados de flujo comunes incluyen:
A5 se utiliza para cifrar las comunicaciones de telefona celular GSM.
Cifrado RC4.
DES tambin se puede utilizar en el modo de cifrado de flujo.
Algoritmos de cifrado simtrico
Algoritmos de
cifrado simtrico
Longitud de clave
(en bits)
Descripcin
Desarrollado por IBM en la dcada de 1970, adoptado como estndar por NIST hasta 1997
DES (Data
Encryption
Standard)
56
Utiliza una clave compartida para cifrar y descifrar bloques de 64-bits
Diseado para implementarse en Hardware, resulta muy lento en Software
Se consideraba irrompible, y pese a ser obsoleto an se utiliza frecuentemente.
3DES
112 y 168
Aplica DES tres veces, lo que significa que los datos de entrada se cifran tres veces, por lo que se
considera ms fuerte que DES.
Resulta bastante lento en comparacin con los nuevos sistemas de cifrado de bloques tales como
AES.
Estndar aprobado por la Federal Information Processing Standard (FIPS).
Basado en el algoritmo Rijndael. Su longitud de clave lo vuelve ms fuerte que DES.
AES (Advanced
Encryption
Standard)
128, 192 y 256
SEAL (Software
Encryption
Algorithm)
160
Algoritmos RC
AES es ms eficiente que DES y 3DES en hardware, por un factor de cinco comparado con DES.
Adecuado para alto rendimiento, entornos de baja latencia, especialmente si se utiliza cifrado por
software
Diseado en 1993, es un algoritmo de cifrado de flujo, los datos se cifran de forma continua, por lo
que, es ms rpido que los cifrados en bloque.
Tiene menor impacto en la CPU en comparacin con otros algoritmos basados en software
RC2 (40 y 64)
Diseados por Ronald Rivest, quien tambin invent MD5.
RC4 (1 a 256)
Son ampliamente utilizados en muchas aplicaciones de redes debido a su alta velocidad y
capacidades clave de longitud variable
RC5 (0 a 2040)
RC6 (128, 192 y 256)
RC1 nunca se public y RC3 se descart antes de comenzar a ser utilizado.
RC4 es el algoritmo de cifrado en flujo ms utilizado.
Gestin de claves simtricas
La gestin de claves puede ser un reto, ya que las claves de
cifrado y descifrado son iguales.
La seguridad de un algoritmo simtrico reside en el secreto de la
clave simtrica.
Con la obtencin de la clave, cualquier persona puede cifrar y
descifrar mensajes.
Emisor y el receptor deben intercambiar la clave secreta usando un
canal seguro antes de que ocurra algn tipo de cifrado.
Distribucin de claves simtricas
COMUNICACIONES CIFRADAS EXTREMO A EXTREMO
Comunicacin extremo a
extremo
Dada una red con n
comunicantes, todas deben
establecer comunicacin con
todas punto a punto
Se utiliza una clave
compartida para cada enlace
Se requieren n(n-1)/2 claves
Viable slo en redes
reducidas de confianza mutua
Keb
A
Kea
Kec(m)
C
Ked
K: Clave compartida
Distribucin de claves simtricas
Comunicacin centralizada
El Centro de Distribucin de
Claves (KDC) genera y
comparte claves con todos los
participantes
Todos se comunican slo con
el KDC
Cuando A quiere comunicarse
con D, enva sus datos al
KDC con la clave compartida
que tiene con l
El KDC reenva los datos
hacia D con la clave que
comparte con D
Ej.: GSM
COMUNICACIN CIFRADA USANDO UN CENTRO DE
DISTRIBUCIN DE CLAVES
Kd(m)
KDC
Ka(m)
D
KDC: Key Distribution Center
K: Clave pblica
Distribucin de claves simtricas
COMUNICACIN CIFRADA USANDO UN CENTRO DE
GESTIN DE CLAVES
El Centro de Gestin de
Claves (KMF) genera y
comparte claves con todos los
participantes
Cuando A quiere comunicarse
con D, enva una peticin p
hacia KMF usando la clave
compartida que tiene con l
Si KMF reconoce a A como
entidad vlida, genera una
clave de sesin (Ks) exclusiva
para A y D, se las enva a
ambas entidades
A y D utilizan la clave de
sesin para comunicarse entre
s
Kb(Ks)
KMF
Ka(Ks)
Ka(p)
Ks(m)
A
KMF: Key Management Facility
K: Clave pblica
p: Peticin de comunicacin
m: Mensaje a enviar
Ks: Clave de Sesin
Criptosistema Asimtrico
Tambin llamado criptografa de clave pblica, usa diferentes claves
para cifrar y descifrar datos.
Permiten intercambiar mensajes seguros sin utilizar una clave precompartida.
No hay necesidad de ponerse de acuerdo en una clave comn tanto para el emisor
y el receptor.
Debido a que ambas partes no tienen un secreto compartido,
longitudes de claves muy largas deben ser utilizados para frustrar los
atacantes.
Si se obtiene la clave privada, el sistema est comprometido
Algoritmos de clave pblica
Son algoritmos asimtricos basados en el uso de dos claves diferentes
en lugar de una.
Clave privada: Slo conocida por su propietario.
Clave pblica: Conocida por todo el mundo.
La clave de descifrado no puede, en un tiempo razonable, calcularse a
partir de la clave de cifrado y viceversa.
Una clave puede usarse para cifrado pero la correspondiente clave
complementaria se requiere para descifrado.
Si la clave pblica cifra datos, la respectiva clave privada descifra datos.
Si la clave privada cifra datos, la respectiva clave pblica descifra datos.
Proceso
El emisor cifra el mensaje
usando la clave pblica del
receptor.
Esta clave es conocida por todos.
El mensaje cifrado es enviado al
receptor, quien descifra el
mensaje con su clave privada.
Slo el receptor puede descifrar el
mensaje ya que nadie ms conoce la
clave privada.
CIA
Este proceso permite a los algoritmos asimtricos alcanzar:
Confidentialidad
Integridad
Autenticacin
Autenticacin = Clave privada (Cifrado) + Clave pblica (descifrado)
Confidentialidad = Clave pblica (descifrado) + Clave privada (Cifrado)
Algoritmos asimtricos para autenticacin
1.
Alice cifra un mensaje con su clave privada.
2.
Alice transmite el mensaje cifrado a Bob.
3.
Para verificar que el mensaje realmente proviene de Alice, Bob solicita y
adquiere la clave pblica de Alice.
4.
Bob usa la clave pblica para descifrar el mensaje y autenticar que el
mensaje, indudablemente proviene de Alice.
Algoritmos asimtricos para
confidencialidad
1. Alice consulta a Bob por su clave pblica y Bob se la enva.
2. Alice usa la clave pblica de Bob para cifrar un mensaje con un algoritmo
acordado.
3. Alice enva el mensaje cifrado a Bob.
4. Bob usa su clave privada para descifrar y revelar el mensaje.
Combinando Autenticacin y
Confidencialidad
1. Alice cifra un mensaje usando la clave pblica de Bob.
2. Alice cifra un Hash del mensaje usando su clave privada.
3. Bob usa la clave pblica de Alice para descifrar y revelar el Hash.
4. Bob usa su clave privada para descifrar y revelar el mensaje.
Algoritmos de clave asimtrica
Algoritmo
DH (Diffie-Hellman)
DSS (Digital Signature
Standard) y DSA
(Digital Signature
Algorithm)
Algoritmos RSA
EIGamal
Tcnicas de curvas
elpticas
Longitud de
clave (en bits)
512, 1024, 2048
Descripcin
Inventado en 1976 por Whitfield Diffie y Martin Hellman. Permite a dos partes acordar una
clave que pueden utilizar para cifrar mensajes.
Su seguridad depende de la suposicin de que es fcil elevar un nmero a una determinada
potencia, pero difcil de calcular la potencia que se utiliz a partir del nmero y el resultado.
512 - 1024
Creado por NIST, especifica DSA como algoritmo para firmas digitales.
DSA es un algoritmo de clave pblica basado en el esquema de firma ElGamal.
La velocidad de creacin de la firma es similar con RSA, pero es 10 a 40 veces ms lenta
para su verificacin.
512 to 2048
Desarrollado por Ron Rivest, Adi Shamir y Leonard Adleman en 1977 en el MIT.
Es un algoritmo de clave pblica basado en la dificultad de factorizar nmeros muy grandes.
Es el primer algoritmo que se sabe que es adecuado para firmas, as como para cifrado, y
uno de los primeros grandes avances en la criptografa de clave pblica.
Ampliamente utilizado en protocolos de comercio electrnico, y se considera seguro con
claves suficientemente largas y el uso de implementaciones actualizadas.
512 - 1024
Algoritmo de cifrado de clave asimtrica que se basa en el acuerdo de clave de DiffieHellman.
Desarrollado en 1984 y utilizado en aplicaciones como GNU Privacy Guard, PGP y otros
criptosistemas.
Una desventaja es que el mensaje encriptado se vuelve muy grande, aproximadamente el
doble del tamao del mensaje original y por este motivo slo se utiliza para mensajes
pequeos como claves secretas.
160
Inventadas por Neil Koblitz en 1987 y por Victor Miller en 1986.
Puede utilizarse para adaptar muchos algoritmos criptogrficos, como Diffie-Hellman o
ElGamal.
La principal ventaja de la criptografa de la curva elptica es que las claves pueden ser mucho
ms pequeas.
Algoritmos de clave asimtrica
Aunque las matemticas difieren con cada algoritmo, todos
comparten el hecho de que los clculos requeridos son
complicados.
El diseo se basa en factorizar nmeros extremadamente
grandes o computar logaritmos discretos de un nmero
extremadamente grande.
Estos algoritmos son intensivos en recursos
Como resultado, el clculo toma ms tiempo para los algoritmos
asimtricos.
Puede ser hasta 1.000 veces ms lento que los algoritmos simtricos.
Debido a que carecen de velocidad, se utilizan tpicamente en
mecanismos criptogrficos de bajo volumen.
Longitudes de clave
Las longitudes de clave tpicas para algoritmos asimtricos varan
de 512 a 4096 bits.
Longitud de clave >= 1024 bits
Longitud de clave < 1024 bits
Considerada como confiable
Considerada no fiable
No se puede comparar algoritmos asimtricos y simtricos porque
presentan diseos subyacentes muy diferentes.
Por ejemplo:
Una clave de cifrado de 2048 bits en RSA es ms o menos equivalente a
una clave de 128 bits en RC4 en trminos de resistencia contra los ataques
de fuerza bruta.
Claves de Sesin
Es una clave concertada entre Emisor y Receptor que se
genera para una comunicacin determinada
Es una clave de usar y botar
Acelera el proceso de cifrado en comunicaciones
telemticas
Diffie-Hellman (DH)
DH es un protocolo criptogrfico asimtrico que
permite que dos partes que no tienen ningn
conocimiento previo una de la otra puedan
establecer conjuntamente una clave secreta
compartida a travs de un canal de
comunicacin inseguro.
Esta clave puede ser utilizada para cifrar las
comunicaciones posteriores utilizando un
sistema de cifrado de clave simtrica.
Publicado por Whitfield Diffie y Martin Hellman
en 1976.
DH
DH se utiliza comnmente cuando se intercambian datos
utilizando una VPN IPsec, los datos se cifran en Internet
utilizando SSL o TLS, o cuando se intercambian datos SSH.
No es un mecanismo de cifrado y no se utiliza normalmente para
cifrar los datos, ya que es extremadamente lento para cualquier
tipo de cifrado masivo.
Por esta razn, es comn para cifrar el grueso del trfico
utilizando un algoritmo simtrico y utilizar el algoritmo de DH para
crear claves que sern utilizadas por el algoritmo de cifrado.
Algoritmo Diffie-Hellman
Mdulo
En computacin, la operacin mdulo retorna el residuo de la
divisin de un nmero entre otro.
Dados dos nmeros, X e Y, N = X mdulo Y (abreviado como X
mod Y) es el residuo de dividir X entre Y.
Por ejemplo:
"8 mod
3" debiera evaluarse como 2.
"9 mod 3" debiera evaluarse como 0.
Intercambio de claves DH entre Alice y Bob
Alice
Shared
Secret
Bob
Calc
5, 23
Shared
Secret
Calc
5, 23
6
56mod 23 = 8
Bob y Alice acuerdan usar un nmero base g=5 y un nmero
primo p=23.
Alice elige un entero secreto a=6.
Alice enva a Bob (ga mod p) o 56 mod 23 = 8.
Intercambio de claves DH entre Alice y Bob
Alice
Shared
Secret
Bob
Calc
5, 23
Shared
Secret
Calc
15
515mod 23 = 19
5, 23
6
56mod 23 = 8
196mod 23 = 2
Al mismo tiempo Bob elige un entero secreto b=15.
Bob enva a Alice (ga mod p) 515 mod 23 = 19.
Alice calcula (xa mod p) 196 mod 23 = 2.
Bob calcula (xa mod p) 86 mod 23 = 2.
815mod 23 = 2
Intercambio de claves DH entre Alice y Bob
Alice
Shared
Secret
Bob
Calc
5, 23
Shared
Secret
Calc
15
515mod 23 = 19
5, 23
6
56mod 23 = 8
196mod 23 = 2
815mod 23 = 2
El resultado (2) es el mismo para Alice y Bob.
Ellos ahora usarn este valor como clave secreta para el cifrado.
Intercambio de claves DH entre Alice y Bob
BTW:
El entero secreto inicial usado por Alice (6) y Bob (15) es un nmero
muy, muy largo (1024 bits).
8 bits = 10101010
1024 bits =
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
101010101010101010101010101010101010101010101010101010101010101010101010101010101010
1010101010101010101010101010101010101010101010101010101010101010
Firmas digitales
Las firmas digitales se utilizan en las siguientes situaciones:
Para proporcionar una prueba nica de la fuente de datos, que slo
puede ser generada por una nica parte, como la firma del contrato en
entornos de comercio electrnico.
Para autenticar un usuario mediante el uso de la clave privada de
dicho usuario y la firma que genera.
Para comprobar la autenticidad e integridad de los certificados PKI.
Para proporcionar el no repudio usando una marca de tiempo seguro
y una fuente de tiempo confiable.
Cada parte tiene una clave de firma secreta nica, que no es
compartida con terceras partes, permitiendo el no repudio.
Servicios de seguridad de la firma digital
La autenticidad de los datos firmados digitalmente:
Las firmas digitales autentican a la fuente, lo que demuestra que una
determinada parte ha visto y firmado los datos en cuestin.
Integridad de los datos firmados digitalmente:
Las firmas digitales garantizan que los datos no han cambiado desde
el momento en que se firmaron.
No repudio de la transaccin:
El destinatario puede llevar los datos a un tercero, y el tercero acepta
la firma digital como una prueba de que este intercambio de datos
tuvo lugar.
El firmante no puede repudiar la firma de los datos.
Firmas digitales
1. Bob crea un hash del documento.
2. Bob cifra el hash con la clave privada.
3. El hash cifrado, conocido como la firma, se agrega al documento.
4. Alice acepta el documento con la firma digital y obtiene la clave pblica de Bob.
5. Alice descifra la firma usando la clave pblica de Bob para revelar el valor asumido de hash.
6. Alice calcula el hash del documento recibido sin su firma, y compara el hash qeu obtiene con el
hash de la firma descifrada, y si los valores de hash coinciden el documento es autntico.
Firma Digital
Para realizar la firma digital se utilizan normalmente algoritmos
asimtricos conocidos como RSA o algoritmos de firma digital
(DSA).
En 1994, NIST de [Link]. seleccion a DSA como el Estndar
de Firma Digital (DSS).
DSA se basa en el problema del logaritmo discreto y slo puede
proporcionar firmas digitales.
Un administrador de red debe decidir si RSA o DSA es ms
apropiado para una situacin dada.
La generacin de la firma DSA es ms rpida que la verificacin de
firmas DSA.
La verificacin de la firma RSA es mucho ms rpida que la
generacin de firmas RSA.
Gestin de claves
A menudo considerado como la parte ms difcil de disear un
sistema de cifrado.
Hay varias caractersticas esenciales de la gestin de claves a
tener en cuenta:
Generacin de Claves
Verificacin clave
Almacenamiento de claves
Intercambio de Claves
Revocacin y destruccin clave
Gestin de claves
Generacin de Claves:
La generacin de claves en los sistemas criptogrficos modernos es
generalmente automatizada.
Verificacin clave:
Casi todos los algoritmos criptogrficos tienen algunas claves dbiles
que no deben ser utilizadas (por ejemplo, cifrado Csar ROT 0 ROT
25).
Con la ayuda de procedimientos de verificacin de claves, estas
claves pueden regenerarse si se presentan.
Almacenamiento de claves:
Los sistemas criptogrficos modernos almacenan las claves del
sistema en la memoria.
Gestin de claves
Cambio de clave:
Los procedimientos de gestin de claves deben proporcionar un
mecanismo de intercambio de claves segura a travs de un medio
que no se confa.
Revocacin y Destruccin de clave:
La revocacin notifica a todos los interesados que cierta clave ha sido
comprometida y no debiera ser utilizada por ms tiempo.
La destruccin borra claves viejas de forma que se evite que los
atacantes maliciosos puedan recuperarlos.
Longitud de clave y espacio de claves
La longitud de la clave es la medida en bits y el espacio de claves es el
nmero de posibilidades que pueden ser generadas por una
determinada longitud de clave.
A medida que la longitud de clave crece, el espacio de claves se
incrementa exponencialmente:
Long. clave
2
Long. clave 3
Long. clave 4
Long. clave 40
= espacio de claves de 4 (22)
= espacio de claves de 8 (23)
= espacio de claves de 16 (24)
= espacio de claves de 1,099,511,627,776 (240)
DES Key Length
Keyspace
# of Possible Keys
56 bit
256
72,000,000,000,000,000
57 bit
257
144,000,000,000,000,000
58 bit
258
288,000,000,000,000,000
59 bit
259
576,000,000,000,000,000
Tipos de claves criptogrficas
Las claves simtricas que pueden ser intercambiados entre dos
routers que soportan una VPN.
Las claves asimtricas que se utilizan en aplicaciones segura
HTTPS.
Las firmas digitales que se utilizan cuando se conecta a un sitio
web seguro.
Claves hash que se utilizan en la generacin de clave simtrica y
asimtrica, las firmas digitales, y otros tipos de aplicaciones.
Proteccin provista por tipo de clave
Clave Simtrica
Clave
Asimtrica
Firma Digital
Hash
Proteccin hasta
3 aos
80
1248
160
160
Proteccin hasta
10 aos
96
1776
192
192
Proteccin hasta
20 aos
112
2432
224
224
Proteccin hasta
30 aos
128
3248
256
256
Proteccin contra
computadoras
cunticas
256
15424
512
512
Distribucin de claves asimtricas
ESQUEMA GENERAL
Se almacenan las claves
pblicas de todos los
comunicantes en un Servidor
de Informacin de Claves
Pblicas
El Servidor trabaja fuera de
lnea
Proporciona a la entidad que
lo solicite la clave pblica de
las entidades restantes
Kp(A)
:
Kp(E)
Servidor de
Informacin de
Claves pblicas
B
Kp(B)
Ks(B)
Kp(A)
Ks(A)
Kp(E)
Ks(E)
Ks: Clave secreta (privada)
Kp: Clave pblica
Kp(D)
Ks(D)
Kp(C)
Ks(C)
Limitaciones de Distribucin de
claves asimtricas
VULNERABILIDADES DEL ESQUEMA GENERAL
Algn equipo ajeno al dominio
de seguridad puede hacerse
pasar por el Servidor de Claves
Pblicas
ste Servidor Intruso, puede
generar claves pblicas falsas
que seran aceptadas por los
comunicantes
El Servidor Intruso, tiene acceso
total al contenido de los
mensajes
Kp(A) ?
:
Kp(E) ?
Servidor
Intruso
Kp(A)
:
Kp(E)
Servidor de
Informacin de
Claves pblicas
Kp(B)
Ks(B)
Kp(A)
Ks(A)
Kp(E)
Ks(E)
Ks: Clave secreta (privada)
Kp: Clave pblica
Kp(D)
Ks(D)
Kp(C)
Ks(C)
Terceras Partes de Confianza (TTPs)
Third Trusted Partys
Agente telemtico que a requerimiento de las partes,
emite automticamente piezas de informacin que sirven
de pruebas o evidencias para determinados servicios de
seguridad
Todos en el dominio de seguridad confan en los
informes de la Tercera Parte de Confianza
Debe ser una entidad imparcial y que goce de total
confiabilidad
Se debe tener total certeza de que la TTP es quien dice
ser
Funciones y servicios de TTP
Entidades que certifican la validez de una pieza de
informacin
Dispositivos de monitorizacin de eventos que ocurran en
la red
Notarios electrnicos en determinados dominios de
seguridad
Ofrecen los siguiente servicios:
Autenticacin e integridad
Confidencialidad
Control de Acceso
No repudio
Distribucin de claves asimtricas
ESCENARIO CON UNA AUTORIDAD CERTIFICADORA
CA<<Kp(A)>>
:
CA<<Kp(E)>>
Autoridad de
Certificacin (CA)
CA<<Kp(A)>>
:
CA<<Kp(E)>>
Servidor
Certificados
B
CA<<Kp(A)>>
:
CA<<Kp(E)>>
Kp(B)
Ks(B)
CA<<Kp(A)>>
:
CA<<Kp(E)>>
Kp(A)
Ks(A)
CA<<Kp(A)>>
:
CA<<Kp(E)>>
Ks: Clave secreta (privada)
Kp: Clave pblica
CA: Certification Authority
CA<<Kp>>: Certificado
Kp(E)
Ks(E)
Kp(C)
Ks(C)
CA<<Kp(A)>>
:
CA<<Kp(E)>>
D
Kp(D)
Ks(D)
Infraestructuras de seguridad
Cuando los escenarios de seguridad crecen, se
hace necesario el uso de mltiples TTPs
Es necesario establecer reglas estrictas de
dependencia entre los TTPs
Surgen las Infraestructuras de Seguridad
PKI. Infraestructura de Clave Pblica
PKI
PKI es el marco de servicios necesarios para apoyar las
tecnologas basadas en claves pblicas a gran escala.
Soluciones muy escalables que son una solucin de autenticacin
extremadamente importante para VPNs.
PKI es un conjunto de componentes tcnicos, organizativos y
legales que se necesitan para establecer un sistema que permita
el uso a gran escala de la criptografa de clave pblica para
proporcionar servicios de autenticidad, confidencialidad,
integridad y no repudio.
El marco PKI consiste en el hardware, software, personas, polticas y
procedimientos necesarios para crear, gestionar, almacenar, distribuir
y revocar certificados digitales.
Certificado digital
Documento que relaciona una clave pblica con su
propietario correspondiente
Para tener validez, debe estar avalado por una Autoridad
Certificadora en la que se confa
Todo certificado tiene la informacin de identidad, un
nmero de serie, un tiempo de validez y las firmas
necesarias para validar el certificado
Certificacin digital
El proceso de avalar con un Certificado Digital propio a la
firma electrnica de una Entidad ajena
X.509
Estndar internacionalmente aceptado, para Certificados Digitales.
Define los formatos bsicos de PKI como el formato de lista de
certificados y revocacin de certificados (CRL) para permitir la
interoperabilidad bsica.
Este tipo de certificados es el que usa el protocolo de comercio
electrnico SET.
Ampliamente utilizado por aos:
Servidores web seguros: SSL y TLS
Navegadores Web: SSL y TLS
Programas de correo electrnico: S / MIME
IPsec VPN: IKE
Certificacin sin CAs
Cualquier usuario puede convertirse en autoridad y emitir un
certificado de la clave pblica de otro usuario
Cada usuario guarda en su equipo una coleccin de claves pblicas
de aquellos usuarios de confianza
Todo usuario confa en los mensajes avalados por alguno de los
usuarios de confianza
PKCS
Los Estndares de criptografa de clave pblica (PKCS) se
refieren a un grupo de Public Key Cryptography Standards ideado
y publicado por RSA Laboratories.
PKCS proporciona interoperabilidad bsica de las aplicaciones que
utilizan la criptografa de clave pblica.
PKCS define los formatos de bajo nivel para el intercambio seguro de
datos arbitrarios, tales como una pieza de cifrado de datos o una
pieza firmada de datos.
Estndares PKI
PKCS #1: RSA Cryptography Standard
PKCS #3: DH Key Agreement Standard
PKCS #5: Password-Based Cryptography Standard
PKCS #6: Extended-Certificate Syntax Standard
PKCS #7: Cryptographic Message Syntax Standard
PKCS #8: Private-Key Information Syntax Standard
PKCS #10: Certification Request Syntax Standard
PKCS #12: Personal Information Exchange Syntax Standard
PKCS #13: Elliptic Curve Cryptography Standard
PKCS #15: Cryptographic Token Information Format Standard
Tipos de Certificados digitales
Certificado para personas
Certifican a personas o entidades de diverso tipo (Clase 1, Clase 2
y Clase 3)
Certificado para servidores
Avalan la identidad de un servidor en Internet
Certificados para entidades certificadoras
Avalan la identidad de entidades certificadoras
Certificados para edicin de software
Certifican el contenido de un software o aplicacin
Componentes
Autoridades de Certificacin (CA)
Firman y emiten certificados
Generan y distribuyen claves
Almacenan y gestionan certificados
Autoridades de Registro (RA)
Permiten dar de alta, con garantas a los usuarios dentro de un
dominio de seguridad
Autoridades de Atributos (AA)
Generan certificados de atributos emitidos a nombre de un usuario
concreto
Informan acerca de los privilegios de uso de dicho usuario ante
determinados recursos
Autoridades de Sellado de Tiempo (TSA)
Garantizan la existencia de determinados datos en una fecha y hora
concretas
Autoridades de Verificacin de Firmas
Permiten arbitrar conflictos entre partes dentro de un dominio de
seguridad
Autoridades de Certificacin
Entidad de confianza que avala la correspondencia entre
una clave pblica y una entidad registrada
Proporciona un servicio de verificacin de identidad
mediante certificados digitales
PKIs pueden tener diferentes topologas de confianza:
Topologas PKI de raz nica
Topologas jerrquicas CA
Topologas cruzadas CA
Topologa PKI de raz nica (CA raz)
Topologa jerrquica de CA
Topologas cruzadas de CA
Consultas .