Lanciato poco più di un anno fa, Firefox Send si è rivelato uno dei migliori strumenti disponibili online per condividere file di grandi dimensioni senza in tutta sicurezza e senza scaricare nulla in locale.
Firefox Send permette a tutti gli utenti di inviare file pesanti, fino a 1 GB senza alcuna registrazione e fino a 2,5 GB creando un account utente sui server Mozilla.
Attenzione: Firefox Send non esiste più. Mozilla ha deciso di ritirare definitivamente il servizio a settembre 2020: Firefox Send, la chiusura è definitiva.
Ma come funziona Firefox Send? E sono da considerarsi veritiere le asserzioni di Mozilla in materia di sicurezza e privacy?
Davvero Mozilla non può accedere ai file che vengono condivisi con altri utenti e temporaneamente caricati sui suoi server?
Come funziona Firefox Send e come inviare file pesanti
Il bello di Firefox Send è che visitando questa pagina si possono inviare file di qualunque dimensione (fino a 1 GB senza la creazione di alcun account) senza installare alcuna applicazione.
L’invio dei file tramite browser funziona anche dai dispositivi mobili e non è necessario installare alcuna app dedicata.
Sui dispositivi Android è possibile scaricare l’app Firefox Send che però non aggiunge alcuna funzionalità accessoria rispetto alla versione web.
Anzi, visitando la home page di Firefox Send da browser, si ha la possibilità di creare istantaneamente un collegamento al servizio nella schermata Home del dispositivo mobile.
Dalla pagina principale di Firefox Send basta cliccare sul pulsante Seleziona i file da caricare per effettuare l’upload di uno o più file da condividere con altri utenti. In alternativa, si possono sempre trascinare i file da inviare – ad esempio – da una qualunque finestra di Esplora file: Esplora file: una guida ai segreti dell’interfaccia di Windows.
La schermata seguente permette di aggiungere eventualmente più file all’interno dello stesso pacchetto pronto per la condivisione, nonché di specificare una serie di criteri per la scadenza del download.
Si può ad esempio fare in modo che i file salvati temporaneamente sui server cloud di Mozilla non siano più disponibili dopo 1-100 download oppure trascorsi 5 minuti, un’ora, un giorno o 7 giorni dal caricamento.
Come misura aggiuntiva, i file inviati possono essere protetti con una password che dovrà essere digitata anche da chi effettuerà successivamente il download.
A procedura di upload conclusa, Firefox Send mostrerà il link da inviare agli utenti che dovranno scaricare il file di grandi dimensioni.
L’URL generato da Firefox Send è piuttosto lungo e potrà essere copiato negli appunti premendo semplicemente il pulsante Copia link.
Coloro che utilizzano Firefox Send senza effettuare il login con un account Mozilla vedranno comunque apparire la lista dei file condivisi. Questo avviene perché Firefox Send si basa sull’utilizzo di cookie (anche chiudendo e riaprendo la scheda di navigazione del browser si ritroverà la lista dei file caricati online).
Cliccando sulla “X”, il file verrà rimosso dai server di Mozilla, anche nel caso in cui il numero di download massimo impostato non fosse stato raggiunto oppure qualora la data di scadenza del link non fosse ancora sopraggiunta.
L’URL del file copiato negli appunti del sistema operativo, potrà essere incollato in un’email o in un’app per la messaggistica premendo CTRL+V
. La disponibilità del pulsante Copia link consentirà di avere l’URL corretto anche successivamente.
Quanto è sicuro Firefox Send?
Nel presentare Firefox Send, gli sviluppatori di Mozilla hanno messo nero su bianco che si tratta di un servizio realizzato tenendo in massima considerazione i temi della sicurezza e della riservatezza dei dati.
In questa pagina di presentazione si legge: “potete fidarvi che le vostre informazioni siano al sicuro con Firefox Send. (…) Send è un servizio privato per design, il che significa che tutti i vostri file sono protetti e noi ci impegniamo a gestire i vostri dati in modo privato e sicuro“.
Se i file vengono caricati sui server di Mozilla come possono gli utenti di Firefox Send essere certi che lo stesso materiale non sia decodificabile e leggibile “in chiaro” anche dai tecnici di Mozilla?
La soluzione crittografica usata da Mozilla per Firefox Send è illustrata in questo documento di supporto pubblicato su GitHub.
Cercando di riassumere in poche parole la soluzione adottata per Firefox Send, possiamo dire quanto segue:
– L’URL che viene restituito da Firefox Send dopo la condivisione di uno o più file si compone di due parti: quella dopo il penultimo slash (/) e quella dopo il carattere #.
La prima serie di caratteri alfanumerici è un token che identifica univocamente il file memorizzato sui server Mozilla; la seconda è la chiave crittografica necessaria per la decodifica del file.
– La chiave crittografica viene generata in locale (dal browser web o dall’app Android) e mai condivisa con Mozilla. Tale informazione viene usata al momento dell’upload per generare altre chiavi, compresa una per cifrare i metadati del file e una chiave di firma. Lato client vengono usate le Web Crypto API e l’algoritmo AES-GCM a 128 bit.
– Chi effettua l’upload invia a Mozilla i dati cifrati e la chiave di firma dalla quale non è possibile in alcun modo risalire alla chiave crittografica (che viene conservata in locale, sul dispositivo dell’utente). Una volta completato l’upload dei dati, il server cloud di Mozilla invia in risposta l’URL del file tranne ciò che segue il carattere #.
Il browser locale o l’app Android aggiungono all’URL la chiave crittografica per decifrare il contenuto del file dopo il simbolo #.
– Al momento della richiesta del download dei file, usando l’URL generato e condiviso dall’utente, Mozilla comincia con l’inviare un “nonce” (number used only once) o alcuni dati generati casualmente al dispositivo client.
Il browser o l’app Android generano, a partire dalla chiave crittografica nota (specificata dopo il simbolo #) le varie chiavi accessorie. Usando la chiave di firma derivabile a partire dalla chiave crittografica per cifrare il “nonce” ricevuto da Mozilla, quest’informazione viene inviata sui server di Firefox Send. Dal momento che Mozilla conosce la chiave di firma (caricata dall’utente che in precedenza ha effettuato l’upload) è possibile verificare che l’utente è in possesso della chiave crittografica corretta (e conosce anche l’eventuale password con cui il file è protetto).
– Senza mai entrare in contatto con la chiave crittografica, Mozilla può quindi trasmettere il file richiesto a chi ha diritto ad accedervi. Provate infatti a verificare cosa succede rimuovendo o alterando quanto riportato dopo il simbolo #.
Tutto bello, tutto corretto. Certo è che inserire una chiave crittografica in un URL digitato nella barra degli indirizzi e condiviso con un server remoto, almeno in linea teorica non offre certo una garanzia totale. Va inoltre tenuto presente che Firefox Send si appoggia ai server cloud di Amazon AWS e gli indirizzi IP degli utenti vengono comunque conservati per 90 giorni, come chiaramente spiegato in questa pagina.
Firefox Send non può quindi essere considerato un “servizio anonimo” perché non lo è affatto (viene comunque supportato l’utilizzo di Tor Browser sia per l’upload che per il download dei file: Tor Browser, cos’è e come funziona la nuova versione del programma).
Per fidare su un livello di sicurezza aggiuntivo è possibile comprimere tutti i file che si voglio cifrare in un archivio .7z
con l’utilità 7Zip assicurandosi di attivare la crittografia AES-256 e scegliendo una password sufficientemente lunga e complessa. Spuntare anche la casella Crittografa i nomi dei file.
Aggiornamento: Firefox Send è temporaneamente indisponibile. Tutte le informazioni nell’articolo Firefox Send chiude temporaneamente i battenti: perché.