加密過程安全研究

數據加密安全

 

一、不加密的數據有何安全問題?

1、數據容易被不法問題抓包,一覽無餘,特別是密碼,與金融相關的數據,數據安全問題尤其重要。

2、易被篡改,接收方與發送方的內容不一致。

3、沒有鑑權,易被假冒身份。

網絡數據安全建議使用HTTPS(iOS在appstore上線審覈有建議要求),但HTTPS需要收費。https = http + 加密+ 認證 + 完整性保護,可自己在http的基礎上加密,並實現完整性驗證。下面是實現過程的簡介。

 

  • 常見加密算法簡介
  1. 對稱加密

  公鑰和私鑰屬於統一把鑰匙,特點是加密速度快,適合是大數據加密,安全係數低

①DES:數據加密標準,速度較快,適用於加密大量數據的場合。

②3DES:是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。

③AES:高級加密標準,是下一代的加密算法標準,速度快,安全級別高

 

2.非對稱加密

   公鑰與私鑰屬於不同把鑰匙,公鑰加密,私鑰解密,私鑰簽名,公鑰解簽名加密,速度慢,安全係數高。常見的加密算法用RSA算法加密。

3.散列(哈希)函數

常用的md5,sha1、sha256、sha512,一般用於身份驗證,數據完整性,結果不可逆,加密是對數據進行機密性保護,簽名主要用於身份驗證。

 

三、加密方案總結

充分利用對稱加密,非對稱加密,散列函數的特點來加密。

分析:對稱加密與非對稱加密對比,對稱加密較非對稱加密速度,但是非對稱加密更安全。對稱加密的鑰匙一旦被公開,安全問題隨之暴露。因此可以將對稱加密的鑰匙交給非對稱加密來管理,即非對稱加密來加密對稱加密的密鑰,因爲加速速度問題,內容加密用對稱加密更適合。 加密的內容,也存在被流量篡改的可能,因此要驗證完整性,可利用散列函數的不可逆性的特點來進行完整性驗證。散列函數的安全性不高且不可逆性,據說被破解了,因此不適合於加密,更適合於驗證完整性。採用md5較SHA安全性更低,但數據長度只有16個字符,更短,因方案的散列函數只用於驗證完整性,不針對安全,因此md5更適合。

總體請求流程如下:

先看發送方

這裏,發送方我們分爲5步操作。

  1. 將提交內容加密進行md5加密,得到md5加密的內容,這個內容的目的在於驗證內容的完整性
  2. 產生隨機的對稱加密的密鑰,這個密鑰隨機生成,加大了被破解的可能性
  3. 把第1部的md5加密內容和隨機的對稱加密密鑰加一起,用RSA的非對稱加密算法進行加密管理,用公鑰加密,提升被加密的安全性
  4. 將第2部生成的隨機對稱加密密鑰來加密提交的內容。用對稱加密加密內容,主要是對稱加密速度較非對稱加密速度快,適合加密大數據情況
  5. 將第4部的加密內容和第3部的結果整合一起數據包發送出去

 

再看接收方:

 

接收方在接收到數據包之後,有步操作:

1、解發送方的第5步驟,分出加密內容、加密的密鑰與md5內容的結合

2、會使用匹配的非對稱加密私鑰解密加密的對稱密碼,獲取到真實的對稱密鑰和md5加密內容。

3、使用第2部解密出來的對稱密鑰,解密加密報文,獲取原報文內容。

4、將解密出來的報文內容進行md5加密,然後與解密出來的md5值進行比對,如果相同,則證明沒有被篡改過。

四、總結

加密算法固然重要,但不是隻要加密了就不會出現數據安全問題,它只是爲數據安全提供了更進一層的安全保障。如私匙都被泄露,接口代碼等被泄露,那問題必然擋不住。因此,必要法律保護知識也是很重要的一層保障。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章