使用了https後,還有必要對資料進行簽名來確保資料沒有被篡改嗎?

時間 2021-05-13 00:52:11

1樓:車小胖

首先明確一點,我們常說的SSL/TLS加密是傳輸層加密,如果SSL/TLS加密服務與HTTP伺服器位於一台物理伺服器上,那SSL/TLS可以提供客戶端到伺服器端的安全(End To End Security)。

Client ---HTTPS---(HTTP Server + SSL)

而現實情況卻往往不是以上的部署方式,而是採用負載均衡(Load Balance裝置先終結客戶端的SSL/TLS會話,負載均衡裝置然後再與HTTP伺服器之間採用明文傳輸(HTTP),即使這一段傳輸位於內部安全域,它依然是乙個安全隱患。

Client ---HTTPS---Load Balance ---HTTP---HTTP Server

為了保證端對端的絕對安全,我們需要在應用層增添安全保障,即保證使用者資料不被篡改,這裡就用到了題主所描述的HMAC(Keyed Hash Message Authentication Code),關於HMAC很難翻譯成中文,如果翻譯成加密的雜湊演算法,事實上並沒有加密雜湊;也不是簽名,簽名只用於非對稱的數字證書簽名,所以還是不要翻譯了,大家知道HMAC是為了保證使用者的資料不被篡改就可以了。

來看看題主提到的HMAC

很顯然這個HMAC位於應用層(附在HTTP報文末尾),所以無論SSL與HTTP伺服器一體還是分離,HMAC都可以保證端對端的資料完整性保護(資料不被篡改)。

題主提到的HMAC有三個輸入引數:

使用者資料

時間戳

Key

前兩者會伴隨HTTP到達伺服器,這個key 卻不會,如果一起傳輸,就沒有任何意義了,第三方可以篡改使用者資料,然後重新計算HMAC。

這個key 只有客戶端(使用者)與伺服器端知曉,扮演這個key 角色最好人選就是賬戶密碼,

客戶端/伺服器端分別將賬戶密碼為輸入引數,計算出Hash,這個Hash應該是一樣的,然後就可以做為Key了。

由於Key只有客戶端/伺服器知曉,任何篡改資料的企圖都會被發現,使用者資料不被篡改,使用者的交易就是安全的。

一句話總結陳詞:HMAC是應用層採用的手段來保護資料安全,SSL/TLS是傳輸層保護資料的機密與資料安全。

2樓:sumiting

需要呀,我記得kali linux中乙個工具都可以破解https的內容,也可以偽造數字簽證。有個部落格有記載的。幾個月了之前看的了,記不太清楚了

3樓:

這個MD5裡的值是資料內容+時間戳+乙個keyHTTPS確保了資訊的機密性

而這個md5值裡的key應該也是機密的,不知道用的是什麼,難道是ssl 生成的對稱key?

如果是這樣的話,個人覺得,是否這個md5不僅僅能確保資料的一致性,也同時避免了有人錄製了包,之後再次傳送,造成double spend

因為此時時間已經不同,而key的存在保證攻擊者不能偽造這個md5只是乙個想法,期待大神露面。

4樓:

必須有啊,https僅僅保證了單詞傳輸過程可靠,但是如果乙個中間病毒既當真是伺服器的客戶端,又修改內容作為服務端向客戶端傳送資料呢

5樓:

看情況,雖然說大部分情況下是沒有必要的。

比如,很多商業軟體採用了web註冊機制,把lic內容提交給webservice這個過程就是ssl的。那還要保護lic內容的真偽呢,於是lic內容裡就有授權資訊+授權的hash。這個hash的目的就是類似於題主的md5問題了。

md5計算佔不了多少消耗,都是多加點計算節點的事。但是多加一層驗證保護的是資料。

6樓:it2077

其實在使用了https之後,確實就能保證客戶端到伺服器的傳輸資料不會被篡改了。但是為什麼還要加上md5的驗證嗎,其實不單單是第二次的驗證可以保證更高的安全性。還有乙個原因是,伺服器可以驗證你傳過來的資訊遵循了我們的規範,如果驗籤通不過,那麼伺服器端就認為這一次請求不合要求,接下去的業務也沒必要進行下去了。

你在使用了 iPhone X 的 Face ID 後有什麼感受?

小螞蚱 解鎖失敗簡直就是家常便飯,還可能卡住過不去,需要手動進入輸密碼頁面。重新設定face ID一直讓你手機低一點和高一點,始終不能下一步,感覺特別弱智。 老風 就倆字,方便!支付的時候,一抬手機,掃下臉就過去了,很快很帥,經常被收款的人羨慕。相對於此,中國產的那些帶臉部識別的手機,在刷臉支付的時...

分手後還有必要主動嘛?

紅山邊上住 好好改變一下你自己先。別這麼來回的折騰,一會加一會刪,一會復合一會斷聯。還有,他為什麼說自己做的一文不值?你是說了什麼,做了些什麼讓他覺得累?在他來說,放棄顯然也是失望積累的結果。想復合就耐心一點,不要一會乙個主意,不然在對方看來你還是老樣子。破鏡重圓是需要時間的,需要對方看見你的改變,...

習慣 macOS,還有必要學會使用 Windows 嗎?

全都是黑天鵝 這個一般不取決於個人的喜好,而是你的工作內容決定的,比如重度Office各元件 雖然9012都過去了,完美的相容性還是相差甚遠 或者3D渲染 CAD Solidworks 等,只能用Windows。如果是個人休閒或興趣方面的選擇,那建議你任何系統都不要用,多讀書多回到生活本身,或者只能...