¿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?
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) )
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.
Lea otras preguntas en las etiquetas key-management