Condividi tramite


Stabilire una connessione sicura con l'autenticazione

In un'applicazione client/server protocollo di applicazione, un server si associa a una porta di comunicazione come un socket o un'interfaccia RPC. Il server attende quindi che un client si connetta e richieda il servizio. Il ruolo della sicurezza nell'impostazione della connessione è duplice nel caso dell'autenticazione reciproca.

  • Autenticazione client dal server.
  • Autenticazione server dal client.

I componenti client e server di un'applicazione di trasporto usano un pacchetto di sicurezza per stabilire una connessione sicura per la trasmissione dei messaggi. Il primo passaggio per stabilire una connessione sicura consiste nel creare un contesto di sicurezza ; ovvero una struttura di dati opaca che contiene i dati di sicurezza rilevanti per una connessione, ad esempio una chiave di sessione e la durata della sessione.

Un contesto di sicurezza è essenzialmente un messaggio del pacchetto di sicurezza associato al client al pacchetto di sicurezza associato al server. Di conseguenza, la creazione di un contesto di sicurezza richiede in genere sia client che server per effettuare chiamate ai rispettivi pacchetti di sicurezza. Per altre informazioni sulle funzioni di contesto, vedere Context Management.

Il protocollo usato per stabilire una connessione sicura autenticata comporta lo scambio di uno o più "token di sicurezza" tra il client e il server. Questi token vengono inviati come messaggi opachi dai due partiti insieme a qualsiasi altra informazione specifica del protocollo dell'applicazione . Come messaggio opaco, il token viene ricevuto da una funzione del pacchetto di sicurezza dal client, che non può interpretarla o modificarla e inoltrata come messaggio al server. Il token è opaco anche per il server, che non può interpretare né modificare il token. Il server inoltra il token opaco al pacchetto di sicurezza per l'interpretazione. Il pacchetto informa quindi il server dell'autenticazione client o dell'errore di autenticazione.

Il client riceve il token del server in un messaggio, recupera il token dal messaggio ricevuto e lo usa in una chiamata al pacchetto di sicurezza. Il client chiama di nuovo il pacchetto di sicurezza che indica se è stata stabilita una connessione sicura o se sono necessari ulteriori scambi prima che una connessione sicura sia pronta. Teoricamente, non esiste alcun limite al numero di scambi di token di sicurezza necessari. In pratica, è necessario solo un numero limitato di scambi. L'autenticazione NTLM si basa sullo schema di richiesta/risposta e usa tre gambe per autenticare un client nel server. Il protocollo Kerberos versione 5.0 può richiedere scambi di messaggi aggiuntivi.

Inizializzazione del Contesto del Cliente

Inizializzazione del contesto del server