Firma Digitale

Post on 08-Jun-2015

3.910 views 5 download

description

La firma digitale nella corrispondenza elettronica - TrinacriaCamp 2007

Transcript of Firma Digitale

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 indirizzo@mail.com

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>