Proton Wallet è un portafoglio di asset digitali che attualmente supporta l’auto-custodia di Bitcoin on-chain. In questo articolo, esaminiamo le caratteristiche principali e l’architettura di sicurezza che rendono Proton Wallet un portafoglio privato e sicuro, tanto facile da usare quanto un’email.
Costruire un portafoglio Bitcoin sicuro
Questa sezione esamina due principali decisioni di design che danno a Proton Wallet una solida e sicura fondazione.
Custodial vs. auto-custodial
Multiple soluzioni ti consentono di detenere Bitcoin, e si collocano su uno spettro, con dipendenza da terze parti da un lato e sovranità individuale dall’altro. Ad esempio, se hai Bitcoin in un ETF o exchange, ti stai affidando completamente a una o più aziende per detenere Bitcoin per te. Queste soluzioni custodial centralizzate mettono a rischio il tuo Bitcoin a causa di hack (Mt. Gox), cattiva gestione (FTX), o anche azioni regulatorie o legali. Queste soluzioni custodial generalmente non sono progettate per le transazioni con Bitcoin e sono legalmente obbligate a sorvegliare le tue attività finanziarie.
Dalla parte della sovranità individuale dello spettro ci sono i portafogli auto-custodial dove sei l’unico con accesso al tuo Bitcoin. Hai il pieno controllo del tuo Bitcoin e non hai bisogno di fidarti di una terza parte. I portafogli auto-custodial ti consentono di archiviare e utilizzare Bitcoin come è stato progettato: peer-to-peer e resistente alla censura. Questo significa che tutte le transazioni sono salvate sulla blockchain di Bitcoin per sempre, e il BTC trasferito va direttamente dal mittente al destinatario senza che nessun intermediario prenda il controllo.
Abbiamo progettato Proton Wallet per essere la soluzione più autosovrana e con minimizzazione della fiducia. Utilizza crittografia end-to-end(nuova finestra) sulle chiavi che controllano il tuo Bitcoin e i tuoi metadati del portafoglio prima che vengano archiviati. Questo significa che nemmeno Proton può confiscare il tuo Bitcoin o tracciare le tue attività finanziarie.
Archiviazione locale vs. su server
Molti portafogli auto-custodial archiviano i dati solo localmente su un computer o telefono. Se perdi quel dispositivo, qualsiasi dato non archiviato sulla blockchain, come le note, viene perso per sempre. Volevamo rendere l’esperienza del portafoglio più affidabile e disponibile su più dispositivi, come ti aspetti da altre app importanti.
Raggiungiamo questo obiettivo utilizzando i server Proton per memorizzare i dati crittografati e servirli alle tue app client dopo aver effettuato correttamente il login. Proton Wallet condivide lo stesso processo di accesso del resto dell’ecosistema Proton. La tua password non lascia mai le app client e non viene memorizzata sui server Proton perché utilizziamo una versione del protocollo Secure Remote Password (SRP) per gli accessi.
Scopri di più su come Proton utilizza SRP(nuova finestra)
La tua password viene anche utilizzata per crittografare e decrittografare la tua chiave utente Proton sul client, e la chiave utente crittografata viene memorizzata sui server Proton. Ciò significa che la tua chiave utente può essere decrittografata soltanto sul client con la password corretta. La chiave utente viene poi utilizzata per crittografare e decrittografare chiavi specifiche del prodotto, come quelle per email e portafogli. Proton Wallet offre diversi mezzi di accesso, con app mobili e web open-source.
Dati Proton Wallet
In questa sezione, esaminiamo i dati importanti associati ai portafogli. Utilizziamo la crittografia end-to-end quanto più possibile per crittografare i dati sensibili sulle app client prima di memorizzarli sui server Proton. Ciò ti consente di usufruire dei nostri servizi online senza rinunciare alla tua privacy.
Un utente Proton Wallet può avere più portafogli e Proton Wallet genererà una chiave del portafoglio sul lato client per ciascuno di essi. Questa chiave del portafoglio viene quindi utilizzata per crittografare e decrittografare qualsiasi dato sensibile che deve essere memorizzato sui server Proton con crittografia end-to-end. Il server non ha mai accesso alle chiavi del portafoglio in quanto sono crittografate sul client con la chiave utente.
I dati del portafoglio comprendono:
- Nomi di portafogli e account — I nomi che attribuisci a ciascun portafoglio e ogni account Bitcoin all’interno del portafoglio sono crittografati e quindi memorizzati. Gli account Bitcoin generano deterministicamente indirizzi Bitcoin, che possono quindi ricevere BTC.
- Frase di recupero del portafoglio — Queste 12 o più parole (insieme alla passphrase opzionale del portafoglio) sono fondamentalmente la chiave principale di ciascun portafoglio. Sono usate per generare deterministically le chiavi private e pubbliche che controllano gli account Bitcoin del portafoglio. Gli utenti sono fortemente incoraggiati a scriverle e conservarle in un luogo sicuro nel caso perdano mai l’accesso a Proton. Questa frase mnemonica è compatibile con BIP39, quindi può essere importata su altri servizi di portafoglio.
La frase di recupero del portafoglio è crittografata sul client e quindi memorizzata.- La passphrase opzionale non viene mai memorizzata e gli utenti devono inserirla ogni volta per sbloccare il loro portafoglio.
- Indirizzi Bitcoin
- Gli indirizzi Bitcoin sono derivati deterministicamente dalla chiave pubblica del portafoglio Bitcoin. Non memorizziamo gli indirizzi di cambio Bitcoin né gli indirizzi di ricezione generati manualmente.
- Per qualsiasi account di portafoglio con Bitcoin via Email abilitato, il client genera automaticamente un pool di indirizzi Bitcoin, li firma con la chiave privata PGP dell’email e memorizza il pool di indirizzi e firme sui server Proton. I server Proton possono quindi fornire a ciascun mittente un indirizzo Bitcoin univoco. Dopo che un indirizzo Bitcoin del pool è stato utilizzato, lo eliminiamo dai nostri server per proteggere meglio la tua privacy.
- Saldo del portafoglio e dell’account — Questi sono calcolati lato client derivando gli indirizzi Bitcoin di ciascun account di portafoglio e chiedendo ai nodi completi di Proton la cronologia delle transazioni. Mentre i server Proton possono vedere quali indirizzi viene richiesta la cronologia, non memorizziamo questi indirizzi richiesti o alcun saldo sui server Proton.
- Metadati delle transazioni — Proton Wallet non memorizza l’importo e gli output delle transazioni non spese (UTXO) sui server Proton né per le transazioni di ricezione né per quelle di invio. Per l’invio delle transazioni, i server Proton devono temporaneamente disporre dei dati della transazione per trasmetterli alla rete Bitcoin, ma in nessun momento Proton ha il controllo dei tuoi Bitcoin. Gli ID delle transazioni, gli ID del tasso di cambio, il Nome del mittente opzionale e le Note personali opzionali sono tutti crittografati e poi memorizzati.
- Le transazioni Proton Wallet che utilizzano Bitcoin via Email hanno anche un’email del mittente, un’email del destinatario e un messaggio opzionale. Questi sono tutti crittografati e poi memorizzati. Durante l’invio di Bitcoin via Email, i server Proton conoscono le email del mittente e del destinatario ma non le memorizzano.
Bitcoin via Email, a differenza di qualsiasi altro portafoglio
In questa sezione, esaminiamo le principali sfide del transare in modo sicuro e privato con Bitcoin on-chain e come Proton Wallet lo rende facile con la nostra funzione Bitcoin via Email.
Tradizionalmente, affinché qualcuno riceva Bitcoin in modo autogestito sulla blockchain, deve generare un indirizzo Bitcoin con il proprio portafoglio e condividerlo con il mittente tramite qualche canale sicuro. Questo è soggetto a errori e aggiunge molte frizioni sia per il mittente che per il destinatario. Per una migliore privacy, il destinatario dovrebbe anche generare un nuovo indirizzo per ogni transazione perché gli indirizzi possono essere cercati e tracciati sulla blockchain.
Per ridurre al minimo le frizioni, le persone che accettano pagamenti o donazioni in Bitcoin possono semplicemente generare un indirizzo e dire a tutti di inviare BTC lì. Tuttavia, questo non è ottimo per la privacy perché chiunque può vedere quanti BTC sono stati ricevuti a quell’indirizzo, da dove sono venuti e dove sono stati successivamente inviati.
Combinare email crittografate con Bitcoin
La funzionalità unica integrata in Proton Wallet è l’invio di Bitcoin a un indirizzo email in modo privato e con poca frizione senza riutilizzare indirizzi Bitcoin. Possiamo farlo sfruttando il sistema di email crittografate di Proton Mail che serve oltre 100 milioni di account dal 2014.
Il funzionamento di Bitcoin via Email è il seguente:
- Bob si iscrive a Proton Wallet con il suo indirizzo email esistente, bob@gmail.com. Dopo aver verificato di possedere bob@gmail.com, l’app Proton Wallet di Bob genera una chiave PGP per la sua email.
- Nota, Bob potrebbe anche iscriversi con un indirizzo email Proton Mail, come bob@proton.me, che sarebbe ancora più privato e sicuro. Se Bob ha già un account Proton Mail, potrebbe usarlo con Proton Wallet.
- L’app Proton Wallet di Bob genererà automaticamente un pool di indirizzi Bitcoin dal suo account principale del wallet, li firmerà con la chiave privata PGP collegata a bob@gmail.com e memorizzerà gli indirizzi BTC e le firme sui server di Proton.
- L’email di Alice è alice@proton.me e vuole inviare BTC a bob@gmail.com. La sua app Proton Wallet chiede ai server Proton di darle uno degli indirizzi BTC inutilizzati del pool di Bob insieme alla firma.
- L’app di Alice utilizza la chiave pubblica PGP di bob@gmail.com per verificare che la firma sia corretta e appartenga effettivamente a Bob.
- Alice deve fidarsi di Proton affinché le fornisca la chiave pubblica corretta di Bob, ma questa fiducia può essere minimizzata in futuro con funzionalità di sicurezza come Trusted Key e Key Transparency, di cui si parla di seguito nel modello delle minacce.
- Alice quindi invia BTC all’indirizzo BTC di Bob, insieme a un messaggio opzionale da parte di Alice. Questo messaggio è crittografato end-to-end con la chiave pubblica PGP di Bob in modo che solo lui possa decrittografarlo e leggerlo nella sua app Wallet.
Proton Wallet genera e mantiene un pool di indirizzi Bitcoin inutilizzati per ciascun account del wallet che ha attivato Bitcoin via Email, quindi la privacy è garantita. Ad esempio, se Eve, un attaccante, tenta di inviare BTC a bob@gmail.com, riceverà un nuovo indirizzo BTC vuoto dal pool di Bob, diverso da quello utilizzato da Alice. Eve quindi non imparerà nulla sulle precedenti transazioni di Bob.
Modello delle minacce
In questa sezione, esaminiamo le potenziali minacce a cui gli utenti di Proton Wallet dovrebbero essere consapevoli e le migliori pratiche per migliorare la sicurezza.
Password dimenticata e auto-ripristino
Essendo un wallet autodisciplinato, Proton non ha la custodia dei tuoi asset digitali né l’accesso alle chiavi che li controllano. Ciò significa che se dimentichi la password del tuo account Proton e perdi la tua frase o kit di recupero, non possiamo fare nulla per aiutarti. Ecco perché è importante eseguire il backup dei metodi di recupero e conservarli in un luogo sicuro (ad esempio, alcune persone conservano la frase di recupero in una cassaforte) prima di aggiungere risorse digitali al portafoglio.
Il primo metodo di recupero che dovresti eseguire il backup è la frase di recupero Proton(nuova finestra), usata per recuperare il tuo Account Proton se dovessi dimenticare la password Proton. Questa è una frase di 12 parole che codifica la tua chiave utente e ti consente di accedere nuovamente al tuo account Proton con tutti i dati crittografati ancora accessibili. Ti verrà chiesto di creare una nuova password.
Il secondo metodo di recupero è la frase seed del portafoglio, la frase di 12 parole che codifica la chiave del portafoglio. Dovresti eseguire il backup per ogni portafoglio che crei. Dovresti usare questo metodo solo se il primo metodo di recupero non funziona e non riesci ad accedere al tuo Account Proton. In questo caso, tutti i tuoi metadati crittografati, come appunti e messaggi, saranno persi, ma potrai recuperare le tue risorse digitali importando il portafoglio usando la frase seed. Puoi persino usare questo metodo di recupero su un altro servizio di portafoglio se non riesci più ad accedere a Proton.
Infine, se decidi di impostare una passphrase opzionale su uno dei tuoi portafogli, dovresti eseguire anche il backup di questa, come i due metodi di recupero. Puoi considerare la passphrase opzionale come una password aggiuntiva della frase seed del portafoglio, ma a differenza della frase seed, che è crittografata e memorizzata sui server Proton, la passphrase non viene mai memorizzata. Questo significa che l’app Proton Wallet non può mai ricordarti cos’è.
Compromissione dell’account Proton
Questo colpisce principalmente gli utenti senza autenticazione a due fattori poiché gli attaccanti hanno bisogno solo dell’email e della password dell’account per accedere. Un modo comune per un attaccante di ottenere la password è inviare un’email di phishing all’utente cercando di ingannarlo a inserire la sua password di Proton sul sito web di phishing dell’attaccante. Un altro modo è che l’attaccante cerchi perdite precedenti di password di altri servizi e, se l’utente ha riutilizzato quella password su Proton, l’attaccante può accedere.
Una volta che un attaccante accede a Proton Wallet, può visualizzare la frase seed del portafoglio o inviare tutte le risorse al proprio portafoglio. Un portafoglio con una passphrase opzionale (che non è mai memorizzata da Proton) eviterebbe che l’attaccante acceda al portafoglio e svuoti le risorse. Tuttavia, se impostata, la passphrase deve essere utilizzata insieme alla frase seed del portafoglio per recuperare i portafogli. Questa complessità aggiuntiva e il rischio di dimenticare la passphrase è il motivo per cui Proton Wallet non supporta la creazione di una passphrase sul tuo primo portafoglio. Una volta comprese le considerazioni, è possibile creare un secondo portafoglio con una passphrase.
Altri modi per difendersi dalla compromissione dell’account sono configurare il 2FA, utilizzare password uniche e robuste per ogni servizio e fare attenzione alle email di phishing.
Poiché questo è il modo più comune in cui gli utenti vengono hackerati, Proton ha anche costruito sistemi sofisticati operati da team globali 24/7 che filtrano le email di phishing e bloccano i login sospetti(nuova finestra). Abbiamo anche sviluppato un programma avanzato di protezione degli account(nuova finestra) per utenti di alto profilo e un password manager(nuova finestra) facile da usare.
Compromissione del dispositivo dell’utente
Se un attaccante ha accesso al dispositivo su cui funzionano le app Proton, può accedere alle app su quel dispositivo o aggiungere un keylogger per catturare l’email e la password quando effettui il login. Gli utenti dovrebbero bloccare lo schermo quando si allontanano dal computer, considerare l’uso della modalità di blocco sui dispositivi Apple, mantenere aggiornati il sistema operativo e le app e fare attenzione quando scaricano e aprono file. Mentre Proton Sentinel può offrire protezione in alcuni casi di compromissione del dispositivo dell’utente, la capacità di Proton di proteggerti è piuttosto limitata se i dispositivi che usi per accedere a Proton sono compromessi.
Compromissione della privacy della blockchain
Come accennato sopra, gli attaccanti possono tracciare le transazioni Bitcoin on-chain una volta che un indirizzo è associato a te. Continuando dall’esempio sopra:
- Alice ha inviato BTC dall’indirizzo A all’indirizzo BTC di Bob, B1.
- Eve ha inviato BTC dall’indirizzo E a un altro indirizzo BTC di Bob, B2.
- Finora, Alice ed Eve non sono a conoscenza delle altre transazioni di Bob.
- Ora Bob invia tutti i suoi BTC in un’unica transazione a un altro destinatario, forse un exchange con indirizzo X.
- Eve può ora vedere che l’indirizzo BTC B2 ha inviato Bitcoin all’indirizzo X, così come ha fatto l’indirizzo BTC B1. E può presumere che l’indirizzo BTC B1 appartenga anche a Bob e vedere che l’indirizzo A ha anche inviato BTC a Bob.
Essere tracciati sulla blockchain non è così grave come perdere risorse per la maggior parte degli utenti, ma potrebbe essere una grande minaccia per gli utenti che hanno bisogno della massima privacy finanziaria. Guardando l’esempio sopra: Bob potrebbe essere un attivista per i diritti umani che riceve donazioni dai residenti di un paese governato da un dittatore corrotto. Eve potrebbe lavorare per il dittatore corrotto, cercando di tracciare chi sta donando a Bob, il che significherebbe che Alice potrebbe essere a rischio.
Utenti come Alice e Bob che necessitano della massima privacy potrebbero voler considerare di utilizzare un servizio di coinjoin di terze parti prima e dopo le loro transazioni per mescolare il loro Bitcoin con altri e interrompere il collegamento nella cronologia della blockchain.
Compromissione del server Proton
Tutti i prodotti Proton utilizzano la crittografia end-to-end per ridurre al minimo i dati sui server Proton, quindi anche se gli hacker entrano nei server Proton, avranno dati limitati da rubare. Il fatto che i server di Proton non abbiano mai la custodia dei BTC degli utenti li rende anche meno attraenti come bersagli.
Nel caso improbabile che un attaccante riesca ad accedere ai server web di Proton, potrebbe tentare di modificare il codice JavaScript fornito agli utenti delle app web. Il codice malevolo potrebbe tentare di rubare le password degli utenti, le chiavi e i BTC. Se sei preoccupato per questo rischio, puoi utilizzare le app mobili Proton Wallet, che possono notificarti prima di aggiornare il nuovo codice.
Nel caso improbabile che un attaccante riesca ad accedere ai server chiave di Proton, potrebbe anche tentare di modificare le chiavi PGP e le firme utilizzate per Bitcoin via Email. Per ridurre questo rischio e ridurre la fiducia nei server di Proton che forniscono le chiavi pubbliche corrette, stiamo incorporando il sistema di verifica degli indirizzi di Proton(nuova finestra), che consentirà alle app del Wallet di avvertire gli utenti se una chiave Trusted cambia. Un’estensione automatica di questo, il sistema di Key Transparency di Proton(nuova finestra), sarà inoltre aggiunto a Proton Wallet in futuro.
Proton inaccessibile
Il rischio finale che tratteremo è se non puoi più raggiungere i server di Proton. Questo potrebbe essere dovuto al fatto che il tuo governo blocca l’accesso a internet ai siti web e ai domini di Proton. Prima di tutto, puoi provare a connetterti a una VPN, come il nostro servizio Proton VPN(nuova finestra) gratuito, che ha tecnologia anti-censura integrata. Ma se ciò fallisce, finché hai effettuato il backup di tutte le tue frasi di recupero del portafoglio, puoi usare quelle 12 parole per recuperare i tuoi asset digitali su qualsiasi servizio di portafoglio Bitcoin. I metadati come le note e Bitcoin via Email verranno persi, ma le transazioni sulla blockchain possono essere recuperate e i tuoi Bitcoin rimarranno sicuri e accessibili.
Proton Wallet vs. portafogli hardware
Si raccomanda agli utenti che abbiano molto valore immagazzinato in asset digitali di conservare la maggior parte dei loro asset in portafogli hardware autocustoditi, che mantengono le chiavi crittografiche offline su un dispositivo dedicato. I portafogli hardware sono considerati i più sicuri, ma alla fine gli utenti devono comunque fidarsi dei produttori del portafoglio per gli aggiornamenti software e le app desktop necessari per usare i portafogli hardware. I portafogli hardware sono anche limitati nei metadati che possono immagazzinare e difficili da usare per le transazioni in movimento.
Proton Wallet mira ad essere un portafoglio gratuito e facile da usare che è sicuro abbastanza per la maggior parte degli utenti che non vogliono la complessità e il costo aggiuntivo di gestione di un portafoglio hardware. Per chi ha molti BTC, Proton Wallet non è progettato per sostituire i portafogli hardware, ma piuttosto per integrarsi in modo sicuro con essi. Ad esempio, puoi usare un portafoglio hardware per immagazzinare BTC che non hai bisogno di accedere regolarmente e usare Proton Wallet per i BTC con cui vuoi fare transazioni.
Difendere la privacy e la libertà
With the launch of Proton Wallet, we want to offer an open and decentralized alternative to fragile financial intermediaries and gatekeepers. By giving individuals easy control of their own encryption keys and digital assets, we are building an internet where financial privacy and freedom is accessible to all.
Crediamo che la privacy e la libertà finanziaria siano fondamentali per una società libera ed equa dove tutti possano essere economicamente connessi ed emancipati. Se desideri supportare finanziariamente la nostra missione, per favore passa a un piano Proton Wallet a pagamento.