続・パスポート番号の秘密&免許も

それでは早速、前回おもむろに見始めていた、パスポート番号にまつわるちょいネタの続きに参るといたしましょう。

 

まぁ記事タイトルでは「秘密」なんてしましたけど、こんなもんネットを調べればいくらでも出てくる情報で秘密でも何でもないのみならず、人によっては「おもんな」の極みでしかないと思うんですけど(笑)、今回の話は一応、知らない方には「へぇ~」と思ってもらえるような内容であることを期待したい限りです。

(ただ、知ってる人からすれば「何を当たり前のことを大げさに、おもんな」と、結局誰かにとってはおもんない話になっちゃうんですけどね(笑))

 

話を進めるために、まずは、前回も貼りました外務省によるパスポート写真ページのサンプル画像を改めてペタリとさせていただきます(↓)。

https://www.mofa.go.jp/mofaj/toko/passport/pagew_000001_01222.htmlより

右上にあるパスポート番号に関して、1文字目は、5年用パスポートなら「M」、10年用なら「T」で始まり、2文字目のアルファベットは、発行順でAからYまで変化する(同じ時期なら、全員同じはず…今はどの文字なのかは分かりませんが、2006-08年あたりは「H」、そしてそれから10年ほど経った2016年は「R」などという話があったので、それからさらに10年弱経過した今は…もしかしたらもうラストの「Y」か、一周してAに戻っている可能性もあるのかもしれませんね……あぁでも、2019年は「S」で、上の外務省のサンプルが、もし正しい作りになっているのであれば、2020年は「T」だったことが窺えるので、もしかしたら近年は変化がのんびりで、まだYではないのかもしれません……というか、やっぱり左側の、今年から刷新されたパスポート画像の例が「ZZ」で始まっているので、何気にこのルールは完全に撤廃されてしまったのかもしれませんね)

…と、余談が長くなったので仕切り直すと、少なくとも2025年3月発行分までのパスポートは、2文字目が発行時期を表しており、しかし実は海外で発行した場合は必ず「Z」になるなんて情報を紹介していました。

 

そして「もう少し深入りすると…」なんて書いた所で次回へ続くとなっていたのですが、その深入りというのは、顔写真ページ最下部にある、謎の英数文字列2行について!!

 

見本の画像にもあります通り、44文字・2行の文字列ですね。

これは新しくなってもスタイル自体に変更はなかったようですが、ここも実は全て意味が明らかになっており、基本的にはこの写真ページに書かれている個人情報が並んでいるだけになっています。

 

とはいえ一応チェックしてみますと、1行目最初の2文字がパスポートタイプで、これは写真の横一番上にあります通り、2025年までは一文字の「P」だったのが、新しいバージョンでは「PP」と2文字表記になったようです。

 

これは一体…?と思い調べてみたら、海外の2chことRedditに、これに関する質問トピックが立っていました。


Redditはてなブログではリンクカードが取得できないみたいで、文字列リンクになりますけど、こちら(↓)…

https://www.reddit.com/r/passportcanada/comments/1cex5xc/p_vs_pp/

パスポート番号の表記は、国によって若干の違いはあれど、どの国もICAO(国際民間航空機関が定める規格に準じて作られているそうで、そのICAOが近年ガイドラインを刷新したらしく、日本のパスポートモデルチェンジも、実はICAOのガイドラインが更新されたことによるものだといえる感じだったんですね!

 

なお、ICAOはカナダのモントリオールに本部があるので、世界に先駆けてカナダのパスポート番号が既に数年前から変わり始めており、上記Redditの質問もカナダ人の方からの投稿でした。

 

それはともかく、PPは「Personal Passport」のことで、これは通常の、一般市民向けのパスポートですね。

そしてICAOのガイドラインを調べたら、どうやら現在ウェブサイト移転中らしくなんとPDFが見れなかったんですが、Google検索結果で表示されている部分を見る限り、他のコードは、

「Emergency passport (緊急パスポート)」のPE、「Diplomatic passport (外交パスポート)」のPD、そして「Official passport (公用パスポート)」のPOまではまさにちょうど前回も見ていた、旧来のパスポート1文字目に使われているアルファベットでしたけど、あともう一つ、「Refugee passport (難民パスポート)」のPRなんかまで目に付いたのですが、検索結果はそこで切れていたので、おそらくまだまだあることでしょう。

 

でもまぁ普通の人には関係ないもので、ここは「PP」になるわけですが……あぁ、もしかしたら、「型 (Type)」の部分に種類が載ることになったので、パスポート番号そのものの表記もやっぱり変更になってるのかもしれませんね。

 

それはともかく、44桁の文字列に戻ると、新しいものは「PP」で始まり、一方旧来のタイプは「P<」となっていますが、この文字列において、不等号マーク「<」は空白文字を意味するので、要はスペース記号と同じということですね。

 

その次は「JPN」ですが、これは言うまでもなく、発行国である日本の3文字略号です。

 

そしてそこからスペース記号もなしに「GAIMU」となっており、これはこのサンプルパスポートの所有者である外務さくらさんの苗字、そしてスペース2つ「<<」を入れて「SAKURA」が続き、1行目は残り末尾まで「<」が並んでいるという、こちらは大変分かりやすいものとなっています。

 

(ちなみに、「P<JPN」で5文字使っているので、残り39文字、さらに姓名の間のスペース2文字を除いて37文字ですが、フルネームがこれを超えた場合はどうなるのか、これもICAOのドキュメントに記載があるようで、まぁ当たり前ですが長すぎて足りない部分は、そこまでの表記に留めて、以下はカットするという扱いみたいですね。

 パスポートリーダーで機械が読み取るのはこの末尾2行のはずですが、言うまでもなく、写真の横にフルネームはちゃんと記載される形なので、その37文字分までは機械で読んで、超えてる分は人間が目視で確認すればいいという形なんだと思います。)

 

と、1行目は恐らく前情報ナシでも何も難しくないといいますか何も秘密は隠れていませんでしたけど、2行目がなかなかマニアックなのです!

 

新旧どちらも、パターンそのものは同じなので、新しい例の44桁を書き下しておくとしましょう。

 

「ZZ10000012JPN0002200F3503247<<<<<<<<<<<<<<08」


ですね。

 

これを見て、全ての意味が瞬時に分かる人は天才そのものと言いますか、「この世で最も頭の良さを必要とするのは暗号学である」なんて話を聞いたこともある気がしますけど、僕は全然分からなかったので、ソッコーでカンニングをしました(笑)。

 

検索したら、我らがウィッキー先生がまさにズバリの情報を載せてくれていましたね、日本語ページはありませんでしたが、表で分かりやすくまとめてくれているので、画像スクショを載せるとともに、2行目の部分は日本語でも見ておくとしましょう。

https://en.wikipedia.org/wiki/Machine-readable_passportより

2行目

位置 文字数 使用文字 意味
1–9 9 英数字 + < パスポート番号
10 1 数字 1–9のチェックデジット
11–13 3 英字 + < 国籍(ISO 3166-1 alpha-3コード、一部修正あり)
14–19 6 数字 生年月日(YYMMDD形式)
20 1 数字 14–19のチェックデジット
21 1 M / F / < 性別(男性 (Male)、女性 (Female)、不明は空白文字)
22–27 6 数字 有効期限(YYMMDD形式)
28 1 数字 22–27のチェックデジット
29–42 14 英数字 + < 個人番号(各国で自由に設定可能)
43 1 数字 + < 29–42のチェックデジット(全て<の場合は<)
44 1 数字 1–10, 14–20, 22–43全体の最終チェックデジット

 

…そう、まぁよく見たら、

「パスポート番号と、国籍JPN(あぁ一応、1行目は「パスポート発行国」で、こちらは「自分の国籍」ですね)と、自分の誕生日と、性別と、あぁあと有効期限が並んでるのかな」

とまでは何となく気付けるかとも思うんですけど、所々で余計な数字が見られるんですよね。

 

これは一体何なのか…?

そう、これはズバリ、↑にある通り、チェックデジットと呼ばれるものなのでした!

 

チェックデジットってのは何なのかと言いますと、パスポートに限らず色々な文字列番号で用いられているもので、まぁ読んで字の如くではありますけど、「入力ミス・読み取りミスを防ぐための工夫」といえるものですね。

 

人間はミスをしますから、文字を手書きで写すときや、キーボードで打ち込む際なんかにもミスが発生するかもしれませんし、機械読み取りであっても、汚れがついていて間違って読んでしまう可能性はあるわけです。

 

その時、この「チェックデジット」と呼ばれる桁があれば、入力ミスがあった場合に、

「入力にミスがあります。正しいパスポート番号ではありません」

ということを教えてくれる優れものなんですねぇ~。

 

具体的な仕組みは以下触れますが、例えば下手な手書きで「1」と「7」の区別がつかなくて間違えてしまったり、パスポートの場合はアルファベットも混じることがあるため「0(ゼロ)」と「O(オー)」の混用などが起きてしまった際、「おかしいですよ」と即教えてくれる仕組みになっているという、人類の叡智による素晴らしい工夫だと思います。

 

もちろん、ある桁をミスして、チェックデジットもたまたま偶然そのミスに合うように入力を間違えてしまったら間違いなのに素通りになってしまうため、「絶対完璧」ではないんですけど、ミスが2つ起こる確率も、ましてやそれが整合性の取れたミスに落ち着く確率なんて天文学的に小さいものですから、これがあるだけで本当に、人為的なミスで入力間違いのまま通してしまう確率が、グッと下がるわけですね。

 

チェックデジットのウィ記事にもある通り(↓、ちなみに「チェックディジット」なのか「ジット」なのかは、まぁ「デジタル」を「ディジタル」と読む人はあんまりいないので、「デジット」でいいんちゃいます?って気がします)…

ja.wikipedia.org

 

…ミスの防止のみならず、偽造されたものの発見にも使えるわけですけど、まぁあえて偽造するならチェックデジットも整合性が取れたものにすると思うので、あんまり意味はないような気も…と一瞬思えたものの(笑)、あぁでも、チェックデジットの計算式が非公開なら、偽造防止にも大いに役立つものと言えますね。

 

しかし、パスポートの方は計算式まで明らかになっているといいますか、こちらもICAOの定める「Doc 9303」規格に基づいているので、「どうやって求められる数字なのか?」は、公式に宣言されているものとなっています。

 

Doc 9303のPDFも、ICAO移転中につき公式ソースが現在見れませんでしたが、調べたらいくらでも出てくるので、具体的なパスポート最下行の謎文字列(ちなみに、正式には「MRZ (Machine Readable Zone;機械可読部)」と呼ばれるものです)における、チェックデジットの計算式を見ておきましょう。

 

MRZにはチェックデジットが複数ありますが、どれも、以下の手順で計算されます。

 

  • 各文字を数字に変換する
    数字(0〜9)はそのままで、アルファベットは、A=10、B=11、C=12、…、Y=34、Z=35のように、数字に対応させます。
    また、空白文字である「<」 は 0 として扱います。
  • 重み(ウェイト)を適用する
    重みはパターンが決まっており、MRZのチェックデジットでは、以下の順に繰り返します:
    7 → 3 → 1 → 7 → 3 → 1 → …
    (つまり、最初の数字を7倍、2つ目の数字を3倍、3つ目は1倍そのまま、そして4つ目は7倍、5文字目3倍…のように繰り返していく)
  • 全ての桁に対して、変換値 × 重みを計算し、合計を出す
  • 合計を 10 で割った余り(つまり、下一桁)がチェックデジット


というもので、まぁちょっとややこしいですが、先ほどの、外務さくらさんのパスポートの例でチェックしてみましょう。

 

外務さんのパスポート番号は「ZZ1000001」という、都合よくまあまあ計算しやすいものでしたが(笑)、「Z=35」に注意して計算すると…

  • 35×7 + 35×3 + 1 +(途中、0は何をかけても0なので無視) +1 = 352

(例によってクソみたいな計算講座ですが、これを電卓じゃなきゃ計算できない人は工夫が欠けていまして、「35×7 + 35×3」は、「35× (7+3)」ですから、35×10となり、マジで暗算余裕なんですね)

 

で、下一桁は2と出ましたが、MRZの文字列を確認してみると、「ZZ10000012」と、見事にチェックデジット2と合致しています!!

流石は外務省、サンプルでも、整合性のある数字を使ってくれているんですね、そこに痺れる憧れルゥ!

 

ちなみにMRZはやはり個人認識のために極めて重要なのか、この1行にはチェックデジットが4つもあることに加え、さらに最後にも、各チェックデジットまで含めたほぼ全ての数字を使った最終チェックデジットまで用意されている周到っぷりですけど、当たり前ですがどれも見事に計算結果と合っているので、暇な人は計算してみてはいかがでしょうか。

 

と、せっかくなので僕は暇ですし(笑)、一番最後のラストチェクデジを計算してみましょう。

…とはいえ、そんなクソみたいな計算をするほど暇でもないので(笑)、これまた人類の叡智をお借りしてみますと、世の中には「チェックデジット計算機」なんてものもあるんですね!

 

先程のMRZまとめ表を見ますと、国籍と性別のアルファベットだけは最終チェックデジから除外されているようであり、また空白文字の「<」もどうせ0なので省くとして、それ以外の、「ZZ10000012000220035032470」を入力ボックスに入れて計算してもらうと(↓)!

https://planetcalc.com/9535/より

ズバリ、この文字列のMRZチェックデジットは「8」と出て、外務さくらさんのパスポート一番右下、最終チェック番号「8」と見事に一致しているわけですねぇ~。


(ちなみにここで使った文字列は僕が画像を見て手打ちしたものですが、入力ミスがなかったことがこれで確かめられた感じですね。

 仮に途中の0が一個欠けていたりしたら、倍率のウェイトがズレて結果が変わるので、ミスが判明するわけです!_

 

また、運転免許証にもチェックデジットがあることが知られており、こちらも計算式まで明らかにされています。

 

ただ、こちらは警察庁からの公式情報は見当たらず、有志が突き止めたであろう計算式しか世に出回っていませんでしたが、こちら(↓)の計算機まで用意してくれているサイトによると…

tetsutalow.github.io

 

各桁の倍率である重み(ウェイト)は、免許の場合、先頭から最初の10桁の数字を順番にそれぞれ「5, 4, 3, 2, 7, 6, 5, 4, 3, 2倍」であり、そして免許の実際のチェックデジット完成品は「この合計を11で割った余り」を、さらに11から引いた数の下一桁だそうです。

 

自分の免許証番号で試してみたら、当然合っていました!

 

せっかくなのでこちらもサンプル画像からお借りして、整合性を試してみるとしましょう。

 

こちら警察庁による、日本花子さんのサンプルをお借りしますと…

https://www.npa.go.jp/policies/application/license_renewal/index.htmlより


日本さんの免許証番号最初の10桁は、0123456789で、計算機に入れてみると…

 

https://tetsutalow.github.io/driversnumbercheckdigit/より

なんと、2!!


それなのに、見本のチェックデジ番は、「0」!!

 

おいおいマッポさんよ、不正を取り締まるあーた方が偽造免許を例に示してどないすんねん!……と思えましたが、まぁこれは0123…という単なる例ですし、そこを突っ込む方がどうかしてるぜ、って話かもしれませんね(笑)。

 

と、免許の数字の秘密に関して、せっかくなので他にもちょっと書こうと思っていたことがあったのですが、あまりにも時間がない上無駄に長くなりすぎているので諦めました。

まぁ全く大した話でもないので、それはまたいつかネタが尽きた時にでもしようかなと思います。

 

というわけで、以上、各種身分証明書番号にまつわる、あんまり面白くない面白ネタでした。

チェックデジットはもちろん他にも、クレジットカードなんかでも使われている形ですね…!

にほんブログ村 恋愛ブログ 婚活・結婚活動(本人)へ
にほんブログ村