
S/MIME è un metodo consolidato per inviare email criptate e firmate, basato su standard pubblici di Internet. Ci imbattiamo regolarmente in requisiti per S/MIME, in particolare da settori regolamentati come banca, salute e finanza.
S/MIME è un metodo a lungo consolidato per inviare email crittografate e firmate, basato su standard pubblici di Internet. Ci imbattiamo regolarmente in requisiti per S/MIME, in particolare da industrie regolamentate come il settore bancario, sanitario e finanziario. S/MIME è spesso richiesto quando si comunica tra aziende e agenzie governative, ad esempio.
Un altro standard di posta sicura, PGP (chiamato scherzosamente “Pretty Good Privacy”), è utilizzato maggiormente per comunicazioni sicure da persona a persona. È meno popolare ora perché le versioni consumer dei client email web più popolari come Gmail e Outlook/Hotmail non sono in grado di visualizzare email crittografate. Questo è un motivo per cui molte comunicazioni da persona a persona che richiedono privacy si sono spostate su piattaforme come WhatsApp (e molte altre) che offrono crittografia end-to-end nativa.
Sia PGP che S/MIME richiedono un client di posta che possa utilizzare chiavi e certificati. Molti client desktop e mobili, inclusi Apple Mail, Microsoft Outlook e Mozilla Thunderbird rispondono ai requisiti, così come le versioni aziendali di alcuni client web come Microsoft Office 365. Configurare le chiavi richiede lavoro, ma molte organizzazioni lo considerano ancora utile, nonostante recenti rivelazioni di vulnerabilità che richiedono rimedi per bloccare il caricamento di contenuti remoti.
S/MIME è in giro dal 1995 e ha subito diverse revisioni; la versione attuale è coperta da RFC 5751. Richiede lo scambio di chiavi pubbliche, un compito non banale che spesso richiede il supporto di un team IT o una risorsa simile. Per le organizzazioni che gestiscono infrastrutture email internamente, implementare S/MIME richiede considerazioni aggiuntive per piattaforme come PowerMTA e Momentum, che trattiamo nella nostra guida a S/MIME per email sicure interni. Tuttavia, ci sono approcci automatizzati per semplificare questo processo, come raccogliere chiavi pubbliche dei destinatari tramite sistemi basati su email che possono semplificare la gestione delle chiavi per flussi di email generati da app. Questo è il punto in cui le soluzioni commerciali di aziende come i partner di SparkPost Virtru e Echoworkx entrano in gioco, rendendo la sicurezza più facile per la corrispondenza aziendale da persona a persona (vedi il nostro guida SparkPost/Echoworkx per maggiori informazioni).
Detto ciò, esaminiamo un po' più a fondo il semplice vecchio S/MIME e vediamo cosa possiamo fare con esso.
Perché dovrei preoccuparmi?
La versione breve:
La crittografia offre la privacy dei messaggi.
La firma fornisce autenticazione (del mittente), non-ripudio dell'origine e controlli di integrità del messaggio.
S/MIME funziona diversamente rispetto a DKIM e DMARC e può coesistere con loro.
Privacy
Se i tuoi messaggi non contengono nulla di personale, privato o legalmente importante, probabilmente non dovrai pensare a S/MIME. I moderni sistemi di consegna delle email, come SparkPost, utilizzano già "TLS opportunistico" per proteggere il trasporto del messaggio dal server di invio al server di ricezione.
La parte "opportunistica" significa tuttavia che se il server di invio non riesce a negoziare una connessione sicura, invieremo la mail in testo normale. Questo non è appropriato se vuoi garantire che il messaggio sia sicuro fino in fondo. Puoi dare uno sguardo a quali provider di caselle di posta dichiarano supporto TLS e quali lo fanno effettivamente. Supponendo che il server del destinatario supporti TLS, il tuo messaggio è protetto così:

TLS protegge le conversazioni tra server di posta (è per questo che è chiamato Transport Layer Security). MIME (incluso S/MIME) si occupa del contenuto del messaggio e del suo trattamento, e può essere considerato parte del "Presentation layer".
S/MIME protegge il contenuto del messaggio fino in fondo ("end to end") dall'origine del messaggio al client di posta del destinatario, encapsulando il corpo del messaggio.

S/MIME cripta il corpo del messaggio con la chiave pubblica del destinatario. Il corpo non può essere decodificato senza la chiave privata del destinatario—non da alcun "intermediario" come il tuo ISP, SparkPost, o il server di posta del destinatario.
La chiave privata non viene mai divulgata; è tenuta in possesso esclusivo del destinatario. Il messaggio criptato viaggia su Internet fino al server di posta ricevente. Quando arriva nella casella di posta del destinatario, viene (di solito automaticamente) decriptato con la loro chiave privata e diventa leggibile.
Alcuni problemi di S/MIME da considerare:
La crittografia S/MIME ha come effetto collaterale la prevenzione della scansione dei messaggi in entrata basata su server per malware perché il payload del messaggio è in forma criptata e quindi non identificabile.
Nota che le intestazioni del messaggio (Da:, A:, Oggetto: ecc.) non sono criptate, quindi il contenuto della riga dell'oggetto deve essere creato tenendo conto di ciò.
Firma – autenticazione
S/MIME fornisce anche al destinatario la possibilità di verificare che l'identità del mittente del messaggio sia quella che dichiara di essere.
L'email del mittente ha un certificato allegato, che, proprio come il certificato su un sito web sicuro, può essere tracciato fino a un'autorità emittente. Per una descrizione completa del processo di firma, vedi il PDF del processo di firma S/MIME.
Prenderemo l'approccio di firmare la mail prima, e poi criptarla, quindi il processo appare così.

Non-ripudio
Un altro beneficio utile della firma per il destinatario è il non-ripudio dell'origine. Considera una situazione in cui un messaggio email viene utilizzato per approvare un contratto. Il destinatario riceve il contratto in un messaggio dal mittente. Se il mittente successivamente tenta di dire, "No, non ti ho mai inviato quel messaggio", allora il messaggio ricevuto dimostra che il certificato del mittente è stato effettivamente utilizzato.
Integrità del messaggio
Il processo di firma crea un'impronta digitale del messaggio sorgente in chiaro (conosciuta come una digest del messaggio), cripta il digest utilizzando la chiave privata del mittente e lo include nel messaggio consegnato. Il client di posta del destinatario può verificare se il corpo del messaggio è stato manipolato.
Forse potresti dire, "Pensavo che DKIM mi fornisse controlli di integrità del messaggio!" Bene sì, DKIM fornisce controlli di integrità del corpo del messaggio e delle intestazioni del messaggio - garanzie anti-manomissione. Tuttavia, il fallimento (o l'assenza) di DKIM non solitamente causa che il messaggio in arrivo venga contrassegnato come completamente non valido... a meno che una politica DMARC di p=reject non sia in atto (vedi il nostro post sul blog DMARC: Come Proteggere la tua Reputazione Email). DKIM è uno dei tanti fattori utilizzati dall'ISP per l'assegnazione affidabile della reputazione a un dominio ed è, ovviamente, una parte essenziale della tua infrastruttura di messaggistica.
Il tuo client di posta ti mostrerà chiaramente se un messaggio S/MIME fallisce i controlli della firma:

Sommario: end-to-end (S/MIME) vs server-to-server (DKIM, DMARC, TLS)
S/MIME è una capacità del layer di presentazione che può funzionare tra due utenti finali di email (con certificati/chiavi validi) senza alcuna azione da parte dell'amministratore email. S/MIME fornisce crittografia e firma ed è personale per ciascun utente.
S/MIME è legato all'indirizzo di invio completo (parte locale e parte dominio), quindi, ad esempio, alice@bigcorp.com e bob@bigcorp.com avrebbero bisogno di certificati diversi. In contrasto, DKIM convalida che l'email provenga dal dominio firmante. DKIM è un intero argomento a sé; questo articolo è un buon punto di partenza.
La configurazione di DKIM e DMARC viene effettuata dal tuo amministratore di posta (lavorando sul server di posta e sui record DNS). Una volta configurati, sono attivi per i domini, piuttosto che per singoli utenti.
Come si relaziona questo a SparkPost?
Quali client supportano S/MIME?
Consumer Gmail
Il normale client web di Gmail visualizza le firme delle email in arrivo (vedi sotto), ma non è configurato per contenere la tua chiave privata per leggere i messaggi criptati. Anche se fosse possibile tramite plugin di terze parti, caricare la tua chiave privata non è una grande idea dal punto di vista della sicurezza.

Non sono riuscito a fare in modo che Yahoo! Mail decodificasse le firme nei messaggi.
La versione consumer dei conti Microsoft Outlook/Hotmail ti avvisa della presenza di una firma S/MIME, ma non ti dà pieno accesso per visualizzare o controllare il certificato.

Hosted business mail
Per le organizzazioni con email ospitata, Microsoft Office 365 e G Suite Enterprise hanno supporto S/MIME.
Outlook mail clients
Microsoft Outlook basato su client (ad es. 2010 per Windows) funziona:

Cliccando sulle icone si ottiene maggiori informazioni:


Su Outlook 2010 / Windows, il negozio certificati è accessibile tramite File / Opzioni / Centro Fiducia / Impostazioni Centro Fiducia / Sicurezza Email / Importa / Esporta.

Thunderbird – cross-platform and free
Se stai cercando un client gratuito, Mozilla Thunderbird è l'ideale. È disponibile su PC, Mac e Linux, e supporta S/MIME su tutti questi. Ecco come appare un messaggio su Mac. L'icona della “busta sigillata” indica che il messaggio è firmato, e il lucchetto indica che è stato criptato.

Cliccando sulla busta/lucchetto si visualizzano le informazioni sul messaggio:

Thunderbird ha il proprio negozio di chiavi, accessibile in modi simili su ogni piattaforma:
Mac tramite Preferenze / Avanzato / Certificati / Gestisci Certificati
PC: menu (“hamburger” in alto a destra), Avanzato / Certificati / Gestisci Certificati
Linux: menu (“hamburger” in alto a destra), Preferenze / Avanzato / Gestisci Certificati
Mac Mail
Mac Mail supporta anche S/MIME. Si affida al tuo portachiavi Mac per conservare le tue chiavi.

iOS Mail
Innanzitutto, importa il certificato del tuo account email in questo modo, poi puoi visualizzare email firmate e criptate S/MIME. Non sembrano veramente diverse sullo schermo di visualizzazione.



Android
Alcuni dispositivi e app supportano S/MIME; c'è molta varietà in giro. Samsung ha una guida.
Finalmente…
Questa è la nostra breve panoramica degli usi pratici di S/MIME. Se vuoi ottenere i tuoi certificati di posta, c'è un elenco di fornitori qui. Ho trovato che Comodo funziona bene (gratuito per uso non commerciale – apri questo in Firefox, non Chrome).
Nella parte 2, esploreremo come applicare la firma e la crittografia S/MIME ai messaggi che invii tramite SparkPost.
Letture ulteriori
Microsoft ha un buon articolo introduttivo su S/MIME nella loro documentazione.
Per ulteriori informazioni sulla vulnerabilità EFAIL e su come è stata affrontata, consulta il sito ufficiale di EFAIL. Altre spiegazioni facili da seguire sono disponibili sulla pagina wiki di EFAIL e nel post sul blog CipherMail EFAIL: Quale è vulnerabile, PGP, S/MIME o il tuo client di posta?.