2014/09/08

NFCとFeliCaとおサイフケータイ

Nexus5買おうかなあ、などと思っているくらいなので、iPhoneはあまり興味がないのだが、NFCが扱えるとなると話は違ってくる。
前回はもごもごと書いたけど、なんか、iPhone6だかiWatchだかにNFCが載るとか載らないとかってことになっているので、ちょっと整理しよう。
またしても記憶の範囲で書くので、容赦なく突っ込んでいただければと。

まず、「NFC搭載」となったとき、どういう端末が出てくるか、いくつかパターンを出してみよう。
  1. NFC Forumの内容だけを搭載
  2. Type-A, Type-Bが使えるけど、FeliCaが使えない(ISO/IEC-14443)
  3. NFC-A, NFC-Fが使えるけど、NFC-Bが使えない(ISO/IEC-18092)
  4. SEが端末搭載型
  5. SEがSIM搭載型
まあ、まだあるだろうけど。

1番が、最も「NFC搭載」って感じがするかもしれないけど、おそらくみんなが期待している動作を一番やらないだろう。
Nexus7とかが、これに近いのかな。
現在、私が読むことができるNFC Forumの技術仕様書には、セキュリティのことは含まれていない。
だから、NFC Forumの内容「だけ」となると、セキュリティを扱った機能を持てないことになる(NCIにNFCEEってのがあり、それがSEとのアクセスになるっぽい感じはするが、規定はなかったと思う)
タグにタッチしたらブラウザが起動したとか、Android Beamとか、Suicaの残高が読めるとかは、ここの範囲でできる。
ただ、意外かもしれないが、HCE(Host Card Emulation)はここに入る。
CPUが介在せずにNFCチップが直接セキュアなメモリとやりとりするのが今の主流なんだけど、HCEはCPUを介在するので、ハードウェアのセキュアなメモリがいらない。
「セキュリティを扱った機能を持てない」と書いたが、それはNFC Forumが技術仕様書として書く範囲であって、そこに書かれた範囲でセキュリティのかかったデータを取り扱うことについては規定がない。データだから好きにすれば、だろう。
そういう意味では、HTTPSで通信してるから安全、というのとあまり違いはないような気はする。
問題は、HTTPSみたいにユーザの目に見える形でセキュアさがわからないことかな。

2番は、海外の端末にありそうな気がする。
このタイプの端末は、きっと4番や5番の端末だと思う。

3番は・・・そういう端末が想像できない・・・。
Type-AとかBは、ISO/IEC-14443での呼び方(たぶん)で、NFC-A, B, FはNFC Forumの呼び方。
ISO/IEC-18092ではそういう呼び名がなく、106kbpsの~、とか、212kbpsの~とかいう書き方になっている。
まあ、売られてないだろう。

4番と5番が、海外でNFCが搭載された端末の一般的なタイプじゃなかろうか。
1番で「NFC Forumにはセキュリティが含まれてない」と書いたが、NFCでセキュリティ的な部分はだいたいSE、Secure Elementが持っている。
普通、携帯電話でデータとデバイスがあると、メインのCPUがデータを取り扱って、デバイスに書いたり読んだりする。
SDカードに入っているファイルをネット上にアップするとき、SDカード用のチップがネットワークのチップと直接やりとりしたりするわけではなく、一度CPUがデータを吸い取って、それをネットワークのチップに書き込むようなものだ。
しかし、SEはNFCチップと直結していて、CPUとはつながっていない。
だから、どんなにソフト上でアクセスしたくても、NFCチップにアクセスできなかったら何もできない。
これが「Secure」のゆえんだと思っている。
image

SEは、FLASHメモリみたいな感じで端末の中に置く場合と、電話帳みたいにSIMに置く場合がある。
端末の中にあると、NFCチップとは直接つながっているので、アクセスが速い。しかし、搭載していないとアクセスできない。
SIMの中にあると、SIMチップとは通信をしてやりとりしないといけないので、アクセスは遅い。しかし、SIMは差し替えたり書き換えることができるので、拡張性がある。
例えば、私が持っている携帯電話のP906iは、モバイルFeliCaチップというNFCのチップと、基板上にFeliCaのSEが載っている。
だから、SEの中にSuicaやEdyなどが入っていれば、それを使うことができる。
しかし、NFC-AやNFC-Bの読み書きができないので、それ以外のことはできない。
その逆も然りで、SEにFeliCaが載っていなければ、それを使うことができない。
また載っていたとしても、NFC-Fの読み書きができないとアクセスできないし、アクセスできたとしてもFeliCaのSEとお話しできるアプリがなければ、何もできない。
上記の絵で言えば、日本内でFeliCaが搭載された携帯電話を使う場合には太陽のルートになるけど、FeliCaが搭載されていない場合や、FeliCaが搭載されていても相手がFeliCaに対応していないなら、鬼のルートになる。
NFCチップにしてみれば「自分が知らない人とお話ししてはいけません」ということだ。


ようやく、ここで本題に戻ろう。
「NFC搭載」となったとき、じゃあその端末ではどういうことができるの?まで確認しないといけない。
上に書いた1~5は、どれも「NFC搭載」だからだ。
FeliCaが使えるかもしれないし、おサイフケータイが使えるかもしれない。使えないかもしれない。
「NFC搭載」を謳ったときに言えるのは、13.56MHzで近接通信しますよ、ということくらいか。
それだと何だかわかりにくいので、NFC Forumで規格を作って・・・という話に戻っていく。
iPhoneがFeliCaのSEを載せるかというと、載せないような気がする。なんとなく。
かといって、SIMのSEかというと、うーん。
でも、端末にSEチップを載せるっていうのも、あんまりAppleらしくない気はする。
それならまだSIM搭載か、HCEか。
読んでたサイトの中で、予想として「2段階認証にiWatchのNFCを使うのでは」というのがあった。
http://jp.techcrunch.com/2014/09/08/20140907iwatch-payments/
真偽は知らんが、通帳と印鑑は別々に管理しましょう、ということか。
とりあえず私がなんとなく思うのは「iOSは、ユーザにはNFCに直接アクセスするAPIを提供しないだろう」ということかな。
外れてほしいんだけどねー。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。