Implementación de los p esquemas de firma digital RSA y ECDSA

Anuncio
Implementación
p
de los
esquemas de firma digital
RSA y ECDSA sobre
hardware reconfigurable
Yulier Nuñez Musa
[email protected]
© 2010,
VII Jornadas para el Desarrollo
De Grandes Aplicaciones de Red
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
introducción
problema
propuesta
implementación
conclusiones
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
i t d
introducción
ió
• Intercambio de información sensible
a través de redes.
inseguros.
• Canales de comunicación inseguros
• Necesidad de garantizar la
integridad y autenticidad de la
información.
• Solución:
S l ió C
Criptografía
i t
fí d
de clave
l
pública y Firma digital.
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
i t d
introducción
ió
Firma digital.
g
introducción
problema
propuesta
implementación
conclusiones
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
problema
bl
• Implementación
p
Software
introducción
problema
propuesta
implementación
conclusiones
– La computadora constituye un ambiente
inseguro de procesamiento.
– Posibilidad que un atacante se apodere
de la clave privada.
¿Necesidad?
Protección de la clave privada.
Ambiente “seguro” de procesamiento.
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
propuesta
t
• Implementación
p
Hardware
introducción
problema
propuesta
implementación
conclusiones
– Almacenamiento seguro de la clave
privada.
– Nunca existe una copia de la clave
privada en el ordenador.
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
propuesta
t
• Tarjetas
j
de desarrollo de FPGA
– Spartan3 Starter Kit:
• XC3S1000 (1 millón de compuertas).
– Spartan3E Starter Kit:
introducción
problema
propuesta
implementación
conclusiones
• XC3S500E (500 mil compuertas).
• Lenguajes HDLs
– VHDL.
– Handel C.
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
RSA iimplementación
RSA:
l
t ió
• Bloque
q de cifrado:
– Basic RSA Encryption Engine
(http://www.opencores.org)
introducción
problema
propuesta
implementación
conclusiones
• Dos módulos de multiplicación modular.
• Veintidós registros.
RSA: implementación
• Basic RSA Encryption Engine
Tamaño de 200%
clave (bits)
150%
512100%
50%
Empleo de recursos en la XC3S1000
Slices
Utilizados
8103
Total
200%
Porcentaje
97%
51%
7680
105%
25%
0%
128 bits
256 bits
512 bits
1024 bits
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
RSA implementación
RSA:
i l
t ió
• Rediseño del bloque
q de cifrado RSA:
introducción
problema
propuesta
implementación
conclusiones
– Rediseñar el bloque de multiplicación
modular en pos de emplear una menor
cantidad de registros.
– Emplear un solo multiplicador modular
en la implementación de la operación
de exponenciación modular.
• Área vs. velocidad.
RSA: implementación
• Recursos utilizados por la implementación del nuevo Recursos utilizados por la implementación del bloque dede
esquema
bloque de cifrado RSA en la FPGA XC3S1000.
esquema de firma RSA en la FPGA XC3S1000.
cifrado
firmaRSA
RSAen
enlalaFPGA
FPGAXC3S1000.
XC3S1000.
Recurso Empleo de recursos en la XC3S1000
Utilizados
Total
140%
Slices
5948
7680
100%
Bloques RAM 23
24
120%
80%
Porcentaje
j
122%
77%
95%
61%
60%
30%
40%
20%
15%
0%
128 bits
256 bits
512 bits
1024 bits
RSA: implementación
• Recursos utilizados por la implementación de la función resumen SHA‐256
función resumen SHA
256 en la FPGA XC3S500E.
en la FPGA XC3S500E.
Recurso
Utilizados
Total
Porcentaje
Slices
2583
4656
55%
Bloques RAM 11
20
55%
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
ECDSA iimplementación
ECDSA:
l
t ió
• Rediseño del bloque
q de cifrado
ECDSA
introducción
problema
propuesta
implementación
conclusiones
– Implementación
p
Handel-C
– Generador de números
pseudoaleatorios en VHDL.
p
ECDSA: implementación
• Empleo de recursos de la FPGA XC3S1000
Tamaño de Slices
clave (bits) Utilizados
Total
Bloques RAM
j Utilizados Total Porcentaje
j
Porcentaje
32
2025
7680
26%
4
24
17%
64
3690
7680
48%
8
24
33%
128
7450
7680
97%
16
24
67%
160
7873
7680
103%
20
24
83%
ECDSA: implementación
• Recursos utilizados por la implementación de la función resumen RIPEMD‐128
función resumen RIPEMD
128 en la FPGA XC3S500E
en la FPGA XC3S500E
Recurso
Utilizados
Total
Porcentaje
Slices
2949
4656
63%
Bloques RAM 19
20
95%
sistema implementado
Proceso de Verificación
Firma
Firma
Comando
Fichero
digital
Firma
digital
Fi
Firma
Resumen
Comando
Resultado
digital
GOOD
Resumen
Firma
digital
ERR
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
conclusiones
l i
• Se logró
g cierta optimización
p
en área
del diseño.
introducción
problema
propuesta
implementación
conclusiones
– Utilización de los recursos dedicados de
memoria de las FPGAs.
– Evita el empleo
p
simultáneo de los
bloques funcionales implementados.
– Se pudieron elevar los tamaños de
clave hasta 512 y 128 bits para RSA y
ECDSA respectivamente.
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
introducción
problema
propuesta
implementación
conclusiones
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
conclusiones
l i
• El bloque
q de cifrado RSA rediseñado
es seis veces más lento que el
original.
g
• Esto evidencia que optimizar el
diseño en área implica un sacrificio
en velocidad.
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
introducción
problema
propuesta
implementación
conclusiones
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
conclusiones
l i
• Dado q
que el ECDSA utiliza claves
más pequeñas que RSA,
garantizando similar nivel de
g
seguridad, está llamado a ser la
mejor
j opción
p
p
para optimizar
p
recursos
en las implementaciones hardware.
VII Jornadas para el
desarrollo de grandes
aplicaciones
p
de red
(JDARE’10)
introducción
problema
propuesta
implementación
conclusiones
Implementación de los esquemas de firma digital
RSA y ECDSA sobre hardware reconfigurable
conclusiones
l i
• Ap
partir de las conclusiones
obtenidas se hace necesario
plantearse como trabajo
p
j futuro la
utilización del de co-diseño
hardware-software.
• Implementar en hardware solo
aquellos bloques críticos en tiempo
para lograr a un buen equilibrio entre
seguridad velocidad y empleo de
seguridad,
recursos.
Implementación
p
de los
esquemas de firma digital
RSA y ECDSA sobre
hardware reconfigurable
Yulier Nuñez Musa
[email protected]
© 2010,
VII Jornadas para el Desarrollo
De Grandes Aplicaciones de Red
Descargar