Xifratge amb patró: com dibuixar una forma protegeix els teus fitxers
Dibuixes un patró amb el dit. PBKDF2 converteix aquest gest en una clau de caixa forta, que desbloqueja una clau aleatòria independent que protegeix els teus fitxers amb AES-256-GCM. Sense camp de contrasenya ni PIN curt. Només el teu patró i una jerarquia de claus en capes feta a consciència.
Vaultaire serialitza una forma dibuixada en una quadrícula de 5×5 i la processa amb PBKDF2-HMAC-SHA512, 600.000 iteracions i una sal comuna a tot el dispositiu guardada al Clauer d’iOS. El resultat de 256 bits és una clau de caixa forta: xifra l’índex de la caixa forta i desembolcalla la clau mestra aleatòria independent que AES-256-GCM fa servir per al contingut i les metadades dels fitxers.
Què és el xifratge amb patró?
La majoria d’apps de caixa forta s’amaguen darrere d’un PIN o una contrasenya. Escrius quatre dígits i apareixen les teves fotos. Sembla prou segur, oi?
El problema és aquest: un PIN de quatre dígits té exactament 10.000 combinacions possibles. Un ordinador les pot provar totes en menys d’un segon. Sis dígits? Un milió de combinacions. Continua sent trivialment ràpid per al maquinari actual. Fins i tot una contrasenya de vuit caràcters, si només fa servir minúscules, dona uns 200.000 milions de possibilitats. Sembla molt fins que saps que un portàtil normal pot provar milers de milions de hashos de contrasenya per segon.
El xifratge amb patró segueix un enfocament fonamentalment diferent. En lloc d’escriure caràcters en un quadre, dibuixes una forma geomètrica sobre una quadrícula de punts. El recorregut concret que traces (quins punts toques, en quin ordre i amb quina geometria) és l’entrada d’una funció de derivació de claus basada en contrasenya. La interfície no es limita a comprovar el resultat: ha de desbloquejar un índex xifrat i autenticat i la clau mestra aleatòria que conté.
La diferència importa. Quan introdueixes un PIN en algunes apps, l’app només comprova si has escrit el número correcte. Si és així, s’obre, encara que els fitxers potser només estiguin protegits sobretot per control d’accés. Vaultaire, en canvi, passa el patró dibuixat per PBKDF2 per derivar una clau de caixa forta de 256 bits. Aquesta clau ha d’autenticar i desxifrar l’índex de la caixa forta abans de poder desembolcallar la clau mestra aleatòria que s’aplica als fitxers. Un patró no reconegut es mostra com una caixa forta buida, però l’autenticació AES-GCM subjacent continua distingint una clau correcta d’una d’incorrecta.
Una barrera d’accés amb PIN pot ser com una porta tancada davant de fitxers que, per la resta, són llegibles. El patró de Vaultaire s’assembla més a la combinació d’una caixa de cabals: deriva la clau que obre un índex xifrat, que al seu torn allibera la clau independent que protegeix el contingut. La interfície no pot saltar-se sense més aquesta cadena criptogràfica.
Com funciona, pas a pas
Això és el que passa des del moment en què el dit toca la pantalla fins al moment en què els teus fitxers esdevenen illegibles per a tothom més.
Pas 1: dibuixes el patró
Vaultaire mostra una quadrícula de 5×5 punts. Dibuixes un recorregut continu que connecta almenys 6 punts amb almenys un canvi de direcció. L’app registra exactament quins punts has visitat i en quin ordre. Aquesta seqüència és el teu patró.
A diferència de les quadrícules de 3×3 habituals a les pantalles de bloqueig d’Android, Vaultaire fa servir una quadrícula de 5×5. No és una elecció estètica. Vint-i-cinc posicions permeten molts més recorreguts, encreuaments, salts i canvis de direcció que nou. L’espai teòric més gran ajuda, però la seguretat real continua depenent de com d’imprevisible sigui el recorregut que tries. Una lletra coneguda o una forma senzilla continua sent fàcil d’endevinar encara que la quadrícula pugui expressar milers de milions d’alternatives.
Pas 2: el patró deriva una clau de caixa forta
El patró dibuixat es serialitza amb la mida de la quadrícula i es passa a PBKDF2 (Password-Based Key Derivation Function 2) amb HMAC-SHA512, 600.000 iteracions i una sal aleatòria comuna a tot el dispositiu. La sal és un valor no secret guardat al Clauer d’iOS com a element WhenUnlockedThisDeviceOnly. Lliga la derivació local al dispositiu; no és única per a cada caixa forta i no afegeix entropia a un patró triat per una persona.
La derivació de claus és costosa a propòsit. PBKDF2 executa 600.000 iteracions d’HMAC-SHA512 per a cada patró candidat, i això encareix un atac per endevinació. No converteix un patró de poca entropia en 256 bits de seguretat, i el temps d’atac depèn del maquinari de l’atacant. El seu objectiu és més concret i mesurable: fer que cada intent sigui molt més car que un hash simple.
Pas 3: els teus fitxers es xifren
Quan es crea la caixa forta, Vaultaire genera una clau mestra aleatòria de 256 bits. La clau de caixa forta derivada del patró xifra l’índex i embolcalla aquesta clau mestra; no xifra directament cada fitxer. La clau mestra s’usa amb AES-256-GCM per a les capçaleres, el contingut, les miniatures i les metadades relacionades dels fitxers. Els nonces nous garanteixen que un mateix text pla no produeixi el mateix text xifrat amb la mateixa clau.
El mode GCM afegeix una capa important: l’autenticació. No es limita a desordenar les dades; també genera una etiqueta que detecta qualsevol manipulació. Si es modifica un sol bit del fitxer xifrat, el desxifratge falla. Ningú no pot manipular els teus fitxers sense que te n’assabentis.
Pas 4: s’esborra l’estat actiu de les claus
Quan Vaultaire es bloqueja, esborra l’estat actiu de la clau de la caixa forta i de la clau mestra, i exigeix un nou desbloqueig abans de tornar a mostrar els fitxers. Mentre la caixa forta és oberta, aquests bytes de clau simètrica han d’existir al procés de l’app perquè CryptoKit pugui fer les operacions AES-GCM. Vaultaire també guarda informació de recuperació, inclosos el patró i el sobre de recuperació xifrat amb la frase, dins d’una base de dades xifrada amb AES-GCM al Clauer d’iOS. Això és ben diferent d’afirmar que el patró i totes les còpies de les claus no es guarden enlloc.
Les matemàtiques que hi ha al darrere (en paraules planeres)
No cal cap títol d’informàtica per entendre per què funciona. La seguretat es redueix a tres xifres: quants patrons són possibles, quant triga cada intent i quants intents pot fer un atacant.
Entropia: la mesura de la imprevisibilitat
Entropia és una paraula elegant per dir “com de difícil és d’endevinar”. Llançar una moneda té 1 bit d’entropia (dos resultats). Un PIN de quatre dígits té uns 13 bits d’entropia (10.000 resultats). Un patró ben triat en una quadrícula de 5×5 que connecti 8 punts o més pot superar els 30 bits d’entropia, és a dir, més de mil milions de patrons possibles.
L’entropia del patró fixa el límit d’un atac per endevinació. PBKDF2 no pot crear l’entropia que el gest no té, però pot fer que provar cada candidat sigui molt més car.
Derivació de claus: encarir cada intent
PBKDF2 agafa el patró serialitzat i executa 600.000 rondes d’HMAC-SHA512. Les estimacions d’atac han de fer servir un cost mesurat al maquinari que fa els intents: a exactament un mil·lisegon per candidat complet, mil milions de candidats trigarien un milió de segons, uns 11,6 dies, en un sol procés. Un cost mesurat més lent per candidat allarga aquest temps; el maquinari en paral·lel l’escurça. La longitud de sortida de 256 bits no canvia la mida de l’espai de cerca de patrons.
La sal comuna a tot el dispositiu es guarda al Clauer i no està pensada per ser secreta. El Clauer i la Protecció de dades d’iOS poden dificultar-ne l’extracció si es confisca el dispositiu, però l’anàlisi criptogràfica ha de suposar que qui obtingui els fitxers xifrats també pot obtenir la sal. La sal impedeix el càlcul previ entre dispositius; no substitueix un patró fort.
AES-256: un estàndard públic i ben estudiat
AES-256 és un xifratge fort i estàndard, publicat pel NIST com a FIPS 197. El “256” és la longitud de la clau en bits. Una clau de 256 bits té 2256 valors possibles, massa per provar-los per força bruta. Per això un atacant ataca el patró, i per això Vaultaire l’allarga amb 600.000 iteracions de PBKDF2.
La seguretat d’AES-256 no depèn de mantenir secret l’algorisme. Però l’espai de claus d’AES no protegeix tot sol el sistema complet: el límit pràctic per endevinar surt de l’entropia del patró, del factor de treball de PBKDF2 i de la protecció de la sal del dispositiu i de l’emmagatzematge xifrat. AES-256-GCM ofereix un xifratge autenticat fort un cop s’ha desbloquejat la clau mestra aleatòria correcta.
Què hauria de superar un atac
Vegem les maneres principals com algú podria intentar accedir als teus fitxers xifrats, què fa Vaultaire per encarir-ho i on hi ha els límits.
Força bruta: provar tots els patrons
PBKDF2 fa que cada patró candidat pagui 600.000 iteracions d’HMAC-SHA512. És una defensa important, però no promet un nombre fix d’anys: el resultat depèn del patró triat, de la velocitat de derivació mesurada, del paral·lelisme i de si l’examinador ha recuperat la sal del dispositiu. Els recorreguts més llargs i menys previsibles importen perquè PBKDF2 encareix els intents, però no crea entropia nova.
Atacs per marques: llegir la pantalla
En una quadrícula de 3×3, les marques dels dits a la pantalla poden reduir molt els patrons possibles. En una de 5×5, les marques revelen quins punts s’han tocat, però no l’ordre, la direcció ni les connexions entre ells. L’explosió combinatòria fa que aquest mètode no sigui pràctic.
Mirar per sobre l’espatlla: veure com dibuixes
Els patrons dibuixats de pressa en una pantalla petita de telèfon són molt difícils de memoritzar només mirant, sobretot en una quadrícula de 5×5. La recerca mostra que als observadors els costa molt més reproduir patrons complexos que no pas un PIN o una contrasenya que senten dir en veu alta.
Confiscació del dispositiu: prendre’t el telèfon
Si algú et pren el telèfon, el contingut dels fitxers i els índexs de Vaultaire continuen sent text xifrat AES-GCM fins que hi hagi les claus necessàries. L’app no guarda cap registre verificador de contrasenya convencional, però això no elimina la verificació fora de línia. El nom de fitxer de cada índex xifrat de caixa forta conté un hash truncat de la clau de la caixa forta, i el desxifratge autenticat AES-GCM també encerta o falla per a cada clau candidata. Per tant, la protecció del dispositiu i la robustesa del patró continuen formant part del model d’amenaces.
No cal cap hash de contrasenya separat per provar un intent contra text xifrat autenticat. Les etiquetes AES-GCM de Vaultaire donen un resultat d’encert o error molt fiable, i el nom de fitxer de l’índex permet una comprovació prèvia més barata. La defensa és el cost i la imprevisibilitat de la credencial, més la protecció d’iOS del material local, no l’absència d’un oracle de verificació.
Com triar un patró fort
El xifratge només és tan fort com el patró que tries. Així pots maximitzar la seguretat amb un esforç mínim.
Què fa que un patró sigui fort
- Fes servir més punts. Connecta almenys 8 dels 25 punts disponibles. Cada punt addicional multiplica el nombre de patrons possibles.
- Creua el teu propi recorregut. Els patrons que tornen enrere, se salten punts o canvien de direcció de manera inesperada són molt més difícils de reproduir de memòria o per observació.
- Evita les formes òbvies. Les lletres (L, Z, S), les formes geomètriques senzilles (quadrats, triangles) i les línies rectes són el primer que provaria un atacant.
- Fes servir tota la quadrícula. Els patrons que es queden en un racó o al llarg d’una vora malbaraten l’entropia disponible. Estén-te.
Què cal evitar
- Patrons de longitud mínima. Vaultaire exigeix almenys 6 punts i un canvi de direcció, però complir el mínim no fa imprevisible un recorregut. Fes servir més part de la quadrícula i canvia de direcció diverses vegades si pots recordar el resultat amb seguretat.
- Formes geomètriques senzilles. Una L, una ziga-zaga o una diagonal recta són l’equivalent en patró de “password123”.
- Començar sempre des del mateix racó. La recerca sobre patrons de bloqueig d’Android mostra que la majoria de gent comença pel punt de dalt a l’esquerra. Els atacants ho saben.
El punt òptim
Un patró que connecti de 8 a 12 punts amb diversos canvis de direcció és més difícil d’endevinar i continua sent fàcil de recordar gràcies a la memòria muscular. No cal que el memoritzis com una contrasenya: la mà recorda el moviment, igual que recorda com fer la teva signatura.
Per què et pots sentir segur
El xifratge amb patró de Vaultaire no és només un teclat de PIN més bonic. Una funció real de derivació de claus processa el gest, que ha de desbloquejar dades xifrades i autenticades. La seva força continua depenent del gest que triïs, per això Vaultaire combina la quadrícula més gran amb un factor de treball alt de PBKDF2 en lloc de presentar la longitud de sortida de 256 bits com si fossin 256 bits d’entropia secreta humana.
El teu patró i la clau local de la caixa forta no s’envien a Vaultaire. Mentre la còpia de seguretat està activada, que és l’opció per defecte, una clau de còpia independent derivada del patró xifra els registres de CloudKit, i un manifest de recuperació xifrat permet que la frase de recuperació restauri la clau de la caixa forta i la clau de còpia. Vaultaire no té cap clau de proveïdor que desxifri aquests registres, però el dispositiu i les credencials de recuperació continuen sent parts crítiques del disseny per a la seguretat.
Dibuixes una forma. Aquesta forma protegeix els teus fitxers. Les matemàtiques fan la resta.
Preguntes freqüents
Què passa si oblido el patró?
Quan crees una caixa forta, Vaultaire genera una oració de recuperació pròpia de nou paraules. PBKDF2 deriva d’aquesta oració una clau de recuperació, que obre un sobre xifrat amb la clau de la caixa forta. Si perds el patró i la frase de recuperació, Vaultaire no té cap clau al servidor que pugui restaurar la caixa forta.
Un patró és realment més segur que una contrasenya?
Un patró ben triat en una quadrícula de 5×5 pot igualar o superar l’entropia d’una contrasenya típica. L’avantatge és la facilitat d’ús: la gent tria contrasenyes febles perquè les fortes costen de recordar. Els patrons aprofiten la memòria muscular, i això fa natural usar-ne un de complex sense memoritzar-lo conscientment.
Algú pot fer una captura o gravar el meu patró?
Vaultaire aplica a la quadrícula del patró una protecció contra captures de pantalla en la mesura del possible i reacciona quan iOS informa d’una captura de pantalla activa. iOS no ofereix cap indicador públic de pantalla segura per a contingut arbitrari d’apps, així que aquests controls redueixen les captures accidentals però no poden garantir que es bloquegi qualsevol mètode de captura.
Quin algorisme de xifratge fa servir Vaultaire?
Vaultaire fa servir PBKDF2-HMAC-SHA512 amb 600.000 iteracions per derivar una clau de caixa forta a partir del patró i d’una sal del Clauer comuna a tot el dispositiu. Aquesta clau xifra l’índex de la caixa forta i embolcalla una clau mestra aleatòria de 256 bits. AES-256-GCM amb la clau mestra protegeix el contingut dels fitxers, les capçaleres, les metadades i les miniatures amb xifratge autenticat.
El patró es guarda al meu dispositiu?
Vaultaire guarda la informació de recuperació, inclòs el patró, dins d’una base de dades de recuperació xifrada amb AES-GCM al Clauer d’iOS. El patró no s’envia a Vaultaire ni es guarda en fitxers de text pla. Mentre una caixa forta és oberta, els bytes de les claus existeixen al procés de l’app; en bloquejar-la, Vaultaire descarta l’estat actiu de les claus.
Vaultaire pot accedir als meus fitxers xifrats?
Vaultaire no gestiona cap servei que rebi el teu patró, la frase de recuperació, les claus de desxifratge o el contingut llegible de la caixa forta. Les còpies de seguretat xifrades a iCloud es queden a la teva base de dades privada de CloudKit. Aquest límit del proveïdor no protegeix una caixa forta oberta d’una versió de l’app, un sistema operatiu o un dispositiu compromesos.
Prova el xifratge amb patró
Dibuixa el teu primer patró i comprova què se sent quan els teus fitxers estan protegits de debò.
Descarrega Vaultaire gratis