Partager via


Établissement d’une connexion sécurisée avec l’authentification

Dans un client/serveur protocole d’application, un serveur se lie à un port de communication tel qu’un socket ou une interface RPC. Le serveur attend ensuite qu’un client se connecte et demande le service. Le rôle de la sécurité lors de l'établissement de la connexion est double dans le cas de l'authentification mutuelle :

  • Authentification du client par le serveur.
  • Authentification du serveur par le client.

Les composants client et serveur d’une application de transport utilisent un package de sécurité pour établir une connexion sécurisée pour la transmission de messages. La première étape de l’établissement d’une connexion sécurisée consiste à créer un contexte de sécurité ; autrement dit, une structure de données opaque qui contient les données de sécurité pertinentes pour une connexion, comme une clé de session et la durée de la session.

Un contexte de sécurité est essentiellement un message du package de sécurité associé au client au package de sécurité associé au serveur. Par conséquent, la création d’un contexte de sécurité nécessite généralement à la fois le client et le serveur d’effectuer des appels à leurs packages de sécurité respectifs. Pour plus d’informations sur les fonctions de contexte, consultez Gestion du Contexte.

Le protocole utilisé pour établir une connexion sécurisée et authentifiée implique l’échange d’un ou plusieurs « jetons de sécurité » entre le client et le serveur. Ces jetons sont envoyés sous forme de messages opaques par les deux parties, ainsi que toute autre information spécifique au protocole d’application . En tant que message opaque, le jeton est reçu d’une fonction de package de sécurité par le client, qui ne peut pas l’interpréter ou le modifier, et transféré en tant que message au serveur. Le jeton est également opaque pour le serveur, qui ne peut ni interpréter ni modifier le jeton. Le serveur transfère le jeton opaque à son package de sécurité à des fins d’interprétation. Le package informe ensuite le serveur de l’authentification du client ou de l’échec de l’authentification.

Le client reçoit le jeton du serveur dans un message, récupère le jeton du message reçu et utilise ce jeton dans un appel à son package de sécurité. Le client appelle ensuite à nouveau le package de sécurité indiquant si une connexion sécurisée a été établie ou si d’autres échanges sont nécessaires avant qu’une connexion sécurisée soit prête. Théoriquement, il n’existe aucune limite au nombre d’échanges de jetons de sécurité nécessaires. Dans la pratique, seul un nombre limité d’échanges est nécessaire. L’authentification NTLM est basée sur le schéma de défi/réponse et utilise trois jambes pour authentifier un client auprès du serveur. Le protocole Kerberos version 5.0 peut nécessiter des échanges de messages supplémentaires.

Initialisation du contexte client

Initialisation du contexte du serveur