生活随笔
收集整理的這篇文章主要介紹了
HTTP基本认证
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
HTTP質(zhì)詢(xún)/響應(yīng)認(rèn)證框架
???????? HTTP提供了一個(gè)原生的質(zhì)詢(xún)/響應(yīng)框架,簡(jiǎn)化了對(duì)用戶(hù)的認(rèn)證過(guò)程。HTTP的認(rèn)證模型如圖所示.
? ? ? ? ?Web服務(wù)器接收到一條HTTP請(qǐng)求報(bào)文時(shí),服務(wù)器沒(méi)有直接響應(yīng)請(qǐng)求的資源,而是以一個(gè)“認(rèn)證質(zhì)詢(xún)”進(jìn)行響應(yīng),要求用戶(hù)提供一些保密信息來(lái)說(shuō)明其身份。用戶(hù)再次發(fā)起請(qǐng)求時(shí),要附上保密證書(shū)(用戶(hù)名和密碼)。如果與要求的不匹配,服務(wù)器可以再次質(zhì)詢(xún)客戶(hù)端,或者產(chǎn)生一條錯(cuò)誤信息。如果證書(shū)匹配則返回請(qǐng)求的資源。
認(rèn)證協(xié)議與首部
HTTP提供可定制的控制首部,為不同的認(rèn)證協(xié)議提供了一個(gè)可擴(kuò)展框架。HTTP提供了兩個(gè)認(rèn)證協(xié)議:基本認(rèn)證和摘要認(rèn)證。
基本認(rèn)證實(shí)例
客戶(hù)端請(qǐng)求某資源。服務(wù)器對(duì)用戶(hù)進(jìn)行質(zhì)詢(xún)時(shí),會(huì)返回一條401Unauthorized響應(yīng),并在WWW-Authenticate首部中說(shuō)明可以使用的認(rèn)證方式。客戶(hù)端重新發(fā)送請(qǐng)求,并在Authorization首部附加上用戶(hù)名、密碼等其他一些認(rèn)證參數(shù)。授權(quán)成功完成后,服務(wù)器會(huì)返回一個(gè)正常的狀態(tài)碼(比如,200? OK),對(duì)于高級(jí)算法來(lái)說(shuō),可能還會(huì)在Authentication-Info首部附加額外的信息。
HTTP基本認(rèn)證將用戶(hù)名和密碼打包在一起,并使用base-64編碼方式對(duì)其進(jìn)行編碼。具體過(guò)程如下圖所示
基本認(rèn)證的安全缺陷
基本認(rèn)證通過(guò)網(wǎng)絡(luò)發(fā)送用戶(hù)名和密碼,雖然進(jìn)行base-64編碼可以隱藏用戶(hù)名和密碼,但是很容易通過(guò)反向編碼過(guò)程進(jìn)行解碼。即使密碼以更加難以解碼的方式加密,第三方用戶(hù)仍然可以捕獲被修改過(guò)的用戶(hù)名和密碼,并通過(guò)重放攻擊獲取服務(wù)器的訪問(wèn)權(quán)限。很多用戶(hù)會(huì)將不同的服務(wù)使用相同的用戶(hù)名和密碼,基本認(rèn)證直接發(fā)送用戶(hù)名和密碼,會(huì)對(duì)一些重要的服務(wù)(比如在線銀行網(wǎng)站)造成威脅。基本認(rèn)證沒(méi)有提供任何針對(duì)代理和中間人節(jié)點(diǎn)的防護(hù)措施,他們沒(méi)有修改認(rèn)證首部,但卻修改了報(bào)文的其余部分,這樣就嚴(yán)重的改變了事務(wù)的本質(zhì)。假冒服務(wù)器很容易騙過(guò)基本認(rèn)證。如果在用戶(hù)實(shí)際鏈接到一臺(tái)惡意服務(wù)器或者網(wǎng)關(guān)的時(shí)候,能夠讓用戶(hù)相信他鏈接的是一個(gè)受基本認(rèn)證保護(hù)的合法主機(jī),攻擊者就可以請(qǐng)求用戶(hù)輸入密碼。IIS中站點(diǎn)默認(rèn)開(kāi)啟匿名身份驗(yàn)證,并可以直接訪問(wèn)。
總結(jié)
以上是生活随笔為你收集整理的HTTP基本认证的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。