老李分享:https协议
老李分享:https協(xié)議
最近我們看到很多站點使用 HTTPS 協(xié)議提供網(wǎng)頁服務。通常情況下我們都是在一些包含機密信息的站點像銀行看到 HTTPS 協(xié)議。
如果你訪問 google,查看一下地址欄,你會看到如下信息
我們可以看到“https" 是綠色高亮顯示,并且前面有一個鎖標,表明網(wǎng)頁請求是通過 https 協(xié)議。
HTTPS 是 HTTP 協(xié)議的一個版本,在瀏覽器和服務器之間提供安全的數(shù)據(jù)傳輸。?
瀏覽器和服務器是通過 http 協(xié)議進行通信,在使用 HTTP 協(xié)議時,客戶端向服務端提交表單數(shù)據(jù)時使用的是非加密方式。
所以當瀏覽器和服務器通信的物理網(wǎng)絡被侵入時,入侵者會得到網(wǎng)頁瀏覽器和服務器之間傳輸?shù)男畔ⅰ?/p>
HTTP 的應用場景是我們不需要使用高安全級別的方法加密數(shù)據(jù)。但銀行這樣的應用會發(fā)送像信用卡詳細信息類的敏感數(shù)據(jù),這會產(chǎn)生安全威脅。如果入侵者監(jiān)視通信信道,他可以輕易獲取到底層用戶的敏感數(shù)據(jù)。
HTTPS 保證安全可靠通信
為了避免這樣的安全威脅,HTTPS 應運而生。HTTPS 是一個確保數(shù)據(jù)在 web 瀏覽器與 web 服務器之間傳輸安全的協(xié)議。
HTTPS 是由 HTTP 協(xié)議+SSL 協(xié)議構成。SSL 協(xié)議通過對信息進行加密,為網(wǎng)絡通信提供安全保障。它運用了非對稱密鑰機制,這種機制是將公鑰自由對外分發(fā),而私鑰只有信息接收者才有。
HTTPS 對比標準的HTTP協(xié)議的兩大優(yōu)勢:
?
-
它確保了用戶訪問的是正確的網(wǎng)站,這個網(wǎng)站是他原本打算訪問的而不是一些假冒網(wǎng)站。
-
它確保了web瀏覽器與web服務器之間通信的內(nèi)容是加密的,因此入侵者不能得到原始的通信內(nèi)容。
所以在 HTTPS 中,SSL 起到了確保了數(shù)據(jù)在客戶端和 web 服務端傳輸安全。
?
HTTPS 工作流程
為了弄清 HTPPS 協(xié)議是怎么工作的,我們首先應該明白加密、解密處理過程是怎么工作的。
加密就是把文本內(nèi)容轉換成其他某種格式,這樣他人就無法解析原始內(nèi)容。
解密就是將之前我們轉換的密文再轉換回原始內(nèi)容。
加密和解密過程也可以用密鑰去加密和解密信息。因此,如果信息是用某個密鑰加密的,那么使用同一個密鑰就能解密。這種方式稱為對稱密鑰機制,因為使用的是同一個密鑰進行加密和解密。
假如我們用一個密鑰加密字符串,另一個密鑰來解密字符串,我們就把這個密鑰稱為非對稱密鑰。我們把用來加密字符串的密鑰稱為公鑰,而用來解密字符串的密鑰稱為私鑰。
那么現(xiàn)在我們明白了 HTTPS 是用來安全傳輸 web 服務端與 web 瀏覽器之間的信息。這就是一個非常好的處理在傳輸信息的時候使用 HTTPS 協(xié)議。
當瀏覽器用 HTTPS 協(xié)議請求一個頁面時,下面的過程也會發(fā)生:
1.瀏覽器向 server 發(fā)出 https 請求,server 監(jiān)聽 443 端口,這個端口是 web server 用來監(jiān)聽使用了 HTTPS 協(xié)議的請求。
2.一旦 web 瀏覽器與 web 服務器之間成功建立連接,SSL 握手流程就開始了。
在握手流程中,瀏覽器和服務器會針對數(shù)據(jù)的加密算法進行協(xié)商并答成一致。過程如下:
-
1. 瀏覽器向服務器發(fā)送一些自身的信息(例如其支持的SSL版本);
-
2. 服務器響應類似信息,例如通信過程中將要使用的SSL版本;
-
3. 服務器會向瀏覽器發(fā)送證書,證書中包含了加密數(shù)據(jù)的公鑰,發(fā)布者信息,有效期以及服務端唯一標識;
-
4. 瀏覽器核實該證書,并發(fā)送信息通知服務器證書已驗證完成;
-
5. 瀏覽器向服務器發(fā)送“Change cipher spec”指令:瀏覽器將對數(shù)據(jù)進行加密;
-
6. 服務器向瀏覽器發(fā)送“Change cipher spec”指令,服務端將要對待發(fā)送的數(shù)據(jù)進行加密。
當我們單擊chrome中小鎖標志,我們就可以看到服務端發(fā)送過來的數(shù)字證書。
3. 瀏覽器產(chǎn)生對稱的密鑰并通過服務器公鑰將其加密,隨后將加密后的密鑰發(fā)送到服務器。這個對稱的密鑰用于在整個會話中進行加密和解密。
我們知道數(shù)字證書是用來提供公鑰的。有兩個關鍵的術語用來理解數(shù)字證書。
X.509?是一個定義數(shù)字證書格式的標準,它規(guī)定了證書中需要包含哪些信息,例如下面:
-
版本 指定 X.509 的版本
-
序列號 唯一的一串數(shù)字用以區(qū)分證書
-
證書發(fā)布者名稱?CA
-
公鑰
CA(Certification authority)表示發(fā)布該證書的機構。只有從發(fā)布者那里才能獲得證書。證書中通常會有發(fā)布者的簽名用以保證有效性。
轉載于:https://www.cnblogs.com/poptest/p/5231645.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的老李分享:https协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 优盘分区少了怎么恢复 恢复被删除的优盘分
- 下一篇: 我的软件工程课目标