Basic access control: Difference between revisions

Content deleted Content added
mNo edit summary
Line 1:
'''Basic Accessaccess Controlcontrol''' (BAC) is a mechanism specified to ensure only authorized parties <ref>[http://hasbrouck.org/documents/ICAO9303-pt1-vol2.pdf ICAO Document 9303, Part 1, Volume 2 (e-passports)]</ref> can wirelessly read personal information from [[passport]]s with an [[RFID]] chip. It uses data such as the passport number, date of birth and expiration date to negotiate a session key. This key can then be used to encrypt the communication between the passports chip and a reading device. This mechanism is intended to ensure that the owner of a passport can decide who can read the electronic contents of the passport. This mechanism was first introduced into the German passport on 1 November 2005 and is now also used in many other countries (e.g., [[United States passport]]s since August 2007 [http://travel.state.gov/passport/eppt/eppt_2788.html#Eleven]).
 
== Inner workings ==
Line 7:
== Security ==
 
There is a replay attack against the Basicbasic Accessaccess Controlcontrol protocol that allows an individual passport to be traced,.<ref>[http://www.theregister.co.uk/2010/01/26/epassport_rfid_weakness/ Defects in e-passports allow real-time tracking, The Register, Dan Goodin, 26th Jan 2010]</ref><ref>[http://www.cs.bham.ac.uk/~tpc/Papers/PassportTrace.pdf A Traceability Attack Against e-Passports, Tom Chothia and Vitaliy Smirnov, 14th International Conference on Financial Cryptography and Data Security 2010]</ref> The attack is based on being able to distinguish a failed nonce check from a failed MAC check and works against passports with randomized unique identifiers and hard to guess keys.
 
The Basicbasic Accessaccess Controlcontrol mechanism has been criticized as offering too little protection from unauthorized interception. Researchers claim {{Citation needed|date=February 2010}} that because there are only limited numbers of passport issued, many theoretically possible passport numbers will not be in use in practice. The limited range of human age ranges further reduce the space of possibilities.
 
In other words, the data used as an encryption key has a low [[entropy]], meaning that guessing the session key is possible via a modest [[brute force attack]].
Line 15:
This effect increases when passport numbers are issued sequentially or contain a redundant [[checksum]]. Both are proven to be the case in passports issued by the [[Netherlands]]. There are other factors that can be potentially used to speed up a brute force attack. There is the fact that dates of birth are typically not distributed randomly in populations. Dates of birth may be distributed even less randomly for the segments of a population that pass, for example, a check-in desk at an airport. And the fact that passports are often not issued on all days of the week and during all weeks of a year. Therefore not all theoretically possible expiration dates may get used. In addition, the fact that real existing dates are used further limits the number of possible combinations: The month makes up two of the digits used for generating the key. Usually, two digits would mean 100 (00-99) combinations in decimal code or (36*36=1296) combinations in alphanumeric code. But as there are only 12 months, there are only 12 combinations. It is the same with the day (two digits and 31 combinations).
 
The [[German passport]] serial-number format (previously 10-digit, all-numeric, sequentially assigned) was modified on 1 November 2007, in response to concerns about the low entropy of BAC session keys. The new 10-character serial number is alphanumeric and generated with the help of a specially-designed [[block cipher]], to avoid a recognizable relationship with the expiry date and increase entropy. In addition, a public-key based [[Extendedextended Accessaccess Controlcontrol]] mechanism is now used to protect any information in the RFID chip that goes beyond the minimum ICAO requirements, in particular fingerprint images.
 
== Sources ==