PKD Faq English
PKD Faq English
PKD Faq English
Currently, an English version has been made available. Other language translations will be made
available on the same web-site in due course.
The International Civil Aviation Organization (ICAO) manages a Public Key Directory (PKD) which
contains the public keys of PKD Participants that issue electronic passports (e-Passport).
This document refers to the typical questions asked about the ICAO PKD LDIF file.
This system is intended for all agencies or companies that interact closely with
e-Passports/travel documents to verify identity, such as:
2) What is an e-Passport?
An e-Passport (or electronic passport) is just like an ordinary passport to be used as a travel
document, except that it also contains an electronic chip containing digital equivalent of the
holder’s identity. This holder information is both biographical (Name, DOB, etc.) as well as
biometric (digital photograph).
According to international agreements, an e-Passport is distinguished from normal passports
with a special symbol on the cover. This symbol is:
To protect its integrity, the digital data in the chip is digitally signed by the issuing country. A
corresponding “digital certificate” containing its public keys, is required to check the
integrity of the e-Passport. This “digital certificate” may be embedded in the electronic chip,
or distributed via a central mechanism by ICAO.
To facilitate the distribution of the “digital certificates” that signed the e-Passports above,
ICAO has setup a central repository together with a system for their distribution worldwide.
This central repository contains the e-Passport signing digital certificates, also called
“Document Signer Certificates” (DSCs) and also a blacklist of compromised digital certificates
(those that cannot be used) called “Certificate Revocation Lists” (CRLs). It also contains CSCA
Master Lists, which are signed lists of CSCA Certificates used by the PKD Participants. This
central repository is called “ICAO PKD” (Public Key Directory).
4) What is LDIF?
LDIF stands for “LDAP Data Interchange Format”, and is a standard format used to export
and import data between offline systems, much like a .CSV or .XML file. LDIF formatted files
are especially useful in exchanging data between LDAP compliant directories.
5) What are the two separate LDIF files available for download?
There are two LDIF files available for download. The first is a collection of DSCs and CRLs that
have been verified by ICAO against the PKD Participant’s CSCA Certificates. This collection is
sufficient in most cases for verification of e-Passports. The second LDIF is a collection of used
CSCA Certificates published by the PKD Participants themselves. ICAO has not validated or
verified the CSCA Certificates within these Master Lists. However, the PKD validates the
signatures of uploaded Master Lists.
collection of DSCs and CRLs. The Master List has a separate version number as well. This
version number is updated sequentially. Downloaders of this file are encouraged to
periodically update the file with the latest information available at the time.
The LDIF file is check-summed using SHA-1 from the ICAO PKD before being made available
for download. The checksum is created by calculating the message digest of the whole file
and hex-encoding the result to give a string of 40 characters, looking like:
3BC22E4E24CC422760AD6D83B4D3BFA8FC6BB43D
To check that the file was downloaded without errors, after receiving the complete file,
create another checksum using the same SHA-1 algorithm and hex encode the result, and
then go to the web-site: https://pkddownloadsg.icao.int/ICAO/pkdChksum.jsp or
https://pkddownloadth.icao.int/ICAO/pkdChksum.jsp to check the result against the same
version of the file downloaded. If the results are the same, the file was downloaded
successfully.
A) DSC/CRL LDIF:
The LDIF file is organized as a directory tree, with the root of the tree at: “dc=data,
dc=pkdDownload”. Every PKD Participant that uploads to the PKD will be assigned a
directory, where all its uploaded DSCs and CRLs will be stored. For example, in case of
Singapore, the location assigned will be “c=SG, dc=data, dc=pkdDownload”. This point would
be the base DN under which all entries from Singapore would be stored.
There are two kinds of data that a client would need from the PKD; the certificates (DSC) and
the CRL.
DSCs would be allocated an “o=Certificates” within the base DN of that state. The following
attributes of the DSC entry are available for download:
1
RFC2798, “Definition of the inetOrgPerson LDAP Object Class”, http://www.ietf.org/rfc/rfc2798.txt
not the DSC DN. There are no whitespaces after each “,” in this
string.
Certificate Serial Number. This is the hex encoded x.509
Surname certificate serial number allocated to that certificate by the
CSCA when signing that certificate.
DER encoded binary file containing the full x.509 certificate
userCertificate
issued by the issuer (the Country Signing CA).
The final DN of the entry will consist of the ‘cn’ followed by the “+” character and then the
‘sn’.
The following attributes of the CRL entry are available for download:
Objectclass cRLDistributionPoint (according to RFC22562).
The first six characters of the issuer
“SubjectKeyIdentifier” (hash of the CSCA public key)
Cn followed by symbol “_” and then the CSCA DN of the
CRL. This is the DN of the issuer of the CRL. There are
no whitespaces after each “,” in this DN.
DER encoded binary file containing the CRL issued by
certificateRevocationList
the issuer (the Country Signing CA).
For example, if the issuer DN is: “o=Passport Issuer,c=AG” and the “SubjectKeyIdentifier” of
the CA issuing that CRL is: FE457834AAF12C232CEFEF56121102BCD4567652, then that CRL’s
entry DN would be:
dn: cn=FE4578_o\=Passport Issuer\,c\=AG,o=CRLs,c=AG, dc=data,dc=pkdDownload
2
RFC2256, “A Summary of the X.500(96) User Schema for use with LDAPv3”,
http://www.ietf.org/rfc/rfc2256.txt
By this method, CRLs issued by same issuer DNs but different public keys can be
distinguished by different entry DNs.
The LDIF file is organized as a directory tree, with the root of the tree at: “dc=
dc=CSCAMasterList, dc=pkdDownload”. Every PKD Participant that uploads to the PKD will
be assigned a directory, where all its uploaded Master List will be stored. For example, in
case of Singapore, the location assigned will be “c=SG, dc=CSCAMasterList,
dc=pkdDownload”. This point would be the base DN under which Master List created by
Singapore would be stored.
The MasterList entry would be contained in an entry within the base DN of that country.
The following attributes of the MasterList entry will be available for download:
objectclass CscaMasterList (As defined above).
For example, if the issuer DN is: “o=Passport Issuer,c=AG” and the “SubjectKeyIdentifier” of
the CSCA issuing the MasterList is: FE457834AAF12C232CEFEF56121102BCD4567652, then
that MasterList’s entry DN would be:
dn : cn=FE4578_o\=Passport Issuer\,c\=AG,c=AG, dc=CSCAMasterList,dc=pkdDownload
By this method, MasterLists issued by same issuer DNs but different public keys can be
distinguished by different entry DNs.
A) DSC/CRL LDIF:
The LDIF file contains DSCs (in objectClass “inetOrgPerson”, attribute “userCertificate”) and
CRLs (in objectClass “cRLDistributionPoint”, attribute “certificateRevocationList”). Both these
data items are binary data, which are Base64 encoded in the LDIF file.
The easiest method to use this data is to import this file into an LDAP directory. This would
ease the searching of the right DSC or CRL as the need arises. Any other process that extracts
this data can also be used to ensure availability of the data in a central system, such as a
database or shared storage.
Once the data has been extracted, the e-Passport verification mechanism can use this data
during the validation process. The e-Passport verification process is beyond the scope of this
document, and can be referenced separately from ICAO’s MRTD web-site.
Attribute:
'CscaMasterListData'
Structural objectclass:
'CscaMasterList'
MUST ( CscaMasterListData )
)
The process to extract the CSCA Certificates contained within the Master List is beyond the
scope of this document, and can be referenced separately from ICAO’s MRTD web-site.
11) Does the Master List issued by a PKD Participant, contain all the CSCA Certificates used by
that PKD Participant?
The Master List contains the complete list of CSCAs used by the PKD Participant.