Come è noto la PEC è un messaggio e-mail che garantisce la certezza della consegna (o mancata consegna) del messaggio, ma anche e soprattutto una data e ora certa di consegna, in quando viene apposta una firma digitale (dal gestore PEC) che attesta che il messaggio non sia stato modificato dopo l'invio.
In vari casi di "contestazione" notiamo che una "copia" del messaggio PEC viene trasmessa tramite screen-shot oppure FAX, piuttosto che stampata o tramite inoltro di Mail...
Tutti i casi sopracitati ovviamente non hanno validità, perché non possibile verificare la firma digitale e quindi non è possibile escludere con certezza che non vi siano state alterazioni del messaggio o addirittura che la PEC non sia mai stata spedita...
Verificare che la PEC non sia stata alterata
Se consultate la PEC dal Webmail del vostro gestore, aprendo il messaggio in genere appaiono informazioni a riguardo della verifica della firma e sostanzialmente, potete fidarvi che la PEC sia autentica solo per il fatto che è stata ricevuta.
Se leggete la PEC tramite un client di posta, come ad esempio Thunderbird, dovreste vedere delle informazioni sulla firma digitale, come mostrato in figura:
I più intraprendenti e curiosi potrebbero voler verificare il messaggio anche con un metodo più a basso livello, vediamo come.
Verifica di una PEC con il comando openssl
Se avete familiarità con i comandi a linea di comando unixlike, invito a proseguire con il test presentato e eventualmente anche un secondo test dove altereremo appositamente un messaggio PEC (a scopo didattico).
Salvate un messaggio PEC come .EML, o fatevi inviare il messaggio come file .EML (potete salvare sia dai client ma anche da quasi tutti i client Webmail, tramite Salva file EML, Salva file... ).
Quindi utilizzate il seguente comando a linea di comando (su un sistema operativo aggiornato) per verificare il messaggio:
openssl cms -verify -in test_pec_message.eml
otterrete molte informazioni e come ultima riga
Verification successful
Ora aprite il messaggio PEC con un editor, e alterate il contenuto, ad esempio alterate la ricorrenza della data o dell'anno (nel mio test ho cambiato 2021 in 2020), salvate e riprovate il comando:
openssl cms -verify -in test_pec_message.eml
otterrete come ultima riga, qualcosa che contiene
Verification failure
Questo errore è atteso e il motivo è perché il messaggio contiene una firma pkcs7 creata dal gestore PEC durante la trasmissione del messaggio, che risulta valida solamente se il contenuto del messaggio non viene alterato (neppure un bit).
Content-Type: application/pkcs7-signature;
name=smime.p7s; smime-type=signed-data
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature