Submit Search
一人でもNFC開発
17 likes
23,725 views
Hirokuma Ueno
修正版
Technology
Read more
1 of 34
Download now
Downloaded 95 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Most read
29
30
31
Most read
32
33
34
Most read
More Related Content
PDF
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
PDF
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
PDF
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
PPTX
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
PPTX
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
Deep Learning JP
PDF
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
PDF
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
PDF
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
Deep Learning JP
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
What's hot
(20)
PDF
ELFの動的リンク
7shi
PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
PDF
TLS, HTTP/2演習
shigeki_ohtsu
PDF
Rust で RTOS を考える
ryuz88
PDF
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
PDF
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
PDF
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
Life Robotics
PDF
20210925_jazug_azure_what_to_do_first
TomoakiOno
PPTX
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
PDF
Serf / Consul 入門 ~仕事を楽しくしよう~
Masahito Zembutsu
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
PDF
できる!並列・並行プログラミング
Preferred Networks
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
PPTX
ConfD で Linux にNetconfを喋らせてみた
Akira Iwamoto
PPTX
initとプロセス再起動
Takashi Takizawa
PDF
Linux女子部 systemd徹底入門
Etsuji Nakai
PDF
AS45679 on FreeBSD
Tomocha Potter
PDF
Quine・難解プログラミングについて
mametter
PDF
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
PDF
BGP Unnumbered で遊んでみた
akira6592
ELFの動的リンク
7shi
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
TLS, HTTP/2演習
shigeki_ohtsu
Rust で RTOS を考える
ryuz88
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
Life Robotics
20210925_jazug_azure_what_to_do_first
TomoakiOno
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
Serf / Consul 入門 ~仕事を楽しくしよう~
Masahito Zembutsu
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
できる!並列・並行プログラミング
Preferred Networks
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
ConfD で Linux にNetconfを喋らせてみた
Akira Iwamoto
initとプロセス再起動
Takashi Takizawa
Linux女子部 systemd徹底入門
Etsuji Nakai
AS45679 on FreeBSD
Tomocha Potter
Quine・難解プログラミングについて
mametter
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
BGP Unnumbered で遊んでみた
akira6592
Ad
Similar to 一人でもNFC開発
(20)
PPTX
NFC元年 ~AndroidからみたNFCについて~
Kouta Imanaka
PDF
Android NFCアプリハンズオン
Tomoki YAMASHITA
PDF
About nfc
treby
PPT
201104016 osc2011 kobe
Yamauchi isamu
PPTX
福岡NFC勉強会
treby
PDF
FALPとLLCP
Hirokuma Ueno
PDF
About FeliCa Plug
Hirokuma Ueno
PDF
月刊NDEF 2013年3月号(卒業号)
Hirokuma Ueno
PDF
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
CODE BLUE
PDF
Kernel vm-2014-05-25
Hirochika Asai
PPT
20110715 osc2011 kyoto
Yamauchi isamu
PPTX
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM,INC
PDF
私とNFC(歴史編)
Hirokuma Ueno
PDF
IC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCa
Isao Soma
PDF
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
CRI Japan, Inc.
PDF
About FeliCa Lite(日本語)
Hirokuma Ueno
PPT
FeliCa/NFCの概説とAndroidの対応状況
Isao Soma
PDF
NFCIP-1を斜め読み
Hirokuma Ueno
PPTX
ARPトラブルあるある JANOG38 LT
一清 井上
PDF
13apr2013 kernelvm8-main
Shotaro Uchida
NFC元年 ~AndroidからみたNFCについて~
Kouta Imanaka
Android NFCアプリハンズオン
Tomoki YAMASHITA
About nfc
treby
201104016 osc2011 kobe
Yamauchi isamu
福岡NFC勉強会
treby
FALPとLLCP
Hirokuma Ueno
About FeliCa Plug
Hirokuma Ueno
月刊NDEF 2013年3月号(卒業号)
Hirokuma Ueno
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
CODE BLUE
Kernel vm-2014-05-25
Hirochika Asai
20110715 osc2011 kyoto
Yamauchi isamu
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM,INC
私とNFC(歴史編)
Hirokuma Ueno
IC CARD WORLD 2011 - Sony Android tablet & NFC/FeliCa
Isao Soma
汎用LoRaWANセンサノード LSN50 -V2日本語マニュアル
CRI Japan, Inc.
About FeliCa Lite(日本語)
Hirokuma Ueno
FeliCa/NFCの概説とAndroidの対応状況
Isao Soma
NFCIP-1を斜め読み
Hirokuma Ueno
ARPトラブルあるある JANOG38 LT
一清 井上
13apr2013 kernelvm8-main
Shotaro Uchida
Ad
More from Hirokuma Ueno
(20)
PDF
nRF51のGPIOTEについて
Hirokuma Ueno
PDF
Nordic nRF51822でBLEしてみました 2
Hirokuma Ueno
PDF
Nordic nRF51822でBLEしてみました
Hirokuma Ueno
PDF
About FeliCa Lite-S
Hirokuma Ueno
PDF
月刊NDEF 2013年12月号
Hirokuma Ueno
PDF
月刊NDEF 2013年8月号
Hirokuma Ueno
PDF
月刊NDEF 5月号
Hirokuma Ueno
PDF
月刊NDEF 2013年 1、2、3月号
Hirokuma Ueno
PDF
旅行カバンとNFC
Hirokuma Ueno
PDF
NDEF WriterとOSとPaSoRi
Hirokuma Ueno
PDF
NDEF Writerを使ってみよう
Hirokuma Ueno
PDF
月刊NDEF 2013年2月号(臨時号)
Hirokuma Ueno
PDF
月刊NDEF 2013年1月号
Hirokuma Ueno
ODP
MIFARE ClassicのAccess Conditions
Hirokuma Ueno
PPT
FeliCa Liteの片側認証
Hirokuma Ueno
PDF
SNEPは大変だった
Hirokuma Ueno
PDF
NFC切手
Hirokuma Ueno
PDF
NFCの汎化
Hirokuma Ueno
PDF
一人でもSNEP開発
Hirokuma Ueno
PDF
らくがき
Hirokuma Ueno
nRF51のGPIOTEについて
Hirokuma Ueno
Nordic nRF51822でBLEしてみました 2
Hirokuma Ueno
Nordic nRF51822でBLEしてみました
Hirokuma Ueno
About FeliCa Lite-S
Hirokuma Ueno
月刊NDEF 2013年12月号
Hirokuma Ueno
月刊NDEF 2013年8月号
Hirokuma Ueno
月刊NDEF 5月号
Hirokuma Ueno
月刊NDEF 2013年 1、2、3月号
Hirokuma Ueno
旅行カバンとNFC
Hirokuma Ueno
NDEF WriterとOSとPaSoRi
Hirokuma Ueno
NDEF Writerを使ってみよう
Hirokuma Ueno
月刊NDEF 2013年2月号(臨時号)
Hirokuma Ueno
月刊NDEF 2013年1月号
Hirokuma Ueno
MIFARE ClassicのAccess Conditions
Hirokuma Ueno
FeliCa Liteの片側認証
Hirokuma Ueno
SNEPは大変だった
Hirokuma Ueno
NFC切手
Hirokuma Ueno
NFCの汎化
Hirokuma Ueno
一人でもSNEP開発
Hirokuma Ueno
らくがき
Hirokuma Ueno
一人でもNFC開発
1.
一人でも NFC 開発
ueno 2012 年 3 月 3 日 hiro99ma 1 / 34
2.
もくじ 開発環境の準備 環境作り
パソコン NFC R/W NFC カード カードへのアクセス方法 苦労話 ・・・ 2 / 34
3.
NFC でなにしてる? 仕事でやってるわけではない 単なる趣味
目標 なるべくお金をかけずに! 3 / 34
4.
開発風景
NFC カード パソコン NFC リーダライタ こたつ 4 / 34
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.
環境作り (2) NFC のリーダライタ
– Sony の RC-S370( いわゆる PaSoRi) ● Amazon : 2,500 くらい ● パソコンからは” FeliCa Port” に見える ● 開発用途ではない ( 業務用でもないみたい ) 黒パソリ 6 / 34
7.
環境作り (2) NFC のリーダライタ
– Sony の RC-S620/S + USB シリアル変換 ● スイッチサイエンス社: 3,500 ● USB シリアル変換は 700 くらい ● パソコンからはシリアルポートに見える ● 開発用途 ( 組み込み用 ) 電源を逆に差して壊した… せっかくなので開いたときの写真 7 / 34
8.
環境作り (3) NFC のカード
– FeliCa Lite ● スイッチサイエンス社: 350 – Mifare Classic – Mifare Ultralight ● Amazon :値段は忘れた – nimoca ● FeliCa Standard – FeliCa 入り携帯電話 ( 非スマートフォン ) ● Mobile FeliCa Chip 8 / 34
9.
NFC カードたち
FeliCa Lite Mifare Ultralight Mifare Classic 1K nimoca P906i 9 / 34
10.
情報集め NFC 専門の本は (
今のところ ) ない – 雑誌 Interface にときどき情報が出る 主にネット – Sony 技術情報 – NXP 技術情報 – NFC Forum – 規格 ( 次ページ ) – あとは検索頼み・・・ ● あまり出てこん 10 / 34
11.
規格
ISO 18092 ISO 14443 Mifare NFCIP-1 Type-A 106Kbps ISO-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.
基本的なカードへのアクセス 1.リーダライタの初期化 2.リーダライタから
RF を出し始める ( 搬送波 ) 3.カードの捕捉 4.カードの読み書き 私の把握では、こうなってる。 そんなに間違ってないと思うが・・・ カード (PICC) 有線コマンド送信 無線レスポンス受信 無線コマンド送信 リーダライタ (PCD) 有線レスポンス受信 12 / 34
13.
リーダライタから RF を出し始める ●
搬送波がリーダライタから出る ● カード側のアンテナが受信 ● 電気が生まれる! ● カード側の OS が起動する ● ポーリング待ちになる 有線コマンド送信 搬送波 13 / 34
14.
カードの捕捉 ●
R/W からポーリングコマンドを送信 ● カード側が応答を返す ● R/W が、捕捉したカード情報をレスポンスで返す ● 以降は、そのカードに対してアクセスする NFC-A/B/F でパラメータが異なる ターゲット (target) InListPassiveTarget 送信 無線レスポンス受信 Polling 送信 イニシエータ (initiator) InListPassiveTarget レスポンス 14 / 34
15.
終わり方 ●
搬送波の圏外に出る ● カード側の電気が作られなくなる! ● おしまい もちろん、搬送波を止めてもよい 搬送波 15 / 34
16.
規格が決めている部分 無線の部分は、規定している
決まり無し 有線コマンド送信 無線レスポンス受信 無線コマンド送信 有線レスポンス受信 16 / 34
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.
無線プロトコルの例 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.
●
カードへのアクセス方法 無線プロトコル→有線プロトコルで送信 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.
苦労話
21.
最初に困ったこと Sony の R/W
を買ったのはいいが、コマンドが不明 コマンド資料は、 Sony から別途購入が必要 Sony の資料は、企業向けの販売しかない もったいない・・・ 21 / 34
22.
RC-S956 のコマンド PaSoRi や
RC-S620/S に入っているチップ NXP の PN533 のコマンドと、かなり近い PN533 のドキュメントはダウンロード可能 けっこう、そのまま使える パラメータがわかれば使えるのだが・・・ 22 / 34
23.
解析をする どうやって実現させているかわからないものは、実
際のパケットを見てみる これは、かなり行儀が悪い・・・ というよりも、怒られるような・・・ 解析の仕方 R/W との送受信データを見る 送ってきた無線データを見る 有線コマンド送信 無線レスポンス受信 無線コマンド送信 有線レスポンス受信 23 / 34
24.
その前に PaSoRi シリアルと違って、 USB
なのでドライバがいる libnfc などでアクセスしているので、簡単そうだ 適当に libusb でコマンドを転送 あ、レスポンスが返ってきた・・・ libusb で PaSoRi 用の簡易ドライバを作成 ついでに Android 用のドライバも作成 Android 3.2 は USB Host 機能がある アプリから PaSoRi の制御ができる 24 / 34
25.
R/W との送受信データを見る (1) やりたいこと
自分の携帯電話にデータを送りたい パソコンソフトから FALP 送信させることはできる やること パソコンから、携帯電話に FALP 送信 PaSoRi にアクセスするデータを見る! USB PaSoRi パソコン 25 / 34
26.
R/W との送受信データを見る (2) USB
スニファで、 USB パケットを盗み見る 後で知ったが、 wireshark なんかでもできるらしい こういうバイナリデータを ひたすら拾い集める 26 / 34
27.
R/W との送受信データを見る (3) バイナリデータを解析
わからないコマンドは、傾向から推測 文字コードっぽいものは、文字にしてみる まねする 赤が送信、青が受信 27 / 34
28.
R/W との送受信データを見る (4) FALP
解析結果 自作ソフトで FALP 送信できるようになった。 携帯電話からのデータを受信したかったが、これは サンプルにするデータがないため、断念 備考 非常につらい作業だった・・・ 今なら、 SDK for NFC Starter Kit でできる SDK for NFC Starter Kit の FALP は、 Android の おサイフケータイ向けでやる方がよい。 28 / 34
29.
送ってきた無線データを見る (1) 昔からの懸念
IDm だけで判定するのはセキュリティ的に危険! ・・・とは言われているものの、なんだろう? カードエミュレーションしてみるとわかる? やりたいこと R/W をカードとして認識してもらう やること RC-S620/S でカードエミュレーション 29 / 34
30.
送ってきた無線データを見る (2) R/W チップのコマンドは、大きく分けて3系統
R/W 自身の制御用 ( 初期化とか ) RfConfiguration など Initiator 系 (R/W としてカードに命令を出す ) InListPassiveTarget など Target 系 ( カードになって R/W に応答する ) カードエミュレーションは、この系統 30 / 34
31.
送ってきた無線データを見る (3) 結果
デモをする かざしたカードの IDm をそのままカードエミュレーションする、 というデモをやりました。 備考 R/W がカードとして振る舞える以上、サービス側が 認証付きのアクセスをするようにすべし Sony の技術情報には、 IDm のユニーク性を保証し ないことが書かれていたように思う 場所を見つけられなかった・・・ 31 / 34
32.
IDm (1) 製造番号 (manufacturer
ID) NFCID2 システムごとに振られる 共通領域とサイバネ領域では異なる、など FeliCa Networks 社が管理 ( 確か… ) なので、「市場に出回っている」カードの IDm は ほぼユニークになっていると思う ユニーク性の保証はしてない ちょっと技があれば「なりすませる」 IDm のユニーク性は、識別には使えるけれども、 セキュリティとしては使えない 32 / 34
33.
IDm (2) NFCID だけでの識別は危険
特に NFCID2 NFCID1 は 3byte しか指定できないので。 「どんなカードでも鍵にできます」というタイプ 大丈夫かしら・・・ IDm しか見ないの? カードに自分の情報を持たないということ? 認証無しの情報しか使わないということ? 危険性を回避した上での製品であってほしい・・・ 33 / 34
34.
おしまい 最後までおつきあいいただき、ありがとうございます。
34 / 34
Download