Me pregunto si hay una diferencia entre ataque de canal lateral y ataque de escuchas ilegales . A mi me parecen dos cosas similares
Me pregunto si hay una diferencia entre ataque de canal lateral y ataque de escuchas ilegales . A mi me parecen dos cosas similares
Sí.
Eavedropping significa que alguien (generalmente alguien llamado Eve ...) escucha a escondidas la comunicación de Alice con Bob. Eavedropping puede romper la seguridad de un sistema, por ejemplo, cuando el protocolo tiene contraseñas transmitidas en texto plano.
Un ataque de canal lateral aprovecha la información filtrada a través de (inserta batería aquí) un canal lateral que observas para romper un sistema. Los ataques de canal lateral no tienen por qué implicar ningún espionaje en las comunicaciones reales entre Alice y Bob; el atacante podría atacar el sistema directamente y observar un canal lateral dado.
Por ejemplo, aquí hay un simple ataque de canal lateral contra implementaciones ingenuas de una verificación de contraseña que usa un bucle for para verificar cada carácter secreto con una contraseña proporcionada:
def check_password(provided):
secret = 'open-sesame'
for i in range(len(secret):
if provided[i] != secret[i]:
return False
return True
(El código de Python anterior no funcionaría en la vida real, pero tenga paciencia conmigo): Si usa tal comprobación, lleva menos tiempo cuando el primer carácter es incorrecto que cuando el primer carácter es correcto, porque El bucle for terminará en la primera iteración. Así que simplemente puede probar una contraseña que comience con A, luego con B, luego con C y así sucesivamente, y mida el tiempo que le toma rechazar con check_password. Cuando tarda un poco más, sabes que tienes el primer personaje correcto. Ahora repite eso con el segundo carácter, etc.
La comunicación aquí es que está proporcionando la función check_password con una contraseña y obtiene una respuesta de Verdadero o Falso (aceptado o rechazado). El tiempo necesario para que la contraseña sea aceptada o rechazada es el canal lateral, y como el tiempo no es el mismo para las contraseñas aceptadas y rechazadas, el sistema filtra información sobre este canal lateral, que puede aprovecharse para convertir la adivinación de contraseñas en una operación O (n), donde n es la longitud de la contraseña en caracteres.
Puede pensar que tales pequeñas diferencias en el tiempo no pueden explotarse, pero se ha demostrado que dichos ataques de tiempo incluso funcionan de forma remota (por ejemplo, midiendo cuánto tiempo le lleva al servidor responder con un mensaje de "acceso denegado"), siempre que que recopile suficiente información estadística sobre cuánto tarda en llegar la respuesta promedio.
enlace describe un antiguo ataque de tiempo contra la comprobación de contraseñas que se encuentra en el sistema operativo Tenex Sistema que explotó las diferencias de tiempo introducidas por la infraestructura de paginación. Ese es bastante famoso y el enlace proporcionado tiene una explicación bonita y detallada.
Los ataques de tiempo son solo un ejemplo de ataques de canal lateral. Otro canal lateral es el consumo de energía, y recientemente Bruce Schneider escribió en su blog sobre un trabajo de investigación que utilizó un ataque utilizando patrones de radiación wifi para determinar la contraseña de su teléfono inteligente. También vea artículo de noticias al respecto.
Lea otras preguntas en las etiquetas attacks privacy encryption side-channel