3. Introducción al DNIe
• Microprocesador genérico
• Criptoprocesador
• Comunicaciones vía puerto serie
4. Introducción al DNIe
• Sistema Biométrico: Match On Card
• Certificado Autenticación
• Certificado No Repudio
• Certificado Componente
5. Introducción al DNIe
• PC / SC
– Integración de SmartCards en PCs
– API de comunicaciones
– Multiplataforma
– Funcionalidad
• Inicialización
• Gestión de Lectores
• Conexión / Estado
• Envío de comandos (APDUs)
6. Introducción al DNIe
• Canal Seguro
– Norma UNE 14890
– Utilizado para cifrar los comandos
– Ambos extremos se autentican mutuamente
• Intercambian claves públicas
• Autenticación
• Derivación de claves del canal
7. Introducción al DNIe
• CSP Aplicaciones
– Propuestas de Microsoft CSP
PC / SC
– Extensiones a la CryptoAPI
Lector
DNIe
8. Introducción al DNIe
• PKCS#11
– Estandar creado por RSA Aplicaciones
(http://www.rsa.com/rsalabs/node.asp?id=2133)
– API genérico para acceder a PKCS#11
crypto-devices
– Token como unidad de acceso PC / SC
– Gestiona varios objetos Lector
• Claves Públicas, Privadas DNIe
• Datos y Certificados
9. Introducción al DNIe
• Autenticación en Servicios Web
– Applet Java
• Más Intrusivo
– SSL + Certificado Cliente
• “Transparente”
10. Introducción al DNIe
• Applet Java
– Se necesita la descarga de un Applet Java
– Aparecerán mensajes de seguridad
11. Introducción al DNIe
DNIe Navegador Web Server OCSP
Init Session
Get Client Cert
Validate PIN
Get Auth Cert
Sign Msgs
Validate Cert
12. Introducción al DNIe
• Seguridad
– Sensores de alimentación
– Detección de glitches
– Capa metálica de pasivación
– Detección cambios de frecuencia del reloj
– Detección cambios en la tensión
• Nivel EAL4+
13. Man In Remote
• Motivación
• Definición
• Descripción
• Demo
14. Man In Remote
• Motivación
– Sistemas que utilizan Dispositivos Físicos
– Duplicación
– Autenticación Remota
15. Man In Remote
• Definición
Permite hacer uso en vivo de las
funcionalidades proporcionadas por un
dispositivo de seguridad en un Host diferente
del que está instalado
16. Man In Remote
• Descripción: Actores
– 48Banks
– Amián
– La Nuri
36. MiR Reloaded
• Java Version
– Sun PKCS#11
– Distribución como Phishing
– iframe + applet
37. MiR Reloaded
• Hasta ahora hemos conseguido
– Autenticarnos remotamente
– Firmar Remotamente
– Atacante con PIN puede usar nuestro DNIe
38. MiR Reloaded
• Segundo método de autenticación: Applet
– Firmar un Token
– Enviar token firmado en una petición Post
– No se necesita túnel pkcs#11
– Enviar token y devolverlo firmado
39. MiR Reloaded
Web Browser
<form>
<form>
<input id=“token”
<input id=“token”
value=“AAAAAA”>
value=“903234”>
</form>
</form>
40. MiR Reloaded
Web Browser
<form>
<input id=“token” 1 Token Phishing /
value=“903234”>
value=“AAAAAA”> Trojan
</form>
2 Signed Token
41. MiR: Solución
• Solución Compleja
• No podemos confiar en el PC
• El servidor no puede verificar nada extra
• Las Smart Cards no son tan “smart”
42. MiR: Solución
• Solución basada en tiempos de respuesta
• Tiempos fijos de procesamiento
• Latencia de la red
• Se consigue abortar un posible ataque
43. MiR: Solución
t R1 t R2 t p ( R1 ) tlocal
t R1
Local
Processing
t R2
t p ( R1 )
44. MiR: Solución
t R1 t R2 t p ( R1 ) tlocal 2t RTT
t R1
t RTT
Local
Processing MiR
t RTT t R2
t p ( R1 )
45. MiR: Solución
t R1 t R2 t p ( R1 ) tlocal
t R1 t R2 t p ( R1 ) tlocal 2t RTT
t R1 t R2 t R1 t R2
46. MiR: “Is this real Life?”
• Noticias sobre ataques similares
– http://www.itworld.com/security/134958/smart-
cards-no-match-online-spies
• Nunca hay que relajar el nivel de alerta