本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別是涉及一種口令恢復(fù)模式的確定方法及系統(tǒng)。
背景技術(shù):
隨著計算機技術(shù)的發(fā)展,信息的安全性越來越受到人們的關(guān)注。例如,對于較為重要的文件,為了保證安全性,通常需要口令驗證(加密)。目前口令驗證機制是保證文件安全性的重要手段,它需要用戶提供一個口令,然后通過哈希運算將結(jié)果保存在文件某個部位。過于復(fù)雜的口令給用戶造成記憶負擔(dān),一旦忘記口令,將無法訪問文檔。同時加密文件也給國家安全部門的偵查取證工作帶來了不便。基于上述情形,需要相應(yīng)的口令恢復(fù)操作,現(xiàn)有的口令恢復(fù)操作有兩種方法,一種是窮舉法,另一種是字典文件查詢方法。
對于窮舉法來說,現(xiàn)有的計算結(jié)構(gòu)和計算能力仍然無法滿足加密文檔口令恢復(fù)的需要,僅僅以office 2010文檔為例,窮舉長度為6,字符集大小為62(包含大小寫字母和數(shù)字)的全部口令,在高端通用處理器上做完全窮舉仍然需要約438天,計算效率遠遠不能滿足網(wǎng)絡(luò)電子取證的需求。
為了提高破解效率,現(xiàn)有技術(shù)采用字典文件查詢的方法,然而一味的依賴字典文件也存在一定的弊端。首先,字典文件只是事先生成好的一系列常用或有規(guī)律的口令,如果字典文件中不含需要命中的口令,則還是需要進行窮舉,這樣反而會降低破解效率。其次,使用的字典文件往往有多個,而且占用空間往往很大,隨著破解速度的不斷加快,核心計算模塊與字典文件的存儲模塊之間的字典通信會遇到瓶頸。
基于上述論述可知,如何提高口令恢復(fù)操作的效率是本領(lǐng)域技術(shù)人員亟待解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種口令恢復(fù)模式的確定方法及系統(tǒng),用于提高口令恢復(fù)操作的效率。
為解決上述技術(shù)問題,本發(fā)明提供一種口令恢復(fù)模式的確定方法,包括:
對預(yù)先建立的字典文件中的各特征串按照預(yù)設(shè)規(guī)則進行預(yù)處理得到所述字典文件的位向量;
將任務(wù)配置文件中的目標(biāo)特征串按照所述預(yù)設(shè)規(guī)則進行計算;
利用Bloom filter判斷所述目標(biāo)特征串的計算結(jié)果是否存在于其中一個所述位向量中,如果是,則按照字典文件查詢模式在對應(yīng)的字典文件中執(zhí)行口令恢復(fù)操作,如果否,則按照窮舉模式執(zhí)行所述口令恢復(fù)操作;
其中,所述字典文件的數(shù)量為一個或多個。
優(yōu)選地,所述對預(yù)先建立的字典文件中的各特征串按照預(yù)設(shè)規(guī)則進行預(yù)處理得到所述字典文件的位向量具體包括:
獲取所述字典文件對應(yīng)的初始化向量,將所述初始化向量的全部位都置為0;
讀取所述字典文件中的各所述特征串,使用k個哈希函數(shù)對所述特征串進行計算,得到k個哈希值;
按照所述哈希值對當(dāng)前初始化向量中相應(yīng)的位的數(shù)值與1做或運算得到所述位向量;
其中,k為正整數(shù),且小于所述初始化向量的總位數(shù)。
優(yōu)選地,還包括:將所述位向量作為所述字典文件的索引,并存儲在盤陣中。
優(yōu)選地,所述將任務(wù)配置文件中的目標(biāo)特征串按照所述預(yù)設(shè)規(guī)則進行計算具體包括:
提取所述任務(wù)配置文件中的所述目標(biāo)特征串;
使用k個所述哈希函數(shù)對所述目標(biāo)特征串進行計算,得到k個目標(biāo)哈希值。
優(yōu)選地,所述利用Bloom filter判斷所述目標(biāo)特征串的計算結(jié)果是否存在于其中一個所述位向量中具體包括:
按照K個所述目標(biāo)哈希值鎖定其中一個所述位向量中相應(yīng)的位;
判斷鎖定的相應(yīng)的位的數(shù)值是否全部為1;
如果是,則進入所述按照字典文件查詢模式在對應(yīng)的字典文件中執(zhí)行口令恢復(fù)操作的步驟;
如果否,則判斷是否還有剩余的所述位向量;
如果有剩余,則返回所述按照K個所述目標(biāo)哈希值鎖定其中一個所述位向量中相應(yīng)的位;
如果沒有剩余,則進入所述按照窮舉模式執(zhí)行所述口令恢復(fù)操作的步驟。
優(yōu)選地,k為6。
優(yōu)選地,K個所述哈希函數(shù)具體包括:RSHash、HFHash、JSHash、PJWHash、TianlHash、BKDRHash。
優(yōu)選地,當(dāng)按照窮舉模式執(zhí)行所述口令恢復(fù)操作之后還包括:將最終確定的口令對應(yīng)的特征串寫入新的字典文件;
其中,所述預(yù)先建立的字典文件包含所述新的字典文件。
為解決上述技術(shù)問題,本發(fā)明還提供一種口令恢復(fù)模式的確定系統(tǒng),包括:
管理服務(wù)器,用于對預(yù)先建立的字典文件中的各特征串按照預(yù)設(shè)規(guī)則進行預(yù)處理得到所述字典文件的位向量;將任務(wù)配置文件中的目標(biāo)特征串按照所述預(yù)設(shè)規(guī)則進行計算;利用Bloom filter判斷所述目標(biāo)特征串的計算結(jié)果是否存在于其中一個所述位向量中,并觸發(fā)計算服務(wù)器;
所述計算服務(wù)器,用于在所述管理服務(wù)器的判斷結(jié)果為是時,按照字典文件查詢模式在對應(yīng)的字典文件中執(zhí)行口令恢復(fù)操作,在所述管理服務(wù)器的判斷結(jié)果為否時,按照窮舉模式執(zhí)行所述口令恢復(fù)操作;
存儲服務(wù)器,用于存儲預(yù)先建立的字典文件;
其中,所述字典文件的數(shù)量為一個或多個。
優(yōu)選地,所述管理服務(wù)器與所述計算服務(wù)器通過以太網(wǎng)交換機進行交互,所述管理服務(wù)器與所述存儲服務(wù)器通過全光口交換機進行交互。
本發(fā)明所提供的口令恢復(fù)模式的確定方法,包括:對預(yù)先建立的字典文件中的各特征串按照預(yù)設(shè)規(guī)則進行預(yù)處理得到字典文件的位向量;將任務(wù)配置文件中的目標(biāo)特征串按照預(yù)設(shè)規(guī)則進行計算;利用Bloom filter判斷目標(biāo)特征串的計算結(jié)果是否存在于其中一個位向量中,如果是,則按照字典文件查詢模式在對應(yīng)的字典文件中執(zhí)行口令恢復(fù)操作,如果否,則按照窮舉模式執(zhí)行口令恢復(fù)操作。相對于現(xiàn)有技術(shù)盲目的采用字典文件查詢模式進行口令恢復(fù)的操作,本方法由于采用Bloom filter進行判斷,因此能夠快速確定是否可以采用字典文件查詢模式,以免浪費不必要的時間,從而提高了口令恢復(fù)的效率。此外,本發(fā)明還提供的口令恢復(fù)模式的確定系統(tǒng),效果如上所述。
附圖說明
為了更清楚地說明本發(fā)明實施例,下面將對實施例中所需要使用的附圖做簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種口令恢復(fù)模式的確定方法的流程圖;
圖2為本發(fā)明實施例提供的另一種口令恢復(fù)模式的確定方法的流程圖;
圖3為本發(fā)明實施例提供的一種口令恢復(fù)模式的確定系統(tǒng)的結(jié)構(gòu)圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下,所獲得的所有其他實施例,都屬于本發(fā)明保護范圍。
本發(fā)明的核心是提供一種口令恢復(fù)模式的確定方法及系統(tǒng),用于提高口令恢復(fù)操作的效率。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步的詳細說明。
圖1為本發(fā)明實施例提供的一種口令恢復(fù)模式的確定方法的流程圖。如圖1所示,該方法包括:
S10:對預(yù)先建立的字典文件中的各特征串按照預(yù)設(shè)規(guī)則進行預(yù)處理得到字典文件的位向量。
需要說明的是,預(yù)先建立的字典文件的數(shù)量可以為一個,也可以為1個以上,即可以為多個。如何建立字典文件為現(xiàn)有技術(shù),本實施例不再贅述。每個字典文件中,可以包含一個或多個特征串,本發(fā)明中所述的特征串指的是關(guān)于生成口令時的算法,可以理解的是,同一個口令,如果按照不同的算法得到的特征串是不同的。
在具體實施中,每個字典文件中包含一個或多個特征串,因此,需要對每個特征串都要按照預(yù)設(shè)規(guī)則進行預(yù)處理,從而多個特征串組合后構(gòu)成本字典文件的位向量。
圖2為本發(fā)明實施例提供的另一種口令恢復(fù)模式的確定方法的流程圖。如圖2所示,其中,步驟S10具體包括以下幾個子步驟:
S100:獲取字典文件對應(yīng)的初始化向量,將初始化向量的全部位都置為0。
S101:讀取字典文件中的各特征串,使用k個哈希函數(shù)對特征串進行計算,得到k個哈希值。
S102:按照哈希值對當(dāng)前初始化向量中相應(yīng)的位的數(shù)值與1做或運算得到位向量。
其中,k為正整數(shù),且小于初始化向量的總位數(shù)。
在具體實施中,使用三元組BF=<R,M,H>表示字典文件,其中R={r1,r2,…rn},表示某個字典文件中的全部特征串的集合,ri表示任意一個特征串,初始化向量的位數(shù)根據(jù)錯誤率和特征串個數(shù)來確定,例如下文以位數(shù)為10舉例說明。M為位向量,H為哈希函數(shù)集合??梢岳斫獾氖?,哈希函數(shù)的個數(shù)可以根據(jù)實際情況而定,哈希函數(shù)的數(shù)量越多,則定位的精度越高,但是計算的量也較大。
初始化向量(以位數(shù)為10舉例說明)中每位的數(shù)值都是0,即0000000000,以k=3為例,經(jīng)過3種哈希函數(shù)的計算后,分別得到H1(r1)=2,H2(r1)=4,H3(r1)=7,則這三個哈希函數(shù)的計算結(jié)果就是初始化向量中的對應(yīng)的地址,即初始化向量中的第2位,第4位,以及第7位的數(shù)值要與1做或運算,當(dāng)前第2位,第4位,以及第7位的數(shù)值均為0,則對于第一個特征串進行計算后,初始化向量變?yōu)?010100100(從前向后依次為第0位到底9位)。同樣的,對第2個特征串也進行上述步驟,以此得到另外一個向量,直到將全部的特征串都進行上述步驟后得到位向量M??梢岳斫獾氖?,對于第一個特征串來說,對應(yīng)的初始化向量中的每一位都是0,而對于后續(xù)的特征串來說,對應(yīng)的初始化向量都是在前一個特征串對應(yīng)的初始化向量的基礎(chǔ)上進行的。如果當(dāng)前字典文件只有一個特征串,得到的位相量為0010100100的話,則該位相量就可以作為該字典文件的索引。
S11:將任務(wù)配置文件中的目標(biāo)特征串按照預(yù)設(shè)規(guī)則進行計算。
作為優(yōu)選地實施方式,步驟S11具體包括:
S110:提取任務(wù)配置文件中的目標(biāo)特征串。
S111:使用k個哈希函數(shù)對目標(biāo)特征串進行計算,得到k個目標(biāo)哈希值。
目標(biāo)特征串的提取參見現(xiàn)有技術(shù),本實施例不再贅述。需要說明的是,對于目標(biāo)特征串的計算需要與步驟S101中所用到的哈希函數(shù)必須一致,否則計算結(jié)果與位向量就無法做比較。本實施例中,使用哈希函數(shù)對目標(biāo)特征串的計算方式與上文相同,本實施例不再贅述。
S12:利用Bloom filter判斷目標(biāo)特征串的計算結(jié)果是否存在于其中一個位向量中,如果是,則進入步驟S13,否則進入步驟S14。
作為優(yōu)選地實施方式,步驟S12具體包括:
S120:按照K個目標(biāo)哈希值鎖定其中一個位向量中相應(yīng)的位。
S121:判斷鎖定的相應(yīng)的位的數(shù)值是否全部為1。
如果是,則進入步驟S13,如果否,則進入步驟S122。
S122:判斷是否還有剩余的位向量。如果有,則返回S120,否則進入步驟S14。
如果有多個字典文件,則需要對多個字典文件進行依次判斷,對于任意一個字典文件的位向量,例如位向量為0010100100,K個目標(biāo)哈希值為2,4,7的話,則步驟S120來說鎖定的位向量中相應(yīng)的位就是第2位,第4位和第7位,此時經(jīng)過判斷,第2位,第4位和第7位全部為1,則說明目標(biāo)特征串就是當(dāng)前這個字典文件中的一種,換句話說,口令恢復(fù)操作可以按照字典文件的查詢模式進行。
對于另外一種情況,如果K個目標(biāo)哈希值為2,4,6的話,則步驟S120來說鎖定的位向量中相應(yīng)的位就是第2位,第4位和第6位,此時經(jīng)過判斷,第2位,第4位和第6位不是全部為1,則說明目標(biāo)特征串就不是當(dāng)前這個字典文件中的一種,換句話說,對于當(dāng)前的字典文件來說,口令恢復(fù)操作無法按照字典文件的查詢模式進行。除了當(dāng)前這個位向量,如果還有剩余的位向量,則需要按照上述步驟再對下一個位向量進行判斷,直到找到某個位向量滿足鎖定的相應(yīng)的位的數(shù)值全部為1或者全部位向量都不滿足鎖定的相應(yīng)的位的數(shù)值全部為1為止。如果某個位向量滿足鎖定的相應(yīng)的位的數(shù)值全部為1,則說明目標(biāo)特征串就是當(dāng)前這個字典文件中的一種;如果全部位向量都不滿足鎖定的相應(yīng)的位的數(shù)值全部為1,則說明目標(biāo)特征串就不是全部字典文件中的一種,需要進行窮舉模式。
作為優(yōu)選的實施方式,k為6。對應(yīng)的K個哈希函數(shù)具體包括:RSHash、HFHash、JSHash、PJWHash、TianlHash、BKDRHash。
可以理解的是,K的取值可以靈活選取,并不是只有6一種實施方式,另外,6個哈希函數(shù),也可以靈活選取,并不是只有上述6種函數(shù)形式。
S13:按照字典文件查詢模式在對應(yīng)的字典文件中執(zhí)行口令恢復(fù)操作。
S14:按照窮舉模式執(zhí)行口令恢復(fù)操作。
由于本發(fā)明的目的是通過將目標(biāo)特征串進行預(yù)先的定位,從而快速確定采用字典文件查詢模式還是窮舉模式,因此,如何在字典文件查詢模式下進行口令恢復(fù)操作,以及窮舉模式下,進行口令恢復(fù)操作的過程本實施例不再贅述。
可以理解的是,在步驟S14中,由于目標(biāo)特征串不存在任意一個位向量中,因此可以將這些位向量對應(yīng)的口令首先排除,然后再進行窮舉,以此可以進一步提高口令恢復(fù)的效率。
本實施例提供的口令恢復(fù)模式的確定方法,包括:對預(yù)先建立的字典文件中的各特征串按照預(yù)設(shè)規(guī)則進行預(yù)處理得到字典文件的位向量;將任務(wù)配置文件中的目標(biāo)特征串按照預(yù)設(shè)規(guī)則進行計算;利用Bloom filter判斷目標(biāo)特征串的計算結(jié)果是否存在于其中一個位向量中,如果是,則按照字典文件查詢模式在對應(yīng)的字典文件中執(zhí)行口令恢復(fù)操作,如果否,則按照窮舉模式執(zhí)行口令恢復(fù)操作。相對于現(xiàn)有技術(shù)盲目的采用字典文件查詢模式進行口令恢復(fù)的操作,本方法由于采用Bloom filter進行判斷,因此能夠快速確定是否可以采用字典文件查詢模式,以免浪費不必要的時間,從而提高了口令恢復(fù)的效率。
在上述實施例的基礎(chǔ)上,還包括:將位向量作為字典文件的索引,并存儲在盤陣中。
將位向量作為字典文件的索引,可以快速實現(xiàn)字典文件的定位,另外,在具體實施中,可以按照字典編號進行格式命名,例如01號字典文件經(jīng)過上述操作后所產(chǎn)生的索引就命名為01.bf,這里后綴bf為Bloom filter的縮寫。
在上述實施例的基礎(chǔ)上,步驟S14之后還包括:
S15:將最終確定的口令對應(yīng)的特征串寫入新的字典文件。
其中,預(yù)先建立的字典文件包含新的字典文件。
在具體實施中,預(yù)先建立的字典文件可以包含的特征串較少,通過本實施方式,可以不斷的對字典文件進行更新,使得字典文件更加豐富。
上述實施方式是對口令恢復(fù)模式的確定方法進行了說明,本發(fā)明還提供一種口令恢復(fù)模式的確定系統(tǒng)。由于系統(tǒng)部分的實施例與方法部分的實施例相互對應(yīng),因此系統(tǒng)部分的實施例請參見方法部分的實施例的描述,這里暫不贅述。圖3為本發(fā)明實施例提供的一種口令恢復(fù)模式的確定系統(tǒng)的結(jié)構(gòu)圖。如圖3所示,口令恢復(fù)模式的確定系統(tǒng)包括:
管理服務(wù)器10,用于對預(yù)先建立的字典文件中的各特征串按照預(yù)設(shè)規(guī)則進行預(yù)處理得到字典文件的位向量;將任務(wù)配置文件中的目標(biāo)特征串按照預(yù)設(shè)規(guī)則進行計算;利用Bloom filter判斷目標(biāo)特征串的計算結(jié)果是否存在于其中一個位向量中,并觸發(fā)計算服務(wù)器11。
計算服務(wù)器11,用于在管理服務(wù)器的判斷結(jié)果為是時,按照字典文件查詢模式在對應(yīng)的字典文件中執(zhí)行口令恢復(fù)操作,在管理服務(wù)器的判斷結(jié)果為否時,按照窮舉模式執(zhí)行口令恢復(fù)操作。
存儲服務(wù)器12,用于存儲預(yù)先建立的字典文件。
其中,字典文件的數(shù)量為一個或多個。
本實施例提供的口令恢復(fù)模式的確定系統(tǒng),相對于現(xiàn)有技術(shù)盲目的采用字典文件查詢模式進行口令恢復(fù)的操作,本系統(tǒng)由于采用Bloom filter進行判斷,因此能夠快速確定是否可以采用字典文件查詢模式,以免浪費不必要的時間,從而提高了口令恢復(fù)的效率。
作為優(yōu)選地實施方式,管理服務(wù)器10與計算服務(wù)器11通過以太網(wǎng)交換機進行交互,管理服務(wù)器10與存儲服務(wù)器12通過全光口交換機進行交互。
以上對本發(fā)明所提供的一種口令恢復(fù)模式的確定方法及系統(tǒng)進行了詳細介紹。說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。