Utilisation de packages de sécurité
L’interface SSPI ( Security Support Provider Interface ) peut être utilisée avec les packages de sécurité suivants :
Les protocoles Kerberos et NTLM sont implémentés en tant que packages de sécurité à partir du Secur32.dll fournisseur de support de sécurité (SSP) fourni avec le système d’exploitation. Par défaut, la prise en charge de l’authentification Kerberos et NTLM est chargée par l’autorité de sécurité locale (LSA) sur un ordinateur au démarrage du système. Dans les domaines Windows Server ou Windows, les packages peuvent être utilisés pour authentifier les connexions réseau et les connexions client/serveur. Celui qui est utilisé dépend des fonctionnalités de l’ordinateur de l’autre côté de la connexion. Le protocole Kerberos est toujours préférable, s’il est disponible.
Une fois qu’un contexte de sécurité pour un utilisateur interactif a été établi, un autre instance du package Kerberos ou NTLM peut être chargé par un processus s’exécutant dans le contexte de sécurité de l’utilisateur pour prendre en charge l’échange, la signature, la vérification, le chiffrement et le déchiffrement des messages. Toutefois, aucun processus autre que LSA n’est jamais autorisé à accéder aux clés ou tickets de session dans le cache des informations d’identification.
Les services système et les applications au niveau du transport accèdent à un fournisseur de services partagés via SSPI, qui fournit des fonctions d’énumération des packages de sécurité disponibles sur un système, de sélection d’un package et d’utilisation de ce package pour obtenir une connexion authentifiée.
Les méthodes dans SSPI sont des routines génériques que les développeurs peuvent utiliser sans connaître les détails d’un protocole de sécurité particulier. Par exemple, lorsqu’une connexion client/serveur est authentifiée :
- L’application côté client de la connexion envoie des informations d’identification au serveur à l’aide de la fonction SSPI InitializeSecurityContext (Général) .
- L’application côté serveur de la connexion répond avec la fonction SSPI AcceptSecurityContext (Général).
- Une fois la connexion authentifiée, la LSA sur le serveur utilise les informations du client pour générer un jeton d’accès.
- Le serveur peut ensuite appeler la fonction SSPI ImpersonateSecurityContext pour attacher le jeton d’accès à un thread d’emprunt d’identité pour le service.
Package de sécurité Kerberos
Le package de sécurité Kerberos est basé sur le protocole d’authentification Kerberos.
Si le protocole Kerberos est utilisé pour authentifier une connexion client/serveur, InitializeSecurityContext (Kerberos) génère un message GSSAPI qui inclut un message KRB_AP_REQ du client. AcceptSecurityContext (Kerberos) génère ensuite un message GSSAPI qui inclut un message KRB_AP_REP du serveur.
Pour obtenir des informations générales sur les étapes qui se déroulent en arrière-plan dans l’implémentation d’un protocole Kerberos, consultez Microsoft Kerberos.
Tous les services distribués utilisent SSPI pour accéder au protocole Kerberos. Voici une liste partielle des façons dont le protocole Kerberos est utilisé pour l’authentification :
- Services de spouleur d’impression
- Accès aux fichiers distants CIFS/SMB
- Requêtes LDAP vers Active Directory
- Gestion et références du système de fichiers distribués
- Authentification de l’autorité de sécurité hôte à hôte IPsec
- Demandes de réservation pour la qualité de service du réseau
- Authentification intranet auprès d’Internet Information Services
- Gestion des serveurs ou stations de travail distants à l’aide de RPC authentifié
- Demandes de certificat adressées aux services de certificats pour les utilisateurs et les ordinateurs du domaine
Package de sécurité NTLM
Le package de sécurité NTLM est basé sur le protocole d’authentification NTLM.