SMTPS e STARTTLS

Per garantire la sicurezza e la crittografia dei messaggi e-mail vengono utilizzati due protocolli di sicurezza: SSL e TLS.

SSL (Secure Socket Layer) è il protocollo più vecchio e ormai non più utilizzato dai principali provider di servizi di posta elettronica perché non fornisce un’adeguata sicurezza per le connessioni ed stato sostituito dal TLS.

TLS (Transport Layer Security) è uno dei protocolli più moderni e diffusi per il trasporto di posta elettronica di cui sono state rilasciate versioni successive (v1.1, v1.2 e v1.3) più sicure rispetto alle versioni precedenti e che risolvono molte vulnerabilità presenti in SSL:

  • TLS 1.0: Questa è stata la prima versione di TLS, introdotta nel 1999, che ha sostituito SSL 3.0. Presenta alcune vulnerabilità e debolezze di sicurezza che hanno portato all’introduzione di versioni successive.
  • TLS 1.1: Introdotta nel 2006, ha apportato miglioramenti alla sicurezza rispetto a TLS 1.0, affrontando alcune delle sue vulnerabilità. Tuttavia, è stata gradualmente superata da versioni più recenti a causa di vulnerabilità residue.
  • TLS 1.2: Introdotta nel 2008, ha apportato miglioramenti significativi in termini di sicurezza e funzionalità rispetto alle versioni precedenti. È ancora ampiamente utilizzato ed è considerato uno standard di sicurezza affidabile.
  • TLS 1.3: È la versione più recente e più avanzata di TLS, introdotta nel 2018, ha migliorato ulteriormente la sicurezza, la velocità e la privacy delle comunicazioni su Internet, eliminando alcune funzionalità obsolete e migliorando l’efficienza delle negoziazioni di connessione.

STARTTLS è è un’estensione del protocollo SMTP un comando che offre la possibilità di avviare una connessione crittografata tra il client e il server di posta elettronica durante la trasmissione delle email informando il server di posta elettronica che il destinatario desidera eseguire l’aggiornamento ad una connessione più sicura e utilizzare la crittografia SSL o TLS.

Scendendo nei dettagli possiamo fare questa sintesi:

  • SMTP con SSL/TLS, ovvero SMTPS, è una versione sicura di SMTP che crittografa la comunicazione tra il client e il server di posta.
    • Utilizza una porta dedicata, solitamente la porta 465.
    • La connessione è stabilita con il protocollo SSL (Secure Socket Layer) o TLS (Transport Layer Security) dal momento in cui viene avviata.
    • SSL e TLS proteggono i dati in transito mediante cifratura
  • STARTTLS è un’opzione di sicurezza per SMTP che abilita la crittografia durante la comunicazione tra il client e il server di posta.
    • Utilizza la stessa porta SMTP standard (di solito la porta 25 per le comunicazioni non crittografate e la porta 587 per le comunicazioni crittografate).
    • La differenza principale con SMTPS è che STARTTLS inizia come una connessione non crittografata e successivamente passa a una connessione crittografata dopo che entrambi i lati hanno negoziato e accettato di utilizzare TLS.
    • STARTTLS offre un meccanismo di aggiornamento delle comunicazioni da non sicure a sicure durante la sessione SMTP.

In sostanza, SMTPS e STARTTLS differiscono nel modo in cui stabiliscono la connessione sicura: SMTPS la imposta immediatamente, mentre STARTTLS passa da una connessione non sicura a una sicura durante la comunicazione. (a riguardo si veda Email security and connection encryption – Dynamics 365 Customer Insights | Microsoft Learn).

La scelta tra SMTPS e STARTTLS dipende da diversi fattori:

  • Requisiti di sicurezza: In ambienti in cui la sicurezza è una priorità assoluta e si desiderano requisiti rigidi di sicurezza è preferibile avere una connessione crittografata fin dall’inizio, quindi SMTPS in quest’ottica rappresenta la scelta migliore dal momento che la connessione è già crittografata all’avvio.
  • Compatibilità: STARTTLS è più flessibile in quanto può passare da una connessione non crittografata a una crittografata durante la sessione, ciò può essere utile se occorre interagire con server di posta che supportano solo STARTTLS o è necessario negoziare la crittografia durante la comunicazione.
  • Interoperabilità: Se la priorità è la compatibilità con una vasta gamma di sistemi di posta elettronica, STARTTLS potrebbe essere preferibile perché è più ampiamente supportato rispetto a SMTPS.

L’SMTP di Office 365, ad esempio, prevede le seguenti impostazioni per l’utilizzo del suo SMTP tramite STARTTLS:

  • Server SMTP: smtp.office365.com
  • Porta: 587
  • Sicurezza: STARTTLS

Mentre per l’utilizzo dell’SMTP di Office 365 tramite SMTPS le impostazioni sono le seguenti:

  • Server SMTP: smtp.office365.com
  • Porta: 465
  • Sicurezza: SSL/TLS

Sebbene Office 365 supporti SMTPS, Microsoft consiglia di utilizzare STARTTLS come metodo principale per la crittografia delle comunicazioni SMTP per la sua flessibilità e compatibilità, ma ovviamente in casi in cui è necessaria una policy di sicurezza più stringente è possibile utilizzare SMTPS.

A riguardo si veda

Per quanto riguarda invece gli aspetti legati agli attacchi informatici sebbene sia STARTTLS che SMTPS siano protocolli di crittografia utilizzati per proteggere le comunicazioni via email, come detto in precedenza, differiscono nel momento in cui stabiliscono la connessione crittografata. In particolare le differenze in termini sicurezza tra STARTLS e TLS sono dovute ai seguenti aspetti

  • STARTTLS inizia come una connessione non crittografata, che può essere opportuno per la negoziazione con server che supportano solo STARTTLS, e successivamente passa a una connessione crittografata durante la sessione. STARTTLS crittografa i dati durante il trasferimento, impedendo l’intercettazione e la lettura dei contenuti durante il transito tra i server di posta
  • SMTPS stabilisce una connessione crittografata fin dall’inizio, offrendo una connessione crittografata sin dall’avvio.

Sia STARTTLS che SMTPS proteggono i dati dalle intercettazioni non autorizzate durante il transito, ma con alcune differenze:

  • SMTPS, a causa della sua natura di connessione crittografata immediata, può offrire una maggiore resistenza agli attacchi MITM (Man-in-the-Middle), poiché non permette una negoziazione di crittografia durante la connessione come STARTTLS.
  • STARTTLS e SMTPS non possono prevenire attacchi diretti ai server di posta, come vulnerabilità o attacchi mirati.