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

支付寶加密規則,你真的懂嗎?

安全 數據安全 應用安全
支付是一個安全等級很高的場景,系統間交互的每一條數據的泄露都有可能造成及其大的損失。因此支付時系統間交互的每一條數據都會采取加密措施。這里梳理一下支付寶支付時用到的加密規則,請大家參考。

支付是一個安全等級很高的場景,系統間交互的每一條數據的泄露都有可能造成及其大的損失。因此支付時系統間交互的每一條數據都會采取加密措施。這里梳理一下支付寶支付時用到的加密規則,請大家參考。

[[390425]]

圖片來自 Pexels

什么是簽名?

在了解簽名前,先回顧一下支付的交互流程。如上圖所示,支付的過程中可以大概分為六個步驟:

  • 用戶選擇自己的商品提交訂單。
  • 商家服務器將商品信息和所需要的金額發給支付寶,生成支付寶訂單。
  • 支付寶訂單返回成功之后生成一個支付頁面,方便手機支付或者網頁支付。
  • 手機調起支付寶 App 進行支付。
  • 輸入支付密碼發送給支付寶服務器。
  • 支付寶服務器轉賬成功,告知商家服務器某個訂單的金額轉賬成功。

這 6 個步驟中,最為重要的是步驟 2 和步驟 6。拆解如下:

商家服務器和支付寶服務器交互的過程中傳輸的信息異常敏感,所以,在交互時必須防止中間人對于信息的篡改。例如步驟 2 將商品的金額改為 0,支付寶就誤認為是轉賬 0 元。

數字簽名解決了交互時這一安全問題。它可以驗證一條消息或者文檔的真實性。

在支付寶支付的接口中,有一個 sign 參數用來填寫簽名。這個簽名作用是為了防止信息偽造。通過這種方式可以有效的防止消息在傳遞過程中被篡改。

簽名實現原理

簽名原理

數字簽名是一個信息安全的保障,它的實現依賴于雙方系統的密鑰。

簽名過程如下:

計算希望簽名的文檔的散列。不論輸入文檔的長度如何,輸出長度總是固定的。比如,使用 SHA256 就是 256 位。

對結果散列和一些額外的元數據進行編碼。比如,接收方需要知道你使用的散列算法,否則不能處理簽名。

使用私鑰加密編碼過的數據,其結果就是簽名,可以追加到文檔中作為身份驗證的依據。

驗證簽名(驗簽):接收方接收文檔并使用相同的散列算法獨立計算文檔散列。

接著,她使用公鑰對消息進行解密,將散列解碼出來,再確認使用的散列算法是否正確,解密出的散列是否與本地計算的相同。

非對稱加密 

支付寶采用 RSA 非對稱加密對信息進行簽名。非對稱加密是由一個公鑰和一個私鑰組成,一般代碼中命名為 public key 和 private key。

非對稱加密的特點是:私鑰加密的信息只有公鑰才能解密,公鑰加密的信息只能有私鑰才能解密。

一般會將私鑰進行保留,開發時一般會放在配置文件中,安全級別和數據庫賬號密碼一樣。

公鑰會交給其他系統,這樣系統間交互時中間人不知道密鑰的情況下,是無法破解交互的信息的。

發送方只要保證私鑰不泄露,任何人發送給接收方的信息在簽名驗證時都無法匹配成功。

支付寶的實現簽名的方式也大致如此,支付寶在信息交互的時候兩個很重要的名詞支付寶公鑰和應用公鑰,這兩個秘鑰總是讓人混淆。

這是因為支付寶提供了兩套 RSA 加密。一套是用來保證步驟 2 統一下單接口時的信息安全,另一套是用來保證步驟 6 回調時的信息安全。

如下圖,步驟 2 商戶服務器通過紅色應用私鑰(priv key 2)計算簽名,支付寶通過紅色應用公鑰(pub key 2)進行驗簽。

步驟 6 支付寶服務器通過藍色支付寶私鑰(priv key 6)計算簽名,商家通過藍色支付寶公鑰(pub key 6)驗證簽名。

了解了簽名計算原理之后,再去管理平臺設置 App 信息的時候就游刃有余了,我以沙箱環境為例子。

如上圖,說明使用 RSA2 加密方式,HASH 算法采用 SHA256。進入設置之后要設置應用公鑰和保存支付寶公鑰。

應用公鑰和應用私鑰,這兩個需要自己生成一對,保證步驟 2 的安全。生成方式跳轉支付寶開放平臺開發助手。

支付寶公鑰和支付寶私鑰是支付寶提供的,私鑰支付寶自己保留的,和自己服務器的應用私鑰一樣,人家不會提供出來。公鑰復制下來用于在回調時進行簽名的認證。

 

對稱加密

簽名雖然可以防止中間人的信息篡改,但是無法防止中間人信息查看。比如步驟 2 中,向支付寶發送的商品金額,中間人即可獲取每天中該商家交易的金額。

信息在網絡中傳輸感覺是一個虛無縹緲的過程,網絡中信息有可能被不法分子進行攔截。

因此在支付的過程中,會推薦使用 HTTPS 協議進行交互,使得交互的信息加密傳輸。

而且,支付寶的很多接口還支持使用 AES 加密之后進行傳輸,使得信息更加安全。

AES 加密是一種對稱加密算法,對稱加密算法相對于非對稱加密要簡單一點。系統間只存在一個密鑰,這個密鑰可以用來加密也可以用來解密。

在與支付寶交互的信息可以通過 AES 加密。防止信息的泄露,官方對接口的解釋如下:

  • 若 OpenAPI 無 bizContent 傳參則無法使用 AES 密鑰加密,否則會報錯,當前 API 不支持加密請求。
  • 例如:alipay.user.info.share(支付寶會員授權信息查詢接口)未使用 bizContent 傳參則無法使用 AES 密鑰加密。

AES 和 RSA 關系

AES 密鑰是對接口請求和響應內容進行加密,密文無法被第三方識別,從而防止接口傳輸數據泄露。

RSA 密鑰是對接口請求和響應內容進行簽名,開發者和支付寶開放平臺分別加簽驗簽,以確認接口傳輸的內容沒有被篡改。不論接口內容是明文還是密文,RSA 均可正常簽名。

開發者可對請求參數先做 AES 加密,然后對密文進行 RSA 簽名。

作者:叁滴水 

編輯:陶家龍

征稿:有投稿、尋求報道意向技術人請添加小編微信 gordonlonglong

 

 

責任編輯:趙寧寧 來源: 51CTO技術棧
相關推薦

2009-12-14 16:31:00

Linux安裝支付寶

2017-12-18 18:23:09

支付寶掃碼賺錢支付寶套路

2022-06-21 09:53:03

FedoraUbuntuLinux

2021-09-09 15:30:28

鴻蒙HarmonyOS應用

2021-01-25 14:13:26

iOS支付寶支付

2014-11-17 10:52:56

支付寶去阿里化

2013-09-03 14:59:05

2009-09-17 12:15:28

互聯網

2018-11-05 15:50:43

區塊鏈比特幣互聯網

2018-03-27 12:02:31

央行支付寶紅包

2011-04-21 11:27:42

Firefox支付寶

2009-11-23 10:02:22

PHP支付寶接口

2019-11-13 23:33:16

工業物聯網IIOT物聯網

2019-07-24 10:11:51

jdkjreJava

2013-10-31 11:24:53

支付寶漏洞支付寶漏洞

2021-01-03 14:45:50

數字貨幣支付寶現金

2020-09-28 06:50:58

微信支付寶移動應用

2015-08-04 17:03:52

支付寶微信

2013-10-11 09:41:01

Windows 8.1支付寶

2009-08-26 16:07:09

支付寶網上購物安全邁克菲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品一区二区三区在线播放 | 日日夜夜草| 91精品入口蜜桃 | 欧美日韩亚洲视频 | 国产电影一区二区三区爱妃记 | 午夜视频在线 | 日韩视频一区二区 | 精品久久久久一区二区国产 | 青春草国产 | 麻豆精品国产91久久久久久 | 精品在线| 日韩在线成人 | 国内自拍视频在线观看 | 三级免费网 | 婷婷免费视频 | 日韩二三区 | 热99| 中文字幕免费视频 | 天堂一区 | 亚洲欧美日韩在线 | 欧美激情 一区 | 日本一级淫片免费啪啪3 | 国产成人免费视频网站高清观看视频 | 操人网 | 欧美a在线观看 | 国产精品高清在线 | 日本成人免费网站 | 精品久久国产 | 二区三区在线观看 | 中文字幕国产视频 | 波多野结衣一二三区 | 免费污视频 | 97狠狠干| 中文字幕第三页 | 91看片官网 | 久久精彩视频 | 色视频欧美 | 91久久久久久 | 亚洲高清视频一区二区 | av在线免费观看网站 | 日本国产精品视频 |