首頁(yè)
移動(dòng)開發(fā)平臺(tái) mPaaS
服務(wù)支持
移動(dòng)開發(fā)平臺(tái)問(wèn)題排查指南
H5 容器與離線包
如何保證離線包內(nèi)容的安全性
如何保證離線包內(nèi)容的安全性
更新時(shí)間:
為了保證離線包的安全,開發(fā)者可以開啟離線包驗(yàn)簽功能。驗(yàn)簽的基本過(guò)程如下:
開發(fā)者配置好一對(duì)公私鑰,私鑰放在服務(wù)端用于對(duì)離線包進(jìn)行簽名,公鑰放在客戶端,用于對(duì)簽名對(duì)驗(yàn)證。
在離線包發(fā)布平臺(tái),如果配置了簽名私鑰,平臺(tái)下發(fā)的 amr 文件就會(huì)帶上簽名信息(通過(guò)私鑰對(duì)離線包的 hash 值加密后得到的密文)。
客戶端在拿到 amr 包并解壓后,客戶端會(huì)使用在項(xiàng)目中預(yù)置的公鑰進(jìn)行簽名的驗(yàn)證(解密上一步的密文得到一個(gè) hash 值,同時(shí)本地計(jì)算離線包的 hash 值,判斷兩者是否相同),如果相同則通過(guò)驗(yàn)證。
驗(yàn)簽的過(guò)程既保證了離線包的內(nèi)容完整,也保證了離線包的來(lái)源正確。
注意
雖然離線包驗(yàn)簽過(guò)程可以保證離線包在傳輸和加載過(guò)程中不被篡改,但因?yàn)榭蛻舳说目刂茩?quán)完整掌握在用戶手中,該機(jī)制并不能完全阻止在客戶端上的惡意破解和篡改 H5 邏輯的行為。因此,開發(fā)者必須時(shí)刻注意前端上存在的各種潛在的安全風(fēng)險(xiǎn)。例如,權(quán)限控制一定需要后端驗(yàn)證、“秒殺、搶購(gòu)”等行為一定需要后端配合進(jìn)行時(shí)間戳驗(yàn)證等。
文檔內(nèi)容是否對(duì)您有幫助?