http 主要有這些不足:
為了統一解決上述這些問題,需要在 http 上再加入加密處理和認證等機制。我們把新增了加密及認證機制的 http 稱為 https(http secure)。
通常,http 直接和 tcp 通訊。當使用 https 時,則演變http成先和 ssl 通訊,再由 ssl 和 tcp 通訊了。簡言之,所謂 https,其實就是身披 ssl 協議這層外殼的 http。
使用對稱加密時,雖然加密了內容,但金鑰的交換卻成了乙個問題,在協商好之前,我們傳遞金鑰仍然是明文狀態,被第三方竊取以後,這樣的加密方式無異於脫了褲子放屁,不考慮。
採取公私鑰對的形式,使用公鑰加密內容,只能使用私鑰才能解開,那麼通訊雙方互相使用對方的公鑰加密內容,再彼此使用私鑰解開,即可實現加密通訊,但這樣做會導致大量的計算成本。
也就是先用非對稱方式協商乙個對稱加密的共享金鑰,雙方再使用共享金鑰進行通訊即可。但這也受到了第三方的攻擊,第三方只要篡改了公鑰資訊,假裝自己和另一方協商了共享金鑰,這樣的情況也不安全。
內容加密最關鍵的地方,就是金鑰如何安全可靠的傳輸,這時就涉及到乙個可信的第三方。
數字證書認證機構(certificate authority,ca)處於客戶端與伺服器雙方都可信賴的第三方機構的立場上。威瑞信(verisign)就是其中一家非常有名的數字證書認證機構。我們來介紹一下數字證書認證機構的業務流程。
此處認證機關的公開金鑰必須安全地轉交給客戶端。使用通訊方式時,如何安全轉交是一件很困難的事,因此,多數瀏覽器開發商發布版本時,會事先在內部植入常用認證機關的公開金鑰。
客戶端通過傳送 client hello 報文開始 ssl 通訊。報文中包含客戶端支援的 ssl 的指定版本、加密元件(cipher suite)列表(所使用的加密演算法及金鑰長度等)。
伺服器可進行 ssl 通訊時,會以 server hello 報文作為應答。和客戶端一樣,在報文中包含 ssl 版本以及加密元件。伺服器的加密元件內容是從接收到的客戶端加密元件內篩選出來的。
之後伺服器傳送 certificate 報文。報文中包含公開金鑰證書。
最後伺服器傳送 server hello done 報文通知客戶端,最初階段的 ssl 握手協商部分結束。
ssl 第一次握手結束之後,客戶端以 client key exchange 報文作為回應。報文中包含通訊加密中使用的一種被稱為 pre-master secret 的隨機密碼串。該報文已用步驟 3 中的公開金鑰進行加密。
接著客戶端繼續傳送 change cipher spec 報文。該報文會提示伺服器,在此報文之後的通訊會採用 pre-master secret 金鑰加密。
客戶端傳送 finished 報文。該報文包含連線至今全部報文的整體校驗值。這次握手協商是否能夠成功,要以伺服器是否能夠正確解密該報文作為判定標準。
伺服器同樣傳送 change cipher spec 報文。
伺服器同樣傳送 finished 報文。
伺服器和客戶端的 finished 報文交換完畢之後,ssl 連線就算建立完成。當然,通訊會受到 ssl 的保護。從此處開始進行應用層協議的通訊,即傳送 http 請求。
應用層協議通訊,即傳送 http 響應。
最後由客戶端斷開連線。斷開連線時,傳送 close_notify 報文。上圖做了一些省略,這步之後再傳送 tcp fin 報文來關閉與 tcp的通訊。
在以上流程中,應用層傳送資料時會附加一種叫做 mac(message authentication code)的報文摘要。mac 能夠查知報文是否遭到篡改,從而保護報文的完整性。
上圖**了從伺服器傳送公鑰證書到客戶端與伺服器協商好金鑰的過程。
ietf 以 ssl3.0 為基準,後又制定了 tls1.0、tls1.1 和 tls1.2。tsl 是以 ssl 為原型開發的協議,有時會統一稱該協議為 ssl。當前主流的版本是 ssl3.0 和 tls1.0。由於 ssl1.0 協議在設計之初被發現出了問題,就沒有實際投入使用。ssl2.0 也被發現存在問題,所以很多瀏覽器直接廢除了該協議版本。
證書是要收費的
https要傳送比http多得多的包,意味著要占用更多的網路資源
https在伺服器與客戶端雙方都需要加解密,會涉及一筆cpu消耗
http https 網路安全應用分析
設計要求 1.只允許外部網路訪問web伺服器 2.允許web伺服器訪問應用資料伺服器 3.應用伺服器只響應web伺服器的請求 4.允許應用伺服器向資料庫伺服器傳送請求 5.資料庫伺服器只響應應用伺服器 6.內部網路只可以訪問web服務 fw 1外部介面的 in方向 access list 101 p...
只為更快 更省 更安全的 Azure CDN
經過最近一次更新,azure cdn 高階版服務 https ssl 證書的申請方式有所改進啦,除了現有的 azure cdn 代為申請證書外,還支援使用者自己申請的證書。同時自 2017 年 5 月 1 日起,azure cdn 高階版服務降價了哦,使用高階版的小夥伴們能夠更節省地使用了 急性子想...
雲安全認證雲平台使用安全 雲如何使您更安全
雲安全認證雲平台使用安全 哇,我們幾乎已經將20 的企業工作負載儲存在雲中,儘管我們僅在三年前就做出了這樣的 但世界還沒有崩潰。最大的擔憂之一是對安全性的擔憂。但是實際上,您的資訊在雲中比在自己的資料中心中更安全。工作中有三個因素。idg研究 雲的狀態 企業採用的方式正在形成 通過infoworld...