Diseño para el almacenamiento seguro de la clave sin conexión con dos o más partes compartiendo la clave

2

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)
pregunta John Doe 31.12.2017 - 07:25
fuente

1 respuesta

2

Para resumir su diseño: combina datos secretos arbitrarios que pueden ser guardados por diferentes personas con alguna función hash en una clave secreta que luego se usa para proteger algunos datos secretos.

  

¿Cuál sería un ataque realista para este método de almacenamiento?

Un posible ataque contra este método es recolectar de alguna manera todas las partes separadas que se necesitan para crear la clave secreta común. Este es el tipo de "ataque" que hace una buena línea de historia para películas, juegos o cuentos de hadas. Y mientras excluyes malware, keyloggers y encriptación débil, los secretos de mayor valor también deben enfrentar ataques como fuerza bruta física , sobornos, correo negro, oculto cámaras, etc. - solo mire las películas típicas para obtener más ideas.

Pero en lugar de comprometer de alguna manera a cada uno de los portadores de las partes secretas, podría ser más fácil atacar el lugar donde estas partes se combinan para formar la clave secreta final, porque entonces toda la información ya está en un solo lugar. Y, también es difícil para las partes participantes negar su participación si se puede ver que participan en la construcción de la clave secreta.

Alternativamente, uno puede atacar incluso etapas posteriores, es decir, la etapa donde ya se calculó la clave secreta común (sin conocer las entradas separadas) o la etapa donde ya se usó la clave secreta para descifrar los datos secretos y simplemente capturar estos datos secretos .

Ninguno de estos ataques de etapa posterior parece estar fuera del alcance o incluso considerado en su modelo de amenaza dado.

    
respondido por el Steffen Ullrich 31.12.2017 - 07:58
fuente

Lea otras preguntas en las etiquetas