¿Qué tiene de malo almacenar claves privadas en la nube?

19

Sé que esto suena como una pregunta tonta, pero ¿qué tiene de malo? Suponiendo que todos los datos privados están cifrados (por el cliente) mediante PBE AES256, ¿es este esquema más vulnerable que almacenar las claves en su computadora local?

Pros:

  • todos sus dispositivos (teléfono inteligente, computadora portátil, cámara?) tienen acceso a las mismas teclas sin tener que copiarlas en todas partes y proteger múltiples dispositivos
  • suponiendo que el servidor de claves esté alojado por alguien que sepa de seguridad, los datos deberían ser más seguros que su teléfono inteligente o computadora portátil

Contras:

  • un solo ataque exitoso podría derribar millones de claves (encriptadas) de una sola vez (ataque remoto, empleado malicioso, etc.)

Mi comprensión de la situación actual es que usted mantiene sus claves privadas encriptadas en su computadora local protegidas por una frase de contraseña (* .JKS, * .BKS, secring.gpg, etc.). Un atacante podría escribir un troyano que carga todos sus archivos de clave privada a un servidor bajo su control. Esto recientemente comenzó a suceder con los archivos de billetera de BitCoin, por lo que es plausible que podría suceder con los almacenes clave. Eso le daría al atacante muchos almacenes de claves de una sola vez, lo mismo que un ataque exitoso en un servidor de claves y, por lo que puedo decir, para aproximadamente la misma complejidad. Además, los archivos actuales del almacén de claves no proporcionan más protección contra un atacante de lo que lo haría AES256, ya que todos giran en torno a la frase de contraseña del usuario.

Me parece que el punto débil real aquí es la frase de contraseña del usuario y no necesariamente donde se almacenan las claves. ¿Me equivoco? Sé que esta no es la situación ideal, pero la estoy comparando con la situación actual.

    
pregunta senecaso 17.10.2011 - 04:06
fuente

2 respuestas

14

Cualquier cosa que esté cifrada con PBE (como en "Cifrado basado en contraseña") puede ser objeto de un ataque de diccionario fuera de línea (es decir, el atacante intenta contraseñas potenciales). Esta es una preocupación a menos que tenga una contraseña muy segura, que no es tan fácil como parece porque también tiene que recordarla y escribirla con regularidad (si la anota en alguna parte, no es realmente super-fuerte). Las deficiencias de las contraseñas no tan fuertes se pueden mitigar de alguna manera mediante el uso de funciones de derivación de claves pesadas como bcrypt .

"Suficientemente fuerte" significa "tener una entropía de 128 bits o más", que significa "el esquema de generación de contraseña que usaste puede haber generado al menos 2 128 otras contraseñas distintas", por lo que somos no se trata de 8 o 10 caracteres, sino de 20 caracteres completamente aleatorios, o una lista de 10 "palabras comunes" elegidas al azar. Hablando de eso, no tiene sentido insistir en AES-256 en esa situación: AES-128 ya estará bien (es decir, la debilidad será la contraseña, no la AES).

Si tiene una contraseña lo suficientemente fuerte, puede almacenar en la nube cualquier información confidencial que desee, encriptada relativamente con esta contraseña, incluidas las claves privadas. Todavía tiene que confiar en el administrador de la nube para no perder sus archivos, pero, en promedio, los datos están más seguros en la nube que en las entrañas de un costoso teléfono móvil que blanden al caminar en la calle (recuerde, los teléfonos móviles son robados incluso más a menudo que los coches). A menos que el administrador de la nube tenga algo en contra de usted, por supuesto.

    
respondido por el Thomas Pornin 17.10.2011 - 05:35
fuente
6

Al final todo se reduce a la confianza. Si, como dice @Thomas, usted cifra mucho las cosas, está eliminando la necesidad de confiar en el proveedor de la nube, sin embargo, si confía en que el proveedor de la nube cifre los datos de forma segura para usted, estaría mucho más preocupado. No porque no creo que puedan, sino porque hay muchas capas en las que la implementación podría fallar. Un atacante puede intentar romper todos estos, y puede obtener acceso a sus claves y datos mientras se dirige a otra cosa alojada por ese proveedor en la nube, por lo que su probabilidad de ser comprometida aumenta.

Si guardo mis claves privadas en un dispositivo al que solo tengo acceso, puedo controlar el nivel de riesgo (tomando precauciones) pero también soy un objetivo mucho más pequeño, ya que muy pocos atacantes querrían perseguirme. / p>

Al final, esto no es realmente una pregunta técnica, es mucho más una pregunta de riesgo y confianza. ¿Confía en que la implementación en la nube lo proteja a pesar del perfil de riesgo elevado?

    
respondido por el Rory Alsop 17.10.2011 - 10:00
fuente

Lea otras preguntas en las etiquetas