principio de dividir datos confidenciales en múltiples máquinas que ejecutan diferentes sistemas operativos

1

Suponga que está intentando almacenar los datos de la forma más segura posible, incluida la división en varias máquinas (cifradas de manera que sean ilegibles a menos que se recuperen todos los fragmentos de datos). Si el atacante conoce su algoritmo y compromete a todas de sus máquinas, siempre pueden recuperar los datos, por lo que siempre existe una probabilidad distinta de que esto suceda. Pero desea reducir la probabilidad tanto como sea posible.

Parece que la estrategia sería cifrar los datos con una clave y luego dividir la clave en varias máquinas, de modo que todas las máquinas (la máquina de almacenamiento de datos y las máquinas de almacenamiento de claves) sean lo más físicamente independientes posible < em> y ejecutan sistemas operativos diferentes (con cada sistema operativo aplicando siempre los últimos parches disponibles).

Ejecutar diferentes sistemas operativos significa que la probabilidad de comprometer una máquina es más independiente de la probabilidad de comprometer las otras máquinas. Si tiene tres máquinas y todas están ejecutando Windows Server, y en un período de tiempo dado tiene un 10% de posibilidades de encontrar una vulnerabilidad en Windows Server que le dé acceso de lectura a la máquina, tiene un 10% de riesgo. Todo el sistema porque entonces tendrás las tres máquinas. Pero si hay tres máquinas, cada una con un sistema operativo diferente, y para cada sistema operativo tiene un 10% de encontrar una vulnerabilidad en ese sistema operativo, y las probabilidades son independientes para cada sistema operativo, entonces tiene un 0,1% de probabilidad de comprometer el conjunto. sistema.

También puede volver a cifrar los datos periódicamente con una nueva clave y luego dividir la nueva clave. Luego, el atacante solo supera al sistema si compromete a todas las máquinas en el mismo período de tiempo antes de volver a cifrarlas.

Ahora, esto también significa que si falla alguna de las máquinas, se pierden todos los datos, pero se puede hacer una copia de seguridad del fragmento de la clave de cada máquina en otra máquina. Y en este caso, si bien la máquina de respaldo aún debe estar físicamente separada para reducir la posibilidad de que ambos se pierdan a la vez, podría estar ejecutando el mismo sistema operativo que la máquina de la que está haciendo copia de seguridad. La idea es que si se realiza una copia de seguridad de A1 en A2, entonces el atacante compromete la misma cantidad de datos, ya sea que pirateen A1 o A2 o , por lo que no hay razón para que A1 y A2 no puede ejecutar el mismo sistema operativo (con las mismas vulnerabilidades potenciales).

Sin embargo, nunca he oído hablar de un principio de seguridad como "división de datos confidenciales en máquinas que ejecutan diferentes sistemas operativos". ¿Acabo de re-descubrir algo conocido y obvio que ya tiene un nombre? ¿O hay alguna razón por la que toda la lógica es defectuosa (y es por eso que no tiene un nombre)?

    
pregunta Bennett 30.07.2018 - 01:54
fuente

2 respuestas

1

Puede usar Shamir's Secret Sharing con el esquema de umbrales que especifica cuántos fragmentos clave necesita reconstruir la clave. Entonces, si tiene un total de 20 fragmentos clave y necesita al menos 10 fragmentos para reconstruir la clave, esto significa que 10 de sus servidores pueden caerse y aún podrá obtener la clave. También necesitarás establecer el factor de replicación para que no pierdas los datos si un nodo se cae.

Alternativamente, en lugar de dividir su clave en fragmentos, podría dividir los datos cifrados y especificar el umbral para permitir que algunos servidores fallen sin pérdida de datos.

    
respondido por el Alexander Voloshyn 30.07.2018 - 20:21
fuente
0

Como cualquier esquema de múltiples capas, es tan fuerte como su enlace más débil.

1) A menos que esté poniendo varias copias de cada porción clave en servidores diferentes, en realidad está introduciendo más puntos únicos de falla; si alguna de esas máquinas se pierde, los datos no se pueden recuperar.

2) Un atacante puede intentar poner en peligro el dispositivo donde se vuelve a montar la clave, evitando cualquier dificultad adicional.

3) Deberá simular todo el proceso de principio a fin con una copia de los segmentos clave para asegurarse de que realmente pueda descifrarlo correctamente (es decir, si un cambio de formato de caracteres ocurre en un segmento y no lo hace). lo sabes, nunca lo arreglarás)

4) separar partes de la clave no agrega inherentemente la dificultad de que un atacante acceda a los datos; el algoritmo y la longitud de clave son iguales independientemente de si se divide o no. Simplemente está insertando obstáculos que lo hacen más complejo y engorroso, lo que en la práctica a menudo significa menos seguro.

tl; dr Parece más que estás creando un CTF genial para hackers que haciendo que la clave sea más segura.

    
respondido por el Angelo Schilling 31.07.2018 - 02:15
fuente

Lea otras preguntas en las etiquetas