IC旅券の公開鍵が公開されてない件について

日記

なにやら「公開鍵を公開しない病」なんてのが流行っているらしいですね。

パスポートのセキュリティ – AAA Blog https://www.osstech.co.jp/~hamano/posts/epassport-security/

筆者はNFCを使用してIC旅券の真正性を確認できるAndroidアプリを開発したそうです。

その紹介の中でIC旅券のセキュリティについて、特に公開鍵について段落を分けるほどに熱心に語っています。

公開鍵を公開しない病い

(中略)

不開示とした理由

旅券冊子の情報暗号化に関する情報であり,公にすることにより,旅券偽造のリスクが上がる等,犯罪の予防及び公共の安全と秩序の維持に支障を及ぼすおそれ並びに日本国旅券の安全性が損なわれ,法人の円滑な海外渡航に支障を来すことにつながる可能性がある等,旅券事務の適正な遂行に支障を及ぼすおそれがある。 また、当該情報は,国際的に外交手段でのみ交換する慣行があり一般への公開をしない共通認識があるため,公にすることにより,他国,国際機関等との信頼関係が損なわれるおそれがあるため,不開示としました。

ほぼすべての文が間違っており、どこから突っ込んで良いないののか分かりませんが、 公開鍵を公開しても安全と秩序が損なわれることはないし、国際的に外交手段でのみCSCA証明書を交換する慣行もありません。

どこに突っ込んでいいかわかりません。

まずはIPAが公開している「IC旅券用プロテクションプロファイル」に関する調査報告書 」をよく読んで欲しいです。

2009年発行の文書ですが、これが最新のようです。

不開示理由の正当性

不開示となった理由を箇条書きにしてみます。

  1. 旅券冊子の情報暗号化に関する情報である。
  2. 外交手段でのみ交換する慣行があり、一般公開はしない共通認識がある。

暗号化に関する情報

IPAの出している解説書によるとIC旅券に組み込まれた非接触ICのライフサイクルは以下のように定義されており、その中でも個人化、運用フェーズについて情報セキュリティ的な脅威の解説がなされています。

  1. 開発
  1. 製造
  1. 個人化
  1. 運用

個人化はデータの書き込み、運用はデータの読み出しとなっており、今回の件では運用フェーズの脅威が対象となるでしょう。運用フェーズの脅威は解説書の7.2.2章に記述されています。

7.2.2.1はBACすなわち券面との照合、7.2.2.2はICチップへの物理的脅威となっているので、公開鍵に関する脅威は7.2.2.3章です。

IC旅券の偽造、電力解析、一時記憶の読み出し、プローブ解析について記述されています。

ただしここには具体的な対策方法は定義されていない。(あたりまえだ)

だが、容易でないにしろ「公開鍵を開示することにより電力解析やプローブ解析を行い、その結果としてIC旅券を偽造されてしまう脅威がある」ということは事実です。

(セキュリティのエキスパートではないので解析方法はさっぱりわからないが、国家予算レベルで技術導入したら解析できるのかもね)

外交手段での交換

これについてもIPAの文書に解説がありました。

同じく解説書の37p、9.3.1章に「CSCA証明書」という章があります。

これによると、CSCA証明書は「厳重に守られた外交手段で配送すべき」と記されています。これはICAOの技術報告書が出典であることが明記されています。残念ながら片手間の調査では原典をたどることはできませんでしたが、件のブログ筆者の崇拝するICAOが出典であることはわかりました。

また、外交手段としてどこで交換されているかについてもこの章にヒアリング結果として記載されていました。それによると、旅券発給当局又は出入国管理当局とあり、専用デバイスに格納することが推奨とあるので、ここからも一個人が入手不可能であることがわかります。

さいごに

筆者への不満をブチまける形になりましたが、私も含めてみんな流されすぎです。

「日本の古い、悪い、論理的でない慣行」みたいなのが最近よくバズりますが、必ずしも役所が悪いとはなりません。

今回の件では「公開鍵」という言葉に「公開」とあるから「一般に広く公開」と勘違いしているのだと思います。

ですが本来「相手に公開」されていれば公開ですから意味としても不開示は当然です。

この分野に関してのエキスパートでもなんでもないのにこんな記事を書いてしまいましたが、要するに「よく調べてから批判しよう」ということです。

以上

コメント

:)