Mønsterkryptering: Sådan beskytter en tegnet form dine filer

Du tegner et mønster med fingeren. PBKDF2 gør den bevægelse til en boksnøgle, som låser op for en separat tilfældig nøgle, der beskytter dine filer med AES-256-GCM. Intet adgangskodefelt, ingen kort pinkode. Bare dit mønster og et bevidst lagdelt nøglehierarki.

Vaultaire serialiserer en form tegnet på et 5×5-gitter og behandler den med PBKDF2-HMAC-SHA512, 600.000 iterationer og et enhedsdækkende salt i iOS Keychain. 256-bit-resultatet er en boksnøgle: den krypterer boksindekset og udpakker den separate tilfældige hovednøgle, der AES-256-GCM bruger til filindhold og metadata.

Hvad er mønsterkryptering?

De fleste arkivapps gemmer sig bag en PIN eller adgangskode. Du indtaster fire cifre og fotos vises. Det lyder sikkert, ikke?

Her er problemet: en firecifret PIN har præcis 10.000 mulige kombinationer. En computer kan prøve dem alle på under et sekund. Seks cifre? En million kombinationer, stadig trivielt hurtigt for moderne hardware. Selv en otte-tegns adgangskode der kun bruger små bogstaver tilbyder ca. 200 milliarder muligheder. Det lyder som meget, men en standard laptop kan teste milliarder af adgangskodehashes i sekundet.

Mønsterkryptering går helt anderledes til værks. I stedet for at skrive tegn i en boks, tegner du en geometrisk form hen over et gitter af prikker. Den præcise sti, du tegner - hvilke prikker du rører ved, i hvilken rækkefølge, med hvilken geometri - bliver input til en adgangskodebaseret nøgleafledningsfunktion. Resultatet kontrolleres ikke blot af grænsefladen: det skal låse op for et autentificeret krypteret indeks og den tilfældige hovednøgle inde i det.

Forskellen har betydning. Når du indtaster en pinkode i nogle apps, tjekker appen kun, om du har indtastet det rigtige nummer. Hvis du gjorde det, åbnes den, selvom filerne måske primært er beskyttet af adgangskontrol. Vaultaire sender i stedet det tegnede mønster gennem PBKDF2 for at udlede en 256-bit boksnøgle. Denne nøgle skal godkende og dekryptere boksindekset, før den kan udpakke den tilfældige hovednøgle, der bruges på filerne. Et ikke-genkendt mønster præsenteres som en tom boks, men den underliggende AES-GCM-godkendelse adskiller stadig en korrekt nøgle fra en forkert.

Den afgørende forskel

En PIN-baseret adgangsport kan være som en låst dør placeret foran ellers læsbare filer. Vaultaires mønster er tættere på kombinationen på et pengeskab: det udleder nøglen, der åbner et krypteret indeks, som igen frigiver den separate nøgle, der beskytter indholdet. Grænsefladen kan ikke bare omgå den kryptografiske kæde.

Sådan fungerer det trin for trin

Her er, hvad der sker fra det øjeblik din finger rører skærmen til dine filer er ulæselige for alle andre.

Trin 1: Du tegner et mønster

Vaultaire viser et 5×5-gitter af prikker. Du tegner en kontinuerlig sti, der forbinder mindst 6 prikker med mindst én retningsændring. Appen registrerer præcis, hvilke prikker du har besøgt og i hvilken rækkefølge. Denne sekvens er dit mønster.

5×5 Mønsternøglegitter

I modsætning til 3×3-gitteret, der almindeligvis bruges til Android-låseskærme, bruger Vaultaire et 5×5-gitter. Dette er ikke et kosmetisk valg. Femogtyve positioner giver langt flere stier, krydsninger, spring og retningsændringer end ni positioner. Det større teoretiske rum hjælper, men den faktiske sikkerhed afhænger stadig af, hvor uforudsigelig den valgte sti er. Et velkendt bogstav eller simpel form forbliver gætteligt, selv når gitteret kan udtrykke milliarder af alternativer.

Trin 2: Mønsteret udleder en boksnøgle

Dit tegnede mønster serialiseres med gitterstørrelsen og sendes gennem PBKDF2 (Password-Based Key Derivation Function 2) med HMAC-SHA512, 600.000 iterationer og et tilfældigt enhedsdækkende salt. Saltet er en ikke-hemmelig værdi, der gemmes i iOS Keychain som et WhenUnlockedThisDeviceOnly-element. Det gør den lokale afledning enhedsbundet; den er ikke unik for hver boks og tilføjer ikke entropi til et menneskevalgt mønster.

Krypteringsflow
Dit mønster
Sti på 5×5-gitter
→
PBKDF2 + salt
Nøgleafledning
→
256-bit nøgle
Indeks + nøgleindpakning
→
AES-256-GCM
Filkryptering

Nøgleafledningsprocessen er bevidst dyr. PBKDF2 kører 600.000 HMAC-SHA512-iterationer for hvert kandidatmønster, hvilket øger omkostningerne ved et gætteangreb. Dette gør ikke et laventropimønster til 256 bits sikkerhed, og angrebstiden afhænger af angriberens hardware. Formålet er snævrere og målbart: Gør ethvert gæt væsentligt dyrere end en simpel hash.

Trin 3: Dine filer krypteres

Når boksen først oprettes, genererer Vaultaire en tilfældig 256-bit hovednøgle. Den mønsterafledte boksnøgle krypterer indekset og indpakker denne hovednøgle; den krypterer ikke hver fil direkte. Hovednøglen bruges med AES-256-GCM til filheadere, indhold, thumbnails og relaterede metadata. Friske nonces sikrer, at gentagen klartekst ikke producerer gentagen chiffertekst under samme nøgle.

GCM-tilstanden tilføjer et vigtigt lag: autentifikation. Den blander ikke bare dine data, den genererer et mærkat der opdager enhver manipulation. Ændres en enkel bit i en krypteret fil, fejler dekrypteringen. Ingen kan manipulere dine filer uden at du ved det.

Trin 4: Aktiv nøgletilstand ryddes

Når Vaultaire låser, rydder den den aktive boks- og hovednøgletilstand og kræver en ny oplåsning, før filerne vises igen. Nogle nøglekopier kan dog blive i appens hukommelse efter låsning. Mens boksen er åben, findes disse symmetriske nøglebytes nødvendigvis i app-processen, så CryptoKit kan udføre AES-GCM-operationer. Vaultaire opbevarer også gendannelsesoplysninger, herunder mønsteret og den sætningskrypterede gendannelseskonvolut, i en AES-GCM-krypteret database i iOS Keychain. Det er væsentligt forskelligt fra at hævde, at mønsteret og hver nøglekopi er gemt ingen steder.

Matematikken bag (i almindeligt sprog)

Du behøver ikke en datalogisk grad for at forstå, hvorfor det virker. Sikkerheden hviler på tre tal: hvor mange mønstre der er mulige, hvor lang tid hvert forsøg tager og hvor mange forsøg en angriber kan foretage.

2256
AES-nøglerum
5×5
Gitterstørrelse
600.000
PBKDF2-runder

Entropi: målet for uforudsigelighed

Entropi er et andet ord for “hvor svært er det at gætte.” Et møntkast har 1 bit entropi (to udfald). En firecifret PIN har ca. 13 bit entropi (10.000 udfald). Et mønster med seks prikker og ét retningsskift er én af 11.168 mulige former, cirka 13 bit, hvis det vælges tilfældigt, altså tæt på en firecifret PIN. Folk vælger ikke tilfældigt, så rigtige mønstre er lettere at gætte. Længere mønstre med flere retningsskift er sværere at gætte.

Mønsterets entropi sætter loftet for et gætteangreb. PBKDF2 kan ikke skabe entropi, som bevægelsen ikke indeholder, men det kan gøre hver kandidat meget dyrere at teste.

Nøgleafledning: dyre forsøg

PBKDF2 tager det serialiserede mønster og kører 600.000 runder af HMAC-SHA512. Angrebsestimater skal bruge en målt omkostning på den hardware, der gætter: ved præcis 1 ms pr. komplet kandidat ville 1.000.000.000 kandidater tage 1.000.000 s, eller omkring 11,6 dage, på 1 arbejder. En langsommere målt kandidatomkostning øger den tid; parallel hardware reducerer den. 256-bit outputlængden ændrer ikke størrelsen på mønstersøgerummet.

Det enhedsdækkende salt opbevares i Keychain og er ikke designet til at være hemmeligt. Keychain og iOS-databeskyttelse kan gøre udtræk sværere, hvis enheden beslaglægges, men den kryptografiske analyse må antage, at en undersøger, der får fat i de krypterede filer, også kan få fat i saltet. Saltet forhindrer forudberegning på tværs af enheder; det er ikke en erstatning for et stærkt mønster.

AES-256: en offentlig, velundersøgt standard

AES-256 er en stærk, standardiseret chiffer, udgivet af NIST som FIPS 197. Tallet “256” refererer til nøglelængden i bit. En 256-bit nøgle har 2256 mulige værdier, alt for mange til at prøve med rå kraft. En angriber går i stedet efter mønsteret, og derfor strækker Vaultaire det med 600.000 PBKDF2-iterationer.

Sikkerheden ved AES-256 er ikke afhængig af at holde algoritmen hemmelig. Men hele systemet er ikke beskyttet af AES-nøglerummet alene: den praktiske grænse for gæt kommer fra mønsterets entropi, PBKDF2-arbejdsfaktoren og beskyttelsen af enhedens salt og det krypterede lager. AES-256-GCM giver stærk autentificeret kryptering, når den korrekte tilfældige hovednøgle er blevet låst op.

Hvad et angreb skal overvinde

Lad os overveje de vigtigste måder, nogen kan forsøge at få adgang til dine krypterede filer på, hvad Vaultaire gør for at hæve omkostningerne, og hvor grænserne går.

Brute force: prøv hvert mønster

PBKDF2 får hver mønsterkandidat til at koste 600.000 HMAC-SHA512-iterationer. Det er et meningsfuldt forsvar, men ikke et løfte om et fast antal år: Resultatet afhænger af mønstervalg, målt afledningshastighed, parallelitet og om undersøgeren har fået fat i enhedens salt. Længere, mindre forudsigelige stier betyder noget, fordi PBKDF2 hæver gætteomkostninger i stedet for at skabe ny entropi.

Smudsangreb: aflæs din skærm

På et 3×3-gitter kan smuds på skærmen markant indsnævre mulige mønstre. På et 5×5-gitter afslører smudsaftryk hvilke prikker der blev berørt, men ikke rækkefølgen, retningen eller forbindelserne mellem dem. Det større gitter gør denne tilgang meget sværere, men ikke umulig.

Skulder-surfing: se dig tegne

Mønstre tegnet hurtigt på en lille telefonskærm er meget svære at huske fra observation alene, særligt på et 5×5-gitter. Forskning viser at observatører har langt sværere ved at efterligne komplekse mønstre sammenlignet med at opsnappe en PIN eller adgangskode ytret højt.

Enhedsbeslaglæggelse: tag din telefon

Hvis nogen tager din telefon, forbliver Vaultaires filindhold og indekser AES-GCM-chiffertekst, indtil de nødvendige nøgler er tilgængelige. Appen gemmer ikke en almindelig post til at kontrollere adgangskoden, men det forhindrer ikke kontrol af gæt offline. Filnavnet på hvert krypteret boksindeks indeholder en locator, der er afledt af boksnøglen, og autentificeret AES-GCM-dekryptering lykkes eller mislykkes også for en kandidatnøgle. Enhedsbeskyttelse og mønsterstyrke forbliver derfor en del af trusselsmodellen.

Ingen verifikationsorakel

Der kræves ingen separat adgangskode-hash for at teste et gæt mod autentificeret chiffertekst. Vaultaires AES-GCM-tags giver et sikkert svar på, om et gæt lykkes eller fejler, og indeksfilnavnet giver en billigere foreløbig kontrol. Forsvaret er omkostningen og uforudsigeligheden ved gæt plus iOS-beskyttelsen af lokalt materiale, ikke fraværet af en måde at kontrollere gæt på.

Valg af et stærkt mønster

Krypteringen er kun så stærk som dit mønster. Her er, hvordan du maksimerer sikkerheden med minimal anstrengelse.

Hvad gør et mønster stærkt

  • Brug flere prikker. Forbind mindst 8 af de 25 tilgængelige prikker. Hver ekstra prik multiplicerer antallet af mulige mønstre.
  • Kryds din egen sti. Mønstre der vender tilbage, springer prikker over eller ændrer retning uventet, er langt sværere at reproducere fra hukommelse eller observation.
  • Undgå åbenlyse former. Bogstaver (L, Z, S), simple geometriske former (firkanter, trekanter) og rette linjer er de første ting en angriber vil prøve.
  • Brug hele gitteret. Mønstre der holder sig i ét hjørne eller langs én kant, spilder tilgængelig entropi. Spred dig ud.

Hvad du skal undgå

  • Mønstre med mindste længde. Vaultaire kræver mindst 6 prikker og én retningsændring, men opfyldelse af minimum gør ikke en sti uforudsigelig. Brug mere af gitteret, når du kan huske resultatet pålideligt.
  • Simple geometriske former. Et L-form, en siksak-linje eller en ligefrem diagonal er mønsterækvivalenten af adgangskoden “kodeord123”.
  • Altid at starte fra det samme hjørne. Forskning i Android-mønstre viser, at de fleste starter fra prikken øverst til venstre. Angribere ved det.

Den gyldne mellemvej

Et mønster der forbinder 8 til 12 prikker med flere retningsskift er sværere at gætte og er alligevel let at huske via muskelhukommelse. Du behøver ikke huske det som en adgangskode, din hånd husker bevægelsen, ligesom den husker, hvordan du skriver under med dit navn.

Hvorfor du kan føle dig tryg

Mønsterkryptering i Vaultaire er ikke blot en smukkere PIN-kode. Bevægelsen behandles af en ægte nøgleafledningsfunktion og skal låse op for autentificerede krypterede data. Styrken afhænger stadig af den bevægelse, du vælger, så Vaultaire kombinerer det større gitter med en høj PBKDF2-arbejdsfaktor i stedet for at fremstille 256-bit outputlængden som 256 bits hemmelig entropi fra et menneske.

Dit mønster og din lokale boksnøgle sendes ikke til Vaultaire. Mens backup er slået til, hvilket er standard, krypterer en separat mønsterafledt backupnøgle CloudKit-poster og et krypteret gendannelsesmanifest lader gendannelsessætningen gendanne vault- og backupnøgler. Vaultaire har ikke en udbydernøgle, der dekrypterer disse poster, men enheden og gendannelsesoplysningerne forbliver sikkerhedskritiske dele af designet.

Du tegner en form. Den form beskytter dine filer. Matematikken gør resten.

Ofte stillede spørgsmål

Hvad sker der, hvis jeg glemmer mønsteret?

Når du opretter en boks, genererer Vaultaire en brugerdefineret gendannelsessætning med 9 ord. PBKDF2 udleder en gendannelsesnøgle fra sætningen, og den åbner en krypteret konvolut med boksnøglen. Hvis du mister både mønsteret og gendannelsessætningen, har Vaultaire ingen nøgle på serversiden, der kan gendanne boksen.

Er et mønster virkelig sikrere end en adgangskode?

Et velvalgt mønster på et 5×5-gitter er stadig svagere end en lang tilfældig adgangskode, men længere mønstre med flere retningsskift er sværere at gætte. Fordelen er brugervenlighed: folk vælger svage adgangskoder fordi stærke er svære at huske. Mønstre udnytter muskelhukommelse, så det er naturligt at bruge et komplekst mønster uden bevidst memorering.

Kan nogen tage et screenshot eller optage mit mønster?

Vaultaire lægger et skærmbilledeskjold over mønstergitteret efter bedste evne og reagerer, når iOS melder om aktiv skærmoptagelse. iOS har ikke et offentligt flag for sikker skærm til vilkårligt appindhold, så disse kontroller reducerer utilsigtet optagelse, men kan ikke garantere, at hver optagelsesmetode er blokeret.

Hvilken krypteringsalgoritme bruger Vaultaire?

Vaultaire bruger PBKDF2-HMAC-SHA512 med 600.000 iterationer for at udlede en boksnøgle fra mønsteret og et enhedsdækkende Keychain-salt. Denne boksnøgle krypterer boksindekset og indpakker en tilfældig 256-bit hovednøgle. AES-256-GCM under hovednøglen beskytter filindhold, headere, metadata og thumbnails med autentificeret kryptering.

Er mønsteret gemt på min enhed?

Vaultaire gemmer gendannelsesoplysninger, herunder mønsteret, i en AES-GCM-krypteret gendannelsesdatabase i iOS Keychain. Mønsteret sendes ikke til Vaultaire og gemmes ikke i filer i klartekst. Mens en boks er åben, findes nøglebytes i app-processen; låsning kasserer Vaultaires aktive nøgletilstand, men nogle nøglekopier kan blive i appens hukommelse efter låsning.

Kan Vaultaire tilgå mine krypterede filer?

Vaultaire driver ikke en tjeneste, der modtager dit mønster, gendannelsessætning, dekrypteringsnøgler eller læsbart boksindhold. Krypterede iCloud-sikkerhedskopier forbliver i din private CloudKit-database. Denne udbydergrænse beskytter ikke en åben boks mod et kompromitteret appbuild, styresystem eller en kompromitteret enhed.

Prøv mønsterkryptering

Tegn dit første mønster og oplev, hvad det er at have filer der er ordentligt beskyttede.

Hent Vaultaire gratis