App網(wǎng)絡(luò)安全之加密算法

https://mp.weixin.qq.com/s/-Jb-_PpbEN5HYpueUqtxzA

網(wǎng)絡(luò)傳輸安全主要需要保證兩部分:

1.客戶端上傳信息即使被截獲也不能被別人知道:例如:登錄密碼。

2.服務(wù)端下發(fā)的信息,即使被截獲也不能被別人知道。例如:用戶信息。

保證客戶端上傳信息的安全:

? ? ? 客戶端傳輸重要的信息,例如銀行卡號,用戶名密碼給服務(wù)端時。為防止信息截獲后信息泄露,可以使用RSA的加密算法。RSA加密算法是一種非對稱加密方式。因此我們只需要在客戶端把信息用公鑰加密后,傳遞給服務(wù)端即可。這樣任何人都不會知道信息,除非它知道私鑰。然而私鑰都保存在服務(wù)端,比較安全。

? ? ?服務(wù)端收到請求后,利用私鑰對信息進(jìn)行解密即可。這樣就不會出現(xiàn)信息泄露。

保證服務(wù)端下發(fā)信息的安全:

? 當(dāng)用戶要進(jìn)行登錄的時候,服務(wù)端對用戶名和密碼進(jìn)行驗證成功后。會下發(fā)一個token給客戶端。這個token肯定要進(jìn)行加密,如果我們采用對稱加密的話。那么客戶端也必須知道對稱秘鑰才可以進(jìn)行解密。那么用戶怎樣才能拿到對稱秘鑰呢?為了傳輸安全,我們可以用私鑰對對稱秘鑰進(jìn)行加密??蛻舳耸盏叫畔⒑?,利用公鑰對信息進(jìn)行解密,即可拿到對稱秘鑰,然后利用對稱秘鑰可以對token進(jìn)行解密。然后把token保存起來就可以使用了。每次發(fā)起請求的時候,用token進(jìn)行對稱加密后,再進(jìn)行訪問。

? ?服務(wù)端收到信息后利用對稱秘鑰對信息進(jìn)行比對,符合的話就就進(jìn)行相應(yīng)的數(shù)據(jù)返回。

//注意:

1.RSA的解密速度約等于AES解密數(shù)據(jù)的100倍,因此不是核心的信息我們采用AES加密即可。這樣可以提高新能。

2.對稱秘鑰可以采取在客戶端隨機(jī)生成的方式,非對稱秘鑰可以采取固定的方式。

3.登錄時的用戶名和密碼可以采取非對稱秘鑰進(jìn)行數(shù)據(jù)庫驗證,這樣沒有安全性問題。

4.普通的驗證可以采用token加時間來進(jìn)行有效驗證。如果時間相隔太長就讓重新登陸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容