(個人ブログより一部)
公開鍵を公開しない病い
Passive Authenticationの仕組みを見れば、 各国の政府機関が発行するCSCA証明書がトラストアンカーとなっている事に気がつくと思います。 日本の場合CSCA証明書は外務省が発行します。 まずはこのCSCA証明書を手に入れなければ電子的なパスポートの真正性を確認できません。
ということで外務省に対してCSCA証明書を下さいという旨の情報開示請求を行いました。 通常、情報開示請求は行政が保有する文書に対して行うものですが、X.509証明書も行政文書の一種と言えるのではないか、と思ったので情報公開制度を利用しました。
しかし残念ながら外務省の回答は、CSCA証明書(公開鍵)は公開しない。でした。
https://www.osstech.co.jp/~hamano/posts/epassport-security/reason.jpg
> 不開示とした理由
>
> 旅券冊子の情報暗号化に関する情報であり,公にすることにより,旅券偽造のリスクが上がる等,犯罪の予防及び公共の安全と秩序の維持に支障を及ぼすおそれ並びに日本国旅券の安全性が損なわれ,法人の円滑な海外渡航に支障を来すことにつながる可能性がある等,旅券事務の適正な遂行に支障を及ぼすおそれがある。 また、当該情報は,国際的に外交手段でのみ交換する慣行があり一般への公開をしない共通認識があるため,公にすることにより,他国,国際機関等との信頼関係が損なわれるおそれがあるため,不開示としました。
ほぼすべての文が間違っており、どこから突っ込んで良いのか分かりませんが、 公開鍵を公開しても安全と秩序が損なわれることはないし、国際的に外交手段でのみCSCA証明書を交換する慣行もありません。
先に説明したICAO(国際民間航空機関)はICAO Public Key Directory(以下ICAO PKD)というLDAPサーバーにCSCA証明書をアップロードすることを推奨しています。
このICAO PKDにはドイツのマスターリスト(ドイツが信頼するCSCAのリスト)が公開されており、その中に日本のCSCA証明書が含まれていました。 これは信頼モデルとして日本のパスポートでドイツに入国できることを意味します。
私はこのドイツが公開しているマスターリストから日本国のCSCA証明書を抜き出しました。 ドイツが主張する日本のCSCA証明書をトラストアンカーとすることにやや不自然さがありますが、ひとまずドイツを信頼する事で日本が発行したパスポートの真正性を確認できるようになりました!
パスポートのセキュリティ - AAA Blog
https://www.osstech.co.jp/~hamano/posts/epassport-security/