TwitterやFacebook、Instagramなどで海外旅行に行く際に搭乗券の写真を上げている人をよく見かける。搭乗券のバーコードについて本稿では解説する。
国際線にチェックインすると発行されるこの搭乗券(Boarding Pass)は一体どのような情報が印字されているだろうか。名前やマイレージ会員番号など文字で表示されている情報は明らかにプライバシーなのでSNSにアップする人も結構な割合でモザイクやぼかしの処理をしている。しかしながら、バーコードまでは考慮していない人がかなり多い。例えばGoogle 画像検索やSNSで「搭乗券」と検索すれば容易にバーコードが隠されていない画像を目にすることができる。
搭乗券に印字されている情報
- 名前
- 搭乗日
- 年まではわからないことも
- 便名
- これだけでどの区間か覚えてる人も
- 出発地と到着地
- チェックイン順
SEQ
が該当する- 会員番号
- マイレージを付けた航空会社のコードと番号。また上級会員の場合はその旨も表示されている。
- Eチケット番号
- 予約をたどるにはこれだけでも十分
- 搭乗口や搭乗時間、座席番号、座席クラス
- メタ
- バーコード
- QRやPDF417という規格の2次元バーコードが多く利用される。ここに大概の情報は詰まっている。
2次元バーコードの中身
Bar Coded Boarding Pass(通称:BCBP)という規格でIATA(国際航空運送協会)がデータのエンコード方法を策定しており、世界各国の空港でバーコードを読み取れるようになっている。(乗り継ぎのなどの場合でも他の空港で発行した搭乗券を読み取れるようになっている)
バーコードはQRやPDF417やAztecなどの規格が多い。このようなバーコード特殊なものではなく、スマートフォンのアプリで読み取ることができる。また、誤り訂正と言い一部が隠れていたり汚損していても読み取れるように設計されており、ある程度解像度が少し低めな画像でも読み取れることがある。
実際に読み取ると、(便宜上半角スペースをアンダーラインで表示していることに注意されたい)
M1MYOJI/NAMAE_________E4AB3C2_HNDSINNH_0801_051C010A0045_35C>5180__8051B1A______________2A20501234567890_NH_NH_1234567890__________*30600000K09__NHG____このような文字列になっている。ある程度海外旅行経験のある方はお気づきだろうが、最初に名前、予約番号、区間と便名、座席番号、ETKT番号とマイレージ会員番号ということが既に分かるかと。これを、規格に則って読み解く。
国際的に標準化されたデータの場合であり、日本国内線のQRコードでは独自の場合がある。(一部はこの規格に合致している。)
アイテム 番号 | 項目名 | 長さ | データ | |
必 須 項 目 | #1 | フォーマットコード | 1 | M |
#5 | 区間数 | 1 | 1 | |
#11 | 搭乗者名 | 20 | MYOJI/NAMAE_________ | |
#253 | Eチケットであることの表示 | 1 | E | |
#7 | 予約番号 | 7 | 4AB3C2_ | |
#26 | 出発地 | 3 | HND 羽田空港 | |
#38 | 目的地 | 3 | SIN シンガポール・チャンギ国際空港 | |
#42 | 運行航空会社コード | 3 | NH_ ANA | |
#43 | 便名 | 5 | 0801_ | |
#46 | 日付 (1月1日を1とした通算日数) | 3 | 051 12月04日 | |
#71 | 座席クラス(Y/C/Fなど) | 1 | C ビジネスクラスの意 | |
#104 | 座席番号 | 4 | 010A 10A席 | |
#107 | BN:チェックイン番号(順) | 5 | 0045_ この飛行機の中で45番目にチェックインした | |
#113 | Passenger Status | 1 | 3 | |
#6 | 下の条件付き利用部分と航空会社利用部分の長さ(16進数) | 2 | 5C 10進数で92。以下92文字 | |
条 件 付 き で 利 用 | #8 | バージョン番号表示のための区切文字 | 1 | > |
#9 | バージョン番号 | 1 | 5 | |
#10 | 次の区切りまでのデータの長さ(16進数) | 2 | 18 10進数で24次の24文字で#17までの内容がエンコードされる | |
#15 | Passenger Description | 1 | 0 | |
#12 | チェックイン場所 | 1 | _ | |
#14 | 搭乗券発行場所 | 1 | _ | |
#22 | 搭乗券の発行日 (年の下一桁と1月1日を1とした通算日数) | 4 | 8051 2018年02月20日 | |
#16 | Document Type | 1 | B | |
#21 | 搭乗券を発行した航空会社コード | 3 | 1A_ アマデウス(システム) | |
#23 | Baggage Tag Licence Plate Number (s) | 13 | 0205141198001 などタグの種類(1) 航空会社コード(3) 荷物タグ番号(6) 連続するタグの数(3)で構成される | |
#31 | 1st Non-Consecutive Baggage Tag Licence Plate Number | 13 | 上の項目で24文字なのでこの部分はデータがない | |
#32 | 2nd Non-Consecutive Baggage Tag Licence Plate Number | 13 | ||
#17 | 次の区切りまでのデータの長さ(16進数) | 2 | 2A 10進数で42 | |
#142 | 航空会社番号(整数3桁) | 3 | 205 ANA | |
#143 | 文書番号 | 10 | 0123456789 Eチケット番号としては205-0123456789となる。 | |
#18 | 追加検査(スクリーニング)対象者 | 1 | 0 | |
#108 | 国際文書の検証 (たぶんパスポートのチェックなど) | 1 | _ | |
#19 | 販売航空会社コード (コードシェア便など) | 3 | NH_ | |
#20 | マイレージ航空会社コード | 3 | NH_ | |
#236 | 会員番号 | 16 | 1234567890______ | |
#89 | ID/AD Indicator | 1 |
| |
#118 | 無料手荷物許容量 | 3 |
| |
#254 | Fast Track(優先検査場)の可否 | 1 | Y | |
- | #4 | 航空会社利用部分 | 可変 | *30600000K09 NHG この部分については航空会社により異なるので割愛。NHG(ANAなどのStar Allianceの場合)などの上級会員ステータスが入る。ANA国内線では運賃種別が入る。 |
- | #4 | Security Data #6を超えた分 | 可変 | 今回は重畳されなかった |
予約番号でどこまで分かるの?
予約番号と名前の組み合わせで、各航空会社のサイト(予約確認・オンラインチェックイン機能)や、CRS(予約システム)から誰でも閲覧することができ、例えば以下のサイトから確認ができる。
- Amadeus
- 本社:スペイン・マドリード。多くの航空会社が予約システムとして採用している。エンドユーザー向けのサイト・アプリ Check my tripがある。
- Trip for You
- 日本航空(JAL)子会社によるシステム
- Travelport Viewtrip
- Travelport(APOLLO・Galileo・Worldspanを吸収)
- Tripple
- ANAの子会社、INFINIによる。
前述の搭乗券から得られた名前と予約番号でこの上図のような文書が取得できる。Eチケット控えには新たに予約クラスや支払い金額・支払い方法・またクレジットカードの下4桁などが記載されている。SNSに上げた写真から必要最低限の情報(名前)さえ漏れれば簡単に個人情報が呼び出せるのだ。気をつけたいところである。