為什麼說 HTTPS 是安全的?

snca發表於2022-05-24

昨天跟朋友聊天,聊到最近要給自己的網站部署SSL證書,他說我們都知道HTTP是以明文的形式傳遞引數,那麼HTTPS是如何傳遞引數?是否與HTTP傳遞方式相同,HTTPS是如何來保護資料安全?我一聽,這題我熟,果斷開啟電腦給他安排的明明白白。

首先,我使用自己未部署SSL證書的站點來測試,輸入賬號密碼點選提交

透過一系列操作,就查到了剛剛提交的資訊。

當他看到這些後直言啊這,啊這,我悟了,得趕緊給我的寶貝站點配個SSL證書。

別急,讓我給你科普的明明白白的。

資料傳輸必須要經過一些節點,例如WIFI熱點,路由器,防火牆,反向代理,快取伺服器等。在HTTP協議下,中間者可以隨意嗅探使用者資訊,竊取隱私甚至篡改網頁。

“能不能詳細說一下,這裡有點不太明白”他說。

那我就給你舉個通俗易懂的例子:我們們經常網購,那麼伺服器好比商家,運營商好比“快遞公司”,使用者好比買家。當網站用http協議的時候,等於伺服器給使用者寄貨,但隨便選個包裝然後讓“快遞公司”配送給使用者。“快遞員”為了自己的利益,把包裝拆開,可以隨意檢視使用者購買的商品,可能還在裡面塞廣告卡片。甚至有可能調包快遞給使用者的商品。

“快遞員”之所以能輕而易舉的拆開使用者的包裝,是因為我們現行的網路協議是明文傳輸,沒有任何加密。(我們的快遞公司都有相關制度,快遞小哥也很負責,不會發生以上的情況,上述僅僅為舉例說明,滿滿的求生欲)

隨著網際網路的使用群體越來越大,網路通訊安全引起大家的重視,那麼網景公司1994年釋出了新的https協議,在原有的http的基礎上加入了SSL加密傳輸協議.也就是我們今天的SSL證書。

部署SSL證書的網站有明顯的安全標誌:以https開頭,且顯示加密鎖。

這張圖是部署SSL證書後伺服器和客戶端瀏覽器進行加密通訊的一個示意圖。

1.客戶端向伺服器傳送Client Hello,告訴伺服器,我支援的協議版本,加密套件等資訊。

2.伺服器收到響應,選擇雙方都支援的協議,套件,向客戶端傳送Server Hello。同時伺服器也將自己的證書傳送到客戶端(Certificate)。

3.客戶端自己生產預主金鑰,透過公鑰加密預主秘鑰,將加密後的預主秘鑰傳送給伺服器 (Client Exchange)。

4.伺服器用自己的私鑰解密加密的預主金鑰。

之後,客戶端與伺服器用相同的演算法根據客戶端隨機數,伺服器隨機數,預主秘鑰生產主金鑰,之後的通訊將都用主金鑰加密解密。

現在讓我們回頭來看測試站,部署上SSL證書,再看資料:

在SSL證書的保護下,無法檢視使用者與網站之間的互動資訊, 截獲到的資訊全部是密文。保護了我們的資訊保安,以後遇見未設定SSL證書的網站可不要隨便的輸入資訊哦。

悄悄補一句,對你的網站做最佳化排名也有幫助,同樣的網站,https的站點會在搜尋結果排前面。

結束測試後,他感嘆道,網際網路給我們帶來的便利是巨大的,但是資訊保安,還是要時時注意,不能給不法分子有機可乘。

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70017559/viewspace-2896658/,如需轉載,請註明出處,否則將追究法律責任。

相關文章