專(zhuān)利名稱(chēng):一種用于web認(rèn)證的http重定向方法
技術(shù)領(lǐng)域:
本發(fā)明屬于現(xiàn)代IP通信網(wǎng)絡(luò)中的接入認(rèn)證技術(shù)領(lǐng)域,尤其涉及現(xiàn)代基于Web瀏覽器的接入認(rèn)證方法。
背景技術(shù):
Internet服務(wù)提供商(以下均簡(jiǎn)稱(chēng)為ISP)為用戶(hù)提供付費(fèi)的接入服務(wù),作為計(jì)費(fèi)的基礎(chǔ)和依據(jù)的用戶(hù)身份認(rèn)證不可或缺?;赪eb的認(rèn)證方法是近年來(lái)出現(xiàn)的一種新的技術(shù),其特點(diǎn)是不需要獨(dú)立的登錄軟件,用戶(hù)使用普通的Web瀏覽器(如微軟的Internet Explorer)就可以完成輸入用戶(hù)名和口令、完成身份鑒別的所有操作。常規(guī)的Web認(rèn)證技術(shù)有一個(gè)不足之處用戶(hù)必須首先知道認(rèn)證的服務(wù)器的IP地址或者域名,并且用Web瀏覽器訪問(wèn)這個(gè)服務(wù)器才能得到認(rèn)證的HTML頁(yè)面。如果用戶(hù)事先不知道認(rèn)證服務(wù)器的地址或域名,則無(wú)法完成認(rèn)證,給使用帶來(lái)不便。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用于WEB認(rèn)證的HTTP重定向方法,可以用于基于WEB瀏覽器的接入認(rèn)證,使得用戶(hù)無(wú)須記住認(rèn)證服務(wù)器的IP地址或者域名,即可完成認(rèn)證,使WEB認(rèn)證的操作變得簡(jiǎn)單易用。
本發(fā)明的技術(shù)方案如下一種用于WEB認(rèn)證的HTTP重定向方法,包括以下步驟(1)在ISP的邊緣接入路由器上使用路由器的分組過(guò)濾功能捕獲未經(jīng)認(rèn)證用戶(hù)的HTTP報(bào)文;(2)接入路由器“偽裝”成用戶(hù)所訪問(wèn)的目標(biāo)主機(jī),與未經(jīng)認(rèn)證用戶(hù)的主機(jī)建立TCP連接;(3)接入路由器利用HTTP協(xié)議中的重定向響應(yīng),將用戶(hù)的HTTP請(qǐng)求重定向到指定的認(rèn)證服務(wù)器端。
當(dāng)采用本發(fā)明的重定向方法將用戶(hù)的HTTP請(qǐng)求重定向到指定的認(rèn)證服務(wù)器端后,認(rèn)證服務(wù)器將用于認(rèn)證的HTML頁(yè)面?zhèn)魉徒o用戶(hù)的瀏覽器,用戶(hù)即可根據(jù)該HTML上的提示完成認(rèn)證操作。
本發(fā)明的重定向方法,實(shí)現(xiàn)在ISP的邊緣接入路由器上,其功能是將還沒(méi)有通過(guò)認(rèn)證的用戶(hù)的HTTP請(qǐng)求重定向到認(rèn)證服務(wù)器上,認(rèn)證服務(wù)器可以將用于認(rèn)證的HTML頁(yè)面?zhèn)魉徒o用戶(hù)的瀏覽器,用戶(hù)即可根據(jù)該HTML上的提示完成認(rèn)證操作。
基于本發(fā)明HTTP重定向方法的WEB強(qiáng)制認(rèn)證方法,使用戶(hù)的WEB認(rèn)證操作得到簡(jiǎn)化。用戶(hù)只需要打開(kāi)WEB瀏覽器并用它訪問(wèn)任意一個(gè)站點(diǎn),如果用戶(hù)還沒(méi)有通過(guò)認(rèn)證,則接入路由器會(huì)把用戶(hù)的HTTP請(qǐng)求自動(dòng)重定向到WEB認(rèn)證服務(wù)器上。認(rèn)證服務(wù)器將認(rèn)證的HTML頁(yè)面?zhèn)魉徒o用戶(hù)的瀏覽器,用戶(hù)即可輸入用戶(hù)名和口令完成認(rèn)證操作。如果用戶(hù)試圖不進(jìn)行身份認(rèn)證而訪問(wèn)網(wǎng)絡(luò),接入路由器將使它無(wú)論訪問(wèn)什么站點(diǎn)得到的只有認(rèn)證的HTML頁(yè)面,使用戶(hù)無(wú)法繞開(kāi)認(rèn)證的環(huán)節(jié)非法使用網(wǎng)絡(luò)。這項(xiàng)技術(shù)稱(chēng)為基于HTTP重定向的WEB強(qiáng)制認(rèn)證技術(shù)。
采用本發(fā)明的HTTP重定向方法進(jìn)行WEB強(qiáng)制認(rèn)證,解決了用戶(hù)必須記住認(rèn)證服務(wù)器地址的問(wèn)題,使WEB認(rèn)證的操作變得簡(jiǎn)單易用。對(duì)ISP而言,WEB認(rèn)證服務(wù)器的地址不再暴露給公眾,減少了服務(wù)器受攻擊的可能并且有利于部署分布式的WEB認(rèn)證系統(tǒng)。
具體實(shí)施例方式本發(fā)明的用于WEB認(rèn)證的HTTP重定向方法的優(yōu)選具體實(shí)施方式
如下本發(fā)明的方法在邊緣交換式接入路由器上實(shí)現(xiàn),該路由器能對(duì)IP分組進(jìn)行基于規(guī)則的線速過(guò)濾。HTTP重定向功能只在路由器的WEB認(rèn)證功能開(kāi)啟后才啟動(dòng),不會(huì)影響其它認(rèn)證模式下的HTTP報(bào)文轉(zhuǎn)發(fā)。
具體步驟如下1.區(qū)別已認(rèn)證用戶(hù)報(bào)文和未認(rèn)證用戶(hù)報(bào)文。這是實(shí)施HTTP報(bào)文重定向的關(guān)鍵點(diǎn),在本專(zhuān)利中采用的方法是識(shí)別用戶(hù)的IP地址。未通過(guò)認(rèn)證之前用戶(hù)的IP地址是由DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)服務(wù)器分配的保留地址段地址(如10.0.0.0/8),而通過(guò)認(rèn)證用戶(hù)的IP地址則是全球唯一IP地址。因此,設(shè)置IP分組過(guò)濾規(guī)則凡是IP地址是已經(jīng)認(rèn)證用戶(hù)的IP地址的分組均轉(zhuǎn)發(fā)。
2.捕獲未認(rèn)證用戶(hù)的HTTP報(bào)文。根據(jù)未認(rèn)證用戶(hù)的IP地址屬于保留地址段的特征,在路由器的端口上設(shè)置捕獲具有該特征的HTTP報(bào)文的過(guò)濾規(guī)則,使這一類(lèi)報(bào)文被送到路由器軟件處理而不被轉(zhuǎn)發(fā)。
3.路由器分析用戶(hù)的TCP報(bào)文,并“偽裝”成用戶(hù)所訪問(wèn)的目標(biāo)主機(jī),與用戶(hù)主機(jī)完成“三次握手”,建立TCP連接。具體的方法是如果用戶(hù)TCP報(bào)文頭的SYN位(SYN“位”指bit的意思)置位,也即為1,則生成一個(gè)源IP為用戶(hù)TCP報(bào)文中目的IP,目的IP為用戶(hù)TCP報(bào)文中源IP的TCP SYNACK(同步應(yīng)答)報(bào)文發(fā)送給用戶(hù);如果用戶(hù)TCP報(bào)文是ACK(應(yīng)答)報(bào)文,則表示TCP連接已經(jīng)建立,可以準(zhǔn)備接收用戶(hù)的HTTP請(qǐng)求報(bào)文。
4.收到用戶(hù)的HTTP請(qǐng)求報(bào)文后,路由器組裝一個(gè)HTTP應(yīng)答報(bào)文,并在其中的Statue-Code域給出值“307”,在LOCATION域中填入認(rèn)證服務(wù)器的URL標(biāo)識(shí)。
5.將重定向的HTTP應(yīng)答報(bào)文發(fā)送給用戶(hù)后,向用戶(hù)的發(fā)送TCP FIN報(bào)文關(guān)閉TCP連接。
用戶(hù)瀏覽器收到上述的HTTP應(yīng)答報(bào)文后,會(huì)自動(dòng)重定向訪問(wèn)LOCATION中的URL指向的地址,也即WEB認(rèn)證服務(wù)器的地址。認(rèn)證服務(wù)器與用戶(hù)建立TCP連接,服務(wù)器將認(rèn)證的HTML頁(yè)面?zhèn)魉徒o用戶(hù)的瀏覽器。在路由器的分組過(guò)濾規(guī)則中必須有一個(gè)ACL,允許目的IP為WEB認(rèn)證服務(wù)器IP,源IP地址為任意IP地址的HTTP報(bào)文轉(zhuǎn)發(fā)。
權(quán)利要求
1.一種用于WEB認(rèn)證的HTTP重定向方法,其特征在于,包括以下步驟(1)在ISP的邊緣接入路由器上使用路由器的分組過(guò)濾功能捕獲未經(jīng)認(rèn)證用戶(hù)的HTTP報(bào)文;(2)接入路由器“偽裝”成用戶(hù)所訪問(wèn)的目標(biāo)主機(jī),與未經(jīng)認(rèn)證用戶(hù)的主機(jī)建立TCP連接;(3)接入路由器利用HTTP協(xié)議中的重定向響應(yīng),將用戶(hù)的HTTP請(qǐng)求重定向到指定的認(rèn)證服務(wù)器端。
2.如權(quán)利要求1所述的用于WEB認(rèn)證的HTTP重定向方法,其特征在于,所述步驟(1)捕獲的具體方法是根據(jù)用戶(hù)的IP地址區(qū)別已認(rèn)證用戶(hù)的HTTP報(bào)文和未認(rèn)證用戶(hù)的HTTP報(bào)文未通過(guò)認(rèn)證之前用戶(hù)的IP地址是由DHCP服務(wù)器分配的保留地址段地址,通過(guò)認(rèn)證用戶(hù)的IP地址則是全球唯一IP地址;設(shè)置IP分組過(guò)濾規(guī)則為“凡是IP地址是已經(jīng)認(rèn)證用戶(hù)的IP地址的分組均轉(zhuǎn)發(fā)”;根據(jù)未認(rèn)證用戶(hù)的IP地址屬于保留地址段的特征,在路由器的端口上設(shè)置捕獲具有保留地址段特征的HTTP報(bào)文的過(guò)濾規(guī)則,將這一類(lèi)報(bào)文送到路由器處理而不被轉(zhuǎn)發(fā)。
3.如權(quán)利要求1所述的用于WEB認(rèn)證的HTTP重定向方法,其特征在于,所述步驟(2)中建立TCP連接的方法是如果用戶(hù)TCP報(bào)文頭的SYN位置位,則路由器生成一個(gè)源IP為用戶(hù)TCP報(bào)文中目的IP,目的IP為用戶(hù)TCP報(bào)文中源IP的TCP SYNACK報(bào)文發(fā)送給用戶(hù);如果用戶(hù)TCP報(bào)文是ACK報(bào)文,則表示TCP連接已經(jīng)建立,可以準(zhǔn)備接收用戶(hù)的HTTP請(qǐng)求報(bào)文。
4.如權(quán)利要求1所述的用于WEB認(rèn)證的HTTP重定向方法,其特征在于,所述步驟(3)中重定向的方法是在接入路由器的分組過(guò)濾規(guī)則中設(shè)置一條ACL,允許目的IP為WEB認(rèn)證服務(wù)器IP、源IP地址為任意IP地址的HTTP報(bào)文轉(zhuǎn)發(fā);路由器收到用戶(hù)的HTTP請(qǐng)求報(bào)文后,組裝一個(gè)HTTP應(yīng)答報(bào)文,并在其中的Statue-Code域給出值“307”,在LOCATION域中填入認(rèn)證服務(wù)器的URL標(biāo)識(shí),并將重定向的HTTP應(yīng)答報(bào)文發(fā)送給用戶(hù)。
5.如權(quán)利要求1所述的用于WEB認(rèn)證的HTTP重定向方法,其特征在于,還包括步驟(4)認(rèn)證服務(wù)器將用于認(rèn)證的HTML頁(yè)面?zhèn)魉徒o用戶(hù)的瀏覽器,用戶(hù)即可根據(jù)該HTML上的提示完成認(rèn)證操作;如果用戶(hù)試圖不進(jìn)行身份認(rèn)證而訪問(wèn)網(wǎng)絡(luò),接入路由器將使它無(wú)論訪問(wèn)什么站點(diǎn)得到的只有認(rèn)證的HTML頁(yè)面,使用戶(hù)無(wú)法繞開(kāi)認(rèn)證的環(huán)節(jié)非法使用網(wǎng)絡(luò)。
全文摘要
本發(fā)明提供了一種用于WEB認(rèn)證的HTTP重定向方法,可以用于基于WEB瀏覽器的接入認(rèn)證,使用戶(hù)無(wú)須記住認(rèn)證服務(wù)器的IP地址或者域名即可完成認(rèn)證。該方法包括以下步驟(1)在ISP的邊緣接入路由器上使用路由器的分組過(guò)濾功能捕獲未經(jīng)認(rèn)證用戶(hù)的HTTP報(bào)文;(2)接入路由器“偽裝”成用戶(hù)所訪問(wèn)的目標(biāo)主機(jī),與未經(jīng)認(rèn)證用戶(hù)的主機(jī)建立TCP連接;(3)接入路由器利用HTTP協(xié)議中的重定向響應(yīng),將用戶(hù)的HTTP請(qǐng)求重定向到指定的認(rèn)證服務(wù)器端。當(dāng)用戶(hù)的HTTP請(qǐng)求被重定向到指定的認(rèn)證服務(wù)器端后,認(rèn)證服務(wù)器將用于認(rèn)證的HTML頁(yè)面?zhèn)魉徒o用戶(hù)的瀏覽器,用戶(hù)即可根據(jù)該HTML上的提示完成認(rèn)證。
文檔編號(hào)H04L9/32GK1538706SQ20031010188
公開(kāi)日2004年10月20日 申請(qǐng)日期2003年10月23日 優(yōu)先權(quán)日2003年10月23日
發(fā)明者李德?tīng)?申請(qǐng)人:港灣網(wǎng)絡(luò)有限公司