基于神經(jīng)網(wǎng)絡(luò)的口令屬性分析方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及的是一種計(jì)算機(jī)安全領(lǐng)域的對(duì)于口令數(shù)據(jù)的分析方法,具體是一種基于神經(jīng)網(wǎng)絡(luò)建模來對(duì)真實(shí)口令數(shù)據(jù)的屬性關(guān)系進(jìn)行分析處理以獲取有價(jià)值信息的系統(tǒng)。
【背景技術(shù)】
[0002]人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,縮寫ANN),由稱為神經(jīng)兀的基本處理單元互連而成的平行工作的復(fù)雜網(wǎng)絡(luò)系統(tǒng),簡(jiǎn)稱神經(jīng)網(wǎng)絡(luò)(neural network,縮寫NN),是一種模仿生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和功能的數(shù)學(xué)模型或計(jì)算模型。神經(jīng)網(wǎng)絡(luò)由大量的人工神經(jīng)元聯(lián)結(jié)進(jìn)行計(jì)算。大多數(shù)情況下人工神經(jīng)網(wǎng)絡(luò)能在外界信息的基礎(chǔ)上改變內(nèi)部結(jié)構(gòu),是一種自適應(yīng)系統(tǒng)?,F(xiàn)代神經(jīng)網(wǎng)絡(luò)是一種非線性統(tǒng)計(jì)性數(shù)據(jù)建模工具,常用來對(duì)輸入和輸出間復(fù)雜的關(guān)系進(jìn)行建模,或用來探索數(shù)據(jù)的模式。
[0003]神經(jīng)網(wǎng)絡(luò)是近年來得到迅速發(fā)展的新型學(xué)科,由于其獨(dú)特的結(jié)構(gòu)和處理信息的方法,使其應(yīng)用范圍日益擴(kuò)大,并已在許多學(xué)科領(lǐng)域取得了成功的應(yīng)用,其中通信及其保密通信就是神經(jīng)網(wǎng)絡(luò)的重要研究領(lǐng)域。用人工神經(jīng)網(wǎng)絡(luò)解決計(jì)算機(jī)密碼學(xué)中的問題,即神經(jīng)密碼學(xué),不僅是神經(jīng)網(wǎng)絡(luò)的一個(gè)重要的應(yīng)用研究領(lǐng)域,而且也將給密碼學(xué)理論提供一種全新的思路。
[0004]作為密碼學(xué)的一項(xiàng)重要內(nèi)容,口令,即日常生活中所謂的密碼,是一種最普遍的身份識(shí)別機(jī)制。它廣泛地應(yīng)用于銀行賬戶、電子門禁、操作系統(tǒng)賬號(hào)、電子郵箱等生活的各個(gè)方面。在互聯(lián)網(wǎng)高速發(fā)展的今天,口令更是與每個(gè)人的學(xué)習(xí)、生活和工作等息息相關(guān),一旦口令發(fā)生泄漏或被破解,用戶的個(gè)人隱私、財(cái)產(chǎn)等將面臨嚴(yán)重的安全威脅。結(jié)合神經(jīng)密碼學(xué)的定義,基于神經(jīng)網(wǎng)絡(luò)的口令屬性分析方法,也屬于神經(jīng)密碼學(xué)的范疇。
[0005]經(jīng)過對(duì)現(xiàn)有技術(shù)的檢索發(fā)現(xiàn),目前對(duì)于神經(jīng)密碼學(xué)的研究主要集中在加密機(jī)制、加密系統(tǒng)的改進(jìn)上,如方俊與趙英良在《基于RBF神經(jīng)網(wǎng)絡(luò)的一次性口令認(rèn)證方案》(《計(jì)算機(jī)工程》第37卷第9期,2011年5月)中,分析S/KEY —次性口令方案中存在的缺陷,在對(duì)其進(jìn)行改進(jìn)的基礎(chǔ)上提出一種基于RBF神經(jīng)網(wǎng)絡(luò)的一次性口令認(rèn)證方案。
[0006]然而利用神經(jīng)網(wǎng)絡(luò)對(duì)口令本身的研究卻幾乎沒有,而事實(shí)上在生活中,為了方便記憶,用戶在設(shè)置口令時(shí),通常會(huì)采用手機(jī)號(hào)、生日、姓氏、英文單詞等作為口令或口令的一部分,對(duì)于不同類型的口令或用戶群體,也存在各種各樣的口令設(shè)置習(xí)慣,有些甚至用戶本身都沒有意識(shí)到,有效地挖掘出這些潛在的規(guī)則,對(duì)于生成破解字典、口令破解和口令恢復(fù)都有著重要意義和研究?jī)r(jià)值。本發(fā)明提出一種適用于大量口令的分析方法,利用神經(jīng)網(wǎng)絡(luò)建模分析,挖掘真實(shí)口令的各項(xiàng)屬性(如長(zhǎng)度、是否包含大小寫字母、是否包含數(shù)字、是否包含特殊字符、是否包含英文單詞/姓名、是否包含手機(jī)號(hào)、是否為弱密碼等)間可能存在的關(guān)系,通過對(duì)大量不同類型的真實(shí)口令(如社交網(wǎng)站、論壇、郵箱等不同類型口令)進(jìn)行自動(dòng)化分析、判斷,從而挖掘出潛在的有用的屬性間關(guān)系,并據(jù)此由已知的某些屬性值推斷出其他屬性值,或根據(jù)這些規(guī)則可生成可用的字典,為口令破解和口令恢復(fù)提供一定的指向性和幫助。
[0007]在進(jìn)一步的查新中,尚未發(fā)現(xiàn)與本發(fā)明主題相同或者類似的文獻(xiàn)報(bào)道。
【發(fā)明內(nèi)容】
[0008]本發(fā)明根據(jù)現(xiàn)有技術(shù)中存在的不足,提出一種基于神經(jīng)網(wǎng)絡(luò)的口令屬性分析方法,通過神經(jīng)網(wǎng)絡(luò)建立對(duì)應(yīng)模型,以分析判斷真實(shí)口令的各項(xiàng)屬性間可能存在的關(guān)系,目的在于挖掘出潛在的有價(jià)值的屬性間關(guān)系(用戶口令設(shè)置的潛在規(guī)則),從而指導(dǎo)字典生成、口令破解和恢復(fù)。由于口令的不同屬性之間大多數(shù)并不存在明顯的關(guān)系,難以通過人工進(jìn)行分析判斷,采用神經(jīng)網(wǎng)絡(luò)分析,可以在有限時(shí)間內(nèi)完成對(duì)大量真實(shí)口令的分析處理,有效降低人工操作工作量,大大提高研究工作效率,為口令屬性分析提供了快速有效的分析方法。
[0009]本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn):
本發(fā)明涉及一種基于神經(jīng)網(wǎng)絡(luò)的口令屬性分析方法,主要包括獲取口令屬性數(shù)據(jù)源、確定神經(jīng)網(wǎng)絡(luò)模型、訓(xùn)練學(xué)習(xí)、仿真測(cè)試等幾個(gè)主要環(huán)節(jié)。其中,神經(jīng)網(wǎng)絡(luò)分析采用MATLAB軟件,口令屬性數(shù)據(jù)源作為神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)來源讀入MATLAB,確定好網(wǎng)絡(luò)模型和相關(guān)參數(shù)后,依次進(jìn)行模型訓(xùn)練學(xué)習(xí)、仿真測(cè)試并輸出結(jié)果。
[0010]所述的口令屬性數(shù)據(jù)源,是通過分析每個(gè)口令的組成特點(diǎn),對(duì)每一個(gè)口令賦予一組屬性值所構(gòu)成的數(shù)據(jù)集合。即對(duì)于每一個(gè)真實(shí)口令,賦予其一些屬性特征,通過分析其組成成分和組成特征,來對(duì)這些屬性特征進(jìn)行賦值。通過屬性賦值,每一個(gè)口令都有自己對(duì)應(yīng)的一組屬性值,用來表現(xiàn)該口令的組成特點(diǎn)。屬性賦值的意義在于將口令特征具體化、數(shù)字化,將抽象問題具體化,從而能夠通過這些屬性值進(jìn)行分析處理以獲得屬性間有價(jià)值的關(guān)系,即獲得口令組成的潛在規(guī)則或用戶設(shè)置口令的潛在習(xí)慣。
[0011]所述的神經(jīng)網(wǎng)絡(luò),通常是由一個(gè)多層神經(jīng)元結(jié)構(gòu)組成,每一層神經(jīng)元擁有輸入(它的輸入是前一層神經(jīng)元的輸出)和輸出,每一層(我們用符號(hào)記做)LayeHi)是由Ni (Ni代表在第i層上的N)個(gè)網(wǎng)絡(luò)神經(jīng)元組成,每個(gè)Ni上的網(wǎng)絡(luò)神經(jīng)元把對(duì)應(yīng)在N1-1上的神經(jīng)元輸出作為它的輸入,神經(jīng)元和與之對(duì)應(yīng)的神經(jīng)元之間的連線叫做神經(jīng)軸突的突觸,在數(shù)學(xué)模型中每個(gè)突觸有一個(gè)加權(quán)數(shù)值,稱作權(quán)重,第i層上的某個(gè)神經(jīng)元所得到的勢(shì)能等于每一個(gè)權(quán)重乘以第i_l層上對(duì)應(yīng)的神經(jīng)元的輸出,然后全體求和得到了第i層上的某個(gè)神經(jīng)元所得到的勢(shì)能,然后勢(shì)能數(shù)值通過該神經(jīng)元上的激勵(lì)函數(shù)(activat1n funct1n)求出該神經(jīng)元的輸出。
[0012]神經(jīng)網(wǎng)絡(luò)按其構(gòu)造形式可分為單層和多層兩大類:①單層神經(jīng)網(wǎng)絡(luò)。輸入層直接與輸出層相連接。其特點(diǎn)為結(jié)構(gòu)簡(jiǎn)單,便于實(shí)現(xiàn),如霍普菲爾德(Hopfield)網(wǎng)。②多層神經(jīng)網(wǎng)絡(luò)。輸入層和輸出層之間存在一層或多層中間層(稱為隱藏層)。隱藏層的出現(xiàn)使網(wǎng)絡(luò)工作機(jī)理復(fù)雜化,但功能加強(qiáng),如反向傳播(Back Propagat1n, BP)模型。
[0013]神經(jīng)網(wǎng)絡(luò)的基本工作原理可簡(jiǎn)述如下:每個(gè)神經(jīng)元是由一個(gè)計(jì)算單元構(gòu)成,該單元具有多個(gè)輸入和單個(gè)輸出。其功能是對(duì)各個(gè)輸入信號(hào)作非線性權(quán)值運(yùn)算,并通過輸出端輸出至其他神經(jīng)元。整個(gè)網(wǎng)絡(luò)工作過程分為訓(xùn)練和求解兩個(gè)階段。當(dāng)已知訓(xùn)練樣本的數(shù)據(jù)加到網(wǎng)絡(luò)輸入端時(shí),網(wǎng)絡(luò)的學(xué)習(xí)機(jī)制一遍又一遍地調(diào)整各神經(jīng)元的權(quán)值,使其輸出端達(dá)到預(yù)定的目標(biāo)。這就是訓(xùn)練(學(xué)習(xí)、記憶)過程。當(dāng)經(jīng)過訓(xùn)練的網(wǎng)絡(luò)進(jìn)行問題求解時(shí),輸入的求解信號(hào)在網(wǎng)絡(luò)內(nèi)迅速地傳遞、處理。當(dāng)網(wǎng)絡(luò)達(dá)到穩(wěn)定狀態(tài)時(shí),從輸出端即可得到問題的解。
[0014]所述的確定神經(jīng)網(wǎng)絡(luò)模型,是指MATLAB下確定一個(gè)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)類型(如BP網(wǎng)絡(luò)、RBF網(wǎng)絡(luò)、Hopf ield網(wǎng)絡(luò)等)、網(wǎng)絡(luò)輸入和輸出、網(wǎng)絡(luò)層數(shù)與各層神經(jīng)元個(gè)數(shù)、訓(xùn)練樣本容量和仿真樣本容量,傳遞函數(shù)和訓(xùn)練函數(shù)等相關(guān)函數(shù)及參數(shù)設(shè)置。
[0015]所述的訓(xùn)練學(xué)習(xí),是指在MATLAB下,通過訓(xùn)練樣本的校正,對(duì)各個(gè)層的權(quán)重進(jìn)行校正(learning)而建立模型的過程,稱為自動(dòng)學(xué)習(xí)過程(training algorithm)。具體的學(xué)習(xí)方法則因網(wǎng)絡(luò)結(jié)構(gòu)和模型不通而不同,常用反向傳播算法(BackPropagat1n)來驗(yàn)證。
[0016]所述的仿真測(cè)試,是指在MATLAB下,對(duì)已經(jīng)確定好的并且經(jīng)過訓(xùn)練學(xué)習(xí)所得的神經(jīng)網(wǎng)絡(luò)模型,采用一定容量的仿真樣本對(duì)該網(wǎng)絡(luò)進(jìn)行仿真測(cè)試,通過對(duì)比網(wǎng)絡(luò)輸出結(jié)果與實(shí)際樣本結(jié)果來驗(yàn)證網(wǎng)絡(luò)的準(zhǔn)確性和有效性。
[0017]本發(fā)明通過上述的基于神經(jīng)網(wǎng)絡(luò)的口令屬性分析方法,能夠有效地對(duì)大量真實(shí)口令進(jìn)行屬性關(guān)系間的分析。由于口令的不同屬性之間大多數(shù)并不存在明顯的關(guān)系,難以通過人工進(jìn)行高效的分析判斷,而神經(jīng)網(wǎng)絡(luò)作為一種非線性統(tǒng)計(jì)性數(shù)據(jù)建模工具,常用來對(duì)輸入和輸出間復(fù)雜的關(guān)系進(jìn)行建模,對(duì)于口