#15 カード番号のトークン化①〜Apple Payで採用されたトークナイゼーションの技術の話〜
はじめに
カード業界で「トークナイゼーション(=トークン)」というワードが出たのは国内で2016年10月に始まったApple Payで採用された技術だったからでしょう今は2024年だからもう8年も経つんだなと。
リリース当初は一部の国際ブランドと国内のおサイフケータイ陣(iD、QUICPay)から始まり、その後他の国際ブランドが対応し、Google Payが始まって、最近では加盟店にもトークン化が広がっている、というのが概況です。
今回はカード決済におけるトークナイゼーションってどんな技術なのか、について書きます。
トークナイゼーションの技術
一言で言うと「カード番号をトークンに置き換える技術」です。
カード番号というのはとても大事なものなので、それをトークンに置き換えて決済すれば、万が一どこかで流出してもカード番号は守られるよねという話です。
そのためトークンは下図、左のようにカード番号から一定の法則で別の番号を導くことはせず、右のようにあらかじめ用意されている別の番号にランダムに置き換えることで、カード番号からは予測不可能な番号となるようにしています。
なお、トークンに置き換えてもその番号体系は「#12 クレジットカード番号の体系とBIN」で説明した元のカード番号と同じです。これは決済に関わる各システムがこの基準でカード番号のチェックを行っているためです(上1桁で国際ブランドを判定したり、最終桁のチェックデジットでカード番号としての正当性を判定している)。
カード番号のトークン化
Apple PayではAppleが提供するウォレットアプリにカード情報を入力(=カードを読み取り)するとカード発行会社(ISS)へトークン化依頼をします。
ISSはトークン化依頼を受けるとAppleのウォレットアプリを介して、
Apple Payの利用に関する規約への同意
本人確認(SMS認証やコールセンターへ電話して本人確認)
を実施した後、カード番号をトークン番号(加盟店としてはカード番号にしか見えない)に置き換えたICカード発行データを、Appleに応答しiPhone内のICチップにカードを発行します。板のICカードを発行しているのと同じようなことをしているわけです。
一連の作業はプロビジョニングと呼ばれ、TSP(Token Service Provider)で実施します。TSPについては次項で説明します。
また最近はISSが提供するアプリからプロビジョニングを実施するのが主流となっていて、In-Appプロビジョニングと言います。
この場合はISS側アプリにログインできたことをもって本人確認を実施しているイメージとなります。なお、ISSアプリからAppleのウォレットアプリへ提供するカード情報はAppleの仕様に則って暗号化します。
TSP(Token Service Provider)とは
実はこのトークンの技術も主要カードブランドによって組成されたEMVCoという団体が「EMV Payment Tokenisation」という仕様として定義しています。
※EMVCoについては以下で書きました。
そしてこの仕様に則ってトークンを発行できるベンダー(システム)もEMVCoの認定を受ける必要があり、認定を受けたベンダーのことをTSP(Token Service Provider)と言います。
カード発行会社(ISS)はトークン化にあたりTSPベンダーを選定し、サービス利用しています。TSPベンダーの一覧はEMVCoのサイトで公開されています。
https://www.emvco.com/processes/token-service-provider-registration-programme-2/
国内だとIBMやJCN、大日本印刷がベンダーであることがわかります。また国際ブランドは自らTSPサービスを提供していて、例えばAブランドのトークンはAブランドが提供するTSPを使用するようルール化していたりもします。
TSPの役割
TSPは主に以下の役割があります。
トークンの発行
発行したトークンとカード番号の紐付け管理
LCM(Token Life Cycle):トークンの有効期限や削除などのステータス管理
デトークンや取引時認証
ISSは上記の役割をTSPに任せているので、TSPと接続する対応が必要となります。一番わかりやすいのはカードの解約があった場合にその情報をTSPへ連携する必要がある、ということですね。
まとめ
Apple Payの登場とともに拡大しているカード決済におけるトークナイゼーションについて説明しました。簡単にはカード番号をトークンに置き換えて決済していて、トークン情報が漏洩してもカード番号は守られるという仕組みです。
決済自体は置き換えられたトークンで決済されるのですが、ISSとしてはカード番号に戻して処理をする必要があります。今回は主にトークンとは?の話になりましたが、今後Apple PayとGoogle Payの違いやトークンで決済する仕組みについても書いていこうと思います。