我的63大支付安全方法论,让我20年支付生涯,没出过一次事故,没丢过一分钱
分类 [产品经理]
2025/8/25 9:51:27 浏览量 588 喜欢 2
导读:7大安全策略
做支付,最怕什么
“信息泄露了”、“被篡改了”、“交易被抵赖了”、“服务被攻击了”——“钱丢了”
而我依靠下面这些20年沉淀下来的底层支付安全方法论,没出过一次事故、没丢过一分钱
1. 在线支付面临的主要安全问题
账号或密码等敏感信息被盗用。
交易信息被篡改。


交易信息被抵赖。

欺诈交易
服务不可用攻击。

2. 支付安全核心关注点

敏感信息安全存储。
交易信息安全传输。
交易信息的防篡改与防抵赖。
欺诈交易防范。
服务可用性。
3. 极简支付安全大图

制度是基础。
技术手段主要围绕四个目标:
1)敏感数据安全存储。
2)交易安全传输。
3)交易的完整性和真实性。
敏感信息安全存储:采用加密技术对个人和商户/渠道的敏感信息进行加密存储,限制敏感信息的访问权限,防止未授权的访问和泄露。 交易信息安全传输:使用安全套接字层(SSL)或传输层安全性协议(TLS)等加密技术,确保数据在传输过程中的机密性和完整性。 交易的完整性和真实性:采用数字签名技术和身份认证技术确保交易信息的完整性和真实性,对交易信息进行记录和审计,建立可追溯的交易日志,以应对可能出现的交易篡改或抵赖情况。 防范欺诈交易:通过支付风控系统,及时识别和阻止可疑交易行为。 服务可用性:部署流量清洗设备和入侵检测系统,及时发现并阻止恶意流量,确保支付系统的稳定运行和服务可用性,抵御DDoS攻击。
4. 数据安全:加密与解密技术
4.1. 什么是加密和解密

4.2. 对称加密算法

AES(Advanced Encryption Standard,高级加密标准):
特点:安全性高,速度快,密钥长度可变。
应用场景:广泛应用于网络通信、文件加密、数据库加密等领域。也是支付行业使用的主流对称加密算法。
DES(Data Encryption Standard,数据加密标准):
特点:较为古老,密钥长度较短(56位),安全性相对较弱。
应用场景:曾经广泛应用于保护数据传输和存储,但由于密钥长度较短和安全性较弱,现已基本被AES取代。
3DES(Triple DES,三重数据加密标准):
特点:通过对数据使用三次DES算法加密来增强安全性,但速度较慢。
应用场景:曾被广泛用于替代DES,但由于速度较慢,已经基本被AES取代。
RC4(Rivest Cipher 4):
特点:速度快,简单易用。
应用场景:曾经用于保护网络通信和SSL/TLS协议中的加密,但由于安全性存在问题,已经不推荐使用。
IDEA(International Data Encryption Algorithm):
特点:速度快,安全性高。
应用场景:曾经用于网络通信和文件加密,但由于专利限制和更先进的算法出现,应用逐渐减少。
4.3. 非对称加密算法

RSA(Rivest-Shamir-Adleman):
特点:安全性高,可靠性强,广泛应用。
应用场景:用于加密通信、数字签名、密钥交换等各种安全领域。支付行业用得非常多。
DSA(Digital Signature Algorithm):
特点:用于数字签名,验证速度快。
应用场景:主要用于身份验证和数字签名,例如在SSL/TLS协议中用于网站认证。
ECC(Elliptic Curve Cryptography):
特点:密钥长度短,安全性高,加密效率高。
应用场景:适用于移动设备和资源受限环境,例如智能手机、物联网设备等。
DH(Diffie-Hellman):
特点:用于密钥交换,实现安全的密钥协商。
应用场景:用于安全通信中的密钥协商,例如SSL/TLS协议中的密钥交换阶段。
4.4. 数字信封加密算法

4.5. 加密算法和密钥长度选择
安全性:
非对称加密算法通常比对称加密算法更安全。比如RSA(非对称加密)好于AES(对称加密)。 同类算法,新算法通常比老算法更安全。比如AES和DES都是对称加密算法,但是AES的安全性优于DES。 相同算法,密钥越长,越安全,因为密钥越长,密钥空间越大,破解的难度就越大。比如AES 256(密钥长度)的安全性优于AES 128(密钥长度)。
性能:
对称加密算法通常比非对称加密算法运算更快。比如AES(对称加密)好于RSA(非对称加密)。 相同算法,密钥越长,运算越慢,性能越差。比如AES 256(密钥长度)就比AES 128(密钥长度)要慢。因为密钥长度增加了加密操作的复杂度和计算量,需要更多的计算资源和时间来执行加密和解密操作。
4.6. 常见加密解密算法推荐
4.7. 典型应用场景
传输加密:保护交易数据在互联网上传输过程中的安全,防止数据被窃听或篡改。

存储加密:对敏感数据比如信用卡信息、用户身份证信息、密码等需要进行加密后存储到数据库中,以防止数据泄露。

4.8. 登录与支付密码的特殊处理
4.8.1. 登录与支付密码传输的特殊处理

4.8.2. 登录与支付密码存储的特殊处理

防止彩虹表攻击。彩虹表是一种预先计算出来的哈希值数据集,攻击者可以使用它来查找和破译未加盐的密码。通过为每个用户加盐,即使是相同的密码,由于盐值不同,加密后的密文也是不一样的。 保护相同密码的用户。如果多个用户使用了相同的密码,没有盐值情况下,一个被破解后,就能找到使用相同密码的其它用户。每个用户不同的盐值,确保生成的密文不同。 增加破解难度。尤其是密码较弱时,显著增加攻击者难度。
随机和唯一:每个用户都是随机和唯一的。 存储盐值:每个用户的密码和盐值都需要配对存储。因为在加密密钥更新时,需要使用盐值一起先解密再重新加密。 盐值足够长:增加复杂性,推荐至少128位。
4.9. PCI

4.10. 加解密在工程应用中的常见问题
5. 防篡改与防抵赖:签名与验签技术
5.1. 什么是签名与验签
签名:Σ=S[H(m), Pr]。

散列消息:对消息(m)应用散列函数(H)生成散列值(h)。 加密散列值:使用发送方的私钥 ( Pr ) 对散列值 ( h ) 进行加密,生成签名 ( Σ )。Σ = S(h, Pr)
散列收到的消息:使用同样的散列函数 ( H ) 对消息 ( m ) 生成散列值 ( h' )。h' = H(m) 解密签名:使用发送方的公钥 ( Pu ) 对签名 (Σ ) 进行解密,得到散列值 ( h )。h = S^(Σ, Pu) 比较散列值:比较解密得到的散列值 ( h ) 与直接对消息 ( m ) 散列得到的 ( h' ) 是否一致。验证成功条件:h = h' 。
5.2. 支付系统为什么一定要做签名验签
身份验证:确认支付信息是由真正的发送方发出,防止冒名顶替。
完整性校验:确认支付信息在传输过程中未被篡改,每一笔交易都是完整、准确的。
防抵赖性:避免任何一方否则曾经进行过的交易,提供法律证据支持。

双方先交换密钥,可以通过线下邮件交换,也可以通过线上自助平台交换。 请求方发出交易报文前使用自己的私钥进行签名,接收方接收报文后先进行验签,验签通过后再进行业务处理。 接收方处理完业务,返回前使用自己的私钥进行签名,请求方接收返回报文后先进行验签,验签通过后再进行业务处理。
5.3. 常见数字签名算法及推荐算法
RSA(Rivest-Shamir-Adleman):RSA是一种基于大素数因子分解难题的非对称加密算法,被广泛应用于数字签名和密钥交换等领域。 DSA(Digital Signature Algorithm):DSA是一种基于离散对数问题的数字签名算法,主要用于数字签名领域。 ECDSA(Elliptic Curve Digital Signature Algorithm):ECDSA是一种基于椭圆曲线离散对数问题的数字签名算法,具有比RSA更短的密钥长度和更高的安全性。 EdDSA(Edwards-curve Digital Signature Algorithm):EdDSA是一种基于扭曲爱德华斯曲线的数字签名算法,具有高效性和安全性,被广泛用于加密货币等领域。
5.4. 一些与防篡改有关的技术
5.4.1. 数字摘要

MD5(Message Digest Algorithm 5): MD5是一种常用的哈希算法,产生128位的哈希值。然而,由于MD5存在严重的安全性缺陷,已经不推荐用于安全性要求较高的场景。 SHA-1(Secure Hash Algorithm 1): SHA-1是一种较为安全的哈希算法,产生160位的哈希值。然而,由于SHA-1也存在一些安全性问题,如碰撞攻击,因此在一些安全性要求较高的场景中也不推荐使用。 SHA-256、SHA-384、SHA-512: 这些是SHA-1的后续版本,分别产生256位、384位和512位的哈希值。它们提供了更高的安全性,通常被用于对安全性要求较高的数据进行摘要。 RIPEMD(RACE Integrity Primitives Evaluation Message Digest): RIPEMD系列是一组与MD4和MD5相似的哈希算法,产生128位、160位、256位和320位的哈希值。虽然不如SHA系列算法流行,但在某些场景下仍然有用。 BLAKE、Keccak、Whirlpool等: 这些是一些新兴的哈希算法,设计更加安全和高效,被广泛用于密码学和区块链等领域。
5.4.2. HMAC算法

5.4.3. 数字时间戳

5.4.4. 双重数字签名

用户、商户、银行分别向CA机构申请证书,这个在图中已经省略。 用户选购后,先把订单信息生成摘要,然后把支付信息也生成摘要,把两个摘要拼接起出新的摘要,最后使用自己私钥签名,也就是双重签名信息。 用户把“订单信息 + 支付信息摘要 + 双重签名串”发给商户,商户根据订单信息生成摘要,并与支付信息摘要拼接后,拿用户的公钥进行验签。 用户把“支付信息密文 + 商户信息摘要 + 双重签名串”发给银行(也可以通过商户发给银行),银行先使用自己的私钥解密出支付信息明文,生成摘要,再与订单信息摘要拼接后,拿用户的公钥进行验签。 上述过程中,商户不知道用户的支付信息,比如卡号等,银行不知道用户的订单信息,比如买了什么,但是商户和银行能判断对方是真实的。
6. 身份合法性判断:身份认证技术
6.1. 什么是身份认证
6.2. 常见的身份认证方法
用户名和密码认证。这没什么好说的,最常见的身份认证方式,但安全性相对较低,容易受到密码猜测、密码泄露等攻击。 多因素认证(MFA)。就是要求用户同时使用2种方式验证身份,包括密码、短信验证码、指纹识别、人脸识别、硬件令牌等。一般是后台风控识别有风险时,才会这样。也经常叫风控挑战。 生物特征认证。使用个体的生物特征(如指纹、虹膜、声纹、人脸等)来进行身份验证。这种认证方式通常需要专门的硬件设备来捕获生物特征,并使用算法进行比对。 单点登录(SSO)与Oauth。用户只需在一个系统登录,就可以授权访问其它系统。比如大家可以使用微信或支付宝来登录微博、小红书等。 数字证书。由CA机构颁发个人数字证书,这个比较少见。
6.3. 数字证书
公钥: 数字证书中包含了一个实体的公钥,用于加密和解密通信数据。 持有者信息: 数字证书中包含了证书持有者的身份信息,如姓名、电子邮件地址等。 颁发者信息: 数字证书中包含了颁发该证书的证书颁发机构的信息,包括机构名称、联系方式等。 有效期限: 数字证书中包含了证书的有效期限,即证书的生效日期和失效日期。 数字签名: 数字证书中包含了颁发者对证书内容的数字签名,用于验证证书的真实性和完整性。
6.4. 数字证书颁发机构CA
颁发数字证书: CA颁发数字证书给证书申请者,并确保证书的有效性和真实性。在颁发数字证书之前,CA会对证书申请者进行身份验证,以确保其身份的合法性。 证书管理: CA负责管理已颁发的数字证书,包括证书的更新、吊销和查找等操作。CA会定期检查数字证书的有效性,并对已过期或失效的证书进行吊销操作。 证书验证: CA提供数字证书的验证服务,用于验证数字证书的真实性和完整性。通过验证数字证书的签名和证书链,可以确保数字证书的合法性,并确认证书持有者的身份。 信任链管理: CA维护一个信任链,用于建立数字证书的信任关系。信任链包括根证书、中间证书和终端证书,每个证书都由上级证书签名,直至根证书,确保数字证书的信任可靠性。
6.5. PKI
数字证书: PKI使用数字证书来证明实体的身份,其中包含了实体的公钥以及其他相关信息,如证书的颁发者、有效期等。数字证书由证书颁发机构(CA)颁发,并通过数字签名保证其真实性和完整性。 证书颁发机构(CA): CA是负责颁发、管理和验证数字证书的可信机构。CA通过数字签名对数字证书进行签名,以证明证书的真实性,并提供证书撤销服务(CRL或OCSP)来吊销已失效的证书。 注册机构(RA): RA是CA的辅助机构,负责用户身份验证和数字证书的申请处理。RA通常收集用户的身份信息,并将其提交给CA进行审批和颁发数字证书。 证书存储库: 证书存储库用于存储和管理已颁发的数字证书,以便用户和应用程序检索和验证证书。 密钥管理: PKI提供了密钥生成、分发和管理的功能,包括公钥和私钥的生成、存储和交换。
7. 数据传输安全:常见的传输安全协议

7.1. SSL
加密通信: SSL协议使用加密算法对通信数据进行加密,以防止被窃听者窃取敏感信息。它支持多种加密算法,包括对称加密算法(如DES、3DES、AES)和非对称加密算法(如RSA、Diffie-Hellman)等。 完整性验证: SSL协议使用消息认证码(MAC)或数字签名来验证通信数据的完整性,以防止数据被篡改。接收方可以通过验证MAC或数字签名来确保收到的数据未被篡改。 身份认证: SSL协议支持服务器和客户端之间的身份认证,以确保通信双方的身份是合法的。服务器通常会提供数字证书来证明其身份,客户端可以使用证书来验证服务器的身份。SSL还支持双向身份认证,即客户端和服务器都可以进行身份认证。 会话管理: SSL协议支持会话复用,以减少握手过程的开销和提高通信效率。
7.2. TSL
7.3. HTTPS
建立安全连接: 客户端向服务器发送连接请求时,服务器会返回自己的数字证书,证明自己的身份和公钥。客户端收到服务器的数字证书后,会验证证书的真实性和有效性。 协商加密算法: 客户端和服务器在建立连接时会协商使用的加密算法和密钥长度,以确保通信数据的机密性和安全性。 数据加密传输: 客户端使用服务器的公钥加密通信数据,并将加密后的数据发送给服务器。服务器收到加密数据后,使用自己的私钥解密数据。 身份验证: 在建立连接时,服务器发送的数字证书可以用于验证服务器的身份。如果证书验证通过,客户端就可以信任服务器,并继续进行安全通信。
7.4. VPN与专线
VPN:
VPN是通过公共网络(如互联网)建立的虚拟私有网络,用于安全地连接远程地点或用户到企业内部网络。 VPN使用加密和隧道技术,将数据在公共网络上进行加密和传输,以确保通信的安全性和隐私性。 VPN通常依赖于软件或硬件设备(如VPN服务器、VPN客户端和VPN路由器)来建立和管理安全连接。
专线:
专线是一种物理连接,通常由电信提供商提供,用于在两个或多个地点之间建立私有的、专用的网络连接。 专线可以是光纤、电缆或其他物理媒介,通常具有固定的带宽和可靠的连接质量。 专线不依赖于公共网络,因此通常具有更高的安全性和稳定性,适用于需要高可靠性和低延迟的应用场景。
8. SET协议:过于复杂的设计
双重身份认证: SET协议要求商家和消费者之间进行双重身份认证,以确保双方的身份是合法的。商家需要向信用卡机构提供数字证书以证明其身份,而消费者需要使用数字证书和PIN码来验证其身份。 加密通信: SET协议使用加密算法对通信数据进行加密,以防止被窃听者窃取敏感信息。它采用了对称加密和公钥加密相结合的方式,保护交易数据的安全性。 数字签名: SET协议使用数字签名来验证交易的完整性和真实性,防止交易数据被篡改。商家在向消费者发送订单信息时使用自己的私钥进行签名,消费者在确认订单时可以验证商家的签名以确保订单的真实性。 安全证书管理: SET协议使用数字证书来验证交易参与者的身份,确保其合法性和可信度。商家和消费者都需要持有有效的数字证书,并通过信任的证书颁发机构(CA)进行验证。
9. 网络流量安全:防火墙与入侵检测
防火墙(Firewall): 防火墙是一种网络安全设备,用于监控和控制网络流量,阻止未经授权的访问和恶意流量进入网络。它可以根据预先定义的安全策略过滤和阻止来自Internet或内部网络的流量,从而保护网络免受攻击和入侵。 入侵检测系统(IDS): 入侵检测系统是一种监视网络流量和系统活动的安全设备,用于检测和警报可能的安全威胁和入侵行为。IDS可以根据事先定义的规则或行为模式检测异常活动,并生成警报或采取措施来应对潜在的威胁。 入侵防御系统(IPS): 入侵防御系统是一种进一步加强网络安全的设备,它不仅能够检测和警报安全威胁,还可以主动阻止和防御入侵行为。IPS可以根据IDS的警报自动采取措施,如阻止恶意流量、更新防火墙规则等,以加强网络的安全性。 漏洞扫描器(Vulnerability Scanner): 漏洞扫描器是一种用于检测计算机系统和网络中存在的安全漏洞和弱点的工具。它可以自动扫描系统和网络,发现潜在的漏洞,并提供建议和修复措施,以减少系统受到攻击的风险。
10. 防欺诈交易:支付风控

你一直在中国小额支付,突然在国外支付2万。 平时一直使用IPHONE(风控会保存你的设备详细信息),突然使用Android机器支付2000块。 一般都是10天买件商品,实然10分钟内支付50笔。
11. 进阶扩展:统一密钥存储与安全服务
11.1. 为什么需要统一安全存储密钥

需要定期更新,减少被破解的风险。 自动定时更新,减少人为失误。‘ 版本控制和回滚:要有版本号,要能快速回滚。
11.2. 统一密钥平台系统架构

需要使用硬件加密机HSM生成并保存主密钥。 工作密钥被主密钥加密后,保存到DB中。 各应用调用密钥管理系统进行加密解密、签名验签,保证密钥不被业务应用读取,减少泄露风险。
12. 结束语
大数据块加解密:使用对称加密算法AES,密钥长度256比特,简称AES256。
小数据块及签名验签:使用非对称加密算法RSA,密钥长度2048,简称RSA2048。
摘要算法:使用SHA256。且摘要算法不推荐用于需要签名验签的场景。
个人登录/支付密码:一定要加盐值进行混淆。
网络传输和文件传输:需要使用HTTPS和SFP提高数据传输安全性。
整体的安全性,需要同时用到对称加密、非对称加密,数字签名,数字证书等多种技术手段。
标签 支付