L'architettura di sicurezza di Cryptile, livello per livello
Cryptile cifra ogni file, miniatura e indice con AES-256-GCM, usando chiavi create sul tuo telefono a partire dallo schema che disegni. Non c'è nessun account e nessun server, e lo sviluppatore non detiene mai le chiavi.
Scarica Cryptile dall'App Store
Il riassunto semplice è nella pagina sulla sicurezza.
Cosa devo sapere?
- Il tuo schema è l'origine di ogni chiave. Senza di esso non viene salvato nulla di leggibile.
- Dimensioni e numero di casseforti sono offuscati. Ai file viene aggiunto un riempimento (padding) e degli spazi esca nascondono quante casseforti esistono.
- Puoi verificarlo. Il nucleo di cifratura è pubblicato per la verifica (codice sorgente consultabile) con un modello di minaccia e vettori di test: github.com/jasonbrelsford/cryptile-core.
Come diventa una chiave uno schema?
- Lo schema viene scritto come la dimensione della griglia seguita dalle celle che hai toccato, in ordine.
- Viene unito a un segreto del dispositivo di 32 byte, conservato nel Portachiavi dell'iPhone solo per questo dispositivo.
- PBKDF2-HMAC-SHA512 viene eseguito 600.000 volte su di esso. Ogni tentativo costa altrettanto lavoro.
- HKDF-SHA256 divide il risultato in una chiave di ricerca e una chiave di incapsulamento.
- La chiave di ricerca dà il nome al file indice della cassaforte. La chiave di incapsulamento lo apre.
Dentro l'indice c'è la chiave principale casuale a 256 bit della cassaforte. HKDF ne ricava sottochiavi separate per i file, le miniature e l'indice. Nessuna chiave viene usata per due scopi.
Come vengono cifrati i file?
Gli elementi piccoli, come le miniature e l'indice, vengono sigillati in un unico pezzo con AES-256-GCM e un nonce casuale.
I file grandi usano una struttura STREAM a blocchi da 1 MB. Ogni blocco ha il proprio nonce e registra la sua posizione e se è l'ultimo. Tagliare, riordinare o scambiare i blocchi fa fallire la decifratura.
GCM autentica anche ogni intestazione, quindi un file modificato viene rifiutato invece che mostrato.
Come vengono nascosti dimensioni e numero di casseforti?
Ogni piccolo blob e ogni blocco finale di un file viene riempito fino a un multiplo di 64 KiB. Chi copia i file vede dimensioni approssimative, non esatte.
Non c'è un elenco di casseforti. L'app mantiene almeno 8 spazi con la forma di un indice, veri ed esca, e rigenera le esche a ogni scrittura. Uno schema che non corrisponde a nessuno spazio apre una cassaforte vuota.
Come funziona il recupero?
Ogni cassaforte riceve una frase di recupero di 9 parole, cioè 96 bit di casualità. Apre una copia di recupero separata della cassaforte, sigillata con una chiave ricavata dalla frase.
Il backup iCloud rispecchia i file cifrati così come sono. Il segreto del dispositivo non è incluso per impostazione predefinita, quindi un backup da solo non basta per provare a indovinare gli schemi.
Cosa è cifrato e cosa no?
Cifrati: foto, video, file, note, miniature, nomi, cartelle, preferiti, testo riconosciuto e posizioni delle foto. Il piccolo file che tiene traccia delle esche e dei conteggi del piano gratuito è sigillato con una chiave del dispositivo.
Non cifrati da Cryptile:
- Le impostazioni. Il tempo di blocco automatico, l'ordinamento e l'interruttore del backup non contengono segreti.
- Gli elementi condivisi in attesa di essere aggiunti. Restano sotto la protezione dei file di iOS finché non apri una cassaforte.
- La dimensione totale del contenitore e gli orari di scrittura. Una cassaforte da 10 GB non sembra da 10 MB.
- Tutto ciò che esporti. Una copia salvata in Foto o in File è fuori dalla cassaforte.
Da che cosa protegge?
- Chi copia i file dell'app senza il tuo Portachiavi. Ottiene testo cifrato e non può provare gli schemi.
- Apple, o una violazione dei dati presso Apple. iCloud contiene testo cifrato e nessuna chiave.
- Le manomissioni. I dati modificati o riordinati non si decifrano.
- Noi. Non gestiamo server e non deteniamo chiavi, quindi non possiamo reimpostare l'accesso.
Da che cosa non protegge?
- Gli schemi corti. Uno schema è più debole di una passphrase. Con i tuoi file e il tuo Portachiavi, uno schema di 6 celle su una griglia 4×4 cade in pochi minuti con una GPU. Usa 8 celle o più.
- Il malware su un telefono sbloccato. Un codice che legge la memoria mentre una cassaforte è aperta è fuori dalla portata di qualsiasi app.
- Chi ti guarda mentre disegni. Disegna dove nessuno può vedere la tua mano.
- Perdere il telefono e la frase. La cassaforte è persa. Non c'è ripristino.
Lo schema di panico di Plus distrugge il segreto del dispositivo, quindi nessuna cassaforte sul telefono si apre finché non viene ripristinata.