數據加密在支付系統中的工作原理
付款系統運行最敏感的數據-PAN(卡號),有效期,CVV/CVC,3-DS令牌,銀行詳細信息,錢包ID。他們的泄漏包括罰款,銀行/PSP的商人召回以及直接的財務損失。保護是分層構建的:鏈路加密(TLS),存儲加密和/或令牌化,嚴格的密鑰管理和硬件信任模塊(HSM)。下面-安全的整個「管道」用簡單的語言。
基本磚塊
對稱密碼學
算法:AES-GCM/CTR/CBC(事實上的標準-AES-GCM)。
優點:高速,緊湊型鑰匙。
缺點:您需要安全地協商密鑰和IV/nonce。
非對稱密碼學
算法:RSA-2048/3072,ECC(P-256/384,Ed 25519)。
用途:密鑰交換/包裝,簽名,PKI, TLS證書。
優點:不需要事先共享秘密。
缺點:比對稱加密慢。
Идея Perfect Forward Secrecy (PFS)
會話密鑰由effemer ECDHE協商。即使服務器私有密鑰曾經泄漏,過去的會話仍然無法加密。
加密「在路上」: TLS 1。2/1.3
1.握手(TLS握手):客戶端和服務器同意版本/密碼,服務器出示證書(PKI),交換臨時密鑰(ECDHE)→會話對稱密鑰誕生。
2.數據:通過AEAD模式(AES-GCM/ChaCha20-Poly1305)進行身份驗證。
3.優化:TLS 1。3減少回合,保持恢復;0-RTT謹慎使用(僅限等效查詢)。
4.付款人的做法:我們禁止SSLv3/TLS1。0/1.1,包括TLS1。2/1.3、OCSP stapling, HSTS,嚴格的安全頭條。
「存儲」加密: at rest
備選方案
完整卷/DB加密(TDE):快速輸入,防止對介質的「冷」訪問,但不防止通過受損應用程序泄漏。
按位/字段級別(FLE):加密各個字段(PAN、IBAN)。顆粒化,但在實現和索引化方面更難。
格式保護加密(FPE):當需要視圖「16位數字為16位數字」時很有用。
令牌化:PAN被令牌取代(無意義的字符串);真正的PAN在增強的保護下存儲在token vault中。付款/退貨時使用令牌→商人不處理「原始」卡。
一個關鍵的想法
在存儲中,重要性不是「哪種算法」,而是密鑰位於何處以及誰可以進行分解。所以……
密鑰管理: KMS、HSM和信封
密鑰層次結構(envelope encryption)
Root/KEK(密鑰加密密鑰):高保護級別,存儲並在HSM中執行。
DEK(數據加密密鑰):加密特定數據/批次/表;由KEC加密。
輪換:KEK/DEK計劃內和計劃外(事件)輪換的法規;密碼元數據中指定密鑰版本。
HSM (Hardware Security Module)
經過認證的硬件模塊(例如FIPS 140-2/3),用於存儲和執行內部密鑰操作。
不向外發出私人鑰匙,支持使用限制/政策,審核。
用於:密鑰生成、DEK包裹、服務器密鑰3-DS、EMV密鑰、PIN操作、消息簽名。
KMS
集中密鑰策略、驗證、訪問、日誌和API。
在與HSM的結合中,實現了envelope加密和自動旋轉。
卡標準和行業特點
PCI DSS(和最小化邏輯)
主要思路:不存儲CVV,最小化PAN處理區域(scope)。
在可能的情況下-在Hosted Fields/Iframe PSP上輸入PAN →商人無法訪問原始數據。
Logs, backaps, dumps-與prod相同的規則:掩碼、加密、回避。
EMV, PIN и POS
EMV芯片/聯系人:地圖/終端級別的密碼,防克隆魔術師帶。
PIN單元和ISO 9564: PIN從pin pad加密到處理,可與HSM (pin translation,關鍵區域)配合使用。
DUKPT (Derived Unique Key Per Transaction):在POS上,每筆付款都使用BDK衍生的唯一密鑰加密→損害一條消息不會拉動其他消息。
PCI P2PE:認證的「端到端」加密方案,從點對點到解密提供商。
3-D Secure (2.x)
卡持卡人的身份驗證→小於炸藥/沖鋒槍。
密碼學用於消息簽名,服務器ACS/DS/3DS密鑰交換;私鑰通常在HSM中。
標準數據保護體系結構
選項A(具有PSP的在線商人):- 瀏覽器→ HTTPS →主機PSP(PAN不屬於商人)。
- PSP返回支付令牌。
- 商品的DB存儲令牌+最後4位數字和BIN(用於UX和規則)。
- 退貨/重播-僅通過令牌。
- 秘密/密鑰在KMS中,私鑰TLS/3-DS在HSM中。
- 應用程序↔ API是TLS/mTLS。
- 敏感字段是FLE/FPE或令牌化;vault是隔離的。
- 僅通過具有「四眼」的服務角色訪問排毒,通過HSM訪問操作。
- Pin-pad → DUKPT/P2PE →處理。
- 終端加載密鑰是通過受保護的關鍵噴射器/HSM。
- 日誌化,防擾器設備保護。
輪換、審計和事件
按鍵輪換:有計劃(X個月一次)和事件(損害)。新的KEK下的DEK rewrap不解密用戶數據。
不變期刊:誰以及何時訪問排毒/密鑰;簽名日誌。
Runbook的罪名:立竿見影的revoke/rotate,證書重發,API密鑰塊,合作夥伴通知,回顧。
常見錯誤以及如何避免錯誤
1.「我們正在加密DB,這意味著一切。」
沒有。受損的應用程序將數據讀取為打開。需要令牌/FLE和最小權利原則。
2.CVV存儲。
你不能。CVV從未存儲過,甚至沒有加密(通過PCI DSS)。
3.數據旁邊的密鑰。
你不能。密鑰在KMS/HSM中,訪問-通過角色,最低特權,個別帳戶。
4.沒有輪換/版本。
始終將密鑰轉換,將「key_version」存儲在密文元數據中。
5.TLS僅在外圍。
加密CDN/WAF後面和數據計劃內(servis→servis, webhooks)。
6.標記化「用於物種」。
如果任何服務都可以使用detokenize,則不是保護。限制到狹窄的圈子並審核呼叫。
7.不負責任的備份/分析卸載。
加密和掩蔽應擴展到備份,狙擊,BI店面,徽標。
實施支票清單(簡短)
運河
TLS 1.2/1.3、PFS、mTLS用於內部和網絡手冊、HSTS、嚴格的安全頭條。
存儲功能
PAN令牌,CVV存儲禁令。
關鍵字段的FLE/FPE;TDE作為基礎層。
鑰匙
KMS+HSM,envelope加密(KEK/DEK),輪換/版本,不變日誌。
體系結構
主機場/PSP SDK,PCI區域最小化。
角色/網絡分離,零信任,秘密-僅通過秘密經理。
業務活動
Pentest/Red團隊的外圍和業務邏輯。
DLP/CTI李子監測,員工培訓。
Runbook на compromise: revoke/rotate/notify.
迷你常見問題
什麼是PAN最好的: 加密或令牌化?
在產品中,是令牌化(最大限度地減少scope)。在vault中-使用HSM/KMS加密。
付款域是否需要EV證書?
沒有約束力。更重要的是正確的TLS配置文件,mTLS,HSM中的密鑰和紀律。
TLS 1中是否可以使用0-RTT。3用於付款?
對於偶然的GET-是的。對於開機自檢,最好關閉或限制。
如何存儲「最後4」和BIN?
與PAN分開;如果正確隔離,這些數據不是敏感數據,但要遵守邏輯/BI中的掩碼。
付款系統中的加密不是單個撥號器,而是生態系統:鏈路中的TLS/PFS,存儲中的令牌化和/或FLE,通過KMS+HSM進行嚴格的密鑰管理,行業標準(PCI DSS,EMV,3-DS),輪換和審核。這種多層體系結構使得卡數據泄露的可能性極小,使審計更容易通過,最重要的是,它保留了銀行,支付合作夥伴和用戶的信任。