Vigilance sécuritéAméliorations de l'infrastructure de clé publique (PKI) dans Windows

John Morello

Cette chronique est basée sur une version bêta de Windows Server 2008. Toutes les informations contenues dans cet article sont susceptibles d’être modifiées.

Windows a inclus une puissante prise en charge de l'infrastructure de clé publique (PKI) sur l'ensemble de la plate-forme depuis Windows 2000. Cette version comprenait la première fonctionnalité d'autorité de certification native, introduisait l'inscription automatique et fournissait une prise en charge de l'authentification par carte à puce. Dans Windows XP et Windows Server 2003, ces

fonctionnalités ont été étendues pour fournir des options d'inscription plus flexibles grâce aux modèles de certificat de version 2, et pour prendre en charge l'inscription automatique des certificats utilisateur. Dans Windows Vista® et Windows Server ® 2008 (ancien nom de code « Longhorn »), la plate-forme Windows® PKI va encore plus loin en prenant en charge des algorithmes avancés, la vérification de validité en temps réel et une plus grande facilité de gestion. Cette chronique aborde les nouvelles fonctionnalités de l'infrastructure PKI dans Windows Vista et Windows Server 2008 et la façon dont elles peuvent être utilisées par les entreprises pour réduire leurs coûts et accroître leur sécurité.

Les améliorations de l'infrastructure PKI dans Windows Vista et Windows Server 2008 sont concentrées sur quatre axes principaux : la cryptographie, l'inscription, la facilité de gestion et la révocation. Outre ces améliorations spécifiques aux fonctionnalités, la plate-forme Windows PKI offre également d'autres améliorations système, telles que le Gestionnaire de rôles, qui facilitent la création et le déploiement de nouvelles autorités de certification. De plus, de nombreux autres composants de Windows peuvent bénéficier des améliorations de l'infrastructure PKI, telles que la prise en charge dans Windows Vista de l'utilisation de cartes à puce pour le stockage de clés du système de fichiers EFS.

Cryptographie

Les améliorations apportées à l'axe cryptographie sont doubles. Tout d'abord, avec l'introduction de la cryptographie nouvelle génération (CNG), Windows offre désormais une possibilité de chiffrement enfichable indépendant du protocole facilitant le développement et l'accès aux algorithmes individuels par programmation. Ensuite, la nouvelle architecture de chiffrement permet la prise en charge des algorithmes de la Suite B introduits par la NSA (National Security Agency) en 2005.

CNG est une nouvelle interface de cryptographie de base pour Microsoft. Elle est l'API recommandée pour les futures applications Windows qui utilisent la cryptographie. CNG offre une toute une série de nouvelles fonctionnalités pour les développeurs, notamment une détectabilité et un remplacement des algorithmes simplifiés, des générateurs des nombres aléatoires remplaçables et une API cryptographique en mode noyau. Tout en offrant ces nouvelles fonctionnalités, CNG est également rétrocompatible avec la série d'algorithmes fournis dans sa version précédente, CryptoAPI 1.0. CNG est actuellement en cours d'évaluation pour la certification de niveau 2 de la norme FIPS (Federal Information Processing Standards) 140-2, ainsi que pour les critères communs sur certaines plates-formes sélectionnées.

La prise en charge de la Suite B de CNG comprend tous les algorithmes requis : AES (toutes les tailles de clés), la famille d'algorithmes de hachage SHA-2 (SHA-256, SHA-384 et SHA-512), ECDH (Elliptic Curve Diffie-Hellman) et ECDSA (Elliptic Curve Digital Signature Algorithm) sur les courbes standard du National Institute of Standards and Technology (NIST) P-256, P-384 et P-521. La NSA a déclaré que les implémentations de la Suite B certifiées seront utilisées pour protéger les informations classées top secrètes, secrètes, et les informations privées qui, par le passé, avaient été décrites comme sensibles mais non classées. Tous les algorithmes de la Suite B ont été développés ouvertement et certains gouvernements envisagent également de les adopter en tant que normes nationales.

Ces améliorations de bas niveau à la plate-forme Windows PKI offrent aux développeurs des méthodes plus sécurisées pour protéger les données, tout en créant un sous-système plus facile à maintenir et améliorer dans le temps. Étant donné que CNG est une architecture enfichable, de nouveaux algorithmes peuvent être ajoutés si nécessaire et CNG soustrait ces fournisseurs de la couche d'application. Résultat net : Windows Vista et Windows Server 2008 sont conçus pour offrir une plate-forme évolutive avancée pour le développement des applications et des services compatibles avec PKI.

Inscription

L'inscription de certificats dans Windows a été considérablement améliorée grâce à un nouvel outil d'inscription basé sur un Assistant, une meilleure gestion des notifications d'expiration, une nouvelle API, la fonctionnalité « Inscrire au nom de » et l’itinérance avec authentification par informations d’identification. Ces fonctionnalités améliorées réduisent le coût total de possession d'une infrastructure PKI en facilitant le déploiement de certificats dans votre entreprise avec une gestion centralisée et un impact utilisateur minimal.

La modification la plus perceptible du point de vue de l'inscription est la nouvelle interface utilisateur Inscription de certificats illustrée aux figures 1 et 2. Cette interface utilisateur remplace l'ancienne interface limitée qui n'était pas capable d'accepter des données provenant des utilisateurs lors du processus d'inscription. La nouvelle interface permet aux utilisateurs d'entrer des données pendant l'inscription (si l'administrateur configure le modèle de certificat pour le demander). L'interface fournit également des explications claires sur les raisons pour lesquelles un utilisateur pourrait ne pas pouvoir s'inscrire à un modèle donné.

Figure 1 Sélection des certificats disponibles

Figure 1** Sélection des certificats disponibles **(Cliquer sur l'image pour l'agrandir)

Figure 2 État des certificats indisponibles

Figure 2** État des certificats indisponibles **(Cliquer sur l'image pour l'agrandir)

Une autre amélioration clé de l'interface d'inscription réside dans la gestion de l'expiration des certificats. La nouvelle interface fournit aux utilisateurs finaux des informations claires sur l'expiration des certificats et permet aux utilisateurs de renouveler facilement les certificats ou d'ignorer les avertissements à partir de la même interface. Bien que les administrateurs puissent actualiser automatiquement les certificats grâce à l'inscription automatique, cette fonctionnalité d'avertissement est importante pour les utilisateurs déconnectés ou mobiles qui se connectent rarement au réseau de l'entreprise et disposent de certificats ayant presque atteint leur date d'expiration.

Pour les développeurs qui travaillent sur l'inscription de certificats, une nouvelle API est disponible offrant des améliorations significatives des anciennes commandes ActiveX® (xenroll.dll et scrdernl.dll). La nouvelle API d'inscription de certificats offre une hiérarchie de classe bien définie, beaucoup plus simple à comprendre et à coder. Cette nouvelle API remplace xenroll dans Windows Vista et Windows Server 2008.

Cette modification dans l'API a un impact sur les développeurs et les professionnels de l'informatique dans la mesure où les clients Windows Vista ne peuvent pas utiliser les fonctionnalités d'inscription Web fournies dans Windows Server 2003. Ceci est dû au fait que les pages d'inscription (stockées dans le répertoire virtuel /certsrv par défaut) qui utilisent la commande xenroll ne se trouve plus dans Windows Vista. L'article « Comment utiliser les pages d'inscription Web des services de certification avec Windows Vista » de la base de connaissances (support.microsoft.com/kb/922706) fournit des informations sur une solution de contournement. L'inscription automatique de Windows Server 2003 vers Windows Vista n'est pas concernée.

Dans les précédentes versions de Windows Server, les agents d'inscription n'étaient pas limités au niveau de l'individu au nom duquel ils pouvaient procéder à l'inscription. En d'autres termes, une fois qu'un utilisateur recevait des fonctionnalités d'agent d'inscription, il pouvait s'inscrire au nom de tout autre utilisateur de la forêt. Bien sûr, ceci signifiait que l'utilisateur pouvait facilement promouvoir ses privilèges en s'inscrivant au nom d'un utilisateur existant et en imitant l'utilisateur avec le certificat créé récemment. Afin de contrecarrer cette menace, les fonctionnalités d'agent d'inscription étaient fournies à des individus d'extrême confiance uniquement. Bien qu'une telle approche ait amélioré la sécurité, elle a également rendu les modèles de déploiement moins flexibles, vu que seul un nombre réduit d'individus disposent de la fonctionnalité d'inscription au nom d'autres utilisateurs. Par conséquent, les organisations de grande taille géographiquement dispersées, étaient confrontées à une complexité accrue lors du déploiement de certificats aux utilisateurs finaux (pour les cartes à puce par exemple).

Dans Windows Server 2008, les agents d'inscription peuvent être limités à un niveau beaucoup plus granulaire. Les restrictions peuvent être basées sur les utilisateurs qui peuvent être inscrits au nom de ou sur les modèles qui peuvent être inscrits, comme indiqué à la figure 3. Par exemple, une organisation peut désormais conférer à un informaticien local la possibilité d'effectuer les inscriptions au nom de tous les utilisateurs de sa succursale, mais pas des utilisateurs du groupe Ressources humaines. Cette approche granulaire des agents d'inscription permet aux entreprises de déléguer de manière sécurisée et efficace les fonctionnalités d'inscription au sein de leur organisation.

Figure 3 Restrictions d'agent d'inscription

Figure 3** Restrictions d'agent d'inscription **(Cliquer sur l'image pour l'agrandir)

L'un des plus grands défis posés par la gestion de l'infrastructure PKI consiste à gérer toutes les paires de clés dispersées sur les périphériques de l'organisation. Même dans un environnement PKI modérément complexe, tout utilisateur donné peut disposer de plusieurs paires de clés différentes (par exemple pour l'EFS, l'authentification à un réseau sans fil et S/MIME) qui doivent être disponibles quel que soit le lieu de connexion. Du fait de l'utilisation croissante de l'informatique mobile et des services Terminal Server, vous devez, aujourd'hui plus que jamais, répliquer ces paires de clés sur l'ensemble du réseau pour qu'elles soient à la disposition des utilisateurs quel que soit leur lieu de connexion. Bien que les jetons utilisateur, tels que les cartes à puce, puissent résoudre certains aspects de ce problème, certains utilisateurs peuvent ne pas disposer de carte et certains certificats peuvent ne pas être enregistrés sur les cartes. L’itinérance avec authentification par informations d’identification résout ces problèmes en stockant les paires de clés et les certificats dans Active Directory® de façon sécurisée, les mettant ainsi à la disposition des utilisateurs quel que soit leur lieu de connexion.

L’itinérance avec authentification par informations d’identification a été implémentée pour la première fois dans Windows Server 2003 SP1. Elle permet aux certificats et aux clés de basculer de manière sécurisée entre les ordinateurs sans utiliser les profils utilisateur itinérants. Dans Windows Vista et Windows Server 2008, cette fonctionnalité est incluse par défaut et est implémentée dans le service du client des services de certification (CSC). Les options de configuration, telles que le choix des certificats pouvant utiliser des profils itinérants et la façon dont les conflits sont arbitrés, sont gérées à l'aide de la stratégie de groupe. Sur Windows Vista et Windows Server 2008, le service CSC peut utiliser des noms et mots de passe utilisateur enregistrés itinérants. Bien que cette fonctionnalité soit incluse par défaut dans Windows Vista, il est à noter que l’itinérance avec authentification par informations d’identification est entièrement prise en charge sur Windows XP lorsqu'un utilisateur se connecte à un contrôleur de domaine Windows Server 2003 (avec le déploiement d'une mise à jour ; voir support.microsoft.com/kb/907247). Cela signifie que vous ne devez pas attendre d'avoir terminé le déploiement de Windows Vista pour pouvoir profiter de cette technologie.

Facilité de gestion

Plusieurs mises à niveau ont été effectuées dans Windows Server 2008 pour améliorer la facilité de gestion du service de l'autorité de certification en facilitant l'installation, la surveillance et l'exécution en mode haute disponibilité. L'installation de l'autorité de certification est intégrée à l'outil Gestionnaire de rôles et offre une méthode simple d'installation du service de l'autorité de certification. Les paramètres par défaut sont définis pour chaque étape du processus et l'installation peut désormais être exécutée en mode sans assistance. Enfin, l'installation dispose de fonctionnalités de diagnostic améliorées facilitant la résolution de tout problème ou défaillance pouvant survenir.

La surveillance du service de l'autorité de certification a été considérablement améliorée dans Windows Server 2008 (comme l'a été le diagnostic des certificats global dans Windows Vista). En plus de l'infrastructure d'événements beaucoup plus flexible qui porte tout le produit, le service de l'autorité de certification dispose désormais d'une console de surveillance intégrée et s'intègre à Systems Center Operations Manager 2007 (anciennement connu en tant que MOM) pour fournir une alerte au niveau entreprise. La console de surveillance PKI Enterprise représente une amélioration majeure par rapport à sa version précédente qui a été introduite dans le pack d'administration de Windows Server 2003. La nouvelle console est incluse dans le produit lui-même et peut désormais surveiller les URI de protocole OCSP (Online Certificate Status Protocol) en plus de toutes les autorités de certification dans une forêt donnée.

Le pack d'administration d'Operations Manager fournit une fonctionnalité de surveillance passive pour l'infrastructure PKI d'une organisation, notamment les alertes basées sur un seuil intégrées. Par exemple, le pack d'administration peut être utilisé pour surveiller l'actualisation d'une Liste de révocation des certificats (CRL) et avertir les administrateurs de l'infrastructure PKI lorsqu'une CRL atteint un certain nombre de jours ou heures avant son expiration. Enfin, un grand nombre de nouveaux compteurs de performances permettant le dépannage et la surveillance des performances globales du service de l'autorité de certification lui-même sont disponibles. Ces compteurs peuvent être utilisés pour capturer des données, telles que le nombre de certificats émis par seconde.

Une nouvelle fonctionnalité fait ses débuts dans Windows Server 2008 : la prise en charge de la mise en clustersau niveau matériel du service de l'autorité de certification. Cette prise en charge des clusters utilise la technologie Microsoft Clustering Services (MSCS) standard et prend en charge les configurations active/passive sur deux nœuds. La prise en charge des clusters vous permet d'exécuter une infrastructure d'émission en mode haute disponibilité et peut être utilisée dans des déploiements de clusters géographiquement dispersés. Si vous choisissez d'utiliser la prise en charge des clusters, notez que la simple mise en clusters d'une autorité de certification n'entraîne pas une disponibilité pour l'ensemble de l'infrastructure PKI. Bien que les clusters permettent de garantir que les autorités de certification sont elles-mêmes disponibles, une infrastructure PKI fonctionnelle comprend généralement d'autres composants qui ne s'exécutent pas directement sur les autorités de certification. Par exemple, les points de distribution CRL et les répondeurs OCSP doivent également être exécutés en mode haute disponibilité pour garantir que cette révocation puisse être exécutée. De plus, lorsque des modules de sécurité physiques (HSM), en particulier les HSM réseau, sont utilisés, ils représentent également un point de défaillance potentiel dans une infrastructure PKI. Le mise en clusters est une nouvelle fonctionnalité puissante pour assurer une haute disponibilité de l'autorité de certification elle-même, mais elle ne constitue pas la panacée pour la disponibilité de l'intégralité d'un déploiement PKI.

Révocation

Les CRL ont longtemps été utilisées pour permettre la vérification de validité des certificats. Ces CRL comprennent des numéros de série de tous les certificats dont la période de validité n'a pas encore expiré mais qui ne sont plus fiables. Par exemple, si un employé dispose d'un certificat avec une date d'expiration au 12/31/2008 mais qu'il quitte l'organisation le 9/1/2007, les numéros de série de ses certificats doivent être ajoutés à la CRL. Ensuite, la CRL sera mis à disposition sur plusieurs points de distribution CRL (CDP), tel que les chemins HTTP et LDAP (Lightweight Directory Access Protocol).

Bien que l'utilisation en soit très répandue, les CRL présentent certains inconvénients clés. Tout d'abord, les CRL sont publiées par les autorités de certification de façon périodique (en général, une ou deux fois par jour). Les clients téléchargent ensuite ces CRL et les mettent en cache jusqu'à l'intervalle de publication suivant. Pendant cette période de mise en cache, les certificats peuvent être révoqués, laissant le client dans l'ignorance de l'état le plus actuel. Ensuite, dans les très grandes organisations, les CRL peuvent atteindre des tailles très importantes (parfois supérieure à 100 Mo). La distribution de ces fichiers sur un réseau de grande taille dispersé peut s'avérer difficile voire impossible, surtout pour les succursales ou les autres environnements avec une bande passante limitée.

Pour remédier à ces problèmes, le protocole OCSP a été créé et a été défini dans RFC 2560. Le protocole OCSP fournit une méthode de validation de l'état des certificats en temps réel. Un client OCSP s'exécute sur l'ordinateur qui doit vérifier la validité d'un certificat feuille. Le logiciel client référence ensuite un répondeur OCSP et envoie un message demandant l'état de validité du certificat feuille. Le répondeur vérifie la validité du certificat et répond au client en temps réel. Cette approche évite la mise en cache et les problèmes de distribution.

Pour la première fois, la fonctionnalité de client OCSP est incluse dans Windows Vista (précédemment, un logiciel tiers était nécessaire) et est configurable à l'aide de la stratégie de groupe. Par défaut, Windows tentera d'utiliser le protocole OCSP mais reviendra aux recherches CRL standard si le répondeur n'est pas disponible.

Dans Windows Server 2008, un répondeur OCSP est fourni pour répondre à ces requêtes. Le répondeur est installé via le Gestionnaire de rôles et peut être surveillé par le pack d'administration d'Operations Manager 2007. Comme le client et le répondeur sont conformes à la norme OCSP, ils peuvent être facilement intégrés aux environnements OCSP existants qui utilisent des composants tiers standard. Par exemple, il est parfaitement possible de configurer le système de sorte qu'un client Windows Vista vérifie l'état d'un certificat auprès d'un répondeur tiers et qu'un répondeur Windows Server 2008 réponde aux requêtes d'une application client tierce. De plus, le répondeur Windows OCSP peut répondre aux requêtes pour des certificats émis par n'importe quelle autorité de certification conforme. Les autorités de certification Windows Server 2008 (et les autorités de certification Windows en général) ne sont pas nécessaires.

Conclusion

L'infrastructure PKI de Windows Vista et Windows Server 2008 comprend de nombreuses améliorations et plusieurs nouvelles fonctionnalités qui rendent le déploiement et le fonctionnement d'une infrastructure PKI plus sûrs et moins onéreux. La nouvelle API CNG offre aux développeurs un environnement de programmation plus simple et prend en charge les nouvelles normes cryptographiques. Les améliorations de l'inscription permettent aux organisations de fournir plus facilement des certificats et de sécuriser les clés itinérantes à travers l'entreprise. De même, le nouveau pack d'administration et la fonctionnalité de mise en clusters de l'autorité de certification facilitent la surveillance de l'état des d'autorités de certification et assurent la haute disponibilité. Enfin, les améliorations de vérification de révocation utilisent une approche standard pour offrir une validation des certificats en temps réel sans les coûts de bande passante liés à la distribution CRL. Par conséquent, Windows Vista et Windows Server 2008 portent l'infrastructure PKI Windows à un tout nouveau niveau.

Ressources d'améliorations de l'infrastructure PKI

John Morello est chez Microsoft depuis 2000. En tant que consultant senior, il a conçu des solutions de sécurité pour des entreprises classées dans Fortune 100 ainsi que des clients civils et militaires de l'administration fédérale. Il est actuellement responsable de programme senior dans la division Windows Server qui se consacre aux technologies de sécurité et d'accès à distance. Vous pouvez lire le blog de son équipe à l'adresse blogs.technet.com/WinCAT.

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.