<address id="r9vd9"><address id="r9vd9"><listing id="r9vd9"></listing></address></address>

      歡迎您光臨深圳塔燈網絡科技有限公司!
      電話圖標 余先生:13699882642

      網站百科

      為您解碼網站建設的點點滴滴

      SSL:http與https

      發表日期:2018-02 文章編輯:小燈 瀏覽次數:2884

      在一般情況下我們上網采用的超文本傳輸協議為http協議,https協議的全稱為Hypertext Transfer Protocol over Secure Socket Layer,相比http多了一個Secure,簡單來說就是http的安全版。

      由于http是以明文方式發送內容,不提供任何加密,因此當攻擊者截獲了web瀏覽器和網站服務器之間的傳輸報文,就可以讀取其中的信息,用戶就可能泄露自己的敏感信息,如支付密碼,身份證號等等。那么為了解決這個問題,網景公司最早提出了SSL協議,在http的基礎上加入了SSL協議,SSL依靠證書來為瀏覽器和服務器之間的通信加密。

      那么http與https的主要區別有哪些呢。

      1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。

      2、http是超文本傳輸協議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協議。

      3、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

      4、http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。

      那么https是如何工作的呢

      這里只做簡單的說明,詳細內容可以參考http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html

      在http握手之后,要進行SSL握手,分為以下四步

      1.首先客戶使用https的url訪問服務器,要求與服務器建立安全連接。這時候就需要客戶端與服務器協商我們接下來的加密應該怎么做??蛻舳讼雀嬖V服務器,我的瀏覽器支持哪些加密方法,我的版本是什么,等等。然后服務器知道了之后,從客戶端支持的加密方法中隨機選擇一種,然后告訴客戶端。

      2.這時候就會有一個問題,網站怎么證明自己是一個清白的網站,這就需要一個公認的證書來證明自己的清白,就是certification,這個證書是由CA頒布的,CA的證書上有它的簽名,如果用戶信任這個證書而遭到了損失,是可以通過這個證書追求法律責任的。這時候服務器就把證書和公鑰發送給了用戶。那公鑰又是什么呢,這個是由于安全過程采用了密鑰交換算法,這個交換算法需要這一步驟。

      3.客戶收到了證書與密鑰之后,第一步要向服務器證明自己也是清白的(這一步可選),也發送一個自己的證書信息,第二步是瀏覽器生成會話密鑰并用公鑰加密,告訴服務器。第三步是告訴服務器我已經擁有你的證書和公鑰了(可選)。

      4.最后兩方再一次交換密鑰,這個交換過程是為了防止密鑰被攻擊者修改。


      經歷了SSL握手之后,客戶和服務器就可以通過會話密鑰加密通信。

      同時在通信過程中,SSL中還有一個警報協議來保護出現問題的情況,一旦出現錯誤立刻發出警報,如果是致命錯誤,會立即關閉SSL連接并刪除會話,密鑰等信息。

      那么問題就出現了。為什么這種安全的協議不在所有網站上使用起來呢。

      因為https協議也有一些不好的地方,

      1.首先它更耗時,畢竟多了握手的過程與加密的過程。

      2.SSL證書需要錢,小網站一般不會用。

      3.SSL證書需要綁定IP,不能再一個IP上綁定多個域名,IPV4資源不能支撐這個消耗

      4.它的加密范圍有限,只能在某些方面安全,有些國家控制CA證書,中間人攻擊一樣可行。

      提到它更耗時,那么我們簡單的來看一下它到底多么耗時。

      在linux命令窗口輸入:

      -w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null https://www.alipay.com

      上面命令中的w參數表示指定輸出格式,time_connect變量表示TCP握手的耗時,time_appconnect變量表示SSL握手的耗時,s參數和o參數用來關閉標準輸出。

      我運行了多次,結果分別為:(單位是秒)

      TCP handshake: 0.053, SSL handshake: 0.288

      TCP handshake: 0.055, SSL handshake: 0.297

      TCP handshake: 0.078, SSL handshake: 0.345

      TCP handshake: 0.081, SSL handshake: 0.347

      TCP handshake: 0.072, SSL handshake: 0.319

      可以看到,在建立連接階段,TCP+SSL握手的耗時就要遠高于TCP握手,大約為4-5倍

      因此在安全度不高的情況下,能不用SSL就別用了。


      本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.webpost.com.cn/20491.html
      相關開發語言
       八年  行業經驗

      多一份參考,總有益處

      聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

      咨詢相關問題或預約面談,可以通過以下方式與我們聯系

      業務熱線:余經理:13699882642

      Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

      • QQ咨詢
      • 在線咨詢
      • 官方微信
      • 聯系電話
        座機0755-29185426
        手機13699882642
      • 預約上門
      • 返回頂部
      国产成人精品综合在线观看