Diseño :
Las personas deben poder almacenar la clave parcial en una forma discreta, pero la forma discreta no debe usarse para descifrar el contenido confidencial por sí solo.
El diseño debe permitir que sea plausible, ya que las partes no deben verse como llaves.
Cómo funciona
Dos (o más) piezas de información como números se envían al software. El software deriva una contraseña que se utiliza para descifrar las cosas realmente sensibles.
El usuario A tiene la clave discreta '1234' El usuario B tiene la clave discreta '5678'
Juntos forman '12345678' y el software deriva una clave de esta cadena.
Es como si dos personas acudieran a una caja de seguridad y la caja de seguridad solo se abriera con dos teclas al mismo tiempo.
Método de derivación de clave
- El método de derivación de clave segura se puede usar en la cadena final como PBKDF2 con un recuento de iteraciones personalizado
- La iteración también podría calcularse a partir de la cadena final (algo como crc32 + 10000
Modelo de amenaza:
- Una pieza de la clave puede ser comprometida sin revelar la otra
- La clave puede ser algo discreta, todo lo que se traduce en una secuencia de la cual se puede derivar una clave (cadena, archivo y archivo, etc.)
Fuera de alcance:
- Keyloggers
- Malware
- Algoritmo de cifrado
Failure:
- El atacante se apodera de las cosas y las introduce en el software
Cons:
- Algo de seguridad por oscuridad
Pros:
- Los usuarios no técnicos pueden manejarlo mejor que una contraseña guardada
- Una sola tecla no se traduce en una contraseña. Se derivará de toda la secuencia de claves
- Se puede almacenar de cualquier forma siempre que se pueda traducir de nuevo a una secuencia de datos (nota de envío, archivo de imagen, etc.).
- Denegación plausible: la clave discreta puede verse como un elemento normal
Preguntas :
- ¿Cuál sería un ataque realista para este método de almacenamiento?
- ¿Cómo se puede mejorar?
- (sarcasmo) ¿Qué podría salir mal? (/ sarcasmo)