專利名稱:包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種包過濾的網(wǎng)絡(luò)協(xié)議(網(wǎng)絡(luò)協(xié)議,Internet Protocol)層用戶認(rèn)證方法,特別涉及一種內(nèi)網(wǎng)用戶通過防火墻訪問外網(wǎng)資源的認(rèn)證方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)領(lǐng)域。
但是,現(xiàn)有的防火墻上普遍使用的應(yīng)用代理的認(rèn)證技術(shù)尚存在著一些不足1、在應(yīng)用代理(網(wǎng)關(guān))一級(jí)的認(rèn)證技術(shù)只能對特定的網(wǎng)絡(luò)服務(wù)(例如HTTP/FTP)作認(rèn)證,而且有可代理服務(wù)數(shù)量方面的限制;因此,存在著其他大量的網(wǎng)絡(luò)服務(wù)無法在應(yīng)用代理一級(jí)做認(rèn)證的問題。
2、對于需要認(rèn)證的網(wǎng)絡(luò)服務(wù)來說,如果在應(yīng)用代理做認(rèn)證,所有和認(rèn)證相關(guān)的信息都存放在應(yīng)用層;這樣,所有該網(wǎng)絡(luò)服務(wù)的數(shù)據(jù)包需要上傳到應(yīng)用層進(jìn)行處理,需要進(jìn)出內(nèi)核各一次,這樣的處理效率很低,系統(tǒng)的負(fù)荷大。
3、此外,在對用戶做計(jì)費(fèi)統(tǒng)計(jì)時(shí),如果在應(yīng)用網(wǎng)關(guān)一級(jí)做統(tǒng)計(jì),往往只能對某些特定的網(wǎng)絡(luò)服務(wù)類型來做統(tǒng)計(jì),不能統(tǒng)計(jì)該用戶使用的所有服務(wù)的流量以及時(shí)間,統(tǒng)計(jì)的準(zhǔn)確性和有效性大打折扣。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,在網(wǎng)絡(luò)協(xié)議層實(shí)現(xiàn)用戶認(rèn)證,認(rèn)證后,對數(shù)據(jù)包的控制與應(yīng)用協(xié)議無關(guān)。
本發(fā)明的又一目的在于提供一種包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,網(wǎng)絡(luò)服務(wù)的數(shù)據(jù)包可以直接在內(nèi)核包過濾部分處理,提高過濾的效率。
本發(fā)明的另一目的在于提供一種包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其可以對用戶實(shí)現(xiàn)流量統(tǒng)計(jì),可以精確地統(tǒng)計(jì)用戶發(fā)出/接收到每一個(gè)網(wǎng)絡(luò)協(xié)議包以及用戶使用網(wǎng)絡(luò)的總時(shí)間。
本發(fā)明是這樣實(shí)現(xiàn)的一種包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,至少包括如下步驟步驟1防火墻對客戶端訪問網(wǎng)絡(luò)的請求進(jìn)行基于鏈路層或網(wǎng)絡(luò)協(xié)議層的認(rèn)證;步驟2防火墻根據(jù)認(rèn)證結(jié)果對客戶端的訪問進(jìn)行控制。
上述的步驟1具體包括步驟11客戶端向防火墻提交認(rèn)證請求信息;步驟12防火墻根據(jù)認(rèn)證協(xié)議對客戶端的身份信息進(jìn)行認(rèn)證;步驟13如果認(rèn)證成功,防火墻將認(rèn)證結(jié)果和相應(yīng)的安全規(guī)則信息傳送到防火墻中、對客戶端訪問進(jìn)行控制的訪問控制模塊,執(zhí)行步驟15;步驟14如果認(rèn)證不成功,防火墻向其訪問控制模塊發(fā)出拒絕客戶端通過防火墻的安全規(guī)則;步驟15結(jié)束認(rèn)證。
上述的步驟2具體為步驟21記錄用戶登錄的時(shí)間;步驟22根據(jù)登錄用戶的用戶策略表相應(yīng)中的安全規(guī)則,控制該用戶訪問的網(wǎng)絡(luò)資源;
步驟23用戶根據(jù)防火墻的安全規(guī)則通過防火墻訪問被開放的網(wǎng)絡(luò)服務(wù);步驟24防火墻內(nèi)核對收到的每一個(gè)來自或發(fā)往用戶的IP數(shù)據(jù)包直接由鏈路層或IP層包過濾模塊進(jìn)行訪問控制;步驟25對該用戶收發(fā)的IP數(shù)據(jù)包進(jìn)行統(tǒng)計(jì),分別累計(jì)該用戶的流出流量和流入流量;步驟26當(dāng)用戶斷開認(rèn)證連接,或者是認(rèn)證連接超時(shí),防火墻記錄結(jié)束認(rèn)證連接的時(shí)間,并根據(jù)認(rèn)證連接的開始和結(jié)束時(shí)間計(jì)算該用戶該次認(rèn)證連接使用網(wǎng)絡(luò)服務(wù)的時(shí)間。
當(dāng)用戶斷開認(rèn)證連接或者上述的認(rèn)證連接超時(shí),防火墻清除為該客戶端添加的安全規(guī)則,清除狀態(tài)表中該用戶正在進(jìn)行的網(wǎng)絡(luò)服務(wù);并獲取和記錄該用戶在認(rèn)證連接保持期間通過防火墻的流量。
上述的認(rèn)證過程還包括步驟31服務(wù)器返回給客戶端認(rèn)證協(xié)議;步驟32客戶端收到該協(xié)議包后,把密碼直接發(fā)給服務(wù)器;步驟33服務(wù)器收到客戶端發(fā)來的密碼,并對密碼進(jìn)行校驗(yàn);步驟34如果密碼不匹配,則通知客戶端出錯(cuò)返回;步驟35否則,記錄用戶登陸并給用戶授權(quán)。
上述的用戶策略表至少包括用戶名或用戶識(shí)別標(biāo)識(shí)號(hào)、時(shí)間段信息、地址段信息、同時(shí)連接數(shù)信息。
上述的用戶策略表還可以包括用戶賬號(hào)有效期信息、用戶賬號(hào)有效信息。
所述的安全規(guī)則信息至少包括客戶端地址、源端口范圍信息、目的地址段信息,目的端口范圍信息,協(xié)議信息,流量累計(jì)數(shù)據(jù)。
所述的安全規(guī)則信息還包括規(guī)則有效時(shí)間信息、派生該規(guī)則的認(rèn)證連接表表項(xiàng)的索引值;并且當(dāng)安全規(guī)則達(dá)到有效期后,防火墻清除該規(guī)則。
本發(fā)明提供的方法,在網(wǎng)絡(luò)協(xié)議層實(shí)現(xiàn)對用戶的認(rèn)證,認(rèn)證后,對數(shù)據(jù)包進(jìn)行訪問控制,并且該控制與具體的應(yīng)用協(xié)議無關(guān)。同時(shí),網(wǎng)絡(luò)服務(wù)的數(shù)據(jù)包可以直接在內(nèi)核包過濾部分處理,提高了過濾的效率。再有就是可以實(shí)現(xiàn)對用戶的流量統(tǒng)計(jì),可以精確地統(tǒng)計(jì)用戶發(fā)出/接收到每一個(gè)網(wǎng)絡(luò)協(xié)議包以及用戶使用網(wǎng)絡(luò)的總時(shí)間。
圖2為本發(fā)明認(rèn)證過程的流程示意圖。
圖3為為本發(fā)明在客戶端建立連接后控制網(wǎng)絡(luò)服務(wù)的流程圖。
圖4為本發(fā)明根據(jù)密碼進(jìn)行認(rèn)證處理的流程圖。
防火墻對客戶端訪問網(wǎng)絡(luò)的請求進(jìn)行基于鏈路層或網(wǎng)絡(luò)協(xié)議層的認(rèn)證過程具體包括步驟11客戶端向防火墻提交認(rèn)證請求信息;步驟12防火墻根據(jù)認(rèn)證協(xié)議對客戶端的身份信息進(jìn)行認(rèn)證;步驟13如果認(rèn)證成功,防火墻將認(rèn)證結(jié)果和相應(yīng)的安全規(guī)則信息傳送到防火墻中、對客戶端訪問進(jìn)行控制的訪問控制模塊,執(zhí)行步驟15;步驟14如果認(rèn)證不成功,防火墻向其訪問控制模塊發(fā)出拒絕客戶端通過防火墻的安全規(guī)則;步驟15結(jié)束認(rèn)證。
防火墻根據(jù)認(rèn)證結(jié)果對客戶端的訪問進(jìn)行的控制具體為步驟21記錄用戶登錄的時(shí)間;步驟22根據(jù)登錄用戶的用戶策略表相應(yīng)中的安全規(guī)則,控制該用戶訪問的網(wǎng)絡(luò)資源;步驟23用戶根據(jù)防火墻的安全規(guī)則通過防火墻訪問被開放的網(wǎng)絡(luò)服務(wù);步驟24防火墻內(nèi)核對收到的每一個(gè)來自或發(fā)往用戶的IP數(shù)據(jù)包直接由鏈路層或IP層包過濾模塊進(jìn)行訪問控制;步驟25對該用戶收發(fā)的IP數(shù)據(jù)包進(jìn)行統(tǒng)計(jì),分別累計(jì)該用戶的流出流量和流入流量;步驟26當(dāng)用戶斷開認(rèn)證連接,或者是認(rèn)證連接超時(shí),防火墻記錄結(jié)束認(rèn)證連接的時(shí)間,并根據(jù)認(rèn)證連接的開始和結(jié)束時(shí)間計(jì)算該用戶該次認(rèn)證連接使用網(wǎng)絡(luò)服務(wù)的時(shí)間。
結(jié)合狀態(tài)包過濾表,防火墻可實(shí)現(xiàn)對用戶區(qū)分和流量統(tǒng)計(jì)。其實(shí)現(xiàn)具有多種方式。例如所述的用戶策略表,用戶表,認(rèn)證連接表和認(rèn)證規(guī)則表,既可以采取靜態(tài)鏈表,即數(shù)組;或采用動(dòng)態(tài)鏈表,即通過動(dòng)態(tài)申請內(nèi)存來創(chuàng)建的方式來實(shí)現(xiàn);同時(shí),還可以有線性表(順序表),或者是索引表,散列表(HASH表)的差別;并且每個(gè)表的具體內(nèi)容也可以在必須有的內(nèi)容外,外加其他附屬的或特定的屬性,從而造成差別,甚至拆分成多個(gè)表。
以上所述的每個(gè)表的主要屬性信息參見如下的定義1、用戶策略表至少包括用戶名或用戶識(shí)別標(biāo)識(shí)號(hào)、時(shí)間段信息、地址段信息、同時(shí)連接數(shù)量信息;還可包括用戶賬號(hào)有效期限信息、用戶賬號(hào)有效信息。
2、用戶表至少包括用戶名或用戶識(shí)別標(biāo)識(shí)號(hào)、連接數(shù)量信息、流量累計(jì)值;還可包括最近一次成功登陸在認(rèn)證連接表中的索引值、指向同一組用戶的指針信息。
3、認(rèn)證連接表至少包括客戶端地址、到期時(shí)間信息、流量累計(jì)值;還可包括登陸成功的時(shí)間信息和本次認(rèn)證連接到期的時(shí)間信息。
4、認(rèn)證規(guī)則表至少包括客戶端地址,源端口范圍信息、目的地址段信息、目的端口范圍信息、協(xié)議信息、流量累計(jì)信息;還可包括規(guī)則有效時(shí)間信息、派生該規(guī)則的認(rèn)證連接表表項(xiàng)索引值。
以明文口令認(rèn)證為例,具體的認(rèn)證過程還包括首先,服務(wù)器端返回給客戶端認(rèn)證協(xié)議為“明文口令”;其次,客戶端收到該協(xié)議包后,把密碼直接發(fā)給服務(wù)器;然后,服務(wù)器收到客戶端發(fā)來的密碼,對該密碼進(jìn)行校驗(yàn);最后,如果該密碼不匹配,則通知客戶端出錯(cuò)返回;否則,記錄用戶登陸和給用戶授權(quán)的過程。
如果該用戶是第一次登陸,防火墻則添加一個(gè)新的表項(xiàng),填入用戶名或該用戶的識(shí)別標(biāo)識(shí)號(hào),并將連接數(shù)信息和流量累計(jì)值清零;同時(shí),如果該用戶被定義了指向同一組用戶的指針,防火墻則還可以建立與本組用戶的連接,否則,僅將連接計(jì)數(shù)累加一個(gè)固定的步長值,例如1。
更新認(rèn)證連接表;防火墻添加一新的表項(xiàng),填入用戶的網(wǎng)絡(luò)協(xié)議地址,設(shè)置指向用戶表中該用戶項(xiàng)的指針,并將本次連接的流量累計(jì)值清零。
如果定義了本次連接的失效時(shí)間,防火墻則還應(yīng)計(jì)算并設(shè)置該值,當(dāng)失效時(shí)間到達(dá)時(shí),該連接表項(xiàng)將被防火墻清除;如果定義了本次連接的起始時(shí)間,防火墻則將當(dāng)前的系統(tǒng)時(shí)間填入,這樣,防火墻可以利用該值來統(tǒng)計(jì)用戶使用了多長時(shí)間。
如果在用戶表中定義了最近一次成功登陸在認(rèn)證連接表中的索引值,防火墻則將當(dāng)前認(rèn)證表項(xiàng)的索引值填入到用戶表中的相應(yīng)項(xiàng)內(nèi)。
防火墻為用戶可以享有每項(xiàng)服務(wù)都添加相應(yīng)規(guī)則,并將流量累計(jì)清零;用戶通過該規(guī)則使用的流量將被保存在流量累計(jì)項(xiàng)中。
如果定義了規(guī)則有效時(shí)間,防火墻則計(jì)算出每一條規(guī)則的有效時(shí)間,達(dá)到該時(shí)間后,該規(guī)則被防火墻自動(dòng)清除。
如果定義了派生該規(guī)則的認(rèn)證連接表表項(xiàng)的索引值,防火墻則將該用戶在認(rèn)證連接表中的索引值填入,可以利用該信息來快速定位規(guī)則對應(yīng)的連接表項(xiàng)。因?yàn)樵谝?guī)則被清除時(shí),需要將該規(guī)則作用下使用的流量累加到連接表項(xiàng)中。
防火墻將在用戶表中為該用戶增加一項(xiàng)(或僅增加計(jì)數(shù),若該用戶項(xiàng)已經(jīng)存在),在認(rèn)證連接表中為該用戶的這次連接增加一項(xiàng),并根據(jù)包過濾規(guī)則,向認(rèn)證規(guī)則表中,為這次認(rèn)證連接添加相應(yīng)的表項(xiàng),使得用戶可以訪問外部的資源。
每一次內(nèi)部用戶訪問外部網(wǎng)絡(luò)的連接,防火墻都將由認(rèn)證規(guī)則表在狀態(tài)表中派生出來相應(yīng)的表項(xiàng);這個(gè)派生出來的表項(xiàng)用于統(tǒng)計(jì)本次連接使用的流量。當(dāng)本次連接中止時(shí),該連接使用的流量將累加到對應(yīng)的認(rèn)證規(guī)則表的表項(xiàng)中。
當(dāng)每一認(rèn)證規(guī)則表的表項(xiàng)被清除時(shí)(比如該規(guī)則生存時(shí)間已到,或者用戶退出,中止認(rèn)證連接)時(shí),防火墻在該規(guī)則作用下使用的累計(jì)流量將又被累加到認(rèn)證連接表中對應(yīng)的表項(xiàng)。因此,防火墻可以統(tǒng)計(jì)出每次認(rèn)證連接時(shí)訪問外部網(wǎng)絡(luò)使用的流量。
同樣,當(dāng)用戶中止認(rèn)證連接時(shí),本次認(rèn)證連接訪問外網(wǎng)使用的流量也會(huì)累計(jì)到在用戶表中該用戶對應(yīng)的項(xiàng)目下,從而實(shí)現(xiàn)了統(tǒng)計(jì)每個(gè)用戶所使用的流量。
最后所應(yīng)說明的是以上實(shí)施例僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于至少包括如下步驟步驟1防火墻對客戶端訪問網(wǎng)絡(luò)的請求進(jìn)行基于鏈路層或網(wǎng)絡(luò)協(xié)議層的認(rèn)證;步驟2防火墻根據(jù)認(rèn)證結(jié)果對客戶端的訪問進(jìn)行控制。
2.根據(jù)權(quán)利要求1所述的包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于所述的步驟1具體包括步驟11客戶端向防火墻提交認(rèn)證請求信息;步驟12防火墻根據(jù)認(rèn)證協(xié)議對客戶端的身份信息進(jìn)行認(rèn)證;步驟13如果認(rèn)證成功,防火墻將認(rèn)證結(jié)果和相應(yīng)的安全規(guī)則信息傳送到防火墻中、對客戶端訪問進(jìn)行控制的訪問控制模塊,執(zhí)行步驟15;步驟14如果認(rèn)證不成功,防火墻向其訪問控制模塊發(fā)出拒絕客戶端通過防火墻的安全規(guī)則;步驟15結(jié)束認(rèn)證。
3.根據(jù)權(quán)利要求1所述的包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于所述的步驟2具體為步驟21記錄用戶登錄的時(shí)間;步驟22根據(jù)登錄用戶的用戶策略表相應(yīng)中的安全規(guī)則,控制該用戶訪問的網(wǎng)絡(luò)資源;步驟2 3用戶根據(jù)防火墻的安全規(guī)則通過防火墻訪問被開放的網(wǎng)絡(luò)服務(wù);步驟24防火墻內(nèi)核對收到的每一個(gè)來自或發(fā)往用戶的IP數(shù)據(jù)包直接由鏈路層或IP層包過濾模塊進(jìn)行訪問控制;步驟25對該用戶收發(fā)的IP數(shù)據(jù)包進(jìn)行統(tǒng)計(jì),分別累計(jì)該用戶的流出流量和流入流量;步驟26當(dāng)用戶斷開認(rèn)證連接,或者是認(rèn)證連接超時(shí),防火墻記錄結(jié)束認(rèn)證連接的時(shí)間,并根據(jù)認(rèn)證連接的開始和結(jié)束時(shí)間計(jì)算該用戶該次認(rèn)證連接使用網(wǎng)絡(luò)服務(wù)的時(shí)間。
4.根據(jù)權(quán)利要求1所述的包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于當(dāng)用戶斷開認(rèn)證連接或者認(rèn)證連接超時(shí),防火墻清除為該客戶端添加的安全規(guī)則,清除狀態(tài)表中該用戶正在進(jìn)行的網(wǎng)絡(luò)服務(wù);并獲取和記錄該用戶在認(rèn)證連接保持期間通過防火墻的流量。
5.根據(jù)權(quán)利要求1或2所述的包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于所述的認(rèn)證還包括步驟31服務(wù)器返回給客戶端認(rèn)證協(xié)議;步驟32客戶端收到該協(xié)議包后,把密碼直接發(fā)給服務(wù)器;步驟33服務(wù)器收到客戶端發(fā)來的密碼,并對密碼進(jìn)行校驗(yàn);步驟34如果密碼不匹配,則通知客戶端出錯(cuò)返回;步驟35否則,記錄用戶登陸并給用戶授權(quán)。
6.根據(jù)權(quán)利要求3所述的包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于所述的用戶策略表至少包括用戶名或用戶識(shí)別標(biāo)識(shí)號(hào)、時(shí)間段信息、地址段信息、同時(shí)連接數(shù)信息。
7.根據(jù)權(quán)利要求3或6所述的包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于所述的用戶策略表還包括用戶賬號(hào)有效期信息、用戶賬號(hào)有效信息。
8.根據(jù)權(quán)利要求2或3或4所述的包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于所述的安全規(guī)則信息至少包括客戶端地址、源端口范圍信息、目的地址段信息,目的端口范圍信息,協(xié)議信息,流量累計(jì)數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于所述的安全規(guī)則信息還包括規(guī)則有效時(shí)間信息、派生該規(guī)則的認(rèn)證連接表表項(xiàng)的索引值。
10.根據(jù)權(quán)利要求9所述的包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,其特征在于所述的安全規(guī)則當(dāng)達(dá)到有效期后,防火墻清除該規(guī)則。
全文摘要
一種包過濾的網(wǎng)絡(luò)協(xié)議層用戶認(rèn)證方法,至少包括防火墻對客戶端訪問網(wǎng)絡(luò)的請求進(jìn)行基于鏈路層或網(wǎng)絡(luò)協(xié)議層的認(rèn)證;防火墻根據(jù)認(rèn)證結(jié)果對客戶端的訪問進(jìn)行控制。本發(fā)明提供的方法,在網(wǎng)絡(luò)協(xié)議層實(shí)現(xiàn)對用戶的認(rèn)證,認(rèn)證后,對數(shù)據(jù)包進(jìn)行訪問控制,并且該控制與具體的應(yīng)用協(xié)議無關(guān);同時(shí),網(wǎng)絡(luò)服務(wù)的數(shù)據(jù)包可以直接在內(nèi)核包過濾部分處理,提高了過濾的效率。再有就是可以實(shí)現(xiàn)對用戶的流量統(tǒng)計(jì),可以精確地統(tǒng)計(jì)用戶發(fā)出/接收到每一個(gè)網(wǎng)絡(luò)協(xié)議包以及用戶使用網(wǎng)絡(luò)的總時(shí)間。
文檔編號(hào)H04L9/00GK1474534SQ0212601
公開日2004年2月11日 申請日期2002年8月9日 優(yōu)先權(quán)日2002年8月9日
發(fā)明者高紅, 王海濤, 宋斌, 劉永鋒, 高 紅 申請人:聯(lián)想(北京)有限公司