Série Smart Card pour Windows 7 / Windows 2008R2

Cela faisait longtemps que je comptais faire une série sur la carte à puce. On va donc s’y lancer. Pour être clair, la mise en œuvre qui sera proposée dans cette série de billets se limitera à la technique autour de la carte à puce, sans prendre en considération les aspects organisationnels.

 

Une Smart Card, c’est quoi?

C’est avant tout un support pour stocker des informations. Le plus commun, c’est celui de la carte à puce tel que présenté ci-dessous :

GEMALTO0

Il existe plusieurs types de cartes à puces, les dernières générations embarquent même plusieurs technologies d’authentification, permettant de répondre à différents besoins. Autant l’insertion de la carte à puce est envisageable pour ouvrir une session sur une station de travail, autant ce n’est pas aussi adapté pour ouvrir une porte. Voila donc pour la forme la plus commune.

Mais il existe aussi d’autres support pour la puce en elle même. On utilise généralement les dispositifs ci-dessous dans lequel on insert une puce.

GEMALTO1

 

En quoi les Smart Card ont changé depuis Windows Vista?
  • Le Microsoft Base Smart Card Cryptographic provider est une nouveauté de Windows 2008/VISTA qui propose un modèle d’implémentation des cartes à puces. Charges aux autres fournisseurs de se baser dessus. Cela ainsi permit aux différents fournisseurs de travailler sur leurs spécificités et d’utiliser un driver commun plus fiable
  • La gestion des cartes à puces a radicalement changé avec l’arrivée de Windows VISTA
  • Les utilisateurs sont maintenant obligés d’initier le processus d’ouverture de session (CTRL+ALT+SUPPR) pour pouvoir utiliser la carte à puce.
  • Le certificat peut être localisé n’importe ou dans la carte à puce (L’utilisateur peut même sélectionner l’identité qu’il désire utiliser)
  • Il n’est plus nécessaire de positionner une extension pour la CRL dans le gabarit du certificat
  • Il n’est plus obligatoire de configurer le Subject Alternative Name avec l’UPN de l’utilisateur mais fortement recommandé
  • L’Extended Key Usage n’est plus obligé de contenir l’OID Smartcardlogon (mais fortement recommandé rien que pour la compatibilité avec les versions antérieures de Windows)

 

Certificats mis en œuvre

Qui dit carte à puce, dit certificats. On commencera donc par la mise en œuvre d’une infrastructure de clés publique tout à fait standard. Pour les cartes à puces, on a besoin de deux types de certificats :

  • Smart Card

Ce type de certificat existe déjà dans l’infrastructure de clés publiques, nous allons juste le personnaliser pour différentes raisons que nous développerons dans un billet ultérieur.

  • Enrollment Agent

Ce type de certificat existe aussi dans l’infrastructure de clés publiques. On utilise ce type de certificat pour réaliser l’enregistrement du certificat Smart Card. Plus précisément pour signer la demande de certificat pour prouver que la demande de certificat réalisée pour le compte d’un tiers est bien issue d’un utilisateur valide.

 

Scénario proposé

Dans le scénario qui sera développé dans cette série de billets, on va disposer de trois utilisateurs :

  • L’administrateur de la PKI

Il disposera d’une carte à puce. Cette carte sera utilisée pour générer la carte à puce du gestionnaire IT. Après, la recommandation sera de mettre cette carte en lieu sur?

  • l’IT Manager

Le gestionnaire IT disposera d’une carte à puce pour s’authentifier mais aussi pour générer celles des utilisateurs.

  • L’utilisateur “SimplebyDesign”

Enfin pour finir, un simple utilisateur disposera d’une carte à puce qui aura été générée par l’IT Manager

 

Donc pour résumé, une fois que l’infrastructure sera en place, voila ce qui va se passer :

  1. L’administrateur se génère une carte à puce lui-même pour signer les demandes de certificats ainsi que s’authentifier
  2. L’administrateur va générer la carte à puce de l’ITManager
  3. L’IT Manager va s’authentifier avec sa carte à puce et obtenir son certificat de signature
  4. L’IT Manager va générer la carte à puce de l’utilisateur “SimplebyDesign”

 

Limitation du scénario présenté

L’implémentation de la Smart Card est purement technique. Elle ne répondra pas nécessairement à tous les usages. Ce billet a pour unique vocation d’illustrer un exemple de mise en œuvre dans lequel j’ai volontairement passé sous silence ou simplifié :

  • Pas de gestion de la carte à puce en elle même (réinitialisation du code PIN, …)
  • Pas de gestion de la mise à disposition de la carte à puce à l’utilisateur
  • Une mise en œuvre volontairement simplifiée de la PKI (pas d’infrastructure à deux niveau avec le premier hors ligne)
  • Pas de mise en œuvre de l’OCSP

 

Détail de la mise en œuvre

Nous en avons fini avec la théorie (j’ai fait au plus court), passons maintenant à la technique pure. Pour des raisons de volume, la série sera découpée en plusieurs billets qui seront publiés au fur et à mesure :

 

Enfin, pour cette série de billets, je remercie la société GEMALTO (Mr GIRARDIN) pour les cartes à puces Dot.Net et les lecteurs qui vont avec.

 

Benoîts – Simple And Secure By Design (J’insiste sur le Secure)

Benoit

Simple, yes, Secure Maybe, by design for sure, Business compliant always!

Les derniers articles par Benoit (tout voir)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.