資料傳輸安全性保證

2021-08-21 06:51:20 字數 2059 閱讀 4879

資料傳輸過程中,安全性十分重要,尤其是對於一些敏感的使用者資訊,其安全性保證更應當被重視。

現代軟體開發中,無論是基於敏捷式的軟體開發,或者基於前後端分離的軟體開發,都離不開提供對外介面,而請求這些介面資料的安全性應當得到保證。

保證傳輸資料的安全性,主要有以下方法:

資料加密

資料加密一直是保密資料的重要部分,常見的加密演算法有可逆加密演算法和不可逆加密演算法,可逆加密演算法又分為對稱加密演算法和非對稱加密演算法。

比如乙個系統的登陸操作,客戶輸入使用者名稱登陸,如果不進行任何保障措施,使用者名稱和密碼明文傳輸,被不法分子截獲資料後,顯然是不安全的。如果我們這時對密碼進行不可逆加密,如md5,對使用者名稱進行可逆加密,如des,這時候在截獲資料時,得到的將是一串密文,顯然,即使要破解,也需要相當時間。

但這樣,有乙個明顯問題,就是介面吞吐量下降,明顯,加密情況下,由於需要解密資料,介面的響應速度會下降。

可能,對於一些非重要資料,我們這樣犧牲系統效能換取來的安全可能有些過了。

資料簽名

資料簽名又是什麼呢?它和資料加密的區別呢?

資料簽名,相當於對傳輸的資料,進行一些不可逆加密演算法後,如md5,生成一段簽名字串sign。

比如上述列子中,登陸操作中如果還要傳輸ip,地點等等資料,這些資料明顯沒那麼重要,這時可以對全部傳輸資料進行簽名,生成sign,將其傳入後端,後端用同樣演算法及金鑰計算比較sign,如果一致認為資料正確,直接拿到ip,地點等資料(不用解密,相對於解密各個資訊,理論上所有資訊計算簽名要節省時間),不一致則認為被修改過,返回錯誤資訊。

session,token機制

session(cookie)和token機制的出現是為了校驗使用者狀態的。

比如不法分子知道了我們的後台介面,惡意偽造大量資料攻擊,即使這些資料不正確,而伺服器每次都需要校驗這些資料的正確性,顯然帶來大量效能消耗。

我們當然可以進行一些優化操作,如對於同乙個ip,短時間大量請求則封掉該ip一段時間,但這不是太合理的。

設想,如果使用者登陸後,儲存狀態,只有登陸的使用者可以訪問這些介面,每次請求到來,均先校驗使用者登陸狀態,對於session,如果沒有sessionid或者sessionid錯誤或者過期則直接返回登陸介面。對於token,與session同理,沒有token或者token錯誤或者過期的直接返回登陸頁面。

這樣,我們開始校驗token或者session,就可以拒絕大量偽造請求。

https(數字證書機制)

上面,無論資料加密還是簽名,我們發現最重要的就是加密方法和加密金鑰。

在加密演算法中,有一種叫做非對稱加密的演算法,有公鑰和私鑰組成,他有個特點:公鑰加密的資料,只有私鑰能解密;私鑰加密的資料,只有公鑰能解密。

https就是需要讓客戶端與伺服器端安全地協商出乙個對稱加密演算法。剩下的就是通訊時雙方使用這個對稱加密演算法進行加密解密。

①客戶端啟動,傳送請求到服務端,服務端通過非對稱加密演算法(如rsa)生成公鑰pubkey1和私鑰prikey1。

②服務端將公鑰pubkey1發給客戶端,客戶端用自己的非對稱加密演算法也生成一套公鑰pubkey2和私鑰prikey2,並將公鑰pubkey2通過pubkey1加密後返回服務端。

③服務端用私鑰prikey1解密後拿到pubkey2,並將確定好的未來互動的對稱加密演算法和金鑰通過pubkey2加密,返回客戶端。

④客戶端用私鑰pubkey2解密資料,拿到伺服器給定的加密演算法和金鑰,雙方開始用其資料通訊。

這樣仍有乙個問題,如何證明公鑰pubkey1加密的這串數字是客戶端來的,即證明他就是他。。。

這就是https的數字證書,相當於網路中心的部分,證明他就是他。數字證書就是來幹這個的。

其他

安全性保證還有其他可以自己操作的方法。

如對於兩台穩定的伺服器互動,直接進行ip校驗或許比token,session機制更好更方便。及一些其他的操作,如同一ip短時間大量錯誤報文,可以將其暫時拉入黑名單。等等。

資料安全一直是資料互動的永恆話題,保證資料安全,肯定是需要消耗一定的系統效能的。如何選擇合適的安全保證機制,是每乙個軟體開發工程師應該了解和掌握的。

網路 HTTPS 怎麼保證資料傳輸的安全性

大家都知道,在客戶端與伺服器資料傳輸的過程中,http協議的傳輸是不安全的,也就是一般情況下http是明文傳輸的。但https協議的資料傳輸是安全的,也就是說https資料的傳輸是經過加密的。在客戶端與伺服器這兩個完全沒有見過面的陌生人交流中,https是如何保證資料傳輸的安全性的呢?下面我們來一步...

TCP協議保證資料傳輸可靠性的機制

tcp協議保證資料傳輸可靠性的機制 一 1 確認應答機制 1.1原理 傳送方與接收方傳輸資料時,為了保證資料一定會傳送給接受方,tcp協議規定接受方接收到資料後需要給傳送方乙個接受到資料的通知,若是傳送方沒有接收到接受方的確認報文,傳送方認為資料沒有傳送到,就會重新傳送資料。1.2序列號 tcp將每...

HTTPS讓資料傳輸更安全

談到https,就不得不談到與之相對的http。http的特性是明文傳輸,因此在傳輸的每乙個環節,資料都有可能被第三方竊取或者篡改,具體來說,http 資料經過 tcp 層,然後經過wifi路由器 運營商和目標伺服器,這些環節中都可能被中間人拿到資料並進行篡改,也就是我們常說的中間人攻擊。為了防範這...