Share via


SmartCard – Carte à puce

Introduction

Une carte à puce est une carte en plastique qui intègre un circuit électronique dont la surface est limitée à 25 mm2.

image

Lorsque la carte est mise sous tension, elle émet une réponse au démarrage (en anglais Anwer-To-Reset : ATR).

La carte à puce utilisée dans ce post est une carte Gemalto .NET V2+, anciennement connu sous le nom Axalto Cryptoflex .Net.

A l’aide de la commande certutil -scinfo ; nous pouvons voir que l’ATR de la carte est :  3B 16 96 41 73 74 72 69 64

image

Windows identifie le modèle de carte à puce à l’aide de l’ATR en cherchant une correspondance dans la base de registre à partir de la clef  HKLM\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards.

Si une correspondance est trouvé dans la base de registre alors le CSP monolithique ou mini-pilote correspondant est chargé.
(ici le mini-pilote axaltocm.dll)

image

Support des cartes à puce dans Windows

La plateforme Windows est agnostique par rapport au système d’exploitation du support (.NET, JavaCard, MultOS, BasicCard etc.) à partir du moment où un module cryptographique (CSP monolithique ou mini-pilote) est disponible.

Concernant le lecteur de carte à puce, le pilote doit être conforme à la spécification PC/SC v1.0 du PC/SC workgroup. 

image

Sous Windows, le support des fonctions cryptographiques et la gestion des certificats X509 v3 sont nativement pris en charge au travers de CryptoAPI (CAPI).

image

CAPI2 implémente le support des certificats, comme la construction des chaînes de certificats, la signature…

CAPI1 fait référence au support des composants cryptographiques de base, tel que les fonctions de chiffrement, de déchiffrement et de hachage.

La prise en compte d’une carte à puce suppose historiquement de disposer du CSP (Cryptographic Service Provider) monolithique pour ce support.
L’infrastructure carte à puce de la plateforme Windows  a vu l’introduction d’un SmartCard Base CSP générique et d’un modèle à base de mini-pilotes pour les cartes à puce de façon à faciliter la prise en compte de nouveaux supports.
Le SmartCard Base CSP est disponible sous forme de téléchargement gratuit à partir de  Windows 2000 SP4 et supérieur.
Il est présent nativement sur Windows Vista et Windows Server 2008.

CNG (Cryptographic Next Generation) est le successeur de CAPI1 qui est un bus cryptographique ouvert (Open Cryptographic Interface) disponible à partir de Windows Vista et Windows Server 2008.

La prise en compte avec CNG d’une carte à puce suppose de disposer d’un KSP pour ce support. Windows Vista et (Windows Server 2008) intègre nativement un SmartCard KSP qui est le pendant du SmartCard Base CSP pour CryptoAPI 1.0.
Le SmartCard KSP s’appuie sur le même modèle à base de mini-pilotes pour les cartes à puce de façon à faciliter la prise en compte de nouveaux supports. Il est ainsi possible de développer des mini-pilotes pour CryptoAPI, pour CNG, ou duals pour CryptoAPI et CNG.

Comments

  • Anonymous
    August 25, 2009
    bonjour, j'ai le problème suivant sur windows server 2008: Nom du journal :System Source :       Microsoft-Windows-Kerberos-Key-Distribution-Center Date :         25/08/2009 08:31:09 ID de l'événement :29 Catégorie de la tâche :Aucun Niveau :       Avertissement Mots clés :    Classique Utilisateur :  N/A Ordinateur :   SRV-SPI1.atlibitum.net Description : Le centre de distribution de clés ne trouve pas le certificat approprié pour les ouvertures de session par carte à puce ou le certificat KDC n’a pas pu être vérifié. L’ouverture de session par carte à puce peut ne pas fonctionner si ce problème n’est pas résolu. Pour corriger ce problème, vérifiez le certificat KDC existant en utilisant certutil.exe ou inscrivez-vous pour un nouveau certificat KDC. Cette erreur survient plusieurs fois par jour. Je n'ai pas de services de certificats Active Directory dans mon domaine et nous n'utilisons pas de carte a puce. Comment puge faire pour ne plus avoir cette avertissement dans le journal d'évènement ? Merci pour votre aide. cordialement Bibu06