系統中的敏感資訊,如賬戶餘額,需要給予特殊保護,不能被篡改。
如何從程式角度給予保證?
採用非對稱加解密演算法,原理如下:
1、**生成一對公鑰和金鑰,使用時必須成對使用。
2、公鑰發布給公眾,私鑰自己儲存,需要保證私密性。私鑰不洩露是這套體系生效的前提。
3、只有自己用私鑰加密產生的密文,用自己發布出去的公鑰才能開啟。(一般用於簽名,防抵賴)
4、我們採用私鑰加密,公鑰開啟,是以後可能有資料互動的需要。
5、靈活使用各種小技巧,可以進一步提高安全性。
以下方案只是框架方案,實際實現時需要進一步充實。
1、**生成私鑰、公鑰對。
2、需要儲存(或更新)餘額時候,用私鑰對餘額加密,得到密文。
3、**只儲存密文。
4、需要讀取餘額時,讀取密文,用公鑰解密,得到餘額陣列。
優點:通過非對稱加密體系,極大提高了系統安全性。
缺點:體系安全取決於金鑰的私密性,可以使用keystore(通過密碼保護私鑰)、物理證書(在伺服器上插證書u盤或卡,容易造成效能瓶頸,可以指定策略多整幾個)、物理加密機(效果最好、成本高、容易形成效能瓶頸)等方法進一步加強。
加解密演算法會帶來額外的計算工作,但幾乎可以忽略不計。
實現時,以下技巧需要注意:
1、通過摘要演算法,進一步確認資料沒有被篡改。
2、多種非對稱加密演算法可以組合使用。
3、最大程度保護程式演算法私密性,不公開程式邏輯,防止程式被反編譯。
Django保護敏感資訊的方法示例
django在安全性上表現出色,但是在日常開發中難免會有沒有注意到的地方,今天我們就講乙個非常有用的技巧。千萬不要在正式環境中設定debug true,除非你想跑路 sensitive variables 眾所周知django的發生異常的時候會有錯誤資訊,弄不好,不懷好意的人就通過這些不經意的資訊,...
如何保護個人資訊隱私
某天早上在大學跑步,跑了兩圈一直看到跑道上面有乙個白色訂單紙條,因為個人 半職業病 撿起來準備回家試試 這個訂單吸引我的原因是上面是使用者真實手機號碼,沒有打碼保護隱私 也沒有使用平台安全臨時號碼進行呼叫,使用者姓 於 在 大學324宿舍 看到了順豐 學信網 搜狗!嘗試順豐登入,需要驗證碼 如果登入...
如何保護你的計算機不被惡意軟體勒索
不知你是否遇到過像cyptolocker這種陰損毒辣的惡意軟體 限制被感染的計算機,並要求受害者支付贖金後返還控制權。英國國家犯罪局已經發出了國家緊急警報,見johnchu同學的報道 1千萬英國使用者被cryptolocker勒索軟體瞄準 很明顯我們遇到了乙個很老套的話題 如果我們的計算機被攻破,該...