PKI sécurité smartcard Public Key Infrastructure
OpenCT
Pilotes pour cartes à puce
Openct implémente des pilotes pour de nombreux lecteurs de carte. Ils sont fournis au format ifdhandler requis pour pcsc-lite. OpenCT a également un mécanisme primitif pour exporter les lecteurs de carte sur des machines distantes via tcp/ip.
Présentation générale
Le scénario le plus simple et recommandé est:Application (ex : mozilla)
librairie PKCS11(ex : OpenSC)
OpenCT
Kernel Linux
Mozilla peut charger les modules de sécurité implémentant PKCS11, opensc le fait et a une interface directe pour utiliser openCT
Parfois vous avez cette pile:
Application
PC-SC/Lite
Driver
Kernel
PC/SC est un standard sous Windows, donc de nombreuses applications veulent l’utiliser pour communiquer avec les cartes à puce. pcsclite a besoin de pilotes au format ifdhandler. OpenCT a un pilote au format ifdhandler.
Le 3ème modèle:
Application
Driver
est très simple et a été conçus pour DOS.Il fonctionne très bien pour une application et un utilisateur. Il n’est plus utilisé.
Système d'exploitation
Les lecteurs de carte USB necéssitent un support USB pour que OpenCT soit notifié. hotplug tend à être remplacé par udev ou hald.Configurer udev
Pour le support USB sous Linux vous devez avoir:- libusb
- CONFIG_HOTPLUG pour que le kernel laisse savoir si un lecteur ou un token est branché
- udev installé
- Copier les fichiers suivant:
/lib/udev/rules.d/50-openct.rules
/lib/udev/openct_usb
/lib/udev/openct_pcmcia
/lib/udev/openct_serial
Accès au lecteur de carte distant
cette fonctionnalité n’inclus aucun mécanisme de sécurité.Sur la machine avec le lecteur, ajouter à openct.conf (exemple avec un lecteur série):
reader xiring {
driver = xiring;
device = serial:/dev/ttyS0;
};
Démarrer ifdproxy pour pointer vers la machine distante:
ifdproxy export xiring /dev/ttyS0 machine-distante :port
Sur la machine avec le logiciel, ajouter dans openct.conf:
ifdhandler = /usr/sbin/ifdhandler;
ifdproxy {
server-port = /var/run/openct/proxy,
device-port = :6666;
};
reader xiring {
driver = xiring;
device = remote:serial1@/var/run/openct/proxy;
};
Démarrer openct
/etc/init.d/openct start
ifdproxy server