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