Functies
Versleuteling met een patroon: hoe een tekening je bestanden beschermt
Je tekent een patroon met je vinger, en Vely maakt er met Argon2id, een bewust trage functie, een sleutel van. Geen wachtwoordveld, geen korte pincode.
- Patroon
- Versleuteling
- Ontgrendelen
Vely vraagt niet om een wachtwoord of een pincode. Je opent je kluis door een patroon te tekenen op een raster van 5 × 5 punten, en dat patroon is wat Vely tot een sleutel maakt. Vely komt binnenkort in de App Store. De app is in het Engels, dus de teksten van de app staan hier in het Engels, de eerste keer met een vertaling tussen haakjes.
Als je je patroon tekent, maakt Vely er met Argon2id, een bewust trage functie, een sleutel van, gecombineerd met een geheim dat in de sleutelhanger van deze iPhone wordt bewaard en deze iPhone nooit verlaat. Het patroon zelf wordt nergens opgeslagen en werkt alleen op deze iPhone. Je kunt je kluis openen met je patroon, je herstelzin of Face ID als je dat hebt ingeschakeld.
Wat is versleuteling met een patroon?
Meestal vergrendel je iets op een telefoon met een pincode of een wachtwoord. Je typt vier cijfers en je foto's verschijnen. Dat klinkt veilig genoeg, maar het loont om te tellen wat iemand zou moeten proberen.
Een pincode van vier cijfers heeft precies 10.000 mogelijke combinaties. Zes cijfers geven er 1.000.000. Een wachtwoord van acht kleine letters geeft er 26⁸, ongeveer 209 miljard. Hoe lang het duurt om ze allemaal te proberen, hangt af van hoe lang één poging duurt, en dat bepaalt de app.
Versleuteling met een patroon pakt het anders aan. In plaats van tekens in een veld te typen, teken je een route over een raster van punten. Welke punten je aanraakt, en in welke volgorde, is je patroon. Vely vergelijkt het niet alleen met iets wat is opgeslagen: Vely maakt van je patroon de sleutel die je kluis ontsleutelt, zoals stap 2 laat zien.
De mogelijkheden geteld
Dit is dezelfde rekensom voor pincodes, een wachtwoord en de patronen van Vely, als elke poging de halve seconde zou duren die een poging in Vely op een iPhone duurt:
| Wat je zou moeten raden | Mogelijke combinaties | Allemaal, bij ½ seconde per poging |
|---|---|---|
| Pincode van 4 cijfers | 10.000 | ongeveer 83 minuten |
| Pincode van 6 cijfers | 1.000.000 | ongeveer 6 dagen |
| Vely-patroon van 6 punten | 19.174.112 | ongeveer 111 dagen |
| Vely-patroon van 8 punten | 3.428.210.784 | ongeveer 54 jaar |
| 8 willekeurige kleine letters | 208.827.064.576 | ongeveer 3300 jaar |
Twee dingen laat deze tabel niet zien. Iemand met speciale hardware kan veel sneller proberen dan een iPhone, en mensen kiezen pincodes, wachtwoorden en patronen niet willekeurig, dus echte worden veel eerder geraden. Een patroon is ook geen wondermiddel: een willekeurig wachtwoord van acht letters heeft meer combinaties dan een patroon van 8 punten. Wat een patroon je geeft, zijn miljarden combinaties in iets wat je in een seconde tekent, waarbij elke poging door Argon2id moet. De goedgekeurde getallen staan in De getallen erachter.
Waarom het verschil ertoe doet
Een slot kan op twee manieren werken. Het kan controleren wat je hebt ingevoerd en daarna bestanden tonen die al die tijd leesbaar waren. Of het kan van wat je hebt ingevoerd de sleutel maken die de bestanden nodig hebben, zodat er zonder de juiste niets te tonen is. Vely werkt op de tweede manier.
Het belangrijkste verschil
Dit zit achter het patroon van Vely:
Alles wat je toevoegt – documenten, foto's, video's, notities, scans en de namen van je bestanden en mappen – wordt op deze iPhone versleuteld voordat het wordt bewaard. Elk bestand krijgt een eigen willekeurige 256-bits sleutel en wordt versleuteld met AES-256-GCM, via Apples CryptoKit. Namen, mappen en notities worden bewaard in een database die met SQLCipher is versleuteld.
Zo werkt het, stap voor stap
Dit gebeurt er vanaf het moment dat je vinger het raster raakt tot je kluis weer vergrendeld is.
Stap 1: je tekent je patroon
Als je Vely instelt, toont het scherm Draw a pattern (Teken een patroon) een raster van 5 rijen en 5 kolommen punten. De aanwijzing luidt "Connect at least 6 dots. You'll draw it to open your vault." (Verbind minstens 6 punten. Je tekent het om je kluis te openen.) Sleep je vinger van punt naar punt zonder hem op te tillen. De volgorde waarin je de punten raakt, hoort bij het patroon.
Verbind je minder dan 6 punten, dan toont Vely "Use at least 6 dots" (Gebruik minstens 6 punten). Als je je vinger optilt, beoordeelt Vely het patroon: bij minder dan 8 punten verschijnt "Easy to guess. 8 or more dots is safer." (Makkelijk te raden. 8 of meer punten is veiliger.), en bij 8 of meer "Good pattern" (Goed patroon). Tik op Continue (Ga door) en teken hetzelfde patroon opnieuw bij Draw it again (Teken het nog een keer) om het te bevestigen.
Het raster van Vely heeft 25 punten, wat ruimte laat voor lange routes met veel bochten. Hoe moeilijk je patroon te raden is, hangt toch af van de route die je kiest: een letter of een eenvoudige vorm is op elk raster makkelijk te raden.
Stap 2: je patroon wordt een sleutel
Als je je patroon tekent, maakt Vely er met Argon2id, een bewust trage functie, een sleutel van, gecombineerd met een geheim dat in de sleutelhanger van deze iPhone wordt bewaard en deze iPhone nooit verlaat.
Uitgebreider:
Vely haalt je patroon door Argon2id met een zout dat in de sleutelhanger van deze iPhone wordt bewaard, met 256 MiB geheugen, zo ingesteld dat één poging op een iPhone ongeveer een halve seconde duurt. Het resultaat wordt gecombineerd met een apart geheim van 32 bytes, dat ook in de sleutelhanger van deze iPhone wordt bewaard, en zo ontstaat je patroonsleutel. Je patroonsleutel wordt nooit opgeslagen. Hij ontsleutelt de hoofdsleutel van je kluis, een willekeurige sleutel die wordt gemaakt als je de kluis aanmaakt.
Je hoofdsleutel wordt nooit rechtstreeks gebruikt om bestanden te versleutelen. Er worden twee sleutels van afgeleid: de ene opent de database met namen, mappen en notities, en de andere versleutelt de eigen willekeurige sleutel die elk bestand en elke miniatuur krijgt. Je herstelzin en Face ID hebben elk een eigen sleutel die dezelfde hoofdsleutel ontsleutelt, dus als je je patroon wijzigt, worden je bestanden niet opnieuw versleuteld.
Je patroon werkt alleen op deze iPhone, dus op een nieuwe iPhone teken je een nieuw patroon:
Om terug te zetten op een nieuwe iPhone heb je dezelfde Apple Account en je herstelzin nodig, en daarna teken je een nieuw patroon.
Stap 3: je bestanden worden versleuteld
Je bestanden werden versleuteld toen je ze toevoegde, elk met een eigen sleutel. De details van elk item laten zien waar het is bewaard, met deze tekst (Versleuteld met AES-256-GCM op deze iPhone):
Encrypted with AES-256-GCM on this iPhone
AES-256-GCM controleert elk bestand bij het openen: als de versleutelde gegevens ervan zijn gewijzigd, gaat het niet open.
Stap 4: je gaat weg en je kluis gaat op slot
Je tekent je patroon elke keer dat je terugkomt:
Vely vergrendelt je kluis zodra je de app verlaat, verbergt de inhoud van de kluis in de appkiezer en maakt het scherm wazig tijdens schermopname of synchrone weergave. Een reservekopie die bezig is, kan nog een tijdje gegevens uploaden die al versleuteld zijn.
De getallen erachter
Drie getallen bepalen hoe lang raden duurt: hoeveel patronen er zijn, hoe lang één poging duurt en hoe het patroon is gekozen.
- 19,2 miljoenMogelijke patronen van 6 punten
- 3,4 miljardMogelijke patronen van 8 punten
- ½ secondePer poging op een iPhone
- 2¹²⁸Mogelijke herstelzinnen
Patronen en de tijd om te raden
Er zijn 19.174.112 mogelijke patronen van 6 punten op het raster van Vely, en 3.428.210.784 mogelijke patronen van 8 punten. Bij ongeveer een halve seconde per poging zou een iPhone ongeveer 111 dagen nodig hebben om elk patroon van 6 punten te proberen, en ongeveer 54 jaar voor elk patroon van 8 punten. Iemand met speciale hardware kan veel sneller proberen, en mensen kiezen patronen niet willekeurig, dus een echt patroon kan veel eerder worden geraden.
Ga je van 6 naar 8 punten, dan wordt het aantal mogelijke patronen ongeveer 179 keer zo groot (3.428.210.784 ÷ 19.174.112). Daarom raadt Vely 8 of meer aan. Elke poging kost dezelfde halve seconde, dus het aantal patronen dat iemand moet doorlopen, is het deel dat jij in de hand hebt.
De sleutels en de herstelzin
Je herstelzin bestaat uit 12 woorden uit een lijst van 2048. De laatste 4 bits zijn een controlesom, waardoor er 2¹²⁸ mogelijke zinnen overblijven, veel te veel om te raden, dus de zin heeft geen trage functie nodig. De sleutel van elk bestand is 256 bits lang: er zijn 2²⁵⁶ mogelijke sleutels.
Twaalf woorden uit 2048 geven 2048¹² = 2¹³² combinaties. De controlesom haalt er 4 bits af, en er blijven 2¹²⁸ over, ongeveer 3,4 × 10³⁸. Geen enkel patroon komt daar in de buurt, en daarom gaat het patroon door Argon2id en de zin niet.
Wat een aanval zou moeten overwinnen
Dit zijn de belangrijkste manieren waarop iemand in je kluis zou kunnen proberen te komen, en waar de bescherming van Vely ophoudt.
Brute force: elk patroon proberen
Op het scherm van je iPhone zelf moet je na verkeerde patronen wachten voordat je opnieuw kunt proberen:
Na een aantal verkeerde patronen moet je wachten voordat je het opnieuw probeert, tot 15 minuten. Dat vertraagt iemand die je patroon op je scherm probeert te raden. Het is een afschrikmiddel, geen versleutelingsfunctie, en het houdt niemand tegen die de opslag van je iPhone heeft gekopieerd.
Buiten het scherm kost elke poging nog steeds een volledige ronde Argon2id. In Patronen en de tijd om te raden zie je hoe lang het zou duren om elk patroon te proberen, en waarom 8 of meer punten ertoe doen.
Inbeslagname van het toestel: je iPhone afpakken
Wat iemand kan doen, hangt af van of je kluis open is en of diegene de toegangscode van je iPhone kan omzeilen:
- Iemand die je iPhone heeft terwijl je kluis open is.
- Iemand die de toegangscode van je iPhone kent of omzeilt en de opslag van je iPhone kopieert. Diegene kan proberen je patroon te raden op hun eigen computers, zonder de wachttijden. Een langer, minder voorspelbaar patroon maakt dit veel moeilijker.
- Schadelijke software, een iPhone met jailbreak of iemand met volledige controle over je ontgrendelde iPhone.
Vegenaanvallen: je scherm aflezen
De vegen die je vinger op het scherm achterlaat, kunnen de route laten zien die je tekent. Vely kan ze niet verbergen. Als je je scherm af en toe schoonveegt, zijn ze moeilijker te lezen.
Over je schouder meekijken: zien hoe je tekent
- Iemand die je patroon kent of meekijkt terwijl je het tekent. Je kunt het patroonspoor verbergen in Settings.
- Schermafbeeldingen of foto's van je scherm.
Vely tekent een lijn langs je patroon terwijl je het trekt. Wil je die niet zien, zet dan Hide pattern trail (Verberg patroonspoor) aan in Settings (Instellingen van Vely).
Een sterk patroon kiezen
Het patroon kies je zelf. Zo maak je het moeilijk te raden en makkelijk te onthouden.
Wat een patroon sterk maakt
- Gebruik meer punten. Volg de tip van Vely en verbind er 8 of meer.
- Verander een paar keer van richting. Een route die vaak afbuigt, is moeilijker te raden dan een lijn of een boog.
- Gebruik het hele raster. Een patroon dat in één hoek of langs één rand blijft, laat het grootste deel van het raster ongebruikt.
Wat je beter vermijdt
- Het minimum. Vely accepteert 6 punten, maar toont dan "Easy to guess. 8 or more dots is safer."
- Letters en eenvoudige vormen. Een L, een Z, een vierkant of een rechte diagonaal hoort bij het eerste wat iemand zou proberen.
- Uit gewoonte in een hoek beginnen. Je kunt overal beginnen.
De gulden middenweg
Mik op 8 of meer punten met een paar richtingsveranderingen, in een route die je zonder nadenken kunt tekenen. Je tekent hem elke keer dat je je kluis opent, dus je hand leert hem, zoals hij een handtekening leert. Oefen het een paar keer als je je patroon instelt.
Je patroon wijzigen
Tik in Settings op Change Pattern (Wijzig patroon) en volg de stappen. Daarna bevestigt Vely (Gebruik vanaf nu je nieuwe patroon. Je oude patroon opent je kluis niet meer.):
Use your new pattern from now on. Your old pattern no longer opens your vault.
Waarom het klopt
Je patroon wordt op deze iPhone een sleutel, en Vely heeft geen eigen account of server:
Er is geen registratie en geen server van Vely. De app maakt alleen verbinding met internet voor aankopen, via Apples App Store en onze betalingsprovider RevenueCat, en voor de iCloud-reservekopie als je die inschakelt. Apple en RevenueCat zien je aankoop, nooit je bestanden.
Je tekent een vorm. Vely maakt er een sleutel van. Lees Zo worden je gegevens beschermd voor het hele verhaal, ook wat iemand met toegang tot de opslag van je iPhone toch nog zou kunnen zien.
Veelgestelde vragen
Wat gebeurt er als ik mijn patroon vergeet?
Tik op het ontgrendelscherm op Use recovery phrase (Gebruik herstelzin), voer je 12 woorden in en teken een nieuw patroon.
Je herstelzin van 12 woorden opent je kluis als je je patroon vergeet, en je hebt hem nodig om je iCloud-reservekopie op een nieuwe iPhone terug te zetten. We tonen hem één keer en slaan hem nooit op, dus we kunnen hem niet nog een keer laten zien. Bewaar hem op een veilige plek, offline.
Als je zowel je patroon als je herstelzin kwijtraakt, kunnen we je niet helpen je kluis te openen. We hebben je sleutels niet.
Wordt mijn patroon op mijn iPhone opgeslagen?
Het patroon zelf wordt nergens opgeslagen en werkt alleen op deze iPhone.
Kan ik in plaats daarvan Face ID gebruiken?
Ja, als je het inschakelt. Het vervangt je patroon niet:
Face ID staat uit, tenzij je het inschakelt. Als het aanstaat, bewaart Vely in de sleutelhanger van deze iPhone een aparte sleutel die alleen Face ID kan vrijgeven. Als er een gezicht wordt toegevoegd of gewijzigd, of als de toegangscode van je iPhone wordt uitgeschakeld, werkt ontgrendelen met Face ID niet meer. Je patroon en je herstelzin blijven werken, en je kunt Face ID weer inschakelen. Face ID kan geen reservekopie terugzetten op een andere iPhone.
Welke versleuteling gebruikt Vely?
Elk bestand krijgt een eigen willekeurige 256-bits sleutel en wordt versleuteld met AES-256-GCM, via Apples CryptoKit. Namen, mappen en notities worden bewaard in een database die met SQLCipher is versleuteld.
Kan iemand mijn scherm opnemen terwijl ik teken?
Vely maakt het scherm wazig tijdens schermopname of synchrone weergave, maar kan geen schermafbeelding en geen camera tegenhouden:
- Schermafbeeldingen of foto's van je scherm.