aboutsummaryrefslogtreecommitdiff
path: root/guides/crittografia/02-asimmetrica.rst
diff options
context:
space:
mode:
authorElena ``of Valhalla'' Grandi <elena.valhalla@gmail.com>2012-01-15 22:15:34 +0100
committerElena ``of Valhalla'' Grandi <valhalla@trueelena.org>2012-07-30 10:20:04 +0200
commit1ffa8a54a44bb95ced425b06403e2422a05c1ce8 (patch)
treed71c241142a32ddba55fbce32acd18b34b4627c7 /guides/crittografia/02-asimmetrica.rst
parentf5418376c4f90316c3e426b7b5ec299f05e50870 (diff)
crittografia: versione iniziale
Diffstat (limited to 'guides/crittografia/02-asimmetrica.rst')
-rw-r--r--guides/crittografia/02-asimmetrica.rst90
1 files changed, 90 insertions, 0 deletions
diff --git a/guides/crittografia/02-asimmetrica.rst b/guides/crittografia/02-asimmetrica.rst
new file mode 100644
index 0000000..bc37789
--- /dev/null
+++ b/guides/crittografia/02-asimmetrica.rst
@@ -0,0 +1,90 @@
+Crittografia asimmetrica
+------------------------
+
+Ogni metodo di crittografia moderno consiste in un algoritmo
+da applicare al messaggio che si vuole crittare usando come
+parametro una chiave, ovvero un numero o dei caratteri;
+il metodo è considerato abbastanza sicuro se conoscendo l'algoritmo
+e il messaggio codificato, ma non la chiave, non è possibile
+risalire al messaggio originario in un tempo abbastanza breve perché
+le informazioni in esso contenute siano utili o interessanti.
+
+La crittografia tradizionale richiede l'esistenza di una chiave
+segreta nota sia al mittente che al destinatario del messaggio:
+il trasferimento di questa chiave deve avvenire su canali sicuri
+e comporta difficoltà logistiche significative, specie quando
+le persone coinvolte non possono vedersi frequentemente di persona.
+
+Per ovviare a tale problema, sono stati sviluppati degli algoritmi
+di crittografia asimmetrica, nel quale esiste una coppia di chiavi
+legate tra loro da una relazione matematica che fa sì che
+un messaggio codificato con una delle due chiavi possa
+essere decodificato esclusivamente conoscendo l'altra chiave.
+Una delle due chiavi è detta chiave privata, e deve essere custodita
+in modo sicuro, mentre l'altra è detta chiave pubblica e può
+essere distribuita senza alcun rischio.
+
+La maggior parte della crittografia usata su internet fa uso
+di uno di questi algoritmi, sia per la loro maggiore praticità
+che per la capacità aggiuntiva di garantire l'identità del mittente.
+
+Crittare
+^^^^^^^^
+
+L'invio di un messaggio crittato con chiave pubblica può essere
+visualizzato con un esempio pratico.
+Alice vuole inviare a Bob
+un messaggio, ma sospetta che il postino sbirci nelle buste;
+Alice può allora chiedere a Bob di inviarle un lucchetto aperto
+(la chiave pubblica) di cui solo lui ha la chiave (chiave privata).
+Quando Alice riceve il lucchetto lo usa per chiudere una cassetta
+in cui ha messo il messaggio; da quel punto in poi solo Bob
+può aprire la cassetta, che può essere così spedita senza rischi.
+
+Con la crittografia asimmetrica via internet la procedura è simile:
+Alice cerca su internet la chiave pubblica di Bob, si assicura
+che sia veramente sua, codifica il messaggio e sa che solo Bob,
+con la sua chiave privata potrà leggerlo; se Bob vuole rispondere dovrà
+fare la stessa cosa con la chiave pubblica di Alice.
+
+Firmare
+^^^^^^^
+
+La firma dei messaggi sfrutta le proprietà delle chiavi al contrario:
+un messaggio codificato con una chiave privata di Alice può essere
+letto da chiunque abbia la sua chiave pubblica, ma non può essere
+stato scritto da nessun'altro.
+
+Alice può quindi mandare a Bob un messaggio in chiaro accompagnato
+dallo stesso messaggio crittato con la sua chiave privata: se
+Bob ha dei dubbi sull'identita` del mittente può decodificare il
+messaggio con la chiave pubblica di Alice e controllare che i due
+messaggi siano identici.
+
+Certificate Autority e Web of Trust
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Il sistema di crittografia asimmetrica è stato pensato per evitare
+che le persone debbiano incontrarsi continuamente di persona per
+scambiarsi delle chiavi segrete, ma rimane un problema: come
+accertarsi che una chiave pubblica appartenga veramente alla
+persona a cui crediamo appartenga?
+
+Una soluzione a questo problema è data dalle *certificate autority*, CA,
+degli enti che verificano l'identità di chi ha generato una
+chiave, la firmano con la loro chiave privata e in questo modo
+certificano l'appartenenza della chiave generata ad un proprietario.
+Questo sistema è usato ad esempio per le connessioni web sicure,
+ma ha il limite di dipendere da una gerarchia rigida e nella quale
+riuscire a violare la sicurezza di una CA rischia di compromettere
+tutto il sistema.
+
+Un'altra soluzione è quella della *web of trust* in cui non esistono
+autorità centrali, ma ogni utente verifica le chiavi della sua
+cerchia di conoscenti, eventualmente facendosene garante nei
+confronti di chi decide di fidarsi delle sue verifiche.
+Questo è l'approccio usato ad esempio da gpg, usato nella comunità
+del software libero per firma e crittografia di email, ma anche
+per la firma dei rilasci di software, ed ha il vantaggio di
+essere scalabile a comunità di dimensioni disparate.
+