Proteger una clave privada al distribuirla en varios lugares

35

¿Es seguro dividir un archivo de clave privada y colocarlo en diferentes ubicaciones? Quiero decir, ¿alguien puede hacer algo con solo una parte de una clave?

    
pregunta DBLouis 23.08.2017 - 15:15
fuente

2 respuestas

51

La simple división del archivo no tendrá el efecto deseado (como explica A.Hersean en su respuesta ) .

Creo que lo que estás buscando es " algoritmos para compartir secretos ", especialmente El algoritmo de intercambio secreto de Shamir (gracias @ heinrich5991), donde el secreto se divide en N piezas y se entrega a diferentes personas para su custodia Para reconstruir el secreto, todas las N piezas (o en algunas variantes, solo k de las piezas) deben reunirse. El atacante no obtiene información a menos que tenga todas las piezas.

Aunque se usa en muchas aplicaciones, no creo que esté disponible en openssl o CAPI. Hay muchas implementaciones sólidas de código abierto - vea esta pregunta , pero tendrá que hacer algunos deberes para decidir si confía en que la implementación no esté respaldada.

También existe el concepto relacionado de "cifrado multipartidista"; donde se encripta el secreto con las claves públicas de varias personas, y luego todas deben participar en el descifrado. Aquí hay una pisada de SO:

Cifrado y descifrado que involucran a 3 partes

Puede hacer una versión para hombres pobres de este usando solo la implementación RSA que ya tiene encadenando el cifrado RSA:

RSA(key1, RSA(key2, RSA(key3, secret) ) )

Si desea que 3 personas se cifren, pero solo 2 de ellas deben estar presentes para descifrar, entonces puede almacenar 3 versiones del texto cifrado:

RSA(key1, RSA(key2, secret) )
RSA(key2, RSA(key3, secret) )
RSA(key1, RSA(key3, secret) )
    
respondido por el Mike Ounsworth 23.08.2017 - 15:40
fuente
38

Una clave privada o secreta no debe cortarse. Por ejemplo, si alguien obtiene la mitad de una clave simétrica de 128 bits, la fuerza de la clave no se dividirá por 2, sino que se reduciría en 18446744073709551616 (= 2⁶⁴). La parte restante de la llave podría romperse muy rápido. Lo mismo se aplica a la clave asimétrica (utilizada por las AC), pero las matemáticas son más complejas.

Así que no lo hagas. Esto aumentará la complejidad de su solución al tiempo que reduce su seguridad, ya que tendría al menos dos lugares para asegurar en lugar de solo uno.

    
respondido por el A. Hersean 23.08.2017 - 15:28
fuente

Lea otras preguntas en las etiquetas