專利名稱:一種避免字典攻擊的方法
技術領域:
本發(fā)明屬于計算機信息安全領域,尤其涉及的是一種避免計算機受到字典攻擊的方法。
背景技術:
隨著計算機和通信網(wǎng)絡的廣泛應用,在為人們的生活和工作帶來極大的方便的同時,也帶來了許多亟待解決的問題,其中數(shù)字信息的安全性就是一個突出的問題。為了保證自己的數(shù)字信息不被別人看到,人們往往為這些信息和對這些信息進行的操作都設置了口令,一般來說,只有通過正常合法渠道知道口令的人,才可以查看甚或修改這些數(shù)字信息。
然而,隨著技術的發(fā)展,總有些人為了某些目的,想方設法去得知本不屬于自己的數(shù)字信息的口令,從而獲取對數(shù)字信息的未經(jīng)授權的訪問。其中,最典型的攻擊方法就是字典攻擊,即通過窮舉等手段獲得數(shù)字信息的口令。
為了應對這種攻擊,信息安全公司和專家給廣大用戶的建議是使用一個不能太短的口令,并避免使用用戶名字中的字、避免使用一個有意義的單詞做口令等等易被字典方式猜測到的口令。很多系統(tǒng)本身對口令字要求很嚴格,首先口令字必須取的足夠長,如至少8字節(jié),用戶登記和修改口令字的程序?qū)娭朴脩舯仨毑捎靡蟮目诹铋L度。其次,離線的口令檢查工具,將弱口令標記,強制用戶限期進行修改,這些都是用來增強用戶口令的抗攻擊強度。
字典攻擊的特點是在較短的時間內(nèi)進行數(shù)以千計的不同口令組合的嘗試,因此,雖然口令強度增大能頂一時,但抵擋不住長時間的字典攻擊。
針對字典攻擊的特點,現(xiàn)有技術中考慮到字典攻擊的一個典型應對策略是鎖定計算機或單片機、芯片等,這就要求執(zhí)行點保持先前失敗的嘗試狀態(tài),達到一定次數(shù)后就鎖定計算機。有些是鎖定一會兒受攻擊的計算機,然后,繼續(xù)正常運行。然而,攻擊者往往很容易地可以確定等待時間周期,并在等待時間周期過去以后再以最大的攻擊速率執(zhí)行,直到下一個時間片。有些鎖定只能通過重啟解除。
但不管怎樣,當前的實現(xiàn)在成功地認證或重啟以后就復位了失敗次數(shù)等策略參數(shù),這樣的話,攻擊者在錯誤多次之后(未達到鎖定次數(shù)前)僅僅執(zhí)行一個有效的授權操作,或者失敗多次被鎖定之后,只需重啟計算機,就可以繼續(xù)進行較多次數(shù)的字典攻擊,從而可以一直進行攻擊,直至最終攻擊成功。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種避免字典攻擊的方法,針對現(xiàn)有技術中字典攻擊應對策略的缺陷,通過采用,使計算機或數(shù)字信息的所有者可以較早的意識到正在遭受字典攻擊,及時采取措施,使攻擊者難以確定等待時間。
為達到以上目的,本發(fā)明采用的技術方案是一種避免字典攻擊的方法,其包括以下步驟a)、在計算機設置一非易失性存儲區(qū)域,用于保存失敗授權嘗試的計數(shù)值、鎖定時間值和鎖定標志;b)、所述計算機提供一計時器用于計時鎖定時間;c)、設置失敗授權次數(shù)的閾值,如果有授權失敗,失敗授權嘗試的計數(shù)值就加1,一直累加到超過所述閾值時或所有者執(zhí)行字典攻擊策略復位操作時,所述失敗授權次數(shù)的計數(shù)值清零;d)、在失敗授權嘗試的計數(shù)值超過閾值時,所述計算機被鎖定,在鎖定周期內(nèi)只響應啟動、自檢、字典攻擊策略復位請求;e)、每次失敗授權嘗試的計數(shù)值超過閾值,所述計算機的鎖定周期結束后,所述鎖定時間值加倍;f)、所有者可以執(zhí)行字典攻擊策略復位操作復位失敗授權嘗試的計數(shù)值和鎖定時間值,解除當前鎖定;并且在鎖定周期內(nèi)執(zhí)行該操作時,如果對于該操作的授權失敗,則重新開始鎖定周期,并不允許任何的解除鎖定的嘗試。
所述的方法,其中,還包括g)、如果計算機在鎖定周期內(nèi)重啟,那么在啟動之后重新開始該鎖定周期,并且重啟操作不復位失敗授權嘗試的計數(shù)值、鎖定時間值。
所述的方法,其中,所述步驟c)的字典攻擊策略復位操作還包括c1)、察看使能改操作的標志的狀態(tài),如果為不允許,則退出;否則,繼續(xù);c2)、驗證所有者是否授權了該操作,包括驗證口令的正確性;c3)、如果所有者授權了該操作,則清零失敗計數(shù),將鎖定周期時間值復位成起始值,并將鎖定標志設置為FALSE;如果所有者沒有授權該操作,則將使能改操作的標志設置為不允許,禁止本啟動周期內(nèi)任何試圖執(zhí)行該操作的行為,并重新開始鎖定周期。
所述的方法,其中,還設置有多個非易失性區(qū)域,在一個區(qū)域讀寫壽命達到之后,將失敗授權嘗試的計數(shù)值、鎖定信息存入另一個可用的非易失性存儲區(qū)域。
所述的方法,其中,所述步驟d)還包括對于其他請求,查詢鎖定周期是否結束,結束后則響應。
所述的方法,其中,還包括在對所述計算機鎖定開始時給出提示,提醒所有者當前可能正在遭受字典攻擊。
所述的方法,其中,所述非易失性存儲區(qū)域為flash或EEPROM。
所述的方法,其中,所述計時器由硬件或軟件實現(xiàn)。
所述的方法,其中,所述計時器為單調(diào)計數(shù)器。
本發(fā)明所提供的一種避免字典攻擊的方法,通過將失敗計數(shù)、鎖定信息等記錄在非易失性存儲區(qū)域中,用以防止攻擊者通過重啟計算機隱瞞自己以前失敗嘗試的企圖;失敗計數(shù),一直累加,阻止了攻擊者利用自己知道的口令執(zhí)行有效授權后繼續(xù)進行更多攻擊的企圖;并且在每次鎖定結束后使鎖定周期加倍,讓攻擊者無法確定何時可以再繼續(xù)開始攻擊。
圖1~圖6為本發(fā)明方法的各較佳實施例的時間軸示意圖。
具體實施例方式
為使本發(fā)明的目的、技術方案和效果更加清楚,以下結合附圖及實施例對本發(fā)明再做更進一步詳細的說明。
本發(fā)明所述的避免字典攻擊的方法,其包括以下步驟a)、在計算機上設置一非易失性存儲區(qū)域,如flash或EEPROM,用于保存失敗授權嘗試的計數(shù)值、鎖定時間值和鎖定標志等。
b)、所述計算機系統(tǒng)中提供一個計時器,可以是硬件的或軟件的,用于計時鎖定時間。
c)、所述計算機計算機或數(shù)字信息的所有者可以設置失敗授權的次數(shù)閾值;d)、如果有授權失敗,所述失敗授權嘗試的計數(shù)值就加1。一直累加,在失敗授權嘗試的計數(shù)值超過閾值時或所有者執(zhí)行字典攻擊策略復位操作時,所述失敗授權嘗試的計數(shù)值才清零。
e)、失敗授權嘗試的計數(shù)值超過閾值時,計算機被鎖定,在鎖定周期內(nèi)只能響應啟動、自檢、字典攻擊策略復位等請求。對于其他請求,查詢鎖定周期是否結束,結束后才能響應。鎖定開始時可以給出提示,提醒所有者當前可能正在遭受字典攻擊,從而所有者可以采取修改口令,封攻擊者IP等方式,以防患于未然。
f)、每次失敗授權嘗試的計數(shù)值在超過閾值、鎖定周期結束后,下一次的鎖定時間值加倍。
g)、如果計算機在鎖定周期內(nèi)被重啟,那么在啟動之后重新開始該鎖定周期。重啟操作不復位失敗授權嘗試的計數(shù)值、鎖定時間值。
h)、計算機的所有者可以執(zhí)行字典攻擊策略復位操作復位失敗授權嘗試的計數(shù)值和鎖定時間值,解除當前鎖定。如果在鎖定周期內(nèi)執(zhí)行該操作,且對于該操作的授權失敗,則重新開始鎖定周期,并且不允許任何的解除鎖定的嘗試。
所述字典攻擊策略復位操作的步驟為1.察看使能改操作的標志的狀態(tài),如果為不允許,則退出;否則,繼續(xù)。
2.驗證所有者授權了該操作。包括驗證口令等的正確性。
3.如果所有者授權了該操作,則a)清零失敗計數(shù)b)將鎖定周期時間值復位成基起始值c)將鎖定標志設置為FALSE4.如果所有者沒有授權該操作,則a)將使能改操作的標志設置為不允許,禁止本啟動周期內(nèi)任何試圖執(zhí)行該操作的行為。
b)重新開始鎖定周期。
為使本發(fā)明具有更好的效果,可以基于每一個對象追蹤失敗的嘗試,并保存鎖定信息。如果一個失效閥值達到,計算機將使請求失效,并設置計時器。當計時器計時結束,計算機將復位閥值,并繼續(xù)對那個對象的正常的認證行為。非易失性存儲區(qū)域都是有讀寫壽命的,為了保證該策略可以正常長時間運行,可以提供多個非易失性區(qū)域,在一個區(qū)域讀寫壽命達到之后,將失敗授權嘗試的計數(shù)值、鎖定信息存入另一個可用的非易失性存儲區(qū)域。
在下面的具體實施例中,為了敘述方便,用Cf表示失敗授權嘗試的計數(shù)值(16位)、Tl表示鎖定周期時間(8位)、Fl表示鎖定標志(8位)、Ct表示失敗授權嘗試的計數(shù)閾值(16位)、T表示計時器值。下面為本發(fā)明的一個具體實施例。
A)、在計算機上設置提供32個大小為32位的flash區(qū)域,每個區(qū)域保存失敗授權嘗試的計數(shù)值Cf、鎖定時間值Tl和鎖定標志Fl。
B)、用一單調(diào)計數(shù)器作為計時器,計時鎖定時間。在鎖定周期開始時讀取所述單調(diào)計數(shù)器值M1作為計時開始時間,在有新的請求時,讀取當前單調(diào)計數(shù)器的值M2,T=(M2-M1)*Rm,其中Rm指兩次計數(shù)間的時間,如果T大于Tl,則響應該請求,否則不響應。下面我們以每5秒增加一次的單調(diào)計數(shù)器為例。
C)、設置字典攻擊策略參數(shù)的初值。失敗授權的閾值Ct=16;Cf=0xFF;Tl=6,其實就是初始鎖定周期為30秒;Fl=0x00,即FALSE。
D)、如果有授權失敗,Cf發(fā)左移1位,即失敗授權嘗試的計數(shù)值加1。
E)、失敗授權嘗試的計數(shù)值超過閾值時(Cf==0x00),如果該區(qū)域到達讀寫壽命,可換另一個可用區(qū)域,否則,仍用該區(qū)域。設置Fl=TRUE將計算機鎖定,讀取單調(diào)計數(shù)器值M1作為計時開始時間。在鎖定周期內(nèi)只能響應啟動、自檢、字典攻擊策略復位等請求。有其他請求到達時,讀取當前單調(diào)計數(shù)器的值M2,T=(M2-M1)*5,如果T大于Tl,則響應該請求,否則不響應。
F)、每次鎖定周期結束后,鎖定時間值Tl加倍,Tl=2×Tl。Fl=FALSE。
G)、如果該計算機在鎖定周期內(nèi)重啟,那么在啟動之后讀取當前單調(diào)計數(shù)器值作為計時開始值,重新開始該鎖定周期。
H)、所述計算機的所有者可以執(zhí)行字典攻擊策略復位操作復位失敗授權嘗試的計數(shù)值Cf和鎖定時間值Tl,解除當前鎖定。如果在鎖定周期內(nèi)執(zhí)行該操作,并且對于該操作的授權驗證失敗,則讀取當前單調(diào)計數(shù)器的值作為鎖定周期計時開始值,重新開始鎖定周期,并且設置允許執(zhí)行該操作的標志為FALSE,不允許任何的解除鎖定的嘗試。
對于本發(fā)明的上述實施例,在第一個16次失敗后,計算機鎖定30秒;之后鎖定周期為60秒,失敗計數(shù)清零,如果再失敗16次就會鎖定60秒;以此遞推。重啟計算機并不影響失敗計數(shù),會重新開始鎖定周期計時。所有者可以在適當時刻執(zhí)行字典攻擊策略復位操作清零失敗計數(shù)、復位鎖定周期值、失敗閾值、鎖定標志等。
具體如圖1~圖6所示的,是在前面實施例設置的參數(shù)基礎上給出的時間軸示意圖,分別給出了六種情況。每種情況中,橫軸代表時間;橫軸下面十字星代表有一次授權失敗并計入失敗計數(shù)器,下面的數(shù)字給出了為第幾次失敗;橫軸上面的豎箭頭為事件,箭頭上面的文字給出了時間說明,兩豎線間夾橫箭頭表示鎖定周期,中間的文字給出了鎖定時間。
該六種情況都說明了除了復位操作的所有者授權以外,任何正確的授權不會清零失敗計數(shù),如六種情況中5、9之后的正確授權,重啟操作也不會清零失敗計數(shù),如六種情況中5之后的重啟。
如圖1所示,說明計數(shù)到16次失敗,鎖定30秒,鎖定周期內(nèi)未遇到重啟、復位等操作,鎖定周期結束后,計數(shù)重新從1開始,如果再計16次失敗,則鎖定60秒,依此類推。
如圖2所示,說明計數(shù)到16次失敗,鎖定30秒,但鎖定周期內(nèi)遇到重啟操作,重啟后,重新鎖定30秒。鎖定周期結束后,計數(shù)重新從1開始,如果再計16次失敗,則鎖定60秒,依此類推。
如圖3所示,說明計數(shù)到16次失敗,鎖定30秒,但鎖定周期內(nèi)遇到所有者復位操作,并且該操作經(jīng)驗證確實是所有者授權,則解除鎖定。計數(shù)重新從1開始,如果再計16次失敗,仍鎖定30秒,依此類推。
如圖4所示,說明計數(shù)到16次失敗,鎖定30秒,但鎖定周期內(nèi)遇到所有者復位操作,并且該操作經(jīng)驗證未經(jīng)所有者授權,則重新鎖定30秒。如果不經(jīng)重啟,不能再進行復位操作。鎖定周期結束后,計數(shù)重新從1開始,如果再計16次失敗,則鎖定60秒,依此類推。
如圖5所示,說明失敗計數(shù)未到16次時,遇到所有者復位操作,并且該操作經(jīng)驗證確實是所有者授權,則計數(shù)重新從1開始,如果再計16次失敗,仍鎖定30秒。鎖定周期結束后,計數(shù)重新從1開始,如果再計16次失敗,則鎖定60秒,依此類推。
如圖6所示,說明失敗計數(shù)未到16次時,遇到所有者復位操作,并且該操作經(jīng)驗證未經(jīng)所有者授權,則失敗計數(shù)加1,如果計到16次失敗,則鎖定30秒。鎖定周期結束后,計數(shù)重新從1開始,如果再計16次失敗,則鎖定60秒,依此類推。
本發(fā)明所述的避免字典攻擊的方法,可以用于各安全操作環(huán)境,通過將失敗計數(shù)、鎖定信息等記錄在非易失性存儲區(qū)域中,用以防止攻擊者通過重啟計算機隱瞞自己以前失敗嘗試的企圖;失敗計數(shù),一直累加,只能通過兩種途徑復位,要么所有者執(zhí)行字典攻擊策略復位操作,要么等超過閾值,鎖定周期結束后自動復位,這樣就阻止了攻擊者利用自己知道的口令執(zhí)行有效授權后繼續(xù)進行更多攻擊的企圖;在每次鎖定結束后使鎖定周期加倍,讓攻擊者難以確定何時可以再繼續(xù)開始攻擊。
應當理解的是,本發(fā)明上述針對具體實施例的描述較為具體,并不能因此而理解為對本發(fā)明專利保護范圍的限制,本發(fā)明的專利保護范圍應以所附權利要求為準。
權利要求
1.一種避免字典攻擊的方法,其包括以下步驟a)、在計算機設置一非易失性存儲區(qū)域,用于保存失敗授權嘗試的計數(shù)值、鎖定時間值和鎖定標志;b)、所述計算機提供一計時器用于計時鎖定時間;c)、設置失敗授權次數(shù)的閾值,如果有授權失敗,失敗授權嘗試的計數(shù)值就加1,一直累加到超過所述閾值時或所有者執(zhí)行字典攻擊策略復位操作時,所述失敗授權次數(shù)的計數(shù)值清零;d)、在失敗授權嘗試的計數(shù)值超過閾值時,所述計算機被鎖定,在鎖定周期內(nèi)只響應啟動、自檢、字典攻擊策略復位請求;e)、每次失敗授權嘗試的計數(shù)值超過閾值,所述計算機的鎖定周期結束后,所述鎖定時間值加倍;f)、所有者可以執(zhí)行字典攻擊策略復位操作復位失敗授權嘗試的計數(shù)值和鎖定時間值,解除當前鎖定;并且在鎖定周期內(nèi)執(zhí)行該操作時,如果對于該操作的授權失敗,則重新開始鎖定周期,并不允許任何的解除鎖定的嘗試。
2.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括g)、如果計算機在鎖定周期內(nèi)重啟,那么在啟動之后重新開始該鎖定周期,并且重啟操作不復位失敗授權嘗試的計數(shù)值、鎖定時間值。
3.根據(jù)權利要求1所述的方法,其特征在于,所述步驟c)的字典攻擊策略復位操作還包括c1)、察看使能改操作的標志的狀態(tài),如果為不允許,則退出;否則,繼續(xù);c2)、驗證所有者是否授權了該操作,包括驗證口令的正確性;c3)、如果所有者授權了該操作,則清零失敗計數(shù),將鎖定周期時間值復位成起始值,并將鎖定標志設置為FALSE;如果所有者沒有授權該操作,則將使能改操作的標志設置為不允許,禁止本啟動周期內(nèi)任何試圖執(zhí)行該操作的行為,并重新開始鎖定周期。
4.根據(jù)權利要求1所述的方法,其特征在于,所述方法還設置有多個非易失性區(qū)域,在一個區(qū)域讀寫壽命達到之后,將失敗授權嘗試的計數(shù)值、鎖定信息存入另一個可用的非易失性存儲區(qū)域。
5.根據(jù)權利要求1所述的方法,其特征在于,所述步驟d)還包括對于其他請求,查詢鎖定周期是否結束,結束后則響應。
6.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括在對所述計算機鎖定開始時給出提示,提醒所有者當前可能正在遭受字典攻擊。
7.根據(jù)權利要求1所述的方法,其特征在于,所述非易失性存儲區(qū)域為flash或EEPROM。
8.根據(jù)權利要求1所述的方法,其特征在于,所述計時器由硬件或軟件實現(xiàn)。
9.根據(jù)權利要求7所述的方法,其特征在于,所述計時器為單調(diào)計數(shù)器。
全文摘要
一種避免字典攻擊的方法,其包括以下步驟在計算機設置一非易失性存儲區(qū)域,用于保存失敗授權嘗試的計數(shù)值、鎖定時間值和鎖定標志;所述計算機提供一計時器用于計時鎖定時間;設置失敗授權次數(shù)的閾值,如果有授權失敗,失敗授權嘗試的計數(shù)值就加1,一直累加到超過所述閾值時或所有者執(zhí)行字典攻擊策略復位操作時,所述失敗授權次數(shù)的計數(shù)值清零;在失敗授權嘗試的計數(shù)值超過閾值時,所述計算機被鎖定,在鎖定周期內(nèi)只響應啟動、自檢、字典攻擊策略復位請求。本發(fā)明方法對失敗計數(shù)一直累加,阻止了攻擊者利用自己知道的口令執(zhí)行有效授權后繼續(xù)進行更多攻擊的企圖;并且在每次鎖定結束后使鎖定周期加倍,讓攻擊者無法確定何時可以再繼續(xù)開始攻擊。
文檔編號G06F1/00GK1728034SQ20051003622
公開日2006年2月1日 申請日期2005年7月28日 優(yōu)先權日2005年7月28日
發(fā)明者陳強, 張璐, 朱廣志, 張瑋, 劉鑫 申請人:北京兆日科技有限責任公司