Crittografia a Pattern: come disegnare una forma protegge i tuoi file

Disegni una forma con il dito. PBKDF2 trasforma quel gesto in una chiave della cassaforte, che sblocca una chiave casuale separata con cui AES-256-GCM protegge i tuoi file. Nessun campo password, nessun PIN corto. Solo la tua sequenza e una gerarchia di chiavi a più livelli, pensata così di proposito.

Vaultaire serializza una forma disegnata su una griglia 5×5 e la elabora con PBKDF2-HMAC-SHA512, 600.000 iterazioni e un salt del dispositivo conservato nel Keychain di iOS. Il risultato a 256 bit è una chiave della cassaforte: cifra l'indice della cassaforte e sblocca la chiave master casuale separata che AES-256-GCM usa per il contenuto e i metadati dei file.

Cos'è Crittografia a Pattern?

La maggior parte delle app della cassaforte si nascondono dietro un PIN o una password. Digiti quattro cifre e vengono visualizzate le tue foto. Sembra abbastanza sicuro, vero?

Ecco il problema: un PIN di quattro cifre ha esattamente 10.000 combinazioni possibili. Un computer può provarli tutti in meno di un secondo. Sei cifre? Un milione di combinazioni. Ancora banalmente veloce per l'hardware moderno. Anche una password di otto caratteri, se utilizza solo lettere minuscole, offre circa 200 miliardi di possibilità. Sembra molto finché non scopri che un laptop standard può testare miliardi di hash di password al secondo.

La cifratura con sequenza segue un approccio del tutto diverso. Invece di digitare caratteri in una casella, disegni una forma geometrica su una griglia di punti. Il percorso che tracci (quali punti tocchi, in quale ordine, con quale geometria) diventa l'input di una funzione di derivazione della chiave basata su password. L'interfaccia non si limita a controllare il risultato: il risultato deve sbloccare un indice cifrato e autenticato e la chiave master casuale che contiene.

La differenza conta. In alcune app, quando inserisci un PIN, l'app controlla solo se hai digitato il numero giusto. Se è giusto si apre, anche se i file possono essere protetti soprattutto da un controllo di accesso. Vaultaire invece passa la sequenza disegnata a PBKDF2 per derivare una chiave della cassaforte a 256 bit. Quella chiave deve autenticare e decifrare l'indice della cassaforte prima di poter sbloccare la chiave master casuale usata sui file. Una sequenza non riconosciuta mostra una cassaforte vuota, ma sotto l'autenticazione AES-GCM distingue comunque una chiave corretta da una errata.

Differenza chiave

Un blocco basato su PIN può essere come una porta chiusa davanti a file altrimenti leggibili. Il modello di Vaultaire somiglia di più alla combinazione di una cassaforte: deriva la chiave che apre un indice cifrato, che a sua volta libera la chiave separata che protegge il contenuto. L'interfaccia non può semplicemente aggirare questa catena crittografica.

Come Funziona, passo dopo passo

Ecco cosa succede dal momento in cui il tuo dito tocca lo schermo al momento in cui i tuoi file diventano illeggibili per tutti gli altri.

Passaggio 1: disegna il tuo modello

Vaultaire mostra una griglia di punti 5×5. Disegni un percorso continuo che collega almeno 6 punti con almeno un cambio di direzione. L'app registra esattamente quali punti hai toccato e in quale ordine. Quel percorso è la tua sequenza.

Griglia della sequenza 5×5

A differenza delle griglie 3×3 comuni nelle schermate di blocco Android, Vaultaire usa una griglia 5×5. Non è una scelta estetica. Venticinque posizioni permettono molti più percorsi, incroci, salti e cambi di direzione di nove posizioni. Uno spazio teorico più ampio aiuta, ma la sicurezza reale dipende comunque da quanto è imprevedibile il percorso che scegli. Una lettera nota o una forma semplice restano facili da indovinare anche quando la griglia ammette miliardi di alternative.

Passaggio 2: la sequenza deriva una chiave della cassaforte

La sequenza disegnata viene serializzata insieme alla dimensione della griglia e passata a PBKDF2 (Password-Based Key Derivation Function 2) con HMAC-SHA512, 600.000 iterazioni e un salt casuale del dispositivo. Il salt è un valore non segreto conservato nel Keychain di iOS come elemento WhenUnlockedThisDeviceOnly. Lega la derivazione locale al dispositivo; non è diverso per ogni cassaforte e non aggiunge entropia a una sequenza scelta da una persona.

Flusso di crittografia
Il tuo modello Percorso griglia
5×5
→
PBKDF2 + Sale
Derivazione chiave
→
Chiave a 256 bit
Univoco per cassaforte
→
AES-256-GCM
Crittografia file

La derivazione della chiave è volutamente costosa. PBKDF2 esegue 600.000 iterazioni HMAC-SHA512 per ogni sequenza candidata, aumentando il costo di un attacco per tentativi. Questo non trasforma una sequenza a bassa entropia in 256 bit di sicurezza, e il tempo dell'attacco dipende dall'hardware dell'aggressore. Lo scopo è più ristretto e misurabile: rendere ogni tentativo molto più costoso di un semplice hash.

Passaggio 3: i file vengono crittografati

Quando la cassaforte viene creata, Vaultaire genera una chiave master casuale a 256 bit. La chiave della cassaforte derivata dalla sequenza cifra l'indice e incapsula la chiave master; non cifra direttamente ogni file. La chiave master si usa con AES-256-GCM per intestazioni, contenuti, miniature e metadati dei file. Nonce sempre nuovi fanno sì che lo stesso testo in chiaro non produca lo stesso testo cifrato con la stessa chiave.

La modalità GCM aggiunge un livello importante: l'autenticazione. Non si limita a codificare i tuoi dati, ma genera anche un tag che rileva eventuali manomissioni. Se viene modificato un singolo bit del file crittografato, la decrittografia fallirà. Nessuno può manomettere i tuoi file senza che tu lo sappia.

Passaggio 4: lo stato delle chiavi attive viene scartato

Quando Vaultaire si blocca, scarta la cassaforte attiva e lo stato della chiave master, e chiede un nuovo sblocco prima di mostrare di nuovo i file. Mentre la cassaforte è aperta, i byte delle chiavi simmetriche devono per forza stare nel processo dell'app perché CryptoKit possa eseguire le operazioni AES-GCM. Vaultaire conserva anche le informazioni di ripristino, compresa la busta di ripristino cifrata con sequenza e frase, in un database cifrato con AES-GCM e salvato nel Keychain di iOS. È ben diverso dall'affermare che la sequenza e ogni copia della chiave non siano salvate da nessuna parte.

La matematica dietro (in inglese semplice)

Non è necessaria una laurea in informatica per capire perché funziona. La sicurezza si riduce a tre numeri: quanti schemi sono possibili, quanto tempo impiega ogni tentativo e quante ipotesi può fare un utente malintenzionato.

2256
Spazio chiave AES
5×5
Dimensione griglia
Miliardi
Modelli possibili

Entropia: la misura dell'imprevedibilità

Entropia è una parola fantasiosa per “quanto è difficile da indovinare.” Il lancio di una moneta ha 1 bit di entropia (due risultati). Un PIN di quattro cifre ha circa 13 bit di entropia (10.000 risultati). Uno schema ben scelto su una griglia 5×5, che collega 8 o più punti, può superare i 30 bit di entropia, più di un miliardo di schemi possibili.

L'entropia della sequenza fissa il limite per un attacco per tentativi. PBKDF2 non può creare l'entropia che il gesto non contiene, ma può rendere ogni tentativo molto più costoso da verificare.

Derivazione chiave: fare ipotesi costose

PBKDF2 prende la sequenza serializzata ed esegue 600.000 iterazioni HMAC-SHA512. Le stime di attacco devono usare un costo misurato sull'hardware che esegue i tentativi: con esattamente 1 ms per candidato, 1.000.000.000 di candidati richiederebbero 1.000.000 di secondi, circa 11,6 giorni, su 1 unità di calcolo. Un costo misurato più alto allunga quel tempo; l'hardware parallelo lo accorcia. La lunghezza di output di 256 bit non cambia la dimensione dello spazio di ricerca delle sequenze.

Il salt del dispositivo è conservato nel Keychain e non è pensato per essere segreto. Il Keychain e la protezione dei dati di iOS possono rendere più difficile l'estrazione in caso di sequestro del dispositivo, ma l'analisi crittografica deve presumere che chi acquisisce i file cifrati possa acquisire anche il salt. Il salt impedisce il precalcolo tra dispositivi diversi; non sostituisce una sequenza forte.

AES-256: uno standard pubblico e ben studiato

AES-256 è un cifrario forte e standard, pubblicato dal NIST come FIPS 197. “256” indica la lunghezza della chiave in bit. Una chiave a 256 bit ha 2256 valori possibili, troppi per un attacco a forza bruta. Un aggressore attacca invece la sequenza, ed è per questo che Vaultaire la rafforza con 600.000 iterazioni PBKDF2.

La sicurezza di AES-256 non dipende dal tenere segreto l'algoritmo. Ma l'intero sistema non è protetto solo dallo spazio delle chiavi AES: il limite pratico per chi prova a indovinare dipende dall'entropia della sequenza, dal fattore di lavoro di PBKDF2 e dalla protezione del salt del dispositivo e dello storage cifrato. AES-256-GCM offre una cifratura autenticata forte una volta sbloccata la chiave master casuale corretta.

Perché nessuno può sfondare

Vediamo i modi principali in cui qualcuno potrebbe tentare di accedere ai tuoi file cifrati, cosa fa Vaultaire per aumentarne il costo e dove restano i limiti.

Forza bruta: provare ogni modello

PBKDF2 fa costare 600.000 iterazioni HMAC-SHA512 a ogni sequenza candidata. È una difesa importante, ma non la promessa di un numero fisso di anni: il risultato dipende dalla sequenza scelta, dalla velocità di derivazione misurata, dal parallelismo e dal fatto che l'esaminatore abbia recuperato o meno il salt del dispositivo. I percorsi più lunghi e meno prevedibili contano perché PBKDF2 aumenta il costo dei tentativi, non crea nuova entropia.

Attacchi di sbavature: lettura dello schermo

Su una griglia 3×3, le macchie sullo schermo possono restringere significativamente i possibili motivi. Su una griglia 5×5, il motivo delle macchie rivela quali punti sono stati toccati ma non l'ordine, la direzione o le connessioni tra di essi. L’esplosione combinatoria rende questo approccio impraticabile.

Surf sulle spalle: guardarti mentre disegni

I modelli disegnati rapidamente sullo schermo di un piccolo telefono sono estremamente difficili da memorizzare mediante l'osservazione, soprattutto su una griglia 5×5. La ricerca mostra che gli osservatori hanno molto più difficoltà a replicare schemi complessi rispetto a sentire un PIN o una password pronunciati ad alta voce.

Sequestro del dispositivo: sequestro del telefono

Se qualcuno prende il tuo telefono, i contenuti e gli indici dei file di Vaultaire restano testo cifrato AES-GCM finché non sono disponibili le chiavi necessarie. L'app non salva un classico record di verifica della password, ma questo non elimina la verifica offline. Il nome del file di ogni indice cifrato contiene un hash troncato della chiave della cassaforte, e anche la decifratura autenticata AES-GCM riesce o fallisce per una chiave candidata. La protezione del dispositivo e la forza della sequenza restano quindi parte del modello di minaccia.

Nessuna verifica Oracle

Per verificare un tentativo sul testo cifrato autenticato non serve un hash della password separato. I tag AES-GCM di Vaultaire danno un esito di successo o fallimento con alta affidabilità, e il nome del file di indice offre un controllo preliminare più economico. La difesa è il costo e l'imprevedibilità della credenziale, più la protezione di iOS sul materiale locale, non l'assenza di un modo per verificare i tentativi.

Scelta di un modello forte

La crittografia è forte quanto il modello scelto. Ecco come massimizzare la tua sicurezza con il minimo sforzo.

Ciò che rende forte un modello

  • Utilizza più punti.Collega almeno 8 dei 25 punti disponibili. Ogni punto aggiuntivo moltiplica il numero di modelli possibili.
  • Incrocia la tua strada.I modelli che eseguono il loopback, saltano punti o cambiano direzione inaspettatamente sono molto più difficili da riprodurre dalla memoria o dall'osservazione.
  • Evitare forme evidenti.Lettere (L, Z, S), forme geometriche semplici (quadrati, triangoli) e linee rette sono le prime cose che un utente malintenzionato proverebbe.
  • Utilizza la griglia completa.I modelli che rimangono in un angolo o lungo un bordo sprecano l'entropia disponibile. Distribuisciti.

Cosa evitare

  • Sequenze di lunghezza minima. Vaultaire richiede almeno 6 punti e un cambio di direzione, ma rispettare il minimo non rende il percorso imprevedibile. Usa una parte più ampia della griglia, purché tu riesca a ricordare il risultato con sicurezza.
  • Forme geometriche semplici.Una forma a L, uno zigzag o una linea diagonale diritta sono gli equivalenti del modello di “password123.”
  • Partire ogni volta dalla stessa curva.La ricerca sui modelli di blocco Android mostra che la maggior parte delle persone inizia dal punto in alto a sinistra. Gli aggressori lo sanno.

Il punto debole

Uno schema che collega 8–12 punti con almeno due cambi di direzione offre un'eccellente sicurezza pur rimanendo facile da ricordare attraverso la memoria muscolare. Non è necessario memorizzarla come una password, la tua mano ricorda il movimento, nello stesso modo in cui ricorda come scrivere la tua firma.

Perché dovresti sentirti sicuro

In Vaultaire la cifratura con sequenza non è solo un tastierino PIN più carino. Il gesto viene elaborato da una vera funzione di derivazione della chiave e deve sbloccare dati cifrati e autenticati. La sua forza dipende comunque dal gesto che scegli, quindi Vaultaire unisce la griglia più grande a un fattore di lavoro PBKDF2 elevato, invece di presentare l'output a 256 bit come 256 bit di entropia umana segreta.

La sequenza e la chiave della cassaforte locale non vengono inviate a Vaultaire. Con il backup attivo, come da impostazione predefinita, una chiave di backup separata derivata dalla sequenza cifra i record CloudKit, e un manifest di ripristino cifrato permette alla frase di ripristino di recuperare la chiave della cassaforte e la chiave di backup. Vaultaire non ha una chiave del fornitore che decifri quei record, ma il dispositivo e le credenziali di ripristino restano parti critiche della sicurezza del progetto.

Si disegna una forma. Quella forma protegge i tuoi file. I calcoli fanno il resto.

Domande frequenti

Cosa succede se dimentico il mio schema?

Quando crei una cassaforte, Vaultaire genera una frase di ripristino personalizzata di 9 parole separate. PBKDF2 deriva da quella frase una chiave di ripristino, che apre una busta cifrata contenente la chiave della cassaforte. Se perdi sia la sequenza sia la frase di ripristino, Vaultaire non ha alcuna chiave lato server in grado di ripristinare la cassaforte.

Una sequenza è davvero più sicura di una password?

Un modello ben scelto su una griglia 5×5 può eguagliare o superare l'entropia di una password tipica. Il vantaggio è l’usabilità: le persone scelgono password deboli perché quelle forti sono difficili da ricordare. I modelli sfruttano la memoria muscolare, rendendo naturale l'utilizzo di modelli complessi senza memorizzazione cosciente.

Qualcuno può eseguire uno screenshot o registrare la mia sequenza?

Vaultaire applica alla griglia della sequenza una protezione dagli screenshot al meglio delle possibilità e reagisce quando iOS segnala una registrazione dello schermo attiva. iOS non offre un'opzione pubblica per proteggere dalla cattura qualsiasi contenuto dell'app, quindi questi controlli riducono le catture accidentali ma non garantiscono di bloccare ogni metodo di cattura.

Quale algoritmo di crittografia utilizza Vaultaire?

Vaultaire usa PBKDF2-HMAC-SHA512 con 600.000 iterazioni per derivare una chiave della cassaforte dalla sequenza e da un salt del Keychain comune al dispositivo. La chiave della cassaforte cifra l'indice della cassaforte e incapsula una chiave master casuale a 256 bit. AES-256-GCM con la chiave master protegge contenuto dei file, intestazioni, metadati e miniature con cifratura autenticata.

Il disegno è memorizzato sul mio dispositivo?

Vaultaire conserva le informazioni di ripristino, inclusa la sequenza, in un database di ripristino cifrato con AES-GCM e custodito nel Keychain di iOS. La sequenza non viene inviata a Vaultaire né salvata in file in chiaro. Mentre una cassaforte è aperta, i byte delle chiavi sono presenti nel processo dell'app; il blocco scarta lo stato delle chiavi attive di Vaultaire.

Vaultaire può accedere ai miei file crittografati?

Vaultaire non gestisce alcun servizio che riceva la sequenza, la frase di ripristino, le chiavi di decifratura o il contenuto leggibile della cassaforte. I backup iCloud cifrati restano nel tuo database CloudKit privato. Questo limite del fornitore non protegge una cassaforte aperta da build dell'app, sistemi operativi o dispositivi compromessi.

Prova Crittografia a Pattern

Disegna il tuo primo modello e scopri come ci si sente ad avere i tuoi file veramente protetti.

Scarica Vaultaire gratuitamente