日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HTTPS原理和对中间件攻击的预防

發(fā)布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTPS原理和对中间件攻击的预防 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、https/tls原理


HTTPS訪問的三個階段


第一階段 認(rèn)證站點(diǎn)

客戶端向站點(diǎn)發(fā)起HTTPS請求,站點(diǎn)返回數(shù)字證書??蛻舳送ㄟ^數(shù)字證書驗證所訪問的站點(diǎn)是真實(shí)的目標(biāo)站點(diǎn)。

第二階段 協(xié)商密鑰

客戶端與站點(diǎn)服務(wù)器協(xié)商此次會話的對稱加密密鑰,用于下一階段的加密傳輸。

第三階段 加密傳輸

客戶端與站點(diǎn)直接使用已協(xié)商的對稱加密密鑰傳輸數(shù)據(jù)。

以下用一張圖描繪CA、站點(diǎn)服務(wù)器、客戶端之間的交互關(guān)系

二、中間人攻擊


中間人攻擊的幾種形式

?

  • 直接抓取報文獲得明文信息
  • 非法中間加密代理,竊取明文信息
  • 留存密文,如果對稱密鑰泄露,解密歷史報文

  • 中間人攻擊的防范


    1.防范直接獲取明文

    加密傳輸報文

    2.防范非法中間加密代理

    黑客對客戶端偽裝成服務(wù)器,對服務(wù)器偽裝成客戶端,通過非法代理竊取會話數(shù)據(jù)。上面圖示的第一、第二階段可以防止這種非法代理行為。雖然黑客可以獲取站點(diǎn)的證書,偽裝成站點(diǎn)服務(wù)器接收請求,但黑客沒有站點(diǎn)服務(wù)器私鑰,無法與實(shí)現(xiàn)客戶端實(shí)現(xiàn)密鑰交換,不能竊取明文的會話數(shù)據(jù)。

    3.防范解密歷史報文(前向安全性)

    防范解密歷史報文,這種安全防護(hù)叫前向安全。早期的HTTPS實(shí)現(xiàn)中,客戶端將會話密鑰通過站點(diǎn)公鑰加密后,發(fā)送給服務(wù)器,服務(wù)器用私鑰解密。此時如果服務(wù)器私鑰保管不善泄露,黑客如果留存了歷史報文,可以解密獲取會話密鑰,從而還原歷史報文數(shù)據(jù)。目前通過DH算法保證前向安全。在第二階段,客戶端與服務(wù)器只交換少量信息,雙方便可獨(dú)立計算出臨時會話密鑰用于加密。即使黑客事后獲取私鑰,也不能計算出會話密鑰,從而實(shí)現(xiàn)前向安全。

    三、FAQ

    ?

    1.為什么不直接使用非對稱密鑰加密傳輸報文?

    首先非對稱密鑰加解密效率低,不如對稱密鑰,一般使用AES等加密算法。其次前面也提到,只使用非對稱密鑰加解密不能保證前向安全性。

    2.瀏覽器怎么知道所訪問的站點(diǎn)不是偽造的?

    瀏覽器主要依靠數(shù)字證書來確認(rèn)所訪問的站點(diǎn)不是偽造的。當(dāng)瀏覽器通過https訪問站點(diǎn),站點(diǎn)須返回數(shù)字證書。數(shù)字證書是CA機(jī)構(gòu)“簽發(fā)”的電子文件,其中包含使用者信息、站點(diǎn)公鑰、頒發(fā)者(CA)信息和CA指紋等。假設(shè)數(shù)字證書是完全可信的,且其中的內(nèi)容也是不可篡改的。瀏覽器首先驗證數(shù)字證書中的使用者(站點(diǎn))信息與所訪問的站點(diǎn)域名是否一致,然后用數(shù)字證書中的站點(diǎn)公鑰挑戰(zhàn)站點(diǎn)服務(wù)器,只用擁有私鑰的真實(shí)站點(diǎn)才能通過挑戰(zhàn)。因此可以確保所訪問的站點(diǎn)是真實(shí)的。

    注意:如果驗證有問題,瀏覽器會提示風(fēng)險訪問。

    3.為什么數(shù)字證書是可信的?

    CA機(jī)構(gòu)是可信的,CA本身也包含一個非對稱密鑰對,私鑰用于“簽發(fā)”的數(shù)字證書,公鑰發(fā)布出去用于驗證數(shù)字證書。CA使用非對稱密鑰配合HASH算法保證數(shù)字證書可信且不可篡改。CA將使用者信息、站點(diǎn)公鑰、有效期等關(guān)鍵信息打包做HASH運(yùn)算,再將HASH運(yùn)算結(jié)果用CA私鑰簽名生成指紋。然后將以上全部信息打包成數(shù)字證書。黑客沒有私鑰不可以偽造證書簽名,且證書的內(nèi)容如果被修改,HASH結(jié)果就會改變。因此黑客不可偽造或者篡改證書,有效的數(shù)字證書是可信的。

    4.瀏覽器怎么知道CA是可信的?

    瀏覽器主要依據(jù)客戶端操作系統(tǒng)保存的根證書列表判斷CA的權(quán)威性。如上圖,在Windows操作系統(tǒng)中,這個列表放在“受信任的根證書頒發(fā)機(jī)構(gòu)存儲區(qū)”中,這個列表實(shí)際上是CA機(jī)構(gòu)的根證書集合,根證書包含CA機(jī)構(gòu)的信息和公鑰。只要是這個列表中的CA簽發(fā)的證書,瀏覽器就認(rèn)為可信。微軟會動態(tài)維護(hù)根證書列表,用戶需要管理員權(quán)限才能向這個列表中加入CA證書。

    注:Windows客戶端運(yùn)行在內(nèi)網(wǎng)中時,若無法聯(lián)網(wǎng)更新根證書列表,此時可能會出向訪問https應(yīng)用緩慢。

    5.為什么有些軟件如Fiddler可以還原h(huán)ttps報文?

    Fiddler是通過中間代理的方式抓取報文,還原h(huán)ttps報文的前提是在客戶端的根證書列表下加入Fiddler生成的CA根證書。這樣Fiddler就成為CA,可以偽造數(shù)字證書,偽裝成服務(wù)器。但是只能用于測試,不能實(shí)現(xiàn)真正意義上的竊取數(shù)據(jù)。

    ?

    ?


    ————————————————
    版權(quán)聲明:本文為CSDN博主「shrun」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
    原文鏈接:https://blog.csdn.net/oZhuZhiYuan/article/details/106650944

    總結(jié)

    以上是生活随笔為你收集整理的HTTPS原理和对中间件攻击的预防的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。