È possibile inviare un messaggio e il 100% offuscare l'origine del mittente in una bacheca di rete p2p?

3

Penso a un'app che potrebbe consentire alle persone di condividere il testo in modo da poter inviare lamentele riguardo a un governo totalitario in una rete P2P. Deve essere p2p perché un sito web può essere bloccato. Questo sarebbe per i locali di pubblicare sul loro sindaco o il poliziotto del quartiere. Non preoccupiamoci dell'ingegneria sociale, preoccupiamoci solo del lato tecnico.

È possibile al 100% offuscare l'origine dell'autore del messaggio? So che il TOR non è sicuro al 100%. Immagino qualcosa di simile se qualcuno dovesse inviare un messaggio da un telefono del bruciatore o il messaggio sia crittografato e diviso in più punti, quindi ricomposto più tardi. Nel frattempo, l'origine del lettore non deve essere al 100% offuscata dal momento che non possono arrestare milioni di persone solo per leggerla. Vogliono solo catturare il creatore del messaggio.

L'offuscamento del mittente originale è fondamentale perché senza di esso la gente sarebbe troppo spaventata per pubblicare qualcosa. In questo momento ci sono sempre dei dissidenti, ma sono pochi e pubblicano post come Facebook. Poi alla fine vengono arrestati.

Anche il servizio dovrebbe consentire il testo solo perché esiste la possibilità che i governi introducano CP per distruggerne la legittimità.

Qualcuno di voi sa di un'app simile? Qualcuno di voi sarebbe interessato a modificare un client TOR per consentire un facile accesso alle bacheche basate sulla posizione?

    
posta Mark 23.03.2017 - 18:34
fonte

2 risposte

3

Puoi usare qualcosa del genere:

  1. L'utente si connette al server, autentica il server e negozia un gruppo di chiavi

  2. Se l'utente ha qualcosa da pubblicare, crittografa il messaggio con la chiave, lo riempie per adattarlo a un buffer fisso arbitrario e i messaggi più grandi vengono spezzati e inviati più tardi

  3. Se l'utente non ha nulla da pubblicare, il client genera crittograficamente sicuro garbage random per la stessa dimensione del buffer

  4. Di tanto in tanto (10 secondi, 1 minuto, 30 minuti) il client invierà il messaggio

  5. Il server decrittografa i dati con la sua chiave privata, determina se si tratta di un messaggio completo, parte di un messaggio di grandi dimensioni o garbage, e reagisce in base al tipo di messaggio

In questo caso, finché proteggi il server, nessuno può sapere se l'utente sta leggendo messaggi o postando messaggi, poiché il client continua a inviare periodicamente lo stesso tipo di dati: stesso intervallo, stessa dimensione, stessa entropia.

L'analisi del traffico dati fallirà, poiché il client invierà la stessa dimensione di dati con lo stesso intervallo, indipendentemente dal fatto che l'utente stia pubblicando o meno. Inviare messaggi più lunghi del buffer richiederà più tempo, ma ne varrà la pena se l'uso principale del sistema è l'anonimato.

    
risposta data 23.03.2017 - 18:51
fonte
0

Che ne dici di creare una normale pagina web, e ogni volta che un utente si connette a questa pagina, ci sono dei parametri dato che controlla un messaggio? Un po 'come coprire le informazioni all'interno di un parametro POST, o permettere all'utente di caricare un'immagine in cui crittografare il messaggio con la steganografia? (È possibile utilizzare il valore rosso di ogni 17 pixel per trasmettere un carattere ASCII poiché ha un canale IIRC a 8 bit rosso.

Altre operazioni segrete che puoi fare:

Nascondi il messaggio all'interno di una richiesta DNS.

  • Il canale DNS può utilizzare i pacchetti UDP senza sovraccarico tramite l'handshake a 3 vie
  • I pacchetti UDP possono essere falsificati
  • DNS è in genere autorizzato per i firewall poiché ci sono pacchetti DNS all'interno di una rete ininterrottamente senza attirare l'attenzione

Puoi andare ancora oltre e utilizzare una tecnica chiamata "messaggio acrostico".

Immagina di voler inviare una stringa lunga 6 byte e di allegare ogni byte a una richiesta DNS diretta a un server. Puoi fare una richiesta per i seguenti server (solo esempi fittizi):

s ervers.example.com
e xchange.example.com
c heats.example.com
r equests.example.com
e xchange.example.com
t est.example.com

Se prima cripti il messaggio e successivamente aggiungi la steganografia DNS, vengono comunque crittografati anche se vengono rilevati.

Un'altra pratica per ingannare sarebbe quella di eseguire il ping dei server che ho elencato sopra e falsificare il mittente della richiesta ping in modo che inviino una risposta al server con cui stai ascoltando. Questa è una pratica comune quando DDoSing (alcune forme almeno) o test di penetrazione (ingannevole). Se non mi sbaglio dovrebbero avere un timestamp in modo da poter ricomporre il messaggio di nuovo.

    
risposta data 23.03.2017 - 23:41
fonte

Leggi altre domande sui tag