RFID ou Read Further Into Devices

Il y a quelques semaines se déroulait la grande messe de la sécurité à Luxembourg : le hack.lu.

Les talks se sont enchaînés sur 3 jours.
Comme dans toute conférence, il y a à boire et à manger du bon et du mauvais, mais le cru de cette année fut relativement bon. Nous avons pu assister à des tracks de qualité.
En autre le talk de Saumil Shah sur l’exploitation de faille dans les navigateurs web. Il comparait la structure système du navigateur web à un système d’exploitation, d’ailleurs c’était assez drôle car il disait que la sécurité des navigateurs web est équivalente à la sécurité des OS en 1990.

Adam Laurie était aussi présent. Je l’avais déjà vu à la Defcon 16 pendant la présentation de Zac Franken.
Ceci dit, Adam nous a parlé de RFID et plus précisément des puces RFID utilisé dans le passeport biométrique. On a pu voir à quel point cette technologie est sécurisée. Cela m’a donné envie de creuser le sujet…

Alors qu’est ce qu’il nous faut?

Tout d’abord, du temps … 😉
Ensuite un lecteur RFID comme par exemple le Omnikey Cardman 5321.

Pour ma part, j’ai testé avec Ubuntu 8.04. Les linux headers sont nécessaires pour la compilation de certains modules.

Installer le driver Omnikey.

Je vous conseille de suivre le tuto de Philippe qui explique comment installer le driver Omnikey.

Ensuite installer les composants PC/SC pyscard et PCSC-Lite nécessaires au lecteur RFID.

Une fois le lecteur installé vous pouvez le tester avec la commande :

# pcsc_scan
PC/SC device scanner
V 1.4.11 (c) 2001-2007, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.4.4
Scanning present readers
0: OMNIKEY CardMan 5x21 00 00
1: OMNIKEY CardMan 5x21 00 01

Wed Nov  5 23:48:32 2008
 Reader 0: OMNIKEY CardMan 5x21 00 00
  Card state: Card removed,

Wed Nov  5 23:48:32 2008
 Reader 1: OMNIKEY CardMan 5x21 00 01
  Card state: Card removed, 

Installer le module pycrypt qui permet de lire le certificat inclut sur la puce RFID.
Le module Imaging est nécessaire pour afficher le résultat du dump de votre passeport. Fait attention a bien spécifier la variable d’environnement :

# export LD_LIBRARY_PATH=chemin de la librairie

Le numéro de votre passport est composé d’information connu:

[NuméroDePasseport][TrigrammeNationatlité][DateAnniversaire][Sexe][DateExpiration]

Utiliser ce numéro afin de lire le contenu de votre passeport :

# ./mrpkey.py Numéro MRZ

En image le résultat:

Bien entendu, nous pouvons très facilement modifier ces informations et les réinjecter dans une autre puce RFID.

Pour les personnes qui auraient peur de se faire lire leur passeport dans le métro, vous pouvez toujours opter pour un portefeuille DIFRwear. Visiblement il bloque les ondes RFID.

Sources
http://freeworld.thc.org/thc-epassport/
http://rfidiot.org/

Tags: RFID, Sécurité

Trackback from your site.

Commentaires (1)

Laisser un commentaire