Sicurezza e privacy

Come Babel Mesh instrada le richieste, protegge gli account e verifica i nodi, e cosa non può fare.

Dove va ciò che invii

La tua richiesta arriva al gateway di Babel Mesh, che sceglie un nodo in base alla classe di dati della richiesta e gliela inoltra. Il nodo calcola il risultato con il suo modello e lo restituisce attraverso il gateway.

  • Il nodo che serve una richiesta può leggerla. È un fatto del funzionamento attuale: un nodo deve leggere il prompt per rispondere. Quindi non inviare password, numeri di documento o segreti commerciali.
  • Il nodo non può vedere chi sei. La richiesta che un nodo riceve non porta né nome dell'account né chiave, solo un'etichetta anonima.
  • Babel Mesh non conserva le conversazioni. I registri del gateway contengono l'ora di una richiesta, il modello, l'esito e l'utilizzo. Le conversazioni restano nel tuo client o browser.
  • Babel Mesh non esamina i contenuti. Il gateway non verifica, non blocca e non filtra input o output secondo regole sui contenuti, e non conserva estratti o nomi account per ciò che una richiesta contiene. La responsabilità dell'uso dei contenuti è dell'utente; non inviare contenuti illegali.
  • I controlli a campione rieseguono le richieste. Per verificare ciò che restituiscono i contributori, una piccola parte delle richieste di classe pubblica viene ricalcolata sui nodi dell'operatore e i due risultati vengono confrontati.

Classi di dati

Ogni account e ogni richiesta ha una classe di dati. Gli account che si registrano da soli partono da "pubblica". I nodi dei contributori ricevono solo richieste "pubbliche". Le classi superiori vanno solo ai nodi dell'operatore. Per ora anche immagini e video sono serviti solo dai nodi dell'operatore, perché i loro risultati non si possono controllare a campione come il testo.

  • Il sito web e l'API usano HTTPS. I componenti dietro (controller, gateway, registro, relay, nodi) comunicano su connessioni cifrate con autenticazione reciproca dei certificati; l'identità di un nodo è nel suo certificato.
  • I nodi si collegano solo verso l'esterno. Non aprono porte in entrata e servono tramite un relay.
  • Il client conserva la tua chiave API sul tuo computer, leggibile solo dal tuo account di sistema. La pagina del client non riceve mai la chiave; le richieste le fa il client per te.
  • Gli aggiornamenti del client vengono verificati con un manifesto firmato: la chiave pubblica è integrata nel client, e una firma errata o una versione non più recente non viene mai installata.

Contabilità e verifica

  • Ricevute firmate da entrambe le parti. Per ogni richiesta il gateway e il nodo firmano la stessa ricevuta, e il registro la annota solo quando coincidono. Una ricevuta contiene hash della richiesta e del risultato e l'utilizzo, non il contenuto.
  • Controlli casuali. I nodi nuovi vengono controllati più spesso, quelli con una lunga storia pulita meno spesso. Un nodo i cui risultati non coincidono viene messo in quarantena; quando l'operatore conferma l'imbroglio, i suoi guadagni sono annullati e penalizzati secondo le regole.
  • I guadagni vengono trattenuti. Il reddito di un contributore attende alcuni giorni, durante i quali i controlli continuano.

Hive: il server non può vedere la tua attività

Hive è un’altra strada: le attività e i file che gli affidi sono cifrati nel tuo browser, e dispatcher e archivio ricevono solo testo cifrato. Ecco cosa fa oggi, compreso ciò che non può fare.

  • La cifratura avviene nel browser. Ogni attività ha una propria chiave principale; l’attività, i suoi file e il suo risultato sono sigillati con essa, e la chiave principale è sigillata separatamente per ogni macchina autorizzata a eseguirla. Dispatcher, archivio e gateway vedono testo cifrato, dimensioni, orari e il tuo ID account, non il contenuto.
  • La macchina che esegue un’attività può leggerla. Deve aprirla per lavorare, e non si può evitare. Perciò le macchine sono separate per classe di dati: le attività pubbliche possono andare a qualsiasi macchina ammessa; quelle fidate solo alle macchine proprie della piattaforma, alle istituzioni convenzionate e alle macchine che hanno superato l’attestazione remota; quelle riservate solo alle macchine proprie della piattaforma e a quelle attestate. Le tue macchine hanno sempre la precedenza, e solo loro possono prendere le tue attività a prescindere dalla classe.
  • Le macchine girano in isolamento. Un’attività gira in una sandbox gVisor, senza rete per impostazione predefinita e con accesso solo alla propria cartella di lavoro. Una macchina nuova deve superare diversi controlli prima di ricevere attività reali, e una macchina che fallisce un controllo viene messa in quarantena o bandita.
  • Una chiave del modello monouso per attività. Le macchine non ricevono mai la chiave del tuo account; un’attività usa una chiave creata solo per lei, con un limite di spesa. Il server la revoca appena l’attività termina, che la tua pagina sia aperta o no.
  • Quanto tempo vengono conservate le cose. Un’attività e il suo risultato (cifrato) restano 7 giorni sul server e poi vengono eliminati; la pagina mostra la data. Annullare cancella subito. I tuoi record delle attività e le chiavi per aprirli restano solo nel tuo browser: se ne cancelli i dati o cambi browser non si possono aprire, a meno che tu attivi la sincronizzazione tra dispositivi (cifrata con una passphrase che conosci solo tu; se la dimentichi nessuno può recuperarla).
  • Anche La mia libreria è cifrata nel browser. I file sono divisi in blocchi e cifrati con una chiave propria prima del caricamento; l’archivio contiene testo cifrato, su più di una macchina, e l’indice è cifrato. Un file condiviso con un’attività è in sola lettura, limitato nel tempo e ai suoi blocchi.
  • Puoi verificarlo. Il codice centrale è previsto come open source; le versioni si possono già compilare in modo riproducibile e i loro hash saranno registrati in un registro di trasparenza così potrai confermare che il programma che esegui è quello compilato dal sorgente (questo passo non è iniziato); la crittografia lato browser è un file separato, confrontato con l’implementazione del server tramite vettori di test condivisi.

Cosa Hive non può fare: impedire alla macchina che esegue un’attività di vedere ciò che elabora (la classe riservata si basa sull’attestazione hardware, finora solo sulle macchine proprie della piattaforma); proteggere da un browser compromesso o da un computer con un’estensione dannosa; il server conosce comunque metadati come «un account ha inviato un’attività di questa dimensione a quest’ora»; le attività pubbliche possono essere elaborate da macchine di sconosciuti, quindi non metterci nulla di privato; non c’è stato un audit di sicurezza di terzi.

Cosa non può fare

  • Non esiste ancora un ambiente di esecuzione affidabile (TEE): non può garantire che un nodo non veda i contenuti, ed è per questo che le richieste hanno delle classi.
  • Non è stato sottoposto a un audit di sicurezza di terze parti.
  • Nessuna promessa di disponibilità: i nodi possono sparire in qualsiasi momento e una richiesta viene ritentata su un altro nodo, ma il successo non è garantito.

Questa pagina descrive ciò che il sistema fa realmente oggi. Le condizioni di servizio e l'informativa sulla privacy formali sono pubblicate separatamente dall'ente che gestisce il servizio.