¿Se recomienda el cifrado asimétrico para el almacenamiento a largo plazo?

8

¿Se recomienda el cifrado asimétrico para el almacenamiento de datos a largo plazo? Por ejemplo, se recomienda almacenar los datos en una base de datos tal que:

1) Un usuario ingresa datos en un sitio web, se cifra mediante una clave pública y se almacena. Ni el servidor web ni el servidor de base de datos almacenan la clave privada.

2) Los datos son descargados por un trabajador que tenía permiso para acceder a ellos.

3) El trabajador utiliza la clave privada almacenada en su computadora local para descifrar los datos.

Suponiendo que la computadora del trabajador está libre de malware, la ventaja aparente sería que si el servidor de la base de datos se ve comprometido, los datos no serán accesibles.

¿Cuáles serían los problemas para hacer esto?

    
pregunta broccoli_soup 23.08.2012 - 10:47
fuente

4 respuestas

8

Sí, este es un buen esquema para el almacenamiento a medio plazo, siempre que se implemente correctamente.

Algunas cosas a tener en cuenta:

  • Los algoritmos asimétricos comunes utilizan la factorización semiprime como su base. Como tal, solo puede cifrar datos mientras la clave, por ej. 4096 bits. Esto no es muy práctico, por lo que normalmente cifraría una clave simétrica con su clave privada (o, en este caso, pública) y cifraría los datos utilizando un algoritmo simétrico. Por lo tanto, usaría AES para cifrar los datos y RSA para cifrar la clave AES.
  • Las longitudes de claves asimétricas han tenido que crecer a un ritmo mucho más rápido que las claves simétricas. En general, se considera que RSA 1024-bit es seguro por ahora , pero 2048-bit es más apropiado para cualquier cosa que necesite para permanecer seguro por más de un par de años. Si está pensando en almacenar datos durante más de 5 años, necesitará claves de 4096 bits o 8192 bits. Eso no es exactamente favorable al rendimiento, pero es un requisito. En contraste, con el cifrado simétrico, se piensa que una clave de 256 bits nunca podría romperse con métodos convencionales, incluso con cada onza de energía en el planeta, antes de la muerte térmica del universo.
  • Las computadoras cuánticas, aunque están muy lejos, podrían permitir que los semiprimos se incluyan en sus primos constituyentes en el tiempo polinomial, lo que rompería tales esquemas asimétricos. Si planea almacenar los datos durante más de 20 años, tenga esto en cuenta.

Una alternativa sería hacer que el cliente cifre los datos con AES-256 y luego los cargue. Pueden mantener su clave simétrica en su máquina o derivarla de una contraseña utilizando PBKDF2 o bcrypt.

    
respondido por el Polynomial 23.08.2012 - 11:05
fuente
4

Básicamente, has descrito cómo funcionan los correos electrónicos encriptados, con S / MIME o OpenPGP . Con los correos electrónicos, los servidores de almacenamiento y transferencia de datos no pueden acceder al contenido del correo electrónico; en su descripción, solo está utilizando protocolos basados en la Web (es decir, HTTP) para los detalles, en lugar de los protocolos de transferencia de correo electrónico (SMTP, IMAP ...).

Se sabe que los detalles de la encriptación (qué algoritmos usar, cómo pegarlos juntos ...) son difíciles de acertar, por lo que debe seguir los estándares estudiados para eso (es decir, OpenPGP o CMS - CMS es el formato que está en el núcleo de S / MIME).

Tenga en cuenta que esto se denomina "asimétrico" por una razón: la criptografía asimétrica solo tiene sentido si las personas que cifran son distintas de las que descifran los datos. Si el mismo usuario envía los datos para su almacenamiento y luego los recupera y los desencripta, la criptografía simétrica es suficiente y más fácil de administrar.

    
respondido por el Tom Leek 23.08.2012 - 13:14
fuente
2

Es un esquema muy bueno en muchos sentidos, sobre todo que un compromiso del servidor no puede exponer los datos. Hay un problema enorme que es inevitable, y es la disponibilidad. No estás teniendo en cuenta el factor humano. Usted espera durante años, quizás décadas, que las personas puedan mantener sus claves privadas seguras y disponibles, ¡y eso simplemente no va a suceder!

El escenario es el siguiente: Bob crea un par de claves pública / privada que utiliza para cifrar los datos en el servidor. 5 años más tarde, Bob se emborracha masivamente y deja su computadora portátil en la cuneta en la que se desmayó. Más tarde, Bob se da cuenta de que no incluía el directorio donde se guardaba su par de llaves en su utilidad de copia de seguridad automática. Datos perdidos para siempre sin esperanza de recuperación.

En su lugar, utilizaría el cifrado simétrico del lado del cliente, de esa manera, un compromiso del servidor no puede exponer los datos y depende del cliente almacenar su contraseña de forma segura. Por supuesto, aún podrían perder la contraseña, pero es más fácil mantener una contraseña a largo plazo que una clave privada. Mejor aún, podría ofrecer un servicio adicional que les permita almacenar sus contraseñas a largo plazo, hacer un poco de dinero extra.

    
respondido por el GdD 23.08.2012 - 11:54
fuente
0

Tom, Greg y Polynomial han cubierto la mayor parte de la respuesta a esto, sin embargo nadie ha mencionado Seguridad de reenvío (a menudo denominada de manera optimista como seguridad de reenvío 'Perfecto') que está destinada a proteger los datos incluso si se revela la clave.

Una advertencia es que incluso los algoritmos asimétricos estándar son relativamente caros en términos de procesamiento y almacenamiento, el rango disponible de algoritmos de seguridad avanzados aún más.

    
respondido por el symcbean 23.08.2012 - 17:03
fuente

Lea otras preguntas en las etiquetas