Cryptile

Cryptiles sikkerhedsarkitektur, lag for lag

Opdateret

Cryptile krypterer hver fil, miniature og indeks med AES-256-GCM, med nøgler, der laves på din telefon ud fra det mønster, du tegner. Der er ingen konto og ingen server, og udvikleren har aldrig nøgler.

Hent Cryptile i App Store

Den enkle opsummering står på sikkerhedssiden.

Hvad skal jeg vide?

  • Dit mønster er kilden til hver nøgle. Intet læsbart gemmes uden det.
  • Størrelser og antal bokse sløres. Filer udfyldes, og reserve-pladser skjuler, hvor mange bokse der findes.
  • Du kan selv tjekke det. Krypteringskernen er offentliggjort til gennemgang (source-available) med en trusselsmodel og testvektorer: github.com/jasonbrelsford/cryptile-core.

Hvordan bliver et mønster til en nøgle?

  1. Mønsteret skrives som gitterets størrelse efterfulgt af de felter, du rørte, i rækkefølge.
  2. Det blandes med en enhedshemmelighed på 32 byte, der opbevares i iPhones nøglering kun for denne enhed.
  3. PBKDF2-HMAC-SHA512 køres 600.000 gange over det. Hvert gæt koster lige så meget arbejde.
  4. HKDF-SHA256 deler resultatet i en opslagsnøgle og en indpakningsnøgle.
  5. Opslagsnøglen navngiver boksens indeksfil. Indpakningsnøglen åbner den.

Inde i indekset ligger boksens tilfældige hovednøgle på 256 bit. HKDF udleder separate undernøgler fra den til filer, miniaturer og indekset. Ingen nøgle bruges til to formål.

Hvordan krypteres filer?

Små emner, som miniaturer og indekset, forsegles i ét stykke med AES-256-GCM og en tilfældig nonce.

Store filer bruger et STREAM-layout i bidder på 1 MB. Hver bid har sin egen nonce og registrerer sin position, og om den er den sidste. Klippes bidder væk, byttes de om eller udskiftes de, fejler dekrypteringen.

GCM godkender også hver header, så en ændret fil afvises i stedet for at blive vist.

Hvordan skjules størrelser og antal bokse?

Hver lille blob og hver sidste bid af en fil udfyldes til et multiplum af 64 KiB. En, der kopierer, ser omtrentlige størrelser, ikke præcise.

Der er ingen liste over bokse. Appen holder mindst 8 pladser, der ligner indekser, rigtige og afledninger, og slår afledningerne om ved hver skrivning. Et mønster, der ikke svarer til nogen plads, åbner en tom boks.

Hvordan virker gendannelse?

Hver boks får en gendannelsesfrase på 9 ord, som er 96 bit tilfældighed. Den åbner en separat gendannelseskopi af boksen, forseglet under en nøgle lavet ud fra frasen.

iCloud-backuppen spejler de krypterede filer, som de er. Enhedshemmeligheden er som standard ikke med i den, så en backup alene kan ikke bruges til at gætte mønstre.

Hvad er krypteret, og hvad er ikke?

Krypteret: billeder, videoer, filer, noter, miniaturer, navne, mapper, favoritter, genkendt tekst og billeders placeringer. Den lille fil, der holder styr på afledninger og tællinger i den gratis plan, er forseglet med en enhedsnøgle.

Ikke krypteret af Cryptile:

  • Indstillinger. Tiden for automatisk lås, sorteringsrækkefølgen og kontakten for backup indeholder ingen hemmeligheder.
  • Delte emner, der venter på at blive tilføjet. De ligger under iOS' filbeskyttelse, til du åbner en boks.
  • Beholderens samlede størrelse og skrivetidspunkter. En boks på 10 GB ligner ikke en på 10 MB.
  • Alt, du eksporterer. En kopi gemt i Fotos eller Arkiver er uden for boksen.

Hvad beskytter dette mod?

  • En, der kopierer appens filer uden din nøglering. De får chiffertekst og kan ikke prøve mønstre.
  • Apple eller et brud hos Apple. iCloud indeholder chiffertekst og ingen nøgler.
  • Manipulation. Ændrede eller omrokerede data kan ikke dekrypteres.
  • Os. Vi driver ingen server og har ingen nøgler, så vi kan ikke nulstille adgangen.

Hvad beskytter dette ikke mod?

  • Korte mønstre. Et mønster er svagere end en adgangsfrase. Med dine filer og din nøglering falder et mønster på 6 felter på et 4×4-gitter på få minutter på en GPU. Brug 8 eller flere felter.
  • Malware på en oplåst telefon. Kode, der læser hukommelsen, mens en boks er åben, er uden for enhver apps rækkevidde.
  • En, der ser dig tegne. Tegn, hvor ingen kan se din hånd.
  • At miste telefonen og frasen. Så er boksen væk. Der er ingen nulstilling.

Panikmønsteret i Plus ødelægger enhedshemmeligheden, så ingen boks på telefonen åbner, før den er gendannet.

Hent Cryptile i App Store