https實現安全傳輸的流程

2021-09-22 16:56:52 字數 1334 閱讀 3090

https簡介

https其實是有兩部分組成:http + ssl / tls,也就是在http上又加了一層處理加密資訊的模組。服務端和客戶端的資訊傳輸都會通過tls進行加密,所以傳輸的資料都是加密後的資料。具體是如何進行加密,解密,驗證的,且看下圖。

1. 客戶端發起https請求

這個沒什麼好說的,就是使用者在瀏覽器裡輸入乙個https**,然後連線到server的443埠。

2. 服務端的配置

採用https協議的伺服器必須要有一套數字證書,可以自己製作,也可以向組織申請。區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪 問,而使用受信任的公司申請的證書則不會彈出提示頁面(startssl就是個不錯的選擇,有1年的免費服務)。這套證書其實就是一對公鑰和私鑰。如果對 公鑰和私鑰不太理解,可以想象成一把鑰匙和乙個鎖頭,只是全世界只有你乙個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然後 發給你,因為只有你乙個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。

3. 傳送證書

這個證書其實就是公鑰,只是包含了很多資訊,如證書的頒發機構,過期時間等等。

4. 客戶端解析證書

這部分工作是有客戶端的tls來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等,如果發現異常,則會彈出乙個警告框,提示證書存 在問題。如果證書沒有問題,那麼就生成乙個隨機值。然後用證書對該隨機值進行加密。就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被 鎖住的內容。

5. 傳送加密資訊

這部分傳送的是用證書加密後的隨機值,目的就是讓服務端得到這個隨機值,以後客戶端和服務端的通訊就可以通過這個隨機值來進行加密解密了。

6. 服務段解密資訊

服務端用私鑰解密後,得到了客戶端傳過來的隨機值(私鑰),然後把內容通過該值進行對稱加密。所謂對稱加密就是,將資訊和私鑰通過某種演算法混合 在一起,這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密演算法夠彪悍,私鑰夠複雜,資料就夠安全。

7. 傳輸加密後的資訊

這部分資訊是服務段用私鑰加密後的資訊,可以在客戶端被還原。

8. 客戶端解密資訊

客戶端用之前生成的私鑰解密服務段傳過來的資訊,於是獲取了解密後的內容。整個過程第三方即使監聽到了資料,也束手無策。

配置安全傳輸方式 HTTPS

然後進入到我們的伺服器,進行ssl模組的安裝 yum install mod ssl openssl 安裝完成後,在 etc httpd conf.d目錄下會多出乙個ssl.conf,我們需要對其中的以下幾個項進行更改配置。documentroot var www html 指定https根路徑 s...

dns 明文傳輸 配置安全傳輸方式 HTTPS

然後進入到我們的伺服器,進行ssl模組的安裝 yum install mod ssl openssl 安裝完成後,在 etc httpd conf.d目錄下會多出乙個ssl.conf,我們需要對其中的以下幾個項進行更改配置。documentroot var www html 指定https根路徑 s...

web安全 傳輸安全

anyproxy 伺服器在之間可以看到 1.http傳輸竊聽 瀏覽器 伺服器 鏈路 伺服器 傳輸鏈路竊聽篡改 2.http竊聽 竊聽使用者密碼 竊聽傳輸敏感資訊 3.http篡改 插入廣告 重定向 無法防禦的xss和csrf攻擊 4.案例 運營商劫持 區域網劫持 支付寶現在已經修正 公共wifi獲取...