firma digitale
DESCRIPTION
La firma digitale nella corrispondenza elettronica - TrinacriaCamp 2007TRANSCRIPT
La firma digitale nella corrispondenza elettronica
TrinacriaCamp 2007
Gianni “guelfoweb” Amato
http://www.gianniamato.it
NON è una firma passata sotto uno scanner.
Cosa non è la firma digitale?
E' un metodo per attestare che l’e-mail ricevuta sia stata effettivamente inviata dal mittente e che il contenuto non sia stato alterato.
Cosa è la firma digitale?
Firma digitale “Forte”
Detta anche firma elettronica avanzata, è quella regolamentata dal DPR 513/97 ed è l’unica che attribuisce al documento informatico valenza probatoria.
Prevede che il certificato sia rilasciato da un’autorità di certificazione iscritta all’albo dell’AIPA (Autorità per l'informatica nella pubblica amministrazione).
Firma digitale “Debole”
Consente di verificare l’integrità del documento ma non del sottoscrittore. L’efficacia probatoria di tale sistema, pur non essendo negabile a priori, è a discrezione del giudice.
Qualità, sicurezza, integrità e immodificabilità
è possibile creare il proprio certificato PGP/GPG in modo autonomo ed in pochissimi istanti
GnuPG - Gnu Privacy Guard
E' lo strumento GNU per comunicare e immagazzinare dati in modo sicuro.
Cifrare dati
Firmare documenti
Perchè utilizzare GPG?
- E’ Software Libero (GPL)
- Non usa algoritmi brevettati
- E’ compatibile con PGP
- Aderisce allo standard OpenPGP (RFC2440)
- E’ multipiattaforma: Linux/*nix, Windows, Mac
- Si integra facilmente con plugin e molte applicazioni
Un passo indietro: la firma olografa
1. Eva si impossessa del documento
2. Riproduce la firma di alice
3. Bob riceve il documento falso
Un documento simile all'originale
Cosa ha riprodotto Eva?
Similitudine
Una firma simile a quella di Alice
Bob ha motivo di sospettare?
Corrispondenza elettronica
IL DOCUMENTO PUO' ESSERE COMPROMESSO!
firma digitale
chiave privata
chiave pubblica
chiave privata
chiave pubblica
FIRMA DIGITALE
chiave privata
firma il messaggio
Di cosa ha bisogno Eva per riprodurre la firma digitale di Alice?
1. della chiave privata di Alice
2. password/pin della chiave privata di Alice
1. Eva si impossessa del documento elettronico
3. Bob riceve il documento falso
2. Non altera la firma di Alice
(spoofing)
Cosa deve fare Bob?
Controllare la validità della firma di Alice. SEMPRE!
chiave pubblica di Alice
Generare una coppia di chiavi
l'algoritmo da utilizzare
la lunghezza della chiave
il proprio ID
il periodo di validità
una password (punto debole?)
gpg --gen-key
L'utente sceglie:
Esportare le chiavi
gpg --output revoca.asc --gen-revoke mia_chiave
gpg --output secretkey.asc --export-secret-keys
gpg --output publickey.asc --export [email protected]
Chiave pubblica:
Chiave privata:
Certificato di revoca:
Perchè un certificato di revoca?
ci siamo dimenticati la password
abbiamo smarrito la chiave privata
la chiave privata è stata compromessa
abbiamo cambiato indirizzo email
gpg --clearsign prova
Firmiamo il documento “prova”
questa è una prova
Documento “prova” firmato
-----BEGIN PGP SIGNED MESSAGE-----Hash: SHA1
questa è una prova-----BEGIN PGP SIGNATURE-----Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFHH+Y1Txmfm2InrN8RAkv8AJ9o9xrSBZ0ILHIDwTISR3roBZTZQQCeON3Q9WIzZ1J25nbNiZgSwOHd9Sk==Pg1U-----END PGP SIGNATURE-----
Cosa accade quando firmiamo un documento?
1. Viene creata “l’impronta” del testo originario mediante la propria chiave privata. Procedimento matematico (funzione hash).
2. Il testo del messaggio rimane in chiaro.
3. La firma ha lunghezza fissa. Per lo standard DSA sono previste chiavi fino a 1024 bit.
La firma digitale si ottiene dalla combinazione tra la chiave privata e il testo
gpg --verify prova
Verifichiamo la validità della firma nel documento “prova”
Documento integro!
Modifichiamo una sola lettera al testo e verifichiamo la validità della firma nel
documento “prova”
-----BEGIN PGP SIGNED MESSAGE-----Hash: SHA1
questa è una prova1-----BEGIN PGP SIGNATURE-----Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFHH+Y1Txmfm2InrN8RAkv8AJ9o9xrSBZ0ILHIDwTISR3roBZTZQQCeON3Q9WIzZ1J25nbNiZgSwOHd9Sk==Pg1U-----END PGP SIGNATURE-----
gpg --verify prova
Documento modificato!
Verifichiamo la validità della firma nel documento “prova”
Le chiavi pubbliche: Come ottenerle?
1. Chiedendola alla persona interessata
2. Recuperandola dai Key-Server
Cosa sono i Key-Server?
Server dedicati al deposito e prelievo di chiavi pubbliche
Liberamente accessibili
Interconnessi tra loro
Le chiavi pubbliche: Come distribuirle?
Attraverso Key-Server
Includendola nel messaggio come allegato
Copiandola in un file di testo
Le chiavi pubbliche: Perchè distribuirle?
Per consentire al destinatario di verificare la nostra firma
Per consentire al destinatario di comunicare con noi attraverso messaggi cifrati
Strumenti Open Source
GnuPG command line per Linux/*nix, Windows, Mac
WinPT GUI GnuPG per Windows
Enigmail estensione GnuPG per Thunderbird
FireGPG estensione GnuPG per Firefox
FireGPG
FireGPG
FireGPG
FireGPG
FireGPG
http://www.gnupg.org/
http://winpt.sourceforge.net/it/
http://enigmail.mozdev.org/
http://firegpg.tuxfamily.org/
Link
</END>