Вы находитесь на странице: 1из 32

CRIPTOGRAFÍA ASIMÉTRICA

Factores Primos

• Un entero p > 1 es un número primo si y sólo si sus


divisores son ±1 y ±p.
• Decimos que dos números a y b Zn son primos relativos
si no comparten ningún factor en común:
• Cualquier entero a > 1 puede factorizarse de un modo
único.
a  p11 p2 2 ... pk k
2 3 5 7| 11 13| 17
19| 23 29 31 37 41 43|
• Dado que el conjunto de números primos es único, el valor 47 53 59
79 83 89
61 67 71 73|
97 101 103|107
de cada entero positivo se puede representar listando 109|113 127 131 137 149 151
todos los exponentes i distintos de cero. 157 163 173
199 211 223
181 191 193 197
227 229|233 239
• La multiplicación de dos números es equivalente a sumar 241 251 257 263 269 271 277
sus exponentes primos. 281 283|293
331 337 347
307 311 313|317
349 353 359 367
373 379 383 389 397 401 409
n = p1n1 p3n3 p4n4 m = p1m1 p2m2 p4m4 419 421|431 433|449 457 461
463|467 479 487 491 499
n·m = p1n1+m1 p2m2 p3n3 p4n4+m4
Números primos menores
que 500
Divisores de un Número

Cualquier entero del tipo pk sólo La Función de Euler (a) se define para
puede ser dividido por enteros que todos los enteros positivos a y representa la
contengan alguno de sus factores cantidad de números de la sucesión 0, 1, 2,
primos, elevado a una potencia menor ..., a-1 que son primos relativos con a.
o igual que k.
a  p11 p2 2 ... pk k
Ejemplo: (a) = (p11- p11-1)·(p22- p22-1) ... (pkk- pkk-1)
Conociendo su factorización, podemos enumerar
todos los divisores de un número.
720 = 24 32 51 Ejemplo: 720 = 24 32 51

Haciendo recorrer el primer índice primo en (720) = (24 - 23) (32 - 3) (5 - 1)


[0,1,2,3,4], el segundo en [0,1,2] y el tercero en = (16 - 8) (9 - 3) (5 - 1)
[0,1] obtenemos los 30 (= 5 x 3 x 2) divisores de
720: = 8·6·4
1 2 4 8 16 = 192
3 6 12 24 48 9 18 36 72 144
5 10 20 40 80 15 30 60 120 240 45 90 180 360 720 Sólo un 26,7% de los restos son primos, los 528 restantes
(73,3%) comparten algún factor con 720.
Operaciones Modulares
La reducción modular hace corresponder a cada + 0 1 2 3 4 5 6 7
número a un resto [0, 1, 2, ..., n-1] del módulo n. 0 0 1 2 3 4 5 6 7
Se puede definir una aritmética modular: 1 1 2 3 4 5 6 7 0
((a mod n) + (b mod n)) = (a + b) mod n 2 2 3 4 5 6 7 0 1
3 3 4 5 6 7 0 1 2
((a mod n) - (b mod n)) = (a - b) mod n
4 4 5 6 7 0 1 2 3
((a mod n) * (b mod n)) = (a * b) mod n 5 5 6 7 0 1 2 3 4
6 6 7 0 1 2 3 4 5
7 7 0 1 2 3 4 5 6
x 0 1 2 3 4 5 6 7
La suma modular equivale a un
0 0 0 0 0 0 0 0 0 desplazamiento circular de los
1 0 1 2 3 4 5 6 7 restos.
2 0 2 4 6 0 2 4 6
3 0 3 6 1 4 7 2 5
4 0 4 0 4 0 4 0 4 La multiplicación modular genera a
5 0 5 2 7 4 1 6 3 veces permutaciones de los restos y,
6 0 6 4 2 0 6 4 2 en los demás casos, funciones de
7 0 7 6 5 4 3 2 1 compresión.
Operaciones con Módulo Primo

• Si el módulo es primo, todos sus residuos son primos relativos con él, por
lo que siempre existe inversa multiplicativa.
• La operación producto representa (n-1) permutaciones “particulares” del
conjunto de residuos (6 permutaciones frente a 6! = 720 posibilidades).

+ 0 1 2 3 4 5 6 -W W-1 x 0 1 2 3 4 5 6 6! = 720
0 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 0
1 1 2 3 4 5 6 0 6 1 1 0 1 2 3 4 5 6 P Identidad
2 2 3 4 5 6 0 1 5 4 2 0 2 4 6 1 3 5
3 3 4 5 6 0 1 2 4 5 3 0 3 6 2 5 1 4
PInversas
4 4 5 6 0 1 2 3 3 2 4 0 4 1 5 2 6 3
5 5 6 0 1 2 3 4 2 3 5 0 5 3 1 6 4 2
6 6 0 1 2 3 4 5 1 6 6 0 6 5 4 3 2 1 P AutoInversa

Inversa aditiva Inversa multiplicativa


Teorema de Fermat

Si p es primo y a un entero positivo no divisible por p, entonces


ap-1  1 mod p

Demostración:
• Todos los elementos de Zp, multiplicados por a dan como resultado
todos los elementos de Zp en algún orden:
[a mod p, 2a mod p, ..., (p-1)a mod p]
Si multiplicamos todos estos resultados,
Pierre de Fermat
a · 2a · … · (p-1)a 
(a mod p · 2a mod p · ... · (p-1)a mod p) mod p 
ap-1(p-1)!  (p-1)! mod p
eliminando factores comunes tenemos ap-1  1 mod p [cqd].
Teorema de Euler
Para cualquier a y n que son Primos Relativos, se cumple

a(n)  1 mod n
Demostración:
La ecuación anterior es cierta para n primo porque entonces…
(n) = n-1 (T. de Fermat) donde (n) es el número  (n)  (n)

de residuos que son primos relativos con n:  (ax mod n)   x


i 1
i
i 1
i

R = [x1, x2, ..., x(n)]  (n)  (n)


Si multiplicamos cada uno de ellos por a, módulo n,  ax   x (mod n)
i i
obtenemos: i 1 i 1

S = [ax1 mod n, ax2 mod n, ..., ax(n) mod n]  ( n )   ( n )


a · xi    xi (mod n)
 (n)

 i 1  i 1
- a y xi son primos relativos con n por lo que axi
también es un primo relativo y axi mod n  R. a ( n )  1 mod n
- No hay duplicados en S y están todos los restos a ( n ) 1  a mod n
Pruebas de Primalidad
• Para probar que un número es primo basta con
demostrar que no es divisible por ningún primo menor
que su raíz cuadrada.
– El método requiere conocer previamente todos los
Erastótenes
números primos menores que n.
– El número de divisiones puede ser inmenso.
• No hay todavía un método eficiente y general para
probar que un número grande es primo.

Teorema: Si p es un número primo, la ecuación x2  1


mod p solo tiene dos soluciones x = 1.
Método: Si existe una solución para la ecuación x2  1
mod n que sea distinta a x = 1, entonces n no
es primo.
Test de Miller-Rabin

• Es un test probabilístico de primalidad y d1 bk ,bk-1, b0  Rep


binaria de n-1
un test determinista para la no primalidad.
• La función testigo que prueba Test(a, n) Prueba si x2  1 mod n

K veces i = [k, k-1,..., 0]


xd
necesita una base a (0<a<n) y el número n para x  1
d  d2
a ensayar.
• La función devuelve Si
– No Primo cuando n es, con toda certeza, un ¿d=1 & x1 & xn-1?
número compuesto. No
– Primo cuando n puede ser primo pero no lo Si
asegura. ¿bi=1? x  d·a mod n

• La probabilidad de que no detecte que n No


es compuesto, en el peor de los casos, es
d = an-1 mod n
menor que ½. Si
• Superando k veces el test, la probabilidad ¿d1? No PRIMO
de que el número n sea compuesto es 2-k. No
PRIMO
Funciones de Sentido Único
Relacionadas
Criptogramas
• Los sistemas de clave pública están basados
en la existencia de funciones de sentido único
relacionadas ente sí (trapdoor one-way function):
– Es fácil para cualquiera calcular la función
directa y = f(x)
– Existe una función inversa f-1( )
f( ) f-1( )
– Es computacionalmente imposible obtener f-
1( ) a partir de f( ).

• Un sistema de clave pública se convierte en


una permutación si el proceso de cifrado y
descifrado conmutan (trapdoor one-way permutation):
f(f-1( )) = f-1(f( ))
Mensajes
Lectura Obligatoria

Dada la importancia que ha tenido y tiene la criptografía


asimétrica, no estaría mal que el alumno supiese cuándo
y cómo se propuso esa idea hace más de tres décadas.

Por ese motivo, todos los alumnos deberán leer con


especial interés el artículo:

Diffie, W. y Hellman, M. E.: "New directions in Bailey Whitfield Diffie


cryptography", IEEE Transactions on
Information Theory, Vol 22, pp. 644-654, 1976.

… ya que, sin lugar a dudas, inspirará una pregunta en el


examen de teoría.

Martin Hellman
Distribución de Claves
• En criptografía simétrica ambas partes deben conocer la
misma clave secreta.
• La clave tiene que ser distribuida o intercambiada antes de
poder usarla.
• La distribución de claves siempre se ha hecho en persona,
mediante mensajeros confiables (claveros), o mandando la
clave cifrada a través de otro canal cifrado.

• En la distribución de claves se suele utilizar la División de


Secretos que genera cierto número de secretos distintos
(participaciones), que se distribuyen de modo que ningún
subconjunto, por sí sólo, puede reconstruir la clave o secreto
original.
• Las distribución de claves hoy es un problema en el diseño de
Redes de Sensores (Wireless Sensor Network).
• El sistema mas aceptado por el momento es la pre-distribución
de las claves; es decir su instalación en los nodos antes de ser
desplegados.
La Criptografía Asimétrica

• Son sistemas criptográficos en los


que las operaciones de cifrado EP(M) Clave Pública
y descifrado Dp(C) son distintas.
• Al ser operaciones distintas, éstas se
Clave Privada
realizan bajo el control de dos claves

Mensaje
diferentes (P y p)
• La existencia de dos claves permite
guardar una de ellas y hacerla
E D
equivalente a una identidad digital.
• La clave de cifrado P se hace Pública, Criptograma Mensaje
mientras que la clave de descifrado p
se mantiene Secreta (clave privada).
La criptografía asimétrica resuelve el
• El cifrado asimétrico elimina la
problema de la distribución previa y
necesidad de un secreto compartido secreta de las claves de cifrado.
entre los comunicantes.
La Firma Digital
• Si las operaciones de Cifrado y descifrado
conmutan:
M = D(E(M)) = E(D(M)) S1
se puede establecer un procedimiento de
Firma Digital. M1
• Dado que todo mensaje procesado con la Verificador
clave Privada podrá revertirse con la clave M1
S1
Pública, que es conocida por todos, entonces
definimos:
S1
Firma: Si = Dp(Mi) Firmante
Verificación: Mi = EP(Si) S1
La identidad va asociada
1. con el secreto y la seguridad en la M1
custodia de la clave privada. Verificador
2. con la autenticidad de las claves públicas
diseminadas.
El Criptosistema RSA
Se basa en la diferente complejidad computacional entre multiplicar
números primos y factorizar números compuestos.

Cada agente (Identidad RSA):


– Se elige al azar y en secreto dos Justificación:
números primos p y q grandes, y de Teorema de Euler-Fermat; para
tamaño semejante M y n primos relativos:
– Se calcula su producto n = p·q y la M(n) = 1 mod n
función (n) = (p-1)(q-1) D(E(M)) = (Me)d mod n
– Se obtienen dos exponentes e y d = Me·d mod n
tales que: = MK(n)+1 mod n
– gcd(e, (n)) = 1 ya que e·d  1 mod (n)
– e·d  1 mod (n) (e y d son Inversos MK(n)+1 mod n = (M(n))K M mod n
multiplicativos en el grupo (n)) =M
La Clave Pública es (e, n) y ya que M(n) = 1 mod n
La Clave Privada (d, n) o (p, q)
El Criptosistema RSA
Cifrado:
• El mensaje puede ser cualquier resto
James Ellis Clifford Cocks
del módulo n, es decir, cualquier
número M  [2, n-1], y su criptograma
C es: Generación identidad RSA:
C = Me mod n p = 5, q = 11  n = 55
Descifrado: (n) = (5-1)·(11-1) = 4·10 = 40
• El mensaje M se recupera, a partir e = 3, d = 27
del criptograma C, aplicando la e · d mod (n) = 3·27 mod 40 = 81 mod
operación inversa: 40 = 1
M = Cd mod n
Cifrado:
para M = 36 < n
C = Me mod n = 363 mod 55 = 46.656
mod 55 = 16

Descifrado:
M = Cd mod n = 1627 mod 55 = 36
Criptosistema ElGamal
• Propuesto en 1985 por Taher ElGamal en su artículo “A
Public key Cryptosystem and A Signature Scheme based on discrete
Logarithms”.
• Es un sistema de cifrado homomórfico y maleable por
diseño, por lo que no es adecuado per se, para la
transmisión segura de datos.
• Utiliza un número primo p, que define un grupo Taher ElGamal
multiplicativo Zp sobre el que se van a realizar todas las
operaciones.
Cifrado
Establecimiento del Sistema: Homomórfico:
Cifrado donde se
- Se elige un número primo p. puede realizar ciertas
- Del grupo Zp se elige un elemento   [2, p-1] operaciones
algebraicas sobre el
texto en claro
Identidades Digitales: haciendo una
operación algebraica
- Cada agente elige en secreto un número aleatorio ui (posiblemente distinta)
(clave privada) y calcula su clave pública yi: en su criptograma.

yi = ui mod p
Criptosistema ElGamal
Cifrado: A envía un mensaje M a B
- A elige un número aleatorio v y calcula v mod p
- A toma la clave pública de B, yB, y calcula
(yB)v mod p
y luego calcula
M·(yB)v mod p
- A envía a B el par
C = (v mod p, M·(yB)v mod p) El cifrado consiste
en aplicar un “velo”
aleatorio (yB)v al
Descifrado: B recibe un mensaje C de A texto en claro, y
- B toma el primer elemento del criptograma y, usando su luego enviarle
clave privada, calcula información al
destinatario
(v )uB mod p autorizado para
- B obtiene el mensaje original dividiendo que pueda quitarlo
(dividir)
M·(yB)v mod p / (v)uB mod p = M
Intercambio de Claves Diffie-Hellman

• Se basa en lo fácil que es calcular exponenciales y lo difícil


que es calcular logaritmos discretos.

Raíces Primitivas:
• Se define una raíz primitiva de un número primo p como aquella
cuyas potencias generan todos los enteros del conjunto de
residuos [1, p-1] (permutación).

Logaritmo Discreto:
• Para cualquier entero b y raíz primitiva a del número primo p uno
puede encontrar un único exponente i tal que:
b = ai mod p
• El exponente i es el logaritmo discreto (módulo p) de b para la
base a.
Intercambio de Claves Diffie-Hellman

• Permite que dos usuarios generen en secreto una


clave simétrica en presencia de sus atacantes.
• Se basa en dos números públicos (q, );
• el número primo q y un entero  que es una raíz
primitiva de q.

Prisionero A Guardia Prisionero B


Elige xA < q al azar, Elige xB < q al azar,
Calcula yA = xA mod q Calcula yB = xB mod q

yB . Intercambio . yA
calcula K = yBxA mod q calcula K = yAxB mod q
K = xA·xB mod q K = xA·xB mod q
Criptografía con Curvas Elípticas
• Es una implementación de los principios de las criptografía de
clave pública. Se cree que
• Se basa en al estructura algebraica de las curvas elípticas sobre se pueden
campos finitos. conseguir
• Los protocolos basados en curvas-elípticas, suponen que es seguridades
imposible encontrar el logaritmo discreto de un elemento elegido similares a
al azar de la curva elíptica respecto al un valor públicamente las de RSA
conocido.
pero con
• El tamaño de la curva determina la dificultad del problema.
módulos
• Una curva elíptica es una curva plana de los puntos que mucho
satisfacen la ecuación:
menores.
y 2  x 3  ax  b(mod p )
junto con un punto distinguido O denominado punto en el infinito o
punto ideal Este conjunto de
puntos y la
operación de
grupo forman un
Grupo Abeliano
con el punto en el
infinito como
elemento
identidad.
Criptografía con Curvas Elípticas
• El uso de curvas elípticas fue propuesto independientemente por
Neal Koblitz y Victor S. Miller en 1985.
• Al igual que otros Criptosistemas de clave pública, no hay prueba
NSA
matemática de la seguridad de la ECC. Suite B
• La generación de los parámetros supone contar el número de
puntos en una curva y eso es una tarea muy laboriosa.
• Varias instituciones de la estandarización han publicado sus
parámetros de dominio recomendados, en varios campos de uso
común (NIST, SECG, etc.).
• La NSA norteamericana ha asumido la ECC incluyéndola en lo que
se conoce como Suite B de algoritmos recomendados para la
protección de información clasificada hasta TOP SECRET con
claves de 384-bits.
• Hay patentes que controlan varios aspectos de la ECC.
• En EEUU, se puede utilizar el estándar federal ECDSA del NIST
(FIPS 186-3) y ciertos esquemas de intercambio de claves basados
en ECC (ECDH) sin infringir las patentes.
• Las curvas elípticas también se utilizan en algunos algoritmos de
factorización.
La Confidencialidad
• Su misión es ocultar la información de modo que
sólo sea inteligible para los destinatarios
conocedores de las correspondientes claves.
• Se puede conseguir mediante Criptosistemas
Simétricos o Asimétricos.

• La seguridad del Criptosistema elegido no KSD-64 crypto-


depende de si es simétrico o asimétrico, sino de: ignition key

– La longitud efectiva de la clave (Generación y


Calidad criptográfica).
– Su almacenamiento (Tarjetas Inteligentes, HSMs,
etc.).
– Su modo de uso (Ataques de tiempo y de Consumo).
– Del número de bytes que se han cifrado
(envejecimiento de las claves).
Criptosistemas mixtos
• Son una combinación de un algoritmo simétrico y otro asimétrico.
• El simétrico aporta su mayor velocidad de cifrado así como su economía
computacional.
• El asimétrico evita tener que disponer de secreto compartido con los
interlocutores.
• La seguridad del sistema es la de su componente más débil.

EA EA

K K

Clave de Clave de
Sesión Sesión

ES ES

Cifrado Descifrado
Autenticación
• Su misión es probar
– que la información no ha sido modificada en tránsito.
– que el origen de la información es el que pretende ser.
• Se puede conseguir mediante el uso de Funciones Hash y
Criptosistemas Simétricos o Asimétricos.
• La seguridad de los sistemas de autenticación depende de
– La calidad criptográfica de los algoritmos utilizados.
– La longitud efectiva de las claves y su almacenamiento.
– Su modo de uso.
– Del número de bytes de salida de las funciones hash.
• Utilizando una función hash se puede probar que el mensaje
no ha sido modificado por error (sólo integridad)
• Para probar la autoría de un mensaje hay que combinarlo
con la identidad de su autor.
Autenticación
Hash actual
Documento Documento

H H = SI

Generar Prueba de Verificación


Integridad Hash en origen Integridad
Hash en origen

Documento Documento
Hash actual

H H
= SI
Hash en origen
Generar Verificación EA
EA Firma Digital Firma Digital
Clave Privada del remitente
Clave Pública del remitente
Infraestructuras de Clave Pública
TTP
• Son infraestructuras encargadas de Documentación y
relacionar el mundo digital de las claves Clave Pública
públicas, con un mundo externo no
digital (agentes, personas, instituciones, Autenticación de
persona, clave y vínculo
entes,…).
• Se basa en la existencia de Terceras
Partes de Confianza (TTPs).
• Participan de forma diferida y aportan
confianza a los agentes.
• Actúan a través de la emisión de
certificados digitales.
• Un certificado digital da fe de la relación Certificado
Certificado
entre una identidad externa (no digital) y Digital Digital
otra interna (digital): la clave pública que Presentación de
credenciales
se certifica.
Versión 3
Numero de Serie: 4E:38:D8:92:19:C3:C1:0C
Algoritmo de Firma: PKCS #1 SHA-256 con cifrado RSA
Emisor: O = CriptoLab CN = CriptoLab Root CA
Validez
No antes:12/01/2009 17:49:49 (12/01/2009 16:49:49 GMT)
No después:11/01/2015 17:49:49 (11/01/2015 16:49:49 GMT)
Certificado Digital
Asunto: O = CriptoLab CN = CriptoLab Root CA
Información de la clave pública del sujeto:
Algoritmo de la clave pública: PKCS #1 con cifrado RSA
Clave Publica del sujeto: Módulo (2048 bits):
92 39 4f 03 75 85 1f 3c de af 0e 4f 40 84 88 70 fb ef 5d Serial Number: Debe ser único e irrepetible.
55 a9 77 23 26 55 d8 7d 91 ce 22 f7 69 ab c0 1a 6b 69 54
3f 51 b1 88 8a e4 ce 22 c3 fd b9 82 2e ac 14 a9 32 8c 15 Subject: La persona o entidad identificada.
e3 f5 b8 8a 5e d8 4e b5 91 84 ca c9 16 5a 3c bf e2 9f 2a
ee 11 1e 01 1a 76 98 94 92 54 15 90 08 76 1e 35 5f 8d ee Signature Algorithm: Algoritmo de firma utilizado
en el certificado.
f8 f9 13 07 fa c9 fa e1 d7 2a a6 b7 f0 b7 d6 5a 2d 74 7d
a0 0e 85 65 a1 25 18 2f 96 c6 bb c7 28 bd a7 67 03 3e 96
b0 0c 11 58 f4 31 65 a2 2f 96 27 7f 67 22 7c 08
db 63 fa 84 03 fa a9 8e fb 64 dc b4 ea d1 66 48
4e
ab
66
b6
96
21 Issuer: Entidad emisora del certificado.
e9 1f 6a c9 4e 6f 0a b7 06 f7 4b f6 80 9b c9 ae
cf 6a 00 d1 45 d3 ab 34 d1 64 fb 05 fc b1 68 e4
94
00
3e
54
db
9b Valid-From: Fecha de inicia de validez.
03 8a 84 60 5d 7d fb 68 b9 1a 58 b4 7a 5d 46 0e
63 b1 12 2c 44 94 7e 33 05 af ab 12 75 ed ad 95
6e
38
45
1c
39
2a Valid-To: Fecha de caducidad.
25 a3 de b8 f3 e9 12 8a 17
Exponente (24 bits):: 65537
Key-Usage: Propósito de la clave pública
Algoritmo de firma del certificado: PKCS #1 SHA-256 con cifrado RSA certificada (e.g. cifrado, firma, emisión de certificados,
Valor de la firma: Tamaño: 256 Bytes / 2048 Bits
30 0a 3e 35 47 4c 85 75 47 31 44 a3 fb c0 83 d5 08 76 2e
etc.).
5f da 18 ff 1d 25 e1 e5 d4 7d 6b 99 95 78 d7 65 1a b6
0d 12 48 ec eb d0 8f 4f 56 d2 63 41 ae 76 8e 85 9e 3d
f1
9f
Public Key: Clave Pública que de la que se
da 4e 8b 8b b7 ad ab 0a c1 2f ad 94 d5 61 02 0d b7 c2 e9 certifica que pertenece en exclusiva al Subject.
1b ac e2 c5 f9 2a 9b 31 1c d6 e7 76 3e 62 fe 5a 9d ff 70
f4 14 42 6f 1f 6b 0c 43 33 f2 cd 2e d5 cd 02 21 e8 dd
38 1c 98 58 6a d4 1e c9 f3 43 b3 08 98 4e 9b fc db 8e
44
67
Thumbprint Algorithm: Algoritmo hash utilizado
ee b3 f2 f5 ad 11 8e a6 25 16 ee e1 7e a1 0a 06 88 de d1 en la creación del certificado.
Thumbprint: El valor hash del certificado para
fd 3a d5 9f 85 10 43 c4 92 41 05 54 9b 90 7d 83 75 24 5e
72 46 47 6e 43 30 a0 98 fa 7c 1a c7 80 20 48 09 ec 75 76

probar que no ha sido modificado.


5e 30 0d 25 f4 2b 1d a2 7f dd 4a c8 a7 c3 e9 6e 2c 3f fb
24 69 e8 f6 cd 97 8f 97 0f 4f 13 70 e0 36 ae cc 11 5a c5
91 2f de 5b 3c 2a c7 31 b7 59 d8 4ª 19 e9 3d 1f 42 d0 15
6d 9a fd 11 fe 17 9a b7 6e
Gestión de claves
Generar
• Es el conjunto de medidas que se toman en un sistema Intercambiar
criptográfico para generar, intercambiar, almacenar, Almacenar
proteger, utilizar, investigar y reemplazar claves. Proteger
• También incluye el diseño de los protocolos criptográficos, Utilizar
de los servidores de claves, los procedimientos de usuario, Investigar
etc. Reemplazar
• La gestión de claves se ocupa del nivel de usuario, tanto … claves
entre usuarios como entre sistemas. criptográficas.
• La gestión de claves es esencial para garantizar la seguridad “Random-number generators are
del sistema. another place where cryptographic
systems often break. Good random-
• Es probablemente el aspecto mas difícil de la criptografía number generators are hard to design,
because their security often depends on
porque implica a la política del sistema, al entrenamiento de the particulars of the hardware and
los usuarios, a interacciones organizativas o software.”
departamentales, y a la coordinación entre todos esos “The cryptography may be strong, but
elementos. if the random-number generator
produces weak keys, the system is
• La gestión de claves requiere decisiones tanto técnicas como much easier to break. Other products
use secure random-number generators,
organizativas, y como resultado de ello, algunos aspectos de but they don't use enough randomness
la gestión de clave se arriesgan a ser despreciadas por los to make the cryptography secure.”
B. Sheneier:
gestores.
Ingeniería Criptográfica

• La criptografía típicamente se utiliza cuando se quiere, entre otras


cosas, asegurar la confidencialidad de los datos, la autenticidad de
gente y objetos, o cuando se quiere verificar la integridad de los datos
en escenarios peligrosos.
Oposición activa
Auguste Kerckhoffs
• Los diseños criptográficos tienen metas en cuanto sus prestaciones
(eg, ser irrompibles, alta velocidad, etc.), pero también deben actuar en
ambientes muy complejos y hostiles.
• Desde mediados del siglo XIX se acepta que al contrario hay que
reconocerle cierto conocimiento del sistema.
Kerckhoffs: “La seguridad de la cifra debe residir
enteramente en la clave“
Shannon: “El enemigo conoce el sistema “

Un diseño criptográfico debe satisfacer sus objetivos pero


debe entender que se enfrenta a un oponente inteligente y
bien informado.
Requisito de fallo nulo (Infalibilidad)

Los fallos en ingeniería criptográfica son desastrosos.


• El éxito en leer un mensaje suele conducir a la lectura de
todos los demás (futuros y anteriores).
• La mayoría de los algoritmos criptográficos hacen ciertas
suposiciones (e.g., clave o retos al azar), y cuando esas
suposiciones no se satisfacen, la seguridad no existe.

Ejemplos:
• Fallo en la aleatoriedad del SSL de Netscape de UC Berkeley,
• Implementación errónea del protocolo PPTP por parte de
Microsoft.
• Fallo en el generador de números aleatorios de la distribución
Open SSL 0.9.8c-1 (CVE-2008-0166) de la distribución Debian
de Linux (Luciano Bello, 2008).
Invisibilidad de los fallos

Errores de Diseño: Errores del entorno:


– Errores en el protocolo criptográfico – Inseguridades del sistema operativo que
– Error en los procedimientos de uso afecta al software criptográfico (e.g., claves en
– Errores de implementación de los algoritmos claro en los swap files)
– Fallos de los sistemas asociados – Inseguridades de los sistemas operativos en
cuanto al acceso a los textos en claro.
– Vulnerabilidades de los sistemas operativos
Errores de los Usuarios: (virus, troyanos, malware en general)
– No comprender cuales son las operaciones
correctas.
El efecto de la mayoría de estos fallos no serán
– Acciones arbitrarias del usuario. percibidos por los usuarios, ni por los
administradores de los sistemas, o incluso ni los
Errores de implementación: propios diseñadores de los sistemas
– Errores de programación (bugs) criptográficos podrán detectarlos.
– Errores relativos a la precisión aritmética
– Errores con los datos aleatorios
Se ataca a…
– Errores con las rutinas de las librerías Los Diseños criptográficos, las
software. Implementaciones, las Passwords, el
Hardware, los Modelos de confianza, los
Usuarios, la Recuperación de fallos, la
Criptografía empleada, las Medidas de
prevención, los Sistemas de detección,…

Вам также может понравиться