Cryptiles säkerhetsarkitektur, lager för lager
Cryptile krypterar varje fil, miniatyr och index med AES-256-GCM, med nycklar som skapas på din telefon från mönstret du ritar. Det finns inget konto och ingen server, och utvecklaren har aldrig några nycklar.
Den enkla sammanfattningen finns på säkerhetssidan.
Vad behöver jag veta?
- Ditt mönster är källan till varje nyckel. Inget läsbart sparas utan det.
- Storlekar och antal valv suddas ut. Filer fylls ut och reservplatser för kulissvalv döljer hur många valv som finns.
- Du kan kontrollera det. Krypteringskärnan är publicerad så att vem som helst kan granska den (källkod tillgänglig), med hotmodell och testvektorer: github.com/jasonbrelsford/cryptile-core.
Hur blir ett mönster en nyckel?
- Mönstret skrivs som rutnätets storlek följd av cellerna du rörde, i ordning.
- Det blandas med en enhetshemlighet på 32 byte som ligger i iPhonens nyckelring, bara för den här enheten.
- PBKDF2-HMAC-SHA512 körs 600 000 gånger över det. Varje gissning kostar lika mycket arbete.
- HKDF-SHA256 delar upp resultatet i en uppslagsnyckel och en omslagsnyckel.
- Uppslagsnyckeln namnger valvets indexfil. Omslagsnyckeln öppnar den.
I indexet ligger valvets slumpmässiga huvudnyckel på 256 bitar. HKDF härleder separata undernycklar från den för filer, miniatyrer och index. Ingen nyckel används till två saker.
Hur krypteras filer?
Små objekt, som miniatyrer och index, förseglas i ett stycke med AES-256-GCM och en slumpmässig nonce.
Stora filer använder en STREAM-struktur i bitar om 1 MB. Varje bit har sin egen nonce och registrerar sin position och om den är den sista. Om bitar kapas, kastas om eller byts ut misslyckas dekrypteringen.
GCM autentiserar också varje huvud, så en ändrad fil avvisas i stället för att visas.
Hur döljs storlekar och antal valv?
Varje litet dataobjekt och varje sista filbit fylls ut till en multipel av 64 KiB. Den som kopierar ser ungefärliga storlekar, inte exakta.
Det finns ingen valvlista. Appen har minst 8 platser som ser ut som index, riktiga och kulisser, och slumpar om kulisserna vid varje skrivning. Ett mönster som inte pekar ut någon plats öppnar ett tomt valv.
Hur fungerar återställning?
Varje valv får en återställningsfras på 9 ord, vilket motsvarar 96 bitar slumpmässighet. Den öppnar en separat återställningskopia av valvet, förseglad under en nyckel som skapas från frasen.
iCloud-kopian speglar de krypterade filerna som de är. Enhetshemligheten finns inte med i den som standard, så en säkerhetskopia ensam kan inte användas för att gissa mönster.
Vad krypteras, och vad krypteras inte?
Krypteras: bilder, filmer, filer, anteckningar, miniatyrer, namn, mappar, favoriter, igenkänd text och bilders platser. Den lilla fil som håller reda på kulissvalv och gratisplanens räknare förseglas med en enhetsnyckel.
Krypteras inte av Cryptile:
- Inställningar. Tiden för automatisk låsning, sorteringsordning och reglaget för säkerhetskopiering innehåller inga hemligheter.
- Delade objekt som väntar på att läggas till. De ligger under iOS filskydd tills du öppnar ett valv.
- Behållarens totala storlek och skrivtider. Ett valv på 10 GB ser inte ut som 10 MB.
- Allt du exporterar. En kopia som sparas i Bilder eller Filer finns utanför valvet.
Vad skyddar detta mot?
- Någon som kopierar appens filer utan din nyckelring. Personen får chiffertext och kan inte prova mönster.
- Apple, eller ett intrång hos Apple. iCloud innehåller chiffertext och inga nycklar.
- Manipulation. Ändrade eller omkastade data går inte att dekryptera.
- Oss. Vi driver ingen server och har inga nycklar, så vi kan inte återställa åtkomst.
Vad skyddar detta inte mot?
- Korta mönster. Ett mönster är svagare än en lösenfras. Med dina filer och din nyckelring knäcks ett mönster på 6 celler i ett rutnät på 4×4 på några minuter med ett grafikkort. Använd 8 eller fler celler.
- Skadlig kod på en upplåst telefon. Kod som läser minnet medan ett valv är öppet ligger utom räckhåll för alla appar.
- Någon som ser dig rita. Rita där ingen kan se din hand.
- Att förlora telefonen och frasen. Valvet är borta. Det finns ingen återställning.
Panikmönstret i Plus förstör enhetshemligheten, så inget valv på telefonen öppnas förrän det har återställts.