徐 旭 候傳宇
(1合肥工業(yè)大學計算機信息學院,安徽 合肥 230000)
(2宿州學院信息工程學院,安徽 宿州 234000)
個性化身份驗證
徐 旭1,2候傳宇2
(1合肥工業(yè)大學計算機信息學院,安徽 合肥 230000)
(2宿州學院信息工程學院,安徽 宿州 234000)
身份認證是網(wǎng)絡安全中一個重要問題,論文結合了Web日志挖掘和決策樹分類這兩方面的知識,提出了一種新的認證方式,個性化身份驗證,在用戶登陸系統(tǒng)后可以對其身份進行二次驗證。
身份驗證;Web日志挖掘;決策樹
隨著網(wǎng)絡的飛速發(fā)展,人們對網(wǎng)絡的依賴程度也越來越大。網(wǎng)絡的發(fā)展給我們帶來了很大的方便。但同時也衍生出了一些問題。隨著人們的生活和工作重心往網(wǎng)絡上的轉移,網(wǎng)絡安全也成為一個越來越重要的話題。在考慮安全問題時,大部分都是關注于第一次身份驗證時的安全問題,當用戶利用正確的口令登陸系統(tǒng)以后,就不再進行身份驗證了,對于非法用戶竊取用戶口令并以該用戶口令登陸系統(tǒng)這種情況沒有做任何的處理。為了解決這個問題,本文提出了個性化身份驗證的觀點。
1.1 用戶口令認證
傳統(tǒng)的認證技術主要采用基于口令的認證方法。當被認證對象要求訪問提供服務的系統(tǒng)時,提供服務的認證方要求被認證對象提交該對象的口令,認證方收到口令后,將其與系統(tǒng)中存儲的用戶口令進行比較,以確認被認證對象是否為合法訪問者。這種認證方法的優(yōu)點在于簡單實用。然而,基于口令的認證方法存在很多不足。
用戶每次訪問系統(tǒng)時都要輸入口令,這樣很容易泄密;口令在傳輸過程中可能被截獲;系統(tǒng)中所有用戶的口令以文件形式存儲在認證方,攻擊者可以利用系統(tǒng)中存在的漏洞獲取系統(tǒng)的口令文件;只能進行單向認證,即系統(tǒng)可以認證用戶,而用戶無法對系統(tǒng)進行認證,攻擊者可能偽裝成系統(tǒng)騙取用戶的口令。
1.2 基于智能卡的認證
基于智能卡的用戶身份認證機制主要利用硬件實現(xiàn),它將用戶安全信息存在智能卡中,并在認證服務器中存入某個事先由用戶選擇的隨機數(shù)。用戶訪問系統(tǒng)資源時,用戶輸入智能卡信息,系統(tǒng)首先判斷智能卡的合法性,然后由智能卡認證用戶身份,若用戶身份合法,再將智能卡中的隨機數(shù)送給認證系統(tǒng)作進一步認證。
1.3 數(shù)字證書認證
數(shù)字證書是一個經(jīng)證書授權中心(也叫認證中心,Certificate Authority簡稱CA)數(shù)字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。
當用戶向某一服務器提出訪問請求時,服務器要求用戶提交數(shù)字證書。收到用戶的證書后,服務器利用CA的公開密鑰對CA的簽名進行解密,獲得信息的散列碼,然后服務器用與CA相同的散列算法對證書的信息部分進行處理,得到一個散列碼,將此散列碼與對簽名解密所得到的散列碼進行比較,若相等則表明此證書確實是CA簽發(fā)的,而且是完整的未被篡改的證書。這樣,用戶便通過了身份認證。服務器從證書的信息部分取出用戶的公鑰,以后向用戶傳送數(shù)據(jù)時,便以此公鑰加密,對該信息只有用戶可以進行解密。
1.4 Kerberos認證
Kerberos采用對稱密鑰體制對信息進行加密,其基本思想是:能正確對信息進行解密的用戶就是合法用戶。當用戶進行登錄時,Kerberos對用戶進行初始認證通過認證的用戶可以在整個登錄期間得到相應的服務,Kerberos既不依賴用戶登錄的終端,也不依賴用戶所請求的服務的安全機制,它本身提供了認證服務器來完成用戶的認證。
個性化身份驗證是指:在用戶登陸系統(tǒng)以后,繼續(xù)對用戶進行監(jiān)測,并收集用戶的個性化信息,在規(guī)定時間以后,根據(jù)收集到信息來對用戶進行第二次身份驗證,這樣就對用戶身份被非法使用這一情況做了相應的處理。
用戶在使用網(wǎng)絡時都有自己的習慣,比如密碼設置長度的多少,密碼輸出時間的多少,鼠標的點擊習慣,經(jīng)常使用的操作系統(tǒng),瀏覽器類型,瀏覽信息的不同,瀏覽愛好的不同等等,要想找到兩個使用習慣完全相同的用戶,那幾乎是不可能的事情。因此,我們可以把用戶的使用習慣作為判斷用戶身份的依據(jù)。
Web日志挖掘可以幫助我們收集用戶在瀏覽網(wǎng)頁時的個性化信息,它可以對存儲在客戶端、Web服務器端和代理服務器端中的服務器日志文件、Cookies、用戶注冊信息及用戶顯式輸入的數(shù)據(jù)等進行挖掘處理,從中得到用戶的個性化信息,交給身份驗證系統(tǒng),來對用戶的身份進行驗證。決策樹算法是數(shù)據(jù)挖掘中一種非常重要的分類算法,我們可以利用決策樹算法,結合收集到的個性化信息,來對用戶的身份進行驗證。有了這兩種技術,就可以實現(xiàn)個性化身份驗證了。在進行系統(tǒng)設計時,可分為四個模塊,如下圖1所示。
圖1 個性化身份驗證系統(tǒng)的模塊功能
數(shù)據(jù)收集模塊功能:主要是收集用戶的密碼輸入時間,用戶鼠標的電擊習慣和用戶使用Web系統(tǒng)所產(chǎn)生的日志文件,把它們存儲到數(shù)據(jù)庫中。
數(shù)據(jù)預處理模塊功能:進行數(shù)據(jù)凈化、用戶識別、會話識別等操作,對日志中的數(shù)據(jù)進行過濾,轉換成事務數(shù)據(jù)庫,方便下一階段使用。
模式挖掘模塊功能:對上一階段的數(shù)據(jù)進行分析整理,建立用戶的個性化信息模型。
身份驗證模塊:利用以前該用戶的個性化信息和數(shù)據(jù)庫中其他用戶的個性化信息來建立訓練集和測試集,以次來建立決策樹,并用決策樹用戶的身份進行二次驗證。
2.1 數(shù)據(jù)收集模塊設計
本模塊又可以分成三個部分,分別是用戶密碼輸入時間的收集,鼠標點擊習慣的收集和Web日志數(shù)據(jù)的收集。
2.1.1 用戶密碼輸入時間的收集
我們可以在服務器的登陸程序中加入一個腳本文件,通過腳本文件來收集用戶登陸時的密碼輸入時間。
2.1.2 鼠標點擊習慣的收集
我們可以在服務器中加入一段程序代碼,通過其來記錄用戶登陸系統(tǒng)以后的鼠標左右鍵使用習慣。
2.1.3 Web日志數(shù)據(jù)的收集
Web應用系統(tǒng)是一個多層次的系統(tǒng),包括客戶端,代理服務器端和Web服務器端,因此對日志數(shù)據(jù)的收集主要集中在客戶端,代理服務器端和Web服務器端進行的。利用Web挖掘技術很容易就可以從日志文件中獲的我們所需要的信息。
2.2 數(shù)據(jù)預處理模塊設計
2.2.1 數(shù)據(jù)凈化
把Web日志文件中和本設計無關的數(shù)據(jù)刪除掉,同時把有用的數(shù)據(jù)轉換為相應的格式。在這一階段,根據(jù)系統(tǒng)需要,我們需要建立幾張表結構。
(1)用戶瀏覽網(wǎng)頁地址表
該表用來記錄從用戶第一次登陸以來到用戶最后一次登陸這段時間內(nèi),所訪問過的URL。這張表整個系統(tǒng)只有一張,表結構如下所示:
表1 用戶瀏覽網(wǎng)頁記錄表
該表建立以后,當有用戶登陸系統(tǒng)進行瀏覽,如果是第一次瀏覽一個URL,就把該URL插入表中,如不是第一次,則在表中找到相應記錄,把登陸次數(shù)加一,同時把訪問時間加入到瀏覽時間中
(2)用戶密碼輸入時間表
該表用來記錄用戶每次登陸系統(tǒng)時輸入密碼的平均時間。該表結構如下:
表2 用戶密碼輸入時間表
用戶在登陸系統(tǒng)時,系統(tǒng)記錄下用戶此次輸入密碼所用的時間T,再從表中取出用戶的密碼輸入平均時間AT和登陸次數(shù)C,然后利用公式AT=(AT*C+T)/(C+1),重新計算出該用戶的密碼輸入平均時間,再存入該表中。
(3)鼠標點擊習慣表
用來記錄用戶在操作鼠標時,是喜歡雙擊鼠標左鍵還是喜歡點擊鼠標右鍵的情況的。用戶在注冊時,就需要提供自己的點擊習慣,該表結構如下:
表3 鼠標點擊習慣表
在點擊習慣這個屬性中,用0來表示雙擊左鍵,用1來表示點擊右鍵。
(4)用戶日志表
該表用來記錄從Web服務器日志文件中獲取的一些用戶信息。這張表中的數(shù)據(jù)來源于客戶端日志和服務器日志文件,也可以是用戶在注冊賬戶的填入。該表結構如下所示:
表4 用戶日志表
2.2.2 用戶識別
要識別出每個用戶并不是一件簡單的事情,由于防火墻,代理服務器等的存在,使得我們很難去識別一個用戶。一般來說,人們在識別的過程中,經(jīng)常會遇到多個用戶用同一IP訪問服務器,同一用戶用多個IP訪問服務器等問題,因此識別用戶的身份就比較困難。本文所采用的解決方法是根據(jù)表4中的后四個屬性值來進行用戶識別的,如果四個屬性值有三個是一致的,那我們就可以識別用戶了。用戶識別以后,我們再把該用戶的使用信息分別存儲在上文建立的表1到表4中。
2.2.3 會話識別
會話指用戶對服務器的一次有效訪問。日志文件中不同用戶訪問的頁面屬于不同的會話。會話識別就是把一系列的頁面訪問劃分成獨立的會話,用戶會話識別是否準確直接決定了后續(xù)的挖掘結果,一般我們通過設置一個timeout值來判斷會話是否結束。如果用戶訪問的時間差超過了這個值,那我們就認為該用戶開始了一個新的會話。
會話識別后,把識別的所有用戶會話存儲在數(shù)據(jù)庫中。表的格式如下:
表5 用戶會話表
2.2.4 路徑補全
用戶在瀏覽的時候有可能會使用瀏覽器上的后退功能,這就造成了用戶訪問的當前頁和上一次訪問的頁面之間沒有直接的超鏈接關系。如何解決這個問題呢?我們可以這樣做:根據(jù)Web日志中的引用頁cs字段,確定當前訪問的頁面來自于哪一頁,如果用戶的歷史訪問記錄有多個頁面和當前訪問頁面有引用關系,則將訪問時間最接近當前頁的頁面作為當前請求的來源,將Web日志中遺漏的頁面補充在路徑中。例如在會話Y1-Y40-Y260-Y270-Y300中,從頁面Y260到頁面Y270沒有直接的超鏈接,通過查找Web日志文件中的cs-uri-stem字段與其對應的cs字段,可知道當前頁的引用頁是Y40,路徑補全后的會話為Y1-Y40-Y260-Y40-Y270-Y300。
2.3 模式挖掘模塊設計
本文中模式挖掘模塊的作用就是從數(shù)據(jù)預處理階段所得到的數(shù)據(jù)中提取出可以用來進行個性化身份認證的信息,并把這些數(shù)據(jù)組織起來,交給身份驗證模塊來進行下一步處理。
該模塊的數(shù)據(jù)來源就是我們上一階段所提到的那幾張表格,那么這些表中的那些數(shù)據(jù)是我們需要的呢?我們來分析一下。
首先,我們來看下用戶的密碼輸入時間。用戶的密碼輸入時間一般都是固定,上下在1秒之內(nèi)變化。當用戶的密碼被非法用戶竊取后,由于非法用戶對于密碼的不熟悉,在登陸系統(tǒng)時,密碼輸入時間肯定和該用戶的密碼輸入時間差異比較大,因此我們可以把密碼輸入時間來作為判斷用戶身份的一個指標。如果密碼輸入時間比規(guī)定時間相差2秒以上,那我們就可以認為此次登陸用戶的這項指標不合格。
接著,我們來看下用戶的鼠標點擊習慣。有的用戶喜歡雙擊鼠標左鍵來執(zhí)行一個文件,而有的用戶則喜歡通過鼠標右鍵來執(zhí)行一個文件。而且用戶的點擊習慣一旦確定以后,就很少發(fā)生改變,因此,如果系統(tǒng)監(jiān)測出一個用戶使用雙擊左鍵,另一個用戶使用鼠標右鍵來執(zhí)行,那我們就可以基本上判斷兩個用戶不是同一個用戶。因此,鼠標點擊習慣也可以做為判斷用戶身份的一個指標。
我們再來看下表5中的用戶IP地址、操作系統(tǒng)類型、瀏覽器類型以及主機名這四個字段。一般來說,用戶的IP的地址都是位于一個IP地址段的,不同地方的用戶,它的IP地址段一般不同,但同一個地方的用戶,他們的IP地址段就有可能相同,因次,我們可以把利用它來對用戶進行識別,但區(qū)分度不大。操作系統(tǒng)類型和瀏覽器類型,對于這兩個字段,大部分的用戶所使用的都是一樣的,但也有不同的,所以這兩個字段的區(qū)分度也不大。最后一個字段,主機名。用戶有可能使用不同的計算機來登陸系統(tǒng),因此,這一個的區(qū)分度也不大。但是,如果我們把這四個綜合起來一起進行判斷的話,它的區(qū)分度還是比較好的。我們把這四個字段合在一起,稱為常用計算機情況,構成一個指標,如果四個都正確的話,我們就可以認為這一個指標是合格的,否則,只要有一個不正確,我們就認為這個指標是不合格的。
最后我們來看下用戶瀏覽網(wǎng)頁的記錄。絕大部分的用戶在上機第一個瀏覽網(wǎng)頁時所訪問的第一個網(wǎng)頁都是固定的幾個網(wǎng)頁,在一個很小的范圍內(nèi)。不同的用戶上機時第一個瀏覽的網(wǎng)頁大都是不同的,因此,我們可以把用戶第一個瀏覽的網(wǎng)頁作為一個指標。用戶的興趣愛好也是有差別的,有的用戶喜歡瀏覽小說網(wǎng)頁,有的喜歡瀏覽電影信息,有的喜歡瀏覽新聞等等,因此,也可以用戶瀏覽時間最長的網(wǎng)頁作為一個指標,來對用戶的身份進行驗證。
通過上面的分析,我們得到了五個用來進行身份驗證的指標,分別是用戶密碼輸入時間,鼠標點擊習慣、常用計算機習慣、第一個瀏覽的網(wǎng)頁和瀏覽時間最長的網(wǎng)頁。我們下一步所要做的操作就是怎樣把這些數(shù)據(jù)組織成決策樹所能使用的屬性。
我們可以根據(jù)用戶ID,每個用戶都創(chuàng)建一張表,表名就是用戶登陸名,結構如下所示:
表6 用戶決策樹屬性表
下面我們來看下表6中記錄的生成。
當用戶登陸進入系統(tǒng),在規(guī)定時間后,就要對用戶身份進行二次驗證。
第一步、根據(jù)用戶ID,找到和該用戶對應的表6,在該表中生成一條空白記錄。在用戶身份字段插入1。
第二步、根據(jù)用戶ID,在表4中找到該用戶ID對應的記錄,把該記錄的用戶IP地址、操作系統(tǒng)、瀏覽器和主機名這四個字段值和我們收集的個性化信息進行比較,如果這四個字段值都一樣,就在表6中的常用計算機情況字段插入1,否則插入0。
第三步、根據(jù)用戶ID,在表3中找到該用戶ID對應的記錄,把該記錄點擊習慣字段值插入表6的鼠標點擊習慣字段。
第四步、根據(jù)用戶ID,在表2中找到該用戶ID對應的記錄,把該記錄平均輸入時間字段值和此次我們所收集到的密碼輸入時間進行比較,如果上下差別在2秒左右,就在表6的用戶密碼輸入時間字段插入1,否則,插入0。
第五步、對表1中的記錄按照用戶ID字段和瀏覽次數(shù)字段進行進行分類匯總,然后根據(jù)用戶ID,在表1中找到該用戶ID對應的第一條記錄,把該記錄URL地址字段值和此次我們收集到的用戶瀏覽的第一個網(wǎng)頁的URL地址相比較,如果相等,在表6中第一個瀏覽的網(wǎng)頁字段插入1,否則插入0。
第六步、對表1中的記錄按照用戶ID字段和瀏覽時間字段進行進行分類匯總,然后根據(jù)用戶ID,在表1中找到該用戶ID對應的第一條記錄,把該記錄URL地址字段值和此次我們收集到的用戶瀏覽時間最長的網(wǎng)頁的URL地址相比較,如果相等,在表6中瀏覽時間最長的網(wǎng)頁字段插入1,否則,插入0。
2.4 身份驗證模塊設計
2.4.1 訓練集和測試集的生成
我們先建立一樣表train,該表的結構和表6一樣。然后我們把該用戶對應的表6中的記錄全部插入到表train中,再從服務器中其他用戶對應的表6中,每張表隨機抽取若干條記錄,每條記錄的用戶身份字段值都改為0,也插入到表6中,就構成了訓練集train。測試集test的生成方法和訓練集的生成方法一樣,按照同樣步驟,我們再生成測試集test。
2.4.2 生成決策樹
本文采用的算法是經(jīng)典的ID3算法,下面我們來看下該算法的描述:
輸入:訓練樣本集train,由離散值屬性表示;候選屬性集合attribute_list
輸出:一棵決策樹
算法:
(1)創(chuàng)建節(jié)點 N
(2)if train都在同一類C then
(3)返回N作為葉節(jié)點,以類C標記;
(4)if attribute_list為空 then
(5)返回N作為葉節(jié)點,標記為train中最普遍的類;
(6)選擇attribue_list中具有最高信息增益的屬性branch_attribute;
(7)標記結點 N 為 branch_attribute;
(8)For each branch_attribute中的已知值 ai
(9)由節(jié)點N生成一個條件為branch_att ribute=ai的分支;
(10)設 Si是 train 中 branch_attribute=ai的樣本的集合;
(11)if Si為空 then
(12)加上一個樹葉,標記為train中最普遍的類;
(13)else 加上一個由 Generate_decision(Si,attribute_list,branch_attribute)返回的節(jié)點
本文主要介紹了一種新的認證技術,個性化身份認證技術。它彌補了傳統(tǒng)認證技術只對用戶進行一次驗證的不足,在用戶登陸系統(tǒng)以后對其進行了二次驗證,給用戶的安全又添加了一道防線。
[1]Pitkow J.In search of reliable usage data on the WWW.6th Int.World Wide Web Conf.,Santa Clara,California,1997:1343-1355.
[2]涂承勝,魯明羽,陸玉昌.Web內(nèi)容挖掘技術研究[J].計算機應用研究,2003,11:5-9.
[3]Perkowitz M,Etzioni O.Adaptive sites:automatically learning from user access patterns.6th Int.World Wide Web Conf.,Santa Clara,California,1997.
[4]蔣外文,喻興標,熊東平.Web 使用挖掘研究[J].微機發(fā)展,2005,15(8):37-40.
[5]Jiawei Han,MichelineKarnber著,范明等譯,數(shù)據(jù)挖掘概念和技術[M].北京:機械工業(yè)出版社,2007.
AN ANT COLONY ALGORITHM BASED IMPROVEMENT FOR TSP SOLUTIONS
XU Xu1,2HOU Chuan-yu2
(1 Hefei University of Technology school of computer&Information ,Hefei Anhui 230009)
(2 Institute of Information Engineering Suzhou University,Suzhou Anhui 234000)
Authentication is an important issue in network security,Sexual services is a popular information technology,This combination of Web log mining and decision tree classification of knowledge in these two areas,a new authentication,personalized authentication,after the user login system can be a secondary verification of their identity.
Authentication; Web log mining; decision tree
TP393.081
A
1672-2868(2010)06-0025-05
2010-09-06
安徽省高校優(yōu)秀青年人才基金項目(項目編號:2010SQRL193)
徐旭(1981-),男,安徽宿州人。講師,碩士研究生,研究方向:Web數(shù)據(jù)挖掘
責任編輯:陳 侃