S-MIME
Oltre allo schema PGP il protocollo S-MIME (Secure MIME), estensione al protocollo MIME, proposta dalla RSA Data Security, è una soluzione alternativa altrettanto valida e diffusa.
S-MIME è implementato da molti MUA di larga diffusione, primo fra tutti Microsoft Outlook.
La proposta S-MIME offre la possibilità di segnare un messaggio e/o di codificarlo per mantenere la riservatezza dei dati.
Per ottenere questo risultato, S-MIME introduce nuovi Content-Type, arricchendo le funzionalità fondamentali del protocollo MIME.
Come già nel PGP, S-MIME consente la confidenzialità dei dati attraverso l’uso di algoritmi simmetrici (standard 3DES) e l’integrità dei dati per mezzo della segnatura dei messaggi trasmessi (standard MD5 o SHA codificati con RSA).
S-MIME supporta completamente l’uso di certificati X.509v3, a garanzia di autenticità delle chiavi pubbliche scambiate.
S-MIME prevede l’invio di messaggi conformi allo standard proposto dalla RSA noto come PKCS #7 (Public Key Cryptography Standard #7).
Lo standard PKCS #7 definisce la sintassi per creare messaggi protetti crittograficamente, permettendo ai partecipanti di scambiare non solo le informazioni originalmente presenti nel campo Body del messaggio di posta elettronica, ma anche gli identificativi univoci degli algoritmi crittografici e di digest utilizzati per ottenere riservatezza e integrità dei dati.
Per incapsulare nel corpo di un messaggio di posta elettronica una segnatura S-MIME è indispensabile specificare nel Header il seguente Content-Type:
Content-Type: application/pkcs7-mime; smime-type=signed-data
o più semplicemente,
Content-Type: application/pkcs7-signture
Per incapsulare un blocco di dati cifrato, è invece indispensabile usare il seguente Content-Type:
Content-Type: application/pkcs7-mime; smime-type=enveloped-data
Le due entità (signed-data e enveloped-data) possono essere annidate una dentro l’altra per ottenere contemporaneamente garanzie di riservatezza e integrità dei dati.