(chap8 确认访问用户身份的认证) DIGES认证(摘要认证)
1. 定義
為了彌補BASIC不加密的缺點,DIGEST同樣適用質詢/響應的方式,但不會像BASIC直接發送明文,給對方的只是相應摘要以及知訊碼產生的計算結果,所以比起BASIC認證,密碼泄露的可能性較小。
2. 步驟
step1.
請求需認證的資源時,服務器會隨著狀態碼401 Authorization Required,返回帶 www-Authenticate首部字段的響應。該字段內包含質問響應方式認證所需的臨時質詢碼(隨機數,nonce )。
-
首部字段www-Authenticate 內必須包含realm和 nonce這兩個字段的信息。客戶端就是依靠向服務器回送這兩個值進行認證的。
-
nonce
一種每次隨返回的401響應生成的任意隨機字符串。該字符串通常推薦由Base64編碼的十六進制數的組成形式,但實際內容依賴服務器的具體實現。
step2
接收到401狀態碼的客戶端,返回的響應中包含DIGEST認證必須的首部字段Authorization信息。 首部字段Authorization 內必須包含username、realm .nonce. uri和 response的字段信息。
- realm和 nonce就是之前從服務器接收到的響應中的字段。
- username是realm限定范圍內可進行認證的用戶名。
- uri ( digest-uri)即 Request-URI 的值,但考慮到繪代理轉發后Request-URI的值可能被修改,因此事先會復制一份副本保存在uri內。
- response 也可叫做Request-Digest,存放經過MD5運算后的密碼字符串,形成響應碼。
響應中其他的實體請參見第6章的請求首部字段Authorization。
step3
接收到包含首部字段Authorization請求的服務器,會確認認證信息的正確性。認證通過后則返回包含Request-URI資源的響應。
并且這時會在首部字段Authentication-Info寫入一些認證成功的相關信息。
3. 特點
- DIGEST認證提供了高于BASIC認證的安全等級,但是和HTTPS的客戶端認證相比仍舊很弱。
- DIGEST認證提供防止密碼被竊聽的保護機制,但并不存在防止用戶偽裝的保護機制。
- DIGEST認證和 BASIC認證一樣,使用上不那么便捷靈活,且仍達不到多數Web 網站對高度安全等級的追求標準。因此它的適用范圍也有所受限。
總結
以上是生活随笔為你收集整理的(chap8 确认访问用户身份的认证) DIGES认证(摘要认证)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (chap8 确认访问用户身份的认证)
- 下一篇: (chap7 确保WEB安全的HTTP