Obtienen claves de cifrado RSA escuchando el sonido de emite la CPU

Recientemente han conseguido comprometer con éxito uno de los algoritmos de cifrado más seguros - RSA de 4096 bits - y, lo más sorprendente, es que lo han hecho simplemente escuchando con un micrófono el ruido que emite el procesador del ordenador al descifrar los datos (10 a 150 KHz).
 
Los investigadores extrajeron con éxito las claves de descifrado a una distancia de cuatro metros y en menos de una hora con un micrófono parabólico de alta calidad. Sin embargo, también se las arreglaron para atacar a un smartphone a 30 centímetros del portátil atacante y llevaron a cabo (con distinto éxito) pruebas contra diferentes ordenadores portátiles y de sobremesa.
 
Este criptoanálisis acústico, realizado por Daniel Genkin, Adi Shamir (co-inventor de RSA) y Eran Tromer, utiliza lo que se conoce como un ataque de canal lateral (no convencional e indirecto) sobre la implementación 1.x del criptosistema RSA de de GnuPG y, a muy grandes rasgos, lo que hacen es obtener las claves RSA interpretando la señal acústica que se genera realmente por el regulador de voltaje de la CPU al ejecutar las correspondientes instrucciones para el descifrado de datos.


En la siguiente imagen podemos ver el espectrograma de frecuencia de varias instrucciones de la CPU:



Además, el mismo tipo de datos eléctricos también pueden "adivinarse" de muchas otras fuentes - la toma de corriente de la pared , el extremo remoto de un cable Ethernet, o simplemente tocando el ordenador (con la medición relativa de potencial de un cuerpo con el potencial de tierra de la habitación).

En cuanto a las repercusiones en el mundo real, el criptoanálisis acústico es en realidad... sorprendentemente peligroso.

Imagina que estás descifrando algunos archivos en una biblioteca, cafetería, u otro espacio público - una persona podrá obtener tu clave de descifrado con sólo colocar el teléfono cerca del ordenador. O de forma alternativa, un atacante podría utilizar un spear phishing para poner malware en tu teléfono para escuchar la clave de descifrado.
Con HTML5 y Flash capaz de acceder al micrófono, sería también posible construir un sitio web que recibe las claves de cifrado.
Los investigadores proponen un escenario particularmente nefasto: pon un micrófono en un servidor en un rack de un centro de datos y podrás obtener las claves de cifrado de cientos de servidores cercanos...

Paper de la investigación:

 RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis [PDF]
 

Fuente: 
- Researchers crack the world’s toughest encryption by listening to the tiny sounds made by your computer’s CPU

26 comentarios :

  1. Si te meten un malware en el PC no necesitan escuchar nada, porque ya tienen todo al alcance ;)

    ResponderEliminar
    Respuestas
    1. No tiene por qué, si metes un script en un sitio web que acceda al micrófono (en el propio artículo se recuerda que HTML5 y flash tienen acceso al micrófono) con la intención de grabar el sonido del procesador, es un malware, y en ese caso no tienes todo al alcance.

      Eliminar
  2. Oh man, esto esta bastante jodido la verdad. Entonces que tocara ahora? Usar DSA? O blowfish quizas? Este ultimo es muy bueno dicen.

    ResponderEliminar
    Respuestas
    1. DSA es para firmas, para eso recomiendo ECDSA. hablando de blowfish es simetrico y ocupa llaves de 32 bits hasta 448 bits.
      Firmar informacion y luego ocupar cifrado simetrico, no tiene sentido, RSA entrega todo eso, demora menos que DSA, tiene llaves mayores a blowfish (1024 bits), ademas quien dice que no se puede ocupar el mismo metodo.

      Eliminar
  3. Un micro con una respuesta en frecuencia de 150 khz, no uno de móvil.

    ResponderEliminar
    Respuestas
    1. Claro, eso es ultrasonido! el oido humano a duras penas llega a oir 20khz

      Eliminar
  4. Pues no se... ¿no valdría con poner una grabación con un sonido "despiste", es decir, con el sonido de otro procesador haciendo otra cosa, como jugar al buscaminas ;-) o ejecutando un script infinito con operaciones aleatorias al lado de la máquina en cuestión?

    ResponderEliminar
    Respuestas
    1. Teoria de la informacion, yo veo mucho potencial.

      Eliminar
    2. Todo sonido se puede enmascarar con otro sonido de la misma frecuencia pero con más potencia. Ten en cuenta que son sonidos no audibles por el oido humano,

      Eliminar
  5. lo más fácil sería reforzar la seguridad física y no dejar que nadie se acerque los suficiente al servidor.

    La opción que comenta podría ser, imagina por ejemplo un hilo musical de una orquesta clásica en el datacenter XD.

    U otra opción más cara, comprar cajas insonorizadas ...

    ResponderEliminar
    Respuestas
    1. ME GUSTA LA DE LA MÚSICA CLÁSICA AUNQUE YO LE METERÍA NIGHTCORE, POR LA VARIACIÓN DE SONIDOS Y ESCALAS

      Eliminar
  6. Con el ruido que hace el ventilador de mi portatil lo llevarian claro :D

    ResponderEliminar
  7. joder, ya uno no se puede tirar ni un pedo agusto.. podrían descifrar tu ADN... jajaj

    ResponderEliminar
  8. al último @anonimo le doy toda la razón ;)

    ResponderEliminar
    Respuestas
    1. Vicente Motos, soy el que dijo lo de HTML5, en realidad respondía al primer anónimo, al de que no necesitas el micro si tienes malware, pero estoy advirtiendo que en la versión de escrotorio de la web no aparecen los comentarios debajo de a quién has respondido.

      Eliminar
  9. Vamos que no es lo mismo usar un micrófono parabólico de alta calidad apuntado al procesador, que el micrófono de tu portátil con flash. No creo que un micro cualquiera sirva para descifrar claves.

    ResponderEliminar
  10. Ruidos externos como equipos de musica o hilo musical no afectarian al resultado final, ya que el que quiera descifrar estara preparado al ifual que usa un microfono especial y direccionable tambien tendra un programa para filtrar ruidos.

    Lo de siempre la seguridad es relativa, mientras que otro no este interesado en fastidiarnos todo bien.

    Un Saludo.

    ResponderEliminar
  11. Al del servicio técnico, menos publicidad anda, que se te vee el plumero de porqué participas aquí

    ResponderEliminar
  12. Increible! no se donde vamos a llegar..no me lo termino de creeer

    ResponderEliminar
  13. El titular es inexacto, no 'han roto el cifrado RSA', sólo han encontrado una forma mas o menos sofisticada de obtener la clave privada.

    ResponderEliminar
  14. quizás el último anónimo tiene razón y veo que se está generando bastante controversia con el tema de "romper"... así que he modificado el título para que esta vez
    (espero) sea más acertado.

    Saludos!

    ResponderEliminar
  15. Bien, es un escenario posible pero muy improbable. Además, salvo en pruebas de laboratorio, el procesador no solo realiza el proceso de encriptación/desencriptación: a esto subyacen otras aplicaciones, como la propia interfaz del sistema, o cualquier otro programa que esté corriendo; estos requieren del procesador tanto como cualquier otro (vamos a obviar procesadores diseñados exclusivamente para esas tareas, por otra parte muy poco comunes para el ciudadano de a pie). Es decir, hacerlo requeriría previamente filtrar los sonidos producidos por todas las demás posibles secuencias para luego limpiar todo el ruido que extraigamos del procesador.

    ResponderEliminar
    Respuestas
    1. Encriptación/desencriptación esta mal dicho... Sería cifrado/descifrado....

      Eliminar
    2. Sí. Perdón por el error. Pero se ha entendido el mensaje.

      Eliminar
  16. Y como es posible que en la laptop de un amigo, de pronto aparecio un mensaje que la computadora esta siendo encriptada por rsa 4096 el cifrado mas seguro !!, que debo hacer ???

    ResponderEliminar