Patroonversleuteling: hoe het tekenen van een vorm uw bestanden beschermt

Met uw vinger tekent u een patroon. PBKDF2 maakt van dat gebaar een kluissleutel, die een aparte willekeurige sleutel ontgrendelt waarmee uw bestanden met AES-256-GCM worden beschermd. Geen wachtwoordveld, geen korte pincode. Alleen uw patroon en een bewust gelaagde sleutelhiërarchie.

Vaultaire zet een vorm die op een 5×5-raster is getekend om in gegevens en verwerkt die met PBKDF2-HMAC-SHA512, 600.000 iteraties en een salt per apparaat uit de iOS-sleutelhanger (Keychain). Het resultaat van 256 bits is een kluissleutel: die versleutelt de kluisindex en pakt de aparte willekeurige hoofdsleutel uit die AES-256-GCM gebruikt voor bestandsinhoud en metadata.

Wat is patroonversleuteling?

De meeste kluis-apps verbergen zich achter een pincode of wachtwoord. U typt vier cijfers in en uw foto's verschijnen. Klinkt veilig genoeg, nietwaar?

Het probleem is dit: een viercijferige pincode heeft precies 10.000 mogelijke combinaties. Een computer kan ze allemaal binnen een seconde proberen. Zes cijfers? Een miljoen combinaties. Nog steeds triviaal snel voor moderne hardware. Zelfs een wachtwoord van acht tekens biedt, als het alleen kleine letters bevat, ongeveer 200 miljard mogelijkheden. Dat klinkt veel, totdat u beseft dat een standaardlaptop miljarden wachtwoordhashes per seconde kan testen.

Patroonversleuteling werkt fundamenteel anders. In plaats van tekens in een vakje te typen, tekent u een geometrische vorm over een raster van punten. Het specifieke pad dat u volgt – welke punten u aanraakt, in welke volgorde, met welke geometrie – wordt de invoer voor een op wachtwoord gebaseerde sleutelafleidingsfunctie. Het resultaat wordt niet alleen door de interface gecontroleerd: het moet een geauthenticeerde, versleutelde index en de willekeurige hoofdsleutel daarin ontgrendelen.

Het onderscheid is belangrijk. Wanneer u in sommige apps een pincode invoert, controleert de app alleen of u het juiste nummer hebt getypt. Is dat zo, dan gaat de app open, ook al zijn de bestanden mogelijk voornamelijk beveiligd door toegangscontrole. Vaultaire stuurt het getekende patroon in plaats daarvan door PBKDF2 om een 256-bits kluissleutel af te leiden. Die sleutel moet de kluisindex verifiëren en ontsleutelen voordat de willekeurige hoofdsleutel voor de bestanden kan worden uitgepakt. Een onbekend patroon wordt getoond als een lege kluis, maar de onderliggende AES-GCM-authenticatie onderscheidt nog steeds een juiste sleutel van een onjuiste.

Belangrijkste verschil

Een toegangspoort op basis van een pincode kan lijken op een gesloten deur die voor anderszins leesbare bestanden wordt geplaatst. Het patroon van Vaultaire komt dichter in de buurt van de combinatie op een kluis: het leidt de sleutel af die een versleutelde index opent, die op zijn beurt de aparte sleutel vrijgeeft die de inhoud beschermt. De interface kan die cryptografische keten niet zomaar omzeilen.

Hoe het werkt, stap voor stap

Dit is wat er gebeurt vanaf het moment dat uw vinger het scherm aanraakt tot het moment dat uw bestanden voor iedereen anders onleesbaar zijn.

Stap 1: U tekent uw patroon

Vaultaire presenteert een raster van 5×5 punten. U tekent een ononderbroken pad dat minimaal 6 punten verbindt, met minimaal één richtingsverandering. De app registreert precies welke punten u aanraakte en in welke volgorde. Die reeks is uw patroon.

5×5-patroonraster

In tegenstelling tot de 3×3-rasters die gewoonlijk worden gebruikt voor Android-vergrendelingsschermen, gebruikt Vaultaire een 5×5-raster. Dit is geen cosmetische keuze. Vijfentwintig posities maken veel meer paden, kruisingen, overgeslagen punten en richtingsveranderingen mogelijk dan negen. De grotere theoretische ruimte helpt, maar de daadwerkelijke veiligheid hangt nog steeds af van de onvoorspelbaarheid van het pad dat u kiest. Een bekende letter of eenvoudige vorm blijft raadbaar, zelfs als het raster miljarden alternatieven kan uitdrukken.

Stap 2: Het patroon leidt een kluissleutel af

Uw getekende patroon wordt samen met de rastergrootte omgezet in gegevens en verwerkt door PBKDF2 (Password-Based Key Derivation Function 2) met HMAC-SHA512, 600.000 iteraties en een willekeurige salt per apparaat. De salt is een niet-geheime waarde, opgeslagen in de iOS-sleutelhanger (Keychain) als item met WhenUnlockedThisDeviceOnly. Hij bindt de lokale afleiding aan het apparaat; hij is niet uniek per kluis en voegt geen entropie toe aan een patroon dat een mens kiest.

Versleutelingsstroom
Uw patroon
5×5 rasterpad
→
PBKDF2 + salt
Sleutelafleiding
→
256-bits sleutel
Uniek per kluis
→
AES-256-GCM
Bestandsversleuteling

Het sleutelafleidingsproces is bewust duur. PBKDF2 voert voor elk geprobeerd patroon 600.000 HMAC-SHA512-iteraties uit, waardoor een gokaanval duurder wordt. Dat maakt van een patroon met weinig entropie geen 256-bits beveiliging, en de aanvalstijd hangt af van de hardware van de aanvaller. Het doel is beperkter en meetbaar: elke gok flink duurder maken dan een eenvoudige hash.

Stap 3: Uw bestanden worden versleuteld

Wanneer de kluis voor het eerst wordt gemaakt, maakt Vaultaire een willekeurige hoofdsleutel van 256 bits. De van het patroon afgeleide kluissleutel versleutelt de index en omhult die hoofdsleutel; hij versleutelt niet elk bestand rechtstreeks. De hoofdsleutel wordt gebruikt met AES-256-GCM voor bestandsheaders, inhoud, miniaturen en bijbehorende metadata. Nieuwe nonces zorgen ervoor dat dezelfde leesbare inhoud onder dezelfde sleutel geen gelijke versleutelde tekst oplevert.

De GCM-modus voegt een belangrijke laag toe: authenticatie. Het versleutelt niet alleen uw gegevens, maar genereert ook een tag die eventuele manipulatie detecteert. Als een enkel bit van het versleutelde bestand wordt gewijzigd, mislukt de ontsleuteling. Niemand kan met uw bestanden knoeien zonder dat u het weet.

Stap 4: Actieve sleutels worden gewist

Wanneer Vaultaire vergrendelt, worden de actieve kluissleutel en hoofdsleutel gewist en is een nieuwe ontgrendeling nodig voordat de bestanden weer verschijnen. Sommige sleutelkopieën kunnen na het vergrendelen toch in het app-geheugen blijven. Zolang de kluis open is, staan deze symmetrische sleutelbytes noodzakelijkerwijs in het app-proces, zodat CryptoKit AES-GCM-bewerkingen kan uitvoeren. Vaultaire bewaart ook herstelinformatie, inclusief het patroon en de met de herstelzin versleutelde herstelenvelop, in een met AES-GCM versleutelde database in de iOS-sleutelhanger (Keychain). Dat is wezenlijk anders dan beweren dat het patroon en elke sleutelkopie nergens worden opgeslagen.

De wiskunde erachter (in gewone taal)

U hebt geen diploma informatica nodig om te begrijpen waarom dit werkt. De beveiliging komt neer op drie cijfers: hoeveel patronen er mogelijk zijn, hoe lang elke gok duurt en hoeveel pogingen een aanvaller kan doen.

2256
AES-sleutelruimte
5×5
Rastergrootte
600.000
PBKDF2-rondes

Entropie: de maatstaf van onvoorspelbaarheid

Entropie is een duur woord voor “hoe moeilijk is dit te raden”. Een muntworp heeft 1 bit entropie (twee uitkomsten). Een viercijferige pincode heeft ongeveer 13 bits entropie (10.000 uitkomsten). Een patroon van zes punten met één richtingsverandering is een van 11.168 mogelijke vormen, ongeveer 13 bits als het willekeurig gekozen is, vergelijkbaar met een pincode van vier cijfers. Mensen kiezen niet willekeurig, dus echte patronen zijn makkelijker te raden. Langere patronen met meerdere richtingsveranderingen zijn moeilijker te raden.

De entropie van het patroon vormt het plafond voor een gokaanval. PBKDF2 kan geen entropie creëren die het gebaar niet bevat, maar het kan het testen van elke kandidaat veel duurder maken.

Sleutelafleiding: gokken duur maken

PBKDF2 neemt het geserialiseerde patroon en voert 600.000 rondes HMAC-SHA512 uit. Een schatting van een aanval moet uitgaan van de gemeten kosten op de hardware die gokt: bij precies 1 ms per volledige kandidaat kosten 1.000.000.000 kandidaten 1.000.000 s, ongeveer 11,6 dagen, voor 1 rekeneenheid. Tragere gemeten kosten per kandidaat verlengen die tijd; parallelle hardware verkort hem. De uitvoerlengte van 256 bit verandert niets aan de grootte van de patroonzoekruimte.

De salt van het apparaat staat in de sleutelhanger en is niet bedoeld als geheim. De sleutelhanger en iOS-gegevensbescherming kunnen het uitlezen moeilijker maken als een apparaat in beslag wordt genomen, maar de cryptografische analyse moet ervan uitgaan dat een onderzoeker die de versleutelde bestanden heeft, ook de salt kan krijgen. De salt voorkomt voorberekening over apparaten heen; hij vervangt geen sterk patroon.

AES-256: een openbare, goed bestudeerde standaard

AES-256 is een sterk standaardalgoritme, door NIST gepubliceerd als FIPS 197. De “256” verwijst naar de sleutellengte in bits. Een 256-bits sleutel heeft 2256 mogelijke waarden, veel te veel om met brute kracht te proberen. Een aanvaller valt daarom het patroon aan, en daarom rekt Vaultaire het op met 600.000 PBKDF2-iteraties.

De veiligheid van AES-256 hangt niet af van het geheim houden van het algoritme. Maar het volledige systeem wordt niet alleen beschermd door de AES-sleutelruimte: de praktische grens voor gokken komt uit de entropie van het patroon, de werkfactor van PBKDF2 en de bescherming van de salt en de versleutelde opslag op het apparaat. AES-256-GCM biedt sterke, geauthenticeerde versleuteling zodra de juiste willekeurige hoofdsleutel is ontgrendeld.

Wat een aanval zou moeten overwinnen

Hieronder staan de belangrijkste manieren waarop iemand zou kunnen proberen toegang te krijgen tot uw versleutelde bestanden, wat Vaultaire doet om de kosten te verhogen en waar de limieten blijven bestaan.

Brute kracht: elk patroon proberen

Met PBKDF2 kost elk geprobeerd patroon 600.000 HMAC-SHA512-iteraties. Dat is een zinvolle verdediging, maar geen belofte van een vast aantal jaren: het resultaat hangt af van het gekozen patroon, de gemeten afleidingssnelheid, parallellisme en of de onderzoeker de salt van het apparaat heeft. Langere, minder voorspelbare paden zijn belangrijk, omdat PBKDF2 gokken duurder maakt maar geen nieuwe entropie toevoegt.

Smudge-aanvallen: uw scherm lezen

Op een 3×3-raster kunnen vlekken op het scherm de mogelijke patronen aanzienlijk beperken. Op een 5×5-raster laat het veegpatroon zien welke punten zijn aangeraakt, maar niet de volgorde, richting of verbindingen daartussen. Het grotere raster maakt deze aanpak veel moeilijker, maar niet onmogelijk.

Schoudersurfen: kijken hoe u tekent

Patronen die snel op een klein telefoonscherm worden getekend, zijn uiterst moeilijk te onthouden door observatie, vooral op een 5×5-raster. Onderzoek toont aan dat waarnemers het veel moeilijker hebben om complexe patronen te repliceren dan wanneer ze een pincode of wachtwoord hardop horen uitspreken.

Inbeslagname: iemand pakt uw telefoon af

Als iemand uw telefoon afpakt, blijven de bestandsinhoud en indexen van Vaultaire AES-GCM-versleutelde tekst totdat de vereiste sleutels beschikbaar zijn. De app slaat geen gewone wachtwoordcontrole op, maar offline controleren blijft mogelijk. De bestandsnaam van elke versleutelde kluisindex bevat een locator die van de kluissleutel is afgeleid, en geauthenticeerde AES-GCM-ontsleuteling slaagt of mislukt ook voor een geprobeerde sleutel. Apparaatbescherming en patroonsterkte blijven daarom onderdeel van het dreigingsmodel.

Geen aparte verificatie-oracle

Er is geen aparte wachtwoordhash nodig om een gok te testen tegen geauthenticeerde versleutelde tekst. De AES-GCM-tags van Vaultaire geven betrouwbaar aan of het lukt of mislukt, en de naam van het indexbestand biedt een goedkopere eerste controle. De verdediging bestaat uit de kosten en de onvoorspelbaarheid van het patroon plus de bescherming van lokaal materiaal door iOS, niet uit het ontbreken van een manier om te controleren.

Een sterk patroon kiezen

De versleuteling is slechts zo sterk als het patroon dat u kiest. Hier leest u hoe u uw beveiliging met minimale inspanning kunt maximaliseren.

Wat een patroon sterk maakt

  • Gebruik meer punten.Verbind minimaal 8 van de 25 beschikbare punten. Elke extra punt vermenigvuldigt het aantal mogelijke patronen.
  • Kruis uw eigen pad.Patronen die teruglopen, punten overslaan of onverwacht van richting veranderen, zijn veel moeilijker te reproduceren vanuit het geheugen of vanuit observatie.
  • Vermijd opvallende vormen.Letters (L, Z, S), eenvoudige geometrische vormen (vierkanten, driehoeken) en rechte lijnen zijn de eerste dingen die een aanvaller zou proberen.
  • Gebruik het volledige raster.Patronen die in één hoek of langs één rand blijven, verspillen de beschikbare entropie. Spreid het patroon.

Wat u moet vermijden

  • Patronen met minimale lengte. Vaultaire vereist minimaal zes punten en één richtingsverandering, maar een pad dat net aan het minimum voldoet, is niet onvoorspelbaar. Gebruik meer van het raster als u het resultaat betrouwbaar kunt onthouden.
  • Eenvoudige geometrische vormen.Een L-vorm, een zigzaglijn of een rechte diagonale lijn zijn de patroonequivalenten van “password123.”
  • Elke keer vanuit dezelfde hoek beginnen.Uit onderzoek naar Android-vergrendelingspatronen blijkt dat de meeste mensen beginnen vanaf de stip linksboven. Aanvallers weten dit.

De beste balans

Een patroon dat 8–12 punten met ten minste twee richtingsveranderingen verbindt, biedt uitstekende beveiliging en is toch gemakkelijk te onthouden dankzij het spiergeheugen. U hoeft het niet te onthouden zoals een wachtwoord: uw hand onthoudt de beweging, zoals hij ook uw handtekening onthoudt.

Waarom u zich veilig moet voelen

Patroonversleuteling in Vaultaire is niet alleen een mooier pincodepad. Het gebaar gaat door een echte sleutelafleidingsfunctie en moet geauthenticeerde, versleutelde gegevens ontgrendelen. De sterkte hangt nog steeds af van het gebaar dat u kiest, dus Vaultaire combineert het grotere raster met een hoge PBKDF2-werkfactor en doet de uitvoer van 256 bits niet voor als 256 bits geheime entropie.

Uw patroon en lokale kluissleutel worden niet naar Vaultaire verzonden. Als de back-up aan staat (standaard), versleutelt een aparte back-upsleutel op basis van het patroon de CloudKit-records, en met een versleuteld herstelmanifest kan de herstelzin de kluis- en back-upsleutels terughalen. Vaultaire heeft geen sleutel bij de aanbieder die deze records ontsleutelt, maar het apparaat, het patroon en de herstelzin blijven onderdelen van het ontwerp waar de beveiliging van afhangt.

U tekent een vorm. Die vorm beschermt uw bestanden. De wiskunde doet de rest.

Veelgestelde vragen

Wat gebeurt er als ik mijn patroon vergeet?

Wanneer u een kluis maakt, maakt Vaultaire een eigen herstelzin van 9 woorden. PBKDF2 leidt uit die zin een herstelsleutel af, die een versleutelde envelop met de kluissleutel opent. Als u zowel het patroon als de herstelzin kwijtraakt, heeft Vaultaire geen sleutel aan de serverzijde die de kluis kan herstellen.

Is een patroon echt veiliger dan een wachtwoord?

Een goed gekozen patroon op een 5×5-raster is nog steeds zwakker dan een lang willekeurig wachtwoord, maar langere patronen met meerdere richtingsveranderingen zijn moeilijker te raden. Het voordeel is de bruikbaarheid: mensen kiezen zwakke wachtwoorden omdat sterke moeilijk te onthouden zijn. Patronen maken gebruik van het spiergeheugen, waardoor u vanzelf een complex patroon gebruikt zonder het bewust uit het hoofd te leren.

Kan iemand een screenshot maken of mijn patroon opnemen?

Vaultaire probeert schermafbeeldingen van het patroonraster te blokkeren en reageert wanneer iOS een actieve schermopname meldt. iOS heeft geen openbare instelling om willekeurige app-inhoud tegen opnames te beveiligen, dus deze maatregelen beperken vastleggen per ongeluk, maar kunnen niet garanderen dat elke opnamemethode wordt geblokkeerd.

Welk versleutelingsalgoritme gebruikt Vaultaire?

Vaultaire gebruikt PBKDF2-HMAC-SHA512 met 600.000 iteraties om een kluissleutel af te leiden uit het patroon en een salt per apparaat uit de sleutelhanger (Keychain). Die kluissleutel versleutelt de kluisindex en omhult een willekeurige 256-bits hoofdsleutel. Met AES-256-GCM onder de hoofdsleutel worden bestandsinhoud, headers, metadata en miniaturen beschermd met geauthenticeerde versleuteling.

Is het patroon opgeslagen op mijn apparaat?

Vaultaire bewaart herstelinformatie, inclusief het patroon, in een met AES-GCM versleutelde hersteldatabase in de iOS-sleutelhanger (Keychain). Het patroon wordt niet naar Vaultaire verzonden en niet in leesbare bestanden opgeslagen. Zolang een kluis open is, staan er sleutelbytes in het app-proces; vergrendelen wist de actieve sleutels van Vaultaire, al kunnen sommige sleutelkopieën na het vergrendelen in het app-geheugen blijven.

Heeft Vaultaire toegang tot mijn versleutelde bestanden?

Vaultaire beheert geen dienst die uw patroon, herstelzin, ontsleutelingssleutels of leesbare kluisinhoud ontvangt. Versleutelde iCloud-back-ups staan in uw privé-CloudKit-database. Deze grens bij de aanbieder beschermt een open kluis niet tegen een gecompromitteerde app-versie, een gecompromitteerd besturingssysteem of apparaat.

Probeer patroonversleuteling

Teken uw eerste patroon en ervaar hoe het voelt om uw bestanden echt beschermd te hebben.

Download Vaultaire gratis