←back to thread

287 points robin_reala | 2 comments | | HN request time: 0.519s | source
Show context
SXX ◴[] No.44375970[source]
I always wondered isn't this kind of specification also have digital signature of the passport issuer or something? Otherwise how do other countries can verify it's not a fake one?

I read this article, but seems like any information about it is kind a omited.

replies(2): >>44376059 #>>44376136 #
landgenoot ◴[] No.44376136[source]
Yes. There is even an active function that allows you sign arbitrary bits to check if the passport actually contains the private key. Otherwise you could spoof a passport by just replaying the government signed data.

Source: I have been working on a blockchain implementation in the past that was compatible with the cryptographic functions in an NFC passport. Basically using a standard NFC passport as a cold wallet.

Fun fact. The cryptographic system even differs per country.

E.g. the Dutch don't trust the NIST elliptic curves so use the brainpool curves instead. Some other countries are still using RSA iirc.

replies(3): >>44376312 #>>44376728 #>>44379711 #
lxgr ◴[] No.44379711[source]
> Yes. There is even an active function that allows you sign arbitrary bits to check if the passport actually contains the private key.

That's true for older passports, but there's actually a newer scheme that uses Diffie-Hellman key agreement instead, since non-repudiation, which is hard to avoid with RSA signatures, is considered a non-goal for passports. (Some governments apparently don't want them to be used as a "backdoor e-signing scheme", hence the change to the new repudiable authentication scheme.)

replies(1): >>44380202 #
1. landgenoot ◴[] No.44380202[source]
That makes sense. It has been almost a decade ago when I worked on this subject. Do you have examples of countries that do this?

Some countries (like Belgium) this _is_ a goal. They implemented a full PKI in their identity cards.

replies(1): >>44380324 #
2. lxgr ◴[] No.44380324[source]
Some countries indeed also implement an e-signature scheme with their national identity cards (for example Germany), but this is a completely different scheme and accordingly protocol from the ICAO biometric travel document one.

Essentially, these countries run two applications on the document chip: One that lets anyone verify the authenticity of the document, using the ICAO PKI and active or chip authentication, and one that lets the document owner sign data, usually after entering a PIN or password (or anybody holding the document could do so on their behalf).

Other countries decouple e-signatures/remote authentication and electronically verifiable identity documents, e.g. Austria – which now has an ICAO-compatible identity card, but a completely separate e-signature schme based on, and it really pains me to say this... server-side private keys.