1
0
mirror of https://github.com/fazo96/tesina.git synced 2025-01-10 11:34:20 +01:00
tesina/Messaggistica/bitmessage.md
2015-05-21 08:18:33 +02:00

2.3 KiB

Bitmessage

Bitmessage è un protocollo per lo scambio di posta elettronica in maniera sicura, privata, intracciabile e, volendo, anonima.

Ne esiste una sola implementazione completa (al momento della scrittura di questo documento) chiamata PyBitmessage e disponibile per Windows, GNU/Linux e OSX.

il protocollo, in breve, definisce che:

  • ogni utente è identificato da una coppia di chiavi crittografiche e da un indirizzo derivato dalla chiave pubblica
  • ogni messaggio è firmato con la chiave privata del mittente e interamente crittografato con la chiave pubblica del destinatario.
    • l'unica informazione visibile del messaggio è il TTL che ha lo scopo di evitare il flooding della rete con lo stesso messaggio
    • i messaggi rimangono nella rete solo per qualche giorno, poi sono persi per sempre se il mittente non decide di reinviare
    • è necessario completare un Proof Of Work (spiegato nel capitolo Bitcoin di questo documento) per l'invio di un messaggio
  • la rete implementa meccanismi anti-flooding per evitare la saturazione della stessa

Come si usa

PyBitmessage è disponibile gratuitamente sul sito bitmessage.org. Il software è molto semplice da usare e ulteriori informazioni sono contenute nello stesso.

  • il software creerà un nuovo indirizzo Bitmessage al suo avvio
  • è possibile mantenere una lista contatti in cui memorizzare gli indirizzi conosciuti
  • Esistono i Canali di Bitmessage che agiscono da Mailing List.

Come funziona

Essenzialmente, il protocollo Bitmessage è molto semplice, infatti ogni nodo:

  • si collega direttamente ad altri nodi
  • ogni messaggio che riceve tenta di decrittografarlo con la propria chiave privata
    • se funziona, allora il messaggio è destinato a questo nodo
    • se non funziona, il TTL viene diminuito e il messaggio viene rispedito sulla rete
  • ai messaggi inviati va allegato un proof of work molto tassante
    • questo è necessario per il funzionamento della rete, ma il software deve usare molte risorse per il proof of work

In realtà, esso descrive procedure di proof of work e anti flooding molto complesse che permettono il corretto funzionamento della rete e il blocco di eventuali attaccanti.