Suponga que tengo una tarjeta inteligente y quiero realizar un ataque de canal lateral de potencia diferencial en su mecanismo de autenticación mutua.
Este es el mecanismo de autenticación mutua que utiliza mi tarjeta (Supongamos que la clave de autenticación es AuthKey y que ya está compartida entre la tarjeta y el usuario):
- El usuario envía un comando a la tarjeta para solicitar un número aleatorio + un número aleatorio llamado desafío 1
- La tarjeta devuelve su número aleatorio denominado Desafío 2 +
Card_enc1 = encrypt(AuthKey , Challenge 1)
al usuario. - El usuario recibe
Card_enc1
y lo compara con la salida deUser_enc1 = encrypt(AuthKey , Challenge 1)
. Si eran iguales, devuelveUser_enc2 = encrypt (AuthKey, Challenge 2)
a la tarjeta. - La tarjeta recibe
User_enc2
y la compara conCard_enc2 = encrypt (AuthKey, Challenge 2)
. Si eran iguales, la tarjeta y el lector se autentican correctamente.
Como se ve arriba, el usuario no envió AutheKey
mientras que en los documentos que leí en ataques de canal lateral, el atacante debe establecer diferentes valores para la clave de cifrado y cifrar datos diferentes con esa clave.
Ahora, la pregunta es, ¿cómo puedo realizar un ataque de canal lateral en este procedimiento de autenticación?
Una respuesta paso a paso es más útil.