Se usato correttamente, la crittografia end-to-end può aiutare a proteggere il contenuto dei messaggi, del testo e persino dei file dall’essere compreso da chiunque tranne i destinatari previsti. Può anche essere usato per dimostrare che un messaggio proveniva da una persona in particolare e non è stato alterato.
Negli ultimi anni, gli strumenti di crittografia end-to-end sono diventati più utilizzabili., Strumenti di messaggistica sicuri come Signal (iOS o Android)— per chiamate vocali, videochiamate, chat e condivisione di file-sono buoni esempi di app che utilizzano la crittografia end-to-end per crittografare messaggi tra mittente e destinatario. Questi strumenti rendono i messaggi illeggibili agli intercettatori sulla rete, così come ai fornitori di servizi stessi.
Detto questo, alcune implementazioni di crittografia end-to-end possono essere difficili da capire e utilizzare., Prima di iniziare a utilizzare strumenti di crittografia end-to-end, si consiglia vivamente di prendere il tempo per capire le basi della crittografia a chiave pubblica.
Il tipo di crittografiadi cui stiamo parlando in questa guida, su cui si basano gli strumenti di crittografia end-to-end, è chiamato crittografia a chiave pubblica o crittografia a chiave pubblica. Per leggere su altri tipi di crittografia, controlla il nostro Cosa dovrei sapere sulla crittografia? guida.,
Comprendere i principi alla base della crittografia a chiave pubblica ti aiuterà a utilizzare questi strumenti con successo. Ci sono cose che la crittografia a chiave pubblica può e non può fare, ed è importante capire quando e come si potrebbe desiderare di usarlo.
Cosa fa la crittografia? Link di ancoraggio
Ecco come funziona la crittografia quando si invia un messaggio segreto:
- Un messaggio chiaramente leggibile (“ciao mamma”) viene crittografato in un messaggio criptato che è incomprensibile a chiunque lo guardi (“OhsieW5ge+osh1aehah6”).,
- Il messaggio crittografato viene inviato su Internet, dove altri vedono il messaggio criptato, “OhsieW5ge+osh1aehah6”
- Quando arriva a destinazione, il destinatario previsto, e solo il destinatario previsto, ha un modo per decodificarlo nel messaggio originale (“ciao mamma”).
Crittografia simmetrica: una storia di passaggio di note segrete con un unico link di ancoraggio chiave
Julia vuole inviare un biglietto al suo amico César che dice “Incontrami in giardino”, ma non vuole che i suoi compagni di classe lo vedano.,
La nota di Julia passa attraverso un gruppo di compagni di classe intermedi prima di raggiungere César. Sebbene neutrali, gli intermediari sono ficcanaso e possono facilmente sbirciare il messaggio prima di passarlo. Stanno anche facendo copie di questo messaggio prima di passarlo e notare l’ora in cui Julia sta inviando questo messaggio a César.
Julia decide di crittografare il suo messaggio con una chiave di 3, spostando le lettere dell’alfabeto di tre. Quindi A sarebbe D, B sarebbe E, ecc., Se Julia e César usano una semplice chiave di 3 per crittografare e una chiave di 3 per decifrare , allora il loro messaggio criptato senza senso è facile da decifrare. Qualcuno potrebbe “forzare bruta” la chiave provando tutte le possibili combinazioni. In altre parole, possono indovinare con insistenza fino a quando non ottengono la risposta per decifrare il messaggio.
Il metodo di spostamento dell’alfabeto di tre caratteri è un esempio storico di crittografia utilizzato da Giulio Cesare: il cifrario Cesare., Quando c’è una chiave per crittografare e decrittografare, come in questo esempio dove è un semplice numero di 3, si chiama crittografia simmetrica.
Il cifrario Caesar è una forma debole di crittografia simmetrica. Per fortuna, la crittografia ha percorso una lunga strada dal cifrario Caesar. Utilizzando la matematica stupefacente e l’aiuto dei computer, una chiave può essere generato che è molto, molto più grande, ed è molto, molto più difficile da indovinare. La crittografia simmetrica ha fatto molta strada e ha molti scopi pratici.,
Tuttavia, la crittografia simmetrica non risolve il seguente problema: cosa succede se qualcuno potrebbe semplicemente origliare e aspettare che Julia e César condividano la chiave e rubare la chiave per decifrare i loro messaggi? E se aspettassero che Julia e César dicessero il segreto per decifrare i loro messaggi per 3? E se Julia e César fossero in diverse parti del mondo e non avessero intenzione di incontrarsi di persona?
Come possono César e Julia aggirare questo problema?
Diciamo che Julia e César hanno imparato a conoscere la crittografia a chiave pubblica., È improbabile che un intercettatore catturi Julia o César che condividono la chiave di decrittazione, perché non hanno bisogno di condividere la chiave di decrittazione. Nella crittografia a chiave pubblica, le chiavi di crittografia e decrittografia sono diverse.
Crittografia a chiave pubblica: un racconto di due chiavi Anchor link
Diamo un’occhiata al problema più da vicino: come fa il mittente a inviare la chiave di decrittazione simmetrica al destinatario senza che qualcuno spi anche quella conversazione?, In particolare, cosa succede se il mittente e il destinatario sono fisicamente lontani l’uno dall’altro, ma vogliono essere in grado di conversare senza occhi indiscreti?
Crittografia a chiave pubblica (nota anche crittografia asimmetrica) ha una soluzione accurata per questo. Consente a ogni persona in una conversazione di creare due chiavi: una chiave pubblica e una chiave privata. Le due chiavi sono collegate e sono in realtà numeri molto grandi con determinate proprietà matematiche. Se si codifica un messaggio utilizzando la chiave pubblica di una persona, può decodificarlo utilizzando la chiave privata corrispondente.,
Julia e César stanno ora utilizzando i loro due computer per inviare messaggi crittografati utilizzando la crittografia a chiave pubblica , invece di passare note. I loro compagni di classe che passano le note sono ora sostituiti con i computer. Ci sono intermediari tra Julia e César: i rispettivi punti Wi-Fi di Julia e César, i fornitori di servizi Internet e i loro server di posta elettronica. In realtà, potrebbero essere centinaia di computer tra Julia e César a facilitare questa conversazione., Questi intermediari stanno facendo e memorizzando copie dei messaggi di Julia e César ogni volta che vengono passati.
A loro non importa che gli intermediari possano vederli comunicare, ma vogliono che il contenuto dei loro messaggi rimanga privato.
In primo luogo, Julia ha bisogno della chiave pubblica di César. César invia la sua chiave pubblica (file) su un canale insicuro, come l’e-mail non crittografata. Non gli importa se gli intermediari hanno accesso ad esso perché la chiave pubblica è qualcosa che può condividere liberamente., Si noti che la metafora chiave si rompe qui intorno; non è giusto pensare alla chiave pubblica come una chiave letterale. César invia la chiave pubblica su più canali, in modo che gli intermediari non possano inviare una delle proprie chiavi pubbliche a Julia.
Julia riceve il file della chiave pubblica di César. Ora Julia può crittografare un messaggio a lui! Scrive il suo messaggio: “Incontriamoci in giardino.”
Invia il messaggio crittografato. È criptato solo per César.,
Sia Julia che César possono capire il messaggio, ma sembra incomprensibile a chiunque provi a leggerlo. Gli intermediari sono in grado di vedere i metadati, come la riga dell’oggetto, le date, il mittente e il destinatario.
Poiché il messaggio è crittografato con la chiave pubblica di César, è destinato solo a César e al mittente (Julia) per leggere il messaggio.
César può leggere il messaggio usando la sua chiave privata.,
Per ricapitolare:
- La crittografia a chiave pubblica consente a qualcuno di inviare la propria chiave pubblica in un canale aperto e insicuro.
- Avere la chiave pubblica di un amico consente di crittografare i messaggi a loro.
- La tua chiave privata viene utilizzata per decrittografare i messaggi crittografati.,
- Gli intermediari-come i fornitori di servizi di posta elettronica, i fornitori di servizi Internet e quelli sulle loro reti-sono in grado di vedere i metadati per tutto questo tempo: chi sta inviando cosa a chi, quando, a che ora viene ricevuto, qual è l’oggetto, che il messaggio è crittografato e così via.
Un altro problema: che dire della rappresentazione? Link di ancoraggio
Nell’esempio con Julia e César, gli intermediari sono in grado di vedere i metadati per tutto questo tempo.
Diciamo che uno degli intermediari è un cattivo attore., Per cattivo attore, intendiamo qualcuno che intende farti del male cercando di rubare o interferire con le tue informazioni. Per qualsiasi motivo, questo cattivo attore vuole spiare il messaggio di Julia a César.
Diciamo che questo cattivo attore è in grado di ingannare Julia nel prendere la chiave pubblica sbagliata file per César. Julia non si accorge che questa non è in realtà la chiave pubblica di César. Il cattivo attore riceve il messaggio di Julia, lo sbircia e lo passa a César.,
Il cattivo attore potrebbe anche decidere di cambiare il contenuto del file prima di passarlo a César.
Il più delle volte, il cattivo attore decide di lasciare il contenuto non modificato. Così, il cattivo attore inoltra il messaggio di Julia a César come se nulla fosse accaduto, César sa di incontrare Julia in giardino, e ~ sussultare~ con loro sorpresa, il cattivo attore è anche lì.
Questo è noto come attacco man-in-the-middle ., È anche conosciuto come attacco machine-in-the-middle .
Fortunatamente, la crittografia a chiave pubblica ha un metodo per prevenire gli attacchi man-in-the-middle.
La crittografia a chiave pubblica consente di ricontrollare l’identità digitale di qualcuno con la sua identità reale attraverso una verifica chiamata “fingerprint.”Questo è fatto meglio nella vita reale, se sei in grado di incontrare il tuo amico di persona., Avresti la tua impronta digitale della chiave pubblica disponibile e il tuo amico controlla che ogni singolo carattere dell’impronta digitale della chiave pubblica corrisponda a quello che hanno per l’impronta digitale della chiave pubblica. È un po ‘ noioso, ma vale davvero la pena farlo.
Altre app crittografate end-to-end hanno anche un modo per verificare la presenza di impronte digitali, anche se ci sono alcune variazioni su come viene chiamata la pratica e su come viene implementata., In alcuni casi, leggerai ogni carattere dell’impronta digitale con estrema attenzione e ti assicurerai che corrisponda a ciò che vedi sullo schermo, rispetto a ciò che il tuo amico vede sullo schermo. In altri, è possibile eseguire la scansione di un codice QR sul telefono di un’altra persona al fine di “verificare” il loro dispositivo.”Nell’esempio seguente, Julia e César sono in grado di incontrarsi di persona per verificare le impronte digitali del telefono scansionando i codici QR dell’altro utilizzando la fotocamera del telefono.,
Se non hai il lusso di incontrarti di persona, puoi rendere disponibile la tua impronta digitale attraverso un altro canale sicuro, come un’altra app di messaggistica crittografata end-to-end o un sistema di chat, o un sito HTTPS .
Nell’esempio seguente, César invia la sua impronta digitale della chiave pubblica a Julia utilizzando un’app crittografata end-to-end diversa con il suo smartphone.
Per rivedere:
- Un attacco man-in-the-middle è quando qualcuno intercetta il tuo messaggio a qualcun altro., L’attaccante può modificare il messaggio e passarlo insieme o scegliere di origliare semplicemente.
- La crittografia a chiave pubblica consente di affrontare gli attacchi man-in-the-middle fornendo modi per verificare le identità del destinatario e del mittente. Questo viene fatto attraverso la verifica delle impronte digitali.
- Oltre ad essere utilizzato per crittografare un messaggio al tuo amico, la chiave pubblica del tuo amico viene fornita anche con qualcosa chiamato “impronta digitale della chiave pubblica.”Puoi usare l’impronta digitale per verificare l’identità del tuo amico.,
- La chiave privata viene utilizzata per crittografare i messaggi, nonché per firmare digitalmente i messaggi come te.
Segno del Times Anchor link
Crittografia a chiave pubblica rende così non è necessario contrabbandare la chiave di decrittazione al destinatario del messaggio segreto perché quella persona ha già la chiave di decrittazione. La chiave di decrittazione è la loro chiave privata. Pertanto, tutto ciò che serve per inviare un messaggio è la chiave di crittografia pubblica corrispondente del destinatario., E puoi ottenerlo facilmente perché il tuo destinatario può condividere la propria chiave pubblica con chiunque, poiché le chiavi pubbliche vengono utilizzate solo per crittografare messaggi, non per decrittografarli.
Ma c’è di più! Sappiamo che se si crittografa un messaggio con una determinata chiave pubblica, può essere decifrato solo dalla chiave privata corrispondente. Ma è vero anche il contrario. Se si crittografa un messaggio con una determinata chiave privata, può essere decifrato solo dalla sua chiave pubblica corrispondente.
Perché questo sarebbe utile?, A prima vista, non sembra esserci alcun vantaggio nell’inviare un messaggio segreto con la tua chiave privata che chiunque abbia la tua chiave pubblica può decifrare. Ma supponiamo che tu abbia scritto un messaggio che diceva “Prometto di pagare Aazul 1 100” e poi lo abbia trasformato in un messaggio segreto usando la tua chiave privata. Chiunque potrebbe decifrare quel messaggio, ma solo una persona potrebbe averlo scritto: la persona che ha la tua chiave privata. E se hai fatto un buon lavoro mantenendo la tua chiave privata al sicuro, questo significa che tu, e solo tu, avresti potuto scriverlo., In effetti, crittografando il messaggio con la tua chiave privata, hai fatto in modo che potesse provenire solo da te. In altre parole, hai fatto la stessa cosa con questo messaggio digitale come facciamo quando firmiamo un messaggio nel mondo reale.
La firma rende anche i messaggi a prova di manomissione. Se qualcuno provasse a cambiare il tuo messaggio da ” Prometto di pagare Aazul 1 100 “a” Prometto di pagare Ming Ming 100″, non sarebbero in grado di firmarlo nuovamente usando la tua chiave privata. Quindi, un messaggio firmato garantisce che provenga da una certa fonte e non sia stato incasinato durante il transito.,
In revisione: utilizzando la crittografia a chiave pubblica Anchor link
Rivediamo. Crittografia a chiave pubblica consente di crittografare e inviare messaggi in modo sicuro a chiunque di cui si conosce la chiave pubblica.
Se altri conoscono la tua chiave pubblica:
- Possono inviarti messaggi segreti che solo tu puoi decodificare usando la tua chiave privata corrispondente e,
- Puoi firmare i tuoi messaggi con la tua chiave privata in modo che i destinatari sappiano che i messaggi potrebbero provenire solo da te.,
E se conosci la chiave pubblica di qualcun altro:
- Puoi decodificare un messaggio firmato da loro e sapere che proviene solo da loro.
Dovrebbe essere chiaro ormai che la crittografia a chiave pubblica diventa più utile quando più persone conoscono la tua chiave pubblica. La chiave pubblica è condivisibile, in quanto è un file che puoi trattare come un indirizzo in una rubrica: è pubblico, la gente sa trovarti lì, puoi condividerlo ampiamente e la gente sa crittografare i messaggi lì., Puoi condividere la tua chiave pubblica con chiunque voglia comunicare con te; non importa chi la vede.
La chiave pubblica viene abbinata a un file chiamato chiave privata. Puoi pensare alla chiave privata come a una chiave reale che devi proteggere e tenere al sicuro. La chiave privata viene utilizzata per crittografare e decrittografare i messaggi.
Dovrebbe anche essere evidente che è necessario mantenere la chiave privata molto sicura. Se la tua chiave privata viene accidentalmente cancellata dal tuo dispositivo, non sarai in grado di decifrare i tuoi messaggi crittografati., Se qualcuno copia la tua chiave privata (sia tramite accesso fisico al tuo computer, malware sul tuo dispositivo, o se pubblichi o condividi accidentalmente la tua chiave privata), altri possono leggere i tuoi messaggi crittografati. Possono fingere di essere voi e firmare messaggi sostenendo che sono stati scritti da voi.
Non è inaudito che i governi rubino chiavi private dai computer di determinate persone (portando via i computer o mettendo malware su di essi utilizzando l’accesso fisico o attacchi di phishing)., Questo annulla la protezione crittografia a chiave privata offre. Questo è paragonabile a dire che si potrebbe avere una serratura unpickable sulla tua porta, ma qualcuno potrebbe ancora essere in grado di borseggiarti in strada per la chiave, copiare la chiave e sgattaiolare di nuovo in tasca e quindi essere in grado di entrare nella vostra casa senza nemmeno prendere la serratura.
Questo torna alla modellazione delle minacce: determina quali sono i tuoi rischi e affrontali in modo appropriato., Se ritieni che qualcuno avrebbe avuto grossi problemi per cercare di ottenere la tua chiave privata, potresti non voler utilizzare una soluzione in-browser per la crittografia end-to-end. Si può invece scegliere di avere solo la chiave privata memorizzata sul proprio computer o telefono, piuttosto che il computer di qualcun altro (come nel cloud o su un server).
Revisione della crittografia a chiave pubblica e un esempio specifico: PGP. Anchor link
Quindi, abbiamo esaminato la crittografia simmetrica e la crittografia a chiave pubblica come spiegazioni separate., Tuttavia, dovremmo notare che la crittografia a chiave pubblica utilizza anche la crittografia simmetrica! La crittografia a chiave pubblica in realtà crittografa solo una chiave simmetrica, che viene quindi utilizzata per decifrare il messaggio effettivo.
PGP è un esempio di protocollo che utilizza sia la crittografia simmetrica che la crittografia a chiave pubblica (asimmetrica). Funzionalmente, l’utilizzo di strumenti di crittografia end-to-end come PGP ti renderà molto consapevole delle pratiche di crittografia a chiave pubblica.
Che cosa sono esattamente le chiavi. E come sono le chiavi legate insieme?, Anchor link
Crittografia a chiave pubblica si basa sulla premessa che ci sono due chiavi: una chiave per la crittografia e una chiave per la decrittografia. Come funziona fondamentalmente è possibile inviare una chiave su un canale insicuro, come Internet. Questa chiave è chiamata chiave pubblica. Puoi pubblicare questa chiave pubblica ovunque, in luoghi molto pubblici, e non compromettere la sicurezza dei tuoi messaggi crittografati.,
Questa chiave condivisibile è la chiave pubblica: un file che puoi trattare come un indirizzo in una rubrica: è pubblico, la gente sa trovarti lì, puoi condividerlo ampiamente e la gente sa crittografare lì.
La chiave pubblica viene abbinata a un file chiamato chiave privata. Puoi pensare alla chiave privata come a una chiave reale che devi proteggere e tenere al sicuro. La tua chiave privata viene utilizzata per crittografare e decifrare i messaggi.,
Esamineremo la generazione della chiave in un algoritmo di crittografia a chiave pubblica comunemente usato chiamato RSA (Rivest-Shamir–Adleman). RSA viene spesso utilizzato per generare coppie di chiavi per PGP email crittografate.
La chiave pubblica e la chiave privata sono generate insieme e legate insieme. Entrambi si basano sugli stessi numeri primi segreti molto grandi. La chiave privata è la rappresentazione di due numeri primi segreti molto grandi., Metaforicamente, la chiave pubblica è il numero del prodotto: è composta dagli stessi due numeri primi molto grandi usati per creare la chiave privata. La cosa sorprendente è che è molto difficile capire quali due grandi numeri primi hanno creato la chiave pubblica.
Questo problema è noto come prime factoring e alcune implementazioni della crittografia a chiave pubblica sfruttano questa difficoltà per i computer per risolvere quali sono i numeri primi dei componenti., La crittografia moderna ci consente di utilizzare numeri primi scelti a caso, ridicolmente giganteschi che sono difficili da indovinare sia per gli esseri umani che per i computer.
E, la forza qui è che le persone possono condividere le loro chiavi pubbliche su canali insicuri per lasciarli crittografare l’un l’altro! Nel processo, non rivelano mai quale sia la loro chiave privata (numeri primi segreti), perché non devono mai inviare la loro chiave privata per decifrare i messaggi in primo luogo.
Ricorda: affinché la crittografia a chiave pubblica funzioni, il mittente e il destinatario hanno bisogno delle rispettive chiavi pubbliche.,
Un altro modo in cui puoi pensarlo: la chiave pubblica e la chiave privata sono generate insieme, come un simbolo yin-yang. Sono intrecciati.
La chiave pubblica è ricercabile e condivisibile. Puoi distribuirlo a chiunque. Puoi pubblicarlo sui tuoi social media, se non ti dispiace che rivela l’esistenza del tuo indirizzo email. Si può mettere sul tuo sito web personale. Si può dare fuori.
La chiave privata deve essere tenuta al sicuro e chiusa. Ne hai solo uno., Non si vuole perdere, o condividerlo, o fare copie di esso che può galleggiare intorno, dal momento che rende più difficile mantenere i vostri messaggi privati privati.
Come funziona PGP Anchor link
Vediamo come potrebbe funzionare la crittografia a chiave pubblica, usando ancora l’esempio di PGP. Diciamo che vuoi inviare un messaggio segreto a Aarav:
- Aarav ha una chiave privata e, come una buona crittografia a chiave pubblica utente, ha messo la sua chiave pubblica connessa sulla sua pagina web (HTTPS).
- Si scarica la sua chiave pubblica.,
- Si crittografa il messaggio segreto utilizzando la chiave pubblica di Aarav e inviarlo a lui.
- Solo Aarav può decodificare il tuo messaggio segreto perché è l’unico con la chiave privata corrispondente.
Pretty Good Privacy si occupa principalmente delle minuzie della creazione e dell’utilizzo di chiavi pubbliche e private. È possibile creare una coppia di chiavi pubblica/privata con essa, proteggere la chiave privata con una password e utilizzarla e la chiave pubblica per firmare e crittografare il testo.,
Se c’è una cosa che devi togliere da questa panoramica, è questa: tieni la tua chiave privata memorizzata in un posto sicuro e proteggila con una passphrase lunga.
Metadati: ciò che la crittografia a chiave pubblica non può fare Anchor link
La crittografia a chiave pubblica consiste nel garantire che il contenuto di un messaggio sia segreto, genuino e non manomesso. Ma non è l’unica preoccupazione per la privacy che potresti avere. Come abbiamo notato, le informazioni sui tuoi messaggi possono essere rivelatrici quanto il loro contenuto (vedi “metadati”).,
Se scambiate messaggi cifrati con un dissidente conosciuto nel vostro paese, potreste essere in pericolo per la semplice comunicazione con loro, anche se questi messaggi non sono decodificati. In alcuni paesi si può affrontare la reclusione semplicemente per aver rifiutato di decodificare i messaggi crittografati.
Mascherare che stai comunicando con una persona in particolare è più difficile. Nell’esempio di PGP, un modo per farlo è per entrambi di utilizzare account di posta elettronica anonimi, e accedervi utilizzando Tor., Se si esegue questa operazione, PGP sarà ancora utile, sia per mantenere i messaggi di posta elettronica privati da altri, e dimostrando gli uni agli altri che i messaggi non sono stati manomessi.
Ora che hai imparato a conoscere la crittografia a chiave pubblica, prova a utilizzare uno strumento di crittografia end-to-end come Signal per iOS o Android.