<tt id="okomo"></tt>
  • <bdo id="okomo"><center id="okomo"></center></bdo>
  • <td id="okomo"><table id="okomo"></table></td>
    <table id="okomo"><noscript id="okomo"></noscript></table>
  • <table id="okomo"><center id="okomo"></center></table><bdo id="okomo"><source id="okomo"></source></bdo>
    • 歡迎使用超級蜘蛛池,網站外鏈優化,蜘蛛外鏈引蜘蛛快速提高網站收錄,收藏快捷鍵 CTRL + D

    HTTP和HTTPS区别对比,HTTPS加密、解密及验证过程


    本文從HTTP的不安全引出HTTPS,HTTPS就是在HTTP的基礎上增加了一層SSL的加密協議,然后進一步講述了兩種不同的加密方式,分別是對稱加密和非對稱加密,然后講述了兩者的不同及各自的優缺點,HTTPS綜合了兩種加密方式,最后,給出了完整的HTTPS加密、解密及驗證過程。

    HTTP和HTTPS區別對比,HTTPS加密、解密及驗證過程

    1.從HTTP說起

    說起HTTP請求,我們幾乎每天都在發出這樣的請求,例如我們在瀏覽器中輸入http://www.baidu.com時,就是向百度的服務器發出一個http請求,而百度的服務器同時會給我們返回該請求的一個回應。再例如,我們在一個登錄的場景下,輸入用戶名="123",密碼="666666",然后按下登錄按鈕,此時http請求中將攜帶著用戶名和密碼兩個信息提交到服務器,然后服務器從http請求的報文中提取到用戶名和密碼等信息。

    HTTP和HTTPS區別對比,HTTPS加密、解密及驗證過程

    很明顯,http請求存在著一個很嚴重的問題,http協議傳輸的是明文,如果中間有個黑客攔截到該請求,就攔截到了我們的數據,就能將我們的用戶名和密碼看得一清二楚,這樣隱私的數據就非常容易泄露出去。

    HTTP和HTTPS區別對比,HTTPS加密、解密及驗證過程


    因此,我們很容易想到,我們可以對數據加密去解決該問題呀!這就引出了我們今天的主題:HTTPS,于是,有了下圖的場景。

    HTTP和HTTPS區別對比,HTTPS加密、解密及驗證過程

    可以看出,黑客即使截取到了我們請求的數據,他看到也只是一串亂碼,根本不知道是啥子玩意,所以,HTTPS就是一種將數據加密后再傳輸的協議。

    2.HTTP和HTTPS的對比

    HTTP和HTTPS區別對比,HTTPS加密、解密及驗證過程


    從上圖可以看到,HTTP和HTTPS協議底層都是基于TCP的協議,只是HTTPS協議中間多了一層SSL或者TLS,因此,很簡單,HTTPS就是HTTP協議加上SSL/TLS。TLS是SSL的升級版,它們的作用都是進行加密的連接。

    3.對稱加密

    特點:靠一個密鑰來加密數據,使用相同的一個密鑰來解密數據。首先用戶需要把自己的一把鑰匙給送給服務器,用戶用這把鑰匙加密數據,然后服務器待會拿這把相同的鑰匙去解密用戶接下來發送的數據。

    HTTP和HTTPS區別對比,HTTPS加密、解密及驗證過程

    那么,這樣的加密算法有什么不妥呢?首先,如果用戶擁有相同的密鑰的話,我的密鑰能解你的數據,你的密鑰能解密我的數據,這樣,別有用心的用戶就能截取和破解你的數據了,所以,每個用戶都必須擁有一把只屬于自己的密鑰,那每個用戶的密鑰都要先發給服務器,那有5000萬個用戶服務器就有5000萬把密鑰,這明顯給服務器增加了太多太多的負荷,這是顯然不符合我們的需求的;其次,如果在客戶端第一次發送密鑰給服務器的時候,此次發送是明文發送的,黑客此刻在中間截取到了我們的密鑰,那接下來的數據黑客也能破解掉,這明顯也是不符合我們的需求。但是,該加密方式計算量小,加密和解密的速度比較快,適合加密比較大的數據。好了,講完對稱加密,我們知道對稱加密存在著一些缺點,由此產生了第二種的加密方式,就是非對稱加密。

    4.非對稱加密

    特點:有一個公鑰和一個私鑰,公鑰加密只能私鑰解密,私鑰加密只能公鑰解密。因為解密和加密使用不同的鑰匙,所以稱為非對稱加密。公鑰和私鑰都放在服務器上,公鑰是可以隨便傳輸的,私鑰是絕對不會暴露的,數據傳輸是安全的。

    說了這么多抽象的東東,我們看一個具體的例子。

    HTTP和HTTPS區別對比,HTTPS加密、解密及驗證過程

    首先服務器端把公鑰傳給客戶端,客戶端拿到公鑰后對數據進行加密,然后客戶端發送使用公鑰加密過的數據到服務器,服務器收到加密后的數據后使用私鑰對數據進行解密。

    此刻,黑客即使拿到公鑰和公鑰加密后的數據,也沒法解密,因為公鑰加密的數據公鑰是解不了的,只有私鑰能解。

    該加密方式數據傳輸雖然安全,但是計算量大,加密和解密的速度比較慢。

    那么,有沒有一種方法是加密解密速度快,而且又是數據傳輸安全的呢?根據對稱加密的優點和非對稱加密的優點,由此誕生了HTTPS的加密方式,接下來我們看一下HTTPS加密、解密及驗證的過程。

    HTTP和HTTPS區別對比,HTTPS加密、解密及驗證過程

    5.HTTPS加密、解密及驗證過程

    HTTP和HTTPS區別對比,HTTPS加密、解密及驗證過程

    假如服務器端存有一個公鑰777和一個私鑰888,首先,瀏覽器發出一個https請求,如https://www.baidu.com,服務器端響應請求,返回一個SSL數字證書給客戶端,SSL數字證書包括了公鑰和服務器的身份標識信息,客戶端收到SSL數字證書之后,驗證該數字證書是否有效,如無效,則瀏覽器會發出不安全警告,如有效,就會先生成一個隨機碼如6666,然后使用公鑰777對這個隨機碼進行加密,然后傳輸該加密后的隨機碼到服務器,服務器使用私鑰888進行解密,得到客戶端的隨機碼為6666,以上該過程就是我們說的非對稱加密。此時,客戶端和服務器都同時擁有了該隨機碼6666,然后,把這個隨機碼6666用作對稱加密的密鑰,用密鑰6666對userName和passWord的信息進行加密,發送到服務器端,服務器端同樣使用相同的密鑰6666對數據進行解密,最后得到userName和passWord的信息。以上為整個HTTPS加密、解密及驗證的過程。

    本文鏈接:http://www.uplinku.com/article/811.html

    評論專區

    您的大名*
    電子郵件*
    個人網址 
    評論內容 
    驗證碼     

    超級蜘蛛工具

    • 超級蜘蛛池引蜘蛛
    • 百度關鍵詞排名查詢-網站關鍵詞排名批量查詢工具-超級蜘蛛池
    • 百度收錄查詢-百度收錄批量查詢-超級蜘蛛工具
    • 域名IP地址批量查詢_網站IP地址批量查詢_超級蜘蛛工具_超級蜘蛛池
    • 超級外鏈發布工具_免費批量發布SEO外鏈_發外鏈工具_超級蜘蛛池
    • 網頁蜘蛛模擬抓取測試工具_超級蜘蛛工具_超級蜘蛛池
    外出,国外呦女网址www呦女,巨大还在体内不出来又涨大了
    <tt id="okomo"></tt>
  • <bdo id="okomo"><center id="okomo"></center></bdo>
  • <td id="okomo"><table id="okomo"></table></td>
    <table id="okomo"><noscript id="okomo"></noscript></table>
  • <table id="okomo"><center id="okomo"></center></table><bdo id="okomo"><source id="okomo"></source></bdo>