You are on page 1of 59

CORE SECURITY TECHNOLOGIES 2002

Criptologa y Seguridad de la Informacin


Seminarios de la UTN 13 de Junio, 2002

Carlos Sarraute

Ariel Waissbein
copyright (c) 2002 Core Security Technologies.

Este documento forma parte de la presentacin que hicieron sus


autores en el Aula Magna de la Universidad Tecnolgica
Nacional (Argentina), dentro del marco propuesto por el centro
de estudiantes de dicha casa, el da 13 de Junio de 2002.
Los contenidos de este documento son copyright 2002 Core
Security Technologies.

copyright (c) 2002 Core Security Technologies.

Agenda
1. Introduccin
2. Primitivas
3. Protocolos
4. Caso de Estudio

copyright (c) 2002 Core Security Technologies.

Introduccin
copyright (c) 2002 Core Security Technologies.

Qu es la Criptografa? La Criptologa?

 Histricamente:
Encripcin
Esteganografa

 La transicin:
Kherchoffs principle 1883
Horst Feistel y DES 1973
Wittfield Diffie y Martin E. Hellman 1976

 Hoy:
Criptografa moderna
Proliferacin de las computadoras y redes de datos. Ms necesidades.

copyright (c) 2002 Core Security Technologies.

Qu es la Criptografa? La Criptologa?

Usos y Necesidades: Seguridad de la Informacin


Confidencialidad
Firmas
Integridad
Autenticacin
No repudio

...

Diseo e Implementacin. La vida real.

copyright (c) 2002 Core Security Technologies.

Primitivas
copyright (c) 2002 Core Security Technologies.

Primitivas

Cryptosystem, primitiva,

Pruebas de Seguridad para protocolos

Funcin de Hash
Sistema asimtrico de enciripcin (calve pblica)
Sistema simtrico de enciripcin

Larga vida
Resistente a ataques
Usando como lenguaje a la Teora de la Complejidad, Aritmtica, Teora de
Nmeros,...

En pruebas de seguridad de protocolos

Definiciones semnticas (adems: Informtica formal, Teora de la Comunicacin,


Complejidad Algebraica, Simuladores, Pruebas Interactivas...)

copyright (c) 2002 Core Security Technologies.

Primitivas
Funciones de Hash
copyright (c) 2002 Core Security Technologies.

Primitivas: funciones de Hash

Definicin 1: Una funcin h:{0,1}*

{0,1}s para la que

es fcil de calcular h(x) dado x

[collision resistant] Es dificil encontrar pares x, y (distintos) con h(x)=h(y)

[2nd preimage resistant] es dificil de calcular y tal que h(h(y))=h(h(x)) dado h(h(x))

Definicin 2: Una funcin h:{0,1}*

{0,1}s para la que

Existe una PPT TM (probabilistic polynomial time Turing machine) que calcula h(x)
dado x

Para todo algortimo PPT A existe una funcin negligible v:=v(A) tal que para k
suficientemente grande
P[h(z)=y : x\in{0,1}k; y=h(x); z:=A(1k,y)]< v(k)

copyright (c) 2002 Core Security Technologies.

Primitivas: funciones de Hash

Merkle-Damgrd metaconstruction
method 1980.

Birthday paradox (attack)

Teo.: P=NP entonces no existen


hash functions.
(La recproca no es
necesariamente cierta)

Usos:

One-way functions
Message Authentication Codes
(MACs)

Ejemplos:

MD4, MD5,
SHA-1, 256, 512
RIPE-MD 128, 160
Whirpool

copyright (c) 2002 Core Security Technologies.

Funciones de Hash: USOS

Message Digest (fingerprint)


De claves largas (e.g., RSA1024), files,

Message Authentication Codes (MACs)

CBC-MAC: dado una tira de bits x de la forma x=x1x2 x3xs donde cada xi tiene el
tamao correcto,
h(x)=h(xs h(xs-1 h(xs-2h( h(x2h(x1 )))))

XOR-MACs y otras construcciones (Preneel, Rogaway, Boneh,)

Problemas:

si vulneran una hash function

copyright (c) 2002 Core Security Technologies.

Primitivas
Block Ciphers
copyright (c) 2002 Core Security Technologies.

Block Ciphers - definicin

copyright (c) 2002 Core Security Technologies.

Block Ciphers definicin

copyright (c) 2002 Core Security Technologies.

Suposiciones estandard

copyright (c) 2002 Core Security Technologies.

Ataques estandard

copyright (c) 2002 Core Security Technologies.

Complejidad de los ataques

copyright (c) 2002 Core Security Technologies.

Text dictionary attack

copyright (c) 2002 Core Security Technologies.

Modos de operacin

 Modo ECB (electronic codebook)


 Modo CBC (cipher-block chaining)
 Modo OFB (output feedback)

copyright (c) 2002 Core Security Technologies.

Modo ECB (electronic codebook)

copyright (c) 2002 Core Security Technologies.

Modo CBC (cipher-block chaining)

copyright (c) 2002 Core Security Technologies.

Modo CBC (cipher-block chaining)

copyright (c) 2002 Core Security Technologies.

Modo CBC (cipher-block chaining)

copyright (c) 2002 Core Security Technologies.

El camino hasta DES (Data Encryption Standard)

copyright (c) 2002 Core Security Technologies.

Substitution box (S-box)

copyright (c) 2002 Core Security Technologies.

Permutation box

copyright (c) 2002 Core Security Technologies.

Un cipher que tenga slo S-boxes?

copyright (c) 2002 Core Security Technologies.

Un cipher que tenga slo P-boxes?

copyright (c) 2002 Core Security Technologies.

Substitution-permutation network

copyright (c) 2002 Core Security Technologies.

Substitution-permutation network con clave

copyright (c) 2002 Core Security Technologies.

Primitivas
Clace pblica
copyright (c) 2002 Core Security Technologies.

Criptografa de clave pblica

 Dos ejemplos:
Diffie & Hellman, New directions in cryptography, 1976.
Rivest, Shamir & Adleman (RSA), A method for obtaining digital signatures
and public-key cryptosystems, 1978

 Ms ejemplos
Probabilistic encryption (e.g., Goldwasser-Micali)

copyright (c) 2002 Core Security Technologies.

Diffie-Hellman key agreement

copyright (c) 2002 Core Security Technologies.

RSA (parmetros)

copyright (c) 2002 Core Security Technologies.

RSA (encripcin y desencripcin)

copyright (c) 2002 Core Security Technologies.

RSA (asunciones)

copyright (c) 2002 Core Security Technologies.

Protocolos
copyright (c) 2002 Core Security Technologies.

Protocolos

 Un protocolo est dado por un intercambio de informacin entre dos o mas


personas. Por ejemplo:
Key agreement: Alice y Bob eligen una clave simtrica sin que un adversario tenga
acceso a esa informacin.
Authentication: Alice le demuestra a Bob, posiblemente un server, que ella es Alice de
manera que nadie ms pueda personificarla.
Coin flipping: Este protocolo emula tirar una moneda por telfono. Alice tira una
moneda y se compromete al resultado (cara o ceca) de manera que Bob pueda elegir
una de las posibilidades sin que Alice haga trampas.
Simultaneous contract signing: Alice y Bob firman cada uno un contrato asegurandose
que el otro firmo el propio.
Mental poker: Alice, Bob, Carol y Dave (al menos deberan ser cuatro, no?), juegan al
poker sin cartas (fisicas) pero asegurandose que las cartas virtuales han sido bien
mezcladas y repartidas.

copyright (c) 2002 Core Security Technologies.

Protocolos

 Durante la ejecucin de un protocolo los participantes se turnan por rondas,


duarante las que hacen cuentas, ejecutan primitivas en gral.
 Al final de la ronda, el participante envia cierta informacin a algn/algunos
participantes segn lo establezca el protocolo.
 La seguridad de un protocolo se reduce a la combinacin de resultados de
seguridad sobre primitivas.

copyright (c) 2002 Core Security Technologies.

Protocolos

 Las costumbres dicen que los participantes se llaman


Participantes correctos: Alice, Bob, Carol.
Atacentes: Mallory (atacante activo), Eve (atacante pasivo).
Cliente&Server son siempre Carol y Steve
En general se simulan las interacciones entre participantes abstractos por juegos
criptogrficos.

 Primitivas: muchas veces protocolos como oblivious transfer o bit commitmentson usados como primitivas en protocolos (ms grandes).
 En la actualidad (desde fines de los 90s) se mejoran las definiciones de
seguridad de primitivas para poder demostrar mejores resultados sobre la
seguridad de protocolos.

copyright (c) 2002 Core Security Technologies.

Caso de estudio: Ssh


: Ssh

copyright (c) 2002 Core Security Technologies.

SSH

 El viejo SSH (www.ssh.com) de Tatu Ylonen [90s]


Un software que permite a sus usuarios contactar, y seguidamente ejecutar cdigo
arbitrariamente, de manera segura hosts remotos por canales inseguros.
Autenticacin, Confidencialidad, e Integridad

 Evolucin:
IETF (www.ietf.org) y versiones gratuitas [post 1997]
Varias versiones para cada OS

copyright (c) 2002 Core Security Technologies.

Protocolo SSH (slo default)

Handshake

Autenticacin (default)

intercambio de versiones (e.g., SSH-1.99-OpenSSH_2.3.0)


determinacin de protocolo de intercambio de claves (por default usa RSA)

server envia claves pblicas RSA


cliente, chequea y responde c/ key simtrico y esquema de encripcin
simtrtico y MAC elegidos, encriptando este paquete con las calves
pblicas del server
server acuerda (o no)

Uso de canal seguro

Todos los paquetes que se intercambian sucesivamente entre server y


cliente son encriptados y autenticados (E&A)
El cliente se identifica (user ID + password) y accede a su cuenta.

copyright (c) 2002 Core Security Technologies.

Caso de estudio: Ssh


Timming attack
: Ssh

copyright (c) 2002 Core Security Technologies.

Timing attack: usando retardos entre teclas

 En el protocolo de SSH, cada vez que una tecla es pulsada, se


encripta y se manda encriptada por el canal seguro.
 Los paquetes, aunque encriptados, pueden ser sniffeados. En
particular, el tiempo de emisin de estos paquetes es un dato
que los atacantes pueden obtener.
 Usando solo los retardos entre la llegada de esos paquetes es
posible recuperar lo tipeado (en casos favorables).
 Elegimos el Hidden Markov Model (HMM) para modelar esta
situacion inspirandonos en las tcnicas de reconocimiento de
voz.

copyright (c) 2002 Core Security Technologies.

Timing attack

copyright (c) 2002 Core Security Technologies.

Timing attack (cont.)

copyright (c) 2002 Core Security Technologies.

Timing attack (cont.)

copyright (c) 2002 Core Security Technologies.

Timing attack (cont.)

copyright (c) 2002 Core Security Technologies.

Timing attack (cont.)

copyright (c) 2002 Core Security Technologies.

Timing attack (cont.)

copyright (c) 2002 Core Security Technologies.

Timing attack (cont.)

copyright (c) 2002 Core Security Technologies.

Caso de estudio: Ssh


: Ssh

Bleichenbachers attack
copyright (c) 2002 Core Security Technologies.

RSA security results

Brute Force attacks

Elementary attacks

Coppersmith [6], Hastad [7]


Related messages, Franklin-Reiter [8]

Small Prime difference

M. Wiener [4], Boneh and Durfee[5]

Low public exponent attacks

Common Modulus
Blinding

Low private exponent attacks

Factoring N

B. Wegger [9] (2002)

Implementation attacks

Timing attacks, Power analysis, Kocher [10]


Random Faults, Boneh, DeMillo, Lipton [11]
Bleichenbachers attack on PKCS#1 [2] (1997)

copyright (c) 2002 Core Security Technologies.

PKCS #1, RSA encryption standard, version 1.5

El formato PKCS1 1.5

M = 00 02 padding string 00

message

at least 8 bytes
k bytes
N=pq de tamao k

Dado un mensaje message, M es el plaintext


que se encripta via C=Me mod N

copyright (c) 2002 Core Security Technologies.

PKCS #1, RSA encryption standard, version 1.5

El protocolo PKCS1 1.5

C
R
R=1 si M comienza con 00
02

El atacante tiene acceso a un orculo que le responde si un ciphertext


dado C tiene la estructura de PKCS#1 1.5 al ser desencriptado.

copyright (c) 2002 Core Security Technologies.

El ataque de Bleichenbacher

Ci = C * Sie (mod N)
Ri
Si Ri = 1 entonces
2*256k-2 - 1 < M Si < 3*256k-2

El atacante tiene acceso a los 16 bits ms significativos de Msi cada vez que Ri =
1
Eligiendo un nmero significativo de valores Si al azar, y enviandolo al server
conforme la figura arriba, un atacante puede recuperar a M eficientemente

copyright (c) 2002 Core Security Technologies.

CORE SECURITY TECHNOLOGIES

Headquarters
44 Wall Street | 12th Floor
New York, NY 10005 | USA
Ph: (212) 461-2345
Fax: (212) 461-2346
info.usa@corest.com

Florida 141 | 2 cuerpo | 7 piso


(C1005AAC) Buenos Aires
Tel/Fax: (54 11) 4878-CORE (2673)
info.argentina@corest.com

Rua do Rcio 288 | 7 andar


Vila Olmpia | So Paulo | SP
CEP 04552-000 | Brazil
Tel: (55 11) 3054-2535
Fax: (55 11) 3054-2534
info.brazil@corest.com

www.corest.com

G R A C I A S !

Contacto: corelabs@corest.com
copyright (c) 2002 Core Security

Technologies.

You might also like