Crittografia SSL

Il protocollo SSL opera tra il livello di applicazione e il livello TCP/IP. Ciò gli consente di crittografare il flusso di dati stesso, che può quindi essere trasmesso in modo sicuro, utilizzando uno qualsiasi dei protocolli del livello di applicazione.

Molti algoritmi differenti possono essere utilizzati per codificare i dati e per calcolare il codice di autenticazione del messaggio. Alcuni algoritmi forniscono livelli elevati di sicurezza ma richiedono una grande quantità di calcolo per la crittografia e la decrittografia. Altri algoritmi sono meno sicuri, ma forniscono una rapida crittografia e decrittografia. La lunghezza della chiave utilizzata per la codifica influenza il livello di sicurezza; più lunga è la chiave, più sicuri sono i dati. SSL definisce le suite di cifratura per specificare gli algoritmi di crittografia utilizzati durante una connessione SSL.

Tecniche di crittografia SSL

SSL utilizza due tecniche di cifratura:
  • PKCS (Public Key Cryptography Standard), che codifica e decodifica i certificati durante l'handshake SSL. Le chiavi di crittografia vengono create a coppie, una chiave pubblica e la chiave privata associata. I dati codificati con una determinata chiave pubblica possono essere decodificati solo con la chiave privata associata; ciò significa che i dati sono leggibili solo dal destinatario previsto. I dati codificati con una determinata chiave privata possono essere decodificati solo con la chiave pubblica associata; ciò significa che è garantito che i dati di autenticazione abbiano origine dal proprietario della chiave privata.
  • Una tecnica di codifica simmetrica concordata reciprocamente, come DES (data encryption standard) o DES triplo, viene utilizzata nel trasferimento dei dati dopo l'handshake.
PKCS, come utilizzato da SSL, funziona brevemente come segue:
  1. Quando viene creato un certificato, un algoritmo basato su due numeri casuali viene usato per creare una chiave privata e una chiave pubblica per il proprietario del certificato. Le chiavi private e pubbliche che ne risultano sono correlate tra loro in modo che:
    • Non è possibile dedurre il valore della chiave privata dalla chiave pubblica, né la chiave pubblica da quella privata

      La chiave privata viene memorizzata in modo sicuro e non viene resa nota a nessuno se non al proprietario. La chiave pubblica può essere resa disponibile gratuitamente a qualsiasi utente, senza alcun rischio di compromettere la sicurezza della chiave privata.

    • Le informazioni codificate utilizzando la chiave pubblica possono essere decodificate solo con la chiave privata

      Le informazioni possono essere crittografate da qualsiasi utente e inviate in modo sicuro al titolare della chiave privata. Una terza parte non può utilizzare la chiave pubblica per leggere le informazioni.

    • Le informazioni codificate utilizzando la chiave privata possono essere decodificate solo con la chiave pubblica

      Solo il possessore della chiave privata può codificare le informazioni che possono essere decodificate con la chiave pubblica. Una terza parte non può rappresentare il mittente delle informazioni.