Apple Pay はどうやって決済されるのか? NFC とトークン化の仕組み

読了 6分

財布を忘れて家を出ても、大ごとにはならない時代です。コンビニのレジでスマホを端末にかざすと、1 秒ほどで決済完了の音が鳴ります。ところが考えてみると不思議な話です。カードを通してもいないし、カード番号を入力してもいないのに、どうして自分のカードで決済できるのでしょうか。この記事では、その 1 秒の間に起きていることを、NFC とトークン化という二つの言葉で、コードなしで整理します。

先に範囲を絞っておきます。この記事は、スマホが端末に触れる瞬間の話です。信号が端末を離れたあと、カード会社の承認を受けて数日後に店へお金が振り込まれるまでの道のりは普通のカード決済と同じなので、そちらが気になる方は オンライン決済はどう処理されるのか も合わせて読むことをおすすめします。

NFC はわざと遠くへ届かないように作られた無線です #

スマホと端末が会話する手段は NFC(Near Field Communication、近距離無線通信)です。名前のとおり数センチ、実質的には触れ合うほど近づかないと通信できません。駅の改札に Suica をタッチするときに使われている、まさにあの技術です。

Wi-Fi や Bluetooth がより遠くへ、より速く飛ばそうと競争しているのとは逆に、NFC はわざと短く設計されています。この短さがそのままセキュリティ装置です。横の人が電波を横取りするには、端末とスマホの間の数センチの隙間に機械を割り込ませる必要があるので、遠くからこっそり決済信号を盗むことは構造的に困難です。決済を始める動作が「スマホをかざす」という物理的な行動であること自体が、意図された設計です。

NFC にはもう一つ面白い性質があります。端末が出す電波そのものが小さな電源になり、受け取る側はバッテリーがなくても応答できます。プラスチックの Suica カードにバッテリーが入っていないのに、改札でちゃんと反応する理由がこれです。この性質は、記事の後半の交通系 IC の話でもう一度登場します。

スマホの中に本物のカード番号はありません #

ここからがこの記事の核心です。Apple Pay や Google ウォレットにカードを登録すると、スマホがカード番号を保存していそうですが、実際にはそうではありません。登録した瞬間にカード会社が その機器でだけ使う別の番号 を新しく発行し、スマホのセキュリティ専用チップにはこの代替番号だけが保存されます。本物のカード番号を代替番号に置き換えて使うこの方式を、トークン化と呼びます。

決済のときに端末へ渡るのも、このトークンだけです。店の端末も、店のコンピューターも、本物のカード番号を一度も見ていません。トークンを本物の番号に戻せるのは、カード会社側だけです。

この構造の真価は、事故が起きたときに現れます。店のシステムが丸ごとハッキングされても、漏れるのはその機器の外では役に立たないトークンで、本物のカード番号はそもそもそこに存在しないので漏れようがありません。プラスチックカードを通すたびに本物の番号が店のシステムを通過するのと比べると、むしろスマホ決済のほうが安全な構造です。

スマホをかざす 1 秒の間に起きていること #

それでは、決済の瞬間を順番にたどってみます。

  1. 本人確認 — スマホが指紋や顔で持ち主を確認します。このロックが解除される前は、決済機能そのものが動きません。スマホが指紋と顔をどう見分けているのかは 生体認証の記事 で別途整理します。
  2. 信号の送信 — スマホがトークンと一緒に 今回の決済 1 回だけ有効な使い捨ての暗号 を作って端末に送ります。
  3. 検証 — カード会社がトークンを本物のカード番号に戻し、使い捨ての暗号が正しいかを確認したうえで承認を出します。

2 番の使い捨ての暗号が、最後の安全装置です。誰かが電波を丸ごと録音できたとしても、その中の暗号はすでに 1 回使われて失効した後なので、もう一度決済に使うことはできません。結局、泥棒の立場からすると、盗むカード番号はなく、横取りした信号は再利用できず、持ち主の指紋なしでは始めることすらできない、三重のロックというわけです。

Samsung Pay が磁気カード端末でも使えた理由 #

日本ではあまり馴染みがありませんが、初期の Samsung Pay が韓国や米国で急速に広がった背景には、MST という切り札の技術がありました。スマホの中のコイルで磁場を起こし、まるで磁気カードを通したかのような信号を端末に流し込む方式です。おかげで、NFC 端末のない小さな店の古いカード端末でもスマホ決済ができました。ただし磁気ストライプを模倣するという出自のため、NFC に比べてセキュリティの余地が狭く、NFC 端末が十分に普及した今では、最新機種から MST が外される流れになっています。

同じスマホなのに使えない店がある理由 #

タッチ決済が広がった今でも、「ここでは使えません」という店が残っています。理由は単純です。スマホ決済は店の端末が同じ方式に対応していて初めて成立するからです。日本の Apple Pay でいえば、FeliCa(NFC の一種)を使う iD・QUICPay・Suica と、国際標準の NFC を使うクレジットカードのタッチ決済がありますが、店の端末がその方式に対応していなければ、スマホがいくら信号を送っても受け取ってくれる相手がいません。決済技術の問題ではなく端末の普及の問題で、対応端末を備えた店が増えるほど、使える場所も一緒に増えています。

スマホをなくしたらカードも止めるべきか #

スマホをなくしたとき、トークン化の長所がもう一度現れます。スマホにあるのはその機器専用のトークンだけなので、紛失の届け出をすると そのトークンだけを選んで停止 できます。財布の中の物理カードはそのまま使えますし、カードの再発行を受ける必要もありません。Apple の「探す」や Google の「デバイスを探す」で遠隔から決済機能をロックするのが、まさにこのトークン停止です。もちろん、拾った人が決済しようとしても指紋や顔のロックが先に立ちはだかるので、停止手続きの前でも勝手に使われることはまずありません。

バッテリーがほぼ切れていても改札は通れます #

最後に、交通系 IC の話を短く添えます。スマホを Suica として使うときは、改札の前で指紋をかざす余裕がないので、交通系の機能に限って本人確認を省略する仕組みが別にあります。iPhone でいう「エクスプレスカード」の設定がそれです。スマホが普通の Suica カードのふりをして動くカードエミュレーション方式なので、処理速度も物理カード並みに高速です。一部の機種は、バッテリーが切れて画面が消えたあとも、残しておいた予備電力で数時間だけ交通系の機能を生かしておきます。帰り道にスマホの電源が落ちても、改札は通れるようにした配慮です。

まとめ #

整理するとこうなります。スマホ決済は、数センチしか届かない無線である NFC の上で行われ、スマホと店の間を行き来するのは本物のカード番号ではなく、機器専用のトークンと使い捨ての暗号です。だから店がハッキングされてもカード番号は漏れず、スマホをなくしてもトークンだけ止めれば済みます。次にレジでスマホをかざすとき、その 1 秒の間に指紋確認とトークン送信と使い捨て暗号の検証が次々に通り過ぎていることを、思い出してみてください。

X