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

4.2 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 sua 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 per l'invio di un messaggio
  • la rete implementa meccanismi anti-flooding per evitare la saturazione della stessa

flooding: come dice il nome, si tratta dell'allagamento di una rete, ovvero di un flusso di dati in ingresso nella rete maggiore di quello in uscita che arriverà prima o poi a rendere inutilizzabile il sistema.

Proof Of Work: si tratta di una prova che dimostra che una certa quantità di lavoro è stata effettuata. Viene inserito nei servizi come Bitmessage in allegato ai messaggi per provare che del tempo (pochi secondi o minuti) è stato speso per creare il proof of work. Essendo obbligatorio un nuovo proof of work in ogni messaggio, questo sistema rende quasi impossibile il flooding.

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, permettendo una variante della messaggistica di gruppo.

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

Il protocollo descrive procedure di proof of work e anti flooding molto complesse che permettono il corretto funzionamento della rete e fungono da repellente per eventuali attaccanti.

Confronto con E-Mail

La maggior parte dei problemi di PyBitmessage derivano dal suo alto livello di sicurezza, che porta però a bassa accessibilità e mancanza di comodità nell'uso del software.

Alcuni dei maggiori problemi di accessibilità del software sono:

  • mancanza di client avanzati che invece esistono per le E-Mail (ad esempio Mozilla Thunderbird o Microsoft Outlook) e permettono di organizzare in maniera complessa la posta,
  • impossibilità di un'istanza del software di ricevere messaggi non destinati ad essa (a scopo di caching). Anche se in futuro fosse possibile, sarebbero necessarie le chiavi private di accesso dei destinatari
  • impossibilità (per ora) di usare indirizzi arbitrari come ad esempio nome.cognome@azienda.it, costringendo invece gli utenti ad usare indirizzi auto generati impossibili da memorizzare,
  • elevato uso di risorse hardware ed elevata congestione di rete causata dal software,
  • mancanza di client per tutte le piattaforme e di client web, questi ultimi perchè non permetterebbero di mantenere la sicurezza,
  • non ancora supportato (al momento della scrittura) l'uso di password per proteggere le proprie chiavi private.

Finchè non viene trovata soluzione ad almeno parte di questi problemi, BitMessage non è pronto per rimpiazzare le E-Mail.