Argomento
- #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.
- 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.
- Sembra che la versione 1.1.13 supporti TLS 1.2.
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.
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.
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