SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
UIDのこと
              わかってますか?
                 -フォーマット編-

              なっぴー / @napplecomputer




12年8月25日土曜日
自己紹介


              • なっぴー / @napplecomputer
              • Androidとか


12年8月25日土曜日
UIDとは
              • タグの製造ID
              • FeliCaではIDm
              • Unique ID
              • 簡単に取得でき、一意性があるのでこ
               れだけを使っているサービスは多い
               (と思う)。


12年8月25日土曜日
UIDとは

              • 本当にユニークなの?
              • 偽造可能なため、一意なIDとして扱う
               と・・・




12年8月25日土曜日
今回は
              フォーマットの
               話だけです

12年8月25日土曜日
きっかけ
              • タグを発注しUIDの一覧をもらった
               が、期待していた値と違ったものだっ
               た

              • →エンディアンが想定していたものと
               違った

              • AndroidのUIDを取得するAPIのドキュ
               メントではUIDのサイズとフォーマット
               はタグの種類によると書いてある

12年8月25日土曜日
タグの種類で
                サイズと
              フォーマットが
               違うの?
12年8月25日土曜日
使うなら
              知っておいたほう
               がいいよね!

12年8月25日土曜日
UIDのこと
              わかってますか?
                 -フォーマット編-

              なっぴー / @napplecomputer




12年8月25日土曜日
タグのドキュメント
               をUIDに絞って
                読みました
               なっぴー / @napplecomputer




12年8月25日土曜日
MIFARE Ultralight




12年8月25日土曜日
MIFARE Ultralight
              • 7byte固定
              • メモリ領域の1ページ目から2メージ目
               に記憶

              • 上位1byteはmanufacturer code
               ISO/IEC 7816-6/AM1

              • 誤り確認用のcheck byteがある
12年8月25日土曜日
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日土曜日
check byte
              • Check Byte0
                  CT    SN0   SN1   SN2

              • Check Byte1
                  SN3   SN4   SN5   SN6

              • CTはCascade Tag
                  このタグでは88h固定

              •    は排他的論理和(XOR)


12年8月25日土曜日
MIFARE Classic 1K




12年8月25日土曜日
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日土曜日
4 byte
     上位                                       Block0/Sector0 下位
              0   1   2   3   4   5   6   7   8   9   10 11 12 13 14 15




                  NUID                今回は関係ないよ!



12年8月25日土曜日
7 byte
     上位                                         Block0/Sector0 下位
              0   1   2    3    4   5   6   7   8   9   10 11 12 13 14 15




                          UID                   今回は関係ないよ!



12年8月25日土曜日
FeliCa




12年8月25日土曜日
FeliCa

              • 8byte固定
              • 上位2byteは製造者コード
              • 続く6byteはカード識別番号
              • カードに複数のシステムが存在する場
               合は・・・今回は説明しません


12年8月25日土曜日
FeliCa

                             IDm
         上位   D0   D1   D2   D3   D4   D5   D6   D7   下位
                             カード識別番号


               製造者コード


12年8月25日土曜日
FeliCa
               製造者コードと識別番号
              製造者
                         カード識別番号             製品用例
              コード

              01fe         乱数                NFCIP-1

                                         NFC Forum Type 3
              02fe        規定なし
                                               Tag
                     ソニー株式会社が規定するデータフ
              03fe                         FelicCa Plug
                        ォーマットコードを含む

              xxfe                  予約

              その他       カード製造者が規定        FeliCa Standard他




12年8月25日土曜日
Type V




12年8月25日土曜日
Type V
              • 8byte固定
              • 上位1byteは固定値e0h
              • 続く1byteはmanufacturer code
              • 続く1byteと37bit目で製品判別可能
               (manufacturerで異なる?)

              • Androidで読むとエンディアンが。。
12年8月25日土曜日
Type V

                               UID
         上位   UID7 UID6 UID5 UID4 UID3 UID2 UID1 UID0   下位
                               serial number
                            Tag Type
              e0h
                             IC Manufacturer code


12年8月25日土曜日
Androidで読むと
              • AndroidでType VのUIDを読むと、他
               のタグとはエンディアンが逆

              • Androidだけでタグを読むサービスな
               ら気にしなくてもいいが、他のリーダ
               でも読み取りすることを考えると正し
               く読んでおいた方がいい


12年8月25日土曜日
最後に
              • 持っていない製品のドキュメントは理
               解しにくい

              • 使う製品のドキュメントは読んでおく
               と発見があるかも

              • ドキュメントの探し方がわからなくて
               時間がかかったので、探し方を覚えて
               おいたほうがいい


12年8月25日土曜日
おしまい



12年8月25日土曜日
参考資料
              •   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日土曜日

Contenu connexe

Tendances

4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-84年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
Yusuke Mori
 
GitHubで雑誌・書籍を作る
GitHubで雑誌・書籍を作るGitHubで雑誌・書籍を作る
GitHubで雑誌・書籍を作る
Naonori Inao
 

Tendances (20)

汎用Web API“SPARQL”でオープンデータ検索
汎用Web API“SPARQL”でオープンデータ検索汎用Web API“SPARQL”でオープンデータ検索
汎用Web API“SPARQL”でオープンデータ検索
 
Power BI - 概要と 新しい機能など
Power BI - 概要と 新しい機能などPower BI - 概要と 新しい機能など
Power BI - 概要と 新しい機能など
 
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
 
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-84年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
 
第7回 Linked Data 勉強会 @yayamamo
第7回 Linked Data 勉強会 @yayamamo第7回 Linked Data 勉強会 @yayamamo
第7回 Linked Data 勉強会 @yayamamo
 
CrowdStrike Falconと効果的に楽に付き合っていくために
CrowdStrike Falconと効果的に楽に付き合っていくためにCrowdStrike Falconと効果的に楽に付き合っていくために
CrowdStrike Falconと効果的に楽に付き合っていくために
 
AndroidでIDm読み取ってみた
AndroidでIDm読み取ってみたAndroidでIDm読み取ってみた
AndroidでIDm読み取ってみた
 
結果的に組織がAgileな状態であること #agile #scrum #leanstartup
結果的に組織がAgileな状態であること #agile #scrum #leanstartup結果的に組織がAgileな状態であること #agile #scrum #leanstartup
結果的に組織がAgileな状態であること #agile #scrum #leanstartup
 
YJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組みYJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組み
 
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
 
GitHubで雑誌・書籍を作る
GitHubで雑誌・書籍を作るGitHubで雑誌・書籍を作る
GitHubで雑誌・書籍を作る
 
TypeScriptハンズオン第1回テキスト
TypeScriptハンズオン第1回テキストTypeScriptハンズオン第1回テキスト
TypeScriptハンズオン第1回テキスト
 
Power BI 初心者さんのDAX・メジャー「モヤモヤ」晴れるまで
Power BI 初心者さんのDAX・メジャー「モヤモヤ」晴れるまでPower BI 初心者さんのDAX・メジャー「モヤモヤ」晴れるまで
Power BI 初心者さんのDAX・メジャー「モヤモヤ」晴れるまで
 
TOC/CCPM+アジャイルで不確実性をマネジメントする
TOC/CCPM+アジャイルで不確実性をマネジメントするTOC/CCPM+アジャイルで不確実性をマネジメントする
TOC/CCPM+アジャイルで不確実性をマネジメントする
 
Linked Open Dataとは
Linked Open DataとはLinked Open Dataとは
Linked Open Dataとは
 
絶対に止まらないバックボーン
絶対に止まらないバックボーン絶対に止まらないバックボーン
絶対に止まらないバックボーン
 
実践!Django + GraphQL 実装
実践!Django + GraphQL 実装実践!Django + GraphQL 実装
実践!Django + GraphQL 実装
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
ものづくりの視点で説明する要件定義
ものづくりの視点で説明する要件定義ものづくりの視点で説明する要件定義
ものづくりの視点で説明する要件定義
 
LODを使ってみよう!
LODを使ってみよう!LODを使ってみよう!
LODを使ってみよう!
 

Dernier

Dernier (12)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

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日土曜日