Skip to content

Reader for ICAO 9303 electronic machine readable travel documents.

License

Notifications You must be signed in to change notification settings

worldfnd/icao-9303

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ICAO 9303: Electronic Machine Readable Travel Documents

Implementation of the ICAO 9303 standard for electronic machine readable travel documents (eMRTD) in Rust. This covers the data structure, cryptographic operations, and communication protocols for eMRTDs.

Status

This is a work in progress. The following features are implemented:

  • ASN1 Data structure for eMRTD.
  • Basic APDU communication with eMRTDs.
  • Cryptographic operations for:
    • Secure Messaging
    • Basic Access Control
    • Chip Authentication
    • Data group hashes
  • Proxmark3 USB support for interacting with eMRTDs.

Not implemented yet:

  • MRZ parsing
  • PACE
  • Document signature verification
  • Cetificate chain validation
  • Named parameters for cryptographic operations
  • Chained APDUs and responses

Not planned:

  • Terminal Authentication

References

General:

  • ISO/IEC 7816-4: Integrated Circuit(s) Cards with Contacts.
  • ISO/IEC 14443-3: Proximity Cards.
  • ITU-T X.690: ASN.1 encoding rules.

Cryptography:

  • RFC 5280
  • RFC 5480
  • RFC 5114
  • RFC 5639
  • RFC 5652
  • ANSI X9.42: Public Key Cryptography for the Financial Services Industry: Agreement of Symmetric Keys Using Discrete Logarithm Cryptography.
  • ANSI X9.62: Public Key Cryptography for the Financial Services Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA).
  • FIPS 46-3: Data Encryption Standard (DES).
  • BSI TR-03105: Advanced Security Mechanisms for Machine Readable Travel Documents.
  • BSI TR-03110: Biometrics in Machine Readable Travel Documents.
  • BSI TR-03111: Security Mechanisms for Electronic Passports.

CBC mode for block ciphers:

  • ISO/IEC 10116-2006. Information technology – Security techniques – Modes of operation for an n-bit block cipher, 2006.

CMAC mode for block ciphers:

Physical layer:

  • ECMA 340: Near Field Communication Interface and Protocol 1 (NFCIP-1)
  • ECMA 352: Near Field Communication Interface and Protocol 2 (NFCIP-2)
  • ISO/IEC 18000-3: Radio frequency identification for item management — Part 3: Parameters for air interface communications at 13,56 MHz

About

Reader for ICAO 9303 electronic machine readable travel documents.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages