Sei sulla pagina 1di 47

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/39669501

Una mirada al criptoanálisis actual: tendencias y casos prácticos

Article · January 2005


Source: OAI

CITATIONS READS

0 453

1 author:

Amparo Fúster Sabater


Spanish National Research Council
165 PUBLICATIONS   631 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Amparo Fúster Sabater on 05 June 2015.

The user has requested enhancement of the downloaded file.


Una mirada al Criptoanálisis actual:
tendencias y casos prácticos

Amparo Fúster Sabater


Instituto de Física Aplicada C.S.I.C.
amparo@iec.csic.es

A. Fúster Sabater MAT.ES Enero 2005


Contenido
„ Introducción al Criptoanálisis
„ Procedimientos criptoanalíticos más comunes
„ Ejemplos prácticos de Criptoanálisis:
Cifrado en flujo: Distancia Edit
„ Clave secreta
Cifrado en bloque: Slide Attack

„ Clave pública: Ataques sobre implementaciones


software
A. Fúster Sabater MAT.ES Enero 2005
Procedimiento Criptográfico:
Esquema General

CLAVE CLAVE

Texto claro Texto cifrado Texto claro


cifrado descifrado
A B

Criptoanálisis

descriptado

A. Fúster Sabater MAT.ES Enero 2005


Criptografía Actual

Criptosistemas
actuales

Clave secreta Clave pública

Cifrado en flujo Cifrado en bloque

A. Fúster Sabater MAT.ES Enero 2005


Escenarios de posibles ataques
„ Ataque sobre Texto Cifrado únicamente
(pasivo)
„ Ataque sobre Texto Claro Conocido
„ Ataque sobre Texto Claro (Cifrado)
Escogido (activo)
„ Ataque Adaptativo (activo)

A. Fúster Sabater MAT.ES Enero 2005


Etapas en Criptoanálisis
„ Criptografía en entornos militares y diplomáticos
El Criptoanálisis permanece en el más absoluto secreto

„ Principio de Kerckhoffs (s. XIX)


“El atacante tiene pleno conocimiento del método de cifrado
a excepción de la clave”

„ Criptografía al alcance de todos


Aplicación del Principio de Kerckhoffs
a la mayoría de los criptosistemas actuales

A. Fúster Sabater MAT.ES Enero 2005


Seguridad de los criptosistema
actuales
„ ¿Cuándo un criptosistema es seguro? En
sentido estricto: NUNCA!!!!!
„ No hay un criterio general que determine la
seguridad/no seguridad de un criptosistema
„ Se les asigna una “seguridad probable”
„ Un criptosistema se considera “roto”
cuando el usuario deja de utilizarlo

A. Fúster Sabater MAT.ES Enero 2005


Métodos de Criptoanálisis
„ Búsqueda exhaustiva
„ Ataques por diccionario
„ Descripción equivalente
„ Búsqueda de invariantes
„ Paradoja del cumpleaños
„ Ataque meet-in-the-middle
„ Claves débiles para ataques particulares
A. Fúster Sabater MAT.ES Enero 2005
Métodos de Criptoanálisis
„ Ataques algebraicos
1. Plantear un sistema de ecuaciones cuyas
incógnitas son los bits de la clave
2. Resolverlo (Método XL)

„ Ataques por correlación


„ Correlación generalizada (Edit Distance)
„ Criptoanálisis Diferencial, Lineal, …etc.

A. Fúster Sabater MAT.ES Enero 2005


Algunos números
„ Cuantificación de operaciones:
„ 230 operaciones con un PC en unos minutos
„ 255 pruebas de clave con el DES en una red
de cientos de PCs tarda ≈ 9 días
„ 270 operaciones por día con toda la potencia
computacional de Internet
„ Claves de 128 bits 2128 posibles claves
„ Si reducimos a 2100 Primer aviso
A. Fúster Sabater MAT.ES Enero 2005
Tendencias actuales en
Criptoanálisis

„ Algunos ejemplos prácticos de


Criptoanálisis:
Técnica de la “Edit distance” (cifrado en flujo)
„ Slide Attack
„ Ataques sobre implementaciones software

A. Fúster Sabater MAT.ES Enero 2005


Comparación de secuencias
X: { A C D P N H … } longitud N
Y: { F O H Z M E … } “ “ M

Alfabeto = { A, B, C, D, E, …, Z }
„ Idea básica: transformar X en Y
„ Concepto básico: Distancia
(medida cuantitativa de esa transformación)

A. Fúster Sabater MAT.ES Enero 2005


Operaciones elementales de transformación
„ Borrado de un símbolo con PB
ACDPNH… ADPNH…

„ Sustitución de un símbolo con PS


ACDPNH… AEDPNH…

„ Inserción de un símbolo con PI


ACDPNH… ACIDPNH…

A. Fúster Sabater MAT.ES Enero 2005


Técnica de la “distancia edit”
„ El menor número de operaciones
elementales de edición requeridas para
transformar la secuencia X en la secuencia Y
(Distancia de Levenshtein, 1966)
„ A. Levenshtein, “Binary codes capable of correcting
deletions, insertions and reversals”, Soviet Phys. Dokl, 10
(1966), 707-710.

„ Peso de la transformación
PT = NB.PB + NS.PS + NI.PI

A. Fúster Sabater MAT.ES Enero 2005


Aplicaciones
„ Biología molecular
Alfabeto = { T, G, C, A }

„ Reconocimiento de voz

„ Criptoanálisis de criptosistemas de clave secreta


„ Cifrado en flujo
(Secuencias de distinta longitud)
„ J. Golic & M. Mihaljevic, “A Generalized Correlation Attack on
Stream Cipher Based on Levenshtein Distance”, J. Cryptology, 3
(1991), 201-212.

A. Fúster Sabater MAT.ES Enero 2005


Modelo estadístico

{xn} decimación {zn}


LFSR {yn}
y/ó inserción

{bn} sec. ruido

„ Comparación entre secuencias


„ Operaciones edit
„ Independencia del criterio de
decimación/inserción
A. Fúster Sabater MAT.ES Enero 2005
Ataques por “edit distance”
„ Objetivo:
„ Determinar el estado inicial de los registros de
desplazamiento LFSRs que intervienen en el generador
„ Requerimientos:
„ Conocimiento de una cierta cantidad de sec. cifrante { yn }
„ Idea general:
„ Fraccionar el problema
„ Comparar secuencias de “distinta longitud”
„ Identificar un subconjunto de posibles estados iniciales
de cada registro
A. Fúster Sabater MAT.ES Enero 2005
Modelo estadístico (reducido)
{xn} {zn} {yn}
LFSR decimación

{dn} Sec. de {bn} Sec. de


decimación ruido

„ Comparación entre secuencias


„ 2 operaciones edit
„ Independencia del criterio de decimación

A. Fúster Sabater Universidad CIII Enero 2005


Especificaciones (I)
„ Alfabeto binario = { 0, 1 }

„ Asignación de pesos

„ borrado (PB = 1)
por sí mismo (PSM = 0)
„ sustitución
por su contrario (PSC = 1)
A. Fúster Sabater MAT.ES Enero 2005
Especificaciones (II)
„ Criterio de decimación:

„ 0 sustitución
• bit salida es el del LFSR (c/s)
• requiere 1 bit

„ 1 borrado + sustitución
• 1 bit se borra
{xn} • bit salida es el del LFSR (c/s)
LFSR 1
• requiere 2 bits
Decimación
• longitud racha borrado E = 1
(LFSR 2)

A. Fúster Sabater MAT.ES Enero 2005


Matriz de Distancia Edit: Wedit
s 0 1 2 3 4 5 6 7
e

0 0 0 1 2 3 4 4 5
1 X 2 1 1 1 2 3 3
2 X X 4 3 2 2 2 2
3 X X X 6 5 4 3 3

Wedit : (N-M+1) x (M+1)


X: 1 0 1 0 1 1 0 1 1 1 N = 10
Y: 1 1 0 1 0 1 1 M=7
A. Fúster Sabater MAT.ES Enero 2005
Caminos óptimos
s 0 1 2 3 4 5 6 7
e

0 0 0 1 2 3 4 4 5
1 X 2 1 1 1 2 3 3
2 X X 4 3 2 2 2 2
3 X X X 6 5 4 3 3

X: 1 0 1 0 1 1 0 1 1 1 Sec. decimación 1 01 0 1 10 1 11
Y: 1 1 0 1 0 1 1 0100101 1 1 0 1 0 1 1
A. Fúster Sabater MAT.ES Enero 2005
Criptoanálisis
{xn} {zn} {yn}
LFSR
LFSR1 decimación

{dn} Sec. de {bn} Sec. de


decimación ruido

„ Para “cada estado inicial” (e.i.) del LFSR1


„ Determinar WF = W(N-M+1,M+1)
„ Comparar con valor umbral T
si
WF ≤ T e.i. ∈ {estados candidatos}

no
e.i. se rechaza
A. Fúster Sabater MAT.ES Enero 2005
Para el registro LFSR1
e. i. Sec. gener. Edit Distance
00…001 101000..001 Wedit > T
00…010 001000..010 Wedit > T

2 L1 e. i.
01…101 001001..101 Wedit≤ T

„ Medida: Valor de Wedit (secuencias de distinta longitud)


„ Comparar: Sec. generada vs Sec.interceptada { yn }
„ Obtener un subconjunto de posibles e. i. para LFSR1
A. Fúster Sabater MAT.ES Enero 2005
Ataques por correlación generalizada

Algunos e.i.
Algunos
de LFSR1
e.i. de
LFSR2

Algunos e.i. de
LFSRn

„ Comprobar cada ( , , ) con la sec.


interceptada hasta descubrir el estado inicial del
generador
A. Fúster Sabater MAT.ES Enero 2005
Posibles mejoras
„ Una misma Wedit sirva para descartar varios e.i.
sin necesidad de comprobarlos
„ Condiciones sobre algunos bits del e.i.
„ Construcción de Wedit interrumpida
„ Bits correctos = asociados con los elementos de la
matriz que están en todos los caminos óptimos y que
no son sustitutidos ni borrados
„ Permiten eliminar (5 – 20)% de los e.i.
„ P. Caballero, A. Fúster. Improvement of the ED Attack to
Clock-Controlled Stream Ciphers, Proc. EUROCAST
2005, Springer-Verlag, LNCS, Feb. 7-11, Las Palmas,
Canary Islands.
A. Fúster Sabater MAT.ES Enero 2005
Posibles mejoras
(Y: 1 1 0 1 0 1 1)
s
e 0 1 2 3 4 5 6 7
1 0 1 0 1 1 0
0 0 0 1 2 3 4 4 5
0 0 1
1 X 2 1 1 1 2 3 3
0
2 X X 4 3 2 2 2 21
1
3 X X X 6 5 4 3 3

X: 1 0 1 0 1 1 0 1 1 1
Y: 1 1 0 1 0 1 1
A. Fúster Sabater MAT.ES Enero 2005
Conclusiones
„ La técnica de la ED incluye “cualquier” generador
de secuencia
expresar en términos ED
„ Problema
recorrer caminos en Wedit

„ Posibles mejoras

A. Fúster Sabater MAT.ES Enero 2005


Tendencias actuales en
Criptoanálisis

„ Algunos ejemplos prácticos de


Criptoanálisis:
„ Técnica de la “Edit distance”
Slide Attack (cifrado en bloque)
„ Ataques sobre implementaciones software

A. Fúster Sabater MAT.ES Enero 2005


Arquitectura del cifrado en bloque

Input
1. Transformación inicial
IP
Una función F iterada r

Expansión claves
2. K1
Vuelta 1
veces (vueltas) … …
Vuelta r
3. Transformación final Kr
IP-1
4. Algoritmo de expansión
Output
de claves

A. Fúster Sabater MAT.ES Enero 2005


Cifradores en bloque
„ Se usa cada vez un mayor número de
vueltas
„ Cada vuelta supone un esfuerzo exponencial
„ Propuestas AES:
RC6 (20), MARS(32), SERPENT(32),
CAST(48)
„ Buscar herramientas criptoanalíticas que
sean independientes del número de vueltas
A. Fúster Sabater MAT.ES Enero 2005
Slide Attack
„ Propuesto por A. Biryukov, D.Wagner. Slide
Attacks, Proc. FSE’99, Springer-Verlag, LNCS
1636, pp. 245-259.
„ Si el ataque puede aplicarse a un cifrador,
entonces la complejidad del ataque es
independiente del número de vueltas
„ Aplicable a cifradores con una repetición
periódica de las subclaves
„ Cierta similaridad con el criptoanálisis diferencial

A. Fúster Sabater MAT.ES Enero 2005


Slide Attack
„ Esquema general: X í = Fi ( X i −1 , Ki ) ∀i

X0 F1 X1 F2 X2 Fr-1 Xr-1 Fr Xr

=
=

X0* F1 X1* F2 X2* Xr-2* Fr-1 Xr-1* Fr Xr*


„ 2 ecuaciones: su solución ( K1 , K r )

X 1 = X 0* = F1 ( X 0 , K1 ) X r = X r*−1 = Fr ( X r −1 , K r )

A. Fúster Sabater MAT.ES Enero 2005


Slide Attack
*
„ Slid pair: ( X 0 , X ) 0

„ Caso más sencillo: Fi = Fj ∀i, j

X0 F X1 F F Xr-1 F Xr

F r (X0, K) = Xr F r ( X 0* , K ) = F ( X r )

„ Treyfer: G. Yuval, D.Wagner. Encryption/MAC in 30 ROM bytes,


Proc. FSE’97, Springer-Verlag, LNCS 1267, pp. 205-209.

A. Fúster Sabater MAT.ES Enero 2005


Slide Attack
„ Caso más general: (4 subclaves independientes)

( K1 , K 2 , K 3 , K 4 , … , K1 , K 2 , K 3 , K 4 )
„ Referencia: A. Biryukov, D.Wagner. Advanced Slide
Attacks, Proc. EUROCRYPT’2003, Springer-Verlag,
LNCS 2656, pp. 580-606.
„ Slid pair: se obtiene la paradoja del
cumpleaños
„ Requisitos: 2n / 2 textos claros (C. Feistel 2n / 4 )
„ Aplicaciones: determinación claves débiles
A. Fúster Sabater MAT.ES Enero 2005
Tendencias actuales en
Criptoanálisis
„ Algunos ejemplos prácticos de
Criptoanálisis:
„ Técnica de la “Edit distance”
„ Slide Attack
Ataques sobre implementaciones software:
GNU Privacy Guard v1.2.3
A. Fúster Sabater MAT.ES Enero 2005
GNU Privacy Guard v1.2.3
„ Mucho software utiliza Criptografía
Es seguro?
„ Aplicación criptográfica a Internet: Correo seguro
„ PGP (Pretty Good Privacy): permite al usuario
autenticar y/ó cifrar e-mails
„ GNU Privacy Guard (GPG): alternativa al
software PGP, incluido en muchas distribuciones
de Linux (Debian, Red Hat, SuSE, ….)

A. Fúster Sabater MAT.ES Enero 2005


Firma con ElGamal en GPG v1.2.3
„ Se implementa en Z *p
„ p = No. primo, p −1 está factorizado
„ los factores de ( p − 1) / 2
p ⇒ 512 bits
qbits ⇒ 119 bits
q bits > U

„ g = generador del grupo


A. Fúster Sabater MAT.ES Enero 2005
Generación de claves en GPG v1.2.3
„ x = clave secreta del usuario 0 < x < p − 1
„ No. pseudoal. de long. 3qbit / 2 x << p
„ “I don’t see a reason to have x of about the same
size as the p. It should be sufficient to have one
about the size of q. Decryption will be much
faster”
„ y = g x (mod p ) es la clave pública del usuario

A. Fúster Sabater MAT.ES Enero 2005


Elección de parámetros en GPG v1.2.3

„ k = No. aleatorio coprimo con p − 1


„ No. pseudoal. de long. < 3qbit / 2 k << p
„ Se incrementa hasta encontrar un coprimo
„ “Using a k much lesser than p is sufficient and it
greatly improves the encryption performance”

A. Fúster Sabater MAT.ES Enero 2005


Firma de mensajes con ElGamal
„ m = mensaje
„ Firma = (a, b)
a = g k (mod p )
b = (m − a x) k −1 (mod p − 1)

„ Verificación de la firma: comprueba


y a a b ≡ g m (mod p )

A. Fúster Sabater MAT.ES Enero 2005


Ataque sobre la firma de ElGamal en
GPG v1.2.3
„ m = a x + b k (mod p − 1)
conocidos: m, a, b
sabiendo que: x, k p
„ Se resuelve la congruencia lineal mediante
tecnicas de lattice (Nguyen, 2004)
„ Un atacante puede recuperar la clave secreta de
cifrado en menos de 1 seg!!!!!

A. Fúster Sabater MAT.ES Enero 2005


Consecuencias
„ Malas implementaciones de buenos
criptosistemas
„ Afecta a GPG v 1.2.3 y versiones previas
„ Se hace público en Eurocrypt 2004
„ P.Q. Nguyen, “Can we trust cryptographic
software?”, Springer LNCS 3027, pp. 555 - 570
„ Se retira de GNU Privacy Guard

A. Fúster Sabater MAT.ES Enero 2005


Para saber más
„ PGP. Pretty good privacy. http://www.pgp.com
„ OpenPGP. http://www.openpgp.com
„ GPG. The GNU privacy guard.
http://www.gnupg.org
„ IEEE P1363
http://grouper.ieee.org/groups
„ P. Nguyen et al., Springer LNCS, Vol. 2146, 2001

A. Fúster Sabater MAT.ES Enero 2005


Conclusiones Generales
„ Cada procedimiento de cifrado requiere un
criptoanálisis específico
„ Base matemática (principio conocido ó idea
feliz)
„ Optimización de recursos computacionales
„ Labor de equipo
„ Mejor criptoanálisis el que optimice:
„ Información adicional requerida
„ Tiempo y memoria de procesado

A. Fúster Sabater MAT.ES Enero 2005


View publication stats

“… realmente dudo que la


inteligencia humana pueda
concebir un enigma que la
inteligencia de otro humano
no sea capaz de resolver”

El escarabajo de oro

Edgar Allan Poe

A. Fúster Sabater MAT.ES Enero 2005

Potrebbero piacerti anche