<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    為什么HTTPS是安全的

    VSole2021-11-16 06:30:36

    1. HTTP 協議

    在談論 HTTPS 協議之前,先來回顧一下 HTTP 協議的概念。

    1.1 HTTP 協議介紹

    HTTP 協議是一種基于文本的傳輸協議,它位于 OSI 網絡模型中的應用層

    HTTP 協議是通過客戶端和服務器的請求應答來進行通訊,目前協議由之前的 RFC 2616 拆分成立六個單獨的協議說明(RFC 7230、RFC 7231、RFC 7232、RFC 7233、RFC 7234、RFC 7235),通訊報文如下:

    • 請求
    POST http://www.baidu.com HTTP/1.1
    Host: www.baidu.com
    Connection: keep-alive
    Content-Length: 7
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
    
    wd=HTTP
    
    • 響應
    HTTP/1.1 200 OK
    Connection: Keep-Alive
    Content-Encoding: gzip
    Content-Type: text/html;charset=utf-8
    Date: Thu, 14 Feb 2019 07:23:49 GMT
    Transfer-Encoding: chunked
    
    ...
    

    1.2 HTTP 中間人攻擊

    HTTP 協議使用起來確實非常的方便,但是它存在一個致命的缺點:不安全

    我們知道 HTTP 協議中的報文都是以明文的方式進行傳輸,不做任何加密,這樣會導致什么問題呢?下面來舉個例子:

    1. 小明在 JAVA 貼吧發帖,內容為我愛JAVA

    2. 被中間人進行攻擊,內容修改為我愛PHP


    3. 小明被群嘲(手動狗頭)

    可以看到在 HTTP 傳輸過程中,中間人能看到并且修改 HTTP 通訊中所有的請求和響應內容,所以使用 HTTP 是非常的不安全的。

    1.3 防止中間人攻擊

    這個時候可能就有人想到了,既然內容是明文那我使用對稱加密的方式將報文加密這樣中間人不就看不到明文了嗎,于是如下改造:

    1. 雙方約定加密方式



    2. 使用 AES 加密報文


    這樣看似中間人獲取不到明文信息了,但其實在通訊過程中還是會以明文的方式暴露加密方式和秘鑰,如果第一次通信被攔截到了,那么秘鑰就會泄露給中間人,中間人仍然可以解密后續的通信:

    那么對于這種情況,我們肯定就會考慮能不能將秘鑰進行加密不讓中間人看到呢?答案是有的,采用非對稱加密,我們可以通過 RSA 算法來實現。

    在約定加密方式的時候由服務器生成一對公私鑰,服務器將公鑰返回給客戶端,客戶端本地生成一串秘鑰(AES_KEY)用于對稱加密,并通過服務器發送的公鑰進行加密得到(AES_KEY_SECRET),之后返回給服務端,服務端通過私鑰將客戶端發送的AES_KEY_SECRET進行解密得到AEK_KEY,最后客戶端和服務器通過AEK_KEY進行報文的加密通訊,改造如下:

    可以看到這種情況下中間人是竊取不到用于AES加密的秘鑰,所以對于后續的通訊是肯定無法進行解密了,那么這樣做就是絕對安全了嗎?

    所謂道高一尺魔高一丈,中間人為了對應這種加密方法又想出了一個新的破解方案,既然拿不到AES_KEY,那我就把自己模擬成一個客戶端和服務器端的結合體,在用戶->中間人的過程中中間人模擬服務器的行為,這樣可以拿到用戶請求的明文,在中間人->服務器的過程中中間人模擬客戶端行為,這樣可以拿到服務器響應的明文,以此來進行中間人攻擊:


    這一次通信再次被中間人截獲,中間人自己也偽造了一對公私鑰,并將公鑰發送給用戶以此來竊取客戶端生成的AES_KEY,在拿到AES_KEY之后就能輕松的進行解密了。

    中間人這樣為所欲為,就沒有辦法制裁下嗎,當然有啊,接下來我們看看 HTTPS 是怎么解決通訊安全問題的。

    2. HTTPS 協議

    2.1 HTTPS 簡介

    HTTPS 其實是SSL+HTTP的簡稱,當然現在SSL基本已經被TLS取代了,不過接下來我們還是統一以SSL作為簡稱,SSL協議其實不止是應用在HTTP協議上,還在應用在各種應用層協議上,例如:FTPWebSocket

    其實SSL協議大致就和上一節非對稱加密的性質一樣,握手的過程中主要也是為了交換秘鑰,然后再通訊過程中使用對稱加密進行通訊,大概流程如下:


    這里我只是畫了個示意圖,其實真正的 SSL 握手會比這個復雜的多,但是性質還是差不多,而且我們這里需要關注的重點在于 HTTPS 是如何防止中間人攻擊的。

    通過上圖可以觀察到,服務器是通過 SSL 證書來傳遞公鑰,客戶端會對 SSL 證書進行驗證,其中證書認證體系就是確保SSL安全的關鍵,接下來我們就來講解下CA 認證體系,看看它是如何防止中間人攻擊的。

    2.2 CA 認證體系

    上一節我們看到客戶端需要對服務器返回的 SSL 證書進行校驗,那么客戶端是如何校驗服務器 SSL 證書的安全性呢。

    • 權威認證機構
    • 在 CA 認證體系中,所有的證書都是由權威機構來頒發,而權威機構的 CA 證書都是已經在操作系統中內置的,我們把這些證書稱之為CA根證書
    • 簽發證書
    • 我們的應用服務器如果想要使用 SSL 的話,需要通過權威認證機構來簽發CA證書,我們將服務器生成的公鑰和站點相關信息發送給CA簽發機構,再由CA簽發機構通過服務器發送的相關信息用CA簽發機構進行加簽,由此得到我們應用服務器的證書,證書會對應的生成證書內容的簽名,并將該簽名使用CA簽發機構的私鑰進行加密得到證書指紋,并且與上級證書生成關系鏈。
    • 這里我們把百度的證書下載下來看看:

    可以看到百度是受信于GlobalSign G2,同樣的GlobalSign G2是受信于GlobalSign R1,當客戶端(瀏覽器)做證書校驗時,會一級一級的向上做檢查,直到最后的根證書,如果沒有問題說明服務器證書是可以被信任的。

    • 如何驗證服務器證書
    • 那么客戶端(瀏覽器)又是如何對服務器證書做校驗的呢,首先會通過層級關系找到上級證書,通過上級證書里的公鑰來對服務器的證書指紋進行解密得到簽名(sign1),再通過簽名算法算出服務器證書的簽名(sign2),通過對比sign1sign2,如果相等就說明證書是沒有被篡改也不是偽造的。

    這里有趣的是,證書校驗用的 RSA 是通過私鑰加密證書簽名,公鑰解密來巧妙的驗證證書有效性。

    這樣通過證書的認證體系,我們就可以避免了中間人竊取AES_KEY從而發起攔截和修改 HTTP 通訊的報文。

    總結

    首先先通過對 HTTP 中間人攻擊的來了解到 HTTP 為什么是不安全的,然后再從安全攻防的技術演變一直到 HTTPS 的原理概括,希望能讓大家對 HTTPS 有個更深刻的了解。

    https安全證書
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    在當今互聯網時代,許多組織和個人都需要同時管理多個網站,這可能包括公司內部網站、在線商店、博客等。為了確保這些網站的安全性和數據保護,選擇適合管理多個網站的SSL證書至關重要。今天小編就為大家詳細介紹下,不同情況下多個網站應該選擇哪種SSL證書。一、擁有多個同級子域名對于需要管理多個子域名網站的情況,通配符SSL證書是一個很好的選擇。通配符SSL證書為主域名及其所有二級子域名提供加密和安全連接。例
    網站的安全性與信任度對于用戶來說至關重要,它決定著用戶是否繼續瀏覽以及是否與您開展業務。SSL證書則是確保網站能夠通過HTTPS加密安全傳輸數據的基礎,可確保網站的安全可信。部署了SSL證書的網站打開后,在瀏覽器地址欄處會有安全鎖標志。而常見的SSL證書類型有OV、DV,那么,應該如何查看網站部署的SSL證書是OV還是DV呢?下面我們來詳細介紹。 1、輸入域名(網址)在瀏覽器的地址欄處輸
    當下,互聯網技術不斷發展的同時,網絡攻擊風險也在不斷增加,加強對您的網站和客戶的保護變得比以往任何時候都更加重要。網站SSL證書可以成為幫助您保護網站和客戶數據的寶貴工具。那么什么是網站SSL證書呢?SSL證書的重要性又體現在哪里呢?什么是網站SSL證書?網站SSL證書是一個數字證書,用于認證網站的身份并啟用加密連接。SSL代表安全套接字層,這是一個安全協議,可在 Web 服務器和 Web 瀏覽器
    一直以來,中小型企業選購服務器證書時,在確認SSL證書帶給網站HTTPS安全加密及身份認證的同時,也會考慮其性價比以及其他附加功能。此外,銳安信SSL證書支持國內外OCSP驗簽, HTTPS驗證查詢效率高,網站訪問速度快, HTTPS服務器訪問更具有穩定性、安全可控性。綜上,銳安信SSL證書作為國產SSL證書品牌,安全優質卻又價格親民,因而自上市以來備受中小企業歡迎,目前已經成為市場上眾多中小企業欣賞的品牌。
    信息化時代,互聯網技術飛速發展的同時,數據泄露規模也在不斷擴大。近日,蘋果公司發布數據泄露報告,表明2023年全球數據泄漏規模將創下歷史新高,前九個月已有3.6億人的敏感數據遭泄漏,比之2022年全年高出20%。數十億記錄遭到泄露根據報告,2021和2022年,全球泄露了驚人的26億條個人記錄,僅2022年一年就泄漏了約15億條個人記錄。2023年將創下新的數據泄漏記錄,因為僅2023年前9個月的
    在如今的互聯網時代,網絡安全變得愈發重要。為了保障網站內數據的安全,許多網站都開始使用HTTPS協議來進行數據傳輸。而谷歌、百度等搜索巨擘啟用全站HTTPS加密服務,更是掀起了網站HTTPS加密的浪潮。那么申請HTTPS證書都需要什么?該如何申請呢?下文將為你詳細解答,一起來看看吧。 HTTPS證書如何申請?目前,企業一般是選擇證書機構來進行證書申請,這主要是因為專業的服務和技術團隊會使
    自上海疫情發生以來,許多企業應防疫要求而居家辦公,導致部分企業無法正常提交SSL證書的申請、續費流程。為幫助企業網站的安全運行,上海銳成特此推出“銳安信SSL證書免費送”的限時活動,全力保護網站以及消費者的數據安全,避免證書過期給企業帶來不安全風險及損失。
    在互聯網上,我們在訪問常見的社交、購物、銀行等網站時,經常會看到這些網站是通過https訪問的,而要實現https訪問,就需要用到https證書。那么你知道https證書是什么?https證書有什么作用?又該怎么申請https證書嗎?本文內容就將詳細介紹。https證書是什么?https證書,也就是我們常說的SSL證書,它由受信任的數字證書頒發機構CA在驗證服務器身份后頒發,是一種用于保護網絡傳輸
    2018年7月起,Chrome瀏覽器的地址欄把一切HTTP標明為不安全網站,這一標準已在主流瀏覽器中實行。為了避免以上情況的發生,企業應及時為網站部署SSL證書。且根據我國等保2.0的規定,信息傳輸要進行加密,如果單位網站要求達到等保2.0的網站,安裝SSL證書就是必須的了。一些網站達不到等級保護要求而出現安全事故也要被處罰。
    客戶端通過服務端的公鑰對私鑰加密傳給服務端的時候,服務端如何辨別不是黑客使用服務端公鑰加密的自己的私鑰?
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类