Https爲什麼更安全?

Java高併發框架


“我是喲喲吼說科技,專注於數據網絡的回答,歡迎大家與我交流數據網絡的問題”

HTTPS是一種安全性的HTTP通道,即在HTTP下加入了SSL層,通過SSL的加密來保證HTTP通道的數據安全性。

如題,HTTPS為什麼安全?

HTTPS之所以安全性高,是因為傳輸的數據是密文的,通過SSL安全協議來實現對數據的加密過程,用以保證數據的安全性。

下面喲喲來介紹一下SSL是如何實現對HTTPS的加密的:

SSL(Secure Sockets Layer,安全套接層)是為網絡通信提供安全和數據完整性的一種安全協議。

SSL的實現機制:

1、密鑰

通過非對稱公鑰加密在服務器和用戶之間協商出一個共同的會話密鑰;

2、會話加密

通過協商的會話密鑰,用對稱的加密算法對會話的內容進行加密;

3、證書

通過權威機構頒發的證書來保證攻擊者不能偽造網站身份與用戶建立加密連接;

4、校驗

通過校驗算法來防止加密信息在傳輸中被篡改;

歡迎大家多多關注我,在下方評論區說出自己的見解。


喲喲吼說科技


本人剛好從事嵌入式通訊開發,不邀自來,回答一下這個問題:

HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)簡言之就是HTTP的安全版本,其提供安全的主要是SSL,SSL是應用層和傳輸層之間添加一層(SSLSecure Sockets Layer 安全套接層)來提供安全通信;前面Google的Chrome瀏覽器將不是HTTPS的URL標記為不安全,所以HTTPS應該是今後互聯網的很關鍵的安全協議。

為什麼HTTP就不安全

  • HTTP使用明文傳輸數據,數據容易被監聽,因為OSI模型中沒中的任意一層都沒有對數據的加密機制,所以數據都是明文傳輸,你可能不知道,我們的一些用戶名和密碼在HTTP協議中“裸奔”。
  • 不驗證通信對方的身份:因為不驗證通信對象的身份,容易遭受中間攻擊和偽裝攻擊。
  • 沒法鑑別報文的完整性:沒有校報文完整性的機制,就容易讓中間人或黑客對通信報文進行篡改,你想一下,你本消費了100塊,被一箇中間人修改報文將消費金額改為1萬元,多可怕,而且修改後的金額你不看見,當你付款100元其實你付款了1萬元(0當然銀行卡要有這麼多錢)。

為什麼HTTPS就安全了

因為HTTP明文傳輸,不驗證通信對象的身份,無法鑑別報文的完整性而不安全,HTTPS正是解決了這些問題而變得安全,下面我們看一下HTTPS通過哪些技術或是手段是通信變得安全:

  • 對報文進行加密:通過SSL握手協商出一個對稱密鑰對報文進行加密,同時使用非對稱加密來在通信線路上傳遞對稱密鑰,這就解決了之前對稱密鑰在網絡間傳遞不安全的問題。
  • 採用證書機制來驗證通信雙方的身份:因為在通信的過程中需要用服務端的公鑰進行對稱密鑰的傳輸。但是龐大的互聯網讓人工確認服務器的身份變得不可能,那麼如何確保服務端的公鑰就是我們希望通信服務端的密鑰,就是證書機制,下面談一下證書申請與驗證過程:
  1. 服端向證書機構申請證書:服務器擁有者向可信的證書頒發機構申請證書,當然該頒發機構是可信的,不然證書鏈將沒法驗證。
  2. CA機構對服務端公鑰進行數字簽名:用自己的私鑰對申請者的公鑰進行簽名,即通過指紋算法提取摘要,並用CA私鑰對公鑰進行加密生成數字簽名,將簽名和服務端公鑰放在證書一起給客戶端。
  3. 客戶端驗證簽名:大的可信CA機構的公鑰證書一般預裝在主流的瀏覽器中,用戶用
    CA的公鑰將證書中的數字簽名解密,然後對服務器公鑰進行相同的算法來生成數字簽名,然後將兩者對比,如果一樣說明服務端就是我們希望通信的服務端。

有了可信的服務器公鑰我們就可以通過SSL的密鑰交換來進行協商和傳遞後續用於加密的對稱密鑰,這樣才是HTTPS對數據加密稱為可能。

  • 通過指紋技術來使報文防篡改:在密鑰協商的過程中也會協商防篡改加密算法,主要的防篡改算法有MD5,SHA等算法,發送端用指紋算法對報文進行加密,數據到達接受端,接受端同樣對數據進行指紋計算,通過對比就知道報文有沒有被篡改。

HTTPS採用非對稱對稱加密,防篡改指紋計算,數字簽名等機制來確保通信安全,可靠,和高效,其中HTTPS重點就是SSL握手,希望有興趣的繼續探討,

感覺我的回答對你有幫助,麻煩點贊關注哈,你的關注是我繼續下去的動力對網絡有興趣的可以留言交流,有疑問的也可以私信,大家一起成長,一起交流,謝謝大家


分享到:


相關文章: