Http和HTTPS

Http和HTTPS

Tags: 面試面試


1. 爲何須要Https

1.1 Http協議的缺點

  • 通訊使用明文傳輸,內容可能會被竊聽。
  • 不驗證通訊方的身份,有可能遭遇跨站請求僞造。
  • 沒法證實報文的完整性,有可能發生報文被修改的情況。

1.2 Https如何解決上述問題。

Https是在Http的基礎之上加入加密處理,認證機制和完整性保護的。即Http+加密+認證+通訊保護=Https瀏覽器

  • 經過加密能夠防止明文傳輸的時候密碼等關鍵信息被竊取。
  • 經過認證確保通訊方的身份,防止出現跨站點的請求僞造攻擊。
  • 經過完整性保護,確保在信息的傳輸過程當中沒有遭到信息篡改的情況。

1.3 實現方案

Https並非一種新的協議,只是http通訊接口部分使用ssl/tls協議代替而已。一般http是直接和tcp進行通訊確保在不收到外部干擾的狀況下,保證信息的完整性接收。可是Http協議是在httptcp之間加入了ssl/tls。讓http先和ssl/tls進行通訊,而後ssl/tls再去和tcp進行通訊。在中間的ssl/tls的過程當中對傳輸的信息進行加密,認證,保護。 去防止上面講到的Http的缺點。安全

其實所謂的Https就是在Http和TCP之間加了一個SSL。服務器


2. SSL/TLS是什麼

SSL是(Secure Sockets Layer)的縮寫,中文成爲安全套接層。這個是網景公司(NetScape網景瀏覽器?)設計的。tcp

爲什麼要發明SSL這個協議?覺得以前的HTTP協議是明文的,存在不少缺點具體的看上面。發明這個協議就是爲了解決上述問題。加密

SSL/TLS協議的基本思路就是採用公鑰加密,也就是說,客戶端向服務端索要公鑰,而後用公鑰加密信息,服務器收到密文以後,用本身的私鑰解密。可是這裏存在兩個問題:設計

  1. 如何保證公鑰不被篡改
  2. 公鑰加密,私鑰解密計算量太大,比較耗費時間如何減小耗用的時間。

解決方案code

  1. 將公鑰放在數字證書當中,只要證書是可信的,那麼公鑰就必定是可信的。
  2. 每一次對話(Session),客戶端和服務端都生成一次對話祕鑰,又變成了對稱加密,且對稱加密的祕鑰泄露的風險會大大下降。

這種搭配使用能夠延伸到GC,Redis鎖。接口

相關文章
相關標籤/搜索