Necesita un cifrado simétrico que consume mucho tiempo

1

Tengo una base de datos con millones de entradas, cada entrada encriptada con una contraseña (diferente). Normalmente, solo se necesita una entrada a la vez. Si alguien roba la base de datos, quiero que sea difícil para ellos obtener los datos, incluso si conocen las contraseñas, haciendo que sea muy lento extraer toda la información. Tales como: Si el descifrado de una entrada toma 10 segundos, el descifrado de 50 millones de registros lleva años.

¿Qué enfoque sugerirías?

    
pregunta Martin Haluza 10.02.2013 - 07:08
fuente

2 respuestas

2

Básicamente, puede elegir el tiempo de descifrado elevando la longitud de la clave; eche un vistazo a enlace .

Lo único es que el cifrado con la clave más larga también toma un tiempo significativo (aunque, exponencialmente menos que el descifrado); así que es probable que vayas a alcanzar un límite superior en el que no estés dispuesto a pasar un mes cifrando millones de filas.

El cifrado simétrico tiende a ser rápido, mucho más rápido que asimétrico, y tiende hacia algoritmos donde los tiempos de descifrado y cifrado son muy similares (ya que básicamente estás haciendo exactamente las mismas matemáticas hacia atrás). En un caso en el que puede elegir y desea ir lento, vaya con algo como RSA.

    
respondido por el Bob Watson 10.02.2013 - 07:35
fuente
1

Dice que cada fila está encriptada con una contraseña diferente, y desea que el atacante realice un desenlace lento para descifrar toda la tabla, incluso si conocen todas las contraseñas.

Dado que el cifrado se realiza con claves, no con contraseñas, hay otra parte que no ha mencionado: los medios por los cuales las contraseñas se convierten en claves. Si le preocupa que las contraseñas (no las claves) sean robadas, este es un buen lugar para fabricar su lentitud. Si define la clave como 4096 re-hashings de la contraseña, pasarán 18 años de la Ley de Moore antes de que el proceso sea tan rápido como un solo hashing hoy. Si 18 años no es lo suficientemente largo (¡no lo es!), Entonces siga duplicando.

Sin embargo, el hashing iterativo tiene sus inconvenientes. La posibilidad de colisiones aumenta, a menos que mezcle un poco de salt con cada iteración. Consulte: ¿Fuerza de múltiples iteraciones de hash?

También me pregunto si no estás siendo miope al abordar este problema en particular. Las "contraseñas" (como se definen normalmente) no contienen suficiente entropía para producir material de claves criptográficas en primer lugar. Necesita un " frase de contraseña " o perderá el juego.

    
respondido por el ruief 10.02.2013 - 18:26
fuente

Lea otras preguntas en las etiquetas