Muchas cosas funcionan de esta manera.
Muchas veces una contraseña se convertirá en una clave de cifrado de clave, que luego se utiliza para cifrar una clave generada aleatoriamente.
Permítanme citar el documento de diseño para el diseño OPVault de 1Password [1]. (Trabajo para los creadores de 1Password).
La relación entre una clave de elemento y la Contraseña maestra se puede resumir en una canción:
- Cómo calcular [matemáticas] \ displaystyle \ lim_ \ limits {n \ to \ infty} \ {(\ sqrt {5} +2) ^ n \} \ cos \ pi \ lfloor \, (\ sqrt {5} +2 ) ^ n \ rfloor \ [/ math] donde [math] \ {x \} [/ math] denota la parte fraccional de [math] \, x [/ math] y [math] \ lfloor x \ rfloor [/ math ] denota la función de piso
- ¿Qué es [math] \ lim_ {x \ to- \ infty} \ left (x + \ sqrt {x ^ 2 + 6x + 2} \ right) [/ math]?
- ¿Qué es 5?
- ¿Es posible que un polinomio de grado par nunca se cruce con un polinomio de grado impar?
- ¿Cuál es la solución de x ^ x = 0.5?
Cada clave de elemento está encriptada con la clave maestra
Y la clave maestra está encriptada con la clave derivada
Y la clave derivada proviene del MP
Oh escucha la palabra del XOR
Las teclas, las teclas, las teclas aleatorias (3x)
Oh escucha la palabra del XOR
Hay muchas razones para tal diseño. Suponga que desea poder compartir de manera segura una parte de sus datos con otra persona. Desea que esa parte se cifre con una clave que no se utiliza para otros datos. Entonces, cuando usted (o su software) comparte esa porción de datos, necesita una clave que pueda descifrar, pero no es la clave de todas sus cosas.
Otra razón para usar una cadena de claves es porque hay un límite en la cantidad de datos que se pueden cifrar de forma segura con la misma clave. Entonces, para algo como el cifrado de disco, que involucra una gran cantidad de datos, habrá jerarquías si las claves.
Probablemente el caso más claro de algo como esto es cuando las claves públicas están involucradas. En muchos casos, la clave privada debe tener una relación especial con una clave pública, por lo que no puede ser arbitraria. No puede ser algo directamente derivado de una contraseña. Por lo tanto, el par de claves pública / privada se creará de una manera muy específica, y la clave privada se cifrará con una clave de cifrado de clave. Para agregar otra capa a todo esto, el cifrado de clave pública no es adecuado para cifrar datos arbitrarios (o muchos datos) y, por lo tanto, se utiliza para cifrar claves.
De todos modos, casi todo funciona con una cadena de llaves, aunque puede que no sea exactamente como lo hizo en su pregunta. La única desventaja real de esto es que cambiar la contraseña o la clave de cifrado de la clave no tiene las propiedades de seguridad que las personas esperan razonablemente que sucedan al cambiar una clave.
Notas al pie
[1] Diseño OPVault – 1Password Support