Secure Sockets Layer
Secure Sockets Layer (SSL) è un protocollo progettato dalla Netscape Communications Corporation per realizzare comunicazioni cifrate su Internet. La versione 3.0, rilasciata nel 1996, è stata utilizzata come base di sviluppo per il protocollo Transport Layer Security (TLS). TLS è un protocollo standard IETF che è definito nella RFC 2246: "The TLS Protocol Version 1.0".Questi protocolli utilizzano la crittografia per fornire sicurezza nelle comunicazioni su Internet. Consentono alle applicazioni client/server di comunicare in modo tale da prevenire il 'tampering' (manomissione) dei dati, la falsificazione e l'intercettazione.
I protocolli di sicurezza risiedono sotto protocolli applicativi quali HTTP, SMTP e NNTP e sopra il protocollo di trasporto TCP. Sia SSL che TLS possono venire utilizzati per aggiungere sicurezza a qualsiasi protocollo che utilizza TCP, ma il loro utilizzo più comune avviene nel protocollo HTTPS. Il protocollo HTTPS viene utilizzato per aggiungere sicurezza alle pagine del World Wide Web in modo tale da rendere possibili applicazioni quali il commercio elettronico. Entrambi i protocolli utilizzano metodi di cifratura a chiave pubblica e utilizzano certificati a chiave pubblica per verificare l'identità delle parti coinvolte.
Come SSL (dal quale è derivato) anche TLS è un protocollo modulare che consente l'utilizzo di estensioni per garantire la compatibilità in avanti e all'indietro e la negoziazione tra le parti.
Sia TLS che SSL richiedono alcune fasi basilari:
- Negoziazione tra le parti dell'algoritmo da utilizzare
- Scambio di chiavi segrete tramite cifratura a chiave pubblica e identificazione tramite l'utilizzo di certificati
- Cifratura del traffico tra le parti a chiave (segreta) simmetrica
TLS è stato in seguito esteso da altri RFC, tra i quali:
- RFC 2712: "Addition of Kerberos Cipher Suites to Transport Layer Security (TLS)". Illustra come le cifrature a 40 bit siano ormai superate.
- 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 2818: "HTTP Over TLS". Differenziare il traffico sicuro da quello non sicuro tramite l'uso di una porta differente del server.
- RFC 3268: "AES Ciphersuites for TLS". Aggiunta di migliorie come l'Advanced Encryption Standard (AES), l'International Data Encryption Algorithm (IDEA), il Data Encryption Standard (DES) e il Triplo DES.
Link
L'originale inglese di questo articolo (o una versione precedente di esso) contiene materiale tratto da FOLDOC, utilizzato dietro permesso.