2 min read

Firma elettronica legale o GPG?

Conosco molte persone che usano PGP/GPG per firmare/crittare i propri documenti, si tratta di crittografia con chiavi asimmetriche, ma non è la sola; c'é anche quella ufficiale e riconosciuta legalmente che utilizza i lettori e le smartcard.



Ho fatto un po' di prove, giusto per curiosità, e sono arrivato alla conclusione che non fa per me. Vediamo comunque le differenze e le somiglianze

PGP / GPG

Si tratta della versione Open Source di PGP (Pretty good Privacy) è a chiavi asimmetriche (pubblica, privata) ed ormai è egregiamente integrata nel desktop Gnome tramite Seahorse.



Tramite opportuni plugin è possibile crittare/verificare la firma nell'editor di testi, nel client email e col tasto destro in ogni file del desktop.

.p7m PKCS

Si tratta della forma riconosciuta per legge che in teoria si dovrebbe poter decodificare con openssl. Il funzionamento è sempre a chiave asimmetrica, offre la possibilità di marcare temporalmente il documnto firmato, ma la firma non è revocabile.

Esiste anche un client ufficiale Dike (per Win,Mac, Linux), che si dichiare GPL, ma i sorgenti che linka sono di un altro software chiamato j4sign.

Un altro progetto con un obbiettivo e sempre open source è OpenSignature, anche se non più molto attivo.

Utilizzo pratico con gnupg2 e gpgsm (disponibili in Ubuntu)

$ wget http://www.card.infocamere.it/pdf/InfoCamere_Servizi_di_Certificazione.cer
$ wget http://www.card.infocamere.it/pdf/InfoCamere_Servizi_di_Certificazione2.cer
$ wget http://www.cnipa.gov.it/site/_files/LISTACER_20071008.zip.p7m
$ gpgsm --import InfoCamere_Servizi_di_Certificazione.cer
gpgsm: total number processed: 1
gpgsm:               imported: 1
$ gpgsm --import InfoCamere_Servizi_di_Certificazione2.cer
gpgsm: total number processed: 1
gpgsm:               imported: 1
$ gpgsm --verify LISTACER_20071008.zip.p7m
gpgsm: Signature made [date not given] using certificate ID FE9E51E2
gpgsm: note: non-critical certificate policy not allowed
gpgsm: issuer certificate {9C6FE1766827429CC0804070A00F08E9D112FFA4} not found using authorityKeyIdentifier
gpgsm: issuer certificate not found
gpgsm: issuer certificate: #/CN=CNIPA CA1,OU=Servizi di Sicurezza e Certificazione,O=Centro Nazionale per l'Informatica nella PA,C=IT
gpgsm: invalid certification chain: Certificato mancante

Ecco, però a questo punto il file .p7m dovrebbe avere una firma valida, come è possibile verificare dalla versione online.

In conclusione, se non avete delle esigenze particolari per usare il sistema standard, GPG è più che sufficiente a garantire la vostra privacy senza farvi spendere soldi per registrazioni o smartcard.