JMRTD

About JMRTD

JMRTD is a free implementation of the Machine Readable Travel Document (MRTD) standards as specified by the International Civil Aviation Organization (ICAO). The electronic passport (or "ePassport"), which by now has been introduced in many countries, is an implementation of these standards.

Both a card side application (the "passport applet") and a host side API for accessing electronic passports are developed. The passport applet makes it possible to create your own passports (in case you're starting your own country). The applet is written in Java Card.

The host side API makes it possible to read the information on the chip in a passport and to check its validity (provided the issuing country's certificate is available). The host side API is written in Java and a graphical application utilizing the API is also provided.

Project History, Contributions, Background

JMRTD was initially developed in 2006 as part of a research project of the Digital Security group (at the time known as the Security of Systems group) at Radboud University in Nijmegen. The research was sponsored by the Dutch Ministry of Internal Affairs. In this project the host API was connected to model-based test generation systems TorX and GAST in an attempt to find vulnerabilities in the Dutch implementation of the ePassport. The applet was developed to have an independent implementation to test the model and the test-systems.

In 2007 functionality for fingerprinting the Nationality of passports was added by Henning Richter of the Lausitz University of Applied Sciences while visiting Nijmegen.

In 2008 JMRTD was used at Novay (at the time known as Telematica Instituut) in a research project sponsored by NLnet foundation to find out to what extent the ePassport's PKI can be used to do online authentication with Information Cards.

In 2009 JMRTD was used (again) by researchers of the Digital Security group at Radboud University in Nijmegen to test the newly introduced EAC functionality. The research was sponsored by the Dutch Ministry of Internal Affairs.

In 2009 some of the lower level smart card communication stuff in JMRTD's host API was abstracted away into a seperate project called SCUBA.

In 2009 Wojciech Mostowski created an implementation of the ISO 18013 eDriving License standard based on JMRTD code.

Contact

Active members of the JMRTD development team are listed on our member page on SourceForge.net. You can drop the project lead (Martijn Oostdijk ATM) a mail at info@jmrtd.org if you have questions or comments. Or you can leave a message on the Open Discussion forum on SourceForge.net.

Documentation

Available documentation:

Most of the specifications are open (as in: can be purchased). Here's our list.

Background reading