Http協議(圖解Http學習筆記三)(Http安全)

圖解http是一本挺好的協議入門書籍,主要講http協議,在這裏記錄一下學習總結

(因爲在看書的時候記得文字筆記,所以底下會有許多圖片,字醜別嫌棄)

 

 

Http的缺點:

1.通信使用明文  2.不驗證通信雙方的身份   3.無法驗證報文的完整性,可能會被篡改報文

 

加密分類:

1.通信的加密    2.報文內容的加密

Https=Http+加密+認證+完整性保護=Http+SSL/TLS

Https比Http慢:一個原因是通信慢,一個原因是運算處理費時

(SSL是使用最廣泛的網絡安全技術)

SSL:Secure Sockets Layer 安全套接層

 

加密手段:

1.共享密鑰加密:加密解密用同一個密鑰

2.公開密鑰加密:用兩把密鑰

私鑰保留,公鑰發佈,加密時我方用對方公鑰加密,解密時對方用自己的私鑰解密

 

兩種密鑰的特點:共享密鑰速度快,公開密鑰速度慢,通常混合使用:

先公開密鑰加密交換共享密鑰,之後用共享密鑰加密

 

公鑰也不安全,會被僞造怎麼辦:

3.由數字認證機構頒發公鑰證書(這個是真正的安全,除非認證機構的私鑰泄露)

服務器公鑰申請給認證機構做認證:

認證機構用自己的私鑰對申請的服務器公鑰進行數字簽名,並將數字簽名和服務器公鑰綁定生成公鑰證書頒佈給服務器使用,認證機構的公鑰植入瀏覽器(每個瀏覽器在安裝完成後都內部植入了認證機構的公鑰),通過認證機構的公鑰解密可以證實服務器公鑰的真實性

 

EV SSL證書:證書的一種,可以證明服務器的身份,可以證明該服務器背後的企業的真實性

(瀏覽器訪問使用該類證書的網站,地址欄呈現綠色)

 

 

以上說的都是服務器證書,

還有一種客戶端證書:同樣的原理,客戶端公鑰申請給認證機構生成客戶端公鑰證書

這種是收費的,你有N個用戶就要支付給認證機構        N*每個公鑰的費用

Bank一般會搞這個,我們用的U盾存私鑰,公鑰證書在Bank裏

 

還有一種自認證證書,自己給自己的公鑰做認證,沒什麼安全性

 

 

認證:認證客戶端身份

1.BASIC認證,DIGEST認證

(在訪問需要認證的資源時會跳一個彈窗讓你填用戶名和密碼,用戶名和密碼拼接後Base64加密放入請求首部字段Authorization)

2.SSL客戶端認證

就是客戶端公鑰證書驗證,通常會配合表單認證(銀行採用)

3.表單認證

Web頁面的一個登錄頁面,你填寫用戶名,密碼就登錄認證成功

Cookie保存登錄狀態,用加鹽和散列函數保存密碼(防止明文密碼泄露)

(平時幾乎全都是表單認證)

 

 

Http協議性能瓶頸:

1.一次http連接只進行一次http請求

2.每次請求由客戶端發起,服務器無法給客戶端推送請求

3.每次都要發送冗長的首部

4.首部未經過壓縮

5.主體並非強制要求壓縮編碼

 

解決:

Ajax:局部更新頁面內容

Comet:服務器接到請求掛起,有更新的內容才響應

SPDY:從協議層面改善△

WebSocket協議:全雙工通信,基於http,建立WebSocket連接,連接之後服務器可以給客戶端推送消息,可以減少通信量

Http2:爲了解決1.1版本利用率不高的問題,提出了HTTP/2.0版本。增加雙工模式,即不僅客戶端能夠同時發送多個請求,服務端也能同時處理多個請求,解決了隊頭堵塞的問題(HTTP2.0使用了多路複用的技術,做到同一個連接併發處理多個請求,而且併發請求的數量比HTTP1.1大了好幾個數量級);HTTP請求和響應中,狀態行和請求/響應頭都是些信息字段,並沒有真正的數據,因此在2.0版本中將所有的信息字段建立一張表,爲表中的每個字段建立索引,客戶端和服務端共同使用這個表,他們之間就以索引號來表示信息字段,這樣就避免了1.0舊版本的重複繁瑣的字段,並以壓縮的方式傳輸,提高利用率。

        另外也增加服務器推送的功能,即不經請求服務端主動向客戶端發送數據。

當前主流的協議版本還是HTTP/1.1版本。

 

WebDAV:基於萬維網的的分佈式創作和版本控制

是一種客戶端直接對服務器上的文件資源進行管理操作的系統

(我也不知道這是個啥東西)

 

常見安全攻擊手段:

  1. 跨站腳本攻擊XXS
  2. SQL注入攻擊
  3. OS命令注入攻擊
  4. HTTP首部注入攻擊
  5. 郵件首部注入攻擊
  6. 目錄遍歷攻擊
  7. 遠程文件漏洞
  8. 程序設計缺引發的安全漏洞
  9. 因會話疏忽引發的安全漏洞
  10. 密碼破譯
  11. 點擊劫持
  12. Dos和DDoS
  13. 後門程序

(這裏具體很多我都不知道是個啥,大家想研究網絡安全還是自行百度和看書學習吧)

 

___________________________分割線_________________________________

 

Http協議(圖解Http學習筆記一)(基本概念)

Http協議(圖解Http學習筆記二)(首部字段)

Http協議(圖解Http學習筆記三)(Http安全)

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章