UIDのことわかってますか? -フォーマット編-
- 1. UIDのこと
わかってますか?
-フォーマット編-
なっぴー / @napplecomputer
12年8月25日土曜日
- 2. 自己紹介
• なっぴー / @napplecomputer
• Androidとか
12年8月25日土曜日
- 3. UIDとは
• タグの製造ID
• FeliCaではIDm
• Unique ID
• 簡単に取得でき、一意性があるのでこ
れだけを使っているサービスは多い
(と思う)。
12年8月25日土曜日
- 4. UIDとは
• 本当にユニークなの?
• 偽造可能なため、一意なIDとして扱う
と・・・
12年8月25日土曜日
- 5. 今回は
フォーマットの
話だけです
12年8月25日土曜日
- 6. きっかけ
• タグを発注しUIDの一覧をもらった
が、期待していた値と違ったものだっ
た
• →エンディアンが想定していたものと
違った
• AndroidのUIDを取得するAPIのドキュ
メントではUIDのサイズとフォーマット
はタグの種類によると書いてある
12年8月25日土曜日
- 7. タグの種類で
サイズと
フォーマットが
違うの?
12年8月25日土曜日
- 8. 使うなら
知っておいたほう
がいいよね!
12年8月25日土曜日
- 9. UIDのこと
わかってますか?
-フォーマット編-
なっぴー / @napplecomputer
12年8月25日土曜日
- 10. タグのドキュメント
をUIDに絞って
読みました
なっぴー / @napplecomputer
12年8月25日土曜日
- 12. MIFARE Ultralight
• 7byte固定
• メモリ領域の1ページ目から2メージ目
に記憶
• 上位1byteはmanufacturer code
ISO/IEC 7816-6/AM1
• 誤り確認用のcheck byteがある
12年8月25日土曜日
- 13. MIFARE Ultralight
Page Byte number
address 0 1 2 3
check
00h serial number
byte 0
01h serial number
check
02h 今回は関係ないよ!
byte 1
12年8月25日土曜日
- 14. check byte
• Check Byte0
CT SN0 SN1 SN2
• Check Byte1
SN3 SN4 SN5 SN6
• CTはCascade Tag
このタグでは88h固定
• は排他的論理和(XOR)
12年8月25日土曜日
- 16. MIFARE Classic 1K
• 7byte あるいは 4byte
• 4byteの場合はUIDではなく
NUID(Non-Unique ID)と呼ぶ
• UIDのサイズはATQA(Answer To
reQuest, Type A)の7-8bit目で判別
• メモリ領域、Sector0の
Block0(Manufacturer Block)に記録
12年8月25日土曜日
- 17. 4 byte
上位 Block0/Sector0 下位
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
NUID 今回は関係ないよ!
12年8月25日土曜日
- 18. 7 byte
上位 Block0/Sector0 下位
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
UID 今回は関係ないよ!
12年8月25日土曜日
- 20. FeliCa
• 8byte固定
• 上位2byteは製造者コード
• 続く6byteはカード識別番号
• カードに複数のシステムが存在する場
合は・・・今回は説明しません
12年8月25日土曜日
- 21. FeliCa
IDm
上位 D0 D1 D2 D3 D4 D5 D6 D7 下位
カード識別番号
製造者コード
12年8月25日土曜日
- 22. FeliCa
製造者コードと識別番号
製造者
カード識別番号 製品用例
コード
01fe 乱数 NFCIP-1
NFC Forum Type 3
02fe 規定なし
Tag
ソニー株式会社が規定するデータフ
03fe FelicCa Plug
ォーマットコードを含む
xxfe 予約
その他 カード製造者が規定 FeliCa Standard他
12年8月25日土曜日
- 24. Type V
• 8byte固定
• 上位1byteは固定値e0h
• 続く1byteはmanufacturer code
• 続く1byteと37bit目で製品判別可能
(manufacturerで異なる?)
• Androidで読むとエンディアンが。。
12年8月25日土曜日
- 25. Type V
UID
上位 UID7 UID6 UID5 UID4 UID3 UID2 UID1 UID0 下位
serial number
Tag Type
e0h
IC Manufacturer code
12年8月25日土曜日
- 26. Androidで読むと
• AndroidでType VのUIDを読むと、他
のタグとはエンディアンが逆
• Androidだけでタグを読むサービスな
ら気にしなくてもいいが、他のリーダ
でも読み取りすることを考えると正し
く読んでおいた方がいい
12年8月25日土曜日
- 27. 最後に
• 持っていない製品のドキュメントは理
解しにくい
• 使う製品のドキュメントは読んでおく
と発見があるかも
• ドキュメントの探し方がわからなくて
時間がかかったので、探し方を覚えて
おいたほうがいい
12年8月25日土曜日
- 29. 参考資料
• MF1S50yyX
http://www.nxp.com/documents/data_sheet/MF1S50YYX.pdf
• MF0ICU1
http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf
• AN11042
http://www.nxp.com/documents/application_note/AN11042.pdf
• I•CODE SLI Smart Label IC SL2 ICS20 Functional Specification
http://www.nxp.com/documents/data_sheet/058031.pdf
• SL2 ICS50/SL2 ICS51
http://www.nxp.com/documents/data_sheet/SL136430.pdf
• FeliCa 技術方式の各種コードについて
http://www.sony.co.jp/Products/felica/business/tech-support/data/
code_descriptions_1.2.pdf
12年8月25日土曜日