¿El almacenamiento de dos componentes de un secreto en dos lugares aumenta la seguridad?

2

Digamos que tengo un entero X secreto, por lo que no me arriesgo a perderlo, lo guardo encriptado en algún servicio en la nube. Pero creo que hay una pequeña probabilidad de que sea hackeado. Entonces, para ayudar a disipar esos temores, genero un número aleatorio R, y almaceno X + R en la nube, y R en algún otro servicio en la nube. Parece como si me sintiera más seguro, ya que un hacker no puede hacer nada con X + R solo, o R solo. ¿Es esto correcto?

PD: Supongo que también he aumentado mi probabilidad de perder mis datos (aproximadamente el doble). Pero parece que la probabilidad de que alguien descubra X probablemente ha disminuido en una fracción mucho mayor (1 / P) que esta duplicación.

    
pregunta user42541 19.01.2018 - 19:58
fuente

2 respuestas

2

Sí, almacenar partes de secretos en múltiples ubicaciones ayuda a prevenir su uso no autorizado. Un atacante necesitaría ambas partes (en el esquema que usted describe) para hacer uso de su secreto. Como señala, también duplica el riesgo de que usted pierda el acceso a su secreto. En el mundo de la tríada de la CIA (Confidencialidad, integridad y disponibilidad), usted ha cambiado la Disponibilidad más baja por una Confidencialidad más alta. Si te sientes cómodo con esa proporción, puedes detenerte aquí.

Si desea más control sobre la relación de Confidencialidad y Disponibilidad, entonces puede usar un esquema inventado por Adi Shamir (la S en RSA). El Esquema de intercambio de secretos de Shamir es esencialmente "RAID" para los secretos. Se almacenan varias piezas, de modo que es necesaria cierta cantidad de piezas para reconstruirlas. Por ejemplo, puede "dividir" el secreto en 5 partes, pero de una manera que solo 3 son necesarias para recuperar el secreto original. Suponiendo que tiene suficientes lugares para colocar las claves, esto significa que necesitará 3 fallas para perder el acceso a su clave, y un atacante tendría que comprometer 3 hosts para obtener acceso a la clave.

    
respondido por el David 19.01.2018 - 20:23
fuente
-1

Lo que describes es similar a un pad de una vez. Para n bytes de datos d , tome n bytes de datos aleatorios r y almacene r en una ubicación y r xor d en otra. Sin tanto r como r xor d , es probable que sea imposible obtener d (ya que la advertencia de r debe ser verdaderamente aleatoria, una falla en su generador de números aleatorios podría hacer que sea trivial romper).

    
respondido por el AndrolGenhald 19.01.2018 - 20:11
fuente

Lea otras preguntas en las etiquetas