天天看點

《圖解HTTP[上野宣]》讀書筆記八

第8章 确認通路使用者身份的認證

 1.何為認證

 核對的資訊通常是指

 -密碼:隻有本人才會知道了字元串資訊

 -動态令牌:僅限本人持有的裝置内顯示的一次性密碼

 -數字證書:僅限本人(終端)持有的資訊

 -生物認證:指紋和虹膜等本人的生理資訊

 -IC卡等:僅限本人持有的資訊

 2.HTTP使用的認證方式

 HTTP/1.1 使用的認證方式如下

 -BASIC認證(基本認證)

 -DIGEST認證(摘要認證)

 -SSL用戶端認證

 -FormBase認證(基于表單認證)

 3.BASIC認證

 Web伺服器與通信用戶端之間進行的認證方式

 使用不夠便捷靈活,達不到多數Web網站期望的安全性等級,是以它并不常用。

 認證步驟:

 -發送請求

 -傳回狀态碼401 Authorization Required,傳回帶WWW-Authenticate首部字段的響應。該字段内包含認證的方式(BASIC)及Request-URI安全域字元串(realm)

 -将使用者ID及密碼發送給伺服器。使用者ID和密碼中間以冒号(:)連接配接,經過Base64編碼處理,寫入首部字段Authorization後,發送請求

 -認證成功傳回狀态碼200,失敗傳回401

 2017.10.1 15:39:25~2017.10.1 15:55:30

 4.DIGEST認證 - 使用質詢/響應的方式(challenge/response)

 一開始會發送認證要求給另一方,接着使用從另一方那接收到的質詢計算響應碼。最後将響應碼傳回給對方進行認證的方式。

 認證步驟:

 -發送請求

 -傳回臨時的質詢碼(随機數,nonce)以及告知需要認證的狀态碼401

 -發送摘要以及同質詢碼計算出的響應碼(response)

 -認證成功傳回狀态碼200,失敗則再次發送狀态碼401

 5.DIGEST認證提供防止密碼被竊聽的保護機制,但并不存在防止使用者僞裝的保護機制。

 6.DIGEST認證和BASIC認證一樣,使用上不那麼便捷靈活,仍達不到多數Web網站對高度安全等級的追求标準。是以它的适用範圍也有所愛限。

 7.SSL用戶端認證

 借同HTTPS的用戶端證書完成認證的方式。憑借用戶端證書認證,伺服器可确認通路是否來自自己登入的用戶端。

 8.SSL用戶端認證步驟

 用戶端必須事先安裝此證書。

 -接收到需要認證資源的請求,伺服器會發送Certificate Request封包,要求用戶端提供用戶端證書。

 -使用者選擇将發送的用戶端證書後,用戶端會把用戶端證書資訊以Client Certificate封包方式發送給伺服器。

 -伺服器驗證用戶端證書,驗證通過後方可領驗證書内用戶端的公開密鑰,然後開始HTTPS加密通信。

 9.SSL用戶端認證采用雙因素認證

 證書認證和基于表單認證

 10.基于表單認證

 此方法并不是在HTTP協定中定義的。

 多數情況下,輸入已事先登入的使用者ID和密碼等登入資訊後,發送給Web應用程式,基于認證結果來決定認證是否成功。

 11.認證多半為基于表單認證

 12.Session管理及Cookie應用

 使用Cookie來管理Session,以彌補HTTP協定中不存在的狀态管理功能。

繼續閱讀