文档章节

Apple Pay之Payment Token技术浅析

吴鹏辉
 吴鹏辉
发布于 2014/10/10 17:07
字数 1648
阅读 583
收藏 4

一、Token体系简介

Apple Pay引入的Token体系中,除了传统电子支付参与方外,新增了2个参与方,如下图所示:

Token

Token的应用原理:Token SP根据Token Requestor提供的PAN(主帐号)生成Token后,将Token作为PAN的替代值流转在支付的各个环节,使得在支付流程中,独一无二的PAN只在Token SP、转接方、发卡方间传递,由于三者专线连接且彼此互信,且当Token被检测到风险或到期时,将再次生成新Token替代,从而大幅降低支付过程中PAN泄漏的可能性,极大地提高了PAN的安全性。

在Token体系中,流转的核心数据如下图所示:

token

Token在NFC终端近场支付的应用,可以浓缩为以下2幅流程图:

二、Token申请流程

Token申请流程图详解:

Token

1、 NFC终端传递PAN至Token Requestor;

2、 Token Requestor向Token SP发起Token申请,发送PAN;

3、 Token SP根据PAN,生成对应的Token并返回至Token Requestor,同时建立PAN至Token的映射并存储在Token库中,与发卡方共享此Token库;

4、 Token Requestor将返回的Token传递至NFC终端。

三、Token应用流程

Token应用流程图详解:

Token

1、 Token从NFC终端开始,依次传递至POS、收单方、转接方;

2、 转接方通过与Token SP的接口,发送Token至Token SP;

3、 Token SP对Token执行去令牌化操作,并将PAN传递至转接方;

4、 转接方将Token&PAN传递至发卡方,发卡方用Token库进行验证,验证通过后,再将PAN传递至转接方;

5、 验证后的Token从转接方开始,依次传递至收单方和POS,之后Token作为PAN的替代值继续后续的交易流程。

以上是Token的技术实现方案,可以看到,在交易过程中,PAN传递且仅传递在Token SP、发卡方和转接方三者之间。

  四、Q&A(干货分享)

这段时间和业内同行交流过程中,收集了一些有关Apple Pay系统中 Payment Token体系的各种疑惑,并对此作了些简略的解答,汇总如下:

1、 Q:Token的用途和目的?

A: 作为PAN的替代值,大幅度降低了在交易流程中PAN泄漏的安全隐患。

2、 Q: Token替代PAN,安全性如何得到提升?

A:Token替代PAN,使得PAN只在Token SP、转接方、发卡方间传递,而这三者理论上是互信的,且是专线连接,从而大幅度降低了在交易流程中PAN泄漏的安全隐患。

3、 Q:Token作为PAN的替代值,如何解决在传统交易流程中,也存在的与PAN类似的泄漏隐患?

A:当Token被检测到风险或到期时,再次生成新Token替代。

4、 Q:Token生成和验证完成后,后续的传统交易流程是否改变?

A: 仅就Apply Pay目前披露的信息而言,完成Token生成和验证后,Token将作为PAN的替代值被使用,不改变后续的传统交易流程。

5、 Q:Token体系中,谁能承担新引入的Token Requestor和Token SP角色?

A:可以是新玩家,也可以是传统交易流程中的老玩家,规范并没有强制定义谁去承担这两个角色,所以不同的应用场景,可能这两个角色的承担者不同。

a) 能获得用户PAN的实体是天然的Token Requestor,如支付宝钱包、各银行手银等;

b) 能得到发卡方授权,建立PAN至Token的映射的实体是Token SP,如转接方或发卡方等,其中转接方是Token SP最可能的承担者。

c) Token SP控制PAN至Token的映射这一核心数据,在Token系统中十分关键,而Token Requestor相对不重要。

6、 Q:Token在iPhone6中的存储位置?

A:规范中并未强制规定Token的存储位置,可选的有远程存储、SE、TEE等多种存储方式,仅就Apply Pay披露的信息而言,合理怀疑Token存储在iPhone6的eSE中。

7、 Q:Token体系在国内技术实现的难点在何处?

A:首先要建立Token Requestor和Token SP系统;其次,Token传递路径上的所有参与方(POS、收单方、转接方、发卡方)均需要按照规范进行相应的系统升级,以保证良好的互操作性和一致性。

8、 Q:Apple Pay方案中运营商似乎被边缘化了?

A:只要是eSE模式,运营商都可能被边缘和管道化。SE控制权的博弈过程中,移动终端厂商一步步积累了愈来愈深厚的技术和业务实力,运营商的优势将越来越小,合理预期运营商被边缘和管道化是大势所趋。

9、 Q:Apply Pay方案在国内是否能成功复制?

A:Apply Pay在NFC原有的产业链上又新增了Token Requestor和Token SP,成功复制Apply Pay需要两个前提,或者拥有庞大的NFC手机用户体量(掌控eSE),或者成为数量稀缺的Token SP(掌控PAN至Token的映射核心数据)。原先看好小米,可惜米4不带NFC。

最后,还有一段私货如鲠在喉,不吐不快。EMV Payment Tokenisation Specification的发布日期是2014/4,版本为V1.0,而9月发布的iPhone6在Apple Pay应用中为移动支付率先引入Token体系,从规范发布到体系应用的时间差如此短,合理怀疑苹果是此规范幕后的推动人之一;16日苹果加入GP组织,步步为营的策略,再次对苹果硬件+软件+服务的全系统整合能力深表敬畏。

孙子兵法云:善攻者动于九天之上;善战者无赫赫之功。诚如斯言!

参考资料:EMVCo_Payment_Tokenisation_Specification_Technica1_Framework_v1.0.pdf

链接:http://www.emvco.com/specifications.aspx?id=263

本文系移动支付从业者谢勇原创,如需转载,请注明出处,谢谢。


本文转载自:http://www.emvco.com/specifications.aspx?id=263

共有 人打赏支持
吴鹏辉
粉丝 11
博文 7
码字总数 897
作品 0
松江
程序员
Apple Pay 应用内支付流程分析

接入方式 Apple Pay接入方式的选择上有两种。一种是使用 CUP SDK(CUP 就是 China Union Pay)等第三方的 SDK。另外一种就是使用 iOS 的 PassKit Framework 和银联的接口来接入。本质上来说,...

背锅侠
2016/02/23
79
0
Apple Pay编程指导

1.About Apple Pay Apple Pay是一种移动支付技术,让使用者把它们对真实的物品和服务的支付信息以一种方便和安全的方式给你。 对于在app中给出的数字物品和服务,可查看In-App Purchase Pro...

Chars-D
2016/02/27
91
0
Apple Pay--iOS开发

一、什么是Apple Pay?   1. 概念     Apple Pay,简单来说, 就是一种移动支付方式。通过Touch ID/ Passcode,用户可使用存储在iPhone 6, 6p等设备上的信用卡和借记卡支付证书来授权支付...

秦无炎
2016/07/11
5
0
Apple Pay-swift篇

这是上一篇的OC版 有一些文字说明,Merchant ID 证书配置 可以参照 补充一点证书方面的东西 签发机构在钥匙串中是以Apple Worldwide Developer Relations开头的证书Apple Worldwide Develop...

w_sen
2016/07/07
57
0
Apple Pay在APP应用内的集成

Apple Pay接入iOS端最主要的工作就是申请授权和SDK的集成,只要 授权的开发者才能接入sdk,apple通过授权team id的方式对开发者授权 最近在做这个东西,发现网上相关资料少的很,整理出来供准...

Marginx
2016/11/07
442
10

没有更多内容

加载失败,请刷新页面

加载更多

下一页

八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
30分钟前
1
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
0
0
890. Find and Replace Pattern - LeetCode

Question 890. Find and Replace Pattern Solution 题目大意:从字符串数组中找到类型匹配的如xyy,xxx 思路: 举例:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"abc ......

yysue
昨天
0
0
Linux | Redis

写在前面的话 常言道,不作笔记不读书。在下是深有体会啊,所以,跟我一起做下本节的笔记吧,或许多年以后,你一定会感谢今天的你。 安装 在官网的下载页 Redis Download 直接写了在Linux的安...

冯文议
昨天
1
0
NoSQL-memcached

NoSQL介绍 NoSQL叫非关系型数据库。而关系型数据库代表有MySQL。对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很...

ln97
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部