The NFC chips in ePassports and similar documents contain personal information such as name, birthdate, nationality and face image that need adequate security mechanisms to protect.
In this blog post, we provide an overview of the different security mechanisms that are implemented by these NFC chips to secure this information. We also explain how ReadID uses these mechanisms. More details are given in follow-up blog posts.
The main standard for these security mechanisms is the ICAO Doc 9303 specification. ICAO stands for International Civil Aviation Organization and is part of the United Nations. ReadID also supports the ISO-18013 standard for electronic driving licences that implements slight variations of the same mechanisms, but for brevity, we do not elaborate on this in this blog post.
ePassports typically implement the following types of security mechanisms:
- Privacy – protect the privacy of the document holder by implementing access control and preventing eavesdropping
- Authenticity – ensure that the chip is not a forgery and that it is not manipulated
- Clone detection – detect if the chip is a copy
Passports and other identity documents contain privacy-sensitive information, that must be protected against unauthorised access. Even though NFC chips in passports require close proximity between reader and document, several security mechanisms are implemented that mitigate the remaining concern of involuntary reads, where an attacker learns the contents of a document by holding a reader close to someone’s wallet, and the concern of eavesdropping, where an attacker learns the content of a document by capturing the communication of a voluntary read.
The most used access control security mechanism is Basic Access Control (BAC). The combination of document number, date of expiry and date of birth form an access key to access the chip. The idea behind this is that you need access to the holder page of the passport to be allowed to read the chip. Since the chip basically contains the same personal information as the holder page, there is no privacy loss when reading the chip: this information was already known. BAC also establishes an encrypted communication channel that prevents eavesdropping.
To provide an optimal user experience, ReadID has developed its own Optical Character Recognition technology to capture the document number, date of expiry and date of birth from the so-called Machine Readable Zone (MRZ). In passports, the MRZ consists of two lines of text in a monospaced font that is optimized for machine capture. On identity cards, the MRZ consists of three lines and is located on the back side of the card.
BAC has a successor called PACE; many passports implement both BAC and PACE, but since 2020 there are documents that no longer support BAC. ReadID determines automatically which of the mechanism is supported by a certain document and pick the optimal mechanism.
Using BAC or PACE it is possible to access almost all information in the chip with one important exception: the fingerprints. Access to these is not possible without authorisation from the issuing country. We explain this, and details on BAC and PACE, in this blog post.
The objective of authenticity checks is to ensure that the contents of an NFC chip have been issued by issuing country and have not been altered since. This goal is achieved through a combination of digital signatures and a public key infrastructure: an issuing country periodically generates a new key pair consisting of a private key and a public key. The private key is used to digitally sign the contents of newly issued identity documents, while the public key is included in a certificate and distributed to parties that need the certificates to verify the signatures.
Within the context of ePassports, the security mechanism to check the authenticity of a document is called Passive Authentication, and the certificates needed for verifying signatures are called Country Signing Certificates and Document Signing Certificates. This security mechanism is called ‘passive’ because ReadID does not need to interact with the chip during verification. ReadID thus reads the content of the chip, and afterwards checks the digital signatures, without the need for further interaction with the NFC chip. This can be done on the smartphone (ReadID’s client-only deployment model), but in most cases doing this on the server is more secure (client-server or SaaS deployment model).
In this blog post, we explain Passive Authentication in more detail, including the challenge of having the correct country certificates.
While passive authentication confirms that the contents of an NFC chip are authentic, it does not prove whether the information was obtained from an authentic chip. With the right tools, it is trivial to create any number of copies of an NFC chip that would pass passive authentication because it has the same contents as the original. Essentially, the ability to detect such clones is as important as being able to recognise the difference between an original passport and photocopies of it.
There are two security mechanisms available in the ICAO 9303 standard that provide a cryptographically secure solution for detecting clones: Active Authentication (AA) and Chip Authentication (EAC-CA). Neither mechanism is mandatory to be implemented by the issuing countries, and in practice, we observe a broad variety in what mechanisms are supported by ePassports across countries. Especially older generations of documents may lack support for a cloning detection mechanism at all.
ReadID implements both Active Authentication and Chip Authentication in its products. For more details including the differences between both mechanisms, see our blog post on this topic.