最近、スマートフォンと連携できる家電などの製品が増えてきました。これは、Androidスマートフォンが備えるNFC機能を利用したものです。

ところでNFCとは何でしょうか? NFCは、Near Field Communicationの略で、近接距離通信などとも呼ばれます。ただし、特定の規格(NFCフォーラムなどによるもの)をさす場合もあります。

一般的なNFCとは、10cm程度の非常に短い距離でのみ通信可能な無線技術です。こんな短い距離でなんかの役に立つのかと疑問に思われるかもしれませんが、ちゃんとした理由があるのです。

無線の電波は、空間を伝わるため、発信源からさまざまな方向に向かって飛びます。このため、一般的に無線通信には、無関係な第三者に受信されてしまう可能性があります。悪意を持って受信を行う「盗聴」の場合、通信の内容が悪用される可能性があります。また、受信した電波を元に「なりすまし」が行われる可能性もあります。

しかし、NFCの場合、通信可能な距離が短く、10cm程度のところまで近づかないと受信ができないのです。また、特定の方向に対してのみ電波を送受信するようにすることで「なりすまし」の可能性を低くすることができます。このため、データの送受信する側は安心して通信が行えるわけです。

このNFCとは別に世の中には無線技術を使う「非接触カード」というものがあります。JRのSuica/Icocaなどが、この非接触カードです。これらには、ソニーのFelicaをベースにした技術が使われていますが、この非接触カードとNFCは、いわば「親戚関係」にあり、そのために誤解されることもすくなくありません。非接触カードには、免許証やパスポートに使われているものなどいくつかの規格、仕様があります。

非接触カードとは、簡単にいうとNFCとICカードを一体化したものをいいます。単純に通信だけでなく、情報のやりとりの方法やカード内にどうやって保存するかなどが取り決められています。さらにいえば、こうした「非接触カード」は、RFID(RFタグ)と呼ばれる、単純なID番号を無線で読み出せる「タグ」の技術がベースになっています。RFIDは、記録されているユニークな番号だけを無線で読み出せるだけで、バーコードの代わりとして小売店の値札や商品管理などに使われています。

こうしたRFIDや非接触カードの場合、近接して利用するもの(改札などのように個々のカードを区別して利用者が意識的に読み取らせる)だけでなく、リーダーの側を通れば自動的に読み取りが完了する(たとえばゲートに近づくとドアが開いたり、商品の精算が行われるなど)といった利用方法もあります。このうち、近接利用について定めた規格がISO/IEC 14443です。またFelicaは規格にははいりませんでしたが、ISO/IEC 14443に近い技術になります。

これに対してNFCは、近接通信部分だけをコンピュータの通信に応用したものをいいます。しかし、このNFCの規格自体は、もともと非接触カードやRFIDの規格の無線部分だけを抜き出して別に規格化したものなのです。こうした規格には、ISO/IEC 18092やISO/IEC 21481があります。

そして、NFCに関しては、推進団体であるNFC Forumがあり、そこがNFC技術をとりまとめています。ここでは、ISO/IEC 18092とISO/IEC 14443とFelicaを対象にしています。NFCフォーラムによれば、コンピュータの通信技術としてのNFCには、大きく3つの機能があります(図01)。

図01:NFCフォーラムが定めたNFC技術の3大機能。右からカードエミュレーション、リード/ライトモード(ドキュメントによってはリーダー/ライターモード)、ピアツーピアモードの3つ

図の一番上にあるのがNFCの3大機能(モード)です。右端の「NFC Card Emulation Mode」は、NFCデバイスにより、「非接触カード」をまねることです。これは、Suicaに対するモバイルSuicaなどが上げられます。Suica自体は「非接触カード」で、モバイルSuicaは、NFCチップとソフトウェア、データ格納用ICなどを使って、Suicaをまねているわけです。このモードの相手は、非接触カードの「リーダー/ライター」になります。ただし、NFCフォーラムでは、非接触カードのICカード部分(データの格納や暗号化など)については、定めていません。NFCの応用の1つとして「非接触カードのエミュレーション」ができるということを示しているだけです。

中央にある「Reader/Writer Mode」は、非接触カードやタグのリーダー、ライターとなるモードです。おサイフケータイの対応スマートフォンなどで、非接触カードから残高などを読み込むなどの機能がこれにあたります。こちらの相手は、非接触カードやRFタグになります。ただし、データの暗号化や機密性の高い保存方法などについては定めておらず、非接触カードなどとのリーダー/ライターという中身を知らずに扱う部分だけを定義しています。もちろん、この上でアプリケーションを動かせば、「非接触カード」の中身を読み書きすることは不可能ではありませんが、そのためにはライセンスなどを取得してデータにアクセスする方法などを知らねばなりません。

最後は「Peer-To-Peer Mode」です。これは、NFC対応機器同士の通信です。この場合、相手は同じNFC機能を持つデバイス(ただしモバイルデバイスには限らない)になります。家電などとの接続に使われるのは、最後のPeer-To-Peer Modeになります。

さて、アンドロイドでは、米国などで販売されている機器でもNFC機能が搭載されています。これに対して、日本国内のAndroidでは、おサイフケータイの機能が入っています。

これらは一見違うようなのですが、NFCという点では、互換性があります。というのは、おサイフケータイであっても、NFC機能を搭載したチップを使うことで、他の方式のNFC通信が行えるのです。

たとえば、ソニーが昨年発表したチップを使うと、海外のNFC機能搭載デバイスともちゃんと通信が可能です。もちろん、海外のアンドロイドには、Felicaの機能が入っていないので、おサイフケータイにはなりませんが、NFCというレベルでは通信が可能なのです。

国内で販売されはじめた、NFC対応家電などでは、海外仕様のNFCを持つスマートフォン(たとえば、Galaxy Nexus)などでも通信が行えるのです。もちろん、「おサイフ」携帯仕様のスマートフォンなども、現在では、NFC部分と、安全なデータの保管方法などを分離してあり、NFCフォーラムの定める通信が可能になっています。ただし、初期に登場した「おサイフ」携帯では、NFC的な利用ができないものもあるようです。

携帯電話のW-CDMA(UMTS)系の規格団体である3GPPは、NFC通信デバイスとSIMカードを組み合わせて、「非接触カード」と同じく、安全なデータのやりとりの仕様を策定しています。NFCフォーラムとは別の動きになりますが、お互いに共存可能なようには考えられているようです。

NFCを使うと、2つの端末の間で、情報が漏れないように、「秘密」の通信を行うことができます。データを暗号化したり、電子署名などを使うことで、さらに信頼性のある情報のやりとりが可能です。これは、ユーザーがパスワードを入力するのと同じようなものです。

このため、NFCを使うことて、これまで、セキュリティのために人間が確認したり、パスワードやPINを入れるような作業を代行させることか可能です。こうした応用には、Android 4.1のアンドロイド・ビームがあります。Android 4.0で実装されたるアンドロイド・ビームは、NFCを介してデータをやりとりするものでした。NFCはデータ転送が可能ですが、その転送速度はあまり速くありません。このため、長時間、端末同士を向かい合わせにするような使い方は、ユーザーにとって面倒です。かつて多くのPCに装備されていた赤外線通信技術であるIrDAも同じように双方の機器の受発光部を向かい合わせにする必要があり、あまり便利なものではありませんでした。

Android 4.1のアンドロイド・ビームではNFCで相手を認識したのち、実際のデータ転送は、Bluetoothで行うようになっています。Bleutoothは通常の無線技術なので、おたがいの位置は関係ありません。ただし、Bluetoothのデータ転送は、信頼している機器間でのみ可能で、そのためには、「ペアリング」と呼ばれる処理を行う必要があります。アンドロイド・ビームでは、NFCでペアリングに必要な情報のみを交換し、あとは、Bluetoothでペアリングを行い、ファイル転送を行います。

NFCは、家電などとの連携も可能になりつつあり、また、端末同士で、機密を要する情報のやりとり(たとえば、暗号化キーの交換など)も可能なので、今後の普及が期待される技術です。アンドロイドでは搭載しているハードメーカーも増えつつあります。おそらく、今後登場する日本国内の「おサイフ」機能搭載のスマートフォンは、NFC対応でもあることを考えると、特に日本国内での普及率が低くなることはないともいえるので、期待の技術と考えてもいいかもしれません。

編集部注: 本稿は、2012年10月12日にAndorid情報のWeb専門誌「AndroWire」に掲載した記事を再構成したものです。