Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
一人でも NFC 開発                      ueno2012 年 3 月 3 日        hiro99ma                           1 / 34
もくじ開発環境の準備  環境作り        パソコン        NFC R/W        NFC カード  カードへのアクセス方法苦労話  ・・・                  2 / 34
NFC でなにしてる?仕事でやってるわけではない単なる趣味    目標なるべくお金をかけずに!                3 / 34
開発風景               NFC カードパソコン        NFC リーダライタ                     こたつ                           4 / 34
環境作り (1)ホスト      パソコン         ●   Windows XP                 –   cygwin                 –   VC# + SDK for NFC Starter Kit ...
環境作り (2)NFC のリーダライタ  –   Sony の RC-S370( いわゆる PaSoRi)         ●   Amazon : 2,500 くらい         ●   パソコンからは” FeliCa Port” に見え...
環境作り (2)NFC のリーダライタ  –   Sony の RC-S620/S + USB シリアル変換         ●   スイッチサイエンス社: 3,500         ●   USB シリアル変換は 700 くらい      ...
環境作り (3)NFC のカード  –   FeliCa Lite          ●   スイッチサイエンス社: 350  –   Mifare Classic  –   Mifare Ultralight          ●   Ama...
NFC カードたち  FeliCa Lite                   Mifare UltralightMifare Classic 1K                                      nimoca   ...
情報集めNFC 専門の本は ( 今のところ ) ない  –   雑誌 Interface にときどき情報が出る主にネット  –   Sony 技術情報  –   NXP 技術情報  –   NFC Forum  –   規格 ( 次ページ ) ...
規格                                          ISO 18092    ISO 14443     Mifare                                             ...
基本的なカードへのアクセス 1.リーダライタの初期化 2.リーダライタから RF を出し始める ( 搬送波 ) 3.カードの捕捉 4.カードの読み書き                   私の把握では、こうなってる。              ...
リーダライタから RF を出し始める●   搬送波がリーダライタから出る     ●   カード側のアンテナが受信           ●   電気が生まれる!                ●   カード側の OS が起動する        ...
カードの捕捉 ●   R/W からポーリングコマンドを送信       ●   カード側が応答を返す              ●   R/W が、捕捉したカード情報をレスポンスで返す                     ●   以降は、そ...
終わり方●   搬送波の圏外に出る     ●   カード側の電気が作られなくなる!           ●   おしまい                        もちろん、搬送波を止めてもよい                搬送波   ...
規格が決めている部分  無線の部分は、規定している                        決まり無し                         有線コマンド送信無線レスポンス受信    無線コマンド送信              ...
有線プロトコルの例FeliCa Lite のポーリング (InListPassiveTarget) 有線コマンド    00 00 ff 09 f7 d4 4a 01 02 00 ff ff 01 00 e0 00 有線レスポンス       ...
無線プロトコルの例InListPassiveTarget 有線コマンド   00 00 ff 09 f7 d4 4a 01 02 00 ff ff 01 00 e0 00同じプロトコルでも、規格によって呼び名が異なる    NFC Forum ...
●   カードへのアクセス方法無線プロトコル→有線プロトコルで送信   CommunicateThruEX (Sony 系 )   InDataExchange(Sony, NXP 系 )   InCommunicateThru(Sony, N...
苦労話
最初に困ったことSony の R/W を買ったのはいいが、コマンドが不明コマンド資料は、 Sony から別途購入が必要Sony の資料は、企業向けの販売しかない            もったいない・・・                     ...
RC-S956 のコマンドPaSoRi や RC-S620/S に入っているチップNXP の PN533 のコマンドと、かなり近い    PN533 のドキュメントはダウンロード可能  けっこう、そのまま使える        パラメータがわかれ...
解析をする  どうやって実現させているかわからないものは、実  際のパケットを見てみる  これは、かなり行儀が悪い・・・      というよりも、怒られるような・・・  解析の仕方      R/W との送受信データを見る      送ってきた...
その前に PaSoRiシリアルと違って、 USB なのでドライバがいるlibnfc などでアクセスしているので、簡単そうだ   適当に libusb でコマンドを転送       あ、レスポンスが返ってきた・・・libusb で PaSoRi ...
R/W との送受信データを見る (1)やりたいこと   自分の携帯電話にデータを送りたい   パソコンソフトから FALP 送信させることはできるやること   パソコンから、携帯電話に FALP 送信   PaSoRi にアクセスするデータを見...
R/W との送受信データを見る (2)USB スニファで、 USB パケットを盗み見る   後で知ったが、 wireshark なんかでもできるらしい                    こういうバイナリデータを               ...
R/W との送受信データを見る (3)バイナリデータを解析  わからないコマンドは、傾向から推測  文字コードっぽいものは、文字にしてみるまねする                赤が送信、青が受信                        ...
R/W との送受信データを見る (4)FALP 解析結果     自作ソフトで FALP 送信できるようになった。     携帯電話からのデータを受信したかったが、これは      サンプルにするデータがないため、断念備考     非常につらい...
送ってきた無線データを見る (1)昔からの懸念   IDm だけで判定するのはセキュリティ的に危険!     ・・・とは言われているものの、なんだろう?   カードエミュレーションしてみるとわかる?やりたいこと   R/W をカードとして認識し...
送ってきた無線データを見る (2)R/W チップのコマンドは、大きく分けて3系統   R/W 自身の制御用 ( 初期化とか )       RfConfiguration など   Initiator 系 (R/W としてカードに命令を出す )...
送ってきた無線データを見る (3)結果     デモをする             かざしたカードの IDm をそのままカードエミュレーションする、             というデモをやりました。備考     R/W がカードとして振る舞える...
IDm (1)製造番号 (manufacturer ID)     NFCID2システムごとに振られる     共通領域とサイバネ領域では異なる、などFeliCa Networks 社が管理 ( 確か… )     なので、「市場に出回っている...
IDm (2)NFCID だけでの識別は危険   特に NFCID2               NFCID1 は 3byte しか指定できないので。「どんなカードでも鍵にできます」というタイプ   大丈夫かしら・・・       IDm しか...
おしまい最後までおつきあいいただき、ありがとうございます。                        34 / 34
Upcoming SlideShare
Loading in …5
×

一人でもNFC開発

27,632 views

Published on

修正版

Published in: Technology
  • Dating for everyone is here: ♥♥♥ http://bit.ly/369VOVb ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ♥♥♥ http://bit.ly/369VOVb ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

一人でもNFC開発

  1. 1. 一人でも NFC 開発 ueno2012 年 3 月 3 日 hiro99ma 1 / 34
  2. 2. もくじ開発環境の準備 環境作り パソコン NFC R/W NFC カード カードへのアクセス方法苦労話 ・・・ 2 / 34
  3. 3. NFC でなにしてる?仕事でやってるわけではない単なる趣味 目標なるべくお金をかけずに! 3 / 34
  4. 4. 開発風景 NFC カードパソコン NFC リーダライタ こたつ 4 / 34
  5. 5. 環境作り (1)ホスト パソコン ● Windows XP – cygwin – VC# + SDK for NFC Starter Kit (Sony) ● どちらも無償版 ● Linux Ubuntu – gcc + libusb Android タブレット ICONIA A500 ● Android 3.2 – USB Host 機能が使える – ( 液晶画面が壊れて見えない・・・ ) 5 / 34
  6. 6. 環境作り (2)NFC のリーダライタ – Sony の RC-S370( いわゆる PaSoRi) ● Amazon : 2,500 くらい ● パソコンからは” FeliCa Port” に見える ● 開発用途ではない ( 業務用でもないみたい ) 黒パソリ 6 / 34
  7. 7. 環境作り (2)NFC のリーダライタ – Sony の RC-S620/S + USB シリアル変換 ● スイッチサイエンス社: 3,500 ● USB シリアル変換は 700 くらい ● パソコンからはシリアルポートに見える ● 開発用途 ( 組み込み用 ) 電源を逆に差して壊した… せっかくなので開いたときの写真 7 / 34
  8. 8. 環境作り (3)NFC のカード – FeliCa Lite ● スイッチサイエンス社: 350 – Mifare Classic – Mifare Ultralight ● Amazon :値段は忘れた – nimoca ● FeliCa Standard – FeliCa 入り携帯電話 ( 非スマートフォン ) ● Mobile FeliCa Chip 8 / 34
  9. 9. NFC カードたち FeliCa Lite Mifare UltralightMifare Classic 1K nimoca P906i 9 / 34
  10. 10. 情報集めNFC 専門の本は ( 今のところ ) ない – 雑誌 Interface にときどき情報が出る主にネット – Sony 技術情報 – NXP 技術情報 – NFC Forum – 規格 ( 次ページ ) – あとは検索頼み・・・ ● あまり出てこん 10 / 34
  11. 11. 規格 ISO 18092 ISO 14443 Mifare NFCIP-1 Type-A 106KbpsISO-DEP NFC-A NFC-DEP Type-B 106Kbps NFC Forum NFC-B ISO 21481 NFCIP-2 FeliCa ISO 15693 212/424Kbps NFC-V NFC-F 11 / 34
  12. 12. 基本的なカードへのアクセス 1.リーダライタの初期化 2.リーダライタから RF を出し始める ( 搬送波 ) 3.カードの捕捉 4.カードの読み書き 私の把握では、こうなってる。 そんなに間違ってないと思うが・・・ カード (PICC) 有線コマンド送信無線レスポンス受信 無線コマンド送信 リーダライタ (PCD) 有線レスポンス受信 12 / 34
  13. 13. リーダライタから RF を出し始める● 搬送波がリーダライタから出る ● カード側のアンテナが受信 ● 電気が生まれる! ● カード側の OS が起動する ● ポーリング待ちになる 有線コマンド送信 搬送波 13 / 34
  14. 14. カードの捕捉 ● R/W からポーリングコマンドを送信 ● カード側が応答を返す ● R/W が、捕捉したカード情報をレスポンスで返す ● 以降は、そのカードに対してアクセスする NFC-A/B/F でパラメータが異なる ターゲット (target) InListPassiveTarget 送信無線レスポンス受信 Polling 送信 イニシエータ (initiator) InListPassiveTarget レスポンス 14 / 34
  15. 15. 終わり方● 搬送波の圏外に出る ● カード側の電気が作られなくなる! ● おしまい もちろん、搬送波を止めてもよい 搬送波 15 / 34
  16. 16. 規格が決めている部分 無線の部分は、規定している 決まり無し 有線コマンド送信無線レスポンス受信 無線コマンド送信 有線レスポンス受信 16 / 34
  17. 17. 有線プロトコルの例FeliCa Lite のポーリング (InListPassiveTarget) 有線コマンド 00 00 ff 09 f7 d4 4a 01 02 00 ff ff 01 00 e0 00 有線レスポンス IDm 00 00 ff 18 e8 d5 4b 01 01 14 01 01 27 00 5d 19 fd 67 c0 00 f0 00 00 02 06 03 00 88 b4 d0 00 PMm SC 17 / 34
  18. 18. 無線プロトコルの例InListPassiveTarget 有線コマンド 00 00 ff 09 f7 d4 4a 01 02 00 ff ff 01 00 e0 00同じプロトコルでも、規格によって呼び名が異なる NFC Forum : SENSF_REQ JIS-X6319 : REQC ECMA-340 : Polling 規格名 上記のプロトコル名称 18 / 34
  19. 19. ● カードへのアクセス方法無線プロトコル→有線プロトコルで送信 CommunicateThruEX (Sony 系 ) InDataExchange(Sony, NXP 系 ) InCommunicateThru(Sony, NXP 系 )ライブラリを使う SDK for NFC Starter Kit (Windows) Android API (Android 2.3 以降 ) libpafe libnfc OpenNFC 他にもいろいろあります nfcpy 19 / 34
  20. 20. 苦労話
  21. 21. 最初に困ったことSony の R/W を買ったのはいいが、コマンドが不明コマンド資料は、 Sony から別途購入が必要Sony の資料は、企業向けの販売しかない もったいない・・・ 21 / 34
  22. 22. RC-S956 のコマンドPaSoRi や RC-S620/S に入っているチップNXP の PN533 のコマンドと、かなり近い PN533 のドキュメントはダウンロード可能 けっこう、そのまま使える パラメータがわかれば使えるのだが・・・ 22 / 34
  23. 23. 解析をする どうやって実現させているかわからないものは、実 際のパケットを見てみる これは、かなり行儀が悪い・・・ というよりも、怒られるような・・・ 解析の仕方 R/W との送受信データを見る 送ってきた無線データを見る 有線コマンド送信無線レスポンス受信 無線コマンド送信 有線レスポンス受信 23 / 34
  24. 24. その前に PaSoRiシリアルと違って、 USB なのでドライバがいるlibnfc などでアクセスしているので、簡単そうだ 適当に libusb でコマンドを転送 あ、レスポンスが返ってきた・・・libusb で PaSoRi 用の簡易ドライバを作成 ついでに Android 用のドライバも作成 Android 3.2 は USB Host 機能がある アプリから PaSoRi の制御ができる 24 / 34
  25. 25. R/W との送受信データを見る (1)やりたいこと 自分の携帯電話にデータを送りたい パソコンソフトから FALP 送信させることはできるやること パソコンから、携帯電話に FALP 送信 PaSoRi にアクセスするデータを見る! USB PaSoRi パソコン 25 / 34
  26. 26. R/W との送受信データを見る (2)USB スニファで、 USB パケットを盗み見る 後で知ったが、 wireshark なんかでもできるらしい こういうバイナリデータを ひたすら拾い集める 26 / 34
  27. 27. R/W との送受信データを見る (3)バイナリデータを解析 わからないコマンドは、傾向から推測 文字コードっぽいものは、文字にしてみるまねする 赤が送信、青が受信 27 / 34
  28. 28. R/W との送受信データを見る (4)FALP 解析結果 自作ソフトで FALP 送信できるようになった。 携帯電話からのデータを受信したかったが、これは サンプルにするデータがないため、断念備考 非常につらい作業だった・・・ 今なら、 SDK for NFC Starter Kit でできる SDK for NFC Starter Kit の FALP は、 Android の おサイフケータイ向けでやる方がよい。 28 / 34
  29. 29. 送ってきた無線データを見る (1)昔からの懸念 IDm だけで判定するのはセキュリティ的に危険! ・・・とは言われているものの、なんだろう? カードエミュレーションしてみるとわかる?やりたいこと R/W をカードとして認識してもらうやること RC-S620/S でカードエミュレーション 29 / 34
  30. 30. 送ってきた無線データを見る (2)R/W チップのコマンドは、大きく分けて3系統 R/W 自身の制御用 ( 初期化とか ) RfConfiguration など Initiator 系 (R/W としてカードに命令を出す ) InListPassiveTarget など Target 系 ( カードになって R/W に応答する ) カードエミュレーションは、この系統 30 / 34
  31. 31. 送ってきた無線データを見る (3)結果 デモをする かざしたカードの IDm をそのままカードエミュレーションする、 というデモをやりました。備考 R/W がカードとして振る舞える以上、サービス側が 認証付きのアクセスをするようにすべし Sony の技術情報には、 IDm のユニーク性を保証し ないことが書かれていたように思う 場所を見つけられなかった・・・ 31 / 34
  32. 32. IDm (1)製造番号 (manufacturer ID) NFCID2システムごとに振られる 共通領域とサイバネ領域では異なる、などFeliCa Networks 社が管理 ( 確か… ) なので、「市場に出回っている」カードの IDm は ほぼユニークになっていると思う ユニーク性の保証はしてないちょっと技があれば「なりすませる」 IDm のユニーク性は、識別には使えるけれども、 セキュリティとしては使えない 32 / 34
  33. 33. IDm (2)NFCID だけでの識別は危険 特に NFCID2 NFCID1 は 3byte しか指定できないので。「どんなカードでも鍵にできます」というタイプ 大丈夫かしら・・・ IDm しか見ないの? カードに自分の情報を持たないということ? 認証無しの情報しか使わないということ? 危険性を回避した上での製品であってほしい・・・ 33 / 34
  34. 34. おしまい最後までおつきあいいただき、ありがとうございます。 34 / 34

×