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

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

      網站百科

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

      詳解HTTPS原理

      發表日期:2016-12 文章編輯:小燈 瀏覽次數:2828

      http協議是目前非常普及的應用層傳輸協議,了解https之前要先知道http的缺點.

      1.通信使用明文(不加密),內容可能被竊聽.(抓包工具可以獲取請求和響應內容)


      2.不驗證通訊方的身份,可能遭遇偽裝.(任何人都能發送請求,不管對方是誰都會返回響應).




      3.無法證明報文的完整性,可能會遭篡改.(沒有辦法確認發出的請求/響應和接收到的請求/響應前后一致)


      這些問題不止會在http上出現,在其他未加密的協議中也會出現這類問題


      HTTP+加密+認證+完整性保護 = HTTPS.

      為了解決上述問題,需要再http上再加入加密處理和認證等機制.我們把添加了加密和認證機制的http稱之為https(http secure)

      HTTPS是身披SSL保護外衣的HTTP

      HTTPS并非應用層的一種新協議,只是http通訊接口部分用SSL(secure socket layer)和TLS(transport layer security)協議代替.

      通常,http直接和tcp通信.當使用ssl時,則演變成先和ssl通信,再由ssl和tcp通訊.so,所謂https其實就是身披ssl保護外衣的http.

      HTTPS采用混合機密機制

      在對ssl了解之前先了解兩種加密技術.

      公開密鑰加密(public-key cryptography)->加密算法是公開的,而密鑰是保密的.加密和解密都會用到密鑰.但反過來說只要持有密鑰就能解密.

      共享密鑰加密(common key crypto system)->也被叫做對密鑰加密.以共享密鑰方式加密時必須將密鑰也發給對方.在互聯網上轉發密鑰時,若果通信被監聽那么密鑰就會落入攻擊者之手,另外還得設法安全的保管接收到的密鑰.

      使用兩把密鑰的公開密鑰加密

      公開密鑰加密使用一對非對稱的密鑰.一把私鑰一把公鑰.私鑰不能讓任何人知道,公鑰任何人都能獲得.也就是發送密文一方使用對方的公鑰進行加密處理,對方收到被加密的信息后,再使用自己的的私鑰進行解密.利用這種方法不需要發送用來解密的私鑰,也不必擔心密鑰被盜走.

      https采用共享密鑰加密和公開密鑰加密兩者并用的混合加密機制.若密鑰能夠實現安全交換,那么有可能會考慮僅適用公開密鑰加密來通信.但是公開密鑰加密與共享密鑰加密相比,其處理速度要慢.

      所以應充分利用兩者各有的有事,將多種方法組合起來用于通信.在交換密鑰環節適用公開密鑰加密方式,之后的建立通信交換報文階段則適用共享加密方式.

      證明公開密鑰正確性的證書

      公開密鑰加密方式存在一些問題,無法證實公鑰真偽.為了解決這個問題,可以使用由數字證書認證機構(CA,certificate authority)和其相關頒發的公鑰證書.


      可證明組織真實性的EV SSL證書

      證書的一個作用是用來證明作為通信乙方的服務器是否規范,另外一個作用就是確認對方服務器背后運營的企業是否真實存在.擁有該特性的證書就是EV SSL證書(extended validation SSL certificate)

      EV SSL證書是基于國際標準的認證指導方針頒發的證書.通過認證的web網站能夠獲得更高的認可度.

      持有EV SSL證書的web網站瀏覽器地址欄處的背景是綠色的.點擊后可以查看詳情

      用以確認客戶端的客戶端證書

      HTTPS中還可以使用客戶端證書.以客戶端證書進行客戶端認證,證明服務器正在通信的對方始終是預料之內的客戶端,起作用跟服務器證書如出一轍.

      想獲取證書時,用戶需要自行安裝客戶端證書,證書是付費購買的,且每張證書對應到每位用戶也就意味著需支付和用戶數對等的費用.另外要讓不同的用戶自行安裝證書,這件事本身也是充滿了挑戰.

      現狀是,安全性極高的認證機構可頒發客戶端證書但僅用于特殊用途的業務.比如銀行的網銀就采用客戶端證書.客戶端證書另一個問題只能證明客戶端實際存在,而不能用來證明用戶本人的真實.

      由自認證機構頒發的證書成為自簽名證書

      如果使用openSSL這套開源程序,都可以構建一套屬于自己的認證機構,從而自己給自己頒發服務器證書.但該服務器證書在互聯網不可作為證書使用.

      獨立構建的認證機構叫做自認證機構頒發的證書為"自簽名證書"

      瀏覽器訪問該服務器時,會顯示"無法確認連接安全性"或"該網站的安全證書存在問題"等

      之所以這樣原因是它無法消除偽裝的可能性.值得信賴的第三方機構介入認證,才能讓已植入在瀏覽器內的認證機構頒布的公鑰發揮作用,并證明服務器的真實性.

      ps:中級認證機構的證書,某些瀏覽器會以正規的證書來對待,可有的瀏覽器會當做自簽名證書.

      HTTPS的安全通信機制

      為了更好地理解HTTPS,我們觀察一下HTTPS的通信步驟





      1.客戶端通過發送client hello報文開始SSL通信.報文中包含客戶端支持的SSL指定版本,加密組件列表(所使用的加密算法 密鑰長度等)

      2.服務器可進行SSL通信時,會議Server Hello報文作文回應.報文中含SSL版本 加密組件.服務器的加密組件內容是從接受客戶端加密組件內篩選出來的.

      3.之后服務器發送certificate報文.報文中包好公開密鑰證書.

      4.服務器發送server hello done報文通知客戶端.最初階段握手協商部分結束.

      5.SSL第一次握手結束后,客戶端以client key exchange報文作為回應.報文包含通信加密中使用的隨機密碼串.該報文已用步驟3中的公鑰加密;

      6.客戶端繼續發送change cipher spec報文.該報文會提示想服務器,在此報文之后的通訊會采用pre-master secret密鑰加密

      7.客戶端發送finished報文 該報文包含連接至今前部報文的整體校驗值.這次握手協商是否成功,要以服務器是否能夠正確解密該報文作文判定標準.

      8.服務器同樣發送change cipher spec報文

      9.服務器同樣發送finished報文

      10.C&S finishe報文交換完畢之后,ssl連接就算建立完成.通信會受到SSL的保護.從此開始進行應用層的協議通信,即發送HTTP響應

      11.應用層協議通信,即發送HTTP響應

      12.最后客戶端斷開連接.斷開連接時,發送close_notity報文.上圖做了一些省略

      在以上流程中,應用層發送數據時會附加一種叫做MAC(message authentication code)的報文摘要.MAC能夠查知報文是佛遭到篡改.從而保護報文的完整性.

      到此HTTP的問題基本都已經解決啦,那HTTPS就沒有缺點嗎

      SSL最大的問題所在就是慢!!


      SSL的慢分兩種.一種指通信慢,另一種是指由于大量消耗CPU以及內存資源,導致處理速度變慢.

      和使用http相比網絡負載可能會變慢2到100倍.出去和TCP連接,發送HTTP請求&響應以外,還必須進行SSL通信,因此整體上處理通信量不可避免會增加.

      另一點是SSL必須進行加密處理.服務器和客戶端都要進行加密和解密的處理.比起HTTP會更多的消耗服務器和客戶端的硬件資源,導致負載增強.

      針對速度變慢這一問題,并沒有根本性的解決方案,我們會使用SSL加速器(專用服務器)硬件來改善該問題.該硬件為SSL通信專用硬件,相對軟件來講,能夠提高數倍SSL的計算速度.僅在SSL處理時發揮SSL加速器的功效,以分擔負載.

      為什么不一直使用HTTPS?

      目前并非所有內容都進行加密處理,而是僅在那些需要信息隱藏時才會加密,以節約資源.除此之外購買證書的開銷一室原因之一

      ps:SSL證書參考下面的消息;

      免費的目前有 2 個

      國內的:免費SSL證書申請

      國外的:StartSSL? Certificates & Public Key Infrastructure

      備注:其實,國內的這家的根證書,也是startssl簽發的,實際上還是等于是startssl提供的免費證書。

      便宜的有很多家,這里列舉幾個:

      Namecheap:Cheap SSL Certificates from $7.95/yr ? Namecheap.com

      還是Namecheap:SSL Certificates. Buy Cheap SSL Certs from $4.99/yr

      cheapssl:Cheap SSL Certificates. Buy or Renew Cheapest SSL at $4.80

      再補充 2 個賣便宜 SSL 的:

      Gogetssl:https://www.gogetssl.com/domain-validation/comodo-positive-ssl/

      Starfieldtech:https://www.starfieldtech.com/

      以上來自<圖解HTTP>


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

      多一份參考,總有益處

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

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

      業務熱線:余經理:13699882642

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

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