Tengo un protocolo que estoy diseñando que requiere anonimato y privacidad. Mi idea es tener un número mínimo de saltos en la red antes de que el mensaje pueda enviarse a su destino deseado. La respuesta puede ser encriptada de tal manera que solo el autor de la pregunta pueda entenderla. Para mantener la privacidad, cada salto solo conoce su último salto en la ruta y los saltos mínimos son aleatorios, lo que permite que los nodos mantengan el anonimato incluso desde el salto más cercano.
Por ejemplo, tengo un protocolo que ya sé que no funcionará y es por eso que solicito sugerencias aquí:
Bob envía un mensaje con un número determinado de saltos antes de que pueda ir a su destino deseado, tiene el nombre / id de los objetivos y una clave pública creada específicamente para hablar con el objetivo (estas teclas también se pueden lanzar) lejos). Bob envía este mensaje a través de varios saltos hasta que el número mínimo de saltos se reduce a uno. Cada salto recuerda solo el último salto del que proviene la solicitud y disminuye el número de saltos. Una vez que el último salto ve un conteo de 0, reenvía la solicitud al objetivo deseado. El objetivo ahora cifra los datos con la clave asociada en el mensaje y responde de nuevo a través de todos los saltos hasta que Bob lo obtenga. Solo Bob puede leer el mensaje y solo Bob sabe que él es el último salto.
Soy consciente de que cualquier punto de la cadena puede reemplazar la clave con la suya, de modo que cuando los datos vuelven a aparecer, pueden verla antes de cifrarla con la clave original y luego reenviarla hacia Bob. ¿Qué puede solucionar esta falla / cómo puedo permitir el cifrado y el anonimato?