Ho un protocollo che sto progettando che richiede anonimato e privacy. La mia idea è di avere un numero minimo di hop nella rete prima che il messaggio possa essere inviato alla destinazione prevista. La risposta può quindi essere in qualche modo crittografata in modo tale che solo il richiedente originale possa capire. Per mantenere la privacy, ogni hop conosce solo il suo ultimo hop nella rotta e il luppolo minimo è casuale, consentendo ai nodi di mantenere l'anonimato anche dal salto più vicino.
Ad esempio, ho un protocollo che so già non funzionerà ed è per questo che sono qui per chiedere suggerimenti:
Bob invia un messaggio con un determinato numero di hop prima che possa raggiungere il target desiderato, ha il nome / id delle destinazioni e ha una chiave pubblica creata appositamente per comunicare con il target (queste chiavi possono anche essere lanciate lontano). Bob invia questo messaggio attraverso diversi hop fino a quando il numero minimo di hop è decrementato a uno. Ogni hop ricorda solo l'ultimo hop dalla richiesta e decrementa il conteggio hop. Quando l'ultimo hop vede un conteggio di 0, inoltra la richiesta al target desiderato. Il target ora crittografa i dati con la chiave associata sul messaggio e risponde a tutti gli hop fino a che Bob non lo ottiene. Solo bob può leggere il messaggio e solo bob sa di essere l'ultimo salto.
Sono consapevole del fatto che qualsiasi punto della catena può sostituire la chiave con la propria in modo che quando i dati tornano si debba sbirciare prima di crittografarla con la chiave originale e poi tornare indietro verso bob. Cosa può risolvere questo difetto / come posso consentire la crittografia e l'anonimato?