Indietro

ⓘ Transport Layer Security




                                     

ⓘ Transport Layer Security

Transport Layer Security e il suo predecessore Secure Sockets Layer sono dei protocolli crittografici di presentazione usati nel campo delle telecomunicazioni e dellinformatica che permettono una comunicazione sicura dalla sorgente al destinatario su reti TCP/IP fornendo autenticazione, integrità dei dati e confidenzialità operando al di sopra del livello di trasporto.

Diverse versioni del protocollo sono ampiamente utilizzate in applicazioni come i browser, le-mail, la messaggistica istantanea e il voice over IP. Un esempio di applicazione di SSL/TLS è nel protocollo HTTPS.

                                     

1. Storia

Lo stack protocollare TCP/IP di Internet, diversamente dal modello ISO/OSI, non prevede di per sé funzionalità di sicurezza per motivi storici legati alluso principale della rete ai suoi primordi semplice scambio di dati tra ricercatori nella comunità scientifica, e solo successivamente con lapertura della Rete a fini pubblici le problematiche di sicurezza sono diventate via sempre più importanti da cui la necessità di inserire degli strati aggiuntivi che si occupino appunto di sicurezza.

Le prime implementazioni di SSL erano limitate a cifratura a chiave simmetrica di soli 40 bit a causa delle restrizioni imposte dal governo statunitense sullesportazione di tecnologie crittografiche, per motivi di sicurezza nazionale. In altri termini, la limitazione della dimensione delle chiavi a 40 bit è stata esplicitamente imposta per rendere la cifratura abbastanza debole da potere essere forzata tramite luso di tecniche di ricerca brute force dalle autorità giudiziarie che volessero decifrare il traffico cifrato, ma sufficientemente resistente agli attacchi da parte di entità con minori disponibilità di risorse tecnologico-finanziarie. Dopo diversi anni di controversie pubbliche, cause e lammissione da parte del governo statunitense di disponibilità sul mercato di prodotti per la cifratura migliori sia allinterno che al di fuori degli Stati Uniti, alcuni aspetti delle restrizioni sono stati modificati. Le implementazioni moderne utilizzano chiavi per la cifratura simmetrica a 128 o più bit.

TLS è stato in seguito esteso da altri RFC, tra i quali:

  • RFC 2818: "HTTP Over TLS". Differenziare il traffico sicuro da quello non sicuro tramite luso di una porta differente del server.
  • RFC 3268: "AES Ciphersuites for TLS". Aggiunta di migliorie come lAdvanced Encryption Standard AES, lInternational Data Encryption Algorithm IDEA, il Data Encryption Standard DES e il Triple DES.
  • RFC 2817: "Upgrading to TLS Within HTTP/1.1", Spiega come utilizzare il meccanismo di Upgrade in HTTP/1.1 per inizializzare il Transport Layer Security TLS su di una connessione TCP esistente. Questo permette di condividere la stessa well known port tra traffico HTTP normale e sicuro.
  • RFC 2712: "Addition of Kerberos Cipher Suites to Transport Layer Security TLS". Illustra come le cifrature a 40 bit siano ormai superate.

Attualmente le versioni SSL v2 e v3 sono considerate insicure. Di TLS vengono solitamente usate le versioni 1.2 e 1.3.

Anche se attualmente un numero sempre maggiore di prodotti client e server supportano TLS o SSL in modo nativo, esistono ancora molti prodotti che non supportano tali protocolli. In questi casi è possibile fare uso di prodotti che forniscono una cifratura SSL a sé stante.

                                     

2. Descrizione

Il protocollo TLS consente alle applicazioni client/server di comunicare attraverso una rete in modo tale da prevenire il tampering manomissione dei dati, la falsificazione e lintercettazione. È un protocollo standard IETF che, nella sua ultima versione, è definito nella RFC 5246, sviluppata sulla base del precedente protocollo SSL da Netscape Communications.

Nellutilizzo tipico di un browser da parte di utente finale, lautenticazione TLS è unilaterale: è il solo server ad autenticarsi presso il client. Lautenticazione del server è molto utile per il software di navigazione e per lutente. Il browser valida il certificato del server controllando che la firma digitale dei certificati del server sia valida e riconosciuta da una certificate authority conosciuta utilizzando una cifratura a chiave pubblica. Dopo questa autenticazione il browser indica una connessione sicura mostrando solitamente licona di un lucchetto.

Questa autenticazione, però, non è sufficiente per garantire che il sito con cui ci si è collegati sia quello richiesto. Per esserne sicuri è necessario analizzare il contenuto del certificato rilasciato e controllarne la catena di certificazione. I siti che intendono ingannare lutente non possono utilizzare un certificato del sito che vogliono impersonare perché non hanno la possibilità di cifrare in modo valido il certificato, che include lindirizzo, in modo tale che risulti valido alla destinazione. Solo le CA possono generare certificati validi con unURL incorporata in modo che il confronto fra lURL apparente e quella contenuta nel certificato possa fornire un metodo certo per lidentificazione del sito. Molto spesso questo meccanismo non è noto agli utenti di internet ed è causa di varie frodi dovute ad un uso non corretto del browser, non ad una debolezza del protocollo TLS.

Il protocollo TLS permette anche unautenticazione bilaterale, tipicamente utilizzata in applicazioni aziendali, in cui entrambe le parti si autenticano in modo sicuro scambiandosi i relativi certificati. Questa autenticazione definita mutua autenticazione richiede che anche il client possieda un proprio certificato digitale cosa molto improbabile in un normale scenario.

In assenza di unautenticazione bilaterale si possono utilizzare i protocolli TLS-PSK o Secure remote password SRP per garantire unautenticazione sicura in assenza di un certificato.

                                     

3.1. Principi di funzionamento Fasi

Il funzionamento del protocollo TLS può essere suddiviso in tre fasi principali:

  • Scambio delle chiavi e autenticazione
  • Cifratura simmetrica e autenticazione dei messaggi
  • Negoziazione fra le parti dellalgoritmo da utilizzare

Nella prima fase, il client e il server negoziano il protocollo di cifratura che sarà utilizzato nella comunicazione sicura, il protocollo per lo scambio delle chiavi e lalgoritmo di autenticazione nonché il Message authentication code MAC. Lalgoritmo per lo scambio delle chiavi e quello per lautenticazione normalmente sono algoritmi a chiave pubblica o, come nel caso di TLS-PSK, fanno uso di una chiave precondivisa Pre-Shared Key. Lintegrità dei messaggi è garantita da una funzione di hash che usa un costrutto HMAC per il protocollo TLS o una funzione pseudorandom non standard per il protocollo SSL.

                                     

3.2. Principi di funzionamento Protocolli impiegati

Allinterno di una sessione tipicamente vengono utilizzati i seguenti protocolli:

  • Per le funzioni crittografiche dintegrità si usano usualmente funzioni di hash: in TLS sono utilizzati HMAC-MD5 o HMAC-SHA, mentre in SSL MD5 e SHA. Nelle versioni più vecchie di SSL erano anche utilizzati MD2 e MD4.
  • Cifratura simmetrica: RC4, DES, Triple DES, AES, IDEA o Camellia. Nelle vecchie versioni di SSL era anche utilizzato il protocollo RC2.
  • Per lautenticazione: RSA, DSA, ECDSA
  • Per lo scambio di chiavi: RSA, Diffie-Hellman, ECDH, SRP, PSK

SSLv2 non utilizzava lRSA. Esiste una vulnerabilità per cui un hacker può tentare ripetutamente di connettersi usando SSLv2, ottenendo ogni volta alcune informazioni sulla chiave crittografica. Alcuni client, oltre al supporto a TLS, negli anni hanno mantenuto il supporto al precedente SSLv2, senza disabilitarlo; IIS, il server web di Microsoft, a partire dalla versione 7.0, e OpenSSL a partire dalla versione 1.0.2g Marzo 2016 disabilitano SSLv2 per impostazione predefinita.



                                     

4. STARTTLS

STARTTLS è levoluzione del TLS, si differenzia per il fatto che consente di cifrare la connessione anche sulle porte originali o standard, ossia 110, 143 e 25, in questo caso il client che sfrutta tale protocollo chiede in prima istanza al server linstaurazione di una connessione cifrata, quindi la sessione inizia "in chiaro" per poi diventare cifrata prima che venga trasmessa qualunque informazione sensibile o potenzialmente tale.

                                     
  • Giacomo Dotta da webnews.it, 9 aprile 2014 Protocollo di rete Transport Layer Security Altri progetti Wikimedia Commons Wikimedia Commons contiene immagini
  • che è un implementazione ampiamente usata del protocollo TLS Transport Layer Security È stato introdotto nel software nel 2012 e aperto al pubblico
  • nei protocolli crittografici di Internet come ad esempio il TLS Transport Layer Security I generatori di numeri casuali vengono utilizzati per determinare
  • crittografia, che lo rende insicuro a meno che non venga usato insieme al Transport Layer Security Digest access authentication utilizza il protocollo HTTP ed è
  • esattamente l inverso della Bind StartTLS - estensione per utilizzare Transport Layer Security TLS per eseguire la Bind Il server può inviare Unsolicited Notifications
  • Inoltre la comunicazione client - server è protetta dal protocollo Transport Layer Security In maggio 2017 Motherboard ha pubblicato un articolo un cui si
  • wolfSSL with Intel SGX, su wolfSSL. EN GNU License, su gnu.org. Transport Layer Security OpenSSL Sito ufficiale, su wolfssl.com. EN wolfSSL Now With ChaCha20
  • 2004. LibreSSL, è una versione open source del protocollo TLS Transport Layer Security così come definito dalla RFC 5246. È un fork dello stack TLS crypto

Anche gli utenti hanno cercato:

datagram transport layer service, the requested security protocol is not supported,

...
...
...