IIS中常見的幾種驗證模式如Anonymous,Bisic,Digest,Windows Authentication驗證過程剖析

來源:互聯網
上載者:User

Basic Authentication:

step1:

用戶端以anonymouse驗證方式請求服務

step2:

伺服器接收到request後,在其Http header中指明其authentication mode,為basic authentication,從而要求用戶端提供有效credential, 其header 格式如所示,同時返回401給用戶端

step3:

用戶端接受到伺服器返回的response後,從其header中得知其authentication mode為basic authentication, 故在用戶端彈出相應對話方塊,要求輸入username&Password,形成有效client credential,並將該credential以明文的形式寫在http header中,傳送至server.

step4:

server接受到該request之後,從header中提取有效client credential,並對該credential進行有效性驗證。如果通過,則開始process the request.否則,返回401給用戶端。

Note:在對client credential中進行驗證時候,不一定需要domain environment。在IIS7中,我們可以自訂一個basic authentication module來進行credential的有效性驗證。

Digest Authentication

step1:

用戶端以anonymouse驗證方式請求服務

step2:

伺服器接收到request後,在其Http header中指明其authentication mode為Digest authentication,從而要求用戶端提供有效credential, 並指定對client提供的credential產生訊息摘要的演算法,如中所示為MD5演算法。其header 格式如所示,同時返回401給用戶端。

因此,Digest authentication是看不到client所提供的password,只能看到對其credential產生的訊息摘要,即使被截獲,這些對於第3方是毫無意義的。這樣相對於basic authentication的明文傳輸credential要安全多。

step3:

用戶端接受到伺服器返回的response後,從其header中得知其authentication mode為digest authentication, 故在用戶端彈出相應對話方塊,要求輸入username&Password,形成有效client credential,並將該credential通過訊息摘要機密演算法對其加密寫入http  header,然後連同請求傳送至server.此時發送出去的包如所示: 

 step4:

server接受到該request之後,從header中提取有效client credential,並通過LDAP服務,串連至DC,尋找相應使用者名稱與摘要資訊匹配的domain user。如果找到,說明該 credential 有效,則開始process the request.否則,返回401給用戶端。

 

Integrated windows Authentication

step1:

用戶端以anonymouse驗證方式請求服務

step2:

伺服器接收到request後,在其Http header中指明其authentication mode為integrated windows authentication, 其header 格式如所示,同時返回401給用戶端。 integrated windows authentication有2種方式,分別為NTLM和kerberos驗證,而Negotiate方式實際為NTLM和Kerberos的Wrapper. 優先條件下使用kerberos驗證。

step3:

通過制定的Kerberos或者NTLM驗證模式,驗證客戶提供的TGS是否有效。如果通過,則處理該請求。否則,放回401

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.