Contrôle d'Accès Contactless JavaCard


 * UE/Module: Projet M2M M2PGI
 * Enseignants: Didier Donsez
 * Etudiants M2PGI: Matthieu Godet (chef de projet), Etienne Gosset.

Description
Le projet Contrôle d’accès Javacard contacless (NFC) est un service de contrôle d'accès et de pointage dans des batiments. Ce système utilise des cartes à puce JavaCard ou BasicCard sans contact (ISO14443) ou avec contact (ISO7816), des étiquettes NFC ou bien des iButtons. Chaque carte contient un trousseau de clés confiées à un porteur. Une clé autorise l'ouverture (ou la sortie) d'un point d'accès (porte, tourniquet, ...) à des dates ou périodes définies. Chaque clé est signée (digitalement) par le gestionnaire du batiment permettant une vérification offline.A la présentation de la carte, la serrure interroge la carte pour lui demander la (ou les) clés qui la concerne, vérifie la signature digitale de la clé, et déclenche l'ouverture de la porte (par exemple, alimentation électrique de la gâche électrique, ...) si la date courante est dans la période autorisée définie pour la clé.

Le système devra supporte les attaques suivantes:
 * rejeu (replay) d'un échange contre la serrure (Man in the Middle).
 * confidentialité : la serrure ne peut interroger que les clés qui la concerne.
 * autres à définir

Equipement

 * Lecteurs ASK et GCR410
 * JavaCard contact et contactless
 * BasicCard contact et contactless

Lecture
Introduction à la Sécurité JCE (Java Cryptography Extension) Cartes à microprocesseur API javax.smartcardio (avec des lecteurs PCSC)
 * http://membres-liglab.imag.fr/donsez/cours/#secu
 * http://membres-liglab.imag.fr/donsez/cours/jce.pdf
 * http://membres-liglab.imag.fr/donsez/cours/tpjce.zip
 * http://membres-liglab.imag.fr/donsez/cours/#smartcard
 * http://download.oracle.com/javase/6/docs/jre/api/security/smartcardio/spec/javax/smartcardio/package-summary.html

Liens

 * MuscleCard
 * OpenID
 * OpenID Card
 * http://code.sxip.com/openidcards

Equipe

 * Matthieu Godet (chef de projet)
 * Etienne Gosset