310 likes | 580 Views
PKI et utilisation des cartes à puce en entreprise. Philippe Beraud Consultant Principal Microsoft France. Excellence de l’engineering. Mise à jour avancée. Conseils, Outils, Réponse. Isolation et résilience. La stratégie sécurité de Microsoft. Authentification, Autorisation,
E N D
PKI et utilisation des cartes à puce en entreprise Philippe Beraud Consultant Principal Microsoft France
Excellence de l’engineering Mise à jour avancée Conseils, Outils, Réponse Isolation et résilience La stratégie sécurité de Microsoft Authentification, Autorisation, Audit
Sommaire • Certificats, Cartes à puce (Smart Cards) et prise en compte par la plate-forme Windows • Utilisation des certificats et des cartes à puces • Déploiement des cartes à puces avec Certificate Services de Windows Server 2003 • Gabarits de certificat (Certificate Template) • Méthodes d’enrôlement pour les certificats sur les cartes à puce • Gestion des cartes à puce (et des certificats) • Digital Identity Management System (DIMS)
Message à envoyer Condensé Signature numérique Jrf843kjfgf*£$&Hdif*7oUsd*&@:<CHDFHSD(** Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs” Clé privée Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs” Jrf843kjfgf*£$&Hdif*7oUsd*&@:<CHDFHSD(** Condensé Déchiffrement asymétrique Chiffrement asymétrique Signature numérique Clé publique envoyée avec le message Fonction de hashage (SHA, MD5) Même fonction de hashage ? == ? Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs” Message reçu Certificats numériques • Cryptographie asymétrique (clé publique, clé privée) • Ex. Signature numérique d’un message • Créer une signature numérique (émetteur) • Vérifier une signature numérique (destinataire)
Identité du sujet Sujet: Philippe Beraud Émetteur: Issuing CA Valide à partir de: 01/05/2005 Valide jusqu’au: 01/05/2006 CDP:URL=http://fqdn/crl/CA.crl AIA:URL=http://fqdn/ca.crt Clé publique du sujet: RSA 1024.. Politique d’application: Client Authentication, SmartCard Logon... Numéro de série: 78F862… …… Signature: F976AD… Identité de l’émetteur Durée de validité Chemin pour la CRL Chemin pour la récupération du certificat AC Valeur de la clé publique du sujet Signature numérique de l’Autorité de Certification (AC) La signature numérique garantie l’intégrité des données (idem pour une CRL) Certificats numériques • Certificats X509 v3 • Équivalent d’une pièce d’identité pour un utilisateur ou une machine • De plus en plus intégrés avec les services et applications • Ouverture de session par carte à puce, messagerie sécurisée, applications de signature électronique, VPN, WiFi, etc.
Composants d’une PKI Outils de gestion des clés et des certificats, Audit… Autorité de Certification (AC) Points de distribution des certificats et des CRL (CDP) Chemins ldap:, http:, file: Certificat Numérique Liste de révocation des certificats (CRL) Services et applications s’appuyant sur une PKI
Cartes à puce (Smart Cards) • Offrent une protection forte pour les clés privées des certificats • Permettent de réaliser des opérations cryptographiques • Offrent une réponse aux besoins d'authentification forte, de preuve d'identité renforcée • Authentification à 2 facteurs • Permettent de disposer d’un badge d’entreprise unique • Rapprochement des mondes physique et numérique • Offrent une commodité d’usage • Format facile à gérer • Simplification de l’expérience utilisateur • Constituent une plateforme d’accueil pour d’autres applications de l’entreprise
Application Prise en compte des cartes à puce par Windows • Installation du pilote du lecteur de carte (et outils associés) • Installation du fournisseur de service de cryptographie (Cryptographic Service Provider ou CSP) de la carte • Chaque type de Smart Card nécessite un CSP spécifique • En standard Gemplus, Infineon, Schlumberger (Axalto) CryptoAPI Gestion de certificats etfournisseurs de stockage Opérations cryptographiques CSP CSP Stockage des certificats Base des clés
Authentification forte des utilisateurs • Ouverture de session Windows par carte à puce • Également pour les sessions Terminal Services et RemoteDesktop • Authentification cliente SSL/TLS par certificat • Portail/Application Web sécurisé, Web SSO (fédéré) avec ADFS (Windows Server 2003 R2), Obtention de licences de publication RMS/Consultation de contenus protégés par RMS (SP1) • Accès distant via VPN • Authentification EAP-TLS • 259880 « Configuring a VPN to Use Extensible Authentication Protocol (EAP) » • http://support.microsoft.com/?id=259880 • Sécurisation accès wireless 802.11 • Authentification EAP-TLS • Points communs • Ouverture de session par certificat • Deux modes possibles • UPN/NTAuth – userPrincipalName • Mappage explicite - altSecurityIdentities
MSGINA récupère le code PIN LSA 5 4 2 3 6 7 8 1 KERBEROS SSP PA_PK_AS_REP Contenant: TGT + PAC + clé de session + condensé NTLM du mot de passe PA_PK_AS_REQ Certificat utilisateur signé avec la clé privée Le client Kerberos déchiffre la clé de session avec la clé privée Ouverture de session par carte à puce • Extension Kerberos PKINIT • 248753 « Description of PKINIT Version Implemented in Kerberos in Windows 2000 » • http://support.microsoft.com/?id=248753 WINLOGON Objet utilisateur: Nom, UPN, Appartenance aux groupes, Publication Certificat AD Clé privée KDC • Utilise la clé publique du certificat pour déchiffrer l’AS_REQ • Vérifie le NTAuth • Mappe l’UPN • Créer un TGT Chiffré avec la clé publique
Ouverture de session par carte à puce • Nécessite des certificats « Smartcard » et « Domain Controller »valides • Ces certificats doivent respecter les exigences suivantes • Le certificat « Smartcard » doit être émis par une AC référencée dans le magasin NTAuth • La chaîne de certificats doit se terminer par une racine de confiance • Tous les certificats de la chaîne doivent • Contenir une extension CDP pour la CRL qui doit pouvoir être obtenue et être temporellement valide • Pouvoir être obtenu, en étant déjà sur la machine (cache) ou en étant atteignable via les transports réseau • Aucun ne doit être révoqué
Ouverture de session et stratégies de groupe • Imposer une ouverture de session par carte à puce • Par stratégie de groupe • Computer Settings\Windows Settings\Security Settings\Local Policies\Security Options • Interactive Login:Smart Card Required • Requiert Windows XP SP2 • Ne modifie pas le mot de passe de l’utilisateur • Via l’attribut « Smart card is required for interactive logon » du compte utilisateur • Modifie le mot de passe de l’utilisateur à une valeur non connue • Définir le comportement lorsque la carte à puce est retirée • Computer Settings\Windows Settings\Security Settings\Local Policies\Security Options • Interactive Login:Smart Card Removal Behavior • No Action • Lock Workstation • Force Logout
Authentification cliente SSL/TLS par certificat • Authentification mutuelle • La première étape consiste à valider la chaîne de certificats relative au certificat client reçu côté IIS • La seconde étape consiste rendre possible l’authentification et l’ouverture de session possible de par l’existence d’unmappage • Une tentative de mappage implicite est réalisée en premier • En cas d’échec, un mappage explicite est alors essayé en second lieu • Attribut AltSecurityIdentity de l’objet utilisateur • Si un mappage implicite est utilisé, le certificat doit être chaîné à une racine de confiance et l’AC émettrice doit être présente dans le magasin NTAuth • Si un mappage explicite est utilisé, le certificat doit être simplement chaîné à une racine de confiance • Le certificat est transmis au contrôleur de domaine où l’utilisateur est recherché et un PAC (Privilege Attribute Certificate) généré
Ouverture de session par carte à puce • Authentification SSL/TLS avec un certificat client
Autres utilisations des cartes à puce • Tâches administratives • Promotion d’un contrôleur de domaine • DCPromo avec /ADV • Changement de lettre de créance • RunAs avec /Smartcard • Connexion à des ressources réseau • Net Use avec /Smartcard • Connexion RemoteDesktop/Terminal Services • Messagerie sécurisée via S/MIME • Chiffrement/Signature des messages • Outlook (Office), Outlook Express, Outlook Web Access (ActiveX) • Signature XMLDIG • Infopath (Office), Classes .Net
Certificate Services de Windows Server 2003 • Service natif de la plateforme Windows Server 2003 permettant la mise en œuvre d’une Autorité de Certification (AC) • Basé sur les standards X509 v3, RFC 2459/3280, CMC, CMS, PKCS#1,7,8,10,12 • Aucun coût additionnel de licence ou par certificat émis • Deux types d’AC • Autonome (principalement) pour les AC racines et CA intermédiaires hors ligne • Entreprise pour les AC émettrices sur une infrastructure AD • Ressource de la forêt, disponible auprès des utilisateurs des domaines de la forêt • Moyen le plus direct avec une AC d’entreprise de déployer/gérer des certificats et de tirer parti des applications qui les utilisent • Gabarits de certificats personnalisables, enrôlement et renouvellement automatique, support des cartes à puces, etc.
Gabarits de certificat • Format et le contenu du certificat X509 v3 • « Subject » et « Alternative Subject Name » • Rôle du certificat, « Application Policies » • Validité et période de renouvellement, • Sélection d’un ou plusieurs CSPs, (archivage de la clé privée) • Méthodes d’enrôlement (manuel/auto) et « lssuance Policies » (quel contrôle est utilisé pour l’émission du certificat) • Permissions d’enrôlement (ACLs) • Quel utilisateur a droit à quels certificats (Read, Enroll, AutoEnroll, etc.) • L’AC vérifie l’autorisation du demandeur sur le gabarit référencé • Utilisés par les ACs d’entreprise de la forêt • Gabarits version 1 et 2 créés par défaut lors de l’installation d’une AC d’entreprise • Modifiables (version 2) • Windows 2003 comprend 29 gabarits prédéfinis
Agent d’enrôlement Enrôlement automatique Méthodes d’enrôlement pour les certificats sur les cartes à puce • Le certificat est enrôlé pour le compte de l’utilisateur • Utiliser un agent d’enrôlement • Si vous avez des clients Windows 2000 sur le réseau • Si vous exigez une remise « en main propre » de la carte • Si la politique de sécurité le nécessite • Distribution de carte vierge et activation de l’enrôlement automatique • Utiliser l’enrôlement automatique • Si vous avez des clients Windows XP et Windows 2003 sur le réseau • Si les types de CSPs sont en nombre limité • Si la politique de sécurité autorise l’enrôlement automatique
Agent d’enrôlement • Enrôlement pour le compte d’un tiers, suivant le modèle d’autorité d’enregistrement (Registration Authority) • Processus de délivrance « analogue » aux cartes d’identités et passeports • Principalement pour la demande de certificats de type « SmartCard » • Disponible avec une AC d’entreprise • L’agent obtient un certificat sur la base du gabarit « Enrollment Agent » • Application Policies: Certificate Request Agent • L’agent peut enrôler n’importe quel entité du domaine • Les requêtes sont relatives à des gabarits pour lesquels l’agent d’enrôlement dispose des permissions nécessaires • Au niveau des gabarits, les « lssuance Policies » doivent requérir une seule signature, celle de l’agent d’enrôlement • Application Web d’enrôlement (Station d’enrôlement)
Agent d’enrôlement - recommandations • Le pouvoir de l’agent d’enrôlement impose des précautions • Contrôler précisément l’émission du certificat « Enrollment Agent » et l’intégrité la clé privée correspondante • Configuration des permissions sur le gabarit « Enrollment Agent » • Amélioration de la sécurité avec les gabarits Version 2 • Exiger l’approbation du Gestionnaire de certificats • Issuance Requirements - CA certificate manager approval • Ajouter une politique de certificat décrivant le processus d’émission des certificats • Retirer les permissions sur le gabarit « Enrollment Agent » après émission des certificats « Enrollment Agent » • Bonnes pratiques • Placer le certificat/clé privée « Enrollment Agent » sur une carte à puce • Pour l’émission de carte à puce, utiliser une station d’enrôlement à double lecteur de carte • Une pour la carte de l’agent d’enrôlement • Une pour la carte à émettre
Enrôlement automatique • Offre une gestion automatique du cycle de vie des certificats des utilisateurs et des machines • Obtention initiale d’un certificat • Renouvellement/Remplacement d’un certificat • Purge et Archivage des certificats • Gestion des magasins de certificats personnels • Réalise des tâches de maintenance • Mise à jour et en cache des gabarits • Mise à jour des magasins des racines de confiance • Mise à jour des certifications croisées connues (AIA) • Maintient les certificats de l’attribut userCertificate du compte dans AD • Certificats expirés, certificats révoqués et archivage de certificat • Ne s’applique qu’aux certificats pour lesquels le gabarit comprend la permission AutoEnroll pour le compte
Mise en œuvre de l’enrôlement automatique • Gestionnaire de certificats • Créer un gabarit de certificat avec AutoEnrollment • Activer l’interaction Utilisateur (PIN) au niveau du gabarit de certificat • Positionner les permissions Read, Enroll et AutoEnroll sur le gabarit • Publier le gabarit de certificat sur une AC d’entreprise • Administrateur du domaine • Positionner une stratégie de groupe pour l’enrôlement automatique, le renouvellement et la mise à jour des certificats • User Configuration\Windows Settings\Security Settings\Public Key Policies • Autoenrollment Settings • Enroll certificates automatically • Renew expired certificates, update pending certificates, and remove revoked certificates • Update certificates that use certificate templates
Mise en œuvre de l’enrôlement automatique • Réside au niveau du processus userinit.exe • Déclenché par Winlogon (ouverture de session interactive) pour les utilisateurs • (Au démarrage pour les machines) • Déclenché par l’application des stratégies de groupe • Intervalle 8 heures par défaut • GPUpdate.exe pour déclenchement manuel • Utilisateur • Sélectionner l’info bulle d’enrôlement • Insérer la carte à puce dans le lecteur et saisir le code PIN
Enrôlement d’un certificat « Contoso SmartId » par le biais d’un agent d’enrôlement • Création d’un gabarit « Contoso Signature S/MIME » avec support de l’enrôlement automatique sur carte à puce • Enrôlement automatique d’un certificat « Contoso Signature S/MIME »
Gestion des cartes à puce • La gestion des cartes à puce et des certificats ne s’arrête pas à l’enrôlement initial • Nécessité de gérer les cartes oubliées, perdues/volées ou détériorées, le blocage des cartes, etc. • Situation temporaire vs. Remplacement de la carte • Définition des scénarios de retour en mode « Mot de passe » • Que se passe-t-il lorsque les cartes sont à cours d’espace de stockage ? • Comment les « purger » ? Quand les « purger » ? Que doit-on conserver sur la carte ? • Besoin de gérer le cycle de vie complet au-delà du seul enrôlement • Personnalisation des cartes, enrôlement, délivrance, gestion des PIN, renouvellement de certificats, renouvellement des cartes • Intégration de Certificate Services avec des solutions d’autorités d’enregistrement (Registration Authority) et de gestion de cartes (Card Management Systems) • Alacris idNexus, Gemplus SafeITes Card Manager, Intercede MyID Enterprise, Spyrus Signal IM, etc.
Digital Identity Management System (DIMS) • Constats • Les certificats et les clés privées sont liés à une machine et ne sont pas errants • Pour un même usage (S/MIME par exemple), les utilisateurs peuvent posséder différents jeux de certificats et de clés privées sur chaque machine • Options possibles • Carte à puce • Nombre limité de « lettres de créance » • Profils itinérants • Difficile à gérer et à administrer • DIMS permet de délivrer les « lettres de créance » à la machine courante de l’utilisateur via la réplication Active Directory et les stratégies de groupes • Facilite l’usage de fonctions comme l’authentification client et la messagerie sécurisée • Disponible dans le SP1 de Windows Server 2003 • Modèle de fichier ADM • Requiert une extension de schéma • « Configure credential roaming » • http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/ServerHelp/633d4258-557a-4bfc-86e1-bb30265f52b4.mspx
Utilisation des cartes à puces au sein de Microsoft • « Microsoft Operation and Technology group chose to deploy Smart Cards because of the cumulative sum of its reliability, performance, cost, features, mobility benefits, and integration with the Microsoft OTG Windows network environment » Smart Card Deployment at Microsoft • http://www.microsoft.com/technet/itsolutions/msit/security/smartcrd.mspx • Une seule carte est aujourd’hui nécessaire pour accéder l’ensemble des actifs physiques et d’information Microsoft • Le PIN initial doit être changé de façon avant toute connexion au réseau • Les PINs doivent être alphanumérique et comprendre entre 5 et 8 caractères • Usage imposé (obligatoire) pour tous les accès RAS et VPN
Résumé de la session • La carte à puce est un élément clé en réponse aux besoins de sécurité interne de l’entreprise • Le déploiement d’une infrastructure PKI avec Windows Server 2003 permet d’intégrer simplement et rapidement la carte à puce • Les applications existent et en tirent parti • Les applications « sur mesure » peuvent en tirer parti et ainsi améliorer leur niveau de sécurité
Pour plus d’informations • « Best Practices for Implementing a Microsoft Windows Server 2003 Public Key Infrastructure » • http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/ws3pkibp.mspx • « Implementing and Administering Certificate Templates in Windows Server 2003 » • http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/ws03crtm.mspx • « Certificate Autoenrollment in Windows Server 2003 » • http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/autoenro.mspx • « Troubleshooting Windows 2000 PKI Deployment and Smart Card Logon» • http://download.microsoft.com/download/2/c/2/2c295add-e36d-49c6-890f-45d307b8cc88/smrtcrdtrbl.doc • «Smart Cards in the Enterprise: Lifecycle Management Systems are a Key Component» • http://www.burtongroup.com/research_consulting/doc.asp?docid=8
Microsoft France 18, avenue du Québec 91 957 Courtaboeuf Cedex www.microsoft.com/france 0 825 827 829 msfrance@microsoft.com