Riservatezza e messaggi segreti

Video-aperitivo scientifico #3 – San Valentino: amore e crittografia

Devi fare un acquisto su Internet, inviando in rete il numero della tua carta di credito senza che questo venga “rubato”. Intanto, a Verona, Giulietta e Romeo stanno cercando di scambiarsi dei messaggi segreti per darsi un appuntamento romantico a San Valentino.

Forse non ci avevi mai pensato, ma avete tutti e tre lo stesso problema e potete risolverlo con un “trucco” sorprendente

Gustati il nuovo video-aperitivo per scoprire come si fa, e poi continua con l’approfondimento qui di seguito. Buona degustazione scientifica!

Con il termine “crittografia”, dal grego κρυπτóς (kryptós) ovvero “nascosto” e γραφία (graphía) che significa “scrittura”, si indica quell’insieme di metodi che hanno lo scopo di nascondere il significato di un’informazione a chi non dovrebbe essere autorizzato a conoscerlo e, allo stesso tempo, garantire a chi invece è autorizzato, di poterlo comprendere.

Sembra un problema da spie, da agenti segreti, in realtà siamo sicuri che ci hai già avuto a che fare innumerevoli volte. Per esempio: hai mai inserito la tua password per accedere a facebook, a twitter, alla tua casella di posta o hai mai fatto della transazioni economiche on line? Bene, allora la crittografia ti ha già aiutato più di una volta. Se ci pensi, in ognuno di questi esempi hai avuto bisogno di inviare dei dati riservati che solo tu ed il destinatario (pensalo come il “sito web” in questione) avreste dovuto conoscere, come le tue password o i dati della tua “mastercard”.

Soffermiamoci ad esempio sull’invio del numero della tua carta di credito. Ovviamente non esiste un cavo riservato steso direttamente tra te ed il destinatario, ma il tuo codice passa tra “le mani” di vari “individui” (altri nodi della rete) che a loro volta lo ripassano ad altri soggetti, e così via fino all’arrivo a destinazione.

In un attimo la tua carta di credito ha fatto il giro del mondo in questo frenetico passaparola, senza che nessuno degli intermediari sia stato in grado di capirne il contenuto, pur avendo avuto la possibilità di leggerlo senza troppi problemi. Il destinatario invece l’ha compreso correttamente. La tua transazione economica è andata a buon fine, complimenti! È la scienza implementata “nel tuo pc” che ti ha permesso di fare questo. Ma come ha fatto? : )

Crittografia tradizionale: la love story di Alice e Bob

Andiamo con ordine. Per capire concretamente di cosa stiamo parlando, caliamoci in una metafora romantica, ma lasciamo ancora un attimo da parte gli amanti veronesi e parliamo del caso di due loro “colleghi”. Alice e Bob sono innamorati e devono scambiarsi dei messaggi appassionati in occasione del prossimo San Valentino. Possono farlo inviando un messaggio dentro una scatola tramite la postina Eve, che non vede l’ora di leggere le conversazioni e vendere lo scoop ad una rivista di gossip. Alice e Bob tengono molto alla loro privacy, ma nel contempo vorrebbero potersi scrivere. Fortunatamente si sono incontrati in precedenza per scambiarsi in sicurezza la copia di una chiave segreta, che solo loro due possiedono, in grado di aprire un certo lucchetto.

Decidono quindi di spedire ogni messaggio nella scatola chiusa col lucchetto concordato e consegnarlo ad Eve perché lo porti a destinazione, così facendo solo chi ha la chiave può comprendere l’informazione. Una volta consegnato, il destinatario potrà usare copia della chiave per aprire la scatola ed eventualmente inviare indietro la risposta con lo stesso stratagemma. Vediamo le corrispondenze col problema dell’utilizzo della tua mastercard su Internet:

  • Il tuo pc > Bob (o Alice),
  • Il destinatario > Alice (o Bob),
  • i messaggi segreti > numero della tua carta di credito,
  • Eve > gli intermediari,
  • La chiave di cifratura > il modo con cui Alice e Bob possono far sì che Eve trasporti l’informazione, senza possibilità di comprenderla.

Uhmmm…funziona! Questo tipo di crittografia è detta a chiave simmetrica, proprio perché si usa la stessa chiave crittografica per cifrare e per decifrare il messaggio. Ovviamente la chiave deve essere riservata ai due innamorati ed Eve non deve assolutamente conoscerla. Il problema della mastercard è risolto? Non ancora, manca qualcosa, ma prima di andare a Verona ad aiutare Giulietta e Romeo:

Prova a crittare anche tu! (oppure passa oltre, in quel di Verona)

Non ti preoccupare ti facciamo provare un metodo semplicissimo. Poco sopra abbiamo detto che Alice e Bob si sono incontrati in precedenza per scambiarsi in sicurezza la loro chiave di cifratura. Supponiamo che abbiano deciso che la chiave consista nel sostituire ad ogni lettera dell’alfabeto internazionale quella successiva, secondo questo schema:

key

Semplice no? Bob vuole scrivere questo messaggio ad Alice:

CIAOALICEBUONSANVALENTINO

Non gli resta che cifrarlo con la chiave concordata, ecco come diventa:

DJBPBMJDFCVPOTBOWBMFOUJOP.

Il messaggio è come chiuso da un lucchetto e può essere affidato ad Eve per la consegna. Una volta ricevuto, Alice applica la stessa chiave e riporta il messaggio in chiaro leggendo: CIAOALICEBUONSANVALENTINO. In seguito può poi rispondere con lo stesso procedimento (usando la stessa chiave). A proposto, ecco la risposta di Alice:

HSBAJFCPCNBJOWJBNJMBUVBDBSUBEJDSFEJUPDIFDJTPOPJTBMEJ

Cosa avrà scritto? Prova a metterti nei panni di Bob e riusa la loro chiave per portare il messaggio in chiaro : )

psssst: se vuoi una mano prova a dare un’occhiata qui ; )

 

Torniamo alla nostra carta di credito. L’esempio di Alice e Bob funziona se c’è la possibilità di scambiare preventivamente una chiave in sicurezza, ma se ciò non fosse possibile? Su Internet spesso ci connettiamo con dei destinatati mai visti prima: bisognerebbe scambiarsi una chiave, come fare? È il momento di andare a Verona.

Crittografia moderna…un San Valentino a Verona

Eccoci: Giulietta e Romeo devono scambiarsi una serie di messaggi per concordare l’appuntamento di San Valentino. Le loro famiglie non approvano la loro unione, quindi devono scriversi in gran segreto affidando le informazioni ad un corriere espresso che, come Eve, non vede l’ora di poter spifferare il gossip ai paparazzi e far scoprire la tresca. Purtroppo i due amanti veronesi non sono riusciti a scambiarsi una chiave comune durante l’ultimo incontro, come invece avevano fatto Alice e Bob, ma ognuno possiede un lucchetto ed una chiave personale, diversa da quella del partner:

  • la chiave(ROSA) di Giulietta apre il suo lucchetto(ROSA),
  • la chiave(BLU) di Romeo apre il suo lucchetto(BLU).

I due possono consegnare i messaggi al corriere chiudendoli in una scatola sigillabile con uno o due lucchetti.

Potrebbero inviarsi le chiavi tramite il corriere, ma lui se ne potrebbe fare una copia e minare la riservatezza dei messaggi successivi.

Un’altra opzione potrebbe basarsi sull’invio dei lucchetti aperti, sempre tramite il corriere, ma questo modello di serratura permetterebbe al corriere di ricavare un calco della chiave quando il lucchetto è aperto. Anche così non andrebbe bene.

Quindi che fare? Se ti va, prova a pensarci un attimo prima di proseguire : )

Soluzione:

  1. Romeo scrive il messaggio, lo inserisce nella scatola, la chiude con il lucchetto(BLU) e la spedisce tramite il messaggero (che ovviamente non può aprirla).
  2. Giulietta riceve la scatola, non può aprirla con la chiave(ROSA), allora la chiude anche col suo lucchetto(ROSA) e la invia indietro a Romeo. Ora la scatola è chiusa sia dal lucchetto(BLU) che dal lucchetto(ROSA), sembrerebbe impossibile da aprire ma…
  3. Romeo la riceve, usa la sua chiave(BLU) per togliere il lucchetto(BLU) e la invia di nuovo a Giulietta
  4. A questo punto Giulietta riceve la scatola chiusa con il solo lucchetto(ROSA) e la può aprire con la sua chiave(ROSA) per leggere il messaggio (All’interno della scatola Romeo potrebbe anche mettere direttamente una copia della sua chiave, per poi scambiarsi messaggi segreti comodamente come facevano Alice e Bob.)

Ed ecco risolto il problema in maniera geniale. Anche tu, come Romeo e Giulietta, puoi inviare in segretezza i tuoi dati ad un destinatario mai visto prima, senza che vi siate necessariamente scambiati una chiave in precedenza.

Alla fine degli anni ’70 tre ricercatori americani, Whitfield Diffie, Martin Hellman e Ralph Merkle trasformarono questa intuizione, che permette di scambiarsi le chiavi su un canale insicuro, in un modello matematico (uno dei più romantici di sempre : ) ), rivoluzionando il mondo della crittografia. Pochissimo tempo dopo venne perfezionata anche la crittografia a chiave pubblica che introdusse:

  • Un lucchetto particolare (detto “chiave pubblica”), inviabile aperto senza problemi di sorta, usato dal destinatario per “per sigillare” i messaggi segreti a lui diretti da qualsiasi mittente
  • Un chiave (detta “chiave privata”), da tenere segretissima, con la quale il destinatario in questione può aprire il suddetto lucchetto, che sigilla i messaggi a lui diretti.

Si chiamano algoritmi a chiave pubblica proprio perché rendono pubblico come crittografare le informazioni, senza però svelare come il destinatario possa decifrarle; comodo, non credi?.

Oggi, su Internet le cose funzionano grossomodo con metodi simili, permettendo a tutti i “Romeo e Giulietta” di questo mondo di scambiarsi i messaggi segreti, necessari a riunirsi a San Valentino. Con buona pace di rotocalchi e paparazzi. : )

Alcune osservazioni

Storia: la crittografia non è una scienza “nata ieri” ed è sbocciata ben prima dell’era dell’elettronica. Oggi se ne fa vasto uso nel mondo delle reti, ma le prime tracce di crittografia, per usi militari, risalgono a parecchi secoli prima dell’anno 0. Per rendere l’idea: la tecnica usata da Alice e Bob è basata su un metodo simile a quello che Giulio Cesare utilizzava per le sue comunicazioni segrete (Cifrario di Cesare). 

Curiosità: Alice, Bob ed Eve sono i nomi comunemente usati nella letteratura scientifica dedicata alla crittografia. Questo perché Alice e Bob si prestano bene ad essere abbreviati con A e B, mentre Eve ricorda il termine eavesdropper ovvero “chi origlia”.

Crittoanalisi: dal greco kryptós, “nascosto” e analýein, “scomporre”, rappresenta la controparte della crittografia e costituisce lo studio dei metodi per svelare il contenuto di un messaggio segreto, senza conoscere a priori la procedura utilizzata per cifrarlo. Rompere un metodo di cifratura semplice, come il cifrario di Cesare, è relativamente facile, ma esistono metodi di cifratura molto più complessi. La crittoanalisi è un tema molto affascinante, che ricorre in svariati libri e film. Ed è quello che ti proponiamo nel nostro contest. Eccolo qui:

 

Quando il video-aperitivo scientifico non basta!

Ancora Fame? Se vuoi puoi consultare gli approfondimenti tecnici per un pasto completo!

Ringraziamenti

Un ringraziamento doveroso a Maurizio Codogno (.mau.) per i suoi preziosi consigli sul come affrontare questo video-aperitivo scientifico. Grazie! : )

Rispondi