專利名稱:一種多重組合密鑰的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)信息安全領(lǐng)域,涉及一種密鑰組合方法,應(yīng)用在組合公鑰體制 (CPK)下,使得用戶的私鑰得到有效保護(hù)。
背景技術(shù):
公開密鑰基礎(chǔ)設(shè)施(PKI)作為當(dāng)今密碼學(xué)應(yīng)用最偉大的工程,已經(jīng)深入到網(wǎng)絡(luò)世界的各個方面。PKI是指用公開密鑰的概念和技術(shù)來實施和提供安全服務(wù)的具有普適性的安全基礎(chǔ)設(shè)施。任何以公鑰技術(shù)為基礎(chǔ)的安全基礎(chǔ)設(shè)施都是H(I。公鑰技術(shù)的核心是非對稱加密算法,常見的有RSA和ECC算法。其中ECC算法中的密鑰具有可以復(fù)合的特性,利用這個特性在I3KI的基礎(chǔ)上又引申出了組合公鑰體制(ΡΚ體制。CPK體制實現(xiàn)了基于標(biāo)識(比如用戶ID)的身份驗證、數(shù)字簽名和密鑰交換,解決了很多過去無法解決的技術(shù)難題。CPK算法以很小的因素,生產(chǎn)出近乎無限的密鑰,通過“映射算法”建立標(biāo)識和密鑰對應(yīng),從而將龐大數(shù)據(jù)庫簡化為微小密鑰生成矩陣。CPK作為一種公鑰密碼體制,它的算法(包括密鑰組合算法和映射算法)以及公鑰矩陣是對公眾開放的, 私鑰和私鑰矩陣是保密的。私鑰由用戶保管,私鑰矩陣由密鑰管理中心控制。用戶的私鑰由密鑰管理中心通過標(biāo)識映射算法和私鑰矩陣生成。CPK體制在規(guī)模性、經(jīng)濟(jì)性、可行性、運行效率上具有優(yōu)勢CPK不需要數(shù)據(jù)庫的在線支持,驗證端可用一個芯片實現(xiàn);再之,在PKI中,必須依賴第三方才能完成驗證和驗簽, 而era可以不用;CPK只需要取得對方標(biāo)識,僅幾十個字節(jié),就可解出對方公鑰,大大節(jié)約傳遞證書的開銷。雖然CPK可信認(rèn)證系統(tǒng)存在巨大的優(yōu)越性,然而CPK體制本身不能抵御大量用戶共謀攻擊。對于m*m的CPK組合矩陣,攻擊者只要收集到m*(m-l)數(shù)量的用戶私鑰,就可以求解出整個私鑰因子矩陣,從而破解整個系統(tǒng)。CPK的關(guān)鍵是私鑰因子矩陣,很容易受到來自外部和內(nèi)部的各種攻擊。此外,CPK的密鑰與標(biāo)識ID直接相關(guān),一旦密鑰丟失需要更新,用戶的ID也要隨之改變,不利于許多場合的應(yīng)用。比如,人們的身份ID不應(yīng)隨密鑰或證書的更新而改變。因此,如何解決私鑰保護(hù)和更新問題,已成為CPK認(rèn)證體制中亟待解決的重大問題。
發(fā)明內(nèi)容
本發(fā)明的目的是為了增強(qiáng)CPK認(rèn)證體制的安全性,提出一種多重組合密鑰的方法,有效地抵御用戶共謀攻擊,同時還能有利于密鑰管理中心(KMC)的管理以及密鑰的更新。本發(fā)明的技術(shù)方案是1、制定用戶ID的產(chǎn)生規(guī)則,將ID平均分組,并使得每組子ID的取值不超過密鑰組合矩陣的秩m*(m-l)。
2、分別產(chǎn)生每組的公鑰矩陣和私鑰矩陣形成序列,其中公鑰矩陣序列對外公布, 而私鑰矩陣序列則按照“密鑰分割”的要求,由KMC異地分別存儲。3、用戶私鑰的產(chǎn)生證書中心按照上述規(guī)則為用戶產(chǎn)生一個ID的同時利用私鑰矩陣序列生成用戶的私鑰,其步驟是首先按照CPK組合公鑰體制的方法復(fù)合出每個ID分組的子私鑰,然后將所得全部子私鑰進(jìn)一步復(fù)合則得到用戶私鑰。4、用戶公鑰的導(dǎo)出當(dāng)依賴方(驗證方)接收到用戶ID時,利用事先公布的公鑰矩陣序列可以導(dǎo)出用戶公鑰,其步驟與私鑰的產(chǎn)生完全一致。5、分別獨立產(chǎn)生每組的公、私鑰矩陣的多個副本,并定期更換,在用戶ID后增設(shè)若干位“版本號”,根據(jù)版本號的排列規(guī)則找到相應(yīng)的公、私鑰矩陣來產(chǎn)生私鑰,導(dǎo)出公鑰。本發(fā)明的優(yōu)點是1、因為每組子ID取值不超過其密鑰矩陣的秩,所以無法獲得足夠多的私鑰數(shù)量來破解私鑰矩陣,根本上避免了共謀攻擊;2、用戶私鑰的產(chǎn)生是由多個私鑰矩陣即私鑰矩陣序列決定的,將序列中的各個私鑰矩陣分別異地存儲,自然實現(xiàn)了密鑰分割,利于密鑰管理中心抵御外部攻擊和內(nèi)部人員作案;3、通過設(shè)置ID證書的版本號,使得用戶ID不會隨著更新密鑰而改變,有利于ID 證書的掛失、吊銷和更新。
具體實施例方式1、選擇12位十進(jìn)制數(shù)字作為用戶的ID,可以分為4組,每組3個數(shù)字,條件是該3 個數(shù)字不能完全相同,有990種取法。而全部ID的取值空間為990~4,約等于1萬億種。2、相應(yīng)地,每組取32*32的公、私鑰矩陣,其秩為32*31 = 992,大于990,符合無法破解條件。公、私鑰矩陣相同位置的數(shù)值,對應(yīng)著給定橢圓曲線(ECC)上的一組離散對數(shù), 即公私鑰對。每組生成的密鑰矩陣之間無關(guān)聯(lián),共4組,分別給出序列編號I、II、III、IV。 其中公鑰矩陣序列對外公布,而私鑰矩陣序列可按照“4選3”的密鑰分割方式,即矩陣I與 II、II與III、III與IV、IV與I分別兩兩組合,異地存儲于4個安全地點。3、私鑰的產(chǎn)生對一組子ID做SHA-I散列運算,得到160位的散列值,5位為一組, 共得到32組5位(bit)數(shù)字,因此組號可表示成0-31號,每組之中的數(shù)值也可表示成0-31 的十進(jìn)制數(shù)值(二進(jìn)制的00000-11111)。以組號代表矩陣行號,數(shù)值代表列號,映射到私鑰矩陣,找到32個子私鑰,通過密鑰復(fù)合計算,得到子ID的分組子私鑰。對4個ID分組分別做上述運算,得到組密鑰,見下式矩陣I 的私鑰之和巧=(γ!+^+—+r32)mod η,矩陣II的私鑰之和:rn =(巧+巧+…+r32)mod η,矩陣III 的私鑰之和:rm = (γ!+^+—+r32)mod η,矩陣IV 的私鑰之和:rIV = (γ!+^+—+r32)mod η,然后,再對4組密鑰做第二次復(fù)合計算最終的密鑰r = (rI+rII+rIII+rIV)mod η。4、用戶公鑰的導(dǎo)出與私鑰產(chǎn)生過程完全一致,所不同的是使用的映射矩陣不同。 產(chǎn)生私鑰用私鑰矩陣,導(dǎo)出公鑰用公鑰矩陣。
5、首先為分組的公、私鑰矩陣分別建立副本,副本的數(shù)量根據(jù)ID證書更新的頻率決定;然后,為ID證書設(shè)置版本號,比如6位數(shù)字,前四位代表發(fā)證年月,后兩位代表更新版本;最后制定一個規(guī)則,可以根據(jù)不同的版本號來選擇不同的公、私鑰矩陣副本來產(chǎn)生私鑰或?qū)С龉€。
權(quán)利要求
1.一種基于CPK認(rèn)證體制的多重組合密鑰的方法,其特征在于將用戶的ID分組,同時生成每組ID的密鑰矩陣,制定規(guī)則使每組ID的取值范圍小于組合密鑰映射矩陣的秩,導(dǎo)出用戶的公、私鑰時,首先按照分組的密鑰矩陣復(fù)合出分組密鑰,多組分組密鑰再次復(fù)合得到用戶的密鑰。
2.根據(jù)權(quán)利要求1所述一種基于CPK認(rèn)證體制的多重組合密鑰的方法,其特征在于 產(chǎn)生每組ID的密鑰矩陣的多個副本,并定期更換,在用戶ID后增設(shè)若干位版本號,根據(jù)版本號的排列規(guī)則找到相應(yīng)的密鑰矩陣來產(chǎn)生用戶私鑰,導(dǎo)出用戶公鑰。
全文摘要
本發(fā)明屬于網(wǎng)絡(luò)信息安全領(lǐng)域,本發(fā)明公開了一種基于CPK認(rèn)證體制的多重組合密鑰的方法通過將用戶的ID分組,同時生成每組ID的密鑰矩陣,制定規(guī)則使每組ID的取值范圍小于組合密鑰映射矩陣的秩,從而避免共謀破解的風(fēng)險,同時多組ID的組密鑰再次復(fù)合得到用戶的密鑰,使得可用的密鑰空間達(dá)到足夠的數(shù)量;按照密鑰分割的原理,組合并存儲分組ID的私鑰矩陣,從而抵御來自外部和內(nèi)部對私鑰矩陣的攻擊;增設(shè)ID的版本號,便于在不改變用戶ID的前提下更新ID證書及密鑰。
文檔編號H04L9/08GK102299794SQ20101021081
公開日2011年12月28日 申請日期2010年6月28日 優(yōu)先權(quán)日2010年6月28日
發(fā)明者段再超, 石豐 申請人:北京環(huán)球聚浪網(wǎng)絡(luò)科技有限公司