SET 协议全称是 Secure Electronic Transaction,中文叫做安全电子交易协议,它是专门面向互联网信用卡在线支付场景设计的加密通信协议,核心目标就是在开放的网络环境里面,保障银行卡在线交易全过程的身份可信数据保密交易不可篡改同时实现交易抗抵赖,SET 协议最早由维萨万事达两大卡组织联合多家科技厂商共同制定,主要解决早期网上支付存在的卡号泄露身份伪造交易篡改这些风险,协议把数字证书公钥加密数字签名双重签名这些密码学技术整合在一起,让持卡人商户银行支付网关多方之间可以安全完成线上刷卡交易,很多人会把 SET 协议和普通 HTTPS 混淆,HTTPS 只是单纯加密传输通道,而 SET 协议是完整的支付业务级协议,自带完整的交易流程和多方身份认证体系。
SET 协议的设计原理
SET 协议运行的基础是公钥密码体系和数字证书体系,参与一笔 SET 协议交易的主体一共分为四类,分别是持卡人商户发卡银行收单银行还有支付网关,支付网关是商户和银行内部金融网络之间的转接节点,是 SET 协议里面非常关键的设备,SET 协议最有特点的技术就是双重签名,这个设计可以做到商户只能看到订单信息,没办法获取持卡人完整的银行卡密钥相关敏感信息,银行只能校验支付指令,看不到订单商品明细,实现订单信息和支付信息的隔离保护,兼顾业务核验和隐私保护。
SET 协议设计初衷是解决开放公网下金融支付信任问题,因为互联网本身是无信任网络,如果不做专门协议约束,卡号交易报文很容易被监听篡改伪造,SET 协议通过密码学机制,让每一笔交易都可以追溯,交易发起方不能事后否认这笔交易。
SET 协议完整交易流程
清单
1 持卡人向商户发起购物请求,商户返回相关信息,持卡人申请并持有个人数字证书
2 持卡人生成订单信息和支付指令,使用双重签名对两份报文做签名处理
3 持卡人把签名之后的订单报文和支付报文发送给商户
4 商户校验订单签名,然后把支付相关报文转发给支付网关
5 支付网关校验报文签名,向收单银行发起授权请求
6 收单银行联系发卡银行完成授权审批,审批结果沿着原路返回商户和持卡人
7 授权通过之后,进入后续扣款清算流程,交易完成
SET 协议参与主体对比表格
| 参与主体 | 主要职责 |
|---|---|
| 持卡人 | 持有数字证书,发起支付,生成带双重签名的交易报文 |
| 商户 | 接收订单,校验订单签名,转发支付报文,不接触完整支付密钥 |
| 支付网关 | 连接公网与银行专网,校验 SET 报文,对接银行核心系统 |
| 收单银行 | 接收支付网关请求,和发卡银行完成交易授权清算 |
| 发卡银行 | 持卡人开户银行,审核账户,完成扣款授权 |
SET 协议优缺点与应用现状
优点
第一 安全机制完善,具备身份认证数据保密完整性抗抵赖多重安全能力
第二 双重签名设计有效隔离订单和支付信息,保护持卡人隐私
第三 属于行业标准化支付协议,跨卡组织兼容统一交易规范
缺点
第一 协议流程复杂,需要各方都部署数字证书,部署成本高
第二 报文运算量大,公钥加密签名运算多,交易响应速度偏慢
第三 对终端软件要求高,早期需要专门电子钱包软件,用户使用门槛高
应用现状,因为 SET 协议部署繁琐,后续逐渐被 3D Secure 等轻量化在线支付安全方案替代,现在大规模商用场景已经很少单独部署原始 SET 协议,但是它里面双重签名数字证书这套设计思想,仍然被后续各类线上支付安全协议借鉴。
总结,SET 协议就是安全电子交易协议,是基于公钥密码和数字证书的线上信用卡安全支付协议,核心特色是双重签名,用来保障多方在线支付安全,虽然现在原生 SET 协议已经不再主流使用,但是它是互联网金融支付安全领域非常重要的经典协议。
【常见问题】
问题 1 SET 协议和 HTTPS 协议有什么区别
回答 1 SET 协议是专门的线上信用卡安全电子交易协议,自带多方身份认证双重签名完整支付业务流程,HTTPS 只是传输层加密通道,没有支付业务层面的抗抵赖和订单支付信息隔离能力,SET 协议安全体系要比 HTTPS 更偏向金融交易。
问题 2 SET 协议里面双重签名起到什么作用
回答 2 SET 协议中的双重签名是核心技术,能够在 SET 协议交易里实现订单信息和支付信息分离,商户可以核验订单但是无法获取敏感支付密钥信息,银行核验支付报文但是看不到商品订单明细,保护持卡人隐私。
问题 3 现在为什么很少使用原始 SET 协议
回答 3 原始 SET 协议因为流程复杂证书部署成本高运算慢,用户需要专用电子钱包,落地难度大,所以后续被更轻便的支付安全方案替代,但是 SET 协议的密码学设计思路仍然被现代支付安全技术参考。
【免责申明】
本文内容仅作为计算机网络与支付安全知识学习参考,SET 协议相关技术说明基于公开标准资料,金融支付系统改造部署需要遵循国内金融监管相关规定,专业实施需要由具备资质的技术团队完成,本文不构成任何项目落地实施建议,因参考本文内容开展相关操作产生风险,由操作方自行承担。


