成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

圖解支付系統安全設計(精華篇)

安全 移動安全
支付安全是支付系統最重要的根基之一,沒有支付安全,在線支付系統就無從談起。但是安全又是一門很大的學科,涉及密碼學,網絡設備,法律法規,流程制度等方方面面。

1. 序

今天和大家聊聊支付系統安全設計的一些核心知識點。

進入正題前,繼續先講個小故事。

多年前國內還沒有斷直連,我當時負責對接銀行通道,因為銀行對安全看得很重,部署了很多硬件加密機,在接口上也要求我們使用硬件加密機。當時公司有上千名研發工程師,但都沒有硬件加密機的使用經驗,我是第一個。當時還需要經常跑到機房去操作硬件加密機,因為硬件加密機的要求設計要求,很多管理操作是要多張IC卡加獨立口令通過管理口登錄才能進行,不能遠程操作。

記得第一次從加密機廠家提供的使用手冊和技術規范讀到主密鑰,區域主密鑰,工作密鑰等概念,讓我如同開了天眼:原來密鑰還分這么多種,一個密鑰還需要另外一個密鑰來保護!

對接完渠道后,發現我們很多密鑰都明文放在代碼、配置或數據庫中,其實是不安全的,于是利用硬件加密機作為主密鑰服務,設計了一套統一密鑰存儲與加解密系統,并推廣到了全公司使用。

在設計統一密鑰存儲與加解密系統過程中,啃了好幾本密碼學和信息安全方面的大部頭書,所以支付安全相關的知識儲備還是可以的。

在一些大型互聯網公司或專業的支付公司,有專業的安全團隊提供安全保障,但很多中小型公司其實是沒有這方面的技術或人才儲備的,那么可以根據這篇文章做一個初步的了解:支付安全如何做。

以前發過一篇1萬7千字的長文論述支付安全設計,這里抽取出精華部分,想了解更多細節的,可以去找那篇“一文搞懂支付安全”看看。

2. 前言

支付安全是支付系統最重要的根基之一,沒有支付安全,在線支付系統就無從談起。但是安全又是一門很大的學科,涉及密碼學,網絡設備,法律法規,流程制度等方方面面。

這里只談一些和軟件研發比較緊密的一部分內容,不涉及網絡防火墻等網絡設備安全。主要包括以下幾點內容:

  1. 支付安全體系概要;
  2. 常見加解密、加驗簽等密碼學知識。
  3. 統一密鑰存儲及加解密系統設計概要。

3. 支付安全體系概要

3.1. 支付安全核心關注點

圖片

安全的范圍很廣,我們重點關注以下幾點:

  1. 傳輸安全:個人與支付平臺,商戶與支付平臺,支付與外部銀行渠道都需要有數據傳輸。這些數據要求:1)不可被盜取。2)不可以篡改。
  2. 存儲安全:個人敏感信息,密碼信息,交易數據等,都需要被安全存儲。
  3. 交易安全:確保各交易方都是合法的(身份驗證),交易內容是合法的(安全合規與防欺詐),交易數據是合法的(防篡改防抵賴)。

3.2. 支付安全體系大圖

圖片圖片

制度是基礎,指導各項安全措施落地。

3.3. 傳輸安全

這里的傳輸安全主要指支付平臺和外部的數據傳輸,包括用戶、商戶、銀行渠道等。

最簡單的當然是加密后再傳輸。但是所有數據全部經過加密后再傳輸比較麻煩,還有一個辦法就是直接把傳輸的管道進行加密,然后傳輸明文數據。

圖片圖片

SSL,TLS,HTTPS,VPN,專線等技術都是屬于這類技術。

3.4. 存儲安全

存儲安全不是簡單地加密后保存到數據庫,這樣的成本太高。通常數據的安全級別是不一樣的,下面是一個不太嚴謹的分級及應對手段:

  1. 支付密碼:安全等級非常高,加密后存儲,且加密用的主密鑰需要保存到硬件加密機中。
  2. 信用卡有關的敏感數據:安全等級高,加密后存儲,且需要單獨保存在PCI區域,供年度檢查認證。
  3. 個人敏感數據:安全等級中,加密后存儲。
  4. 普通交易數據:安全等級低,明文存儲。雖然是明文存儲,但仍然受公司的安全網絡設備保護。

需要留意的是,敏感信息是不能打印明文到日志中的,這是大家經常容易忽略的地方。

3.5. 交易安全

交易安全涉及的范圍比較廣,甚至上面說的傳輸安全和存儲安全也可以納入到交易安全的范圍。

嚴格意義上的交易安全通常指:確保各交易方都是合法的(身份驗證),交易內容是合法的(安全合規與防欺詐),交易數據是合法的(防篡改防抵賴)。

身份驗證:證明你是你。比如登錄密碼,支付密碼,個人證書,手機驗證碼等。

安全合規與防欺詐:買賣的交易標的是合法的(安全合規),沒有被盜刷(欺詐交易)等。比如買賣國家保護動物就是非法不合規交易;支付密碼被盜后的交易就是欺詐交易。

防篡改防抵賴:通過數字簽名技術,防止數據被篡改或事后抵賴。比如商戶發了一筆轉賬交易,事后說沒有發過這筆交易,就是抵賴。

4. 密碼學知識入門

只要涉及到安全,就一定繞不開密碼學。上面提到的大部分問題在技術上的落地,基本上都是圍繞密碼學在打轉。

4.1. 加解密算法

加解密算法的核心作用就是明文數據信息不被竊取。

4.1.1. 什么是加解密

加密是將明文通過一定的算法和密鑰轉換成無法識別的密文的過程。比如把明文“123”轉成“aexyeffidfdfwsd”。

解密則是加密的逆向過程,通過一定的算法和密鑰將密文轉換成明文的過程。比如把密文“aexyeffidfdfwsd”轉成“123”。

圖片圖片

4.1.2. 對稱加密算法

對稱加密是使用相同的密鑰(稱為對稱密鑰)進行加密和解密。雙方須共享相同的密鑰。好處是使用簡單且高效,缺點是密鑰分發和管理容易泄露。

圖片圖片

常見的對稱加密算法有:

  1. AES(Advanced Encryption Standard,高級加密標準): 安全性高,速度快,密鑰長度可變。廣泛應用于網絡通信、文件加密、數據庫加密等領域。也是支付行業使用的主流對稱加密算法。
  2. DES(Data Encryption Standard,數據加密標準),3DES(Triple DES,三重數據加密標準), RC4(Rivest Cipher 4),IDEA(International Data Encryption Algorithm)等都因為安全性不夠,已經不再推薦使用。

AES目前被認為是最安全和最常用的對稱加密算法,推薦在支付行業使用。密鑰長度128比特當前夠用,但推薦256比特。

AES在實際使用時,還需要有很參數要配置,比如加密模式就有CBC,ECB、CFB等。

4.1.3. 非對稱加密算法

非對稱加密算法使用一對密鑰(公鑰和私鑰)進行加密和解密。這種加密方式具有密鑰分離的特點,即公鑰可以公開分發,而私鑰則保密保存。

公鑰用于加密數據,私鑰用于解密數據,一定不能反過來。原因很簡單,公鑰大家都有,如果使用私鑰加密,公鑰解密,大家都可以解密,就沒有安全性可言。

另外,非對稱加密算法也用于簽名驗簽,拿私鑰簽名,公鑰驗簽(不能反過來)。

圖片圖片

以下是一些常見的非對稱加密算法:

  1. RSA(Rivest-Shamir-Adleman): 安全性高,可靠性強,廣泛應用。用于加密通信、數字簽名、密鑰交換等各種安全領域。支付行業用得非常多。
  2. ECDSA(橢圓曲線數字簽名算法): 安全性高,密鑰短。ECDSA是比特幣(Bitcoin)和其他許多加密貨幣使用的簽名算法。它基于橢圓曲線密碼學(ECC),提供了與更大密鑰的RSA算法相比更小的密鑰尺寸,同時保持了相同的安全性。

RSA當前在支付行業應用非常廣泛,推薦密鑰長度為2048比特或以上。

4.1.4. 數字信封加密算法

數字信封加密算法組合了對稱加密、非對稱加密、數字簽名和驗簽等多種加密技術。之所以經常被稱為數字信封,是因為傳輸的數據就像放在信封里面,只有收件人才能打開信封查看明文。

比如經常看見的就是PGP(Pretty Good Privacy)。最開始用于保護電子郵件,后面被廣泛用于保護文件傳輸,比如支付平臺和銀行之間的文件。

PGP通常推薦使用RSA 2048和AES 256,前者用于加密對稱密鑰和簽名,后面用于加密大數據塊。

它的原理是使用對稱加密算法對要傳輸的數據進行加密,然后再使用接收方的公鑰對對稱密鑰進行加密,再使用自己的私鑰進行簽名,最后將加密后的對稱密鑰和加密后的數據一起發送給接收方。接收方先使用對方的公鑰進行驗簽,再使用私鑰解密對稱密鑰,最后使用對稱密鑰解密數據。

下圖是數字信封加解密算法的完整過程:

圖片圖片

現在很多銀行的打款文件要求使用PGP加密,因為文件里面有卡號等敏感數據。

4.2. 加驗簽算法

簽名驗簽的核心作用就是防篡改和防抵賴。只要有篡改,驗簽就通不過。因為加簽密鑰是私鑰,只要用公鑰驗簽通過,就說明是密鑰持有人發出來的報文。

4.2.1. 什么是簽名驗簽

簽名:發送者將數據通過特定算法和密鑰轉換成一串唯一的密文串,也稱之為數字簽名,和報文信息一起發給接收方。

驗簽:接收者根據接收的數據、數字簽名進行驗證,確認數據的完整性,以證明數據未被篡改,且確實來自聲稱的發送方。如果驗簽成功,就可以確信數據是完好且合法的。

下面是一個極簡的簽名驗簽數學公式。

假設被簽名的數據(m),簽名串(Σ),散列函數(H),私鑰(Pr),公鑰(Pu),加密算法(S),解密算法(S^),判斷相等(eq)。

簡化后的數學公式如下:

簽名:Σ=S[H(m), Pr]。

驗簽:f(v)=[H(m) eq S^(Σ, Pu)]。

流程圖如下:

圖片圖片

如果兩個散列值相等,那么驗簽成功,消息(m)被認為是完整的,且確實來自聲稱的發送方。如果不一致,就是驗簽失敗,消息可能被篡改,或者簽名是偽造的。

現實中的算法會復雜非常多,比如RSA,ECDSA等,還涉及到填充方案,隨機數生成,數據編碼等。

4.2.2. 常見簽名驗算法

常見的數字簽名算法包括:

  1. RSA(Rivest-Shamir-Adleman):RSA是一種基于大素數因子分解難題的非對稱加密算法,被廣泛應用于數字簽名和密鑰交換等領域。
  2. DSA(Digital Signature Algorithm):DSA是一種基于離散對數問題的數字簽名算法,主要用于數字簽名領域。
  3. ECDSA(Elliptic Curve Digital Signature Algorithm):ECDSA是一種基于橢圓曲線離散對數問題的數字簽名算法,具有比RSA更短的密鑰長度和更高的安全性。
  4. EdDSA(Edwards-curve Digital Signature Algorithm):EdDSA是一種基于扭曲愛德華斯曲線的數字簽名算法,具有高效性和安全性,被廣泛用于加密貨幣等領域。

在普通在線支付場景來說,RSA使用最為廣泛,密鑰長度推薦2048比特。

5. 統一密鑰存儲及加解密系統設計概要

5.1. 密鑰安全理論基礎

明文數據被加密安全存儲,還需要考慮用于加密的密鑰如何安全存儲。

密鑰的重要性,有一個不成文的公式是這樣的:密鑰的價值 = 密文的價值。比如你加密存儲的密文價值10億,那對應的密鑰價值也有10億。

密鑰的管理涉及4個方面:密鑰存儲、更新、備份和恢復、廢止和銷毀。如果想要管好這些密鑰,就需要建設一個統一的密鑰存儲服務,否則密鑰很容易被泄露。

圖片圖片

密鑰存儲需要滿足2個條件:

  • 安全存儲環境:密鑰保存在特殊的安全環境中,包括服務器、網絡環境、硬件加密機等。
  • 最小權限原則:接觸密鑰明文的人越少越好。

密鑰分為主密鑰和工作密鑰,其中工作密鑰用來加解密普通的業務數據,而主密鑰用來加解密工作密鑰。

一般來說主密鑰應該存儲在專門的硬件加密機中,官方也稱硬件安全模塊(HSM)中。特點是安全性極高,但是性能有限,且價格昂貴,管理復雜。

工作密鑰一般由主密鑰加密后保存在DB中,在需要的時候調用主密鑰解密后,緩存在內存中,然后再去加解密普通的業務數據。

以前在和銀行對接時,工作密鑰是合成的,支付平臺生成一半,銀行生成一半,各自輸入到硬件加密機,生成一份工作密鑰,受硬件加密機的主密鑰保護。這樣支付平臺和銀行都不知道工作密鑰是什么。

密鑰更新機制:

  1. 需要定期更新,減少被破解的風險。
  2. 自動定時更新,減少人為失誤。‘
  3. 版本控制和回滾:要有版本號,要能快速回滾。

5.2. 設計概要

圖片圖片

說明:

  1. 需要使用硬件加密機HSM生成并保存主密鑰。
  2. 工作密鑰被主密鑰加密后,保存到DB中。
  3. 各應用調用密鑰管理系統進行加密解密、簽名驗簽,保證密鑰不被業務應用讀取,減少泄露風險。

6. 常見工程問題

  • 如何選擇加密算法及密鑰長度?

大數據塊通常采用對稱加密算法,一般是AE 128或AES 256。比如大段的報文。

小數據塊,且涉及公開環境,通常采用非對稱算法,一般是RSA 2048或RSA 4096。比如在前端把用戶的密碼使用公鑰加密,后端使用私鑰轉加密。

文件類通常采用PGP,把整個文件加密后上傳下載,既防竊取又防篡改。

  • 如何選擇簽名算法算法及密鑰長度?

普通支付場景一般是RSA 2048 或RSA 4096。安全足夠,各家都支持。

  • 什么場景下使用硬件加密機?

如果交易規模大,建議使用硬件加密機用于加密工作密鑰,否則出了安全問題,損失巨大。

責任編輯:武曉燕 來源: 隱墨星辰
相關推薦

2011-03-23 14:11:15

安全Unix系統

2011-05-16 10:23:21

2025-01-02 09:06:43

2011-03-22 12:58:16

2011-03-23 14:00:44

2011-05-16 10:13:51

Linux優化

2010-03-08 11:25:33

2009-10-15 13:21:49

網絡布線系統

2013-03-20 10:39:26

2017-07-06 15:50:08

2010-03-05 09:58:45

2011-03-22 16:45:00

2019-07-03 11:03:44

存儲 安全硬盤

2021-05-18 12:40:17

Linux指南安全

2011-03-24 10:11:59

Linux虛擬內存優化

2010-03-05 09:44:20

Linux系統安全提高

2011-03-23 14:28:29

安全Unix系統find

2011-03-24 10:18:44

2009-07-05 11:25:39

2024-09-29 09:42:56

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲综合视频 | 国产视频久久 | 日韩欧美国产一区二区三区 | 精品成人av| 国产精品一区在线观看 | 天天摸天天干 | 亚卅毛片 | 91免费视频 | 成人国产免费视频 | 亚洲欧美日韩在线 | 免费福利视频一区二区三区 | 日本a视频 | 国产精品视频区 | 日韩在线一区二区三区 | 色吊丝在线| 欧美日韩亚洲视频 | 高清一区二区三区 | 亚洲国产一区二区三区在线观看 | 国产精品久久久久久久7777 | 国产日韩欧美一区二区在线播放 | 国产精品一区二区在线播放 | 国产精品嫩草影院精东 | 久久精品综合网 | 欧美精品一区在线 | av手机免费在线观看 | 凹凸日日摸日日碰夜夜 | 成人免费在线视频 | 亚洲精品国产成人 | 亚洲一卡二卡 | 黄色片免费在线观看 | 欧美在线视频一区二区 | 日本成人午夜影院 | 成人aaa视频 | 国产视频精品免费 | 亚洲男人的天堂网站 | 国产真实精品久久二三区 | 久久久久久国产精品免费免费狐狸 | 一区不卡在线观看 | 蜜桃精品在线 | 日韩欧美天堂 | 日韩中文字幕在线播放 |