patrick longa university of waterloo. agenda criptosistemas asimétricos: definiciones, nociones de...

38
Patrick Longa Patrick Longa University of University of Waterloo Waterloo

Upload: marita-ossa

Post on 12-Jan-2015

7 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Patrick LongaPatrick LongaUniversity of University of WaterlooWaterloo

Page 2: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Agenda Criptosistemas Asimétricos:

Definiciones, nociones de seguridad y principios básicos

RSA, implementación de RSA Firmas digitales

Logaritmos discretosCurvas elípticas (ECC)

Básicos, Características Intercambio de llaves DH Aritmética en ECC

Ataques Side-Channel:Ataques Side-Channel simples (SSCA)

Aplicaciones, implementación e historiaCasos de estudio: RFIDs y la industria automotriz

Page 3: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Criptografía no solo es encriptación

También ofrece:

Confidencialidad Autenticación No repudiación Integridad

Clasificación Criptosistemas Simétricos Criptosistemas Asimétricos

Ayer vimos...

Page 4: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Problemas con Sistemas Simétricos

¿Cómo se logra el “Canal Seguro”? Complejo/impráctico manejo/distribución de llaves. comunicaciones seguras entre n personas requieren

n(n-1)/2 llaves

¿ Autenticación y no repudiación? no se puede lograr.

encriptador desencriptador

canal seguro

Bob

k

Eve

Alice

c

Page 5: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Propiedades de autenticación y no repudiación: Firmas Digitales

Manejo/distribución de llaves más fácilmente manejable. Sin embargo, mucho más lento que sistemas simétricos:

criptosistemas híbridos

CRIPTOSISTEMAS ASIMETRICOS

encrypter decrypter

m

Llave publica de Alice

c

mBob Alice

Llave privada de Alice

Eve

Page 6: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Definición

Criptosistemas definidos por tres funciones:

Generación de llaves: Función de encriptación: Función de desencriptación:

m : mensaje M : conjunto de todos los mensajes c : texto encriptado C : conjunto de todos los textos

encriptados.P : llave pública LL : conjunto de todos los pares de

llaves.S : llave secretal : parámetro de seguridad de la llave

Criptosistemas Asimétricos

( , )c E P m C ( , )m D S c M

( ) ( , )G l P S LL

Page 7: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

En 1976:

Diffie, Hellman y Merkle presentaron una solución al problema de distribución de llaves para criptosistemas simétricos

Definieron por primera vez la idea de un Criptosistema Asimétrico (o de llave pública)Sin embargo, ellos mismos no fueron capaces en ese momento de proponer un sistema práctico que encajara en su definición

En 1977:

Rivest, Shamir y Adleman descubrieron el primer sistema práctico de llave pública: RSA

La Historia detrás

Page 8: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Nociones de seguridad

Para romper un sistema de seguridad… (Muy arcaicamente) se cuentan los “pasos” requeridos

por el algoritmo más “eficiente” para romper el criptosistema

El nivel de seguridad se expresa en bits(# pasos)

Por ejemplo: el ataque Pollard rho requiere pasos para

romper ECC.

Si ECC es implementado con tamaño(p) = bits

y el nivel de seguridad es de 80 bits

p

2log 160p 1602p

Page 9: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Nociones de seguridad

Mas genéricamente:La complejidad de cualquier función puede ser expresada por:

Para categorizarla como: Exponencial en Subexponencial Polinomial en

1(( )(ln ) (ln ln ) ))( , ) c n nnL c e

( )cO n

((ln ) )cO n

Page 10: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Nociones de seguridad

Por ejemplo: el ataque Number Field Sieve (NFS) requiere

pasos para romper RSA.

claramente subexponential.

Si RSA se quiere con 80 bits de seguridad, ¿cuantos bits en el parámetro de seguridad l de la llave se requieren?

bits es requerido para alcanzar 80 bits de seguridad

1024x

0.3333 0.6666((1.923 )(ln ) (ln ln ) ))(1/ 3,1.923) n nnL e

(1/ 3,1.923)nL

0.3333 0.6666((1.923 )(ln 2 ) (ln ln 2 ) )) 80(1/ 3,1.923) 2x x

nL e

Page 11: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Basado en la dificultad para factorizar números de gran tamaño.

Dado un parámetro de seguridad l:

Generación de llaves:Escoger dos números primos p y q, y calcula n = p.qEscoger un número aleatorio e que sea coprimo a

la llave pública es (n, e) la llave privada es

Notar que :

RSA

( ) ( 1)( 1)n p q

1(mod ( ))d e n

. 1(mod ( ))d e n

Page 12: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Función de encriptación:Dado un mensaje m:

Función de desencriptación:Dado el texto encriptado c:

Chequeando el proceso encriptacion/desencriptacion:

RSA

(mod )ec m n

(mod )dm c n

(mod ) ( ) (mod ) (mod )d e d d em c n m m n m n m

Page 13: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Operación central: exponenciación

Método directo (e veces) sólo multiplicaciones modulares muy caro!

Método binario , donde y

squarings y multiplicaciones modulares

Implementación de RSA

(mod )em n

em m m m

1

0

2t

ii

i

e s

45 2 2 2 2 2

245 = (101101) (((( ) ) ) )m m m m m

{0,1}is 2logt e

costo squarings ( / 2) multiplicacionest t

Page 14: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Método binario:

Implementación de RSA

45 2 2 2 2 2245 = (101101) (((( ) ) ) )m m m m m

2logt e

costo squarings ( / 2) multiplicacionest t

1

0

2t

ii

i

e s

Page 15: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

La historia alternativa de PKCEl concepto de criptosistemas de llave pública fue en realidad descubierto por James Ellis (Government Communications Headquarters – GCHQ) al final de los 60’s (alrededor de 7 años antes!).

Clifford Cocks retomó la labor de llevar a la realidad la innovativa definición, y así descubrió RSA en 1973 (3-4 años antes que Rivest, Shamir y Adleman).

Finalmente, Malcolm Williamson, tratando de encontrar alguna falla en el análisis de Cocks, descubre el Intercambio

dellaves DH en 1975 (un año antes que Diffie y Hellman).

Sin embargo, GCHQ nunca supo sacar provecho de sus descubrimientos !

Page 16: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Caso de estudio:Criptografía y la Industria Automotriz

Page 17: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Definición

Un firma digital esta definida por tres funciones:

Generación de llaves: Función para firmar: Función de verificación:

Se debe cumplir:

m : mensaje σ : firma del mensaje.PK : llave pública LL : conjunto de todos los pares

de llaves.SK : llave secretal : parámetro de seguridad de la llave

Firmas Digitales

( , )S SK m ( , , ) { , }b V PK m verdadero falso

( ) ( , )G l PK SK LL

( , , ( , )) ( , ) is validV PK m S SK m verdadero PK SK

Page 18: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Dado un parámetro de seguridad l:

Generación de llaves:Escoger dos números primos p y q, y calcular n = p.qEscoger un número aleatorio e que sea coprimo a

la llave pública es (n, e) la llave privada es

Recordar que :

Firma Digital RSA

( ) ( 1)( 1)n p q

1(mod ( ))d e n

. 1(mod ( ))d e n

Page 19: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Función para firmar:Dado el hash del mensaje m: H(m)

La firma es el par (σ, H(m))

Función de verificación:Dada una firma (σ, H(m)), aceptarla si y solo si:

Chequeando el proceso firma/verificacion:

Firma Digital RSA

( ( )) (mod )dH m n

( ) (mod )e H m n

( ( )) (mod ) ( ) (mod )e deH m n H m n

Page 20: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Basado en la dificultad para calcular logaritmos en determinados grupos cíclicos.

Dado el grupo cíclico G de orden n, encontrar x dados g y

. O lo que es lo mismo, calcular:

Ejemplos: DLOGs son fáciles de calcular ;

ya que (h veces) = 1. h = h se especula que es difícil de calcular , donde E es una curva elíptica sobre el grupo

finito . Se considera que el calculo de DLOG es considerablemente más difícil en este grupo

Logaritmos discretos

(mod )xh g n

gx DLOG h

, 1,nG g Z1x DLOG h h

1 1 ... 1 *pG Z

( )pG E FpF

Page 21: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

El criptosistema de curvas elípticas (ECC) es un sistema de llave publica

que fue independientemente propuesto por Miller y Koblitz (1985):

Basado en la dificultad para calcular logaritmos discretos sobre una curva elíptica:

Dada la curva elíptica E definida sobre el campo finito K, y P y Q que son puntos de E(K) tal que:

Q = dP

El problema de determinar d dados los puntos P y Q es considerado altamente difícil.

La multiplicación escalar es la operación dominante en ECC. En general, d es usada como la llave secreta y Q como la llave

pública

Curvas Elípticas (ECC)

Page 22: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

No se conoce ataque subexponential contra ECC más atractivo que RSA porque requiere llaves

significantemente más cortas para brindar el mismo nivel de seguridad

más rápida ejecución menores requerimientos de memoria

Ideal para dispositivos portátiles como PDAs, smartcards, celulares, etc.

Algunos ejemplos de protocolos usando ECC:

ECDSA EC Digital Signature Algorithm ECDH Intercambio de llaves EC Diffie-Hellman

Características (ECC)

Tamaño de llave (bits)

ECC 160 224 256 384 512

RSA 1024 2048 3072 8192 15360

Page 23: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Público: un grupo E(K) y un punto P de orden n

Bob y Alice poseen el mismo valor bQAlice = aQBob = abP Esta llave compartida puede ahora ser utilizada para establecer una

rápida y segura comunicación usando un criptosistema simétrico: hybrid cryptosystem

Un ejemplo: Intercambio de llaves EC Diffie-Hellman

a Bob Enviar QAlice

Enviar QBob a Alice

Calcular bQAlice Calcular aQBob

Escoger secreto 0 < b < n Escoger secreto 0 < a < n

Calcular QBob = bP Calcular QAlice = aP

Page 24: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Una curve elíptica E sobre un campo finito K es definido por la

ecuación:

(1)

Donde el conjunto de puntos (x,y) que resuelven (1) y un punto al

infinito (que es la identidad) forman un grupo finito especializado

En general, hay dos grupos finitos para construir ECC:

Binary fields : campos finitos de orden

ECC: básicos

2 3 21 3 2 4 6:E y a xy a y x a x a x a

2 3 2:E y xy x ax b 2

, ma bF

2mF 2m

Page 25: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Prime fields : consiste de los enteros modulo p (primo):{0,1,…,p-1}, con adición y multiplicación sobre modulo p

Donde:

ECC: básicos

, pa bF

2 3 2:E y x ax b

pF

Page 26: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

La estructura aritmética de ECC consiste de 3 niveles:

ARITMETICA DE CAMPO

ARITMETICA DE PUNTO

ARITMETICA ESCALAR

Algoritmos para multiplicación escalar: dP = P + P + … + P (d times)

Doubling y adición de puntos ECC: 2P , P+Q

Adición, multiplicación, squaring, inversión de campo

ECC: básicos

Page 27: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

1st nivel: Aritmética escalar

Objetivo: ejecutar la multiplicación escalar dP eficientemente

Método directo dP = P + P + … + P (d veces) solo adiciones de puntos

Método binario adiciones y doublings de puntos

Ejemplo: 45 = (101101)2 [45]P = 2(2(2(2(2P) + P) + P)) + P

1 0

:

( ,..., ), E( )

1. 2

2. 2 0

2.1. 2

2.2. 1

3. Re ( )

n

i

Scalar Multiplication Left to right binary method

d d d P K

dP

Q P

For i n downto do

Q Q

If d then Q Q P

turn Q

INPUT :

OUTPUT :

ECC: básicos

1

2 i

nb

i

d

Page 28: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Adición de puntos: P+Q

1 1( , )P x y

2 2( , )Q x y

3 3( , )P Q x y

2 1

2 1

23 1 2

3 1 3 1

y y

x x

x x x

y x x y

2nd nivel: Aritmética de punto

Objetivo: calcular adiciones y doublings de puntos eficientemente

tradicional representación con dos coordenadas (x,y) : Affine

1 1( , )P x y

3 32 ( , )P x y

21

1

23 1

3 1 3 1

3

2

2

x a

y

x x

y x x y

Doubling de puntos: 2P

ECC: básicos

Page 29: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

3rd nivel: Aritmética de campo

Objetivo: calcular inversiones, multiplicaciones, squarings, adiciones, substracciones and reducciones de campo

eficientemente

Para campos primos : operaciones son módulo el número primo p

Un ejemplo: operaciones de campo modulo 11

6 + 8 = 14 3 mod 11

6 – 8 = 2 9 mod 11

6 x 8 = 48 4 mod 11

6^2 = 36 3 mod 11 6^(1) 2 mod 11 ( 6 x 2 = 12 1 mod 11 )

ECC: básicos

Page 30: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

El Ataque de Cumpleaños¿Cuántas personas deben agruparse (aleatoriamente) para

que la posibilidad de tener al menos dos con el mismo cumpleaños

sea alto?

Sólo 23 para tener una probabilidad de éxito superior al 50% !!

“Colisiones” o “valores repetidos” aparecen más pronto de lo esperado; por ejemplo:

Supongamos un banco autentica sus transacciones bancarias con

64 bits (algo de 18 trillones)

Con el Principio del Cumpleaños un atacante en realidad solo necesita ver (algo de 4000 millones) de transacciones

64 182 18 10

322

Page 31: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Caso de estudio:RFIDs, firmas digitales y la industria farmacéutica

Page 32: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Side-Channel Attacks (SCA) • Establecidos criptosistemas (AES, ECC, RSA, etc.) están basados en problemas matemáticos de gran dificultad

más altos niveles de seguridad son (hasta el día de hoy) imposibles de romper “matemáticamente”

Pero dispositivos de la vida real despiden información adicional que puede correlacionarse con las computaciones internas:

• Tiempo de ejecución

• Fallas forzadas

• Consumo de potencia

• Emisión electromagnética, etc., etc.

Page 33: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Modelo de Ataque

Consumo de potencia,

emision EM,

tiempo de ejecucion, etc.

INFORMACION SIDE-CHANNEL

Data de entrada

Data encriptada

ATACANTE DATA SECRETA

Page 34: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

SSCA: explota información de solo una medición para revelar la llave secreta

En la multiplicación escalar de ECC, secuencia de D and A depende directamente de los bits de la llave:

si es posible distinguir D de A, se puede descubrir el valor de la llave secreta

1 0

:

( ,..., ), E( )

1. 2

2. 2 0

2.1. 2

2.2. 1

3. Re ( )

n

i

Scalar Multiplication Left to right binary method

d d d P K

dP

Q P

For i n downto do

Q Q

If d then Q Q P

turn Q

INPUT :

OUTPUT :

DSCA (Differential Side-Channel Attacks) SCA

SSCA (Simple Side-Channel Attacks)

0 0 1 1 0

D D,AD D… …

D,A

Clasificación

Page 35: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

• Regular secuencia de operaciones (ejemplo: Double-and-Add-Always)

altamente caro

• Operaciones indistinguibles vía instrucciones “falsas”:

Hacer los consumos de potencia D and A indistinguibles con la inserción de instrucciones “falsas” costoso

1 0

0

0 0

1 0

0

0

:

( ,..., ), E( )

1. 2

2. 2 0

2.1. 2

2.2.

2.3.

3. Re ( )i

n

d

Scalar Multiplication Double and Add Always method

d d d P K

dP

Q P

For i n downto do

Q Q

Q Q P

Q Q

turn Q

INPUT :

OUTPUT:

Medidas contra SSCA

Page 36: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

• Side-Channel Atomicity: Construir D y A con bloques (“atómicos”) homogéneos conteniendo la misma secuencia de operaciones de campo un atacante no va a poder distinguir entre adiciones and doublings.

de bajo costo

M

A

N

A

M

A

N

A

M

A

N

A

M

A

N

A

M

A

N

A

M

A

N

A

M

A

N

A

M

A

N

A

M

A

N

A

M

A

N

A

M

A

N

A

M

A

N

A

… …

ADICION DOUBLING DOUBLING

Medidas contra SSCA

Page 37: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Información acerca Side-channel attacks: http://www.crypto.ruhr-uni-bochum.de/en_sclounge.html

Información acerca de ECC: http://www.certicom.com/index.php?action=ecc,home

Información acerca de RSA y aplicaciones de criptografía: http://www.rsa.com/rsalabs/node.asp?id=2260

Grupo de investigación criptográfica de la U. de Waterloo: http://www.cacr.math.uwaterloo.ca/

Algunas referencias

Page 38: Patrick Longa University of Waterloo. Agenda Criptosistemas Asimétricos: Definiciones, nociones de seguridad y principios básicos RSA, implementación

Patrick LongaPatrick LongaUniversity of University of WaterlooWaterloo

Preguntas y Respuestas

Presentación disponible en: Presentación disponible en: http://www.patricklonga.bravehost.comhttp://www.patricklonga.bravehost.com