NFC(Near Field Communication)について整理
NFCが思っていた以上にややこしいので、可能な限り整理してみました。
NFCの概要
NFCはRFIDの一種。
RFIDは、ID情報などのデータが書き込まれたタグやカードを無線技術により非接触でコンピュータ(改札などの専用機やスマートフォンなど)に読み取らせる技術。
RFIDには、使用する無線周波数帯(135kHz以下から数GHz)や方式(電磁誘導、放射電磁界)の異なる様々な技術の総称。
NFCは、RFIDの一種であり13.56MHz帯で電磁誘導方式を作用する特定技術。
NFCには3つのモードがある。
- Reader/Writerモード
NFCはReader/Writer(コンピューター)とスマートカードやNFCタグとのやりとりするモード。例えば、交通カードなど。 - P2Pモード
NFC搭載したデバイス同士で通信するモード。例えば、NFC搭載したAndroidスマートフォン同士のやりとり(Android Beam)も可能。 - Card Emulationモード
スマートフォンなどのデバイスがスマートカードとして動作する。スマートフォンを交通カード代わりに使うサービス(例 モバイルSuica)などで利用されている。
NFCの規格
NFCの通信規格
『ISO/IEC 18092 (NFC IP-1)』と『ISO/IEC 21481 (NFC IP-2)』の2種類存在
- ISO/IEC 18092 (NFC IP-1)
早期に普及したスマートカードであるISO/IEC14443 Type A(MIFARE)やFelicaをサポート。 - ISO/IEC 21481 (NFC IP-2)
ISO/IEC 14443 (Type B) とISO/IEC 15693にも対応
NFC(非接触型)スマートカードの規格
交通カードや免許証などなどNFCの利用が最も一般的な非接触型スマートカードは、標準規格ISO/IEC 14443にてType AとType Bが規定されている。
- Type-A
日本ではあまりなじみがないが、たばこ自販機で利用されるスマートカード(TASPO)やICテレフォンカードで採用されているMIFAREが代表技術。NXP Semiconductors(旧フィリップス)が中心となり開発 - Type-B
運転免許証やマイナンバーカードで利用。 - Type-F
FelicaはISO/IEC14443には属さないが通称Type-Fと呼ばれる。交通カードやEdy、Nanaco、WAONなどで利用されている。Sonyが中心となり開発
NFCフォーラムでのNFCタグ規格
また、NFCフォーラムの規格としては、Type 1, 2, 3, 4, 5が存在。
- Type 1: ISO/IEC14443Aに準拠。
- Type 2: ISO/IEC14443Aに準拠。最も一般的に利用されており、安価。代表的なNFCタグはMIFARE UltralightやNXP Ntag2xxシリーズ。
- Type 3: Felica対応タグ。
- Type 4: ISO/IEC14443A/Bに準拠。高メモリ。代表的なNFCタグはDESFireファミリ(NXP MLFARE DESFire等)。
- Type 5: ISO/IEC15693に準拠。近年新しく追加された。
NFCの通信規格と非接触スマートカード規格の整理
NFCの規格は通信規格と非接触スマートカードの規格の関係が非常にわかりづらいが、個人的には以下の図が理解しやすい。
NFCデータフォーマット
NFCはデータ構造をNDEF(NFC Data Exchange Format)で標準規定している。
NDEFでは、プレーンテキスト、URI、JPEG、Emailなどの情報を保存、交換することができる。
非接触型スマートカードについて考える
NFCのReader/Writerモードでは非接触型スマートカードなどのNFCタグをReader/Writerであるコンピューター(改札などの専用機やスマートフォンなど)で読み書きする。
代表的な非接触型スマートカード(非接触ICカードとも呼ばれる)は、Suicaなどの交通カードやマイナンバーカード、免許証、非接触決済対応のクレジットカードなどがある。
そもそもスマートカードとは
スマートカードには接触型と非接触型があり、双方ともID情報などのデータを保管するICチップが埋め込まれている。
スマートカード内保管データのコンピューターとのやりとりは、接触型ではカード上の物理的な端子を通して電気信号で行われ、非接触型は近距離無線通信(NFC)で行われる。
※EMVコンタクトレスという規格に対応した非接触決済対応のクレジットカードは、Type A/B両対応。
アプリ層通信プロトコル
スマートカードはNFCで通信するが、アプリ層プロトコルはAPDUを利用。非接触型スマートカードも同様にAPDUでデータのやり取りや制御を行う。
接触型/非接触型スマートカードのプロトコルスタック
下位層は接触/非接触でプロトコルが異なり、アプリ層は双方ともにAPDUを採用。
NFCの規格全体像
NFC規格をフルスタックを見ると、全体を俯瞰して理解しやすい。
一言で言うと、下位層は上記の通信プロトコルを、アプリ層ではAPDUを利用し、データフォーマットはNDEF。
余談:IDなどのデータをコンピューターに読み取らせる方法という切り口で考えると・・・
データをコンピューターに読ませる方法としては、非接触型スマートカード以外に、接触型スマートカード、バーコード/QRコード、磁気ストライプがある。
決済利用の例は以下。