1. Introduction (Introduzione)
1. Introduction (Introduzione)
Transport Layer Security (TLS) [RFC5246] e Datagram Transport Layer Security (DTLS) [RFC6347] sono ampiamente utilizzati per proteggere i dati scambiati tramite protocolli applicativi come HTTP, SMTP, IMAP, POP, SIP e XMPP. Negli ultimi anni sono emersi diversi attacchi gravi contro TLS, inclusi attacchi alle cipher suite più comunemente utilizzate e alle loro modalità di funzionamento. Ad esempio, sia l'algoritmo di crittografia AES-CBC [RFC3602] che RC4 [RFC7465], che insieme sono stati i cifrari più ampiamente distribuiti, sono stati attaccati nel contesto di TLS. Un documento complementare [RFC7457] fornisce informazioni dettagliate su questi attacchi e aiuterà il lettore a comprendere la logica dietro le raccomandazioni fornite qui.
A causa di questi attacchi, coloro che implementano e distribuiscono TLS e DTLS necessitano di linee guida aggiornate su come utilizzare TLS in modo sicuro. Questo documento fornisce indicazioni per i servizi distribuiti così come per le implementazioni software, supponendo che l'implementatore si aspetti che il suo codice venga distribuito negli ambienti definiti nella Sezione 5. In effetti, questo documento richiede la distribuzione di algoritmi che sono ampiamente implementati ma non ancora ampiamente distribuiti. Per quanto riguarda la distribuzione, questo documento si rivolge a un pubblico ampio, ovvero tutti i distributori che desiderano aggiungere autenticazione (sia unidirezionale che mutua), riservatezza e protezione dell'integrità dei dati alle loro comunicazioni.
Le raccomandazioni qui contenute tengono in considerazione la sicurezza di vari meccanismi, la loro maturità tecnica e interoperabilità, e la loro prevalenza nelle implementazioni al momento della stesura. A meno che non sia esplicitamente indicato che una raccomandazione si applica solo a TLS o solo a DTLS, ogni raccomandazione si applica sia a TLS che a DTLS.
Si prevede che la specifica TLS 1.3 risolverà molte delle vulnerabilità elencate in questo documento. Un sistema che distribuisce TLS 1.3 dovrebbe avere meno vulnerabilità rispetto a TLS 1.2 o versioni precedenti. È probabile che questo documento venga aggiornato dopo che TLS 1.3 avrà ottenuto una distribuzione notevole.
Queste sono raccomandazioni minime per l'uso di TLS nella stragrande maggioranza degli scenari di implementazione e distribuzione, ad eccezione del TLS non autenticato (vedere Sezione 5). Altre specifiche che fanno riferimento a questo documento possono avere requisiti più rigorosi relativi a uno o più aspetti del protocollo, in base alle loro particolari circostanze (ad esempio, per l'uso con un particolare protocollo applicativo); quando questo è il caso, gli implementatori sono invitati ad aderire a tali requisiti più rigorosi. Inoltre, questo documento fornisce una base, non un limite massimo, quindi opzioni più forti sono sempre consentite (ad esempio, a seconda di diverse valutazioni dell'importanza della forza crittografica rispetto al carico computazionale).
La conoscenza della comunità sulla forza di vari algoritmi e sugli attacchi fattibili può cambiare rapidamente, e l'esperienza mostra che un documento Best Current Practice (BCP) sulla sicurezza è una dichiarazione puntuale nel tempo. I lettori sono invitati a cercare eventuali errata o aggiornamenti che si applicano a questo documento.