Sommario:
Di recente, abbiamo avuto alcune domande sulla crittografia. Abbiamo parlato di come Android incorpori la crittografia e le modifiche apportate da Nougat e di trarre il massimo da tali discussioni una conoscenza delle basi è un must. Parliamo di quelle basi per un po '.
Che cos'è esattamente la crittografia?
Nel suo senso più semplice, la crittografia sta cambiando il modo in cui le informazioni vengono visualizzate, in modo che siano mascherate e l'unico modo in cui può essere visualizzata la sua vera forma è con un chiaro set di istruzioni.
Stai utilizzando la crittografia ogni giorno e potresti non saperlo perché può essere trasparente.
Esistono molti modi per farlo, specialmente quando tali informazioni sono digitali e memorizzate su un computer o un telefono. Se hai mai ricevuto un file zip o un documento di Microsoft Office che necessitava di una password per essere visualizzato, è stato crittografato. I dati che volevi vedere erano inseriti in un contenitore (pensali come una cartella sul tuo telefono o computer) e il contenitore era protetto da password. Questo metodo può essere ingrandito, anche per includere un intero disco o partizione. Per accedere a qualsiasi cosa sulla partizione crittografata, è necessario sbloccarlo con una password.
Un altro modo per crittografare i dati è quello di alterare fisicamente ciò che viene visualizzato quando lo si visualizza a meno che non sia possibile decodificarlo. Pensa a un'app in cui puoi digitare una frase e convertirà tutte le lettere in numeri da 1 a 26. Digiterai una frase e vedrai un mucchio di numeri.
Ma l'app sa che 1 equivale a a, che nessun numero superiore a 26 è valido e ha accesso al dizionario del sistema operativo per controllare l'ortografia perché 11 potrebbe essere uguale a "aa" o "k" a seconda della parola in cui viene utilizzata. Quando qualcuno altrimenti usa l'app per leggere ciò che hai digitato, sembra normale.
Alla base, la crittografia è progettata per rendere qualcosa di difficile da leggere a meno che tu non sappia come guardarla.
Ora immagina se l'ordine dei numeri fosse invertito, 13 fu aggiunto ai numeri tra 11 e 15, lo spazio bianco tra le parole fu cancellato e i dati casuali che non sarebbero stati letti furono inseriti ogni poche lettere. Il file sarebbe impossibile da leggere senza usare l'app, a differenza del primo esempio che potrebbe essere capito se qualcuno volesse provare. Ecco cosa fa un algoritmo di crittografia. Aiuta un programma a trasformare i dati di qualsiasi tipo in un pasticcio confuso che può essere facilmente decodificato dall'algoritmo stesso ma richiederebbe molto tempo e fatica per craccare senza di esso.
Gli algoritmi informatici possono fare cose che sono molto più complicate del mio semplice esempio e richiedere molto meno tempo di quanto abbia fatto per me contare sulle mie dita. La crittografia di una cartella o di un intero disco è un esempio di contenitore crittografato e i dati crittografati come il nostro esempio sopra possono anche essere inseriti in un contenitore crittografato.
Prendere i nostri dati e crittografarli, quindi assicurarsi che le app e i servizi che devono avere accesso possano decrittografarli e utilizzarli è estremamente complicato. Per fortuna, queste parti complicate sono gestite dall'hardware e dal sistema operativo e tutto ciò che dobbiamo fare è avere la password giusta o utilizzare il servizio giusto.
Crittografia e Android
Android supporta la crittografia a livello di file e contenitore (disco intero). Come piattaforma applicativa, può anche supportare metodi di crittografia di terze parti per cose come cartelle sicure o messaggi e-mail crittografati. Android supporta anche la crittografia supportata da hardware. Ciò significa che esiste un componente all'interno del SoC (System on Chip - dove vivono la CPU e la GPU) che esiste per aiutare a crittografare e decrittografare i dati al volo. La chiave effettiva per decrittografare i file viene archiviata su questo dispositivo e qualsiasi interazione dell'utente - una password, un'impronta digitale, un dispositivo attendibile, ecc. - utilizzata per accedere ai dati crittografati, richiede davvero all'elemento sicuro nell'hardware di fare il lavoro. Da Android 6.0 Marshmallow, tutte le funzioni crittografiche possono essere eseguite utilizzando questo elemento protetto e la chiave privata (il token utilizzato per crittografare e decrittografare i dati) non viene mai esposta al software. Ciò significa che senza un token da presentare all'hardware, i dati rimangono crittografati.
Android è costruito pensando alla crittografia e i tuoi dati possono essere sicuri e inaccessibili a chiunque tranne te.
Nelle impostazioni di Android, potresti anche essere in grado di mantenere il sistema crittografato ogni volta che si avvia fino all'inserimento di una password. Avere un telefono in esecuzione pieno di dati crittografati è abbastanza sicuro, ma interrompere il processo di avvio finché non viene inserita una password impedisce l'accesso ai file e funge da doppio strato di protezione. In entrambi i casi, la tua password di accesso (o PIN o sequenza o impronta digitale) accede ancora ai dati tramite l'elemento sicuro e non hai un modo per ottenere la chiave di crittografia privata effettiva, che è l'unica cosa che sa esattamente come sono stati codificati i dati e come rimetterlo insieme.
Anche i tuoi messaggi e la navigazione web possono essere crittografati. Probabilmente hai visto molti siti nel tuo browser utilizzare l'intestazione HTTPS invece se HTTP. HTTP è l'acronimo di Hypertext Transfer Protocol ed è il protocollo (pensa alle regole) che viene utilizzato per inviare e ricevere dati su Internet. HTTPS è l'acronimo di HTTP over SSL (Secure Sockets Layer), che aggiunge uno standard di crittografia al protocollo. Tutto ciò che si inserisce nel browser Web viene "criptato" con una chiave pubblica scaricata dal sito Web quando si è arrivati lì, e solo la chiave privata - che ha il server Web - può decodificarla.
Ogni volta che inserisci informazioni che ritieni private sul Web, assicurati di disporre di una connessione HTTPS sicura.
I dati inviati all'utente vengono decodificati in modo tale che solo la tua versione univoca della chiave pubblica possa decodificare. Non devi fare altro che visitare una pagina protetta con l'intestazione HTTPS. Il telefono si assicura che il server sia realmente chi afferma di essere, utilizzando un certificato e crittografa e decrittografa i dati da solo tramite l'app del browser.
I messaggi crittografati in genere richiedono un'app che devi scaricare da Google Play. App come Signal o What'sApp offrono la cosiddetta crittografia end-to-end, il che significa che l'app assegna le chiavi a singoli contatti o gruppi e solo la persona a cui è indirizzata può leggere un messaggio. BlackBerry Messenger è considerato sicuro da molti, ma poiché esiste una sola chiave globale e ogni dispositivo BlackBerry lo possiede, si discute su quanto sia sicura. BBM Protected è disponibile per i gruppi che richiedono una crittografia più elevata o crittografia end-to-end. Anche l'iMessage di Apple è crittografato end-to-end, ma solo quando tutti usano un iPhone.
Utilizzi queste app come faresti con qualsiasi altro messenger: aggiungi un contatto e invia messaggi. L'unica differenza è che quei messaggi possono essere crittografati in modo che solo le due parti interessate possano leggerli.
La crittografia è errata?
La crittografia non fa nulla da sola. È l'utente che lo rende "pericoloso".
Alcune persone in alcuni governi affermano che la disponibilità della tecnologia di crittografia per l'utente finale (che saremmo io e te) è pericolosa perché rende impossibile monitorare le comunicazioni di "persone di interesse". L'argomento può sembrare convincente quando ci viene detto che i terroristi hanno comunicato per mesi utilizzando un servizio come Facebook o WhatsApp. Ma la crittografia in sé non è un pericolo per nulla e senza di essa, nessuna delle nostre transazioni online sarebbe sicura e non avremmo alcuna garanzia che le nostre chat siano private. Allo stesso tempo, tutte le informazioni private sui nostri telefoni sarebbero facilmente accessibili da chiunque disponga degli strumenti e della motivazione giusti.
Se rinunciamo a qualsiasi diritto di crittografia, rinunciamo alla nostra privacy. La privacy fa paura al governo perché vogliono sapere quando non siamo completamente rispettosi della legge. L'idea che i potenziali criminali possano essere catturati e che alcuni criminali siano prevenuti è grande, ma richiede che anche i cittadini rispettosi della legge che vogliono fare qualcosa di semplice come comprare da Amazon rinuncino a questo diritto.
Solo tu puoi decidere se pensi che la crittografia debba essere tolta dal settore privato per un bene più grande, ma devi sapere che la tecnologia stessa non fa male. Come la maggior parte delle cose, può essere abusato dall'utente.
Questo in realtà graffia solo la superficie di ciò che è la crittografia e come funziona. ci sono molte risorse online che approfondiscono tutti i dettagli tecnici. Ma questo dovrebbe darti una comprensione di base di tutto, e la prossima volta che vedrai qualcuno parlare dei meriti della crittografia end-to-end o dei vantaggi di una particolare piattaforma, sarai in grado di capire e partecipare.
Aggiornamento: febbraio 2018: questo post è stato verificato per aggiornamento e aggiornato in modo che le persone con domande sulle basi della crittografia possano iniziare sulla strada per capirlo.