Uso del protocollo Secure Sockets Layer per comunicazioni protette: IBM HTTP Server
Amministrazione del sistema Documentazione IBM HTTP Server

Uso del protocollo Secure Sockets Layer per comunicazioni protette

In questa sezione vengono fornite informazioni basilari sul protocollo Secure Sockets Layer (SSL), compresa una panoramica generale sul protocollo e spiegazioni sui concetti di protezione. I collegamenti agli argomenti correlati vengono visualizzati alla fine di questa sezione.

SSL rappresenta un sistema di codifica utilizzato su server per assicurare la privacy durante la trasmissione di informazioni attraverso il World Wide Web. I server abilitati SSL codificano i dati sensibili trasformandolo in testo cifrato prima di inviarli ai client; in questo modo si impedisce a terze parti di leggere i dati, anche se intercettati durante il percorso. I client che ricevono i dati dal server decodificano il testo cifrato per leggerne i dati. L'uso di SSL su un server Web aiuta ad assicurare che le informazioni trasmesse tra un client, quale un browser Web e un server, quale un server Web, rimangano private, e abilita i client ad autenticare l'identità del server.

Uso di SSL per comunicazioni protette

Affinché un server e un client utilizzino SSL per le comunicazioni protette, il server deve disporre di una coppia di chiavi pubblica e privata e di un certificato. Il server utilizza la chiave privata per firmare i messaggi per i client. Il server invia la chiave pubblica ai client in modo che possano verificare che i messaggi firmati provengano dal server e possano codificare i messaggi inviati al server. Il server decodifica tali messaggi con la chiave privata.

Per inviare la chiave pubblica ai client, il server deve avere un certificato emesso da una CA (autorità di certificazione). Il certificato contiene una chiave pubblica server, il nome distinto (DN) associato al certificato del server, il numero di serie o la data di emissione del certificato e la relativa data di scadenza.

Un'AC (autorità di certificazione) è una terza parte sicura (o un'autorità interna designata) che emette certificati. L'AC verifica l'identità del server e firma digitalmente i certificati con la chiave privata e utilizza la chiave pubblica per assicurarsi che il certificato sia valido. Un certificato firmato collega l'identità del server a una coppia di chiavi elettroniche, utilizzate per codificare e firmare informazioni digitali. La chiave privata dell'autorità di certificazione firma il certificato per verificare l'identità del server.

Per utilizzare un server Web in modalità SSL sicura, è necessario prima ottenere un certificato firmato da un'autorità di certificazione. VeriSign, Inc. rappresenta una delle numerose società che agiscono come un'autorità di certificazione. Tuttavia, è possibile utilizzare un certificato firmato del formato appropriato da qualsiasi autorità di certificazione.

Quando si imposta una connessione protetta, associare la chiave pubblica con un certificato a firma digitale emesso da un'autorità di certificazione (CA) indicata sul server come una CA sicura.

Descrizione dei concetti di protezione

Questa sezione fornisce una panoramica dei concetti sulla sicurezza.

Comunicazioni sicure

La rapida crescita del commercio elettronico via Internet ha di conseguenza provocato l'aumento della domanda di comunicazioni di rete protette. In aggiunta, le comunicazioni interne all'interno dell'azienda su reti private spesso contengono informazioni riservate che necessitano protezione.

Una comunicazione di rete protetta ha le seguenti caratteristiche:

Controllo degli accessi

Solo le parti autorizzate possono proteggere e accedere alle risorse. Limitare gli accessi tramite password, indirizzi IP, nomi host o autenticazione client SSL, assicura il controllo degli accessi.

Autenticità

Si conosce la persona con cui si sta parlando e si crede a tale persona. L'autenticazione, attraverso la firma digitale e i certificati digitali, assicura l'autenticità.

Integrità delle informazioni

I messaggi non vengono modificati nel corso della trasmissione. Senza l'integrità delle informazioni, non si ha alcuna garanzia che il messaggio inviato corrisponda al messaggio ricevuto. La firma digitale garantisce l'integrità.

Privacy e riservatezza

Le informazioni trasferite da una parte all'altra durante una transazione rimangono private e confidenziali e non possono essere lette in ogni caso. La codifica assicura la privacy e la riservatezza.

Uso della codifica

La codifica nella forma più semplice consiste nel rendere indecifrabile un messaggio in modo che non possa essere letto finché non viene decodificato dal ricevente. Il mittente utilizza un modello algoritmico oppure una chiave per rendere indecifrabile o per codificare il messaggio. Il ricevente dispone della chiave di codifica. La codifica assicura la privacy e la riservatezza nelle trasmissioni effettuate tramite Internet.

Per la codifica, utilizzare due diversi tipi di chiavi:

Chiavi asimmetriche

Viene creata una coppia di chiavi con chiavi asimmetriche. La coppia di chiavi comprende una chiave pubblica e una chiave privata, diverse una dall'altra. La chiave privata contiene la parte più consistente del modello di codifica segreto rispetto alla chiave pubblica. Non condividere la chiave privata con nessuno.

Il server utilizza la chiave privata per firmare i messaggi inviati ai client. Il server invia la chiave pubblica ai client in modo che possano codificare i messaggi inviati al server, il quale li decodifica con la chiave privata. Solo l'utente può decifrare un messaggio codificato con la chiave pubblica, poiché è l'unico a possedere la chiave privata. Le coppie di chiavi vengono memorizzate in un database di chiavi protetto da una password.

Chiavi simmetriche

Le chiavi simmetriche seguono un vecchio modello in base al quale il mittente e il ricevente condividono alcuni tipi di modelli. Per codificare il messaggio, il mittente utilizza lo stesso modello utilizzato dal ricevente per decodificarlo.

Il rischio nelle chiavi simmetriche consiste nel fatto che è necessario trovare un metodo sicuro di trasporto da utilizzare, per condividere la chiave segreta con gli utenti con cui si desidera comunicare.

Il protocollo SSL (Secure Sockets Layer) supporta sia lo scambio di chiavi simmetriche che asimmetriche. Utilizzare le chiavi asimmetriche per la sincronizzazione SSL. Durante la sincronizzazione, la chiave principale, codificata con la chiave pubblica del ricevente, viene passata dal client al server. Il client e il server creano le loro chiavi di sessione utilizzando la chiave principale. Le chiavi di sessione codificano e decodificano i dati per l'intera duratadella sessione. Lo scambio della chiave simmetrica viene eseguito durante lo scambio delle specifiche o livello di codifica.

Il server deve avere un certificato digitale per inviare la chiave pubblica ai client. Questo certificato viene emesso da un'autorità di certificazione (CA) che verifica l'identità del server.

Uso dell'autenticazione

L'autenticazione è un processo che consente di verificare l'identità. Il server utilizza l'autenticazione in due modi:

Firma digitale

Una firma digitale è una firma unica calcolata in modo matematico che assicura l'attendibilità. La firma digitale è simile ad una carta di credito sulla quale viene visualizzata una fotografia. Per verificare l'identità della persona che sta inviando un messaggio, controllare il certificato digitale del mittente.

Certificato digitale

Un certificato digitale o ID digitale, è come una carta di credito con la fotografia dell'utente sottobraccio al presidente della banca. Un commerciante crede all'utente non solo perché corrisponde alla fotografia sulla carta di credito, ma perché egli gode della fiducia del presidente della banca.

La fiducia sull'autenticità del mittente si basa sulla fiducia concessa alla terza parte (una persona o un'agenzia) che ha certificato il mittente. La terza parte che emette i certificati digitali è denominata autorità di certificazione (CA) o firmatario certificati.

Un certificato digitale contiene:

  • La chiave pubblica della persona certificata
  • Il nome e l'indirizzo della persona o dell'organizzazione certificata, nota anche come Nome distinto (DN, Distinguished Name)
  • La firma digitale dell'AC
  • La data di emissione
  • La data di scadenza

Il Nome distinto viene immesso come parte di una richiesta di certificato. Il certificato con firma digitale comprende il DN e il DN dell'AC.

E' possibile richiedere uno dei seguenti certificati:

Le CA diffondono la loro chiave pubblica e il nome distinto insieme, in tal modo verranno aggiunte ai browser e ai server Web come certificati CA affidabili. Quando si designa il certificato e la chiave pubblica da una CA per essere un certificato CA affidabile, il server si fiderà di chiunque abbia un certificato da quella CA. E' possibile disporre di molte CA affidabili come parte del proprio server. HTTP Server comprende diversi certificati CA affidabili predefiniti. È possibile aggiungere o rimuovere CA affidabili utilizzando il programma di utilità IBM Key Management incluso nel server.

Per comunicare in maniera sicura, il ricevente in una trasmissione deve fidarsi della CA che ha emesso il certificato del mittente. Tale situazione vale sia se il ricevente è un browser o un server Web. Quando un mittente firma un messaggio, il ricevente deve avere il certificato firmato dalla CA corrispondente e la chiave pubblica definita come certificato CA affidabile.

Identificazione di una PKI (Public Key Infrastructure)

Una Public Key Infrastructure (PKI) è un sistema di certificati digitali di autorità di certificazione, di autorità di registrazione, di servizi di gestione certificati e di directory X.500. La PKI verifica l'identità e l'autorità di ciascuna parte coinvolta in una transazione Internet, finanziaria o operativa, con requisiti per la verifica dell'identità. Gli esempi di tali transazioni comprendono la conferma della fonte delle offerte, o l'autore dei messaggi e-mail.

Una PKI supporta l'uso di CRL (Certificate Revocation List). Un CRL è un elenco di certificati che sono stati revocati. I CRL forniscono un metodo globale migliore per autenticare l'identità di un client tramite un certificato e possono verificare la validità dei certificati CA protetti.

Un server di directory X.500 memorizza e recupera i CRL e i certificati CA. I protocolli utilizzati per memorizzare e recuperare le informazioni da un server di directory X.500 comprendono Directory Access Protocol (DAP) e Lightweight Directory Access Protocol (LDAP). IBM HTTP Server supporta LDAP.

È possibile distribuire le informazioni su più server di directory sia Internet e intranet, consentendo ad un'organizzazione di gestire i certificati, i criteri di garanzia e i CRL da un'ubicazione centrale o in modo distribuito. Questa capacità rende più dinamici i criteri di garanzia perché è possibile aggiungere o cancellare le CA protette da una rete di server sicuri senza dover riconfigurare ognuno dei server.

Controllo del protocollo Secure Sockets Layer

Il protocollo SSL (Secure Sockets Layer) è stato sviluppato dalla Netscape Communications Corporation. Il protocollo SSL fa sì che i dati trasferiti tra client e server rimangano privati. Questo protocollo consente al client di autenticare l'identità del server. SSL Versione 3 richiede l'autenticazione dell'identità del client.

Quando un server ottiene un certificato digitale, i browser abilitati SSL come Netscape Navigator e Microsoft Internet Explorer possono comunicare in modo sicuro con il server utilizzando SSL. Con SSL, è facilmente possibile creare un sito Web abilitato alla sicurezza in Internet oppure nell'intranet privata. Un browser che non supporta HTTP su SSL non può richiedere gli URL utilizzando HTTPS. I browser non SSL non consentono la presentazione di moduli che richiedono comunicazioni protette.

SSL utilizza una sincronizzazione di sicurezza per avviare una connessione sicura tra il client e il server. Durante la sincronizzazione, il client e il server stabiliscono le chiavi di sicurezza da utilizzare per la sessione e gli algoritmi da utilizzare per la codifica. Il client autentica il server; facoltativamente, il server può richiedere il certificato client. Dopo la sincronizzazione, SSL codifica e decodifica tutte le informazioni nella richiesta HTTPS e nella risposta del server, comprese:

  • L'URL richiesto dal client
  • Il contenuto di ciascun modulo inoltrato
  • Informazioni all'autorizzazione di accesso, come i nomi utenti e le password
  • Tutti i dati inviati tra il client e il server

HTTPS è un protocollo unico che unisce SSL e HTTP. Specificare https:// come ancoraggio nei documenti HTML che collegano ai documenti protetti da SSL. Inoltre un utente client può aprire un URL specificando https:// per richiedere un documento protetto da SSL.

Poiché HTTPS (HTTP + SSL) e HTTP sono protocolli diversi e utilizzano porte diverse (rispettivamente 443 e 80), è possibile eseguire simultaneamente sia le richieste SSL, sia non SSL. Questa capacità consente di fornire informazioni agli utenti senza sicurezza, mentre le informazioni specifiche vengono fornite solo ai browser che effettuano richieste sicure. Questa funzionalità consente a una azienda di vendita al dettaglio in Internet di permettere agli utenti di osservare la merce senza sicurezza ma di compilare dei moduli d'ordine e inviare i propri numeri di carta di credito utilizzando la sicurezza.

 
Informazioni correlate

     (Torna all'inizio)