La protecció comença abans de la pujada
Les caixes fortes natives funcionen en local sense compte de Revault. El contingut dels fitxers, els noms de fitxer, els tipus MIME, les miniatures, els noms de les caixes fortes, les carpetes, les etiquetes i els preferits es xifren al dispositiu. L'ús local no puja fitxers de la caixa forta a Revault. La sincronització nativa al núvol i la compartició són operacions opcionals i independents.
El model pressuposa un sistema operatiu, una aplicació instal·lada i una font aleatòria criptogràfica de confiança quan es crea o es desbloqueja una caixa forta. Qui només tingui fitxers xifrats i embolcalls de claus no els pot desxifrar sense el codi secret necessari. El programari maliciós o una aplicació compromesa que s'executi mentre una caixa forta és oberta poden capturar text en clar i claus.
Claus independents per a cada caixa forta
Cada caixa forta comença amb una clau mestra AES de 256 bits aleatòria, generada amb la font aleatòria criptogràfica del sistema operatiu. El gest no determina directament aquesta clau. Cada caixa forta té material de clau mestra independent, de manera que la divulgació d'una clau de caixa forta no en deriva cap altra.
Un patró de dispositiu combina la seqüència ordenada de punts amb un codi secret aleatori del dispositiu de 256 bits. L'entrada resultant es normalitza amb NFKC i es passa a PBKDF2-HMAC-SHA-256 amb una sal nova de 128 bits i 600.000 iteracions. La clau derivada de 256 bits embolcalla la clau mestra amb AES-256-GCM. L'aplicació no desa un patró en text pla ni una empremta de patró independent.
Els patrons utilitzen una quadrícula de 5 × 5 amb entre sis i 25 punts diferents i han de ser únics entre les caixes fortes registrades al mateix dispositiu. Un patró coincident només obre la seva caixa forta; els noms i continguts de les altres caixes fortes continuen amagats. Els gestos previsibles continuen sent més fàcils d'endevinar. Una persona que obtingui un codi secret del dispositiu i el seu embolcall xifrat pot intentar endevinar el patró sense connexió.
Obrir una caixa forta nativa requereix el seu patró local o un flux de recuperació explícit, no un compte de Revault ni una clau d'accés (passkey). La sincronització opcional al núvol utilitza l'autorització d'Apple o de Google de la plataforma, i les compres a les botigues utilitzen el compte de facturació de la plataforma. Ni l'autorització del núvol ni una compra proporcionen una clau de desxifratge de la caixa forta.
| Finalitat | Construcció |
|---|---|
| Clau mestra de la caixa forta | Clau AES aleatòria de 256 bits |
| Embolcall de claus | PBKDF2-HMAC-SHA-256 · 600.000 iteracions · sal de 128 bits → AES-256-GCM |
| Metadades i miniatures | AES-256-GCM · nonce aleatori de 96 bits · etiqueta d'autenticació de 128 bits |
| Derivació de la clau de fitxer | HKDF-SHA-256 · sal aleatòria de 256 bits per fitxer · sortida AES de 256 bits |
| Secret de recuperació | Generada: 18 paraules aleatòries (198 bits); personalitzada: almenys 6 paraules diferents i entre 32 i 512 caràcters |
Protecció de claus només al dispositiu
A iOS, el bloqueig del dispositiu es desa com a element del Keychain que no se sincronitza, amb la protecció WhenUnlockedThisDeviceOnly. Només és accessible mentre el dispositiu està desbloquejat i no migra mitjançant la sincronització del Keychain. El codi secret desat no és una clau de Secure Enclave.
A Android, el bloqueig del dispositiu es xifra amb AES-256-GCM sota una clau no exportable de l'Android Keystore que requereix un dispositiu desbloquejat. El fitxer de bloqueig xifrat es troba al directori no-backup de l'aplicació. El suport per maquinari del Keystore depèn del dispositiu; l'aplicació no promet que tots els dispositius utilitzin claus amb suport per maquinari.
Els codis secrets de desbloqueig local s'exclouen de la sincronització nativa al núvol i de les còpies de seguretat portàtils de la caixa forta. Tenir un compte d'Apple o de Google no recrea aquests codis secrets ni desbloqueja automàticament una caixa forta restaurada. Un dispositiu nou ha de verificar el codi secret de recuperació independent i registrar el seu propi patró.
Confidencialitat i detecció de manipulacions
Les metadades de la caixa forta, les metadades dels fitxers, les miniatures i les claus embolcallades utilitzen AES-256-GCM amb etiquetes d'autenticació de 128 bits. Cada xifratge independent utilitza un nonce aleatori nou de 96 bits. El desxifratge verifica l'etiqueta abans de retornar el text en clar; un text xifrat modificat o una clau incorrecta fan fallar l'autenticació.
Les dades addicionals autenticades vinculen cada objecte xifrat a la versió del format, l'identificador de la caixa forta, l'identificador de l'objecte i la finalitat. Per exemple, una miniatura i un registre de metadades de fitxer utilitzen contextos diferents. Moure un objecte xifrat a una altra caixa forta o substituir-lo per un altre objecte canvia el context autenticat i falla la verificació.
El context autenticat no amaga els identificadors ni demostra la frescor. Un registre antic vàlid pot tenir una etiqueta vàlida. Les comprovacions de revisió de l'aplicació detecten actualitzacions simultànies ordinàries, però això no és una defensa criptogràfica contra un servei maliciós que reprodueixi un estat antic complet.
Els fitxers grans utilitzen segments autenticats
El xifratge natiu de fitxers utilitza la construcció de streaming AES-256-GCM-HKDF-SHA-256 descrita per Tink. iOS utilitza CryptoKit per a AES-GCM i HKDF; Android utilitza les primitives criptogràfiques de la plataforma. Cada flux nou té una capçalera de 40 bytes que conté el seu marcador de longitud, una sal aleatòria de 32 bytes i un prefix de nonce aleatori de set bytes.
HKDF deriva una clau de xifratge de fitxer independent de la clau mestra de la caixa forta. El seu context inclou els identificadors de la caixa forta i del fitxer, la longitud en bytes del text en clar i la mida de segment configurada. El nonce de 12 bytes de cada segment combina el prefix aleatori, un comptador de segment de quatre bytes i un indicador de segment final. Els segments porten etiquetes GCM de 128 bits.
Les aplicacions natives processen els fitxers en segments acotats d'aproximadament 5 MiB. Els comptadors de segment, l'indicador de l'últim segment i les longituds de bytes esperades detecten segments alterats, reordenats o truncats. Cada segment s'autentica abans d'utilitzar-se, i una vista prèvia privada només es publica quan el seu fitxer acaba de desxifrar-se. La sortida incompleta es descarta en cas d'error; els reintents transfereixen els bytes xifrats existents.
La construcció segueix l' especificació de streaming Tink AES-GCM-HKDF. La implementació de Revault i la configuració dels segments no han estat auditades ni certificades de manera independent per Tink.
Emmagatzematge privat, importacions i vistes prèvies
Els fitxers xifrats de la caixa forta es troben a l'emmagatzematge privat de l'aplicació. Els noms de fitxer, els tipus MIME, les carpetes, les etiquetes, els preferits i les miniatures són registres xifrats autenticats. La cerca i el filtratge per etiquetes funcionen amb les metadades desxifrades de la caixa forta activa després del desbloqueig; no hi ha cap índex de cerca en text pla al servidor.
Les importacions de fotos, vídeos i fitxers poden utilitzar una àrea intermèdia temporal privada abans del xifratge. La captura amb la càmera dins de la caixa forta no desa automàticament una còpia a la galeria. Importar des de Fotos o d'un altre proveïdor deixa intacte l'original d'aquell proveïdor. L'optimització opcional del contingut multimèdia es fa localment abans del xifratge i només canvia el contingut importat de nou.
Les vistes prèvies privades requereixen text en clar temporal mentre estan obertes. Les aplicacions eliminen les vistes prèvies temporals en tancar, en bloquejar i en l'inici posterior; iOS aplica protecció completa de fitxers als fitxers de vista prèvia desxifrats. Els fitxers exportats explícitament a una altra aplicació surten de la protecció de la caixa forta. Eliminar fitxers temporals no és una garantia d'esborrat forense.
Sincronització nativa opcional al núvol
La sincronització està desactivada de manera predeterminada i s'activa per separat per a cada caixa forta a cada dispositiu. iOS desa registres xifrats i segments de fitxers a la base de dades privada de CloudKit de l'usuari a iCloud. Android utilitza l'appDataFolder privat de Google Drive. Cap dels dos transports requereix un compte de Revault ni puja dades de sincronització nativa al núvol web de Revault.
El núvol rep metadades xifrades, segments de fitxers i embolcalls de claus, no una clau mestra de caixa forta en text pla, el codi secret local del dispositiu ni el codi secret de recuperació. Un altre dispositiu de la mateixa plataforma necessita el mateix compte nadiu del núvol i la clau de recuperació de la caixa forta per registrar el seu propi patró local. L'autorització d'Apple i de Google controla l'accés als registres xifrats, no pas el seu desxifratge.
Desactivar la sincronització atura més transferències d'aquella caixa forta des del dispositiu actual; les còpies xifrades existents al núvol es conserven. La sincronització pot propagar canvis i eliminacions, i les edicions simultànies poden requerir una revisió de conflictes. iCloud i Google Drive són emmagatzematges independents, sense cap pont automàtic entre plataformes. Fes servir una transferència xifrada entre telèfons per passar entre iPhone i Android.
La recuperació és un segon camí cap a la mateixa clau
Les frases de recuperació generades contenen 18 paraules triades de manera independent d'una llista inclosa de 2.048 paraules, cosa que aporta 198 bits d'aleatorietat. En lloc d'això, pots triar una frase personalitzada amb almenys sis paraules diferents i entre 32 i 512 caràcters; la seva seguretat depèn de les teves decisions. Totes dues deriven de manera independent una clau d'envolcall amb PBKDF2-HMAC-SHA-256 i una sal nova, i després envolten la mateixa clau mestra de la caixa forta amb AES-256-GCM. Qualsevol persona que tingui la frase i la caixa forta xifrada la pot desxifrar.
El codi secret de recuperació es mostra durant la configuració i no es manté a l'emmagatzematge de l'aplicació nativa ni es puja a l'emmagatzematge nadiu al núvol. Conserva'l per separat dels fitxers xifrats. Registrar un altre dispositiu requereix la caixa forta xifrada del compte nadiu original del núvol, o una còpia de seguretat xifrada, més la clau de recuperació. Un codi secret no pot restaurar dades de fitxers que falten, i Revault no té cap clau de restabliment en poder del proveïdor.
Una còpia de seguretat .qvault portàtil conté embolcalls de claus xifrats, un inventari xifrat autenticat i segments de fitxers xifrats. Exclou el codi secret de desbloqueig local del dispositiu. La importació verifica l'inventari, les metadades i cada segment abans de restaurar en una caixa forta amb identificadors, clau mestra i claus de fitxer nous i un nou patró de dispositiu. Desa la nova clau de recuperació després de la restauració.
Les frases de recuperació noves conserven les majúscules i minúscules, normalitzen l'Unicode amb NFKC i redueixen els espais en blanc addicionals. Les claus hexadecimals heretades continuen sent compatibles. Pots substituir la frase de recuperació d'una caixa forta a la seva configuració després de desar la frase nova. Això substitueix l'envolcall de recuperació actual; les còpies de seguretat antigues i els dispositius que no s'han sincronitzat poden conservar l'envolcall antic. Canviar un patró de desbloqueig o una frase de recuperació no rota la clau mestra de la caixa forta ni revoca còpies. Si el material de la clau queda compromès, passa els fitxers a una caixa forta nova amb claus noves.
Migració xifrada d'un telèfon a un altre
La transferència entre telèfons crea una còpia xifrada portàtil amb identificadors de caixa forta, clau mestra, claus de fitxer i capçaleres de flux nous. El seu codi secret de transferència independent no pot desbloquejar la caixa forta d'origen, i no s'hi inclouen el codi secret de recuperació d'origen ni el codi secret de desbloqueig del dispositiu. El paquet xifrat i el codi secret de transferència s'han de lliurar per separat.
L'aplicació receptora autentica el paquet i els seus segments de fitxers i després restaura en una caixa forta nova amb un nou patró local i una nova clau de recuperació. Funciona entre iOS i Android sense fer de pont entre els comptes del núvol. L'original es queda al dispositiu antic; confirma el contingut restaurat i desa la nova clau de recuperació abans d'eliminar-lo.
Bloqueig i neteja de la sessió
Les aplicacions mòbils es bloquegen immediatament quan passen a segon pla i, de manera predeterminada, després de 60 segons d'inactivitat. Cada caixa forta pot seleccionar 30 segons, 1 minut, 2 minuts, 5 minuts o 10 minuts. Una caixa forta compartida utilitza el valor predeterminat de 60 segons. Sortir torna a la pantalla del patró i acaba la sessió desxifrada.
El bloqueig cancel·la el treball de la sessió, esborra les metadades desxifrades i l'estat de la cerca, tanca les vistes prèvies, elimina els fitxers temporals i sobreescriu els búfers de claus propis abans d'alliberar-los. Les claus de derivació temporals també s'esborren després de l'ús. La gestió de memòria de Swift i de la JVM, les biblioteques criptogràfiques i els descodificadors multimèdia poden crear còpies; no es pot garantir l'esborrat immediat de totes les còpies.
iOS cobreix les instantànies del selector d'aplicacions amb un escut de privadesa. Android utilitza l'indicador de finestra segura per restringir les captures de pantalla i les vistes prèvies d'aplicacions recents. Aquestes proteccions de la plataforma no impedeixen que algú fotografiï una pantalla desbloquejada, i no retiren els fitxers exportats prèviament a una altra aplicació.
Revault Cloud
Revault Cloud és un proveïdor d'emmagatzematge Pro opcional per a la sincronització entre plataformes. Els segments xifrats i les metadades xifrades dels fitxers s'associen a una instal·lació de facturació pseudònima. El servei pot observar identificadors d'emmagatzematge, mides, sumes de verificació, revisions i activitat de transferència, però no rep cap clau de caixa forta desbloquejada ni cap frase de recuperació. Un codi de connexió aleatori independent autoritza l'accés a l'emmagatzematge; connectar un altre dispositiu requereix també la frase de recuperació. Les dades existents al núvol continuen sent llegibles per a la recuperació un cop caduca Pro.
Transports de compartició nativa i controls d'accés
A iOS, una invitació privada de CloudKit, de només lectura, col·loca la instantània xifrada en una jerarquia de registres de compartició independent, fora de la zona de sincronització personal. Apple controla l'accés a la invitació; el destinatari continua necessitant el codi secret de desxifratge independent. Les invitacions de CloudKit no apliquen el recompte de sessions d'accés, la caducitat fixa ni el temporitzador de destrucció del servidor. El propietari pot aturar l'accés futur a CloudKit.
Les comparticions multiplataforma pugen parts xifrades al servei de compartició de Revault. Les capacitats independents de lectura i de gestió, aleatòries de 256 bits, es desen com a hashes SHA-256. L'enllaç del lloc web porta la capacitat de lectura al seu fragment, no el codi secret de desxifratge. En obrir-lo, es dirigeix per enllaç profund a una caixa forta compartida i demana el codi secret del remitent; no cal cap patró personal ni cap caixa forta existent. Les caixes fortes personals continuen bloquejades.
Les comparticions controlades per servidor apliquen el nombre màxim de sessions d'accés del remitent, la caducitat fixa dins de 30 dies, la revocació i el permís d'exportació opcional. Una sessió es concedeix de manera atòmica i dura com a màxim 15 minuts, limitada per les dates límit de la compartició. Un accés es compta quan es concedeix la sessió, encara que la baixada o el desxifratge fallin. El visor comprova l'accés en curs i es tanca a la data límit.
Les sumes de verificació SHA-256 comproven les parts transferides, mentre que el xifratge autenticat en verifica el contingut. Quan l'exportació està permesa, qui ho visualitza pot desar una còpia .qvault xifrada que s'obre amb el codi secret de la compartició. Desactivar l'exportació elimina aquesta acció de l'aplicació, però no pot impedir criptogràficament les captures de pantalla ni que un client modificat conservi el text en clar. Eliminar un fitxer d'origen no revoca una compartició creada de manera independent.
Activitat opcional de la caixa forta
Els registres d'auditoria natius estan desactivats per defecte i es configuren per caixa forta en cada dispositiu. Els últims 500 esdeveniments locals es xifren amb la clau mestra de la caixa forta i un context autenticat dedicat. Exclouen claus, patrons, contingut de fitxers i dades d'altres caixes fortes, no se sincronitzen i es poden esborrar o desactivar. No són una prova a prova de manipulacions. Els desbloquejos fallits no s'assignen a cap caixa forta.
Les noves comparticions controlades creades amb el registre activat conserven fins a 100 marques de temps de sessió d'accés al servei de compartició. Només la capacitat de gestió les pot recuperar; el registre no conté cap identitat del destinatari ni cap secret de desxifratge. Desactivar el registre local afecta les comparticions futures. Els registres de comparticions existents conserven la configuració original fins a la revocació o la caducitat i la neteja.
Fotos d'intrusió xifrades opcionals
Els propietaris poden activar Alertes d'intrusió per separat per a cada caixa forta en cada dispositiu. Després de tres patrons incorrectes, l'aplicació en primer pla pot capturar una foto amb la càmera frontal, segons el permís, la disponibilitat de la càmera i un temps d'espera d'un minut. Els indicadors de càmera del sistema continuen visibles. Les últimes deu alertes es desen localment i mai no s'afegeixen a Fotos ni es pugen. Un patró incorrecte no identifica la caixa forta objectiu, de manera que cada caixa forta que ho hagi activat rep un registre d'intent de dispositiu xifrat per separat.
Una clau pública RSA-3072 dedicada embolcalla una clau AES-GCM de 256 bits nova per a cada alerta mitjançant OAEP amb SHA-256 i MGF1-SHA-256. Això permet xifrar mentre la caixa forta està bloquejada. La clau privada corresponent es xifra amb la clau mestra d'aquesta caixa forta amb un context autenticat dedicat. Només desbloquejar aquesta caixa forta en pot desxifrar les fotos. Les alertes apareixen a la seva vista d'auditoria independentment del registre d'activitat ordinari i es poden esborrar a la configuració d'Alertes d'intrusió. No són una prova a prova de manipulacions.
Sortida segura elimina l'accés local
Es pot designar una caixa forta d'un dispositiu per a la Sortida segura. Quan s'introdueix el seu patró de desbloqueig, s'obre amb normalitat i alhora s'eliminen els registres de les altres caixes fortes locals, els fragments xifrats, el material de desbloqueig del dispositiu i els canvis en cua. L'aplicació manté una llista local permanent d'elements permesos perquè la sincronització no pugui tornar a omplir en silenci les caixes fortes excloses. És possible que les transferències xifrades que ja estaven en curs s'acabin.
Les còpies al núvol natiu i les còpies en altres dispositius es mantenen. La recuperació explícita requereix la clau de recuperació de la caixa forta exclosa abans de registrar un patró local nou. Una caixa forta només fora de línia i sense una còpia de seguretat independent es pot perdre. Aquesta opció s'aplica a la instal·lació actual, no a tots els dispositius que facin servir el mateix compte al núvol.
La Sortida segura no garanteix ni l'esborrat forense ni l'ocultació. L'emmagatzematge flaix, les memòries cau del sistema operatiu, les còpies de seguretat i les exportacions anteriors poden conservar-ne rastres. Eliminar les dades de l'aplicació o reinstal·lar-la pot suprimir el límit d'aïllament local; llavors els registres del núvol es podrien tornar a descobrir mitjançant el compte al núvol natiu. Només el secret de recuperació pot desbloquejar aquests registres.
El que continua visible
El xifratge amaga el contingut, no tota la informació operativa. Els registres locals i els proveïdors de núvol poden observar identificadors, relacions entre registres, nombre d'objectes, mides, revisions, marques de temps, envolcalls de claus xifrats i capçaleres de flux. Els identificadors fan servir UUIDv7 i inclouen informació sobre el moment de creació; no són secrets. Apple o Google poden associar l'activitat de sincronització nativa al compte de la plataforma.
El servei de compartició controlada de Revault pot observar les mides dels paquets xifrats, les sumes de verificació de les parts, la configuració de caducitat, el nombre de sessions d'accés i, opcionalment, les marques de temps de les sessions, però no el codi de desxifratge que es lliura per separat. La compartició de CloudKit exposa a Apple la informació de les invitacions i dels participants. Els registres de xarxa i operatius poden exposar informació de la connexió. Revault no ofereix anonimat ni resistència a l'anàlisi de trànsit.
HTTPS protegeix les sol·licituds de xarxa en trànsit. El xifratge autenticat al dispositiu protegeix per separat el contingut de la caixa forta emmagatzemat localment i al núvol. Ni el xifratge del transport ni el text xifrat amaguen tots els fets sobre quan, on o quantes dades es transfereixen.
Analítiques d'ús
Activades per defecte. Mixpanel rep esdeveniments d'ús de funcions amb un identificador d'analítica aleatori. Els continguts de les caixes fortes, els noms, els patrons de desbloqueig, les claus i els codis secrets de compartició queden exclosos. Pots desactivar les analítiques en qualsevol moment per a aquest navegador o dispositiu.
On acaba la protecció
Una caixa forta desbloquejada exposa necessàriament informació desxifrada a la sessió de l'aplicació. Programari maliciós, un sistema operatiu o una aplicació compromesos, algú que miri la pantalla o un destinatari de poca confiança poden capturar-la. L'emmagatzematge de claus només al dispositiu és un límit addicional, no una garantia davant d'un dispositiu totalment compromès. Un patró previsible deixa de ser segur quan el seu secret local queda compromès.
El xifratge no evita l'eliminació al núvol, el programari de segrest, la pèrdua d'un secret de recuperació, que un proveïdor retingui registres ni la reversió a un estat xifrat anterior però vàlid. Conserva còpies de seguretat xifrades independents i comprova la recuperació abans de retirar un dispositiu antic. La revocació no pot recuperar captures de pantalla, exportacions ni còpies que ja conservi una altra persona.
Revault no ha passat cap auditoria de seguretat independent. Són descripcions del disseny criptogràfic implementat, no una certificació ni una garantia contra qualsevol intrusió.
Referències criptogràfiques
NIST SP 800-38D — xifratge autenticat GCMRFC 8018 — PBKDF2RFC 5869 — HKDFCaixes fortes existents al navegador
Aquesta referència descriu les aplicacions natives. Les caixes fortes existents del navegador tenen un model de compte, d'emmagatzematge al dispositiu i de núvol web independent. Les càrregues S3 específiques del navegador i els enllaços per compartir del navegador no són sincronització al núvol natiu. El compte del navegador no et connecta a les aplicacions mòbils; fes servir una còpia de seguretat xifrada i la seva clau de recuperació per passar les dades existents del navegador a una caixa forta nativa.