Fournisseurs d’informations d’identification dans Windows

Les fournisseurs d’informations d’identification sont le mécanisme principal de l’authentification utilisateur. Il s’agit de la seule méthode permettant aux utilisateurs de prouver leur identité, ce qui est nécessaire pour l’ouverture de session et d’autres scénarios d’authentification système. Depuis Windows 10 et l’introduction de Microsoft Passport, les fournisseurs d’informations d’identification sont plus importants que jamais. Ils sont utilisés pour l’authentification dans les applications, les sites web, etc.

Microsoft propose divers fournisseurs d’informations d’identification dans le cadre de Windows, par exemple un mot de passe, un code PIN, une carte à puce et Windows Hello (reconnaissance des empreintes digitales, reconnaissance faciale et reconnaissance de l’iris). Ils sont appelés « fournisseurs d’informations d’identification système » dans cet article. Les OEM, les entreprises et d’autres entités peuvent écrire leurs propres fournisseurs d’informations d’identification, et les intégrer facilement à Windows. Ils sont appelés « fournisseurs d’informations d’identification tiers » dans cet article. Notez que les fournisseurs d’informations d’identification V1 et V2 sont pris en charge dans Windows. Il est important que les créateurs et les gestionnaires de fournisseurs d’informations d’identification tiers comprennent ces recommandations.

Fournisseurs d’informations d’identification système

Il est fortement recommandé d’avoir toujours au moins un fournisseur d’informations d’identification système pour chaque utilisateur de l’appareil en plus des fournisseurs d’informations d’identification tiers. De plus, durant la configuration du fournisseur d’informations d’identification tiers, chaque utilisateur de l’appareil doit être invité à configurer au moins un fournisseur d’informations d’identification système (si aucune autre option de récupération n’est disponible, consultez le scénario A ci-dessous).

Scénario A

Un utilisateur de compte local a configuré un fournisseur d’informations d’identification tiers, et l’utilise régulièrement pour se connecter à l’appareil. Un jour, l’utilisateur installe une mise à jour sur l’appareil, qui désactive le fournisseur d’informations d’identification tiers. Cependant, l’utilisateur n’a pas conscience de ce changement jusqu’à ce que la machine redémarre.

Au redémarrage suivant, l’utilisateur se retrouve sur l’écran d’ouverture de session, et ne peut pas utiliser le fournisseur d’informations d’identification tiers attendu. Si l’utilisateur a configuré un fournisseur d’informations d’identification système, il peut se connecter à la machine à l’aide de celui-ci. Si ce n’est pas le cas, l’utilisateur ne dispose d’aucun moyen de récupérer le compte sur la machine.

Scénario B

Un utilisateur de compte MSA (compte Microsoft), Active Directory (AD) ou Microsoft Entra ID a configuré un fournisseur d’informations d’identification tiers, et l’utilise régulièrement pour se connecter à l’appareil. Un jour, l’utilisateur installe une mise à jour sur l’appareil, qui désactive le fournisseur d’informations d’identification tiers. Cependant, l’utilisateur n’a pas conscience de ce changement jusqu’à ce que la machine redémarre.

Au redémarrage suivant, l’utilisateur se retrouve sur l’écran d’ouverture de session, et ne peut pas utiliser le fournisseur d’informations d’identification tiers attendu. Si l’utilisateur a configuré un fournisseur d’informations d’identification système, il peut se connecter à la machine à l’aide de celui-ci. Sinon, si le fournisseur d’informations d’identification de mot de passe du système est disponible, l’utilisateur peut demander/réinitialiser le mot de passe à distance, et s’en servir pour se connecter à la machine. Si aucune de ces options n’est disponible, l’utilisateur n’a aucun moyen de récupérer le compte sur la machine.

Conclusion

En résumé, la désactivation de tous les fournisseurs d’informations d’identification système sur un appareil doit être déconseillée. Bien que les fournisseurs d’informations d’identification tiers puissent répondre à des exigences d’authentification supplémentaires pour des groupes d’utilisateurs particuliers, il est très important de vérifier que l’utilisateur peut toujours retrouver l’accès à sa machine en cas de changement cassant. Les fournisseurs d’informations d’identification système apportent cette garantie.

Fournisseurs d’informations d’identification personnalisés

L’infrastructure du fournisseur d’informations d’identification Windows permet aux développeurs de créer des fournisseurs d’informations d’identification personnalisés. Quand Winlogon souhaite collecter des informations d’identification, l’IU d’ouverture de session interroge chaque fournisseur d’informations d’identification pour connaître le nombre d’informations d’identification à énumérer. Une fois que tous les fournisseurs ont énuméré leurs vignettes, l’IU d’ouverture de session les affiche à l’utilisateur. L’utilisateur interagit ensuite avec une vignette pour fournir les informations d’identification nécessaires. L’IU d’ouverture de session envoie ces informations d’identification à des fins d’authentification. L’IU relative aux informations d’identification peut également utiliser les fournisseurs d’informations d’identification quand des informations d’identification sont nécessaires. Consultez CREDENTIAL_PROVIDER_USAGE_SCENARIO pour obtenir la liste des scénarios dans lesquels un fournisseur d’informations d’identification peut être pris en charge.

Grâce à ce système, il est désormais beaucoup plus facile de créer un fournisseur d’informations d’identification. La majeure partie du travail est gérée par la combinaison de Winlogon, de l’IU d’ouverture de session et de l’IU relative aux informations d’identification. Pour ce faire, vous devez créer votre propre implémentation de ICredentialProvider et ICredentialProviderCredential. Si vous implémentez un fournisseur d’informations d’identification V2, ce qui est recommandé, vous devez également implémenter ICredentialProviderCredential2.

Il est important de noter que les fournisseurs d’informations d’identification ne sont pas des mécanismes de mise en œuvre. Ils sont utilisés pour collecter et sérialiser les informations d’identification ainsi que pour les soumettre à des fins d’autorisation. Les packages d’autorité locale et d’authentification gèrent toutes les mises en œuvre de sécurité nécessaires.

En associant les fournisseurs d’informations d’identification au matériel pris en charge, vous pouvez étendre Windows pour prendre en charge les ouvertures de session avec des informations biométriques, des mots de passe, des codes PIN, des certificats de carte à puce ou tout package d’authentification personnalisé que vous choisissez de créer. Vous pouvez également personnaliser l’expérience utilisateur d’ouverture de session de diverses façons. Par exemple, quand l’IU d’ouverture de session interroge votre fournisseur d’informations d’identification à propos des vignettes d’informations d’identification, vous pouvez spécifier une vignette par défaut pour proposer une expérience utilisateur personnalisée. Les fournisseurs d’informations d’identification peuvent même être conçus pour prendre en charge l’authentification unique (SSO), l’authentification des utilisateurs auprès d’un point d’accès sécurisé ainsi que l’ouverture de session de la machine.

Les fournisseurs d’informations d’identification sont inscrits sur une machine Windows, et sont responsables des aspects suivants.

  • Description des informations d’identification requises pour l’authentification.
  • Gestion de la communication et de la logique avec les autorités d’authentification externes.
  • Empaquetage des informations d’identification pour l’ouverture de session interactive et l’ouverture de session réseau.

Conseil

N’oubliez pas que plusieurs fournisseurs d’informations d’identification peuvent être installés sur une seule machine.

Encapsulation des fournisseurs d’informations d’identification

Vous pouvez encapsuler un fournisseur d’informations d’identification système pour lui ajouter des fonctionnalités qui ne sont pas prises en charge de manière native. Cela n’est pas recommandé, car il peut en résulter un comportement problématique. Des changements peuvent être apportés au fournisseur d’informations d’identification, lequel peut entrer en conflit avec le wrapper, ce qui risque de provoquer une expérience utilisateur médiocre ou d’empêcher l’utilisateur d’accéder à son appareil. Cela est particulièrement vrai avec la cadence des mises à jour de Windows.

Si des fonctionnalités d’un fournisseur d’informations d’identification sont nécessaires mais qu’elles ne sont pas incluses de manière native, il est recommandé de créer un fournisseur d’informations d’identification personnalisé. Il s’agit d’une approche plus stable qui n’a pas de dépendances par rapport aux fournisseurs système.

Voir aussi