뚠뚠멍의 생각들

Analisi approfondita di TLS

Creato: 2024-10-27

Creato: 2024-10-27 21:31

A partire dal 2020 circa, con la fine del supporto per TLS 1.1,

è diventato necessario controllare i server obsoleti.


Mantenendo TLS 1.1, durante la comunicazione tra servizi cloud come AWS e Azure, si potrebbero verificare errori,

oppure errori durante la comunicazione con API esterne, come i pagamenti, o problemi a seconda della versione del browser.


Tomcat

- Sembra che le versioni precedenti alla 6.x non supportino TLS 1.2. È necessario passare a TLS 1.2 tramite JRE Java 7 o superiore.

Nginx

- Sembra che la versione 1.1.13 supporti TLS 1.2.


Principi di TLS

Client Hello: il client invia una richiesta di connessione al server (incluso il supporto per le versioni TLS e l'insieme di crittografia).

Server Hello: il server invia la versione TLS e l'insieme di crittografia da utilizzare e il certificato SSL per dimostrare l'affidabilità.

Scambio chiavi e creazione della chiave di sessione: il client e il server creano una chiave di sessione condivisa tramite un algoritmo di scambio chiavi.

Messaggio di completamento: il client e il server inviano un messaggio di completamento crittografato con la propria chiave.

Trasmissione dati: i dati vengono crittografati e scambiati utilizzando la chiave di sessione.

Chiusura: al termine della trasmissione dati, vengono scambiati messaggi di chiusura della sessione e le informazioni sulla chiave di sessione vengono eliminate.


Quali sono le differenze tra TLS 1.2 e 1.1?

TLS è un protocollo di sicurezza a livello di trasporto, alla base di HTTPS. Fornisce autenticazione, integrità e crittografia.

Si dice che 1.2 sia superiore a 1.1 in termini di sicurezza e prestazioni.

- 1.1 utilizza gli algoritmi di hash MD5 e SHA-1.

- 1.1 può essere vulnerabile agli attacchi BEAST, Man-in-the-middle e Cipher Suite.

* BEAST: un attaccante intercetta la connessione HTTPS e inietta contenuti dannosi

* Man-in-the-middle: un attaccante intercetta la comunicazione e ruba i dati

- 1.2 utilizza l'algoritmo SHA-256 (un algoritmo di sicurezza più robusto).

- 1.2 supporta l'insieme di crittografia GCM (Galois/Counter Mode), che esegue contemporaneamente crittografia e autenticazione, quindi è anche più veloce.


Cipher Suite (insieme di crittografia)

Tutti i meccanismi di crittografia necessari affinché il client e il server possano scambiarsi dati, costituiti da quattro parti.

1. Algoritmo di scambio chiavi

- Metodo per scambiare in modo sicuro chiavi segrete condivise, es. RSA, Diffie-Hellman

2. Algoritmo di autenticazione

- Verifica dell'affidabilità del server tramite certificati, es. chiave pubblica RSA

3. Algoritmo di crittografia simmetrica

- Metodo per crittografare i dati durante la sessione e per decrittografarli da client e server con la stessa chiave di sessione, es. AES

4. Codice di autenticazione del messaggio

- Verifica dell'integrità dei dati, es. HMAC-SHA256

L'insieme di crittografia è la combinazione dei quattro elementi sopra menzionati.


Commenti0