https 區別於 http,它多了加密(encryption),認證(verification),鑑定(identification)。它的安全源自非對稱加密以及第三方的 ca 認證。
https 運作流程的加密
1. 客戶端生成乙個隨機數 random-client,傳到伺服器端(say hello)
2. 伺服器端生成乙個隨機數 random-server,和著公鑰,一起回饋給客戶端(i got it)
3. 客戶端收到的東西原封不動,加上 premaster secret(通過 random-client、random-server 經過一定
演算法生成的東西),再一次送給伺服器端,這次傳過去的東西會使用公鑰加密定演算法生成的東西),再
一次送給伺服器端,這次傳過去的東西會使用公鑰加密演算法生成的東西),再一次送給伺服器端,
這次傳過去的東西會使用公鑰加密定演算法生成的東西),再一次送給伺服器端,這次傳過去的東西會使用公鑰加密
4. 伺服器端先使用私鑰解密,拿到 premaster secret,此時客戶端和伺服器端都擁有了三
5. 個要素:random-client、random-server 和 premaster secret個要素:random-client、random-server
和 premaster secret
此時安全通道已經建立,以後的交流都會校檢上面的三個要素通過演算法算出的 session key12
3456
78910
11https 運作流程的認證
問: 光加密不行,如何確保沒有中間人?客戶端訪問的一定就是目標**?
證書,權威機構頒發的證書,中間人是沒有目標**的證書的。所以證書需要權威機構頒發,一般瀏覽器支援大多數權威機構
問: ca 證書包含什麼內容?
數字簽名(signature algorithm)
有效時間(validity)
主體(issuer)
公鑰(public key)
x509v3 擴充套件,證書格式12
345問: 好一點的證書收付費昂貴,免費的證書也有限制,如果是內網用(沒用公網網域名稱或只有內網ip),可以不可使用 https 呢?
答案:可以。
在內網,我們可以自建 roo ca,充當權威認證機構
使用openssl建立服務端公鑰和金鑰,並使用 ca 簽發,將簽發後的私鑰(pem)和公鑰檔案(key)配置到伺服器**中
(也可以生成jks檔案,乙個 jks 可以包含多個公鑰和私鑰)12
34問: 內網客戶端訪問配置成功的https後會提示**不受信任,是什麼原因?如何處理?
任何個體/組織都可以扮演 ca 的角色,只不過難以得到客戶端的信任,能夠受瀏覽器預設信任的 ca 大廠商有很多,其中
top5 是 symantec、comodo、godaddy、golbalsign 和 digicert,當然是不信任自建ca的,
所以會提示使用者**不受信任。所以客戶端瀏覽器訪問自建 https **時需要安裝 root ca 證書,表示信任該自建ca12
3https 其他知識
https 的傳輸採用的是非對稱加密,一組非對稱加密金鑰包含公鑰和私鑰,通過公鑰加密的內容只有私鑰能夠解密
ca 認證分為三類:dv ( domain validation),ov ( organization validation),ev ( extended validation),證書申請難度從前往後遞增,貌似 ev 這種不僅僅是有錢就可以申請的
https一般使用的加密與hash演算法如下:
非對稱加密演算法:rsa,dsa/dss
對稱加密演算法:aes,rc4,3des
hash演算法:md5,sha1,sha256
其中非對稱加密演算法用於在握手過程中加密生成的密碼,對稱加密演算法用於對真正傳輸的資料進行加密,而hash演算法用於驗證資料的完整性。由於瀏覽器生成的密碼是整個資料加密的關鍵,因此在傳輸的時候使用了非對稱加密演算法對其加密。非對稱加密演算法會生成公鑰和私鑰,公鑰只能用於加密資料,因此可以隨意傳輸,而**的私鑰用於對資料進行解密,所以**都會非常小心的保管自己的私鑰,防止洩漏。
以上總結來自眾多文章中篩選出來的說的比較清楚的,作為參考
weblogic 中如何配置 https 可參考
Https基礎以及如何配置Https
一 什麼是 ssl 證書,什麼是 https ssl 證書是一種數字證書,它使用 secure socket layer 協議在瀏覽器和 web 伺服器之間建立一條安全通道,從而實現 1 資料資訊在客戶端和伺服器之間的加密傳輸,保證雙方傳遞資訊的安全性,不可被第三方竊聽 2 使用者可以通過伺服器證書...
什麼是HTTPS以及如何實施HTTPS?
我在 讓我們擁抱2021年seo新趨勢吧 文章中的第6點講述了seo優化的重要性,今天就來聊聊什麼是https以及如何實施https,讓您有更深層次的認識,以及掌握實施的重點。超文字傳輸 安全協議 英語 hypertext transfer protocol secure,縮寫 https 常稱為h...
如何使用Sunny進行內網穿透
如何配置sunny ngrok進行內網穿透教程 第一步 到官網申請賬號並登陸 第二步 點選開通隧道,購買免費的ngrok伺服器 第三步 選擇http協議,填寫本地埠。確定新增。前置網域名稱不能和別人相同本地埠一般是 第五步 啟動本地後端伺服器應用 第一種 啟動sunny ngrok啟動工具.bat。...