欧美日韩国产一区,亚洲一区视频,色综合久久久久,私密按摩师舌头伸进去了,99re6这里只有精品,夜夜性日日交xxx性hd

精華

8:用戶敏感信息完整性檢驗(加解密、簽名系列)

  • • 發(fā)表于 8年前
  • • 作者 Roluce
  • • 6198 人瀏覽
  • • 2 條評論
  • • 最后編輯時間 8年前
  • • 來自 [技 術(shù)]

原創(chuàng)聲明:本文為作者原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載,經(jīng)授權(quán)轉(zhuǎn)載需注明作者和出處

0:前情回顧

通過此文: 7:用戶數(shù)據(jù)簽名詳解(加解密、簽名系列)

可以知道:
wx.getUserInfo()返回的signature只能驗證“用戶基本信息”數(shù)據(jù)完整性。

encryptedData與iv也需要單獨的檢驗數(shù)據(jù)完整性


1:用戶敏感信息加解密過程(簡化版)


微信服務(wù)器:響應(yīng)wx.getUserInfo()的過程:

1:通過AES-128-CBC、PKCS#7、密鑰、初始向量,把“用戶敏感信息明文”加密為密文(encryptedData)
2:把“密文encryptedData”,“初始向量iv“等用戶信息發(fā)送到小程序*


小程序:獲取用戶敏感密文并發(fā)送到服務(wù)器

1:小程序調(diào)用wx.getUserInfo()接口,得到“密文encryptedData”,“初始向量iv“等用戶信息
2:把數(shù)據(jù)發(fā)送給服務(wù)器


后臺服務(wù)器:根據(jù)約定的AES算法,對“密文encryptedData”進行解密

1:通過AES-128-CBC、psck#7、密鑰、初始向量,把密文encryptedData解密為“用戶敏感信息明文”

此過程詳情,請查看:
3:AES加密與Base64編碼(加解密、簽名系列)


2:分析解密后的用戶敏感信息明文

.


由圖可知,除了appid是雙方可約定的,其他信息都是用戶的個人信息(不同用戶數(shù)據(jù)不同)


假如敏感信息中沒有appid:

開發(fā)者解密后“用戶敏感信息明文”后,用戶不同信息不同,具有隨機性。
假如黑客把encryptedData或iv修改后,因為解密后的數(shù)據(jù)的隨機性,開發(fā)者無法知道數(shù)據(jù)的完整,是否被修改。


在用戶敏感信息明文中加入appid后:

有了openid,開發(fā)者只需要比對解密后的“用戶敏感信息明文”中的openid和小程序后臺的openid是否一致即可。
如果黑客把encryptedData或iv修改后,解密后“明文信息”肯定和“用戶敏感信息明文”相同,所以得到的openid自然也不同。


綜上所述:
開發(fā)者只要校驗“從密文解密后得到的appid”和自身appid是否一致,即可驗證數(shù)據(jù)的完整性、安全性。


此外:
在用戶敏感數(shù)據(jù)中的timestamp
是微信服務(wù)器響應(yīng)小程序調(diào)用wx.getUserInfo(),把敏感信息密文發(fā)送到小程序時的時間戳,用于自己服務(wù)器檢驗數(shù)據(jù)的時效性。

分享到:
2條評論
Ctrl+Enter
作者

Roluce

Roluce

APP:0 帖子:50 回復(fù):112 積分:3610

已加入社區(qū)[3065]天

山東_聊城_qq:635068

作者詳情》
Top