適用于分布式存儲的認(rèn)證系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種適用于分布式存儲的認(rèn)證系統(tǒng),包括:登陸模塊,用于發(fā)送注冊請求、登陸請求,用登陸密鑰對認(rèn)證問題信息進(jìn)行計(jì)算,得到認(rèn)證計(jì)算結(jié)果;注冊模塊,用于接收注冊請求、檢測用戶是否存在、生成分片信息并分布存儲在存儲模塊中;分片信息包括認(rèn)證問題信息和認(rèn)證答案信息;認(rèn)證模塊,用于接收登陸請求,查找存儲節(jié)點(diǎn)并獲取分片信息,發(fā)送認(rèn)證問題信息,接收認(rèn)證計(jì)算結(jié)果并與認(rèn)證結(jié)果信息進(jìn)行對比,得到認(rèn)證結(jié)果并發(fā)送給登陸模塊;存儲模塊,包括存儲節(jié)點(diǎn),用于將分片信息存儲至存儲節(jié)點(diǎn)中,并向認(rèn)證模塊返回分片信息。本發(fā)明將獨(dú)立性強(qiáng)的分片信息分布存放在不同節(jié)點(diǎn),各模塊間僅進(jìn)行最低限度的信息交流,具有安全性高和容錯性強(qiáng)的優(yōu)點(diǎn)。
【專利說明】適用于分布式存儲的認(rèn)證系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全【技術(shù)領(lǐng)域】,尤其涉及一種適用于分布式存儲的認(rèn)證系統(tǒng)。
【背景技術(shù)】
[0002]目前,基于口令的認(rèn)證是用來解決系統(tǒng)的保密性和安全性問題最流行的認(rèn)證方法之一。在傳統(tǒng)的基于口令認(rèn)證方案的模型中,為了申請資源,用戶首先向遠(yuǎn)程服務(wù)器發(fā)出請求消息,其中包括用戶的身份ID和經(jīng)過哈希運(yùn)算的口令值。收到請求后,遠(yuǎn)程服務(wù)器在本地的數(shù)據(jù)庫中的訪問列表中搜尋是否存在和用戶提交的請求匹配的對,若存在,服務(wù)器將授予用戶ID訪問權(quán)限,否則拒絕訪問。
[0003]現(xiàn)有的認(rèn)證方法和系統(tǒng)多采用集中式存儲的解決方案,通常將用戶的認(rèn)證信息(通常為密碼)進(jìn)行哈希后集中存放在服務(wù)器端,在進(jìn)行認(rèn)證時(shí)將用戶給出的認(rèn)證信息再次進(jìn)行哈希后,與服務(wù)器端的認(rèn)證信息進(jìn)行比較。有的方案通過“加鹽”等加密方式一定程度上可防御“撞庫”等攻擊手段,但并未解決一旦服務(wù)器端的哈希值被獲取就會造成泄密的弊端。
【發(fā)明內(nèi)容】
[0004]在下文中給出關(guān)于本發(fā)明的簡要概述,以便提供關(guān)于本發(fā)明的某些方面的基本理解。應(yīng)當(dāng)理解,這個(gè)概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細(xì)描述的前序。
[0005]本發(fā)明提供一種適用于分布式存儲的認(rèn)證系統(tǒng),用以將密鑰的特征分散在不同節(jié)點(diǎn)進(jìn)行存儲,避免少數(shù)節(jié)點(diǎn)上數(shù)據(jù)丟失導(dǎo)致泄密,充分發(fā)揮分布式存儲的優(yōu)勢,降低安全風(fēng)險(xiǎn)。
[0006]本發(fā)明提供一種適用于分布式存儲的認(rèn)證系統(tǒng),所述系統(tǒng)包括:
[0007]登陸模塊,用于發(fā)送注冊請求、登陸請求,用所持有的登陸密鑰對認(rèn)證模塊發(fā)送的認(rèn)證問題信息進(jìn)行計(jì)算,得到認(rèn)證計(jì)算結(jié)果。
[0008]注冊模塊,設(shè)置在注冊服務(wù)器中,用于接收登陸模塊的注冊請求、檢測用戶是否存在、將注冊密鑰生成分片信息并分布存儲在存儲模塊的存儲節(jié)點(diǎn)中;所述分片信息包括認(rèn)證問題信息和認(rèn)證答案信息。
[0009]認(rèn)證模塊,設(shè)置在認(rèn)證服務(wù)器中,用于接收登陸模塊的登陸請求,查找存儲與所述登陸請求相關(guān)的分片信息的存儲節(jié)點(diǎn)并獲取分片信息,向所述登陸模塊發(fā)送所獲取分片信息包含的認(rèn)證問題信息,接收所述登陸模塊所發(fā)送的認(rèn)證計(jì)算結(jié)果并與所獲取分片信息包含的認(rèn)證結(jié)果信息進(jìn)行對比,得到認(rèn)證結(jié)果,將所述認(rèn)證結(jié)果發(fā)送給所述登陸模塊。
[0010]存儲模塊,設(shè)置在對等網(wǎng)絡(luò)中,包括存儲節(jié)點(diǎn),用于將所述分片信息分布存儲至所述存儲節(jié)點(diǎn)中,并向認(rèn)證模塊返回分片信息。
[0011]本發(fā)明提供的適用于分布式存儲的認(rèn)證系統(tǒng)具有以下有益效果:本發(fā)明將密鑰生成的分片信息分布存放在不同節(jié)點(diǎn),避免了存儲在單一節(jié)點(diǎn)時(shí)被盜取存儲信息的高風(fēng)險(xiǎn)。本發(fā)明將認(rèn)證過程的計(jì)算分布在登陸模塊、注冊模塊/認(rèn)證模塊、存儲模塊中,注冊時(shí)注冊模塊發(fā)送至存儲模塊的各分片信息僅與密鑰各部分相關(guān),登陸時(shí)登陸模塊只需將用戶名發(fā)送至認(rèn)證模塊,各模塊間僅進(jìn)行最低限度的信息交流,有效地提高了系統(tǒng)的安全性。本發(fā)明的各分片信息僅使用部分密鑰特征生成,保護(hù)了多份分片信息間的獨(dú)立性,部分分片信息的丟失不影響其余分片信息進(jìn)行認(rèn)證,具備較強(qiáng)的容錯性,對于惡劣網(wǎng)絡(luò)環(huán)境有很強(qiáng)的適應(yīng)能力。本發(fā)明的分片方式和算法由用戶端的登陸模塊決定,降低了被逆向解析的風(fēng)險(xiǎn)。
【專利附圖】
【附圖說明】
[0012]參照下面結(jié)合附圖對本發(fā)明實(shí)施例的說明,會更加容易地理解本發(fā)明的以上和其它目的、特點(diǎn)和優(yōu)點(diǎn)。附圖中的部件只是為了示出本發(fā)明的原理。在附圖中,相同的或類似的技術(shù)特征或部件將采用相同或類似的附圖標(biāo)記來表示。
[0013]圖1為本發(fā)明的適用于分布式存儲的認(rèn)證系統(tǒng)一種實(shí)施方式的工作原理的流程圖;
[0014]圖2為本發(fā)明的適用于分布式存儲的認(rèn)證系統(tǒng)另一種實(shí)施方式的工作原理的流程圖;
[0015]圖3為本發(fā)明的適用于分布式存儲的認(rèn)證系統(tǒng)一種實(shí)施方式的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0016]下面參照附圖來說明本發(fā)明的實(shí)施例。在本發(fā)明的一個(gè)附圖或一種實(shí)施方式中描述的元素和特征可以與一個(gè)或更多個(gè)其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣飨嘟Y(jié)合。應(yīng)當(dāng)注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。
[0017]圖1為本發(fā)明的適用于分布式存儲的認(rèn)證系統(tǒng)一種實(shí)施方式的工作原理的流程圖。
[0018]如圖1所示,本實(shí)施方式中,適用于分布式存儲的認(rèn)證系統(tǒng)的工作原理流程包括:
[0019]SlO:登陸模塊向認(rèn)證模塊發(fā)送登陸請求。具體地,登陸模塊向認(rèn)證模塊發(fā)送了包含登錄用戶名的登陸請求。
[0020]S20:登陸模塊接收認(rèn)證模塊根據(jù)登陸請求查找存儲模塊中的存儲節(jié)點(diǎn)并從中獲取的分片信息中的認(rèn)證問題信息。具體地,登陸模塊向認(rèn)證模塊發(fā)送登陸請求后,認(rèn)證模塊根據(jù)所述登陸請求查找相關(guān)的存儲節(jié)點(diǎn),并向查找到的存儲節(jié)點(diǎn)請求分片信息。存儲節(jié)點(diǎn)接收到請求后向認(rèn)證模塊發(fā)送分片信息。分片信息中包含認(rèn)證問題信息QjP認(rèn)證答案信息A1登陸模塊接收認(rèn)證模塊所發(fā)送的從存儲節(jié)點(diǎn)所獲取的分片信息中包含的認(rèn)證問題信息
Q1
[0021]S30:登陸模塊用所持有的登陸密鑰對接收的認(rèn)證問題信息進(jìn)行計(jì)算,得到認(rèn)證計(jì)算結(jié)果,并發(fā)送至認(rèn)證模塊。具體地,登陸模塊結(jié)合所持有的登陸密鑰K’和所接收的認(rèn)證問題信息%進(jìn)行計(jì)算,得到認(rèn)證計(jì)算結(jié)果A/,將認(rèn)證計(jì)算結(jié)果A/發(fā)送至認(rèn)證模塊。
[0022]S40:登陸模塊接收認(rèn)證模塊發(fā)送的通過對認(rèn)證計(jì)算結(jié)果和獲取的分片信息中所包含的認(rèn)證答案信息進(jìn)行對比所得到的認(rèn)證結(jié)果。具體地,登陸模塊接收認(rèn)證模塊所發(fā)送的通過對接收的認(rèn)證計(jì)算結(jié)果A/與獲取的分片信息中的認(rèn)證結(jié)果信息化進(jìn)行對比所得到的認(rèn)證結(jié)果。
[0023]在一種優(yōu)選實(shí)施方式中,登陸模塊向注冊模塊發(fā)送注冊請求,所述注冊請求包含的注冊密鑰通過所述注冊模塊所進(jìn)行的計(jì)算生成分片信息,所述生成的分片信息分別存儲在所述存儲模塊的存儲節(jié)點(diǎn)中。具體地,所述注冊請求包括注冊用戶名和注冊密鑰,登陸模塊將注冊用戶名和注冊密鑰發(fā)送至注冊模塊請求注冊,注冊模塊檢驗(yàn)注冊用戶名是否被占用,若被占用則返回提示信息,若未被占用,則對所述注冊密鑰進(jìn)行計(jì)算,生成N個(gè)分片信息,并將所述分片信息分別存儲在存儲模塊的N個(gè)存儲節(jié)點(diǎn)中。分片信息數(shù)量N通常設(shè)置為8或16。在本實(shí)施方式中,N設(shè)置為8。所述分片信息包含認(rèn)證問題信息Qi (i = I,…8)和認(rèn)證答案信息Ai (i = 1,…8)。
[0024]本發(fā)明將密鑰生成的分片信息分布存放在不同節(jié)點(diǎn),避免了存儲在單一節(jié)點(diǎn)時(shí)被盜取存儲信息的高風(fēng)險(xiǎn)。
[0025]在一種優(yōu)選實(shí)施方式中,所述生成的分片信息包括第一認(rèn)證問題信息和第一認(rèn)證答案信息,所述第一認(rèn)證問題信息由所述注冊模塊通過第一隨機(jī)數(shù)和隨機(jī)鹽生成,所述第一認(rèn)證答案信息由所述注冊模塊通過加密算法對所述注冊密鑰、所述第一隨機(jī)數(shù)和所述隨機(jī)鹽進(jìn)行計(jì)算生成。具體地,注冊模塊通過第一隨機(jī)數(shù)Pi α = 1,…8)和隨機(jī)鹽Si α = I,…8)生成第一認(rèn)證問題信息QiQ = I, ---8) ,Qi= (P i, Si), (i = 1,…8)。登陸模塊通過加密算法對注冊密鑰、第一隨機(jī)數(shù)Pi (i = I,…8)和隨機(jī)鹽SiQ = I,…8)進(jìn)行計(jì)算生成第一認(rèn)證答案信息Ai (i = 1,…8)。
[0026]在一種優(yōu)選實(shí)施方式中,所述注冊密鑰通過擴(kuò)展算法擴(kuò)展為密鑰序列,所述密鑰序列中以所述第一隨機(jī)數(shù)為序號的值為認(rèn)證答案,所述第一認(rèn)證答案信息通過所述加密算法對所述認(rèn)證答案和所述隨機(jī)鹽進(jìn)行計(jì)算生成。具體地,注冊模塊通過擴(kuò)展算法E O將注冊密鑰K擴(kuò)展為密鑰序列E (K),取密鑰序列E (K)中以所述第一隨機(jī)數(shù)Pi (i = 1,…8)為序號的值為認(rèn)證答案Ki= E(K) [Pi], (i = I,…8),通過加密算法H O對所述認(rèn)證答案Ki (i=I,…8)和所述隨機(jī)鹽SiQ = I,…8)進(jìn)行計(jì)算生成所述第一認(rèn)證答案信息AiQ = I,…8) ο Ai= H(SilKi), (i = I,…8) ο
[0027]在一種優(yōu)選實(shí)施方式中,所述登陸模塊指定選擇所述注冊模塊所支持的所述擴(kuò)展算法種類和所述加密算法種類。具體地,登陸模塊指定選擇所述注冊模塊所支持的所述擴(kuò)展算法EO和加密算法HO。分片方式和算法由用戶端的登陸模塊決定,降低了被逆向解析的風(fēng)險(xiǎn),提高了安全性。
[0028]在一種優(yōu)選實(shí)施方式中,所述登陸模塊所接收的認(rèn)證問題信息為第二認(rèn)證問題信息,所述第二認(rèn)證問題信息由所述存儲節(jié)點(diǎn)在所存儲的分片信息中加入第二隨機(jī)數(shù),通過所述第二隨機(jī)數(shù)和所述第一認(rèn)證問題信息生成;與所述第二認(rèn)證問題信息相對應(yīng)的第二認(rèn)證答案信息由所述第二隨機(jī)數(shù)和所述第一認(rèn)證答案信息生成。具體地,存儲模塊在所存儲的分片信息中加入第二隨機(jī)數(shù)Ri α = 1,…8),通過第二隨機(jī)數(shù)Ri (i = 1,…8)和第一認(rèn)證問題信息QiQ = 1,…8)生成第二認(rèn)證問題信息qi (i = I, ---8), qi= (P i; Si, Ri), (i =1,-8);通過所述第二隨機(jī)數(shù)Ri (i = 1,…8)和所述第一認(rèn)證答案信息Ai (i = 1,-8)生成第二認(rèn)證答案信息ai (i = 1,…8),Bi= H(R i; Ai), (i = 1,...8)。所述登陸模塊接收第二認(rèn)證問題信息 Qi= (P i, Si, Ri),(i = 1,…8) ο
[0029]在一種優(yōu)選實(shí)施方式中,所述登陸模塊通過所述登陸密鑰、所述第一隨機(jī)數(shù)、所述隨機(jī)鹽、所述第二隨機(jī)數(shù)生成所述認(rèn)證計(jì)算結(jié)果。具體地,登陸模塊通過登陸密鑰K’、第一隨機(jī)數(shù)PiQ = I,…8)、隨機(jī)鹽SiQ = I,…8)、第二隨機(jī)數(shù)RiQ = I,…8)生成認(rèn)證計(jì)算結(jié)果a/ α = 1,...8)。通過擴(kuò)展算法EO將登陸密鑰K’擴(kuò)展為密鑰序列E (K’),K/ =E(K’ ) [Pi], (i = I,…8),Α/ = H(SilK/ ),(i = 1,.K = H(RilA/ ),(i = 1,…8)。
[0030]在一種優(yōu)選實(shí)施方式中,所述登陸模塊所接收的認(rèn)證結(jié)果由所述認(rèn)證模塊對所述認(rèn)證計(jì)算結(jié)果與所述第二認(rèn)證答案信息一一對比而得出;對比結(jié)果為相同的數(shù)量不小于系統(tǒng)預(yù)設(shè)常量值時(shí),認(rèn)證結(jié)果為通過;對比結(jié)果為相同的數(shù)量小于系統(tǒng)預(yù)設(shè)常量值時(shí),認(rèn)證結(jié)果為不通過。具體地,認(rèn)證模塊將認(rèn)證計(jì)算結(jié)果%’(i = 1,…8)與第二認(rèn)證答案信息aji=1,…8) —一對比,對比結(jié)果為相同的數(shù)量不小于系統(tǒng)預(yù)設(shè)常量值M時(shí),認(rèn)證結(jié)果為通過;對比結(jié)果為相同的數(shù)量小于系統(tǒng)預(yù)設(shè)常量值M時(shí),認(rèn)證結(jié)果為不通過。分片信息數(shù)量N通常設(shè)置為8或16,系統(tǒng)預(yù)設(shè)常量值M通常根據(jù)系統(tǒng)易受到的攻擊類型設(shè)置在1-4之間。在本實(shí)施方式中,M設(shè)置為2。本發(fā)明的各分片信息僅使用部分密鑰特征生成,保護(hù)了多份分片信息間的獨(dú)立性,部分分片信息的丟失不影響其余分片信息進(jìn)行認(rèn)證,在本實(shí)施方式中,只需有兩個(gè)分片信息所進(jìn)行的驗(yàn)證通過即可完成認(rèn)證,因而本發(fā)明具備較強(qiáng)的容錯性,對于惡劣網(wǎng)絡(luò)環(huán)境有很強(qiáng)的適應(yīng)能力。
[0031]在一種優(yōu)選實(shí)施方式中,所述登陸模塊向注冊模塊發(fā)送的注冊請求還包括注冊用戶名,所述注冊用戶名通過所述注冊模塊計(jì)算生成存儲地址,所述分片信息存儲在所述存儲地址在所述存儲模塊的分布式哈希表中所對應(yīng)的存儲節(jié)點(diǎn)中。具體地,存儲模塊通過分布式哈希表(DHT)管理所述存儲節(jié)點(diǎn),由注冊用戶名UID的高位與i進(jìn)行異或,生成第i片分片信息的存儲地址WDi,將第i片分片信息存儲于存儲地址WDi在分布式哈希表(DHT)中所對應(yīng)的存儲節(jié)點(diǎn)中。
[0032]在一種優(yōu)選實(shí)施方式中,所述登陸模塊向認(rèn)證模塊發(fā)送的登陸請求包括登陸用戶名,所述登陸用戶名通過所述認(rèn)證模塊計(jì)算生成查詢地址,所述登陸模塊所接收的認(rèn)證問題信息由所述認(rèn)證模塊從所述查詢地址在所述存儲模塊的分布式哈希表中所對應(yīng)的存儲節(jié)點(diǎn)中獲取。具體地,所述登陸請求僅包括登陸用戶名UID’,認(rèn)證模塊通過登陸用戶名UID?生成查詢地址nDi’,查找查詢地址UIDi’在分布式哈希表(DHT)中所對應(yīng)的存儲節(jié)點(diǎn),向所查找到的存儲節(jié)點(diǎn)獲取分片信息。登陸時(shí)登陸模塊只需將用戶名發(fā)送至認(rèn)證模塊,有效地提尚了安全性。
[0033]圖2為本發(fā)明的適用于分布式存儲的認(rèn)證系統(tǒng)另一種實(shí)施方式的工作原理的流程圖。
[0034]如圖2所示,本實(shí)施方式中,適用于分布式存儲的認(rèn)證系統(tǒng)另一種實(shí)施方式的工作原理流程包括:
[0035]S60:認(rèn)證模塊接收登陸模塊所發(fā)送的登陸請求。具體地,認(rèn)證模塊接收了登陸模塊所發(fā)送的包含登錄用戶名的登陸請求。
[0036]S70:認(rèn)證模塊根據(jù)登陸請求查找存儲模塊中的存儲節(jié)點(diǎn),并從中獲取分片信息,向登陸模塊發(fā)送分片信息中的認(rèn)證問題信息。具體地,認(rèn)證模塊接收登陸請求后,根據(jù)所述登陸請求查找相關(guān)的存儲節(jié)點(diǎn),并向查找到的存儲節(jié)點(diǎn)請求分片信息。存儲節(jié)點(diǎn)接收到請求后向認(rèn)證模塊發(fā)送分片信息。分片信息中包含認(rèn)證問題信息%和認(rèn)證答案信息A-認(rèn)證模塊向登陸模塊發(fā)送從存儲節(jié)點(diǎn)所獲取的分片信息中的認(rèn)證問題信息Qi。
[0037]S80:認(rèn)證模塊接收登陸模塊用所持有的登陸密鑰對認(rèn)證模塊發(fā)送的認(rèn)證問題信息進(jìn)行計(jì)算所得到的認(rèn)證計(jì)算結(jié)果。具體地,認(rèn)證模塊接收登陸模塊所發(fā)送的結(jié)合所持有的登陸密鑰K’和所接收的認(rèn)證問題信息Qi進(jìn)行計(jì)算所得到的認(rèn)證計(jì)算結(jié)果A /。
[0038]S90:認(rèn)證模塊對接收的認(rèn)證計(jì)算結(jié)果和獲取的分片信息中所包含的認(rèn)證答案信息進(jìn)行對比,得到認(rèn)證結(jié)果,并發(fā)送至登陸模塊。具體地,認(rèn)證模塊將接收的認(rèn)證計(jì)算結(jié)果A/與獲取的分片信息中的認(rèn)證結(jié)果信息^進(jìn)行對比,得到認(rèn)證結(jié)果,并發(fā)送至登陸模塊。
[0039]在一種優(yōu)選實(shí)施方式中,注冊模塊接收到所述登陸模塊發(fā)送的注冊請求,對所述注冊請求包含的注冊密鑰進(jìn)行計(jì)算生成分片信息,所述生成的分片信息分別存儲在所述存儲模塊的存儲節(jié)點(diǎn)中。具體地,所述注冊請求包括注冊用戶名和注冊密鑰,登陸模塊將注冊用戶名和注冊密鑰發(fā)送至注冊模塊請求注冊,注冊模塊檢驗(yàn)注冊用戶名是否被占用,若被占用則返回提示信息,若未被占用,則對所述注冊密鑰進(jìn)行計(jì)算,生成N個(gè)分片信息,并將所述分片信息分別存儲在存儲模塊的N個(gè)存儲節(jié)點(diǎn)中。分片信息數(shù)量N通常設(shè)置為8或16。在本實(shí)施方式中,N設(shè)置為16。所述分片信息包含認(rèn)證問題信息Qi (i = 1,-16)和認(rèn)證答案信息Ai (i = I,-16) ο
[0040]本發(fā)明將密鑰生成的分片信息分布存放在不同節(jié)點(diǎn),避免了存儲在單一節(jié)點(diǎn)時(shí)被盜取存儲信息的高風(fēng)險(xiǎn)。
[0041]在一種優(yōu)選實(shí)施方式中,所述生成的分片信息包括第一認(rèn)證問題信息和第一認(rèn)證答案信息,所述第一認(rèn)證問題信息由所述注冊模塊通過第一隨機(jī)數(shù)和隨機(jī)鹽生成,所述第一認(rèn)證答案信息由所述注冊模塊通過加密算法對所述注冊密鑰、所述第一隨機(jī)數(shù)和所述隨機(jī)鹽進(jìn)行計(jì)算生成。具體地,注冊模塊通過第一隨機(jī)數(shù)Piα = 1,-16)和隨機(jī)鹽Siα =I,...16)生成第一認(rèn)證問題信息 Qi (i = I,...16), Qi= (P ” Si),(i = 1,...16)。登陸模塊通過加密算法對注冊密鑰、第一隨機(jī)數(shù)Pi (i = I,…16)和隨機(jī)鹽SiQ = I,…16)進(jìn)行計(jì)算生成第一認(rèn)證答案信息Ai (i = I,...16) ο
[0042]在一種優(yōu)選實(shí)施方式中,所述注冊密鑰通過擴(kuò)展算法擴(kuò)展為密鑰序列,所述密鑰序列中以所述第一隨機(jī)數(shù)為序號的值為認(rèn)證答案,所述第一認(rèn)證答案信息通過所述加密算法對所述認(rèn)證答案和所述隨機(jī)鹽進(jìn)行計(jì)算生成。具體地,注冊模塊通過擴(kuò)展算法E O將注冊密鑰K擴(kuò)展為密鑰序列E (K),取密鑰序列E (K)中以所述第一隨機(jī)數(shù)Pi (i = I, -16)為序號的值為認(rèn)證答案Ki= E(K) [Pi], (i = 1,…16),通過加密算法HO對所述認(rèn)證答案KiQ = I,…16)和所述隨機(jī)鹽SiQ = I,…16)進(jìn)行計(jì)算生成所述第一認(rèn)證答案信息Ai (i=I,…16)。Ai= H(S i, Ki),(i = 1,…16)。
[0043]在一種優(yōu)選實(shí)施方式中,所述注冊模塊所使用的所述擴(kuò)展算法種類和所述加密算法種類由所述登陸模塊指定選擇。具體地,所述注冊模塊所使用的所述擴(kuò)展算法E O和加密算法HO由登陸模塊指定選擇。分片方式和算法由用戶端的登陸模塊決定,降低了被逆向解析的風(fēng)險(xiǎn),提高了安全性。
[0044]在一種優(yōu)選實(shí)施方式中,所述存儲節(jié)點(diǎn)在所存儲的分片信息中加入第二隨機(jī)數(shù),通過所述第二隨機(jī)數(shù)和所述第一認(rèn)證問題信息生成第二認(rèn)證問題信息,由所述第二隨機(jī)數(shù)和所述第一認(rèn)證答案信息生成第二認(rèn)證答案信息;所述認(rèn)證模塊從所述存儲節(jié)點(diǎn)獲取的分片信息包括所述第二認(rèn)證問題信息和所述第二認(rèn)證答案信息,所述認(rèn)證模塊向所述登陸模塊發(fā)送所述第二認(rèn)證問題信息。具體地,存儲模塊在所存儲的分片信息中加入第二隨機(jī)數(shù)Ri (i = I,...16),通過第二隨機(jī)數(shù)Ri (i = I,...16)和第一認(rèn)證問題信息Qi (i = I,...16)生成第二認(rèn)證問題信息qi (i = I,…16),qi= (P i; Si, Ri),(i = 1,…16);通過所述第二隨機(jī)數(shù)Ri α = I,...16)和所述第一認(rèn)證答案信息Ai α = I,...16)生成第二認(rèn)證答案信息a, α=Iruiehai=H(RpAi)Ji = 1,…16)。所述認(rèn)證模塊向所述登陸模塊發(fā)送第二認(rèn)證問題信息 Qi= (P i, Si, Ri),(i = 1,...16) O
[0045]在一種優(yōu)選實(shí)施方式中,所述認(rèn)證模塊所接收的認(rèn)證計(jì)算結(jié)果由所述登陸模塊通過所述登陸密鑰、所述第一隨機(jī)數(shù)、所述隨機(jī)鹽和所述第二隨機(jī)數(shù)計(jì)算生成。具體地,登陸模塊通過登陸密鑰K’、第一隨機(jī)數(shù)Pi (i = 1,…16)、隨機(jī)鹽Si (i = 1,…16)、第二隨機(jī)數(shù)Ri (i = 1,-16)生成認(rèn)證計(jì)算結(jié)果a/(i = 1,...16)。通過擴(kuò)展算法E O將登陸密鑰K’擴(kuò)展為密鑰序列 E(K,),K/ =E(K,) [Pi], (i = 1,...16),Α/ = H(SilKZ), (i = 1,…16),a/ = H (Ri, A/ ),(i = 1,…16)。認(rèn)證模塊接收登陸模塊所發(fā)送的認(rèn)證計(jì)算結(jié)果a/ (i =
I,…16) ο
[0046]在一種優(yōu)選實(shí)施方式中,所述認(rèn)證模塊對所述認(rèn)證計(jì)算結(jié)果與所述第二認(rèn)證答案信息一一對比得出認(rèn)證結(jié)果;對比結(jié)果為相同的數(shù)量不小于系統(tǒng)預(yù)設(shè)常量值時(shí),認(rèn)證結(jié)果為通過;對比結(jié)果為相同的數(shù)量小于系統(tǒng)預(yù)設(shè)常量值時(shí),認(rèn)證結(jié)果為不通過。具體地,認(rèn)證模塊將認(rèn)證計(jì)算結(jié)果a/ (i = I,...16)與第二認(rèn)證答案信息aji = I,…16)--對比,對比結(jié)果為相同的數(shù)量不小于系統(tǒng)預(yù)設(shè)常量值M時(shí),認(rèn)證結(jié)果為通過;對比結(jié)果為相同的數(shù)量小于系統(tǒng)預(yù)設(shè)常量值M時(shí),認(rèn)證結(jié)果為不通過。分片信息數(shù)量N通常設(shè)置為8或16,系統(tǒng)預(yù)設(shè)常量值M通常根據(jù)系統(tǒng)易受到的攻擊類型設(shè)置在1-4之間。在本實(shí)施方式中,M設(shè)置為4。本發(fā)明的各分片信息僅使用部分密鑰特征生成,保護(hù)了多份分片信息間的獨(dú)立性,部分分片信息的丟失不影響其余分片信息進(jìn)行認(rèn)證,在本實(shí)施方式中,只需有四個(gè)分片信息所進(jìn)行的驗(yàn)證通過即可完成認(rèn)證,因而本發(fā)明具備較強(qiáng)的容錯性,對于惡劣網(wǎng)絡(luò)環(huán)境有很強(qiáng)的適應(yīng)能力。
[0047]在一種優(yōu)選實(shí)施方式中,所述注冊模塊接收的注冊請求還包括注冊用戶名,所述注冊模塊對所述注冊用戶名進(jìn)行計(jì)算生成存儲地址,將所述分片信息存儲在所述存儲地址在所述存儲模塊的分布式哈希表中所對應(yīng)的存儲節(jié)點(diǎn)中;所述存儲模塊通過分布式哈希表管理存儲節(jié)點(diǎn)。具體地,存儲模塊通過分布式哈希表(DHT)管理所述存儲節(jié)點(diǎn),由注冊用戶名UID的高位與i進(jìn)行異或,生成第i片分片信息的存儲地址WDi,將第i片分片信息存儲于存儲地址WDi在分布式哈希表(DHT)中所對應(yīng)的存儲節(jié)點(diǎn)中。
[0048]在一種優(yōu)選實(shí)施方式中,所述認(rèn)證模塊接收的登陸請求包括登陸用戶名,所述認(rèn)證模塊對所述登陸用戶名進(jìn)行計(jì)算生成查詢地址,從所述查詢地址在所述存儲模塊的分布式哈希表中所對應(yīng)的存儲節(jié)點(diǎn)中獲取分片信息。具體地,所述登陸請求僅包括登陸用戶名UID?,認(rèn)證模塊通過登陸用戶名WD’生成查詢地址HDi ’,查找查詢地址UIDi ’在分布式哈希表(DHT)中所對應(yīng)的存儲節(jié)點(diǎn),向所查找到的存儲節(jié)點(diǎn)獲取分片信息。登陸時(shí)登陸模塊只需將用戶名發(fā)送至認(rèn)證模塊,有效地提高了安全性。
[0049]圖3為本發(fā)明的適用于分布式存儲的認(rèn)證系統(tǒng)一種實(shí)施方式的結(jié)構(gòu)示意圖。
[0050]如圖3所示,本實(shí)施方式中,適用于分布式存儲的認(rèn)證系統(tǒng)包括:認(rèn)證模塊10、注冊模塊20、認(rèn)證模塊30、存儲模塊40。
[0051]登陸模塊10,用于發(fā)送注冊請求、登陸請求,用所持有的登陸密鑰對認(rèn)證模塊30發(fā)送的認(rèn)證問題信息進(jìn)行計(jì)算,得到認(rèn)證計(jì)算結(jié)果。在本實(shí)施方式中,登陸模塊10設(shè)置在客戶端中。
[0052]注冊模塊20,設(shè)置在注冊服務(wù)器中,用于接收登陸模塊10的注冊請求、檢測用戶UID是否存在、將密鑰K生成分片信息并分布存儲在存儲模塊40的存儲節(jié)點(diǎn)中。所述分片信息包括認(rèn)證問題信息QjP認(rèn)證答案信息A -
[0053]認(rèn)證模塊30,設(shè)置在認(rèn)證服務(wù)器中,用于接收登陸模塊10的登陸請求,查找存儲與所述登陸請求相關(guān)的分片信息的存儲節(jié)點(diǎn)并獲取分片信息,向登陸模塊10發(fā)送所獲取的分片信息包含的認(rèn)證問題信息Qi,接收登陸模塊10所發(fā)送的認(rèn)證計(jì)算結(jié)果Ai,并與所獲取的分片信息包含的認(rèn)證結(jié)果信息化進(jìn)行對比,得到認(rèn)證結(jié)果,并將所述認(rèn)證結(jié)果發(fā)送給登陸模塊10。
[0054]存儲模塊40,設(shè)置在對等網(wǎng)絡(luò)中,用于存儲所述分片信息,并向認(rèn)證模塊30返回分片信息。
[0055]本發(fā)明將認(rèn)證過程的計(jì)算分布在登陸模塊、注冊模塊/認(rèn)證模塊、存儲模塊中,注冊時(shí)注冊模塊發(fā)送至存儲模塊的各分片信息僅與密鑰各部分相關(guān),各模塊間僅進(jìn)行最低限度的信息交流,有效地提高了系統(tǒng)的安全性。
[0056]在一種優(yōu)選實(shí)施方式中,所述登陸模塊按實(shí)際需求設(shè)置在認(rèn)證服務(wù)器中。
[0057]在一種優(yōu)選實(shí)施方式中,所述注冊服務(wù)器、所述認(rèn)證服務(wù)器是所述對等網(wǎng)絡(luò)中的節(jié)點(diǎn)。
[0058]在一種優(yōu)選實(shí)施方式中,存儲模塊40還用于對所述分片信息進(jìn)一步加密。具體地,存儲模塊40在所存儲的分片信息中加入第二隨機(jī)數(shù)民。
[0059]綜上所述,本發(fā)明充分利用了分布式存儲的優(yōu)點(diǎn),具備了較高的安全性和較強(qiáng)的容錯性。
[0060]最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述系統(tǒng)包括: 登陸模塊,用于發(fā)送注冊請求、登陸請求,用所持有的登陸密鑰對認(rèn)證模塊發(fā)送的認(rèn)證問題信息進(jìn)行計(jì)算,得到認(rèn)證計(jì)算結(jié)果; 注冊模塊,設(shè)置在注冊服務(wù)器中,用于接收登陸模塊的注冊請求、檢測用戶是否存在、將注冊密鑰生成分片信息并分布存儲在存儲模塊的存儲節(jié)點(diǎn)中;所述分片信息包括認(rèn)證問題信息和認(rèn)證答案信息; 認(rèn)證模塊,設(shè)置在認(rèn)證服務(wù)器中,用于接收登陸模塊的登陸請求,查找存儲與所述登陸請求相關(guān)的分片信息的存儲節(jié)點(diǎn)并獲取分片信息,向所述登陸模塊發(fā)送所獲取分片信息包含的認(rèn)證問題信息,接收所述登陸模塊所發(fā)送的認(rèn)證計(jì)算結(jié)果并與所獲取分片信息包含的認(rèn)證結(jié)果信息進(jìn)行對比,得到認(rèn)證結(jié)果,將所述認(rèn)證結(jié)果發(fā)送給所述登陸模塊; 存儲模塊,設(shè)置在對等網(wǎng)絡(luò)中,包括存儲節(jié)點(diǎn),用于將所述分片信息分布存儲至所述存儲節(jié)點(diǎn)中,并向認(rèn)證模塊返回分片信息。
2.根據(jù)權(quán)利要求1所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述注冊模塊通過第一隨機(jī)數(shù)和隨機(jī)鹽生成第一認(rèn)證問題信息,并通過加密算法對所述注冊密鑰、所述第一隨機(jī)數(shù)和所述隨機(jī)鹽進(jìn)行計(jì)算生成第一認(rèn)證答案信息。
3.根據(jù)權(quán)利要求2所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述注冊模塊通過擴(kuò)展算法將所述注冊密鑰擴(kuò)展為密鑰序列,取所述密鑰序列中以所述第一隨機(jī)數(shù)為序號的值為認(rèn)證答案,通過所述加密算法對所述認(rèn)證答案和所述隨機(jī)鹽進(jìn)行計(jì)算生成所述第一認(rèn)證答案信息。
4.根據(jù)權(quán)利要求3所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述登陸模塊指定選擇所述注冊模塊所支持的所述擴(kuò)展算法種類和所述加密算法種類。
5.根據(jù)權(quán)利要求3所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述存儲模塊在所存儲的分片信息中加入第二隨機(jī)數(shù),通過所述第二隨機(jī)數(shù)和所述第一認(rèn)證問題信息生成第二認(rèn)證問題信息,通過所述第二隨機(jī)數(shù)和所述第一認(rèn)證答案信息生成第二認(rèn)證答案信息;所述存儲模塊向登陸模塊返回的分片信息由所述第二認(rèn)證問題信息和所述第二認(rèn)證答案信息組成。
6.根據(jù)權(quán)利要求5所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述登陸模塊通過所述登陸密鑰、所述第一隨機(jī)數(shù)、所述隨機(jī)鹽、所述第二隨機(jī)數(shù)生成所述認(rèn)證計(jì)算結(jié)果。
7.根據(jù)權(quán)利要求6所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述認(rèn)證模塊對所述認(rèn)證計(jì)算結(jié)果與所述第二認(rèn)證答案信息一一對比得出所述認(rèn)證結(jié)果;對比結(jié)果為相同的數(shù)量不小于系統(tǒng)預(yù)設(shè)常量值時(shí),認(rèn)證結(jié)果為通過;對比結(jié)果為相同的數(shù)量小于系統(tǒng)預(yù)設(shè)常量值時(shí),認(rèn)證結(jié)果為不通過。
8.根據(jù)權(quán)利要求7所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述注冊密鑰計(jì)算生成的分片信息數(shù)量為8或16,所述系統(tǒng)預(yù)設(shè)常量值根據(jù)系統(tǒng)易受到的攻擊類型設(shè)置在1-4之間。
9.根據(jù)權(quán)利要求1至8中任意一項(xiàng)所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述注冊請求還包括注冊用戶名,所述注冊模塊通過對所述注冊用戶名進(jìn)行運(yùn)算生成存儲地址,所述分片信息存儲在所述存儲地址在所述存儲模塊的分布式哈希表中所對應(yīng)的存儲節(jié)點(diǎn)中。
10.根據(jù)權(quán)利要求9所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述登陸請求包括登陸用戶名,所述認(rèn)證模塊通過對所述登陸用戶名進(jìn)行運(yùn)算生成查詢地址,并向所述查詢地址在所述存儲模塊的分布式哈希表中所對應(yīng)的存儲節(jié)點(diǎn)中獲取分片信息。
11.根據(jù)權(quán)利要求1所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述登陸模塊設(shè)置在客戶端中或認(rèn)證服務(wù)器中。
12.根據(jù)權(quán)利要求1所述的適用于分布式存儲的認(rèn)證系統(tǒng),其特征在于,所述注冊服務(wù)器、所述認(rèn)證服務(wù)器是所述對等網(wǎng)絡(luò)中的節(jié)點(diǎn)。
【文檔編號】H04L29/08GK104468579SQ201410757486
【公開日】2015年3月25日 申請日期:2014年12月10日 優(yōu)先權(quán)日:2014年12月10日
【發(fā)明者】吳自立 申請人:北京眾享比特科技有限公司