iD 決済は Suica などと同じ FeliCa の技術を使っている。
市販の FeliCa 対応カード リーダーで中身を読み取ることができるので Read Without Encryption コマンドで抽出、解析してみた。
鋭意解析中です
サービス コード 0x408F
取引履歴が入っている。
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0xn0 | 不明 | 取引番号 | 決済種別? | 不明 | 取引金額 | 不明 | 取引日 | |||||||||
| DD | MM | YY | ||||||||||||||
- 取引番号は毎日リセットされ、1 からインクリメントしていく
- 最大 5 件を保存
- 古いのは消えていく
- 5 件に満たない履歴は 0 でブロックが埋められる
- 取引金額はリトル エンディアン
サービス コード 0x40CB
カードに関する情報が入っている。
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x10 | 不明 | |||||||||||||||
| 0x20 | padding | iD 番号 | 不明 | |||||||||||||
| 0x30 | 不明 | 有効期限 | ||||||||||||||
| DD | MM | YYYY | ||||||||||||||
- 有効期限の YYYY はリトル エンディアン
備考
筆者はクレカ、デビット、V ポイント Pay 付属の iD で調査した。
- サービスコード 0x408B ブロック 1
- デビットと V ポイント Pay にのみ存在していて、何らかの値が格納されていた
- クレカではそもそも読み込めなかった
- サービスコード 0x40CB ブロック 4
- デビットと V ポイント Pay では 0 で全て埋められていたのに対し、クレカでは何らかの値が格納されていた