¿Existe una solución para ejecutar procesos en modo cifrado en tiempo de ejecución?

0

¿Existe alguna solución para ejecutar de forma segura procesos cifrados en una máquina no confiable a través de la WAN?

En la nube pública, puede dividir sus procesos y enviar solicitudes de proceso a través de la WAN, pero no puede detectar si la máquina que desea ejecutar sus procesos es segura o no. Si hay malware ejecutándose con suficientes privilegios, tendrá acceso a todos los recursos de la máquina remota. Por lo tanto, el sistema no es seguro para ejecutar nuestros procesos a través de la WAN.

Esto es importante porque cuando enviamos una solicitud de proceso para una máquina, debemos verificar que el resultado sea correcto o no. Podemos comprobarlo utilizando algunos modelos como el código hash SHA o MD5, pero hay un problema. En este modelo de nube pública, la máquina de destino insegura creará un código hash. Por lo tanto, no podemos confiar en ese código hash porque no sabemos cuántas máquinas que recibieron nuestro código se vieron comprometidas y no sabemos si los resultados que recibimos son correctos o no.

Debido a este problema, no podemos confiar en el resultado de los procesos a través de la WAN.

¿Hay alguna solución para resolver este problema? ¿Existe alguna solución para ejecutar un proceso a través de la WAN en modo confiable? En todos los sistemas operativos tuvimos este problema. Podemos acceder a los recursos de un sistema mediante la programación de bajo nivel y, debido a eso, no hay ninguna opción de memoria protegida en ningún sistema operativo que conozca.

    
pregunta X-Virus 26.10.2014 - 15:35
fuente

1 respuesta

2

Este es un problema fundamental con el uso de un sistema que no controla. No lo controlas y no puedes obligarlo a comportarse.

Usted insinuó una solución en su pregunta. Envíe una sola solicitud a múltiples sistemas remotos y compare los resultados. Si son diferentes, uno de ellos está equivocado. No importa si está comprometido o con errores. Siempre que tenga suficientes sistemas para reducir la probabilidad de sistemas comprometidos que superen a los sistemas seguros, puede usar el resultado acordado por la mayoría de los sistemas. Esto es lo que hace la NASA para lidiar con los rayos cósmicos que voltean bits.

Puede pedirles que realicen operaciones duras cuyos resultados sean fáciles de verificar. Por ejemplo, permita que el sistema remoto encuentre todos los factores primos de un gran número, luego multiplique el resultado para determinar si el resultado es correcto.

Otra opción es enviar al sistema remoto solo los datos que le interesan. Si el resultado es incorrecto, solo el sistema (el usuario) se preocupa y es el único penalizado. Por ejemplo, si necesitan responder una pregunta correctamente para ganar dinero y las respuestas incorrectas no ganan dinero, entonces querrán obtener la respuesta correcta. Si no logran proteger su sistema, se verán perjudicados pero usted no.

Si está intentando ocultar un secreto del sistema remoto pero aún desea que el sistema remoto funcione con el secreto, entonces no puede enviar el secreto. Es posible que pueda enviarles parte del secreto, a partir de la cual no pueden reconstruir el secreto original. Existe una rama de la criptografía relacionada con la operación con datos encriptados. En teoría, esto le permitiría enviar datos a un sistema remoto, el sistema remoto funcionaría con los datos y verificaría el resultado. Lo último que escuché es que no es realmente viable porque solo puede realizar una operación de agregar / multiplicar en los datos antes de descifrar y volver a cifrar. El cifrado será más costoso que la operación de agregar / multiplicar, por lo que no nos ayuda en nada. Sin embargo.

    
respondido por el atk 26.10.2014 - 17:27
fuente

Lea otras preguntas en las etiquetas