TD1・TD2・TD3:3つのMRZフォーマット
TD1、TD2、TD3は、ICAO Doc 9303が定める3つの機械読み取りゾーン(MRZ)のレイアウトです。TD3は44文字×2行でパスポートに使われ、TD2は36文字×2行で旧式の身分証明カードや渡航カードに、TD1は30文字×3行でカードサイズの書類に使われます。
3つのフォーマットの概要
| フォーマット | 行数 × 文字数 | 書類の種類 | 例(1行目) |
|---|---|---|---|
| TD3 | 2 × 44 | パスポートと、その他のTD3サイズの渡航文書 | P<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<< |
| TD2 | 2 × 36 | TD2サイズの公用渡航文書、旧式の身分証明カード | I<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<< |
| TD1 | 3 × 30 | カードサイズの公用渡航文書と身分証明カード | IDGRCAK472913<4PN48291630<<<<< |
各行は、埋め文字<で規定の長さまで埋められます。1行がちょうど44、36、30文字のいずれでもないゾーンは、そのフォーマットの有効なゾーンではありません。パーサーがゾーンを受け付けないときに、まず確認すべき点です。
TD3 – 44文字×2行
パスポートのレイアウトです。1行目には書類コード、発行国、氏名が入り、2行目には書類番号、国籍、生年月日、性別、有効期限、個人番号、チェックディジットが入ります。ここでは氏名欄が39文字あり、3つのフォーマットの中で最も広い欄です。姓と名は埋め文字2つで区切られ、複数の名どうしは埋め文字1つで区切られます。
P<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<<
AM73045184GRC9403084F3203101PN48291630<<<<72 複合チェックディジットは下段の44文字目にあり、その行の1–10、14–20、22–43文字目を対象とします。11–13文字目(国籍)と21文字目(性別)は、標準により複合の対象から除外されています。
TD2 – 36文字×2行
同じ2行構成で、各行が8文字短くなっています。氏名欄は31文字です。
I<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<
TR61850420GRC9403084F2911043<<<<<<<2 複合チェックディジットは下段の36文字目にあり、1–10、14–20、22–35文字目を対象とします。
TD1 – 30文字×3行
カードのレイアウトで、パーサーが最も間違えやすいフォーマットです。フィールドの配置が異なるためです。上段には書類コード、発行国、書類番号、任意データの最初のブロックが、中段には日付、性別、国籍が入り、下段の30文字はすべて氏名に充てられます。これは3つの中で最も狭い氏名欄なので、長い名前が切り詰められるおそれが最も高いのはTD1です。
IDGRCAK472913<4PN48291630<<<<<
9403084F3405204GRC<<<<<<<<<<<9
PARADEIGMA<<ELENI<SOFIA<<<<<<< 複合チェックディジットは中段の最後の文字、つまり30文字目にあり、上段の6–30文字目と中段の1–7、9–15、19–29文字目を対象とします。二つの行にまたがるこの範囲こそ、実装が間違えやすい部分です。
そのほかに出会うレイアウト
3つの渡航文書フォーマットのほかに、次のものがあります。
- MRV-A – フォーマットAの機械読み取り式ビザ:44文字×2行。
- MRV-B – フォーマットBの機械読み取り式ビザ:36文字×2行。
- 運転免許証のゾーンで使われる、30文字×1行のレイアウト。
- カードアクセス番号を記録する6文字の行。
- 30文字×2行の派生形。
当社のAPIは検出したフォーマットを返すため、行の長さから自分で推測する必要はありません。
チェックディジットと、それが保護しないもの
各チェックディジットは、フィールドごとに7, 3, 1の重みを繰り返し掛けて計算します。数字はその数値のまま、英字はアルファベット順の位置に9を足した値(A = 10)、埋め文字<は0として数えます。合計を10で割った余りがチェックディジットです。
チェックディジットが保護するのは、書類番号、生年月日、有効期限、そしてTD3では個人番号です。これに加えて、ゾーンのほぼ全体を対象とする複合チェックディジットがあります。
氏名を保護するチェックディジットはなく、発行国を保護するものもありません。どちらかを読み違えても計算は合ったままなので、誤りに気づけません。これこそ、書類の印字面も読み取って2つの結果を照合すべき最も強い理由であり、当社のAPIはデフォルトでそれを行います。
計算の過程はMRZパーサーで1文字ずつ解説しています。パーサーでは、ご自身のゾーンで同じ計算を再実行することもできます。
標準のどこに書かれているか
ICAO Doc 9303『Machine Readable Travel Documents』第8版、2021年。 文書シリーズのランディングページはすでにリンク切れのため、各パートはリンクではなく、番号と英語の原題で示します。
| パート | タイトル |
|---|---|
| パート3 | Specifications Common to all MRTDs |
| パート4 | Specifications for Machine Readable Passports (MRPs) and other TD3 Size MRTDs |
| パート5 | Specifications for TD1 Size Machine Readable Official Travel Documents (MROTDs) |
| パート6 | Specifications for TD2 Size Machine Readable Official Travel Documents (MROTDs) |
| パート7 | Machine Readable Visas |
パート3には、文字セット、埋め文字、チェックディジットの計算方法など、すべてのフォーマットに共通する内容がまとめられています。パート4はTD3、パート5はTD1、パート6はTD2、パート7は両方のビザフォーマットを定義しています。各フォーマットのチェックディジットの表は、セクション4.2.4(パート4、5、6)にあります。
自分のゾーンを確認する
無料のMRZパーサーにゾーンを貼り付けると、ご自身のブラウザ内で、すべてのチェックディジットが目の前で再計算されます。何もアップロードされません。テスト用データに使う有効なゾーンを作るにはMRZジェネレーターを、認識結果として返されるフィールドの全語彙を確認するには書類フィールド一覧を使ってください。3つとも、アカウントは不要です。
ゾーンだけでなく書類全体(符号化された面に加えて印字面も)を読み取るには、リクエスト1回で済みます。しかも最初の呼び出しはアカウント不要です。ドキュメントのMRZ and the visual zone(英語)では、2つの読み取り結果が食い違ったときにどちらを信じるべきかを解説しています。
このページのゾーンはすべて、1人の架空の所持人のものです。番号も日付も架空で、チェックディジットは手入力ではなく、それらから計算しています。ここにあるものは、誰のものでもありません。