[Security] Mi presento
Lorenzo Iannuzzi
nakis a libero.it
Ven 25 Lug 2003 11:12:35 CEST
-----BEGIN PGP SIGNED MESSAGE-----
Hash: MD5
Ciao Alberto,
mercoledì 23 luglio 2003, 19.54.55, hai scritto:
AZ> Il mar, 2003-07-22 alle 15:28, Lorenzo Ansaloni ha scritto:
AZ> IL discorso della firma digitale è una cosa che mi affascina moltissimo,
AZ> cerchiamo di approfondirlo :)
Prima di tutto chiarisco che quando parlavo di crittografia e firma
digitale mi riferivo ai sistemi che si basano su chiavi pubbliche e
private (gnupg e pgp), poiché per firma digitale si possono intendere
anche altre cose.
Spiego velocemente e superficialmente come funzionano questi sistemi.
Quando ci si vuole creare una "identità" si generano due chiavi: una
pubblica ed una privata. La chiave pubblica può (e deve) essere
distribuita, la chiave privata invece non va distribuita e per
maggiore sicurezza viene cifrata usando una "passphrase" scelta
dall'utente. Per essere certi che una chiave pubblica appartenga
davvero ad una data persona la si deve ricevere direttamente da lei.
Poiché portarsela sempre dietro può essere difficile normalmente si
preferisce consegnare la "finger print", una stringa generata dalla
chiave pubblica con una funzione hash prestabilita. E' quasi
impossibile creare intenzionalmente due chiavi pubbliche che generino
la stessa finger print (per le proprietà delle funzioni hash). La
chiave pubblica viene invece archiviata in un database pubblico (un
"keyring"), dalla quale può essere scaricata da tutti. Con la finger
print direttamente consegnata dal proprietario e la chiave pubblica
corrispondente scaricata dal keyring ci si può assicurare che una data
firma corrisponda ad una persona o che un messaggio cifrato venga
letto solo da lei.
I keyring hanno anche un'altra funzione: tengono conto della "rete di
fiducia" dei possessori delle chiavi. Non è quindi sempre necessario
ricevere una chiave dal proprietario, ma basta che la sua chiave sia
stata "firmata" da un' altra persona di nostra fiducia. E' quindi
importante, una volta ricevuta una chiave sicura, firmarla e
inviare al keyring la nostra firma della chiave.
Per finire, ecco più o meno come funziona la firma di un messaggio:
- - con una funzione hash molto complessa che elabora il messaggio e la
propria chiave privata si genera una firma, che viene allegata al
messaggio;
- - la firma può essere verificata da chiunque con la chiave pubblica.
La cifratura funziona in modo analogo:
- - il messaggio viene cifrato usando la chiave pubblica di qualcuno;
- - il messaggio viene decifrato solo usando la chiave privata
corrispondente.
Gli algoritmi usati per generare la firma o cifrare un messaggio
possono essere diversi. PGP usa IDEA per codificare il messaggio, un
algoritmo brevettato, ma esistono algoritmi liberi come il CAST5 e
l'AES. Altri algoritmi vengono utilizzati in altre fasi per generare
l'hash del messaggio o la finger print, come l'MD5.
Per altre informazioni su GnuPG, potete guardare alla pagina
http://gnupg.linux.it/index.html.it
Spero di aver soddisfatto almeno in parte la curiosità di qualcuno.
- --
Ciao,
Lorenzo mailto:nakis a libero.it
-----BEGIN PGP SIGNATURE-----
Version: 2.6
iQCVAwUAPyD0i3VIQrhFfsJxAQEq8AP+PEGVJKQcPqz+zEhzc4RCIOUceoWQK2BJ
hbpAHKz0Ku3aXCh8q5BdfKv7lkt34BpatpjEkD8nBOLEEy7UFCklIumLcglvDxlX
2UmRg3CmpkH2ytEjGp3sgD0fzISuqRKBJX5dF2GMFaZUzmNZzOiYpnP3wuLulY6o
7KjBlQA2lkE=
=+w5N
-----END PGP SIGNATURE-----
Maggiori informazioni sulla lista
security