第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協定中不存在的狀态管理功能。