- カードエミュレーションモード
- リーダ/ライタモード
- 相互接続モード
出所は見つけられなかったが、ここが一番近そうだ。
タグは受動型で、R/Wからデータを読み書きされる方、みたいなことを書かれている。
つまりNFCデバイスとは、NFCチップ、しかもホストCPUから制御できるような代物を指していることになる。
なんとなく、ICカードも含めているのかと思っていたので、ほほー、と思った。
モバイルFeliCaチップの場合、普通はカードエミュレーションモードで動かしている。
これはまあ、モバイルSuicaなどになっているから、感覚的にわかるであろう。
iアプリの「iCタグリーダ」は、リーダ/ライタモード。
これも、スマートポスターなんかが読み取れるので、わかりやすい。
相互接続モード。
これは英語の方がわかりやすい。peer-to-peer mode。P2P。
NFCチップ同士のデータ交換というところか。
FALPはそうなんだけど、NFC Forumの仕様でやりとりしているわけではない。
どちらかといえば、IrDA、やBluetoothでのやりとりに近い。
NFCはLLCPとなっている。
PHY-MAC-LLC、のLLCP。
ネットワークには詳しくないのだが、とにかくそのあたりだ。
さて、Nexus SにはNXPのPN544が載っている。
これはR/Wモードで動作しているようだ。
調べてはいないが、カードエミュレーションが無効にされているという。
ライブラリを見た感じでは、SWPも使えるようではあった。無効にされているかどうかはしらん。
アプリからは、Android APIでアクセスする。
一方、日本のIS-05などはFeliCaが搭載されている。
もちろん、カードエミュレーションモードで動いている。
アプリからは、FNさんが提供しているライブラリ経由のアクセスになる。
なんというか、おなじみのライブラリだ。
モバイルFeliCaチップは、NFCには対応していないらしい。
なので「カードエミュレーション」と呼んでよいのかどうかわからない。
一方、RC-S620/Sに搭載されているFeiCaチップは、NFCに対応しているようなものだと思う。
(かといって、PN544に近いわけでもないと思う。よく知らないが。)
この人がカードエミュレーションできるのは、前回書いた。
カードエミュレーションするとき、まずUIDが必要だ。
どうやるかというと、コマンドのパラメータに、Type-A、Type-B、FeliCaのUIDをすべて指定するのだ。
Type-Aはなんか制限があるけど、FeliCaのはIDmもPMmも指定する。
ポーリングすると、そのIDmやPMmが読める。
コマンドが来たら、適当に作って返すことができる。
そりゃまあ、カードエミュレーションだからな。
じゃあこれを使って電車に乗るデータを偽造してやれ!と思う人がいるかもしれないが、まあ無理だ。
理由は説明しないがね。
少なくとも、犯罪を助長する気はない。
なんでPN544をカードエミュレーションで動かせないようにしているかは推測だが、やはり怖かったからではなかろうか。
能力的には、MIFAREとして振る舞うことができるんだと思うのだ。
そういう機能があるなら、技術さえあれば試してみたくなるではないか。
そして、行き着くところまでいってしまうかもしれない。
そんな心配をするよりも、私としてはP2Pモードだけ使えるようなチップがほしいのだ。
ねー。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。