一種身份認(rèn)證方法、裝置及服務(wù)器的制造方法
【專利摘要】本發(fā)明提供了一種身份認(rèn)證方法、裝置及服務(wù)器,該方法包括:獲取待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰;將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保存的賬戶信息及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比;對(duì)比一致時(shí),生成操作指令。本發(fā)明的方案,采用單用戶認(rèn)證和多用戶認(rèn)證結(jié)合的方法,只有少數(shù)敏感數(shù)據(jù)的訪問和操作才需要多用戶共同認(rèn)證,一般的操作僅需單用戶認(rèn)證便可,不會(huì)影響到日常的工作效率,同時(shí)又保證了敏感數(shù)據(jù)和操作的安全性。
【專利說明】
-種身份認(rèn)證方法、裝置及服務(wù)器
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及通信安全及加密領(lǐng)域,尤其設(shè)及一種身份認(rèn)證方法、裝置及服務(wù)器。
【背景技術(shù)】
[0002] 目前對(duì)于賬號(hào)的敏感操作采用金庫認(rèn)證的方法,用戶在進(jìn)行敏感操作時(shí)觸發(fā)金庫 認(rèn)證,需得到相關(guān)人員認(rèn)可,并獲取短信驗(yàn)證后方可繼續(xù)進(jìn)行操作。但單憑金庫認(rèn)證,難W 保證對(duì)核屯、數(shù)據(jù)敏感操作的監(jiān)控和有效管理,短信驗(yàn)證的方式也難W保證數(shù)據(jù)的安全性和 操作的可監(jiān)督性。
[0003] 因此,現(xiàn)有技術(shù)對(duì)于敏感數(shù)據(jù)和操作的保護(hù)和監(jiān)控方面,存在W下薄弱環(huán)節(jié):
[0004] 1、目前缺乏對(duì)賬戶及敏感操作的多人共管技術(shù),4A(Account、Authentication、 Authorization、Audit,簡稱4A)賬戶均由單個(gè)用戶的數(shù)字證書認(rèn)證便可通過,部分權(quán)限較 大的賬戶在進(jìn)行敏感數(shù)據(jù)操作時(shí),缺乏監(jiān)督,容易因?yàn)閭€(gè)人有屯、或無意的操作對(duì)系統(tǒng)或用 戶造成損失。 陽〇化]2、目前對(duì)于敏感操作觸發(fā)的金庫認(rèn)證,觸發(fā)認(rèn)證后有且僅有一人通過審批后便 可,存在一定的風(fēng)險(xiǎn),若此人處于疏忽,而操作者在操作時(shí)又無人監(jiān)督,因此無法保證敏感 數(shù)據(jù)和操作的安全性。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明要解決的技術(shù)問題是提供一種身份認(rèn)證方法、裝置及服務(wù)器,采用單用戶 認(rèn)證和多用戶認(rèn)證結(jié)合的方法,只有少數(shù)敏感數(shù)據(jù)的訪問和操作才需要多用戶共同認(rèn)證, 一般的操作僅需單用戶認(rèn)證便可,不會(huì)影響到日常的工作效率,同時(shí)又保證了敏感數(shù)據(jù)和 操作的安全性。
[0007] 為了解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案:
[000引依據(jù)本發(fā)明的一個(gè)方面,提供了一種身份認(rèn)證的方法,包括:
[0009] 獲取待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰;
[0010] 將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保存的賬戶信息及對(duì) 應(yīng)的電子密鑰進(jìn)行對(duì)比;
[0011] 對(duì)比一致時(shí),生成操作指令。
[0012] 其中,所述賬戶信息包括:賬戶號(hào)碼、用戶名、賬戶密碼、密鑰密碼及賬戶申請(qǐng)時(shí) 間。
[0013] 其中,所述對(duì)應(yīng)的電子密鑰是依據(jù)所述賬戶密碼和密鑰密碼生成的。
[0014] 其中,依據(jù)所述賬戶密碼和密鑰密碼生成對(duì)應(yīng)的電子密鑰的步驟包括:
[0015] 根據(jù)所述賬戶信息獲取一隨機(jī)數(shù),并將所述隨機(jī)數(shù)作為數(shù)字矩陣的編碼;
[0016] 根據(jù)所述數(shù)字矩陣編碼,利用雙偶數(shù)數(shù)字矩陣構(gòu)造方法生成規(guī)模為2"巧"的第一 數(shù)字矩陣,其中n為整數(shù);
[0017] 依據(jù)所述賬戶密碼構(gòu)造一規(guī)模為2"巧"的賬戶布爾矩陣,并依據(jù)所述賬戶布爾矩 陣和第一數(shù)字矩陣生成規(guī)模為2"巧"的數(shù)字矩陣片段;
[0018] 依據(jù)所述密鑰密碼構(gòu)造一密鑰布爾矩陣;
[0019] 利用所述密鑰布爾矩陣對(duì)所述數(shù)字矩陣片段進(jìn)行加密,生成電子密鑰。
[0020] 其中,根據(jù)所述數(shù)字矩陣編碼,利用雙偶數(shù)數(shù)字矩陣構(gòu)造方法生成規(guī)模為2"巧"的 第一數(shù)字矩陣的步驟包括:
[OOW 將1~4"的正整數(shù)序列順序劃分為長度為2 "的子序列,第i個(gè)序列記為A 1;
[0022] 根據(jù)雙偶數(shù)數(shù)字矩陣填寫規(guī)則,將Ai填入一矩陣A的第i行,獲得各列元素之和 及對(duì)角線元素之和均相等的矩陣B ;
[0023] 根據(jù)雙偶數(shù)列調(diào)整規(guī)則,在前2" 1行的每一行中,選取2 " 1個(gè)元素,并將所述元素 對(duì)應(yīng)行的同列元素進(jìn)行交換,獲得各行元素之和、各列元素之和W及對(duì)角線元素之和均相 等的矩陣C ;
[0024] 將所述矩陣C作為第一數(shù)字矩陣保存。
[00巧]其中,依據(jù)所述賬戶布爾矩陣和第一數(shù)字矩陣生成規(guī)模為2。巧n的數(shù)字矩陣片段 的步驟包括:
[00%] 從所述賬戶布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為1,則提取所述第一數(shù)字矩陣中相同位置的數(shù),存放在預(yù)先構(gòu) 造的2。巧n數(shù)字矩陣中的相同位置處.
[0027] 將所述2。巧n數(shù)字矩陣中空置的位置填充同一隨機(jī)數(shù),并將所述2 n巧n數(shù)字矩陣作 為數(shù)字矩陣片段保存。
[0028] 其中,依據(jù)所述密鑰密碼構(gòu)造一密鑰布爾矩陣的步驟包括:
[0029] 選取2"個(gè)散列函數(shù),并依據(jù)所述散列函數(shù)將所述密鑰密碼散列為2"個(gè)不同的數(shù)X, 其中,X為大于等于0且小于等于- 1的整數(shù);
[0030] 將2"個(gè)不同的數(shù)X分別轉(zhuǎn)換為2 "位二進(jìn)制布爾序列;
[0031] 將獲取的2"個(gè)2 "位的二進(jìn)制布爾序列順序填寫到一規(guī)模為2 的矩陣中,獲取 密鑰布爾矩陣。
[0032] 其中,利用所述密鑰布爾矩陣對(duì)所述數(shù)字矩陣片段進(jìn)行加密,生成電子密鑰的步 驟包括:
[0033] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為1,則提取所述數(shù)字矩陣片段中相同位置的數(shù),順序存放在預(yù) 先構(gòu)造的2。巧n數(shù)組中.
[0034] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為0,則提取所述數(shù)字矩陣片段中相同位置的數(shù),順序存放在預(yù) 先構(gòu)造的2。巧n數(shù)組中.
[0035] 將所述2。巧n數(shù)組作為電子密鑰進(jìn)行保存。
[0036] 其中,將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保存的賬戶信息 及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比的步驟包括:
[0037] 當(dāng)獲取的待訪問用戶的賬戶信息中包括一個(gè)待訪問用戶的賬戶信息時(shí),接收終端 依據(jù)所述待訪問用戶的賬戶密碼進(jìn)行散列運(yùn)算后發(fā)送的散列運(yùn)算結(jié)果,并保存于數(shù)據(jù)庫 中;
[0038] 將所述散列運(yùn)算結(jié)果與生成的對(duì)應(yīng)用戶的賬戶布爾矩陣進(jìn)行對(duì)比;
[0039] 若所述散列運(yùn)算結(jié)果與賬戶布爾矩陣的對(duì)應(yīng)值相匹配,生成普通級(jí)別的數(shù)據(jù)操作 指令。
[0040] 其中,將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保存的賬戶信息 及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比的步驟包括:
[0041] 當(dāng)獲取的待訪問用戶的賬戶信息中包括多個(gè)待訪問用戶的賬戶信息時(shí),將所有用 戶的數(shù)字矩陣片段相同位置上的數(shù)字相加,得到規(guī)模為的第二數(shù)字矩陣,并從所述第 二數(shù)字矩陣的第一行第一列開始,從左至右自上而下依次對(duì)每一位進(jìn)行模運(yùn)算;
[0042] 利用所述第一數(shù)字矩陣減去所述模運(yùn)算后的第二數(shù)字矩陣,獲得補(bǔ)數(shù)字矩陣,并 刪除所述第一數(shù)字矩陣,保存補(bǔ)數(shù)字矩陣;
[0043] 接收終端發(fā)送的待訪問用戶的用戶名,對(duì)待訪問用戶的賬戶密碼進(jìn)行散列運(yùn)算后 發(fā)送的散列結(jié)果,及根據(jù)待訪問用戶的密鑰密碼構(gòu)造密鑰布爾矩陣,并利用所述密鑰布爾 矩陣對(duì)所述電子密鑰解密后發(fā)送的待訪問用戶的數(shù)字矩陣片段;
[0044] 將接收到的所述待訪問用戶的用戶名和賬戶密碼的散列運(yùn)算結(jié)果與數(shù)據(jù)庫中保 存的用戶名和賬戶布爾矩陣進(jìn)行比對(duì);
[0045] 若每一位待訪問用戶的賬戶密碼的散列運(yùn)算結(jié)果與所述賬戶布爾矩陣中對(duì)應(yīng)值 相匹配,將所有待訪問用戶的數(shù)字矩陣片段逐位相加得到規(guī)模為2"巧"的第=數(shù)字矩陣;
[0046] 對(duì)所述第=數(shù)字矩陣逐位進(jìn)行模4"運(yùn)算,并將所述第=數(shù)字矩陣與所述補(bǔ)數(shù)字矩 陣逐位相加,獲得2"巧"的第四數(shù)字矩陣,并對(duì)所述第四數(shù)字矩陣進(jìn)行驗(yàn)證;
[0047] 若所述第四數(shù)字矩陣的任一行、任一列及兩個(gè)對(duì)角線元素之和均相等,生成敏感 數(shù)據(jù)操作指令。
[0048] 其中,利用所述密鑰布爾矩陣對(duì)所述電子密鑰解密的步驟包括:
[0049] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為1,則順序提取所述電子密鑰中的數(shù),存放在預(yù)先構(gòu)造的2"巧" 數(shù)組中與密鑰布爾矩陣中值為1的元素相同的位置處;
[0050] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為0,則順序提取所述電子密鑰中相同位置的數(shù),存放在預(yù)先構(gòu) 造的2"巧"數(shù)組中與密鑰布爾矩陣中值為0的元素相同的位置處;
[0051] 將所述2"巧"數(shù)組作為待訪問用戶的數(shù)字矩陣片段進(jìn)行保存。
[0052] 其中,對(duì)所述第四數(shù)字矩陣進(jìn)行驗(yàn)證后,所述方法還包括:
[0053] 若所述第四數(shù)字矩陣的任一行、任一列及兩個(gè)對(duì)角線元素之和存在不相等的情 況,檢查每一個(gè)待訪問用戶的數(shù)字矩陣片段;
[0054] 鎖定輸入錯(cuò)誤的待訪問用戶的用戶名并向所有待訪問用戶顯示,并向每一位待訪 問用戶提示此次操作失敗。 陽化5] 其中,鎖定輸入錯(cuò)誤的待訪問用戶的用戶名的步驟包括:
[0056] 從數(shù)據(jù)庫中獲取待訪問用戶的賬戶布爾矩陣,并從所述賬戶布爾矩陣的第一行第 一列元素開始,從左至右,自上而下逐位判斷;
[0057] 若所述賬戶布爾矩陣中任一位的元素值為0,將待訪問用戶的數(shù)字矩陣片段中該 位置的元素置為0,獲得過濾后的數(shù)字矩陣片段;
[0058] 從過濾后的數(shù)字矩陣片段的第一行第一列開始判斷,若存在任一位置上的非零元 素的值不合法,判定所述賬戶布爾矩陣對(duì)應(yīng)的用戶為輸入錯(cuò)誤的待訪問用戶。
[0059] 依據(jù)本發(fā)明的另一個(gè)方面,提供了一種身份認(rèn)證裝置,包括:
[0060] 獲取模塊,用于獲取待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰;
[0061] 對(duì)比模塊,用于將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保存的 賬戶信息及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比;
[0062] 操作模塊,用于對(duì)比一致時(shí),生成操作指令。
[0063] 依據(jù)本發(fā)明的另一個(gè)方面,還提供了一種服務(wù)器,包括數(shù)據(jù)庫,還包括上述所述的 身份認(rèn)證裝置。
[0064] 本發(fā)明的有益效果是: 陽0化]本發(fā)明實(shí)施例的身份認(rèn)證方法,采用基于數(shù)字矩陣的金庫認(rèn)證方式,將單用戶認(rèn) 證和多用戶認(rèn)證相結(jié)合。當(dāng)只是設(shè)及到普通的賬戶操作時(shí),單用戶通過認(rèn)證即可操作;當(dāng)設(shè) 及到賬戶的核屯、數(shù)據(jù)和敏感操作時(shí),則需要所有共管人員提供電子證書和個(gè)人密碼W及密 鑰密碼進(jìn)行組合金庫認(rèn)證,如果認(rèn)證通過才能進(jìn)行操作。所W,本發(fā)明的方案,既不會(huì)影響 到日常的工作效率,又能保證敏感數(shù)據(jù)和操作的安全性。
[0066] 此外,本發(fā)明的方案可根據(jù)數(shù)據(jù)和操作的安全級(jí)別的不同設(shè)定不同的金庫協(xié)同認(rèn) 證人員,靈活地對(duì)不同數(shù)據(jù)進(jìn)行不同級(jí)別地保護(hù),并可W在現(xiàn)有的賬戶登陸和金庫認(rèn)證的 基礎(chǔ)上直接進(jìn)行改造,不需要增添新的設(shè)備,只需要少量的代碼改造,易于實(shí)現(xiàn)。
【附圖說明】
[0067] 圖1表示本發(fā)明實(shí)施例的身份認(rèn)證方法的流程示意圖;
[0068] 圖2表示本發(fā)明實(shí)施例的身份認(rèn)證裝置的結(jié)構(gòu)框圖;
[0069] 圖3表示電子密鑰生成模塊的結(jié)構(gòu)框圖;
[0070] 圖4表示對(duì)比模塊的結(jié)構(gòu)框圖;
[0071] 圖5表示構(gòu)造數(shù)字矩陣片段的原理示意圖;
[0072] 圖6表示依據(jù)賬戶密碼構(gòu)造賬戶布爾矩陣的原理示意圖; 陽073] 圖7表示加密原理示意圖;
[0074] 圖8表示解密原理示意圖。
【具體實(shí)施方式】
[00巧]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開 的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可W W各種形式實(shí)現(xiàn)本公開而不應(yīng)被運(yùn)里闡述的實(shí)施例 所限制。相反,提供運(yùn)些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍 完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。 W76] 實(shí)施例一
[0077] 依據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種身份認(rèn)證方法,該方法,首先,獲取待 訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰;接著,將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的 電子密鑰與預(yù)先保存的賬戶信息及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比;最后,對(duì)比一致時(shí),生成操作 指令。
[0078] 如圖I所示,該方法包括:
[0079] 步驟S11、獲取待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰。
[0080] 其中,賬戶信息包括:賬戶號(hào)碼、用戶名、賬戶密碼、密鑰密碼及賬戶申請(qǐng)時(shí)間。當(dāng) 然,可W理解的是,本發(fā)明實(shí)施例的身份認(rèn)證方法中,并不具體限定賬戶信息所包括的具體 內(nèi)容,還可依據(jù)需要添加其他相關(guān)內(nèi)容。
[0081] 此外,與賬戶信息對(duì)應(yīng)的電子密鑰是依據(jù)賬戶密碼和密鑰密碼生成的。本發(fā)明實(shí) 施例的身份認(rèn)證方法中,在用戶需要進(jìn)行身份認(rèn)證之前,服務(wù)器會(huì)依據(jù)每一個(gè)用戶的賬戶 密碼和密鑰密碼生成對(duì)應(yīng)的電子密鑰,并保存在服務(wù)器的數(shù)據(jù)庫中。
[0082] 可選地,依據(jù)所述賬戶密碼和密鑰密碼生成對(duì)應(yīng)的電子密鑰的步驟包括:
[0083] 根據(jù)所述賬戶信息獲取一隨機(jī)數(shù),并將所述隨機(jī)數(shù)作為數(shù)字矩陣的編碼;
[0084] 根據(jù)所述數(shù)字矩陣編碼,利用雙偶數(shù)數(shù)字矩陣構(gòu)造方法生成規(guī)模為2"巧"的第一 數(shù)字矩陣,其中n為整數(shù);
[00化]依據(jù)所述賬戶密碼構(gòu)造一規(guī)模為2。巧n的賬戶布爾矩陣,并依據(jù)所述賬戶布爾矩 陣和第一數(shù)字矩陣生成規(guī)模為2"巧"的數(shù)字矩陣片段;
[0086] 依據(jù)所述密鑰密碼構(gòu)造一密鑰布爾矩陣;
[0087] 利用所述密鑰布爾矩陣對(duì)所述數(shù)字矩陣片段進(jìn)行加密,生成電子密鑰。
[0088] 可選地,根據(jù)所述數(shù)字矩陣編碼,利用雙偶數(shù)數(shù)字矩陣構(gòu)造方法生成規(guī)模為2。巧" 的第一數(shù)字矩陣的步驟包括:
[0089] 將1~4"的正整數(shù)序列順序劃分為長度為2 "的子序列,第i個(gè)序列記為A 1;
[0090] 根據(jù)雙偶數(shù)數(shù)字矩陣填寫規(guī)則,將Ai填入一矩陣A的第i行,獲得各列元素之和 及對(duì)角線元素之和均相等的矩陣B ;
[0091] 根據(jù)雙偶數(shù)列調(diào)整規(guī)則,在前2" 1行的每一行中,選取2 " 1個(gè)元素,并將所述元素 對(duì)應(yīng)行的同列元素進(jìn)行交換,獲得各行元素之和、各列元素之和W及對(duì)角線元素之和均相 等的矩陣C ;
[0092] 將所述矩陣C作為第一數(shù)字矩陣保存。
[0093] 可選地,依據(jù)所述賬戶布爾矩陣和第一數(shù)字矩陣生成規(guī)模為2"巧"的數(shù)字矩陣片 段的步驟包括:
[0094] 從所述賬戶布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為1,則提取所述第一數(shù)字矩陣中相同位置的數(shù),存放在預(yù)先構(gòu) 造的2。巧n數(shù)字矩陣中的相同位置處.
[0095] 將所述2。巧n數(shù)字矩陣中空置的位置填充同一隨機(jī)數(shù),并將所述2 n巧n數(shù)字矩陣作 為數(shù)字矩陣片段保存。
[0096] 具體地,為了便于說明,W 8*8矩陣舉例而言,如圖5所示,如賬戶布爾矩陣的第一 行自左向右的第=、四、屯、八個(gè)元素為1,則提取第一數(shù)字矩陣中相同位置上的數(shù)字59、4、 7及64,存放在8*8矩陣中的相同位置處。依次遍歷賬戶布爾矩陣的所有為1的元素,遍歷 完成之后,在該8*8矩陣中的空置位置處填入同一隨機(jī)數(shù),如5,最終獲得數(shù)字矩陣片段。
[0097] 其中,通過賬戶密碼構(gòu)造賬戶布爾矩陣的方法比較多,只要能將賬戶密碼散列成 矩陣即可。為了便于說明將賬戶密碼散列成矩陣的方法,舉例說明8位數(shù)字散列為6*4的矩 陣的過程。如圖6所示,8位數(shù)字29151400,從左向右每兩位劃分為一個(gè)數(shù)字,即nun[0]對(duì) 應(yīng)數(shù)字29, nun [1]對(duì)應(yīng)數(shù)字15, nun [2]對(duì)應(yīng)數(shù)字14, nun [3]對(duì)應(yīng)數(shù)字0,對(duì)于劃分的四個(gè) 數(shù)字,分別通過散列函數(shù)散列為對(duì)應(yīng)的六位二進(jìn)制數(shù),每一個(gè)二進(jìn)制數(shù)的元素作為6*4矩 陣的一行,則最終生成了所需的6*4矩陣。
[0098] 其中,依據(jù)所述密鑰密碼構(gòu)造一密鑰布爾矩陣的步驟包括:
[0099] 選取2"個(gè)散列函數(shù),并依據(jù)所述散列函數(shù)將所述密鑰密碼散列為2"個(gè)不同的數(shù)X, 其中,X為大于等于0且小于等3 22" -1的整數(shù);
[0100] 將2"個(gè)不同的數(shù)X分別轉(zhuǎn)換為2 "位二進(jìn)制布爾序列; 陽101] 將獲取的2"個(gè)2 "位的二進(jìn)制布爾序列順序填寫到一規(guī)模為2 的矩陣中,獲取 密鑰布爾矩陣。 陽102] 具體地,當(dāng)密鑰密碼為六位時(shí),n = 4。目P,當(dāng)密鑰密碼為六位時(shí),需要選取16個(gè)散 列函數(shù),來將六位密鑰密碼散列成16個(gè)不同的數(shù),且運(yùn)些數(shù)的取值介于0到21S-1之間。接 著將每一個(gè)數(shù)字轉(zhuǎn)換成為16位二進(jìn)制的布爾序列,并順序填寫到一個(gè)規(guī)模為16*16的矩陣 中,從而獲得一個(gè)規(guī)模為16*16的密鑰布爾矩陣。 陽103] 當(dāng)然,本發(fā)明實(shí)施例的身份認(rèn)證方法中,并不限于密鑰密碼為六位,還可依據(jù)需要 設(shè)為八位,則依據(jù)密鑰密碼生成的密鑰布爾矩陣的規(guī)模也會(huì)相應(yīng)改變。
[0104] 其中,利用所述密鑰布爾矩陣對(duì)所述數(shù)字矩陣片段進(jìn)行加密,生成電子密鑰的步 驟包括:
[01化]從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為1,則提取所述數(shù)字矩陣片段中相同位置的數(shù),順序存放在預(yù) 先構(gòu)造的2。巧n數(shù)組中. 陽106] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為0,則提取所述數(shù)字矩陣片段中相同位置的數(shù),順序存放在預(yù) 先構(gòu)造的2。巧n數(shù)組中.
[0107] 將所述2。巧n數(shù)組作為電子密鑰進(jìn)行保存。
[0108] 具體地,如圖7所示,為了便于說明具體的加密過程,采用了 8*8的矩陣,首先從密 鑰布爾矩陣的第一行第一列元素開始,自從左到右自上而下依次判斷每一個(gè)元素的值,如 果是1,則提取數(shù)字矩陣片段中相同位置的數(shù),順序存放在新數(shù)組中,如果為0,則不提取; 如密鑰布爾矩陣中的第一行自左向右的第一、=、四、屯個(gè)元素均為1,則提取數(shù)字矩陣片段 中的相應(yīng)位置上的數(shù)字5、4、5、7,順序放入預(yù)先構(gòu)造的8*8的數(shù)組中。依次依據(jù)1提取后, 再次自從左到右自上而下依次判斷每一個(gè)元素的值,如果是0,則提取數(shù)字矩陣片段中相同 位置的數(shù),順序存放在新數(shù)組中,如果為1,則不提取。其中,為了使得加密效果更佳,最終獲 得的電子密鑰不易被破解,在加密過程中可多次重復(fù)上述操作步驟,完成加密。 陽109] 步驟S13、將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保存的賬戶 信息及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比。
[0110] 步驟S15、對(duì)比一致時(shí),生成操作指令。 陽111] 可選地,步驟S13包括:
[0112] 當(dāng)獲取的待訪問用戶的賬戶信息中包括一個(gè)待訪問用戶的賬戶信息時(shí),接收終端 依據(jù)所述待訪問用戶的賬戶密碼進(jìn)行散列運(yùn)算后發(fā)送的散列運(yùn)算結(jié)果,并保存于數(shù)據(jù)庫 中;
[0113] 將所述散列運(yùn)算結(jié)果與生成的對(duì)應(yīng)用戶的賬戶布爾矩陣進(jìn)行對(duì)比;
[0114] 若所述散列運(yùn)算結(jié)果與賬戶布爾矩陣的對(duì)應(yīng)值相匹配,生成普通級(jí)別的數(shù)據(jù)操作 指令。
[0115] 本發(fā)明實(shí)施例的身份認(rèn)證方法中,在單一用戶進(jìn)行賬戶的相關(guān)訪問時(shí),該用戶在 終端側(cè)輸入相關(guān)的賬戶信息,如賬戶號(hào)碼,用戶名及賬戶密碼。在該用戶的終端上,對(duì)賬戶 密碼進(jìn)行散列運(yùn)算得到散列運(yùn)算結(jié)果,并將該散列運(yùn)算結(jié)果通過網(wǎng)絡(luò)傳送到服務(wù)器。服務(wù) 器則將接收的散列運(yùn)算結(jié)果與數(shù)據(jù)庫中保存的賬戶布爾矩陣進(jìn)行對(duì)比,如果用戶的賬戶密 碼的散列運(yùn)算結(jié)果與賬戶布爾矩陣的對(duì)應(yīng)值相匹配,則用戶可W查看該賬戶的一般信息并 進(jìn)行普通級(jí)別的數(shù)據(jù)操作;否則,用戶不能查看該賬戶的信息或進(jìn)行任何操作。
[0116] 由此可知,本發(fā)明實(shí)施例的身份認(rèn)證方法,支持單用戶的身份證,但是單用戶通過 身份認(rèn)證后,只能進(jìn)行普通級(jí)別的操作,如進(jìn)行賬單查詢,但對(duì)于詳單查詢則無法進(jìn)行訪 問。
[0117] 可選地,將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保存的賬戶信 息及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比的步驟包括:
[0118] 當(dāng)獲取的待訪問用戶的賬戶信息中包括多個(gè)待訪問用戶的賬戶信息時(shí),將所有用 戶的數(shù)字矩陣片段相同位置上的數(shù)字相加,得到規(guī)模為2"巧"的第二數(shù)字矩陣,并從所述第 二數(shù)字矩陣的第一行第一列開始,從左至右自上而下依次對(duì)每一位進(jìn)行模運(yùn)算;
[0119] 利用所述第一數(shù)字矩陣減去所述模運(yùn)算后的第二數(shù)字矩陣,獲得補(bǔ)數(shù)字矩陣,并 刪除所述第一數(shù)字矩陣,保存補(bǔ)數(shù)字矩陣;
[0120] 接收終端發(fā)送的待訪問用戶的用戶名,對(duì)待訪問用戶的賬戶密碼進(jìn)行散列運(yùn)算后 發(fā)送的散列結(jié)果,及根據(jù)待訪問用戶的密鑰密碼構(gòu)造密鑰布爾矩陣,并利用所述密鑰布爾 矩陣對(duì)所述電子密鑰解密后發(fā)送的待訪問用戶的數(shù)字矩陣片段; 陽121] 將接收到的所述待訪問用戶的用戶名和賬戶密碼的散列運(yùn)算結(jié)果與數(shù)據(jù)庫中保 存的用戶名和賬戶布爾矩陣進(jìn)行比對(duì);
[0122] 若每一位待訪問用戶的賬戶密碼的散列運(yùn)算結(jié)果與所述賬戶布爾矩陣中對(duì)應(yīng)值 相匹配,將所有待訪問用戶的數(shù)字矩陣片段逐位相加得到規(guī)模為2"巧"的第=數(shù)字矩陣; 陽123]對(duì)所述第=數(shù)字矩陣逐位進(jìn)行模4"運(yùn)算,并將所述第=數(shù)字矩陣與所述補(bǔ)數(shù)字矩 陣逐位相加,獲得2"巧"的第四數(shù)字矩陣,并對(duì)所述第四數(shù)字矩陣進(jìn)行驗(yàn)證;
[0124] 若所述第四數(shù)字矩陣的任一行、任一列及兩個(gè)對(duì)角線元素之和均相等,生成敏感 數(shù)據(jù)操作指令。
[01巧]可選地,對(duì)所述第四數(shù)字矩陣進(jìn)行驗(yàn)證后,所述方法還包括:
[01%] 若所述第四數(shù)字矩陣的任一行、任一列及兩個(gè)對(duì)角線元素之和存在不相等的情 況,檢查每一個(gè)待訪問用戶的數(shù)字矩陣片段; 陽127] 鎖定輸入錯(cuò)誤的待訪問用戶的用戶名并向所有待訪問用戶顯示,并向每一位待訪 問用戶提示此次操作失敗。
[0128] 當(dāng)設(shè)及到賬戶的核屯、數(shù)據(jù)和敏感操作時(shí),本發(fā)明實(shí)施例的身份認(rèn)證中,需要多個(gè) 用戶共同通過認(rèn)證才可進(jìn)行訪問。
[0129] 具體地,在每一次需要對(duì)賬戶進(jìn)行核屯、數(shù)據(jù)的讀取或敏感操作時(shí),由對(duì)該賬號(hào)有 共管權(quán)限的所有用戶協(xié)商好數(shù)據(jù)查看和操作的具體細(xì)節(jié)及詳細(xì)腳本,然后所有用戶在終端 上輸入自己的賬戶密碼,密鑰密碼和電子密鑰。
[0130] 由于在多用戶的身份認(rèn)證過程中,需要用到補(bǔ)數(shù)字矩陣,所W服務(wù)器會(huì)依據(jù)所有 用戶的賬戶信息,如賬戶號(hào)碼、用戶名、賬戶密碼及申請(qǐng)賬號(hào)的時(shí)間來構(gòu)造一補(bǔ)數(shù)字矩陣進(jìn) 行保存。 陽131] 當(dāng)多個(gè)用戶在終端側(cè)輸入賬戶號(hào)碼、各自的用戶名、賬號(hào)密碼及電子密碼后,終端 會(huì)依次對(duì)每一位用戶的賬戶密碼進(jìn)行散列運(yùn)算,獲得每一位用戶的散列運(yùn)算結(jié)果,并將所 有散列運(yùn)算結(jié)果及對(duì)應(yīng)的用戶名發(fā)送到服務(wù)器端。在服務(wù)器側(cè),將每一個(gè)用戶的散列運(yùn)算 結(jié)果與數(shù)據(jù)庫中保存的用戶名和賬戶布爾矩陣進(jìn)行對(duì)比,當(dāng)每位用戶的賬戶密碼的散列運(yùn) 算結(jié)果與賬戶布爾矩陣中對(duì)應(yīng)值相匹配時(shí),才可進(jìn)行后續(xù)的多人共同認(rèn)證。否則,多人身份 驗(yàn)證失敗,且此時(shí)還可向所有用戶提示輸入賬號(hào)密碼錯(cuò)誤的用戶名,并且提示身份認(rèn)證失 敗。
[0132] 在進(jìn)行多人共同認(rèn)證之前,終端側(cè)需要利用每一個(gè)用戶的密鑰密碼構(gòu)造一密鑰布 爾矩陣,并利用該密鑰布爾矩陣對(duì)電子密鑰解密,生成對(duì)應(yīng)的數(shù)字矩陣片段。從而,可W進(jìn) 行多人共同認(rèn)證。
[0133] 具體地,例如將所有用戶的數(shù)字矩陣片段逐位相加得到一個(gè)規(guī)模為16*16的矩 陣,則對(duì)矩陣逐位進(jìn)行模16 2運(yùn)算,然后將矩陣與服務(wù)器保存的補(bǔ)數(shù)字矩陣逐位相加,對(duì)相 加后的矩陣進(jìn)行驗(yàn)證,如果各行、各列及兩個(gè)對(duì)角線元素之和均相等,則執(zhí)行修改或支取操 作,執(zhí)行完成后提示所有用戶操作成功;否則,不執(zhí)行修改或支取操作,檢查每一個(gè)用戶的 數(shù)字矩陣片段,鎖定輸入錯(cuò)誤的用戶并向所有用戶顯示,向每一位用戶提示此次操作失敗。
[0134] 可選地,利用所述密鑰布爾矩陣對(duì)所述電子密鑰解密的步驟包括:
[0135] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為1,則順序提取所述電子密鑰中的數(shù),存放在預(yù)先構(gòu)造的2"巧" 數(shù)組中與密鑰布爾矩陣中值為1的元素相同的位置處;
[0136] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為0,則順序提取所述電子密鑰中的數(shù),存放在預(yù)先構(gòu)造的2"巧" 數(shù)組中與密鑰布爾矩陣中值為0的元素相同的位置處; 陽137] 將所述2"巧"數(shù)組作為待訪問用戶的數(shù)字矩陣片段進(jìn)行保存。
[013引為了便于說明解密過程,W 8*8的矩陣來舉例說明。具體地,如圖8所示,比如,密 鑰布爾矩陣的第一行自左向右,第一、=、四、屯個(gè)元素為1,則順序提取電子密鑰的前四個(gè) 元素,5、4、5、7,依次放入預(yù)先構(gòu)造的8*8數(shù)組中,與密鑰布爾矩陣的相同位置處。其中,在 本發(fā)明實(shí)施的身份認(rèn)證方法中,生成電子密鑰的加密過程及多用戶認(rèn)證時(shí)對(duì)電子密鑰的解 密過程是相逆的,且解密的次數(shù)要和加密的次數(shù)相等,才能恢復(fù)得到加密之前的數(shù)字矩陣 片段,實(shí)現(xiàn)電子密鑰的解密。
[0139] 可選地,鎖定輸入錯(cuò)誤的待訪問用戶的用戶名的步驟包括:
[0140] 從數(shù)據(jù)庫中獲取待訪問用戶的賬戶布爾矩陣,并從所述賬戶布爾矩陣的第一行第 一列元素開始,從左至右,自上而下逐位判斷; 陽141] 若所述賬戶布爾矩陣中任一位的元素值為0,將待訪問用戶的數(shù)字矩陣片段中該 位置的元素置為0,獲得過濾后的數(shù)字矩陣片段; 陽142] 從過濾后的數(shù)字矩陣片段的第一行第一列開始判斷,若存在任一位置上的非零元 素的值不合法,判定所述賬戶布爾矩陣對(duì)應(yīng)的用戶為輸入錯(cuò)誤的待訪問用戶。 陽143] 其中,不合法指的是,該非零元素既不是填充到該位置上的數(shù)字,也不是交換的到 該位置上的數(shù)字。 陽144] 實(shí)施例二
[0145] 依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種身份認(rèn)證裝置,如圖2所示,該裝 置200包括: 陽146] 獲取模塊203,用于獲取待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰; 陽147] 對(duì)比模塊205,用于將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保 存的賬戶信息及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比;
[0148] 操作模塊207,用于對(duì)比一致時(shí),生成操作指令。
[0149] 可選地,所述賬戶信息包括:賬戶號(hào)碼、用戶名、賬戶密碼、密鑰密碼及賬戶申請(qǐng)時(shí) 間。
[0150] 可選地,所述對(duì)應(yīng)的電子密鑰是依據(jù)所述賬戶密碼和密鑰密碼生成的。 陽151] 可選地,所述裝置200還包括: 陽152] 電子密鑰生成模塊201,如圖3所示,所述電子密鑰生成模塊201包括: 陽153] 獲取單元2011,用于根據(jù)所述多個(gè)待訪問用戶的賬戶信息獲取一隨機(jī)數(shù),并將所 述隨機(jī)數(shù)作為數(shù)字矩陣的編碼;
[0154] 第一數(shù)字矩陣生成單元2012,用于根據(jù)所述數(shù)字矩陣編碼,利用雙偶數(shù)數(shù)字矩陣 構(gòu)造方法生成規(guī)模為2"巧"的第一數(shù)字矩陣,其中n為整數(shù); 陽155] 第一生成單元2013,用于依據(jù)所述賬戶密碼構(gòu)造一規(guī)模為2。巧n的賬戶布爾矩陣, 并依據(jù)所述賬戶布爾矩陣和第一數(shù)字矩陣生成規(guī)模為的數(shù)字矩陣片段; 陽156] 第二生成單元2014,用于依據(jù)所述密鑰密碼構(gòu)造一密鑰布爾矩陣; 陽157] 加密單元2015,用于利用所述密鑰布爾矩陣對(duì)所述數(shù)字矩陣片段進(jìn)行加密,生成 電子密鑰。
[0158] 可選地,所述第一數(shù)字矩陣生成單元2012進(jìn)一步用于: 陽159] 將1~42"的正整數(shù)序列順序劃分為長度為2 "的子序列,第i個(gè)序列記為A 1; 陽160] 根據(jù)雙偶數(shù)數(shù)字矩陣填寫規(guī)則,將Ai填入一矩陣A的第i行,獲得各列元素之和 及對(duì)角線元素之和均相等的矩陣B ; 陽161] 根據(jù)雙偶數(shù)列調(diào)整規(guī)則,在前2" 1行的每一行中,選取2 " 1個(gè)元素,并將所述元素 對(duì)應(yīng)行的同列元素進(jìn)行交換,獲得各行元素之和、各列元素之和W及對(duì)角線元素之和均相 等的矩陣C ;
[0162] 將所述矩陣C作為第一數(shù)字矩陣保存。
[0163] 可選地,第一生成單元2013在依據(jù)所述賬戶布爾矩陣和第一數(shù)字矩陣生成規(guī)模 為2。巧n的數(shù)字矩陣片段時(shí),進(jìn)一步用于:
[0164] 從所述賬戶布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為1,則提取所述第一數(shù)字矩陣中相同位置的數(shù),存放在預(yù)先構(gòu) 造的2。巧n數(shù)字矩陣中的相同位置處.
[0165] 將所述2。巧n數(shù)字矩陣中空置的位置填充同一隨機(jī)數(shù),并將所述2 n巧n數(shù)字矩陣作 為數(shù)字矩陣片段保存。 陽166] 可選地,所述第二生成單元2014進(jìn)一步用于: 陽167] 選取2"個(gè)散列函數(shù),并依據(jù)所述散列函數(shù)將所述密鑰密碼散列為2"個(gè)不同的數(shù)X, 其中,X為大于等于0且小于等于22" - 1的整數(shù);
[0168] 將2"個(gè)不同的數(shù)X分別轉(zhuǎn)換為2 "位二進(jìn)制布爾序列;
[0169] 將獲取的2"個(gè)2 "位的二進(jìn)制布爾序列順序填寫到一規(guī)模為2 的矩陣中,獲取 密鑰布爾矩陣。
[0170] 可選地,所述加密單元2013進(jìn)一步用于: 陽171] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為1,則提取所述數(shù)字矩陣片段中相同位置的數(shù),順序存放在預(yù) 先構(gòu)造的2。巧n數(shù)組中.
[0172] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為0,則提取所述數(shù)字矩陣片段中相同位置的數(shù),順序存放在預(yù) 先構(gòu)造的2。巧n數(shù)組中.
[0173] 將所述2。巧n數(shù)組作為電子密鑰進(jìn)行保存。
[0174] 可選地,如圖4所示,所述對(duì)比模塊205包括:
[01巧]第一接收單元2051,用于當(dāng)獲取的待訪問用戶的賬戶信息中包括一個(gè)待訪問用戶 的賬戶信息時(shí),接收終端依據(jù)所述待訪問用戶的賬戶密碼進(jìn)行散列運(yùn)算后發(fā)送的散列運(yùn)算 結(jié)果,并保存于數(shù)據(jù)庫中; 陽176] 第一對(duì)比單元2052,用于將所述散列運(yùn)算結(jié)果與生成的對(duì)應(yīng)用戶的賬戶布爾矩陣 進(jìn)行對(duì)比;
[0177] 第一操作單元2053,用于若所述散列運(yùn)算結(jié)果與賬戶布爾矩陣的對(duì)應(yīng)值相匹配, 生成普通級(jí)別的數(shù)據(jù)操作指令。 陽17引可選地,如圖4所示,所述對(duì)比模塊205還包括:
[0179] 第二數(shù)字矩陣生成單元2054,用于當(dāng)獲取的待訪問用戶的賬戶信息中包括多個(gè)待 訪問用戶的賬戶信息時(shí),將所有用戶的數(shù)字矩陣片段相同位置上的數(shù)字相加,得到規(guī)模為 2"*2"的第二數(shù)字矩陣,并從所述第二數(shù)字矩陣的第一行第一列開始,從左至右自上而下依 次對(duì)每一位進(jìn)行模運(yùn)算; 陽180] 補(bǔ)數(shù)字矩陣生成單元2055,用于利用所述第一數(shù)字矩陣減去所述模運(yùn)算后的第二 數(shù)字矩陣,獲得補(bǔ)數(shù)字矩陣,并刪除所述第一數(shù)字矩陣,保存補(bǔ)數(shù)字矩陣; 陽181] 第二接收單元2056,用于接收終端發(fā)送的待訪問用戶的用戶名,對(duì)待訪問用戶的 賬戶密碼進(jìn)行散列運(yùn)算后發(fā)送的散列結(jié)果,及根據(jù)待訪問用戶的密鑰密碼構(gòu)造密鑰布爾矩 陣,并利用所述密鑰布爾矩陣對(duì)所述電子密鑰解密后發(fā)送的待訪問用戶的數(shù)字矩陣片段; 陽182] 第二對(duì)比單元2057,用于將接收到的所述待訪問用戶的用戶名和賬戶密碼的散列 運(yùn)算結(jié)果與數(shù)據(jù)庫中保存的用戶名和賬戶布爾矩陣進(jìn)行比對(duì); 陽183] 第=數(shù)字矩陣生成單元2058,用于若每一位待訪問用戶的賬戶密碼的散列運(yùn)算結(jié) 果與所述賬戶布爾矩陣中對(duì)應(yīng)值相匹配,將所有待訪問用戶的數(shù)字矩陣片段逐位相加得到 規(guī)模為2。巧n的第=數(shù)字矩陣.
[0184] 驗(yàn)證單元2059,用于對(duì)所述第S數(shù)字矩陣逐位進(jìn)行模少運(yùn)算,并將所述第S數(shù)字 矩陣與所述補(bǔ)數(shù)字矩陣逐位相加,獲得2"巧"的第四數(shù)字矩陣,并對(duì)所述第四數(shù)字矩陣進(jìn)行 驗(yàn)證; 陽185] 第二操作單元20510,用于若所述第四數(shù)字矩陣的任一行、任一列及兩個(gè)對(duì)角線元 素之和均相等,生成敏感數(shù)據(jù)操作指令。 陽186] 可選地,利用所述密鑰布爾矩陣對(duì)所述電子密鑰解密的步驟包括: 陽187] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為1,則順序提取所述電子密鑰中的數(shù),存放在預(yù)先構(gòu)造的2"巧" 數(shù)組中與密鑰布爾矩陣中值為1的元素相同的位置處;
[0188] 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一 個(gè)元素的值,若任一元素值為0,則順序提取所述電子密鑰中的數(shù),存放在預(yù)先構(gòu)造的2"巧" 數(shù)組中與密鑰布爾矩陣中值為0的元素相同的位置處; 陽189] 將所述2"巧"數(shù)組作為待訪問用戶的數(shù)字矩陣片段進(jìn)行保存。 陽190] 可選地,如圖4所示,所述對(duì)比模塊205還包括: 陽191] 檢驗(yàn)單元20511,用于若所述第四數(shù)字矩陣的任一行、任一列及兩個(gè)對(duì)角線元素之 和存在不相等的情況,檢查每一個(gè)待訪問用戶的數(shù)字矩陣片段; 陽192] 鎖定單元20512,用于鎖定輸入錯(cuò)誤的待訪問用戶的用戶名并向所有待訪問用戶 顯示,并向每一位待訪問用戶提示此次操作失敗。 陽193] 可選地,所述鎖定單元20512進(jìn)一步用于:
[0194] 從數(shù)據(jù)庫中獲取待訪問用戶的賬戶布爾矩陣,并從所述賬戶布爾矩陣的第一行第 一列元素開始,從左至右,自上而下逐位判斷;
[0195] 若所述賬戶布爾矩陣中任一位的元素值為0,將待訪問用戶的數(shù)字矩陣片段中該 位置的元素置為0,獲得過濾后的數(shù)字矩陣片段; 陽196] 從過濾后的數(shù)字矩陣片段的第一行第一列開始判斷,若存在任一位置上的非零元 素的值不合法,判定所述賬戶布爾矩陣對(duì)應(yīng)的用戶為輸入錯(cuò)誤的待訪問用戶。 陽197] 實(shí)施例S
[0198] 依據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,還提供了一種服務(wù)器,包括數(shù)據(jù)庫,還包括上述 所述的身份認(rèn)證裝置。
[0199] W上所述的是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出對(duì)于本技術(shù)領(lǐng)域的普通人員來 說,在不脫離本發(fā)明所述的原理前提下還可W作出若干改進(jìn)和潤飾,運(yùn)些改進(jìn)和潤飾也在 本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種身份認(rèn)證方法,其特征在于,包括: 獲取待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰; 將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保存的賬戶信息及對(duì)應(yīng)的 電子密鑰進(jìn)行對(duì)比; 對(duì)比一致時(shí),生成操作指令。2. 如權(quán)利要求1所述的方法,其特征在于,所述賬戶信息包括:賬戶號(hào)碼、用戶名、賬戶 密碼、密鑰密碼及賬戶申請(qǐng)時(shí)間。3. 如權(quán)利要求2所述的方法,其特征在于,所述對(duì)應(yīng)的電子密鑰是依據(jù)所述賬戶密碼 和密鑰密碼生成的。4. 如權(quán)利要求3所述的方法,其特征在于,依據(jù)所述賬戶密碼和密鑰密碼生成對(duì)應(yīng)的 電子密鑰的步驟包括: 根據(jù)所述賬戶信息獲取一隨機(jī)數(shù),并將所述隨機(jī)數(shù)作為數(shù)字矩陣的編碼; 根據(jù)所述數(shù)字矩陣編碼,利用雙偶數(shù)數(shù)字矩陣構(gòu)造方法生成規(guī)模為2n*2n的第一數(shù)字 矩陣,其中η為整數(shù); 依據(jù)所述賬戶密碼構(gòu)造一規(guī)模為2"*2"的賬戶布爾矩陣,并依據(jù)所述賬戶布爾矩陣和 第一數(shù)字矩陣生成規(guī)模為2η*2η的數(shù)字矩陣片段; 依據(jù)所述密鑰密碼構(gòu)造一密鑰布爾矩陣; 利用所述密鑰布爾矩陣對(duì)所述數(shù)字矩陣片段進(jìn)行加密,生成電子密鑰。5. 如權(quán)利要求4所述的方法,其特征在于,根據(jù)所述數(shù)字矩陣編碼,利用雙偶數(shù)數(shù)字矩 陣構(gòu)造方法生成規(guī)模為2η*2 η的第一數(shù)字矩陣的步驟包括: 將1~4η的正整數(shù)序列順序劃分為長度為2 "的子序列,第i個(gè)序列記為Α 1; 根據(jù)雙偶數(shù)數(shù)字矩陣填寫規(guī)則,將4填入一矩陣A的第i行,獲得各列元素之和及對(duì) 角線元素之和均相等的矩陣B ; 根據(jù)雙偶數(shù)列調(diào)整規(guī)則,在前2n 1行的每一行中,選取2 n 1個(gè)元素,并將所述元素對(duì)應(yīng) 行的同列元素進(jìn)行交換,獲得各行元素之和、各列元素之和以及對(duì)角線元素之和均相等的 矩陣C ; 將所述矩陣C作為第一數(shù)字矩陣保存。6. 如權(quán)利要求4所述的方法,其特征在于,依據(jù)所述賬戶布爾矩陣和第一數(shù)字矩陣生 成規(guī)模為2n*2n的數(shù)字矩陣片段的步驟包括: 從所述賬戶布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一個(gè)元 素的值,若任一元素值為1,則提取所述第一數(shù)字矩陣中相同位置的數(shù),存放在預(yù)先構(gòu)造的 2n*2n數(shù)字矩陣中的相同位置處; 將所述2n*2n數(shù)字矩陣中空置的位置填充同一隨機(jī)數(shù),并將所述2 "*2"數(shù)字矩陣作為數(shù) 字矩陣片段保存。7. 如權(quán)利要求4所述的方法,其特征在于,依據(jù)所述密鑰密碼構(gòu)造一密鑰布爾矩陣的 步驟包括: 選取2n個(gè)散列函數(shù),并依據(jù)所述散列函數(shù)將所述密鑰密碼散列為2 n個(gè)不同的數(shù)X,其 中,X為大于等于〇且小于等于2# - 1的整數(shù); 將2n個(gè)不同的數(shù)X分別轉(zhuǎn)換為2 n位二進(jìn)制布爾序列; 將獲取的2"個(gè)2 n位的二進(jìn)制布爾序列順序填寫到一規(guī)模為2 "*2"的矩陣中,獲取密鑰 布爾矩陣。8. 如權(quán)利要求4所述的方法,其特征在于,利用所述密鑰布爾矩陣對(duì)所述數(shù)字矩陣片 段進(jìn)行加密,生成電子密鑰的步驟包括: 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一個(gè)元 素的值,若任一元素值為1,則提取所述數(shù)字矩陣片段中相同位置的數(shù),順序存放在預(yù)先構(gòu) 造的2>21女組中; 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一個(gè)元 素的值,若任一元素值為〇,則提取所述數(shù)字矩陣片段中相同位置的數(shù),順序存放在預(yù)先構(gòu) 造的2>21女組中; 將所述2"*2"數(shù)組作為電子密鑰進(jìn)行保存。9. 如權(quán)利要求4所述的方法,其特征在于,將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的 電子密鑰與預(yù)先保存的賬戶信息及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比的步驟包括: 當(dāng)獲取的待訪問用戶的賬戶信息中包括一個(gè)待訪問用戶的賬戶信息時(shí),接收終端依據(jù) 所述待訪問用戶的賬戶密碼進(jìn)行散列運(yùn)算后發(fā)送的散列運(yùn)算結(jié)果,并保存于數(shù)據(jù)庫中; 將所述散列運(yùn)算結(jié)果與生成的對(duì)應(yīng)用戶的賬戶布爾矩陣進(jìn)行對(duì)比; 若所述散列運(yùn)算結(jié)果與賬戶布爾矩陣的對(duì)應(yīng)值相匹配,生成普通級(jí)別的數(shù)據(jù)操作指 令。10. 如權(quán)利要求4所述的方法,其特征在于,將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的 電子密鑰與預(yù)先保存的賬戶信息及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比的步驟包括: 當(dāng)獲取的待訪問用戶的賬戶信息中包括多個(gè)待訪問用戶的賬戶信息時(shí),將所有用戶的 數(shù)字矩陣片段相同位置上的數(shù)字相加,得到規(guī)模為2"*2"的第二數(shù)字矩陣,并從所述第二數(shù) 字矩陣的第一行第一列開始,從左至右自上而下依次對(duì)每一位進(jìn)行模運(yùn)算; 利用所述第一數(shù)字矩陣減去所述模運(yùn)算后的第二數(shù)字矩陣,獲得補(bǔ)數(shù)字矩陣,并刪除 所述第一數(shù)字矩陣,保存補(bǔ)數(shù)字矩陣; 接收終端發(fā)送的待訪問用戶的用戶名,對(duì)待訪問用戶的賬戶密碼進(jìn)行散列運(yùn)算后發(fā)送 的散列結(jié)果,及根據(jù)待訪問用戶的密鑰密碼構(gòu)造密鑰布爾矩陣,并利用所述密鑰布爾矩陣 對(duì)所述電子密鑰解密后發(fā)送的待訪問用戶的數(shù)字矩陣片段; 將接收到的所述待訪問用戶的用戶名和賬戶密碼的散列運(yùn)算結(jié)果與數(shù)據(jù)庫中保存的 用戶名和賬戶布爾矩陣進(jìn)行比對(duì); 若每一位待訪問用戶的賬戶密碼的散列運(yùn)算結(jié)果與所述賬戶布爾矩陣中對(duì)應(yīng)值相匹 配,將所有待訪問用戶的數(shù)字矩陣片段逐位相加得到規(guī)模為2n*2n的第三數(shù)字矩陣; 對(duì)所述第三數(shù)字矩陣逐位進(jìn)行模4n運(yùn)算,并將所述第三數(shù)字矩陣與所述補(bǔ)數(shù)字矩陣逐 位相加,獲得2"*2"的第四數(shù)字矩陣,并對(duì)所述第四數(shù)字矩陣進(jìn)行驗(yàn)證; 若所述第四數(shù)字矩陣的任一行、任一列及兩個(gè)對(duì)角線元素之和均相等,生成敏感數(shù)據(jù) 操作指令。11. 如權(quán)利要求10所述的方法,其特征在于,利用所述密鑰布爾矩陣對(duì)所述電子密鑰 解密的步驟包括: 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一個(gè)元 素的值,若任一元素值為1,則順序提取所述電子密鑰中的數(shù),存放在預(yù)先構(gòu)造的2"*2"數(shù)組 中與密鑰布爾矩陣中值為1的元素相同的位置處; 從所述密鑰布爾矩陣的第一行第一列元素開始,從左到右自上而下依次判斷每一個(gè)元 素的值,若任一元素值為〇,則順序提取所述電子密鑰中相同位置的數(shù),存放在預(yù)先構(gòu)造的 2"*2"數(shù)組中與密鑰布爾矩陣中值為0的元素相同的位置處; 將所述2n*2n數(shù)組作為待訪問用戶的數(shù)字矩陣片段進(jìn)行保存。12. 如權(quán)利要求10所述的方法,其特征在于,對(duì)所述第四數(shù)字矩陣進(jìn)行驗(yàn)證后,所述方 法還包括: 若所述第四數(shù)字矩陣的任一行、任一列及兩個(gè)對(duì)角線元素之和存在不相等的情況,檢 查每一個(gè)待訪問用戶的數(shù)字矩陣片段; 鎖定輸入錯(cuò)誤的待訪問用戶的用戶名并向所有待訪問用戶顯示,并向每一位待訪問用 戶提示此次操作失敗。13. 如權(quán)利要求12所述的方法,其特征在于,鎖定輸入錯(cuò)誤的待訪問用戶的用戶名的 步驟包括: 從數(shù)據(jù)庫中獲取待訪問用戶的賬戶布爾矩陣,并從所述賬戶布爾矩陣的第一行第一列 元素開始,從左至右,自上而下逐位判斷; 若所述賬戶布爾矩陣中任一位的元素值為〇,將待訪問用戶的數(shù)字矩陣片段中該位置 的元素置為〇,獲得過濾后的數(shù)字矩陣片段; 從過濾后的數(shù)字矩陣片段的第一行第一列開始判斷,若存在任一位置上的非零元素的 值不合法,判定所述賬戶布爾矩陣對(duì)應(yīng)的用戶為輸入錯(cuò)誤的待訪問用戶。14. 一種身份認(rèn)證裝置,其特征在于,包括: 獲取模塊,用于獲取待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰; 對(duì)比模塊,用于將獲取的待訪問用戶的賬戶信息及對(duì)應(yīng)的電子密鑰與預(yù)先保存的賬戶 信息及對(duì)應(yīng)的電子密鑰進(jìn)行對(duì)比; 操作模塊,用于對(duì)比一致時(shí),生成操作指令。15. -種服務(wù)器,包括數(shù)據(jù)庫,其特征在于,還包括如權(quán)利要求14所述的身份認(rèn)證裝 置。
【文檔編號(hào)】G06F21/62GK105827404SQ201510002861
【公開日】2016年8月3日
【申請(qǐng)日】2015年1月5日
【發(fā)明人】韓萌, 姚知力, 高芳, 馮瑞, 曾強(qiáng)
【申請(qǐng)人】中國移動(dòng)通信集團(tuán)陜西有限公司