電子マネー普及促進協会

NFC/FeliCa対応電子マネー端末開発時の注意事項（ガイドライン） ～Version 1.1～
March 1st, 2019

電子マネー普及促進協会

変更履歴
Ver年月日1.0

1 June 2016

新規発行

1 March 2019

Web公開に伴い、P2「はじめに」を新規追加、
P16、P20 【原因】の表現を見直し
P28「参考文献」を修正
巻末問い合わせ先を削除（Webサイト上へ移行）

1.1

電子マネー普及促進協会

説明

1

はじめに
本書は、NFCフォーラム規格およびFeliCa規格に対応した電子マネー対応機器を開発する上で考慮するべき事項を記載しています。
また、FeliCa規格およびEMV規格に対応した電子マネー対応機器を開発する際の注意事項も記載しています。

••••「FeliCa」は、ソニー株式会社の登録商標です。
「FeliCa」は、ソニー株式会社が開発した非接触ICカード技術方式です。
「EMV」は、EMVCo, LLC.の登録商標です。
その他、本書中の会社名や商品名は、該当する各社の商標または登録商標です。

電子マネー普及促進協会

2課題A：規格差異があり、今後の課題認識を必要とするもの
FeliCa
規格

NFC
Forum

NFC-FのワイルドカードPolling

無あり

A-2

リセットに必要な搬送波停止時間

無あり
5.1ms以上

A-3

NFC-FのパケットFrameにおける終端判断

あり

あり

A-4

リーダライタの最大出力磁界強度あり

あり

項番

概要

A-1

電子マネー普及促進協会

3課題B：規格化されていないため実装に依存しており、今後の課題認識を必要とするもの
項番

概要

FeliCa
規格

NFC
Forum

B-1

磁界発生衝突時の回避ルール

無

無

B-2

デバイス同士お互いがリーダライタとして動作し通信に失敗する際の回避策

無

無

B-3

搬送波消失時のシャットダウン処理時間

無

無

B-4

複数のシステムにアクセスする際の注意事項①

無無

B-5

複数のシステムにアクセスする際の注意事項②

無無

B-6

アプリケーション処理と無関係にミドルウェアやドライバが実行する媒体の存在確認に対する対応

無

無

電子マネー普及促進協会

4課題C：規格はあるが、注意を必要とするもの

項番

概要

EMV
規格

FeliCaNFC
規格
Forum

C-1

媒体側がNFC-A、B、F対応時の捕捉処理①

あり

無無

C-2

媒体側がNFC-A、B、F対応時の捕捉処理②

あり

無無

C-3

Pollingコマンドのサイズ（6バイト）あり

あり

C-4

媒体のガードタイムの考慮ありあり

電子マネー普及促進協会-5

課題A-1：NFC-FのワイルドカードPolling
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
中（該当する機種のモバイル端末では決済できない）

発生事象
NFC Forum規格準拠のモバイル端末が、FeliCa Pollingに対して反応しない

原因
リーダライタが、ワイルドカードPolling（システムコードFFFFh＋ リクエストコード00h）を行った場合、 NFC Forum規格準拠のモバイル端末が、P2Pモードで応答するため対応策
FeliCa Polling時、利用するサービスのシステムコードを指定する
ワイルドカードPolling（システムコード=FFFFh）を行う場合、リクエストコード=01hを指定する
電子マネー普及促進協会

6

課題A-2：リセットに必要な搬送波停止時間
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
中（該当する機種のモバイル端末では決済できない）

発生事象
通信方式（NFC-A、B、F等）の切替や相互認証のリセットのため、リーダライタが搬送波のOFF/ONを行っても、 NFC Forum規格準拠のモバイル端末が、その後のFeliCa Pollingに対して反応しない

原因
NFC Forum規格では、5.1msec以上の磁界消失で媒体をリセットする仕様となっているため対応策
媒体のリセットを行いたい場合、リーダライタは、搬送波停止後5.1msec以上たってから搬送波の再送出を行う
電子マネー普及促進協会

7

課題A-3：NFC-FのパケットFrameにおける終端判断
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度

小（周辺環境等により、決済できない場合がある）

発生事象
リーダライタが、周辺環境（ノイズ）の影響等により、 NFC Forum規格準拠のモバイル端末からの応答が受信できず、決済できない

原因
NFC Forum規格では、コマンドの終端を「信号が無いこと（無変調）」で確認する仕様となっていることから、ノイズがデータとして誤認識されるため

電子マネー普及促進協会

8

課題A-3：NFC-FのパケットFrameにおける終端判断
NFC-A、B、Fのパケットフレームと終端確認方法の違い
NFC-A

１
１st byteSP

2nd bytend byte

P

P E

１０・・・
信号が無い（無変調）
で終端を判断

NFC-B

１SOF

Data

EOF

００・・・
信号が無い（無変調）
で終端を判断NFC-F(FeliCa)
Preamble

SYNC

LengthData

コマンドサイズ（Length）
から終端を判断

CRC

NFC-A、BとFでは、規格上、終端判断の定義が異なる

対応策
リーダライタが、NFC-F（FeliCa）通信を処理する場合、受信したパケットデータのデータ長（Length）をもとに、終端判断を行う
電子マネー普及促進協会

9

課題A-４：リーダライタの最大出力磁界強度
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
大（媒体の破壊）発生事象
NFC Forum規格準拠のモバイル端末が、リーダライタにタッチされた場合、壊れる（可能性がある）

原因
NFC Forum規格では、磁界強度を7.5A/m以内と規定しているため（FeliCa規格では、11A/m以内）

対応策
リーダライタの磁界強度を、7.5A/ｍ以内とする

電子マネー普及促進協会

10課題B-1：磁界発生衝突時の回避ルール
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
小（複数のリーダライタを近くに設置している際、決済できない場合がある）

発生事象
NFC Forum規格が規定するRFCA（ RF Collision Avoidance）を実装したリーダライタを含む複数台のリーダライタを設置した際に、決済処理を開始できないリーダライタが出てくる

原因
NFC Forum規格では、自分が搬送波の送出を開始する前に、周りにある磁界を確認し、相手の磁界が確認されている間は、自分が搬送波の送出を開始できない仕様となっているため対応策

リーダライタの仕様として、常時Polling（搬送波ON状態）をしない

RFCAを実装したリーダライタを含む複数のリーダライタを１つの場所に設置する場合、端末同士の磁界が干渉しないような設置方法とする（参考値：各端末アンテナセンター間200㎜位）
電子マネー普及促進協会

11課題B-2：デバイス同士お互いがリーダライタとして動作し通信に失敗する際の回避策
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
中（該当する機種のモバイル端末では決済できない）

発生事象
決済処理中にリーダライタが搬送波のOFF/ONを行うと、対向のNFC Forum規格準拠のモバ
イル端末がリーダライタに切替わり、決済処理に失敗する

原因
NFC Forum規格準拠のモバイル端末は、リーダライタの搬送波OFFを検知すると、リーダライタとして搬送波を生成し始め、お互いリーダライタとなるため対応策

決済処理中に搬送波のOFF/ONを実施しない
決済処理中に搬送波のOFF/ONを実施する場合、搬送波をONした後、対向のNFCForum規格準拠のモバイル端末がコマンド受信可能となるまで再送を行う（参考値：モバイ
ル端末に依存するが、約300ms位）

電子マネー普及促進協会

12課題B-3：搬送波消失時のシャットダウン処理時間
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
中（該当する機種のモバイル端末では決済できない）

発生事象
決済処理中にリーダライタが搬送波のOFF/ONを行うと、対向のモバイル端末の一部においてシャットダウン処理が行われるため、決済処理に失敗する

原因
一部のモバイル端末に搭載されているICチップには、リーダライタからの搬送波がOFFになると、シャットダウン処理が行われコマンド受信不可となるものがあるため対応策

決済処理中に搬送波のOFF/ONを実施しない
決済処理中に搬送波のOFF/ONを実施する場合、搬送波をONした後、当該のモバイル端末がコマンド受信可能となるまで再送を行う（参考値：シャットダウン処理時間約30ms＋媒体の最大起動時間20.4ms＝約50.4ms）

電子マネー普及促進協会

13課題B-4：複数のシステムにアクセスする際の注意事項①
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
中（該当するサービスを利用しているモバイル端末では決済できない）

発生事象
NFC Forum規格準拠のモバイル端末では、複数のシステムにアクセスする際、アクセスしたいシステムに対してPollingを直前に行わずコマンドを送信をすると、決済処理に失敗する

原因
NFC Forum規格準拠のモバイル端末は、直前にPollingに応答したシステムを宛先に指定して、コマンドの送信先として確定されるため対応策

決済処理中に異なるシステムにアクセスする際、アクセスしたいシステムに対して必ず直前にPollingを行い、応答を得てから当該システムに対するコマンドを送信する

電子マネー普及促進協会

14課題B-4【対応策実装例】【問題の発生する可能性がある実装例】【対応策の実装例】

リーダ／ライタリーダ／ライタNFC Forumデバイス

NFC Forumデバイス

Polling システムX

Polling システムX

IDｍ=NFCID2-X

IDｍ=NFCID2-X
Request Service IDm=NFCID2-X

Polling システムY
IDｍ=NFCID2-Y

Response

Request service IDm=NFCID2-Y
Response
Request Service IDm=NFCID2-X

エラー発生

電子マネー普及促進協会

Polling システムY
IDｍ=NFCID2-Y
Request service IDm=NFCID2-Y

Response

15

課題B-5：複数のシステムにアクセスする際の注意事項②
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
中（該当するサービスを利用しているモバイル端末では決済できない）

発生事象
NFC Forum規格準拠のモバイル端末では、複数のシステムにアクセスする際、アクセスしたいシステムに対してPollingを直前に行わずにRequest System Codeコマンドを送信をすると、決済処理に失敗する

原因

FeliCa規格で規定するRequest System Codeコマンドは、NFC Forumデバイス内の全てのシステムコードを検索できない場合があるため対応策

Request System Codeコマンドを使ったシステムコード検索をする場合、アクセスしたいシステ
ムに対して必ず直前にPollingを行い、応答を得てから当該システムに対するコマンドを送信する

電子マネー普及促進協会

16

課題B-6：アプリケーション処理と無関係にミドルウェアやドライバが実行する媒体の存在確認に対する対応

対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
中（該当する機種のモバイル端末では決済できない）

発生事象
Android OSをベースにしたリーダライタでは、決済処理中に長時間コマンドの受信がないと媒体が存在しなくなったと誤認識をしたり、媒体との相互認証状態を解除するケースがあり、決済処理が継続できなくなる

原因

アプリケーションからの決済コマンドとは別に Android OS側のミドルウェアやドライバが、一定時間を越えるとワイルドカードPolling（FFFFh）による媒体の存在確認を行うため対応策
Android OSに実装されているワイルドカードPollingによる存在確認の周期を十分長くするようにアプリケーションで設定する（設定可能Ver：Android4.4以降）
電子マネー普及促進協会

17課題B-6：アプリケーション処理と無関係にミドルウェアやドライバが実行する媒体の存在確認に対する対応媒体が存在しなくなったと誤認識するケース

アプリと無関係に一定間隔経過後に実行される存在確認

リーダライタアプリケーション

ミドルウェアやドライバ

媒体

Pollingコマンド（システム0に対する）

Mode0

相互認証（システム0に対する）

Mode0以外

一定間隔経過後Pollingコマンド（システムコード＝FFFFh）
無応答
搬送波停止

エラー通知

相互認証状態のため、Pollingに応答しない

Mode0＜媒体が存在しなくなったと誤認識するシーケンス例＞
電子マネー普及促進協会

18

課題B-6：アプリケーション処理と無関係にミドルウェアやドライバが実行する媒体の存在確認に対する対応

媒体との相互認証状態を解除するケース

アプリと無関係に一定間隔経過後に実行される存在確認

リーダライタアプリケーション

ミドルウェアやドライバ
Pollingコマンド（システム0以外に対する）

媒体

Mode0

相互認証（システム0以外に対する）

Mode0以外

一定間隔経過後Pollingコマンド（システムコード＝FFFFh）

システム切替発生
Mode0に戻る
相互認証が必要なコマンド

無応答

相互認証が解除されているため、無応答＜システム切替により相互認証が解除されるシーケンス例＞
電子マネー普及促進協会

19

課題C-1：媒体側がNFC-A、B、F対応時の捕捉処理①
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度

中（該当する機種のモバイル端末では決済できない）

発生事象
リーダライタへEMVCoのPollingシーケンスとコリジョン検出シーケンスを実装すると、NFC Forum準拠のモバイル端末（媒体側がNFC-A、B、F対応）がタッチされた場合、NFC-Fの決済処理ができない

原因

EMVCoのPollingとコリジョン検出シーケンスは決済端末の磁界内にデバイスが１つだけ存在することを確認するために設計されており、磁界内に複数の通信方式やデバイスが検出されると途中で終了してしまう。複数の通信方式に対応するNFC Forum規格準拠のモバイル端末がNFC-Fによる決済を目的としてEMVCoの決済端末にかざされると、以下の2つの問題が発生する。
2種類の通信方式が検出されてシーケンスが途中で終了してしまう。
NFC-Fが決済端末によって検出されない。

対応策
NFC-FによるサービスをEMVCoのPollingシーケンスやコリジョン検出シーケンスどおりに実装せず、個別に用意する電子マネー普及促進協会

20

課題C-1【対応策実装例】
EMVCoのサービスとFeliCaのサービスを共存させる場合の実装例
リーダライタ側のシーケンスはそれぞれ別物を用意し、決済する際にどちらかを選択してから媒体をかざす。
Start

FeliCa
サービス利用?

NY
FeliCaサービス
シーケンス実行(NFC-F)

電子マネー普及促進協会

EMVCoサービス
シーケンス実行(NFC-A,B)

21

課題C-2：媒体側がNFC-A、B、F対応時の捕捉処理②
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
中（該当する機種のモバイル端末では決済できない）

発生事象
NFC対応したリーダライタにおいて、NFC対応モバイル端末をタッチすると、NFC-Fによる決済処理ができない場合がある

原因
NFC Forum準拠のチップでは、最初に応答した通信方式で固定され、NFC-F以外が先に捕捉されると、搬送波出力のRESETを行わないと、NFC-Fにアクセスできないため対応策
特定のサービスへアクセスしたい場合、該当のサービスが対応している通信方式に限定してPollingを行う
異なる通信方式の複数のサービスにアクセスする場合、通信方式を切り替える際に必ず搬送波出力のRESETを行う

電子マネー普及促進協会

22課題C-3：Pollingコマンドのサイズ（6バイト)
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
中（該当する機種のモバイル端末では決済できない）

発生事象
NFC Forum規格準拠のモバイル端末が、規定サイズ以外でのPollingコマンドを行っているリーダライタへタッチされた場合、決済処理ができない場合がある

原因
NFC Forum規格およびFeliCa規格では、Pollingコマンドのサイズを6バイトで規定しており、これまでは6バイト以外のPollingコマンドでも決済処理が可能な媒体もあったが、本来は規格外であったため対応策
Pollingコマンドを実行する際のサイズは、必ず規定の6バイトとする

電子マネー普及促進協会

23

課題C-4：媒体のガードタイムの考慮
対象範囲
電子マネー リーダライタ リーダライタ
ハードウェア（OCXを含む）
PF
アプリ
上位機器

影響度
小（該当する機種のモバイル端末では決済できない場合がある）

発生事象
NFC Forum規格、およびFeliCa規格準拠の媒体を、リーダライタへタッチしても無応答となり、決済処理ができない場合がある

原因
リーダライタがNFC Forum規格およびFeliCa規格で規定された、媒体のガードタイム（コマンド受信準備時間）を考慮せずに、コマンドを送信を行うと媒体が無応答となってしまうため対応策
リーダライタはコマンド送信を行う際に、媒体のガードタイム（コマンド受信準備時間）を考慮して、次のコマンド送信やリトライ処理を行う

電子マネー普及促進協会

24

課題C-4：カードのガードタイムの考慮
各規格の規定NFCフォーラム規格及びFeliCa規格では、媒体のガードタイム*を規定している＊媒体のガードタイムとは、リーダライタがコマンドを送信するまでに待たなければならない最小の時間

FeliCa規格の媒体のガードタイム規定は下記の通り
通常コマンド（Pollingコマンドを除く）の場合
 リーダライタは媒体のガードタイム（約501μs）以内に次のコマンドを送信してはならない
起点

プリ
アンブル

Sync
コード

レスポンス

プリアンブル

CRC

Sync
コード

媒体のガードタイム

コマンド

CRC

時間t

媒体のガードタイム＝（106×64＋16）／fc（約501μs）＜「FeliCaカードユーザーズマニュアル抜粋版Ver2.0」P18 より抜粋掲載＞

電子マネー普及促進協会

25

課題C-4：媒体のガードタイムの考慮
FeliCa規格における媒体のガードタイム規定の続き
Pollingコマンドの場合

 リーダライタは『Pollingコマンドの最大応答時間＋媒体のガードタイム』の間に、次のコマンド送信してはならない

起点

プリ
アンブル

Sync
コード

コマンド

Pollingコマンド

CRC

．．．
．．．

プリ
アンブル

タイムスロット
枠時間（＃N-1）
256×64／fc

タイムスロット
枠時間（＃N）
256×64／fc

媒体のガードタイム

Sync
コード

コマンド

CRC

時間t

コマンド

Polling コマンドの最大応答時間＝Polling応答時間＋スロット数×タイムスロット枠時間
Polling 応答時間＝512×64／fc（約2.417ms）
タイムスロット枠時間＝256×64／fc（約1.208ms）
媒体のガードタイム＝（106×64＋16）／fc（約501μs）＜「FeliCaカードユーザーズマニュアル抜粋版Ver2.0」P19 より抜粋掲載＞

電子マネー普及促進協会

26

【参考】影響度の定義
大：誤収受（二重決済）が発生する
機器を破壊する中：
該当する機種のモバイル端末では決済できない
該当するサービスを利用しているモバイル端末では決済できない

小：該当する機種のモバイル端末で決済できない場合がある
周辺環境等により、決済できない場合がある
複数のリーダライタを近くに設置している際、決済できない場合がある
電子マネー普及促進協会

27

参考文献
■ ソニー株式会社 HPより
NFC/FeliCa対応機器開発時の注意事項

https://www.sony.co.jp/Products/felica/business/tech-support/st_m830nfcfelica.html

フォーマット判別シーケンス設計ガイドライン

https://www.sony.co.jp/Products/felica/business/tech-support/st_format.html■ NFC Forum HPより
NFC Forum Specifications

https://nfc-forum.org/our-work/specifications-and-application-documents/specifications/specification-releases/

電子マネー普及促進協会

28