Mono Works

チラシのすきま

NFCとかスマホ決済サービスに関するメモ

NFCというかおサイフケータイ絡みで興味深いお話を聞いたので、もう少し理解を深めてみようとNFC決済について調べたことをメモしてておく。

NFC関連の出来事

本記事の内容で、時期が分かるものを列挙した。

時期 出来事
1988年 ソニーがFelicaの研究開発を開始
1997年9月 世界初のFelica対応電子マネー「オクトパス」が香港でサービス開始
2001年11月 ソニーがFelica対応の電子マネーサービス「Edy」がスタート
2001年11月 JR東日本がFelica対応のIC乗車カード「Suica」の利用開始
2003年12月 近距離無線通信の国際標準規格ISO/IEC 18092(NFC IP-1)が規格化
2004年1月 合弁会社(ソニー60%、ドコモ40%)のフェリカネットワークス株式会社が設立
2004年3月 フィリップス、ソニー、ノキアによって業界標準団体NFC Forumが設立
2004年3月 JR東日本がSuicaを汎用的な電子マネーとして利用開始
2004年7月 ドコモがFeliCa対応携帯電話「おサイフケータイ」を販売開始
2005年1月 ISO/IEC 15693を包含した拡張規格ISO/IEC 21481(NFC IP-2)が規格化
2005年12月 ドコモがおサイフケータイで「iD」のサービスを開始
2006年1月 SuicaがモバイルSuicaとしておサイフケータイにも対応
2007年1月 Suica、iD、QUICKPay、Edyの共用型読み取り機の稼働開始
2007年3月 関東を中心とする鉄道・バス事業者が加盟する共通乗車カード「PASMO」の利用開始
2010年11月 国内Android初のおサイフケータイ対応スマホのIS03が販売開始
2013年10月 GoogleがHCEを実装したAndroid 4.4 KitKatをリリース
2014年9月 AppleがType-A/B対応のNFCを搭載したiPhone 6とApple Payサービスをリリース
2015年9月 アメリカ合衆国でAndroid Payのサービスが開始
2016年8月 GoogleがHCE-Fを実装したAndroid 7.0 Nougatをリリース
2016年9月 iPhone 7の販売開始、日本モデルのみType-A/B対応SEとType-F(Felica)対応SEの両方を搭載
2016年12月 日本を含む8か国でAndroid Payのサービスが開始
2017年9月 iPhone 8の販売開始、全世界モデルにType-A/B対応SEとType-F(Felica)対応SEの両方を搭載
2018年2月 Android Payがオンライン決済のGoogle Walletと合併してGoogle Payへ名称を変更
2018年9月 エクスプレスカードへの予備備電力機能が追加されたiPhone XSが販売開始
2018年10月 日本版のみFelicaを搭載したPixel 3が販売開始

NFCについて

NFC(Near field communication)は、近距離無線通信による個体識別技術である。ほぼ同時期に開発がおこなわれていた非接触ICカードの国際標準規格ISO/IEC 14443(Type A)に規定される「NXPセミコンダクターズ社のMifare」と日本工業規格のJIS X 6319-4に規定される「ソニー社のFeliCa」、それぞれの非接触無線通信技術をまとめるものとして、2003年12月に通信プロトコルの国際標準規格ISO/IEC 18092(NFC IP-1)によって規格化される。これにより日本工業規格に過ぎなかったFelicaは、その通信方式部分が国際標準化機構に認められる。Sony Japan | NFCの定義によると、これが狭義のNFCとなる。

2004年3月、同じ周波数(13.56MHz)を扱う「NXPセミコンダクターズ Mifare」と「ソニー FeliCa」の両規格の互換性を保つよう実装仕様やデータ交換の仕組みを制定することを目的とした業界標準団体NFC ForumがNXPセミコンダクターズ、ソニー、NOKIAの3社により設立される。NFC Forumでは、非接触ICカードの国際標準規格ISO/IEC 14443(Type-A/Type-B)の通信技術をそれぞれNFC-A/NFC-Bと称し、日本工業規格のJIS X 6319-4にもとづくFeliCaの通信技術をNFC-Fと称し、これら3つの通信技術をまとめるものとしてNFC Forum仕様を策定している。さらに、2005年1月、ISO/IEC 18092(NFC IP-1)とISO/IEC 14443(Type B)に加えて、ISO/IEC 15693を包含した拡張規格として、通信プロトコルの国際標準規格ISO/IEC 21481(NFC IP-2)が規格化される。この辺までひっくるめて、Sony Japan | NFCの定義では、広義のNFCと定義している。

NFC-A/NFC-Bは、近距離無線通信を行うのみで、その他の処理は搭載端末(のCPUやSoC)が担っている。このため、その処理速度は端末のCPUやSoCの処理能力に依存する上、端末が別の処理をおこなっていたりすると処理が遅くなる。また、通信データが端末ストレージ上に保存される。

これに対して、NFC-Fは、通信やその他の処理をおこなうFelicaチップ単体で動作することを可能にした規格である。Felicaチップには、近距離無線通信機能に加えて、通信データを保持するメモリやそれらを処理する専用OSをひとつにまとめたものであり、一連の処理はFelicaチップ上で完結する。このため、処理速度が速く、通信データがチップ内にしか存在しない。このように、Felicaチップは単体で機能するので、ICカード(SuicaやiDなど)に内蔵された状態での利用が可能となっている。

NFC Forum仕様では、下記3つのモードに関する近距離無線通信をNFCと称している。

  • Reader/Writer モード(必須) - カードに含まれるデータを読み書きする機能
  • Peer-to-Peer モード(必須) - NFC同士で通信する機能
  • Card Emulation モード(オプション) - ICカード(電子マネーやクレカ)の機能をICカードとは別のデバイス(スマホなど)を使って実現する機能

NFC自体にはセキュリティに関する仕様はなく、NFC端末を名乗る要件は「近距離無線通信のType-A/B/Fに対応していること」と「Reader/Writer モードと Peer-to-Peer モードに対応していること」だけである。あくまでも「Card Emulation Mode」はオプション扱いなので、次に説明するセキュアエレメント(SE)を搭載しているかどうかは考慮されない。

NFC決済の要であるセキュアエレメント(SE)

スマホで決済処理をおこなうには、NFCのオプション「Card Emulation Mode」を利用する。このスマホ決済におけるセキュリティを強固なものにするため、スマホのOSや一般アプリから隔離された専用チップ内で通信と決済を完結させる方法が考案された。この専用チップの総称をセキュアエレメント(SE)という。

SEには独立したOSも搭載されており、スマホを読み取り機にかざすと、決済端末とSEが直接NFCで通信をおこない、決済を完結する。スマホのOSや一般アプリからは、決済端末とSEのやり取りを直接見ることはできず、SEが決済完了したという結果だけを見ることができる。スマホのOSや一般アプリは、その結果をユーザーに通知しているだけで、実際の決済処理をおこなっているのは、SEである。

SEは決済の要であるため、ハードウェアベンダーや通信キャリアが主導権を握ろうとして、いくつかの規格が生まれた。端末本体にSEを搭載するもの、SIMカードにSE機能を搭載するもの、microSDカードにSE機能を搭載するものが、それである。しばらくは規格がバラバラで意見がまとまらず、NFC決済を提供する店舗側も個別に対応するのは手間がかかるといった状況が続いた。SIMカードやmicroSDカードにSE機能を搭載するものは、端末との相性問題が付きまとうことから衰退し、現在はSEを端末に搭載することがスタンダードとなっている。

なお、NFCの「Type-A/Bに対応したSE」と「Type-F(Felica)に対応したSE」には互換性がなく、両方とも搭載するには、それなりにコストがかかる。したがって、端末ベンダーは、地域の特性に合わせて、どちらかのSEのみを採用することが多い。前述のとおり、NFC端末を名乗るには「近距離無線通信のType-A/B/Fに対応」して「Reader/Writer モードと Peer-to-Peer モードに対応」していればよく、各タイプに対応したセキュアエレメント(SE)を搭載しているかどうかは考慮されない。このため、下記のいずれもNFC端末として一括りにされ、ユーザーの混乱を招く要因になっている。

  1. SEを搭載しないもの(近距離無線通信ができるだけで、決済機能のないもの)
  2. Type-F(Felica)のSEのみを搭載したもの(おサイフケータイのみ対応したもの)
  3. Type-A/BのSEのみを搭載したもの(世界的には標準のNFC決済のみ対応したもの)
  4. Type-A/BとType-F(Felica)のSEを搭載したもの(両方の決済に対応したもの)

日本におけるNFC決済(おサイフケータイ)

まずは黎明期の話から。1988年にソニーがFelicaの開発を始め、1997年に香港のオクトパスカードが世界で初めてFelicaを採用する。この時、オクトパスカードでは、以下のように管理者を定めた。

機能 機能の管理者
決済 Octopus Cards Limited
個別サービス 各事業者

決済機能を1社に限定することで、各事業者が個別に電子マネーを用意する必要がなく、店舗もオクトパス社の決済端末を準備するだけでよかった。これにより、香港では、各交通機関/コンビニ/公共施設の利用など、どこでもオクトパスカードで支払いがおこなえるようになるまで普及した。

オクトパスカードの成功を見たJR東日本は、日本でも同様のサービスを普及させようと、以下のような体制を想定して、ソニーに打診をおこなう。

機能 機能の管理者
決済 ソニー
個別サービス 事業者のひとつとしてJR東日本

しかし、ソニーは、JR東日本と組むことを拒否し、ソニー独自サービスの開発をおこなう。こうして日本では、2001年11月、NFC-F(Felica)に対応した汎用電子マネー「Edy」のサービスがスタートする。

その後、ソニーは、Felicaチップの普及を目的としてドコモと組むことを選択。2004年1月に合弁会社(ソニー60%、ドコモ40%)のフェリカネットワークス株式会社を設立する。そして、2004年7月にドコモが「おサイフケータイ」と称したFeliCa対応携帯電話を販売開始し、その利用サービスとしてEdyをプリインストールした。その後、ドコモは、おサイフケータイを決済端末としたポストペイド(後払い)サービスのiDを2005年に開始する。

ドコモは、「おサイフケータイ」を商標登録しているが、システムや商標権がライセンスされ、他キャリアでも同様に「おサイフケータイ」という名称を利用している。こうして、おサイフケータイは徐々に普及することになるが、ソニーが決済機能を各事業者に委ねたことから、以下のように電子マネーが乱立することになる。

機能 機能の管理者
決済 各事業者(Suica、Edy、QUICPay、iD、nanaco、WAON、PASMOなど…)
個別サービス 各事業者

決済サービス乱立の結果として、電子マネーで支払いをおこなうには、ユーザーがそれぞれの決済方法(Suica/Edy等)に対応したカードを使い分けることになり、おサイフケータイの場合、それぞれの決済方法に対応したアプリを個別にインストールしなければならなくなった。店舗側も、それぞれの電子マネーに対応した読み取り機を準備しなくてはいけない。読み取り機については、2007年1月にSuica/Edy/QUICPay/iDの共用型読み取り機が稼働開始し、現在では、10種類以上のFelicaタイプ電子マネーに対応した読み取り機も存在している。ただし、決済サービスが増える度に読み取り機の更新や交換が必要な状況は変わっていない。

JR東日本は、当初ソニーと組めなかったことから、独自決済サービス「Suica」の開発をスタート。Edyのサービスインと同時期(2001年11月)にFelica対応のIC乗車カード「Suica」を駅改札に導入した。Suicaは、入場時に乗車駅の記録をカードに保存し、出場時に入場記録から算出される運賃をカードに記録された残高から引き落とすシステムだ。導入当初は改札システムでのみ利用可能だったが、Suicaに記録された残高を汎用的な電子マネーとして利用可能とするサービスを2004年3月から開始する。その後、2006年からは、モバイルSuicaとしておサイフケータイにも対応した。

こうして日本では、Type-F(Felica)対応SEを搭載した「おサイフケータイ」端末と読み取り機が普及する中、2010年には国内Android初のおサイフケータイ対応スマホのIS03が販売される。おサイフケータイ(Felica SE)が普及したことで、日本の通信キャリアがType-A/B用のSEを端末に搭載するメリットはなく、日本販売の端末は「海外での決済に利用できない」ものとなる。

海外におけるNFC決済

海外の場合、さらに状況が悪く、通信キャリアが自前の決済サービスを使ってもらうためにSEを搭載しなかったり、SE搭載端末を販売しないといったことがおこなわれていた。また、SEを搭載していたとしても、海外ではType-F(Felica)対応SEよりも安価なType-A/B対応SEを搭載した端末が普及していた。このため、海外端末は「決済に利用できない」か、できたとしても「日本では利用できない」ものであった。

Apple Pay

Appleは、2014年にApple PayサービスとともにNFCを搭載したiPhone 6をリリース。ただし、iPhone 6に搭載されたNFCは、Type-A/BのCard Emulationのみのサポートであったため、日本では利用できなかった。2016年に発売されたiPhone 7は、日本向けモデルのみ「Type-A/Bに対応したSE」と「Felicaに対応したSE」の両方を搭載。2017年のiPhone 8以降は、全世界モデルに2つのSEが搭載されるようになった。これによって、Apple Payは世界中で利用できることになり、広く普及することになる。

Appleは、iPhone本体にFelica SEを搭載するだけでなく、Apple内部にFeliCa SE管理用サーバを構築し、iPhoneのFelica SEへアクセスするための「鍵」情報を管理している。このため、現在のところ一部の例外(Suicaアプリなど)を除き、Apple以外がiPhoneのSEへアクセスすることはできないようになっている。例外としてSEへのアクセスが認められているJR東日本や一部カード会社も、iPhoneのSEにアクセスするには、Apple内部のサーバ経由でしかアクセスできない。

こうして、カード情報や個人情報は、すべてAppleの制御下に置かれている。これは、ユーザーにとってメリットにもなる。Apple IDとカード情報を紐づけておくことで、盗難紛失・故障・買い替えなど端末を入れ替える際に、セットアップのプロセスを通じてAppleのサーバから自動的にデータが書き戻され、ユーザーの負担が低減する。

Google Pay

Googleも決済サービスへの参入を試みるが、ベンダーに対してSEの搭載を強制することができず、ベンダーもコストのかかるSEをAndroid端末に搭載することが少なく、厳しい状況であった。このため、当初Googleは、SE付きのSIMカードにウォレットアプリをインストールする手法を開発したが、これは失敗に終わる。

2013年、Googleは、スマホにSEを搭載する代わりに、NFC機能拡張のひとつとして「HCE」をAndroid 4.4 KitKatに実装する。HCE(Host-based Card Emulation または Host Card Emulation)とは、Android端末の特定アプリ(ホスト)をICカードとして振る舞えるようにすることで、物理SEの機能をソフトウェア的に代替するものだ。物理SEに比べて、HCEは安全性を懸念されるが、カード情報など重要情報を端末ではなくクラウドに保管することとトークナイゼーション(Tokenization)によって安全を担保するとしている。なお、トークナイゼーション自体は、Apple Payでも採用されている技術であり、Android Payのみの優位点というわけではない。

実際のサービスとしては、2015年にアメリカ合衆国で「Android Pay」がサービスを開始し、2016年には、日本を含む8か国でもAndroid Payが利用可能となる。2018年2月には、オンライン決済の「Google Wallet」と合体して「Google Pay」としてリブランディングされる。

なお、HCEはType-A/Bの通信規格を利用したものであり、Felicaが普及した日本では、ベンダー及び店舗がHCEを導入するメリットはほとんどなかった。これに対してGoogleは、Android 7.0 Nougat以降、Felicaの通信規格であるNFC-Fに対応した「HCE-F」を実装するが、HCE-FはあくまでFeliCaの通信部分のみの仕様であり、Felica SEそのものをソフトウェア的にエミュレーションしているわけではない。したがって、各ベンダーやサービス提供業者はFeliCa相当の仕組みを自力で実装する必要があるが、以下の理由により、日本での展開は厳しいものとなっている。

日本で提供されるFeliCaサービスの多くは、ICカードに貨幣価値を備えて支払いを行うストアードバリュー(Stored Value)カードの方式を踏襲し、SE内部にバリュー情報(利用履歴と残高)を保持している。FelicaのSEをソフトウェア的にエミュレーションするには、このバリュー情報を恒久的かつ安全に保持する仕組みが必要となる。また、モバイルSuicaなど交通系ICシステムでは、改札をスムーズにおこなうため「200ミリ秒」という反応速度が要求される。これをソフトウェア的に実現できる仕組みが必要となるが、HCEの仕組みを利用した決済で、この反応速度を実現するのは難しい。(およその反応速度は、物理SEが約0.1~0.2秒、HCEが約0.5~1.0秒)

こうして、日本で展開するAndroid Pay(Google Pay)は、Felica SEを端末に搭載していることを前提とした日本独自のサービスとなっており、Androidのリファレンス機であるPixel 3/Pixel 3aシリーズも日本販売モデルにはFelica SEが搭載されている。おサイフケータイで利用可能なサービスをひとつのアプリ(Google Pay)で登録可能にしているだけで、実体としてはおサイフケータイそのものである。したがって、機種変更などで新しい端末をセットアップする場合には、各サービスごとに個別にデータを移行する必要がある。

受動的決済と能動的決済

日本と海外のNFC決済には、もうひとつ大きな違いがある。それが受動的決済と能動的決済だ。

日本で主流なのが、受動的決済手段である。これは、ユーザーが「〇〇で(支払います)」と伝え、店側がPOSレジなどの決済端末を操作して支払い手段を指定するものだ。おサイフケータイでは、登録したクレジットカードや電子マネーのサービスがすべて平等に待ち受け状態であり、決済端末が支払方法をリクエストすることでサービスが反応するようになっている。JRや私鉄の改札読み取り機の場合は、決済に利用できるサービスがSUICA系の交通ICカードに限定されているため、事前に宣言することなく決済が完了するようになっている。

受動的決済の仕組みのPOSレジで支払方法を指定せずにスマホをかざした場合、読み取り機がスマホに登録されたサービスをスキャンして、決済に利用できるサービスの中からランダムで選択するか、そもそも反応しないようになっている。以前ローソンに導入されていたPOSレジでは、読み取り機にスマホをかざした時点でスマホに登録されたサービスをスキャンし、その中から決済に利用できるサービス一覧を表示し、その中からユーザーに支払方法を選択してもらうという仕組みがあった。これは、受動的決済の手法を利用したものである。

これに対して、海外の多くの国では能動的決済手段が採用され、Apple Payや海外利用のGoogle Payは、これに準拠している。能動的決済は、ユーザーがスマホで支払い手段を指定してから決済をおこなうものだ。ユーザーは、端末のロックを解除し、Walletアプリを開き、決済に利用するカードを選択した状態で店舗決済端末の読み取り機にスマホをかざすことになる。受動的決済に比べると、支払時のユーザー操作は増えるが、スキミングや端末紛失時に不正利用されるリスクは小さいといったメリットもある。

なお、Apple Payは、通常の能動的決済に加えて、メインカードとエクスプレスカードを設定する機能を持つ。これを設定しておくと、決済に利用するカードの選択操作を省略することができる。

Apple Payでメインカードに設定したカードは、Walletを起動した時、一番手前に表示されるカードとなり、Walletを起動しなくても「Touch IDやFace IDによる認証のみ」で選択されるようになる。決済時に「Apple Payで(支払います)」と言った場合、店舗側は「Walletに登録可能な支払方法」で待ち受けをおこない、ユーザーがFace IDもしくはTouch IDによる認証をおこなったiPhoneを読み取り機にかざすと、設定したメインカードで決済がおこなわれるという仕組みだ。

一方、エクスプレスカードに設定したカードは、「Touch IDやFace IDによる認証なし」でも使えるカードとなる。これにより、エクスプレスカードを設定しておくと、駅改札にiPhoneをかざすだけで指定したカードが反応し通過可能となる。ただし、現在のところ、エクスプレスカードに登録できるのは「Suica」のみであり、PASMOや他の交通系ICカード、クレジットカードなどは登録できない。

電源オフの状態で使えるか問題

Felica SEを内蔵した非接触型のICカード(SuicaカードやiD対応クレジットカードなど)は電池を搭載していないが、カードに内蔵されたコイルと読み取り機から発生する磁力によって、電磁誘導による電気を発生させている。この微量な電力供給によりFelica SEを駆動させ、カード内で決済処理をおこなっている。

これに対して、Felica SEを内蔵したスマホの場合、電磁誘導に必要なコイルを内蔵することができないため、スマホのバッテリからSEに電源を供給している。

Android端末の場合、バッテリー切れの警告によりシャットダウンしていても、微量の電力が残っていればFelica SEに電源を供給できるので、電源オフの状態でもモバイルSuicaで改札を通ることができる。ただし、完全にバッテリー残量が0になると利用することはできなくなる。

iPhoneの場合は、Felica SEやNFCコントローラの起動にある程度の電力が必要であり、最低限iOSが起動している状態が利用前提であった。このため、バッテリー切れの警告によりシャットダウンしたiPhoneでは、モバイルSuicaを利用することができなかった。これを解決するため、2018年モデルのiPhoneには「予備電力機能」が追加された。これは、端末本体用とは別にエクスプレスカード用に電池残量を確保しておくことで本体電源がオフになってもエクスプレスカードを利用可能にする機能である。

今後のスマホ決済

現在は、おサイフケータイに相乗りした状態のGoogle Payだが、第2世代のGoogle Payでは、よりApple Payライクな管理機構を導入しようとしている。Appleの手法と同じく、FeliCa SEのセキュア領域にアクセスするための「鍵」をGoogleが所持し、その出入りを管理するものだ。これには、おサイフケータイそのものの使い勝手をそのままに、FeliCa SE依存の仕組みをソフトウェア制御にシフトしていく狙いがある。今後は、主に携帯キャリア側が主導していた決済サービスの仕組みがAppleやGoogleのようなプラットフォーマーへと移管してくると思われるが、ユーザーにとって良き未来であることを願う。

コメント

コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。好きなことをつらつらと書き留めてます。
ギターを始めてから 練習動画をYouTubeにアップしてます。ご笑納ください。
"DQX@ぬここ(UD487-754)、コツメ(NO078-818)"
採用案内