资讯专栏INFORMATION COLUMN

多层秘钥体系在POS刷卡支付领域中的应用

URLOS / 1418人阅读

摘要:前言刷卡交易属于传统的支付领域。本文以刷卡信息上送到支付平台为例,介绍多层秘钥体系的应用。是加密机最顶层秘钥,保密级别最高,称之为本地主密钥。下图体现的是一套四层的秘钥体系,加密机可以使用加密产生,使用加密产生,使用可以加密产生。

前言

POS刷卡交易属于传统的支付领域。在移动支付微信/支付宝的冲击下,刷卡支付的市场份额在逐渐萎缩,毕竟手机扫一扫比拿个银行卡刷卡输密方便多了。虽然移动支付大行其道,但是刷卡支付仍然有其存在的必要性,至少在大额支付领域仍然需要依赖刷卡支付。在使用磁条卡或者芯片卡进行刷卡交易时,必然涉及到敏感信息的传输,必然涉及到加密,而加密必然涉及到秘钥。如何管理秘钥的使用范围以及保障秘钥的传输安全,是加密过程中的重中之重。

本文来源于我的博客网站http://51think.net

一、关注点

我们可以把支付流程分成两三个部分,如下图,POS设备进行刷卡,将刷卡信息上送给支付平台,支付平台再将交易信息上送给银行。

两个信息上送阶段均涉及到信息的加密传输,加密的原理是一致的,加密中所使用的秘钥结构需要符合银联的安全规范要求。本文以刷卡信息上送到支付平台为例,介绍多层秘钥体系的应用。 先了解几个名词术语:
1、加密机

 加密机是一个硬件设备,具备加密、加密、秘钥管理等功能,它将加解密的操作全部封装在硬件里,具备很强的抗攻击能力。  

2、PIN信息

  持卡人的个人标识码,即银行卡密码。PIN信息在整个支付链路中都是以密文的方式存在,在POS设备中,PIN信息手动输入后直接到硬件层进行加密,黑客无法劫持。  

3、LMK/ZMK/TMK

 LMK是加密机最顶层秘钥,保密级别最高,称之为本地主密钥。LMK一般是由不同的人保管着不同的秘钥分量,然后不同的保管员在加密机分别输入自己保管的那一部分并合成一个LMK,没有人能够知道LMK的全部信息。ZMK(Zone Master Key)可以理解为区域主密钥,TMK(Terminal Master Key)可以理解为终端收单主密钥。LMK/ZMK/TMK均属于保护秘钥,保护秘钥是用来加密保护工作秘钥的,分层管理,不涉及到加密报文。   

4、收单主密钥

  收单主密钥在本例中称之为TMK,用来加密保护工作秘钥,签到时由服务器端ZMK加密产生。

5、工作密钥(workKey)

  工作秘密是真正用来加密敏感信息的秘钥,包含pin秘钥、mac秘钥以及data秘钥。比如pin秘钥用来加密银行卡密码信息,mac秘钥用来保障报文的完整性,data秘钥用来加密银行卡里的磁道信息。  

6、设备主秘钥(devKey)

   设备主秘钥是集成在POS硬件设备里的,作用和加密机的LMK类似。POS设备在出厂之前,需要从支付机构获取到设备主秘钥明文灌装到设备里。如果受到暴力攻击,设备主秘钥可以自动销毁。
二、多层秘钥体系

之所以称之为多层秘钥体系,是因为在这种模式下,可以根据安全复杂度要求,设置多层嵌套,层层保护,可以是三层,也可以是四层。下图体现的是一套四层的秘钥体系,加密机可以使用LMK加密产生ZMK,使用ZMK加密产生TMK,使用TMK可以加密产生pinKey、dataKey、macKey 。

由此可以看出,LMK需要绝对安全,否则所有的秘钥将会泄密。可否简化成三层?我们尝试把ZMK这一层删除:

由LMK直接加密产生收单主密钥TMK,只要LMK绝对安全,这样分层也是可以的。但是这种情况下,收单秘钥过于依赖LMK,不方便大规模的秘钥管理。如果加入了ZMK这一层,我们可以在逻辑层面上,将每个POS厂商分配一个ZMK,即使某个厂商的ZMK被泄露了,其他厂商也不会受到影响。如下图:

三、秘钥传输过程

从上文得知,TMK作为收单主密钥是用来加密保护工作秘钥的。那我们如何将TMK安全的送达到POS终端?这里必然涉及到网络传输,而网络传输必然会面临着报文被劫持的风险,所以TMK一定是密文的形式返回给POS终端。由此得知,我们需要一个新的秘钥用来加密TMK且这个新的秘钥也存在于POS终端,这个新的秘钥我们称之为设备秘钥。在POS设备出厂前,POS厂商使用API接口的方式从支付平台得到设备秘钥,然后灌装到设备硬件里。有了设备秘钥,后面的签到流程就可以解密相关秘钥了。如下图:

在POS设备中,维护这如下的秘钥关系:

何为签到?签到是银联的POS交易规范流程中的术语,在本例中,我们使用签到流程从支付平台获取收单主密钥和工作秘钥。支付平台控制这两个秘钥的生命周期,如果过期,则会产生新的收单主密钥和工作秘钥返回给POS终端。原则上工作秘钥的过期时间为一天,即使有黑客花费高昂代价解密了工作秘钥,第二天秘钥就会作废。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75175.html

相关文章

  • Java 类文章 - 收藏集 - 掘金

    摘要:而调用后端服务就应用了的高级特分布式配置管理平台后端掘金轻量的分布式配置管理平台。关于网络深度解读后端掘金什么是网络呢总的来说,网络中的容器们可以相互通信,网络外的又访问不了这些容器。 在 Java 路上,我看过的一些书、源码和框架(持续更新) - 后端 - 掘金简书 占小狼转载请注明原创出处,谢谢!如果读完觉得有收获的话,欢迎点赞加关注 物有本末,事有终始,知所先后,则近道矣 ......

    RayKr 评论0 收藏0
  • 不谈业务运维的IT主管早晚被淘汰 这里是10条干货

    摘要:由此可见,一旦从传统的技术运维上升到业务运维,发挥的作用出乎意料,而这正是的未来所在。这不是由厂商驱动的,而是业内趋势有关。业务运维关注的是业务,是从用户的视角出发,关注点不同。业务运维有三个方面。业务运维已经进入应用阶段。 大数网 吴玉征 先说个真实的故事。 前...

    Kahn 评论0 收藏0
  • 习辉:如何构建现代化的金融云服务体系

    摘要:下面金融信息化研究所习辉副所长给我们带来怎么构建现代化的金融云服务体系,就会涉及到这方面的内容。金融业做供给侧改革的时候已经认识到我们的供给是不足的,我们提出构建多层次金融服务体系,需要组织架构来保障,我们需要更多的金融服务机构。李晓枫:谢谢小徐,关于银行上云我啰唆两句,白皮书提出中小银行上云应该走行业云模式,大银行,全国股份制银行、商业银行走的是自建私有云,技术路线是双核,一个核是IOE,...

    bladefury 评论0 收藏0

发表评论

0条评论

URLOS

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<