SlideShare a Scribd company logo
たぐー!
なに燃やしてるの?

エミュレーションするから
もういらないの(注)!

注)そんなことはないので、安心してください

あんまり、NDEFは関係ないです。
調べたことを忘れないよう・・・・
そんな気持ちで書いてます。
あと、主観と記憶で書いているので、
あやしいところがあると思います。
教科書的に読むのではなく、
「こう思っている人もいるんだ」
くらいの気持ちでお願いします。
月刊 NDEF 2013 年 12 月号

カードとカードエミュレーション
ここでいう「カード」は、NFC のカードだ。いつもはタグと呼ぶことが多いような気がするのだけど、カードな
のだ。そのエミュレーションをするから「カードエミュレーション」
。わかったような、わからんような。
カードというのは、だいたいこんな特徴があると思う。
・薄い
・NFCの読み書きは、する側ではなく、される側
カードエミュレーションとしてまねするのは、前者ではなく、後者。NFC のリーダライタからアクセスされたと
きに、カードっぽい振る舞いをすることを「カードエミュレーション」と呼ぶ。

ばぶぅ
赤ちゃんのふりをしたら、
ベビーエミュレーションね

何をすればいいの?
まねをしろ、といっても、なかなか難しい。何をするとエミュレーションしたことになるのだろうか?
これは、実際にどう使いたいかによって変わってくる。考え方としては、リーダライタの気持ちになれ、という
ところだ。
人の気持ちを
考えるのよ

第1段階
リーダライタは、カードがあるかどうかを検出したい。
そのために何をするかというと、搬送波を出して、カードを検出する無線
を出す。カードはそれに応答するというルールだからだ。
ならば、最初のエミュレーションとしては、カードを検出する無線を受信
したら、それに応答する無線を返すのが第一歩となる。
さて、ここで1つ問題が出てくる。

通常の NFC カードは、すごく微量の電力で動作するマイコンが載っていて、搬送波によって生じる起電力で動く
ことができる。どうなっているかは私も知らないのだけど、決まった応答をするだけで良いので、消費電力が少な
いのかな。
しかし、エミュレーションするということは、がんばってまねをしなくてはならない。
「つ、次はなにが来るん
だろう」と怯えながら、無線を待ち続けることになる。
そういう動きをするためには、ある程度の速度で動くマイコンが必要になってくる。無線を受信して、その受信
したパケットを解析して、それに応じたパケットを作り、無線で送信する。
けっこう大変でしょう?

-1-
月刊 NDEF 2013 年 12 月号

最新のパソコンレベルの処理が必要というわけではなく、昔のファミコンくらいの性能があれば何とかなると思
うが、そのくらいのレベルになると搬送波で作った電力だけで動くのは難しい。

おれは
電源なんて
いらないぜ

なので、通常のカードエミュレーションをする装置は、電源が必要になる。電源が必要になるということは、ど
こかからそれを供給してもらわなくてはならないということでもある。携帯電話に搭載されたモバイル FeliCa のよ
うに、電源がなければ動くことができないのである。
カードエミュレーションをしたいとき、その装置はカードのように持ち運べるという要求がある場合がほとんど
だろう。壁の電源プラグに接続しないと使えないカードエミュレーションの装置なんて、普通はいらないのだ。
移動式の電源、すなわち電池で動くことを考えると、いつも 100%で動作し続けていたらすぐに電池がなくなっ
てしまい、ユーザから嫌われてしまうことは想像に難くない。そこら辺までひっくるめて考えるのがカードエミュ
レーションなのだ。

第2段階
さて、無事にカードとしてリーダライタに検出してもらえたとしよう。
次はもう、リーダライタからカード情報を読み取られることだろう。
ここに来るまでに、カードの無線的な特性はだいたい伝わっているはず。NFC-A だの F だの(B は知らない)。
大きく読み書きアクセスについて分けると、認証無しと認証有りに分けられるだろう。
今のところ(2013 年 12 月)、NFC Forum ではセキュアなアクセスについての手段を公開していない。その部分は
まだメーカーの範疇にある。無線の通信なので、セキュアなアクセスをする秘密のケーブルがあるとかではなく、
プロトコルで実現するしかない。プロトコルでやるなら、認証を得てアクセスすることになるから「認証有り」と
表現した次第である。
NFC Forum の仕様にある範囲でやるなら、認証無しになる。
なので、第 2 段階は認証無しアクセスだ。
ただ、基本的なところは認証有り無しに関係はあまりない。リーダライタがパケットを送信してくるので、カー
ドエミュレーションしている側はそれを受信し、パケットを解析し、該当するデータを返すだけだ。めんどうでは
あるが、そこまで難しくはない。

簡単なお仕事よ

-2-
月刊 NDEF 2013 年 12 月号

第3段階
では、第 3 段階は認証有りアクセスとなるか。
それが必要になるのは、セキュアさが必要になるところだ。たとえばこんなところか。
・入館証での出入りチェック
・金融機関へのアクセス
・お買い物
なんとなく「そこはセキュアじゃないといかんよな」というところが、ここになる。
ひとことで「セキュア」というが、じゃあどこがどうなったらセキュアなのか?
インターネットで言えば、http はセキュアじゃなくて、https はセキュアだ、みたいなイメージがあるけど、NFC
だとそういうのが見えるわけでもないので、見分けることはほぼ無理だろう。
今のところ、カードメーカーが提供しているセキュアな手段を使った通信はセキュア、としか言えない。

人が持つという
百八のセキュアを
ここで撞くのじゃ

カードエミュレーションの実例
いくつか、例を挙げよう。

モバイルFeliCa
カードエミュレーションの筆頭格だろう。
モバイル FeliCa は、携帯電話という移動通信が可能なハードウェアがあって初めて成り立つものだ。もちろん、
ネットにつながったりしなくてもカードエミュレーションすることはできるのだが、それではお金を出す人はいな
いだろう。そういった事情をいろいろひっくるめて実現できたのがモバイル FeliCa じゃなかろうか。
モバイル FeliCa をするためには、まず携帯電話にモバイル FeliCa チップが載っている必要がある。iPhone5 なん
かがモバイル FeliCa できないのは、NFC チップを載せていないからだ。他のチップでは代用できないのである。
最近の Android 端末では NFC チップを載せているものが多い。私が持っている Nexus7 も載せているのだが、そ
れだけではモバイル FeliCa ができるわけではない。これも"今のところ"にはなるが、モバイル FeliCa を行うために
は、モバイル FeliCa ができるチップを載せていなくてはならない。
カードエミュレーションの第 3 段階、
つまりセキュアなアクセスを実現するのに、
だいたい 2 種類の方法がある。
・専用ハードウェアタイプ
・SIMタイプ
こういうのを「セキュアエレメント」と呼んでいる。

-3-

茶でも飲んで
少し休め
月刊 NDEF 2013 年 12 月号

そもそも、なんでセキュアなアクセスにタイプがあるかというと、セキュアにアクセスするためのデータをどこ
に置くかという問題があるからだ。
もし本体メモリ内に置いた場合、いくら MMU などの機構があったとしても、不正アクセスされる可能性はゼロ
ではない。極端な話、FLASH やメモリに展開されているならば、全アドレスのデータを取りあえず吸い上げて、あ
とで考えればよいだけだ。
しかし、専用ハードウェアや SIM のようなアクセスしないと取得できないような場所にデータあるならば、そう
そう簡単には取得できないし、がんばって取得してもその次にまた鍵がかかっていて・・・となって、苦労の方が
大きいのに得るものは少ない、ということになってくるんじゃないだろうか。

そこのあやしいNFCアクセス!
止まりなさい!

セキュアというところでいくと、もう 1 つ漏れるルートがある。それは、無線だ。
無線なので、届く範囲にいれば受信することは誰でもできる。NFC Forum の仕様書もあるので、それだけであれ
ばなんとかなると思う。あとは受信したデータをどうするかだが、いろいろと暗号化とかされているだろうから、
それをがんばって翻訳するしかないだろう。翻訳しても仕方ないようなデータにしているとは思うが・・・。
すまんが、私はあまりそういう方面に詳しくないので、下手な説明をするのはやめよう。
そんなわけで、セキュアエレメントを専用ハードウェアに置いているタイプと、
SIM に置いているタイプがある。
モバイル FeliCa は、前者だ。世界的には、たとえば GSM 規格などは後者を推奨していたはずだ。
SIM にデータを置く利点は、可搬性だ。SIM を差し替えれば、同じことが別の端末でできる。
しかし、SIM アクセスはプロトコルを使わなくてはならないし、SWP という 1 本線の通信で速度もそこまで上げ
られず、
「アクセスが遅い」ということになってしまう。
専用ハードウェアはその逆。NFC チップはメモリのようにセキュアエレメントを使えるため、アクセスは格段に
速い。速いのだが、チップと直結しているので物理的な移動はできない。それに「NFC チップと専用ハードウェア
を搭載してもらわないといけない」という壁が大きい。そもそも載せてもらえなくては、使ってもらうことができ
ないから。
悩みどころだ。

なにを悩んでいいかも
わかりませんわ・・・

ただモバイル FeliCa も、SIM に持っていこうとしているとのことだ。
「SIM に入れる」というのが私は具体的に
どういうことになるのかわからない。モバイル NFC チップから SIM にアクセスできるようになっていて、モバイ
ル FeliCa チップじゃなくても FeliCa として使えるようになる、などとなるのだろうかね。

-4-
月刊 NDEF 2013 年 12 月号

オムロンの医療機器
オムロンさんの製品には、NFC での通信ができるものが多い。もちろん、固定の値を返すのではなく、体温とか
血圧とか、計測した値を返すのだ。
そうした動的なデータを扱う場合、NFC タグでは実現できない。やるならば、Peer to Peer(P2P)モードでデータ
交換するか、カードエミュレーションしてカードのふりをしてデータを読み取ってもらうかになる。
カードエミュレーションの利点は、リーダライタからのアクセス要求があるまでは通信しなくてよいということ
が挙げられる。無線通信はそれなりに電力を消費するので、やらなくてよいときはやりたくないのだ。
さて、オムロンさんがどのようにしてカードエミュレーションしているか。モバイル FeliCa チップを搭載してい
るのか?

そうではない。FeliCa Plug というカードエミュレーション専用のチップを使っているのだ。

FeliCa Plug は NFC-F としてふるまう。システムコードとしては 0xFEEL か 0x12FC のどちらかしか選べないが、
それ以外は Type 3 Tag のようにアクセスできる。なので、NDEF タグとして振る舞うこともできる。
アクセスが来たかどうかは、搬送波で検知することになる。FeliCa Plug が割込信号を上げてくれるので、それが
来るまでは寝かせておけば良い。起きたら、読み書きして、搬送波がなくなったらまた寝るのだ。

搬送波は寝て待て

HCE (Host Card Emulation)
Android 4.4 で追加された HCE について触れておこう。
カードエミュレーションの前に「Host」がついている。このホストというのは、ホストマイコンの意味と考えて
よいだろう。周辺機器チップは、自分を制御するホスト役のマイコンがいることを想定していることが多い。セン
サーなんかはそうで、私データを作って投げる人、
「
あなたデータを受けとって加工する人」
のような分担になる。
NFC
チップもそうで、自分で無線の送受信などはできるけど、どういうデータを送信するかや、受信したデータをどう
するかはホストの役割なのだ。
「Host」がない場合のカードエミュレーションがどうかというと、最初の方に書いたセキュアエレメントがやる
ことになる。前述のオムロンさんの製品もセキュアエレメントがないので、ホストマイコンが行うカードエミュレ
ーションということになる。このタイプのカードエミュレーションは、セキュリティ的に少し弱くなるのかもしれ
ない。ただ、私はセキュリティのことに詳しくないし、あまり興味が無いので割愛させていただく。

セキュリティのことなんか
忘れてしまえ

-5-
月刊 NDEF 2013 年 12 月号

Android には Android Beam というデータ交換のしくみがあるし、SNEP という標準的な P2P モードを使っている
ので Windows8 などともやりとりできる。なのになぜ HCE をつけたのだろうか? 推測だが、いくら標準的とはい
え、P2P モード自体がそこまで普及したシステムじゃないからだと思う。やはり NFC といえば、リーダライタとカ
ードのアクセスというのが主流だ。最初は私も、セキュアな P2P アクセスがあればそれでいいやん、と思っていた
のだけど、世の中はそんなに甘くないようだ。
カードエミュレーションすれば、既存で動いているリーダライタでアクセスする市場に乗り込みやすくなる、と
思ったのかどうかは知らないけれども、とにかく搭載されることになったようだ。
Android 4.4 にバージョンアップすれば NFC チップが載っている機種全部がそうなるというわけでもなさそうで、
うちの Nexus7(2012)は載っていないように見える。Nexus7(2013)では動いたようだ。
なお、Android 4.4 の HCE は、どの NFC タイプでも実現できるというわけではなく、Type 4A と呼ばれる規格で
しか動作しない。なので、残念ながらトルカなんかが動かせるというわけではない。

世の中は
そんなに
甘くないぞ

HCE を使うメリットとしては、セキュアエレメントがいらない、という点に尽きる。セキュアエレメントを使い
たい、となると、そのセキュアエレメントにデータを載せる許可を誰かに得なくてはならないはずだ。
セキュアエレメントというのは共通資源のようなもので、好き勝手に使えるようにはなっていない。もしそうな
ら、セキュアでも何でも無いし。
とにかく、私みたいにセキュアエレメントに詳しくない人でも、申請がいるとかいらないとかを考えずに実現で
きる、というのがメリットなのだ。その分、セキュリティに何かあったときの責任は負わないといけないが、
「NDEF
で URL を渡す」なんて目的のためにはセキュアエレメントなんかいらないだろうから、そういう用途から始めると
よいのではなかろうかね。

-6-
月刊 NDEF 2013 年 12 月号

まとめ
久しぶりに、NFC のことを調べた気がする。
だいぶんわかったつもりになっていたが、いやいや、まだまだ。
ちょうどオライリーさんから「NFC HACKS」という本も出たことだし、も
う少し Type 4 については調べて、せめて HCE で NDEF を実現するところま
ではやってみたいものだ。

2013/12/22

-7-

More Related Content

Viewers also liked

NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読みHirokuma Ueno
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発Hirokuma Ueno
 
私とNFC(歴史編)
私とNFC(歴史編)私とNFC(歴史編)
私とNFC(歴史編)
Hirokuma Ueno
 
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるSDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるHirokuma Ueno
 
MIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsMIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsHirokuma Ueno
 
SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だったHirokuma Ueno
 
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)About FeliCa Lite(日本語)
About FeliCa Lite(日本語)Hirokuma Ueno
 
12.03.17 第1回NFC勉強会資料
12.03.17 第1回NFC勉強会資料12.03.17 第1回NFC勉強会資料
12.03.17 第1回NFC勉強会資料
Kei Nakazawa
 
避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -
Tomoki YAMASHITA
 
UIDのことわかってますか? -フォーマット編-
UIDのことわかってますか? -フォーマット編-UIDのことわかってますか? -フォーマット編-
UIDのことわかってますか? -フォーマット編-
Natsuhiko Suwamura
 
Hacking Smartcards & RFID
Hacking Smartcards & RFIDHacking Smartcards & RFID
Hacking Smartcards & RFID
Devnology
 
New Skills for the Service-Oriented IT Organization
New Skills for the Service-Oriented IT OrganizationNew Skills for the Service-Oriented IT Organization
New Skills for the Service-Oriented IT Organization
EMC
 
Thurs encomienda
Thurs encomiendaThurs encomienda
Thurs encomienda
Travis Klein
 
Portfolio
PortfolioPortfolio
Portfolio
Ye Jin Cherry
 
Price control & s d market project
Price control & s d market projectPrice control & s d market project
Price control & s d market project
Travis Klein
 
Becerrajavier a1
Becerrajavier a1Becerrajavier a1
Becerrajavier a1
Javier Becerra
 

Viewers also liked (18)

NFCの汎化
NFCの汎化NFCの汎化
NFCの汎化
 
NFCIP-1を斜め読み
NFCIP-1を斜め読みNFCIP-1を斜め読み
NFCIP-1を斜め読み
 
一人でもSNEP開発
一人でもSNEP開発一人でもSNEP開発
一人でもSNEP開発
 
私とNFC(歴史編)
私とNFC(歴史編)私とNFC(歴史編)
私とNFC(歴史編)
 
SDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみるSDK for NFC Starter Kit(2) 使ってみる
SDK for NFC Starter Kit(2) 使ってみる
 
MIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess ConditionsMIFARE ClassicのAccess Conditions
MIFARE ClassicのAccess Conditions
 
FALPとLLCP
FALPとLLCPFALPとLLCP
FALPとLLCP
 
SNEPは大変だった
SNEPは大変だったSNEPは大変だった
SNEPは大変だった
 
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)About FeliCa Lite(日本語)
About FeliCa Lite(日本語)
 
12.03.17 第1回NFC勉強会資料
12.03.17 第1回NFC勉強会資料12.03.17 第1回NFC勉強会資料
12.03.17 第1回NFC勉強会資料
 
避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -
 
UIDのことわかってますか? -フォーマット編-
UIDのことわかってますか? -フォーマット編-UIDのことわかってますか? -フォーマット編-
UIDのことわかってますか? -フォーマット編-
 
Hacking Smartcards & RFID
Hacking Smartcards & RFIDHacking Smartcards & RFID
Hacking Smartcards & RFID
 
New Skills for the Service-Oriented IT Organization
New Skills for the Service-Oriented IT OrganizationNew Skills for the Service-Oriented IT Organization
New Skills for the Service-Oriented IT Organization
 
Thurs encomienda
Thurs encomiendaThurs encomienda
Thurs encomienda
 
Portfolio
PortfolioPortfolio
Portfolio
 
Price control & s d market project
Price control & s d market projectPrice control & s d market project
Price control & s d market project
 
Becerrajavier a1
Becerrajavier a1Becerrajavier a1
Becerrajavier a1
 

More from Hirokuma Ueno

nRF51のGPIOTEについて
nRF51のGPIOTEについてnRF51のGPIOTEについて
nRF51のGPIOTEについて
Hirokuma Ueno
 
Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2
Hirokuma Ueno
 
Nordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみましたNordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみました
Hirokuma Ueno
 
About FeliCa Lite-S
About FeliCa Lite-SAbout FeliCa Lite-S
About FeliCa Lite-S
Hirokuma Ueno
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFC
Hirokuma Ueno
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRi
Hirokuma Ueno
 
NDEF Writerを使ってみよう
NDEF Writerを使ってみようNDEF Writerを使ってみよう
NDEF Writerを使ってみよう
Hirokuma Ueno
 
FeliCa Liteの片側認証
FeliCa Liteの片側認証FeliCa Liteの片側認証
FeliCa Liteの片側認証Hirokuma Ueno
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困るHirokuma Ueno
 
発券機のNFC対応
発券機のNFC対応発券機のNFC対応
発券機のNFC対応Hirokuma Ueno
 
ものに愛着を持たせる
ものに愛着を持たせるものに愛着を持たせる
ものに愛着を持たせるHirokuma Ueno
 

More from Hirokuma Ueno (15)

nRF51のGPIOTEについて
nRF51のGPIOTEについてnRF51のGPIOTEについて
nRF51のGPIOTEについて
 
Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2
 
Nordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみましたNordic nRF51822でBLEしてみました
Nordic nRF51822でBLEしてみました
 
About FeliCa Lite-S
About FeliCa Lite-SAbout FeliCa Lite-S
About FeliCa Lite-S
 
旅行カバンとNFC
旅行カバンとNFC旅行カバンとNFC
旅行カバンとNFC
 
NDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRiNDEF WriterとOSとPaSoRi
NDEF WriterとOSとPaSoRi
 
NDEF Writerを使ってみよう
NDEF Writerを使ってみようNDEF Writerを使ってみよう
NDEF Writerを使ってみよう
 
FeliCa Liteの片側認証
FeliCa Liteの片側認証FeliCa Liteの片側認証
FeliCa Liteの片側認証
 
NFC切手
NFC切手NFC切手
NFC切手
 
らくがき
らくがきらくがき
らくがき
 
NFCテルミン
NFCテルミンNFCテルミン
NFCテルミン
 
財布を忘れると困る
財布を忘れると困る財布を忘れると困る
財布を忘れると困る
 
発券機のNFC対応
発券機のNFC対応発券機のNFC対応
発券機のNFC対応
 
About FeliCa Plug
About FeliCa PlugAbout FeliCa Plug
About FeliCa Plug
 
ものに愛着を持たせる
ものに愛着を持たせるものに愛着を持たせる
ものに愛着を持たせる
 

Recently uploaded

Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 

Recently uploaded (10)

Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 

月刊NDEF 2013年12月号

  • 1.
  • 3. 月刊 NDEF 2013 年 12 月号 カードとカードエミュレーション ここでいう「カード」は、NFC のカードだ。いつもはタグと呼ぶことが多いような気がするのだけど、カードな のだ。そのエミュレーションをするから「カードエミュレーション」 。わかったような、わからんような。 カードというのは、だいたいこんな特徴があると思う。 ・薄い ・NFCの読み書きは、する側ではなく、される側 カードエミュレーションとしてまねするのは、前者ではなく、後者。NFC のリーダライタからアクセスされたと きに、カードっぽい振る舞いをすることを「カードエミュレーション」と呼ぶ。 ばぶぅ 赤ちゃんのふりをしたら、 ベビーエミュレーションね 何をすればいいの? まねをしろ、といっても、なかなか難しい。何をするとエミュレーションしたことになるのだろうか? これは、実際にどう使いたいかによって変わってくる。考え方としては、リーダライタの気持ちになれ、という ところだ。 人の気持ちを 考えるのよ 第1段階 リーダライタは、カードがあるかどうかを検出したい。 そのために何をするかというと、搬送波を出して、カードを検出する無線 を出す。カードはそれに応答するというルールだからだ。 ならば、最初のエミュレーションとしては、カードを検出する無線を受信 したら、それに応答する無線を返すのが第一歩となる。 さて、ここで1つ問題が出てくる。 通常の NFC カードは、すごく微量の電力で動作するマイコンが載っていて、搬送波によって生じる起電力で動く ことができる。どうなっているかは私も知らないのだけど、決まった応答をするだけで良いので、消費電力が少な いのかな。 しかし、エミュレーションするということは、がんばってまねをしなくてはならない。 「つ、次はなにが来るん だろう」と怯えながら、無線を待ち続けることになる。 そういう動きをするためには、ある程度の速度で動くマイコンが必要になってくる。無線を受信して、その受信 したパケットを解析して、それに応じたパケットを作り、無線で送信する。 けっこう大変でしょう? -1-
  • 4. 月刊 NDEF 2013 年 12 月号 最新のパソコンレベルの処理が必要というわけではなく、昔のファミコンくらいの性能があれば何とかなると思 うが、そのくらいのレベルになると搬送波で作った電力だけで動くのは難しい。 おれは 電源なんて いらないぜ なので、通常のカードエミュレーションをする装置は、電源が必要になる。電源が必要になるということは、ど こかからそれを供給してもらわなくてはならないということでもある。携帯電話に搭載されたモバイル FeliCa のよ うに、電源がなければ動くことができないのである。 カードエミュレーションをしたいとき、その装置はカードのように持ち運べるという要求がある場合がほとんど だろう。壁の電源プラグに接続しないと使えないカードエミュレーションの装置なんて、普通はいらないのだ。 移動式の電源、すなわち電池で動くことを考えると、いつも 100%で動作し続けていたらすぐに電池がなくなっ てしまい、ユーザから嫌われてしまうことは想像に難くない。そこら辺までひっくるめて考えるのがカードエミュ レーションなのだ。 第2段階 さて、無事にカードとしてリーダライタに検出してもらえたとしよう。 次はもう、リーダライタからカード情報を読み取られることだろう。 ここに来るまでに、カードの無線的な特性はだいたい伝わっているはず。NFC-A だの F だの(B は知らない)。 大きく読み書きアクセスについて分けると、認証無しと認証有りに分けられるだろう。 今のところ(2013 年 12 月)、NFC Forum ではセキュアなアクセスについての手段を公開していない。その部分は まだメーカーの範疇にある。無線の通信なので、セキュアなアクセスをする秘密のケーブルがあるとかではなく、 プロトコルで実現するしかない。プロトコルでやるなら、認証を得てアクセスすることになるから「認証有り」と 表現した次第である。 NFC Forum の仕様にある範囲でやるなら、認証無しになる。 なので、第 2 段階は認証無しアクセスだ。 ただ、基本的なところは認証有り無しに関係はあまりない。リーダライタがパケットを送信してくるので、カー ドエミュレーションしている側はそれを受信し、パケットを解析し、該当するデータを返すだけだ。めんどうでは あるが、そこまで難しくはない。 簡単なお仕事よ -2-
  • 5. 月刊 NDEF 2013 年 12 月号 第3段階 では、第 3 段階は認証有りアクセスとなるか。 それが必要になるのは、セキュアさが必要になるところだ。たとえばこんなところか。 ・入館証での出入りチェック ・金融機関へのアクセス ・お買い物 なんとなく「そこはセキュアじゃないといかんよな」というところが、ここになる。 ひとことで「セキュア」というが、じゃあどこがどうなったらセキュアなのか? インターネットで言えば、http はセキュアじゃなくて、https はセキュアだ、みたいなイメージがあるけど、NFC だとそういうのが見えるわけでもないので、見分けることはほぼ無理だろう。 今のところ、カードメーカーが提供しているセキュアな手段を使った通信はセキュア、としか言えない。 人が持つという 百八のセキュアを ここで撞くのじゃ カードエミュレーションの実例 いくつか、例を挙げよう。 モバイルFeliCa カードエミュレーションの筆頭格だろう。 モバイル FeliCa は、携帯電話という移動通信が可能なハードウェアがあって初めて成り立つものだ。もちろん、 ネットにつながったりしなくてもカードエミュレーションすることはできるのだが、それではお金を出す人はいな いだろう。そういった事情をいろいろひっくるめて実現できたのがモバイル FeliCa じゃなかろうか。 モバイル FeliCa をするためには、まず携帯電話にモバイル FeliCa チップが載っている必要がある。iPhone5 なん かがモバイル FeliCa できないのは、NFC チップを載せていないからだ。他のチップでは代用できないのである。 最近の Android 端末では NFC チップを載せているものが多い。私が持っている Nexus7 も載せているのだが、そ れだけではモバイル FeliCa ができるわけではない。これも"今のところ"にはなるが、モバイル FeliCa を行うために は、モバイル FeliCa ができるチップを載せていなくてはならない。 カードエミュレーションの第 3 段階、 つまりセキュアなアクセスを実現するのに、 だいたい 2 種類の方法がある。 ・専用ハードウェアタイプ ・SIMタイプ こういうのを「セキュアエレメント」と呼んでいる。 -3- 茶でも飲んで 少し休め
  • 6. 月刊 NDEF 2013 年 12 月号 そもそも、なんでセキュアなアクセスにタイプがあるかというと、セキュアにアクセスするためのデータをどこ に置くかという問題があるからだ。 もし本体メモリ内に置いた場合、いくら MMU などの機構があったとしても、不正アクセスされる可能性はゼロ ではない。極端な話、FLASH やメモリに展開されているならば、全アドレスのデータを取りあえず吸い上げて、あ とで考えればよいだけだ。 しかし、専用ハードウェアや SIM のようなアクセスしないと取得できないような場所にデータあるならば、そう そう簡単には取得できないし、がんばって取得してもその次にまた鍵がかかっていて・・・となって、苦労の方が 大きいのに得るものは少ない、ということになってくるんじゃないだろうか。 そこのあやしいNFCアクセス! 止まりなさい! セキュアというところでいくと、もう 1 つ漏れるルートがある。それは、無線だ。 無線なので、届く範囲にいれば受信することは誰でもできる。NFC Forum の仕様書もあるので、それだけであれ ばなんとかなると思う。あとは受信したデータをどうするかだが、いろいろと暗号化とかされているだろうから、 それをがんばって翻訳するしかないだろう。翻訳しても仕方ないようなデータにしているとは思うが・・・。 すまんが、私はあまりそういう方面に詳しくないので、下手な説明をするのはやめよう。 そんなわけで、セキュアエレメントを専用ハードウェアに置いているタイプと、 SIM に置いているタイプがある。 モバイル FeliCa は、前者だ。世界的には、たとえば GSM 規格などは後者を推奨していたはずだ。 SIM にデータを置く利点は、可搬性だ。SIM を差し替えれば、同じことが別の端末でできる。 しかし、SIM アクセスはプロトコルを使わなくてはならないし、SWP という 1 本線の通信で速度もそこまで上げ られず、 「アクセスが遅い」ということになってしまう。 専用ハードウェアはその逆。NFC チップはメモリのようにセキュアエレメントを使えるため、アクセスは格段に 速い。速いのだが、チップと直結しているので物理的な移動はできない。それに「NFC チップと専用ハードウェア を搭載してもらわないといけない」という壁が大きい。そもそも載せてもらえなくては、使ってもらうことができ ないから。 悩みどころだ。 なにを悩んでいいかも わかりませんわ・・・ ただモバイル FeliCa も、SIM に持っていこうとしているとのことだ。 「SIM に入れる」というのが私は具体的に どういうことになるのかわからない。モバイル NFC チップから SIM にアクセスできるようになっていて、モバイ ル FeliCa チップじゃなくても FeliCa として使えるようになる、などとなるのだろうかね。 -4-
  • 7. 月刊 NDEF 2013 年 12 月号 オムロンの医療機器 オムロンさんの製品には、NFC での通信ができるものが多い。もちろん、固定の値を返すのではなく、体温とか 血圧とか、計測した値を返すのだ。 そうした動的なデータを扱う場合、NFC タグでは実現できない。やるならば、Peer to Peer(P2P)モードでデータ 交換するか、カードエミュレーションしてカードのふりをしてデータを読み取ってもらうかになる。 カードエミュレーションの利点は、リーダライタからのアクセス要求があるまでは通信しなくてよいということ が挙げられる。無線通信はそれなりに電力を消費するので、やらなくてよいときはやりたくないのだ。 さて、オムロンさんがどのようにしてカードエミュレーションしているか。モバイル FeliCa チップを搭載してい るのか? そうではない。FeliCa Plug というカードエミュレーション専用のチップを使っているのだ。 FeliCa Plug は NFC-F としてふるまう。システムコードとしては 0xFEEL か 0x12FC のどちらかしか選べないが、 それ以外は Type 3 Tag のようにアクセスできる。なので、NDEF タグとして振る舞うこともできる。 アクセスが来たかどうかは、搬送波で検知することになる。FeliCa Plug が割込信号を上げてくれるので、それが 来るまでは寝かせておけば良い。起きたら、読み書きして、搬送波がなくなったらまた寝るのだ。 搬送波は寝て待て HCE (Host Card Emulation) Android 4.4 で追加された HCE について触れておこう。 カードエミュレーションの前に「Host」がついている。このホストというのは、ホストマイコンの意味と考えて よいだろう。周辺機器チップは、自分を制御するホスト役のマイコンがいることを想定していることが多い。セン サーなんかはそうで、私データを作って投げる人、 「 あなたデータを受けとって加工する人」 のような分担になる。 NFC チップもそうで、自分で無線の送受信などはできるけど、どういうデータを送信するかや、受信したデータをどう するかはホストの役割なのだ。 「Host」がない場合のカードエミュレーションがどうかというと、最初の方に書いたセキュアエレメントがやる ことになる。前述のオムロンさんの製品もセキュアエレメントがないので、ホストマイコンが行うカードエミュレ ーションということになる。このタイプのカードエミュレーションは、セキュリティ的に少し弱くなるのかもしれ ない。ただ、私はセキュリティのことに詳しくないし、あまり興味が無いので割愛させていただく。 セキュリティのことなんか 忘れてしまえ -5-
  • 8. 月刊 NDEF 2013 年 12 月号 Android には Android Beam というデータ交換のしくみがあるし、SNEP という標準的な P2P モードを使っている ので Windows8 などともやりとりできる。なのになぜ HCE をつけたのだろうか? 推測だが、いくら標準的とはい え、P2P モード自体がそこまで普及したシステムじゃないからだと思う。やはり NFC といえば、リーダライタとカ ードのアクセスというのが主流だ。最初は私も、セキュアな P2P アクセスがあればそれでいいやん、と思っていた のだけど、世の中はそんなに甘くないようだ。 カードエミュレーションすれば、既存で動いているリーダライタでアクセスする市場に乗り込みやすくなる、と 思ったのかどうかは知らないけれども、とにかく搭載されることになったようだ。 Android 4.4 にバージョンアップすれば NFC チップが載っている機種全部がそうなるというわけでもなさそうで、 うちの Nexus7(2012)は載っていないように見える。Nexus7(2013)では動いたようだ。 なお、Android 4.4 の HCE は、どの NFC タイプでも実現できるというわけではなく、Type 4A と呼ばれる規格で しか動作しない。なので、残念ながらトルカなんかが動かせるというわけではない。 世の中は そんなに 甘くないぞ HCE を使うメリットとしては、セキュアエレメントがいらない、という点に尽きる。セキュアエレメントを使い たい、となると、そのセキュアエレメントにデータを載せる許可を誰かに得なくてはならないはずだ。 セキュアエレメントというのは共通資源のようなもので、好き勝手に使えるようにはなっていない。もしそうな ら、セキュアでも何でも無いし。 とにかく、私みたいにセキュアエレメントに詳しくない人でも、申請がいるとかいらないとかを考えずに実現で きる、というのがメリットなのだ。その分、セキュリティに何かあったときの責任は負わないといけないが、 「NDEF で URL を渡す」なんて目的のためにはセキュアエレメントなんかいらないだろうから、そういう用途から始めると よいのではなかろうかね。 -6-
  • 9. 月刊 NDEF 2013 年 12 月号 まとめ 久しぶりに、NFC のことを調べた気がする。 だいぶんわかったつもりになっていたが、いやいや、まだまだ。 ちょうどオライリーさんから「NFC HACKS」という本も出たことだし、も う少し Type 4 については調べて、せめて HCE で NDEF を実現するところま ではやってみたいものだ。 2013/12/22 -7-