french   nederlands   english   

Le passeport biométrique belge recalé au BAC...

Vos informations personnelles sont en danger !


Gildas Avoine, Kassem Kalach et Jean-Jacques Quisquater

UCL Crypto Group, Louvain-la-Neuve, Belgique

ULC Crypto Group

"...I think [Belgium is] probably going to be the best in all of Europe in terms of security of passports..."
James Sensenbrenner, Congressman, April 21st, 2004, [link]

Announcement

Une équipe de recherche en cryptographie de l'Université catholique de Louvain a mis au jour de graves faiblesses dans le passeport biométrique belge, le seul type de passeport distribué depuis fin 2004 en Belgique. Les travaux menés à Louvain-la-Neuve durant le mois de mai 2007 ont montré que les passeports belges émis entre fin 2004 et juillet 2006 ne possèdent aucun mécanisme de sécurité pour protéger les informations personnelles contenues dans la puce électronique du passeport. Quant à ceux émis après juillet 2006, ils bénéficient de mécanismes de sécurité, mais ceux-ci se révèlent insuffisants. Cela signifie que quiconque muni d'un petit dispositif électronique de lecture, facile et peu coûteux à se procurer, peut voler le contenu de passeports alors qu'ils sont encore dans la poche de leur victime et, donc, à l'insu de celle-ci. Photo d'identité et signature manuscrite font partie des informations menacées. Cette nouvelle est d'autant plus surprenante que le ministre des affaires étrangères, Karel De Gucht, a déclaré le 9 janvier 2007 devant la chambre des représentants que le passeport belge bénéficiait des mécanismes de sécurité préconisés par l'Organisation de l'Aviation Civile Internationale.


Les passeports biométriques ont vu le jour en Belgique vers la fin de l'année 2004, faisant de la Belgique l'un des pays précurseurs dans le domaine. Ces passeports identifiables à leur logo sur la face avant de la couverture possèdent une puce électronique (située dans la couverture arrière du passeport) qui contient des informations personnelles sur le porteur : photo d'identité, signature manuscrite, nom, prénoms, numéro de passeport, sexe, date de naissance, lieu de naissance, lieu d'émission du document, autorité ayant délivré le document, dates d'émission et d'expiration. Cette puce est interrogeable à distance (environ 10cm avec un lecteur disponible dans le commerce) mais le standard émis par l'Organisation de l'Aviation Civile Internationale (OACI) prévoit l'utilisation de moyens cryptographiques pour protéger l'accès à distance à ces informations. Il faut selon le standard lire les deux lignes codées (Machine Readable Zone) en bas de la première page du passeport pour obtenir l'accès au contenu de la puce électronique. Le but est d'empêcher la lecture des données personnelles à quiconque ne possédant pas le passeport entre les mains.

Gildas Avoine, Kassem Kalach et Jean-Jacques Quisquater qui dirige le groupe de cryptographie de l'UCL ont cependant découvert que les passeports belges de première génération, ceux émis jusqu'en juillet 2006 et donc valides jusqu'en 2011, ne possèdent aucun mécanisme de sécurité pour assurer la protection des informations personnelles. Ils ont ainsi démontré qu'il est possible de lire le contenu d'un passeport de première génération à distance en quelques secondes sans que le porteur ne s'en aperçoive. Non seulement ces passeports ne respectent pas les préconisations de l'OACI mais ils contiennent des informations qui ne sont pas exigées par cette organisation, comme la signature manuscrite du porteur. Le vol de cette information ouvre la voie à de nombreuses actions malveillantes.

Cette découverte est d'autant plus surprenante que le ministre des affaires étrangères, Karel De Gucht, avait déclaré le 9 janvier 2007 devant la chambre des représentants, sur interpellation des députés Joseph Arens et Jean-Claude Maene : "(...) les données contenues dans la puce [du passeport] sont protégées par deux sécurités : le Basic Access Control et l'Active Authentification".

Ce n'est malheureusement qu'à partir de juillet 2006 que le passeport belge a bénéficié du Basic Access Control (BAC), mécanisme qui permet de protéger les informations personnelles. Les chercheurs de l'UCL ont alors étudié ces passeports de seconde génération et ont montré que ceux-ci souffrent également d'une très grave faiblesse, permettant à quiconque de les lire à distance sans y être autorisé. Cette faiblesse avait déjà été mise en évidence dans les passeports anglais, néerlandais, allemands, et suisses mais le passeport belge est plus sensible à cette faiblesse que les autres. Conformément au standard de l'OACI, il suffit de lire les deux lignes codées en bas de la première page du passeport pour accéder au contenu de la puce électronique. En fait, seuls sont pris en compte dans ces deux lignes la date de naissance, la date d'émission et le numéro du passeport. Il est alors possible de "deviner" ces informations en effectuant une recherche exhaustive sur toutes les combinaisons possibles date naissance / date d'expiration / numéro de passeport. Le passeport belge résiste mal à cette attaque car les numéros des passeports sont attribués par ordre croissant au moment de leur fabrication, ils sont liés à la langue du passeport, et la durée de validité du document n'est que de 5 ans. Ce sont autant d'éléments qui réduisent la plage de recherche des combinaisons possibles. Après avoir lu des passeports de première génération en quelques secondes, les chercheurs de l'UCL sont ainsi capables de lire les passeports de seconde génération en une heure si les dates de naissance et d'expiration sont connues.

Suite à leurs travaux, G. Avoine, K. Kalach et J.-J. Quisquater estiment que les passeports biométriques belges de première génération doivent être retirés de la circulation sans attendre. Ils encouragent également le gouvernement belge et la communauté européenne à exiger de l'OACI une modification du standard. Une manière simple de réparer cette faiblesse sans changer significativement le standard consiste à ajouter des caractères aléatoires dans les deux lignes codées. Les chercheurs soulignent que le passeport belge devrait également s'inspirer du passeport américain en intégrant dans sa couverture du métal, afin de former une cage de protection, dite de Faraday, qui empêcherait la lecture électronique du passeport lorsque celui-ci est fermé.

More Information


Conference

WHAT: Pas de mot de passe pour le passeport biométrique belge
WHO: Gildas Avoine and Jean-Jacques Quisquater
WHERE: Auditoire A.002, Bâtiment Euler, Louvain-La-Neuve, Belgium
WHEN: Le jeudi 14 juin 2007, de 11h à 12h

ABSTRACT: L'exposé visera à présenter le nouveau passeport électronique belge, émis depuis fin 2004, et retracera l'histoire, et les problèmes, des objets interrogeables à distance (RFID et carte sans contact). Votre vie privée peut être concernée. Enfin, apportez votre passeport, car nous terminerons par une démonstration de lecture de passeport avec du matériel courant et facilement accessible (Talk will be in French).

Scientific Paper
A scientific paper will be publicly available soon.

Technical Description (English only)


Introduction to Electronic Passport

Electronic Passport (ePassport) was used for the first time in Malaysia in 1998, thus pre-dating the ICAO standard [1]. Belgium was one of the first countries in the world to issue ePassport compliant to this standard. Nowadays, many other countries issue ePassport for example France, Germany, Nederlands, USA. The wide and fast deployment of ePassport has mainly been possible thanks to the ICAO efforts. ePassport specifications were drawn up on the basis of a detailed study over several years carried out by the ICAO since 1998. In addition the USA-VISIT program has considerably accelerated this wide spread. "The latest legislation (16/06/05) passed by US Congress states that VWP (Visa Waiver Program) countries are required to have a biometric passport issuing system in place by 26 October 2006 in order to continue as members of the program" [2].

The fundamental motivation of implementing electronic passport is to provide more secure passports through an electronic micro-chip embedded in its book. This chip allows ensuring data integrity, i.e. nobody can modify the content of a passport without being detected; this integrity is ensured by the issuing authority digital signature. Data authenticity is also protected: fabricating a passport from scratch is not possible because a counterfeiter can not create himself the signature in question. Besides, the electronic chip allows incorporating biometrics to bind a passport to its authentic citizenship, thus adding additional identification features. Due its physical and electrical properties, the chip is a very secure storage of biographical and biometric information (name, date-of-birth, passport number, facial image,...), that can be compared to those visually disclosed on the passport's first page and with biometrics of the physical person. Finally, the chip may prevent cloning or substitution through a mechanism in which the chip has to prove the possession of a public-key-based private key generated in highly secure way by the issuing state.

An electronic passport (also called biometric passport) is the same as a traditional passport combined with a small integrated circuit (chip) embedded in the book. Belgian passports incorporate this chip in the back cover.

The ICAO defines the biometric identification as a verification of human identity through the measurement of distinguishing physiological or behavioural characteristics. The ICAO only considers three types of biometrics: facial recognition, fingerprint and iris scan. Only facial recognition is mandatory.

According to the ICAO, the chip will store as a minimum the data contained on the first page of the passport and a digital image of the passport's holder. The chip may also contain optional information such as handwritten signatures, finger print, address, phone number, and may indicate information about other people namely the person to notify in case of emergency. (for more details see the Logical Data Structure [3] of the passport).

A contact-less technology (usually called RFID, short for Radio-Frequency Identification) has been chosen due to its numerous advantages compared with contact-based identification systems. Incorporating the IC into the passport book is much easier. Contact-based readers are expensive to maintain and prone to malfunction. This technology has been proven in other fields and provides high level of convenience. In the future the electronic passport may be used for automatic identity verification, self-identification, thus making the immigration inspections faster and the traveler's journey more comfortable.

However, with the absence of some cryptographic measures, this handy wireless property makes many security concerns arise in the context of electronic passport. Using a simple commercial reader, one can read all the electronic information stored in the passport. Still worse, this technology provides a way to know the presence of a passport's bearer at some place and at a specific time, thus raising the traceably problem.

Consequently, the ICAO has specified [1] amongst others many requirements and recommendations to countermeasure these issues in particular a Basic Access Control and Secure Messaging mechanism.

In this research we study the security of the Belgian electronic passport that has been deployed conforming to the ICAO standard since the end of October 2004. Before describing our attack, we will present a brief introduction to the RFID technology used in this new application, and then detail the security mechanisms required or recommended by the ICAO.

RFID technology

Formally, Radio-Frequency Identification (RFID) is an automatic identification technology relying on wireless communication, using special devices called tags. Any RFID system essentially consists of two main components: tags (transponders) and readers (transceivers).

The computational capabilities of tags depend on the target application. Tags may be a simple memory between 32 and 128 bits (tracking products and animals) up to a chip containing a microprocessor. In the case of electronic passport, the data storage capacity of the IC is a minimum of 32 KB, as specified by the ICAO, . Inin order to store the mandatory facial image and duplication of the MRZ data. States planning to store additional information must provide memories of much large capacity (70 KB). Besides, the passport chip contains a microprocessor in order to be able to accomplish complex cryptographic computations. As recommended by the ICAO the Belgian passport, for example, implements 3DES, SHA-1, and RSA. High-cost RFID tag is sometimes called contact-less chip or smart card instead, as in the case of electronic passport.

As for RFID readers they vary a lot according to the target application. Nowadays, passport readers are mainly available in governmental inspection systems on borders and airports. In the future, they may be found in airelines compagnies and hotels. 

The electronic chip required by the ICAO must conform to ISO/IEC 14443 A/B, already adopted in other applications (smart cards); Belgian passport uses ISO/IEC 14443 A. One interesting property of this standard is that its maximum reading range is less than 10 cm. In fact, many researchers claim to be able to read a passport from a larger distance. In our attack we used a low-cost commercial reader without trying to go that direction.

ICAO Standards (Document 9303)

In the light of security issues arisen from the wireless technology, the ICAO has made considerable efforts in order to provide a flexible set of cryptographic mechanisms to protect the passport's data confidentiality, integrity (authenticity), and anti-cloning. These mechanisms are described below.

Passive Authentication. Thanks to the State digital signature, Passive Authentication provides data authenticity by proving that the content of the passport's chip (LDS) is not changed.

The LDS (Logical Data Structure) is a standard data organization that was specified by the ICAO to ensure global interoperability of ePassports . The LDS consists of 19 optional and mandatory Data Groups (DG) stored in separate elementary files using the same file structure as that adopted in smartcards. For example, DG1 contains the MRZ information; DG2 contains the face image in JPEG format, DG3 for encoded finger, DG4 for encoded iris and DG7 for handwritten signature. Note that only DG1 and DG2 are mandatory. The hash of each data group is computed. All these hashes together make up the LDS security object. This object is signed by the issuing State Private Key and the result is called Document Security Object (SOD); therefore the inspection system should have the public key of all issuing States.

Surprisingly, it is the only mandatory cryptographic feature required in the ICAO standard. However, passive authentication does not prevent skimming, eavesdropping and chip cloning. For example, anyone who has a simple RFID reader and software can easily interrogate the chip and obtain all its contents. Therefore the ICAO recommended other additional security features incuding Basic Acess Control and Active Authentication.

Basic Access Control (BAC). Basic Access Control is a countermeasure against skimming and eavesdropping, by authenticating the reader and establishing session keys for secure messaging between the chip and the reader.

When BAC is supported the reader cannot get any information from the passport unless it goes through a challenge-response protocol (based on 3DES) in which it proves to the passport the knowledge of the Document Basic Access Keys (KENC and KMAC). These keys are derived from the MRZ information. The MRZ (Machine-Readable Zone) is the two-line string of characters located at the bottom of the passport's first page. The MRZ can be seen to the naked eye for visual inspection and usually read by an OCR reader. The only characters allowed in the MRZ are A-Z, 0-9, and < that acts as filler. MRZ information is the part that used to generate the BAC keys (KENC and KMAC): date of birth, date of expiry, document number and their corresponding check digit.

Basic Acces Control Protocol

Fig. 1. Basic Access Control

Secure Messaging After successful execution of the reader authentication, two of the random values generated during this protocol are XORed together (KP XOR KR) to obtain a key seed which is in turn used to derive session keys using the same key derivation procedure. These keys are used to encrypt all the subsequent communications. This mechanism is called secure messaging.

Active Authentication (AA). When an attacker has access to the passport's chip, he is able to simulate it for cloning or for substituting it by another one (e.g. interchanging covers of two passports).

Active authentication is recommended to prevent chip cloning or substitution using a challenge-response protocol, based on public key cryptography, in which the passport proves the possession of a private key. This private key is stored in a secure memory while the corresponding public key is stored in DG15 of the LDS. This mechanism requires more computational power on the chip.

active authentication

Fig. 2. Active Authentication

Attack on first generation passports

In this section we describe our attack against the first Belgian electronic passport. For that we did not use any homemade material, only a cheap and easy-to-acquire one. Indeed we used a reader ACG 13.56 MHz, compliant with ISO 14443 A/B. The reader can reach 115200 bauds.

active authentication



To communicate with the reader, we implemented Document 9303, based on the previous work done by Adam Laurie. Our implementation failed when the command GET_CHALLENGE was sent; this command is required to perform the Basic Access Control. This failure was encountered because the passport we received from a member of the Crypto Group, did not implement the BAC mechanism. It turns out that some passports reply to this command correctly while others do not. We realized that Belgian passports may be grouped into two or more categories. Later, our study confirmed the presence of two generations: the first generation comprises passports issued from end 2004 till mid 2006 and does not support BAC, while the second generation includes passports issued after mid 2006 and does support BAC.

Since a first generation passports does not use BAC, it is very simple to get its electronic contents even without the knowledge of its holder: putting the passport in the field of our reader is enough... that may be desappointing to some cryptographers... It takes about 10 seconds with our modest reader to obtain all the information; that is the mandatory digitized picture of the passport's holder and the content of the MRZ (first and family name, birth date, passport number, etc.). Surprizingly, the Belgian passport contains data not required by document 9303. Indeed, it contains also a digitized picture of the handwritten signature of the passport's holder. It also contains optional information like place of birth, place of issue, and date of issue. Still worse, recovering the MRZ can be done in a fraction of a second, while recovering the two pictures requires a few seconds (face about 20 KB and signature about 10KB). This result implies that an attacker, interested in passport's MRZ only, can just pass near the victim even without staying in front of him.

screen shot

To skim someone's passport, it is not always possible to have physical access to his passport. Therefore we tried the following tests to prove our claim. Whether the passport was in a purse, pocket or a handbag, we could also interrogate the passport and get its contents. This kind of attack is very realistic in trains, airplanes and airports. All you need is to pass close enough to the victim and stay a few seconds if you want to get the whole content of the passport.

During this research, we were not interested in extending the reading range, a field being worked on by other groups. So people or organizations interested in stealing information or tracking people can certainly have such powerful readers without any doubt. In this case this attack would be easier and more efficient.

Note that diplomats, in some countries, were among the first citizens to receive biometric passports. Unfortunately, we could not confirm this information in the case of Belgium. If it is the case, this implies that Belgian diplomats have first generation passports that are not protected by any security mechanism.  

Attack on second generation passports

Secong generation passports are issued after July 2006 and they implement BAC. Therefore, they became more secure against clandestine skimming. However, the the access control keys are derived from easy-to-get MRZ information. In many real life situations, one may be somehow asked to reveal its passport's information. For example, here is a real life example of one of the authors. Being a foreigner, he had to provide a passport copy to local police, employees department, PhD student department and driving license office when arriving in Belgium. In addition, he had to reveal its visual data in the bank and hotel. 

Now let's rather be optimistic and assume that the MRZ information is relatively difficult to find. We will show that an attacker can still have access to the passport's microchip by "guessing" the information needed to successfully perform the BAC. Note that similar works have been previously carried out in other countries (UK, Germany, Nederlands, Switzerland, etc.), but the Belgian passport is particularly weak against this attack as explained below.

According to Document 9303, the structure of the date of birth is YYMMDD, thus implying an entropy of log(100 x 365.25) = 15.16 bits. The entropy of the date of expiry is log(10 x 365.25) = 11.83, considering the maximum validity period of passports recommended by Document 9303(10 years). Containing up to 9 characters, the passport number may only contain A-Z and 0-9 (the symbol '<' is just a filler. Therefore the entropy of the passport number is log((26 + 10)9) = 46.53 at maximum. It turns out that the total entropy of the MRZ information is about 73 at best. However the effective entropy is much lower, estimated to 56 bits at best acccording to ICAO report, mainly because of the passport numbering schemes commonly used.

Passport numbers may consist of digits only or a combination of alphanumeric characters. Some countries adopt sequential numbering while others use random numbering. US passport number for example consists of 9 digits where the first two digits are used to encode one of the fifteen passport issuing agencies so that its entropy becomes 27 and the total entropy decreases to 54 at best.

In the case of Belgian passport the situation is even worse: the passport number consists of 2-letter prefix and 6­-digit suffix. Moreover, its validity period is 5 years only, implying a total entropy of 29+10+15= 54 at best. Having observed many passports supplied by members of our research department (but also supplied by their friends, sisters, daughters, mother, etc.), we noticed that passport numbers are chosen sequentialy (simple counter) during manufacture. More precisely, numbers given to passports while production remain the same in the personalisation (final) phase. This implies that the passport number depends on the manufacture date and there is consequently a strong correlation between the date of issue (and so date of expiry) and the passport number.

Belgian passport numbers according to expiry dates

Fig. 3. (French-written) Belgian passport numbers according to expiry dates

A sample of  francophone (French-speaking people) passport numbers distribution is depicted in Fig.3, according to the date of issue. The crosses represent the passport numbers we observed. They are not on a straight line because passport numbers are drawn according to the issuing dates instead of manufacture dates.  For some unkown reason (probably logistic), there is not a perfect translation between date of manufacture and date of issue. This slows down our cracking program because we must search the targeted passport number in a 1-dimension space around the theoretical passport number that is perfectly on the expected line. Consequently, for a given expiry date, a few thousand passport numbers must be checked. Currently, for each expiry date, we check 24,000 passport numbers, but this value steadily decreases since we read new passports every day. Theoretically, we could decrease this number until the number of passport issued every day in Belgium, i.e. a few hundreds.

On the other hand, Fig.3 also shows discontinuous segments(strange behavior). In fact, it took time to determine that numbers corresponding to the "holes" (spaces) belong to Flemish-citizen (or possibly German-citizen) passport books. Belgium has tree official languages (French, Dutch, and German), and a Belgian citizen receives a passport with the language of the area he lives in or, in some special cases (e.g. in Brussels) with the language of his choice. Therefore, knowing the living place or the mother tongue of the victim decreases the complexity of the attack. For this reason, our attack is more efficient against passports of French-speaking citizens than Flemish passports because we did not receive enough Flemish passport numbers (The latter is not depicted on Fig. 3)  

Given this heuristic on the passport numbers, and if we assume that the date of birth is known, we carry out an exhaustive search on the expiry date and on each of the passport numbers (about 24,000). When the birth date is known, Fig. 4 represents the corresponding search space of the exhaustive search. The yellow area represents the search space without any heuristic on the passports. The red-dashed area represents the search space in which we carry out our exhaustive search, considering our heuristic. This technique really improves the attack because with a real-scaled picture, we would see that the red-dashed zone only represents 2.4% of the yellow zone.

search area

Fig. 4. Search area

Let's consider now a practical attack where both birth date and expiry date are known. In this case, the attack takes less than one hour in the worst "common" case (having 24,000 passport numbers to verify at a rate of about 400 checks per minute). More precisely, this means that all the passports we tried during our work have been or would have been cracked within one hour in the worst case. However, it may arise that a passport number is not in our search space (passport with a special number, e.g. an emergency passport). We never saw this case but it may happen.

Note that our program could be improved and the communication speed could be increased. We could even use further heuristics; for example we noticed that none of the passports we have read was issued on Saturdays or Sundays. This would allow to decrease by almost 30% the running time of the attack. Without any official information about that, we did not implement this heuristic.


References:
[1] PKI for Machine Readable Travel Documents offering ICC Read-Only Access, Technical Report Version 1.1, ICAO, October 01, 2004.
[2] http://www.trailfinders.com/visas/visawaiver.htm
[3] Machine Readable Travel Documents. Technical report, Doc 9303 Part 1 Volume 2, 9th draft (6th edition), ICAO, 20th July 2005.

Acknowledgment


We would like to kindly thank several people who helped us during this work. First of all, Danny De Cock (KULeuven) and Elke Demulder (KULeuven) for recent interesting discussions: they also worked on Belgian biometric passports and confirmed some of our results. Let's mention as well Yves Poullet (CRID, FUNDP), Serge Vaudenay (EPFL), Martin Vuagnoux (EPFL), Adam Laurie (RFIDIOt.org), and Pierre-Yves Millet (RTBF) for providing helpful information.

We would also like to thank all members of the ELEC department of the UCL for providing us their passports data. For their special help, we would like to thank namely: Sylvie Baudine, Lilian Bohy, Baudoin Collard, Marwan El-Habre, Damien Giry, Momamad Kalach, Olivier De Marneffe, Guerric Meurice De Dormale, Olivier Pereira.

Finally, we thank Eurocrypt 2004's organizers for the handbag they provided to attendees; it fits very well to hide our laptop and reader.



Last Update: August 17, 2007.