CRITTOGRAFIA E FIDUCIA

Modello di sicurezza

Un riferimento tecnico per Revault su iOS e Android: in che modo depositi locali, chiavi del dispositivo, sincronizzazione cloud nativa e condivisioni indipendenti proteggono i tuoi dati e dove finiscono tali protezioni.

Riferimento tecnico · Aggiornato ottobre 2026

La protezione inizia prima del caricamento

I depositi nativi funzionano localmente senza un account Revault. Il contenuto dei file, i nomi dei file, i tipi MIME, le miniature, i nomi dei vault, le cartelle, i tag e i preferiti vengono crittografati sul dispositivo. L'uso locale non carica i file del vault su Revault. La sincronizzazione e la condivisione native del cloud sono operazioni separate e facoltative.

Il modello presuppone un sistema operativo affidabile, un'app installata e una fonte crittografica casuale quando viene creato o sbloccato un deposito. Qualcuno con solo file crittografati e wrapper di chiavi non può decrittografarli senza il segreto richiesto. Il malware o un'app compromessa in esecuzione mentre un vault è aperto può acquisire testo non crittografato e chiavi.

Il tuo dispositivoTesto non crittografato e chiave del vault
Crittografa localmenteTesto cifrato autenticato
Archiviazione crittografataNessuna chiave del vault in testo normale

Chiavi indipendenti per ogni caveau

Ogni deposito inizia con una chiave master AES casuale a 256 bit, generata utilizzando la fonte crittografica casuale del sistema operativo. Il gesto non determina direttamente questa chiave. Ogni vault ha un materiale di chiave master indipendente, quindi la divulgazione di una chiave del vault non ne deriva un'altra.

Un modello di dispositivo combina la sequenza di punti ordinata con un segreto del dispositivo casuale a 256 bit. L'input risultante viene normalizzato con NFKC e passato a PBKDF2-HMAC-SHA-256 con un nuovo sale a 128 bit e 600.000 iterazioni. La chiave derivata a 256 bit esegue il wrapper della chiave master utilizzando AES-256-GCM. L'app non salva un modello di testo normale o un'impronta digitale di modello separata.

I modelli utilizzano una griglia 5 × 5 con da sei a 25 punti distinti e devono essere univoci tra i depositi registrati sullo stesso dispositivo. Un modello corrispondente apre solo il suo caveau; altri nomi e contenuti del deposito rimangono nascosti. I gesti prevedibili sono ancora più facili da indovinare. Una persona che ottiene sia il segreto del dispositivo che il relativo wrapper crittografato può tentare di indovinare il modello offline.

L'apertura di un deposito nativo richiede il suo modello locale o un flusso di ripristino esplicito, non un account o una passkey Revault. La sincronizzazione cloud opzionale utilizza l'autorizzazione Apple o Google della piattaforma e gli acquisti in negozio utilizzano l'account di fatturazione della piattaforma. Né l'autorizzazione cloud né l'acquisto forniscono una chiave di decrittografia del vault.

Parametri crittografici
ScopoCostruzione
Chiave principale del caveauChiave AES casuale a 256 bit
Avvolgimento delle chiaviPBKDF2-HMAC-SHA-256 · 600.000 iterazioni · Sale a 128 bit → AES-256-GCM
Metadati e miniatureAES-256-GCM · nonce casuale a 96 bit · tag di autenticazione a 128 bit
Derivazione della chiave del fileHKDF-SHA-256 · salt casuale a 256 bit per file · output AES a 256 bit
Segreto di recuperoGenerato: 18 parole casuali (198 bit); personalizzato: almeno 6 parole distinte e 32–512 caratteri

Protezione della chiave solo per il dispositivo

Su iOS, il blocco del dispositivo viene memorizzato come elemento Keychain non sincronizzato utilizzando la protezione WhenUnlockedThisDeviceOnly. È accessibile solo mentre il dispositivo è sbloccato e non migra tramite la sincronizzazione Keychain. Il segreto memorizzato non è una chiave Secure Enclave.

Su Android, il blocco del dispositivo viene crittografato utilizzando AES-256-GCM con una chiave non esportabile Android Keystore che richiede un dispositivo sbloccato. Il file di blocco crittografato si trova nella directory senza backup dell'app. Keystore il supporto hardware dipende dal dispositivo; l'app non promette che ogni dispositivo utilizzi chiavi supportate da hardware.

I segreti di sblocco locale sono esclusi dalla sincronizzazione cloud nativa e dai backup dell'archivio portatile. Il possesso di un account Apple o Google non ricrea tali segreti né sblocca automaticamente un deposito ripristinato. Un nuovo dispositivo deve verificare il segreto di ripristino indipendente e registrare il proprio modello.

Riservatezza e rilevamento delle manomissioni

I metadati del vault, i metadati dei file, le miniature e le chiavi incapsulate utilizzano AES-256-GCM con tag di autenticazione a 128 bit. Ogni crittografia indipendente utilizza un nuovo nonce casuale a 96 bit. La decrittografia verifica il tag prima di restituire testo in chiaro; il testo cifrato modificato o una chiave errata causano il fallimento dell'autenticazione.

Ulteriori dati autenticati associano ciascun oggetto crittografato alla versione del formato, all'identificatore del deposito, all'identificatore dell'oggetto e allo scopo. Ad esempio, una miniatura e un record di metadati di file utilizzano contesti diversi. Lo spostamento di un oggetto crittografato in un deposito diverso o la sua sostituzione con un altro oggetto modifica il contesto autenticato e non supera la verifica.

Il contesto autenticato non nasconde gli identificatori e non dimostra la freschezza. Un record precedente valido può ancora avere un tag valido. I controlli di revisione dell'applicazione rilevano gli aggiornamenti simultanei ordinari, ma questa non è una difesa crittografica contro un servizio dannoso che riproduce uno stato completamente precedente.

I file di grandi dimensioni utilizzano segmenti autenticati

La crittografia nativa dei file utilizza la costruzione dello streaming AES-256-GCM-HKDF-SHA-256 descritta da Tink. iOS utilizza CryptoKit per AES-GCM e HKDF; Android utilizza le primitive crittografiche della piattaforma. Ogni nuovo flusso ha un'intestazione di 40 byte contenente il relativo indicatore di lunghezza, un salt casuale di 32 byte e un prefisso nonce casuale di sette byte.

HKDF deriva una chiave di crittografia file separata dalla chiave master del vault. Il suo contesto include il vault e gli identificatori di file, la lunghezza in byte del testo normale e la dimensione del segmento configurata. Il nonce di 12 byte di ogni segmento combina il prefisso casuale, un contatore di segmento di quattro byte e un flag di segmento finale. I segmenti portano tag GCM a 128 bit.

Le app native elaborano i file in segmenti delimitati di circa 5 MiB. I contatori di segmento, il flag del segmento finale e le lunghezze di byte previste rilevano segmenti alterati, riordinati o troncati. Ogni segmento viene autenticato prima dell'uso e un'anteprima privata viene pubblicata solo al termine della decrittografia del file. L'output incompleto viene scartato in caso di fallimento; i tentativi trasferiscono i byte crittografati esistenti.

La costruzione segue il Prova le specifiche di streaming AES-GCM-HKDF.. L'implementazione e la configurazione del segmento di Revault non sono state controllate o certificate in modo indipendente da Tink.

Archiviazione privata, importazioni e anteprime

I file del vault crittografati risiedono nell'archivio privato dell'app. Nomi di file, tipi MIME, cartelle, tag, preferiti e miniature sono record crittografati autenticati. La ricerca e il filtro dei tag operano sui metadati decrittografati del deposito attivo dopo lo sblocco; non esiste un indice di ricerca del server di testo in chiaro.

Le importazioni di foto, video e file possono utilizzare lo staging temporaneo privato prima della crittografia. L'acquisizione tramite fotocamera nel vault non salva automaticamente una copia nella galleria. L'importazione da Foto o da un altro fornitore lascia intatto l'originale di quel fornitore. L'ottimizzazione multimediale opzionale avviene localmente prima della crittografia e modifica solo i media appena importati.

Le anteprime private richiedono testo non crittografato temporaneo mentre sono aperte. Le app rimuovono le anteprime temporanee alla chiusura, al blocco e al successivo avvio; iOS applica la protezione completa dei file ai file di anteprima decrittografati. I file esportati esplicitamente in un'altra app lasciano la protezione del vault. L'eliminazione dei file temporanei non è una garanzia di cancellazione forense.

Sincronizzazione cloud nativa opzionale

La sincronizzazione è disattivata per impostazione predefinita e abilitata separatamente per ciascun insieme di credenziali su ciascun dispositivo. iOS memorizza record crittografati e segmenti di file nel database privato CloudKit dell'utente in iCloud. Android utilizza il privato appDataFolder di Google Drive. Nessuno dei due trasporti richiede un account Revault né carica i dati di sincronizzazione nativa sul cloud web di Revault.

Il cloud riceve metadati, segmenti di file e wrapper di chiavi crittografati, non una chiave master del vault in testo normale, un segreto del dispositivo locale o un segreto di ripristino. Un altro dispositivo sulla stessa piattaforma necessita dello stesso account cloud nativo e della chiave di ripristino dell'insieme di credenziali per registrare il proprio modello locale. L'autorizzazione Apple e Google controlla l'accesso ai record crittografati, non la loro decrittografia.

La disattivazione della sincronizzazione interrompe ulteriori trasferimenti per quel deposito dal dispositivo corrente; rimangono le copie cloud crittografate esistenti. Le modifiche e le eliminazioni sincronizzate possono propagarsi e le modifiche simultanee potrebbero richiedere la revisione dei conflitti. iCloud e Google Drive sono negozi separati, senza ponte multipiattaforma automatico. Utilizza un trasferimento telefonico crittografato per spostarti tra iPhone e Android.

Il ripristino è un secondo percorso per la stessa chiave

Revault genera una frase di recupero contenente 18 parole scelte in modo indipendente da un elenco di 2.048 parole raggruppate, fornendo 198 bit di casualità. La creazione non offre frasi personalizzate o rigenerazione. La frase deriva in modo indipendente una chiave di wrapper utilizzando PBKDF2-HMAC-SHA-256 e un nuovo salt, quindi avvolge la chiave master del vault con AES-256-GCM. Chiunque abbia la frase e il deposito crittografato può decrittografarlo. Le frasi personalizzate esistenti e le chiavi di ripristino esadecimali rimangono compatibili con i relativi depositi originali.

Il segreto di ripristino viene visualizzato durante la configurazione e non viene mantenuto nell'archivio dell'app nativa né caricato nell'archivio cloud nativo. Conservalo separatamente dai file crittografati. La registrazione di un altro dispositivo richiede l'archivio crittografato dell'account cloud nativo originale o un backup crittografato, oltre alla chiave di ripristino. Un segreto non può ripristinare i dati di file mancanti e Revault non dispone di una chiave di ripristino mantenuta dal provider.

Un backup portatile .qvault contiene wrapper di chiavi crittografate, un inventario crittografato autenticato e segmenti di file crittografati. Esclude il segreto di sblocco del dispositivo locale. L'importazione verifica l'inventario, i metadati e ogni segmento prima di ripristinarli in un deposito con nuovi identificatori, chiave master, chiavi di file e un nuovo modello di dispositivo. Salvare la nuova chiave di ripristino dopo il ripristino.

Le nuove frasi di ripristino preservano le maiuscole, normalizzano Unicode con NFKC e comprimono gli spazi bianchi aggiuntivi. Le chiavi esadecimali legacy rimangono supportate. Puoi sostituire la frase di ripristino di un vault nelle sue impostazioni dopo aver salvato la nuova frase. Questo sostituisce l'attuale wrapper di ripristino; i vecchi backup e i dispositivi non sincronizzati possono ancora conservare il vecchio wrapper. La modifica di uno schema o di una frase di ripristino non ruota la chiave principale del vault né revoca le copie. Se il materiale della chiave è compromesso, sposta i file in un nuovo deposito con chiavi nuove.

Migrazione da telefono a telefono crittografata

Il trasferimento telefonico crea una copia crittografata portatile con nuovi identificatori del vault, chiave master, chiavi di file e intestazioni di flusso. Il suo segreto di trasferimento indipendente non può sbloccare l'archivio di origine e il segreto di ripristino dell'origine e il segreto di sblocco del dispositivo non sono inclusi. Il pacchetto crittografato e il segreto di trasferimento devono essere consegnati separatamente.

L'app ricevente autentica il pacchetto e i relativi segmenti di file, quindi ripristina in un nuovo insieme di credenziali con un nuovo pattern locale e una chiave di ripristino. Funziona tra iOS e Android senza collegare i loro account cloud. L'originale rimane sul vecchio dispositivo; confermare il contenuto ripristinato e salvare la nuova chiave di ripristino prima di eliminarla.

Blocco e pulizia della sessione

Per impostazione predefinita, le app mobili si bloccano immediatamente quando sono in background e dopo 60 secondi di inattività. Ciascun caveau può selezionare 30 secondi, 1 minuto, 2 minuti, 5 minuti o 10 minuti. Un deposito condiviso utilizza l'impostazione predefinita di 60 secondi. Uscendo si ritorna alla schermata del pattern e si termina la sessione decriptata.

Il blocco annulla il lavoro della sessione, cancella i metadati decrittografati e lo stato di ricerca, chiude le anteprime, rimuove i file temporanei e sovrascrive i buffer delle chiavi di proprietà prima di rilasciarli. Anche le chiavi di derivazione temporanee vengono cancellate dopo l'uso. Swift e JVM la gestione della memoria, le librerie crittografiche e i decodificatori multimediali possono creare copie; non è possibile garantire la cancellazione immediata di ogni copia.

iOS copre gli snapshot del cambio di app con uno scudo per la privacy. Android utilizza il flag secure-window per limitare gli screenshot e le anteprime delle app recenti. Queste protezioni della piattaforma non impediscono a qualcuno di fotografare uno schermo sbloccato e non ritirano i file precedentemente esportati in un'altra app.

Revault Cloud

Revault Cloud è un provider di archiviazione Pro opzionale per la sincronizzazione multipiattaforma. I segmenti crittografati e i metadati dei file crittografati sono collegati a un'installazione di fatturazione pseudonima. Il servizio può osservare identificatori di archiviazione, dimensioni, checksum, revisioni e attività di trasferimento, ma non riceve alcuna chiave dell'archivio o frase di ripristino non imballata. Un codice di connessione casuale separato autorizza l'accesso allo storage; anche il collegamento di un altro dispositivo richiede la frase di ripristino. I dati cloud esistenti rimangono leggibili per il ripristino dopo la scadenza di Pro.

Chiavi indipendenti per ogni condivisione

Una condivisione nativa è un'istantanea dei file selezionati, non l'accesso al deposito personale del proprietario. Per impostazione predefinita, l'app deriva le chiavi della versione del file selezionate e le racchiude con AES-256-GCM sotto una nuova chiave master di condivisione. Riutilizza i byte del file crittografato, crittografando nuovamente i metadati e le miniature per la condivisione. Sono escluse le chiavi dell'archivio di origine, il segreto di ripristino, la struttura delle cartelle, i tag e i preferiti.

La condivisione dispone di una propria frase di decrittografia di 18 parole generata in modo indipendente e di un wrapper di ripristino. Il mittente trasmette il segreto in privato, separatamente dal collegamento di invito. Il server riceve dati crittografati, mai la chiave di condivisione in testo normale o il segreto di decrittografia. Il destinatario non può ricavare chiavi di file non condivise o la chiave principale del vault di origine dalle chiavi di file selezionate.

L'impostazione opzionale di isolamento aggiuntivo ricodifica il contenuto del file con nuove chiavi e intestazioni di flusso. L'impostazione predefinita è più veloce perché evita di riscrivere ogni file; il testo cifrato ripetuto può correlare copie della stessa versione del file. Entrambe le modalità creano un'istantanea separata e nessuna delle due può ritirare il testo cifrato e le chiavi già conservate da un destinatario.

Trasporti di condivisione nativi e controlli di accesso

Su iOS, un invito CloudKit privato e di sola lettura inserisce l'istantanea crittografata in una gerarchia di record di condivisione separata, al di fuori della zona di sincronizzazione personale. Apple controlla l'accesso agli inviti; il destinatario necessita ancora del segreto di decrittazione separato. CloudKit gli inviti non impongono il conteggio delle sessioni di accesso del server, la scadenza fissa o il timer di distruzione. Il proprietario può interrompere futuri accessi a CloudKit.

Le condivisioni multipiattaforma caricano parti crittografate sul servizio di condivisione di Revault. Le funzionalità di lettura e gestione casuali indipendenti a 256 bit vengono archiviate come hash SHA-256. Il collegamento al sito Web contiene la capacità di lettura nel suo frammento, non il segreto di decrittazione. L'apertura collega direttamente a un deposito condiviso e richiede il segreto del mittente; non è richiesto alcun modello personale o deposito esistente. I depositi personali rimangono chiusi.

Le condivisioni di server controllate impongono sessioni di accesso massimo del mittente, scadenza fissa entro 30 giorni, revoca e autorizzazione di esportazione opzionale. Una sessione è concessa atomicamente e dura al massimo 15 minuti, vincolata alle scadenze del titolo. Un accesso conta quando la sessione viene concessa, anche se il download o la decrittografia falliscono. Il visualizzatore controlla l'accesso in corso e chiude alla scadenza.

SHA-256 i checksum verificano le parti trasferite, mentre la crittografia autenticata ne verifica il contenuto. Quando l'esportazione è consentita, lo spettatore può salvare una copia crittografata .qvault che si apre con il segreto di condivisione. La disabilitazione dell'esportazione rimuove l'azione dell'applicazione; non può impedire crittograficamente che gli screenshot o un client modificato conservino il testo in chiaro. L'eliminazione di un file di origine non revoca una condivisione creata in modo indipendente.

Una scadenza dopo il primo accesso

Un mittente può abilitare un timer di distruzione separato. Si avvia in modo atomico quando viene concessa la prima sessione di accesso al server, anche se il trasferimento o la decrittografia successivamente falliscono. Ogni sessione successiva condivide la stessa scadenza; la riapertura non lo resetta mai. Si applica la prima tra scadenza fissa, ora di distruzione e scadenza della sessione. Alla scadenza il servizio nega ulteriori letture e mette in coda il testo cifrato per l'eliminazione, mentre il visualizzatore nativo chiude e rilascia le chiavi di condivisione e i file temporanei. La pulizia è asincrona e non può cancellare screenshot, dati conservati di un client modificato o copie esportate in precedenza.

Attività facoltativa del caveau

I log di controllo nativi sono disattivati ​​per impostazione predefinita e configurati per insieme di credenziali su ogni dispositivo. Gli ultimi 500 eventi locali vengono crittografati con la chiave master dell'archivio protetto e un contesto autenticato dedicato. Escludono chiavi, modelli, contenuti di file e altri dati dei depositi, non si sincronizzano e possono essere cancellati o disabilitati. Non sono prove a prova di manomissione. Gli sblocchi non riusciti non vengono assegnati a un deposito.

Le nuove condivisioni controllate create con la registrazione abilitata conservano fino a 100 timestamp della sessione di accesso sul servizio di condivisione. Solo la capacità gestionale può recuperarli; il registro non contiene l'identità del destinatario o il segreto di decrittografia. La disabilitazione della registrazione locale influisce sulle condivisioni future. I registri di condivisione esistenti mantengono le impostazioni originali fino alla revoca o alla scadenza e alla pulizia.

Foto di effrazione crittografate opzionali

I proprietari possono abilitare gli avvisi di intrusione separatamente per ciascuna cassaforte su ciascun dispositivo. Dopo tre modelli senza eguali, l'app in primo piano può acquisire una foto con la fotocamera anteriore, previa autorizzazione, disponibilità della fotocamera e un minuto di ricarica. Gli indicatori della fotocamera del sistema rimangono visibili. Gli ultimi dieci avvisi vengono archiviati localmente e non vengono mai aggiunti a Foto o caricati. Un modello senza corrispondenza non identifica un deposito di destinazione, pertanto ciascun deposito attivato riceve un record di tentativi del dispositivo crittografato separatamente.

Una chiave pubblica RSA-3072 dedicata racchiude una nuova chiave AES-GCM a 256 bit per ciascun avviso utilizzando OAEP con SHA-256 e MGF1-SHA-256. Ciò consente la crittografia mentre il deposito è bloccato. La chiave privata corrispondente è essa stessa crittografata con la chiave master di quel vault con un contesto autenticato dedicato. Solo sbloccando quel caveau è possibile decrittografare le sue foto. Gli avvisi vengono visualizzati nella vista di controllo indipendentemente dalla registrazione delle attività ordinarie e possono essere cancellati nelle impostazioni degli avvisi di intrusione. Non sono prove a prova di manomissione.

Safe Exit rimuove l'accesso locale

Un deposito su un dispositivo può essere designato per Safe Exit. L'immissione della sequenza lo apre normalmente rimuovendo gli altri record del deposito locale, i blocchi crittografati, il materiale di sblocco del dispositivo e le modifiche in coda. L'app mantiene una lista consentita locale persistente in modo che la sincronizzazione non possa ripopolare silenziosamente gli archivi esclusi. I trasferimenti crittografati già in volo potrebbero comunque terminare.

Rimangono le copie cloud native e le copie su altri dispositivi. Il ripristino esplicito richiede la chiave di ripristino dell'insieme di credenziali escluso prima che venga registrato un nuovo modello locale. Un deposito solo offline senza un backup separato può andare perso. Questa impostazione si applica all'installazione corrente, non a tutti i dispositivi che utilizzano lo stesso account cloud.

Safe Exit non è garantita la cancellazione o l'occultamento a fini forensi. L'archiviazione flash, le cache del sistema operativo, i backup e le esportazioni precedenti possono conservare tracce. La rimozione dei dati dell'app o la reinstallazione possono rimuovere il limite di isolamento locale; i record cloud possono quindi essere scoperti nuovamente tramite l'account cloud nativo. Solo il segreto di ripristino può sbloccare tali record.

Ciò che rimane visibile

La crittografia nasconde il contenuto, non tutte le informazioni operative. I record locali e i fornitori di servizi cloud possono osservare identificatori, relazioni tra record, conteggi di oggetti, dimensioni, revisioni, timestamp, wrapper di chiavi crittografate e intestazioni di flusso. Gli identificatori utilizzano UUIDv7 e includono informazioni sul momento della creazione; non sono segreti. Apple o Google possono associare l'attività di sincronizzazione nativa all'account della piattaforma.

Il servizio di condivisione controllata di Revault è in grado di osservare le dimensioni dei pacchetti crittografati, i checksum delle parti, le impostazioni di scadenza, i conteggi delle sessioni di accesso e i timestamp delle sessioni opzionali, ma non il segreto di decrittografia fornito separatamente. La condivisione CloudKit espone le informazioni sull'invito e sui partecipanti a Apple. I record operativi e di rete possono esporre informazioni sulla connessione. Revault non fornisce anonimato o resistenza all'analisi del traffico.

HTTPS protegge le richieste di rete in transito. La crittografia autenticata sul dispositivo protegge separatamente i contenuti del deposito archiviati localmente e nel cloud. Né la crittografia dei trasporti né il testo cifrato nascondono ogni fatto su quando, dove o quanti dati vengono trasferiti.

Dove finisce la protezione

Un deposito sbloccato espone necessariamente le informazioni decrittografate alla sessione dell'app. Il malware, un sistema operativo o un'app compromessa, qualcuno che visualizza lo schermo o un destinatario non attendibile possono catturarlo. L'archiviazione delle chiavi solo per il dispositivo rappresenta un limite aggiuntivo, non una garanzia contro un dispositivo completamente compromesso. Un modello prevedibile non è sicuro una volta che il suo segreto locale viene compromesso.

La crittografia non impedisce la cancellazione del cloud, il ransomware, la perdita di un segreto di ripristino, il trattenimento di record da parte di un provider o il ripristino di un intero stato crittografato precedentemente valido. Mantieni backup crittografati indipendenti e verifica il ripristino prima di rimuovere un vecchio dispositivo. La revoca non può richiamare screenshot, esportazioni o copie già conservate da un'altra persona.

Revault non è stato sottoposto a un controllo di sicurezza indipendente. Queste sono descrizioni del progetto crittografico implementato, non una certificazione o una garanzia contro ogni intrusione.

Depositi di browser esistenti

Questo riferimento descrive le app native. I depositi di browser esistenti hanno un account separato, archiviazione del dispositivo e modello web-cloud. I caricamenti S3 specifici del browser e i collegamenti di condivisione del browser non sono sincronizzati nel cloud nativo. L'account del browser non ti consente di accedere alle app mobili; utilizzare un backup crittografato e la relativa chiave di ripristino per spostare i dati del browser esistenti in un deposito nativo.

Sicurezza e architettura