一種n層CA結構的基于證書加密的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種n層CA結構的基于證書加密的方法及系統(tǒng),將分層的思想引入到基于證書密碼體制,所述方法包括生成系統(tǒng)參數(shù)、生成低層CA的公鑰和主密鑰、生成用戶的公鑰和私鑰、生成低層CA以及用戶的證書、對消息加密和恢復消息的步驟。本發(fā)明還提供了一種層次化CA結構的基于證書加密系統(tǒng),包括系統(tǒng)參數(shù)生成模塊、低層CA參數(shù)生成模塊、用戶密鑰生成模塊、證書生成模塊、加密模塊和解密模塊。本發(fā)明所述技術方案采用了層次化的CA樹完成對系統(tǒng)用戶的認證、證書的簽發(fā)以及撤銷等任務,不僅降低了每個CA的計算與通信的負擔,而且提高了系統(tǒng)效率以及抵抗拒絕服務攻擊的能力。
【專利說明】—種η層CA結構的基于證書加密的方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及信息安全中的數(shù)據(jù)加密【技術領域】,特別涉及一種η層CA結構的基于證書加密的方法及系統(tǒng)。
【背景技術】
[0002]在采用密碼技術保護的現(xiàn)代通信系統(tǒng)中,密碼算法通常是公開的,其安全性取決于對密鑰的保護,因此密鑰管理顯得尤其重要。在公鑰密碼體制中,用戶的公鑰可以公開傳播,這對公開網絡上的保密通信、密鑰分配、數(shù)字簽名和認證帶來了深遠影響。因此,自1976年由Diffie和Hellman提出以來,公鑰密碼體制便得到了廣泛的應用。公鑰基礎設施PKI是當前部署公鑰密碼系統(tǒng)的主要手段,也是當前計算機網絡安全建設的基礎和核心,它為電子商務、電子政務和移動商務等信息化建設提供了可靠的安全保障機制。然而,傳統(tǒng)的PKI技術存在著諸如難以解決第三方詢問、證書管理復雜等現(xiàn)實問題。
[0003]基于證書密碼體制是Gentry在2003年的歐洲密碼學會上所提出的一種支持公鑰密碼學應用的新典范。該體制介于傳統(tǒng)公鑰密碼體制和基于身份密碼體制之間,有效克服了這兩種公鑰密碼體制中固有的一些缺點和不足,能夠大大減少傳統(tǒng)PKI系統(tǒng)中公鑰證書的管理和維護所需的計算、通信和存儲代價,為構建安全、高效的PKI系統(tǒng)提供了有效的方法。與傳統(tǒng)公鑰密碼體制類似,基于證書密碼體制也采用數(shù)字證書來綁定用戶的身份與其公鑰的對應關系。但基于證書密碼體制提供了一種高效的隱證書機制,即用戶證書僅發(fā)送給證書持有人,并與其私鑰相結合產生最終的解密密鑰或簽名密鑰。與已有技術相比,基于證書密碼體制的優(yōu)勢在于不僅消除了傳統(tǒng)PKI系統(tǒng)中證書狀態(tài)的第三方查詢問題并簡化了復雜的證書管理過程,而且克服了基于身份密碼體制中固有的密鑰分發(fā)和密鑰托管問題。
[0004]然而,在已有的基于證書密碼方法中,僅由單一的證書授權中心CA完成對系統(tǒng)用戶的認證、證書的生成、分發(fā)以及撤消等任務,因此存在如下的一些不足:
[0005](I)難以滿足大規(guī)模網絡應用的需求。由于已有方法采用了集中式的工作方式,即僅有單一的CA完成對用戶的認證、證書的生成、分發(fā)及撤消等任務,因此CA的計算和通信代價比較大。特別地,當系統(tǒng)用戶的數(shù)量很大時,單一 CA的工作效率比較低,容易成為整個系統(tǒng)的瓶頸。
[0006](2)抵抗拒絕服務攻擊的能力低下。在開放網絡環(huán)境下,CA不可避免地會遭受惡意的攻擊,因此一旦唯一的CA遭受拒絕服務攻擊而無法正常工作,整個系統(tǒng)將陷于癱瘓狀態(tài)而無法持續(xù)工作。
【發(fā)明內容】
[0007]本發(fā)明所要解決的技術問題是針對現(xiàn)有基于證書加密方法中存在的不足,將分層的思想引入到基于證書密碼體制中,提供了一種基于η層CA結構的證書的加密方法及系統(tǒng)。
[0008]本發(fā)明為解決上述技術問題采用以下技術方案:
[0009]—種η層CA結構的基于證書加密的方法,所述η為大于等于2的整數(shù),包含以下步驟:
[0010]步驟Α),根CA根據(jù)安全參數(shù)生成其主密鑰和系統(tǒng)公開參數(shù)集;
[0011]步驟B),對于根CA以外的每一層CA,根據(jù)其身份信息和所述系統(tǒng)公開參數(shù)集,生成其主密鑰和公鑰;
[0012]步驟C),用戶根據(jù)所述系統(tǒng)公開參數(shù)集以及其身份信息,生成其私鑰和公鑰;
[0013]步驟D),根CA根據(jù)其主密鑰、系統(tǒng)公開參數(shù)集、以及第I層CA的身份信息和公鑰,生成第I層CA的證書;
[0014]從第I層CA到第η-2層CA,每一層CA依次根據(jù)其主密鑰和證書、系統(tǒng)公開參數(shù)集、以及下一層CA的身份信息和公鑰,生成下一層CA的證書;
[0015]第n-l層CA根據(jù)其主密鑰和證書、系統(tǒng)公開參數(shù)集、以及用戶的身份信息和公鑰,生成用戶的證書;
[0016]步驟E),發(fā)送者根據(jù)所述系統(tǒng)公開參數(shù)集、待加密的明文、接收者的所有上層CA的身份信息和公鑰以及接收者的身份信息和公鑰,生成密文;
[0017]步驟F),接收者根據(jù)所述系統(tǒng)公開參數(shù)集、待解密的密文以及接收者的私鑰和證書,恢復明文。
[0018]作為本發(fā)明一種η層CA結構的基于證書加密的方法進一步的優(yōu)化方案,所述步驟Α)的具體過程如下:
[0019]步驟Α.1),根CA根據(jù)設定的安全參數(shù)k e Z+,選擇一個k比特的大素數(shù)q,并生成一個q階加法循環(huán)群G1、一個q階乘法循環(huán)群G2以及定義在群G1和群G2上的雙線性對GiG1XG1 — G2 ;
[0020]其中,Z+是正整數(shù)集合,雙線性對e:G1XG1 — G2是群G1與自身的笛卡爾積G1XG1到群G2的映射;
[0021]步驟A.2),從加法循環(huán)群G1中選擇一個生成元P并在集合 < 中隨機選擇一個整數(shù) S0,計算 Ppub = S0P ;
[0022]其中,集合Z:—I};
[0023]步驟A.3),定義四個哈希函數(shù) H1: {0,IKXG1 — G1, H2:G2 — {O, I}1、//,:{(), 1}* H4I11Il1^ {0,1}1;
[0024]其中,H1是笛卡爾積{O, IKXG1到G1的密碼學哈希函數(shù),H2是G2到{O, 1}η的密碼學哈希函數(shù),H3是{0,1}*到Z:的密碼學哈希函數(shù),H4是笛卡爾積{0,1}1到{0,1}1的密碼學哈希函數(shù),非負整數(shù)I表示明文的比特長度,{0,1}*表示長度不確定的二進制串的集合,{O, I}1表示長度為I比特的二進制串的集合,{O, IKxg1表示{0,I}*和群G1的笛卡爾積;
[0025]步驟A.4),生成根CA的主密鑰msk_ = S0和系統(tǒng)公開參數(shù)集params = (G1, G2,e,Qj I,Pj PpubJ H” Hg,H3,H4} O
[0026]作為本發(fā)明一種η層CA結構的基于證書加密的方法進一步的優(yōu)化方案,所述步驟
B)的具體過程如下:
[0027]第i層的身份為IDi的低層CA,首先在集合中隨機選擇一個整數(shù)Si作為自己的主密鑰,即》WfclDf =Si ;然后計算并獲得自己的公鑰J^lDi =SfP,其中,I為除根CA之外的CA層,I≤i < η。
[0028]作為本發(fā)明一種η層CA結構的基于證書加密的方法進一步的優(yōu)化方案,所述步驟
C)的具體過程如下:
[0029]第η層的身份為IDn的用戶首先在集合^中隨機選擇一個整數(shù)χ作為自己的私鑰,即Sknii = X ;然后計算并獲得自己的公鑰|Λ/Αι = χΡ Β
[0030]作為本發(fā)明一種η層CA結構的基于證書加密的方法進一步的優(yōu)化方案,所述步驟
D)的具體過程如下:
[0031]根CA根據(jù)其主密鑰msk_t、系統(tǒng)公開參數(shù)集中的參數(shù)H1、以及第I層CA的身份信息 ID1 和公鑰 1--?.生成第 I 層 CA 的證書
【權利要求】
1.一種η層CA結構的基于證書加密的方法,所述η為大于等于2的整數(shù),其特征在于,包含以下步驟: 步驟Α),根CA根據(jù)安全參數(shù)生成其主密鑰和系統(tǒng)公開參數(shù)集; 步驟B),對于根CA以外的每一層CA,根據(jù)其身份信息和所述系統(tǒng)公開參數(shù)集,生成其主密鑰和公鑰; 步驟C),用戶根據(jù)所述系統(tǒng)公開參數(shù)集以及其身份信息,生成其私鑰和公鑰; 步驟D),根CA根據(jù)其主密鑰、系統(tǒng)公開參數(shù)集、以及第I層CA的身份信息和公鑰,生成第I層CA的證書; 從第I層CA到第η-2層CA,每一層CA依次根據(jù)其主密鑰和證書、系統(tǒng)公開參數(shù)集、以及下一層CA的身份信息和公鑰,生成下一層CA的證書; 第η-1層CA根據(jù)其主密鑰和證書、系統(tǒng)公開參數(shù)集、以及用戶的身份信息和公鑰,生成用戶的證書; 步驟Ε),發(fā)送者根據(jù)所述系統(tǒng)公開參數(shù)集、待加密的明文、接收者的所有上層CA的身份信息和公鑰以及接收者的身份信息和公鑰,生成密文; 步驟F),接收者根據(jù)所述系統(tǒng)公開參數(shù)集、待解密的密文以及接收者的私鑰和證書,恢復明文。
2.根據(jù)權利要求1所述的η層CA結構的基于證書加密的方法,其特征在于,所述步驟Α)的具體過程如下: 步驟Α.1),根CA根據(jù)設定的安全參數(shù)k e Z+,選擇一個k比特的大素數(shù)q,并生成一個q階加法循環(huán)群G1、一個q階乘法循環(huán)群G2以及定義在群G1和群G2上的雙線性對GiG1XG1 — G2 ; 其中,Z+是正整數(shù)集合,雙線性對^G1XG1 — G2是群G1與自身的笛卡爾積G1XG1到群G2的映射; 步驟A.2),從加法循環(huán)群G1中選擇一個生成元P并在集合< 中隨機選擇一個整數(shù)S(l,計算 Ppub = S0P ; 其中,集合*2^ _ {I,2,》.■,% 步驟 A.3),定義四個哈希函數(shù) H1: {O,IKXG1 — G1.H2:G2 — {O,I}1、/Z3:Rlf.H4: {O, I}1— {O, I}1 ; 其中,H1是笛卡爾積{Ο,?ΚΧΑ到G1的密碼學哈希函數(shù),H2是G2到{0,1}η的密碼學哈希函數(shù),H3是{0,1}*到< 的密碼學哈希函數(shù),H4是笛卡爾積{0,I}1到{0,I}1的密碼學哈希函數(shù),非負整數(shù)I表示明文的比特長度,{O, 1}*表示長度不確定的二進制串的集合,{O, 1}1表示長度為I比特的二進制串的集合,{O, IKxg1表示{O,1}*和群G1的笛卡爾積; 步驟Α.4),生成根CA的主密鑰mskroot = S0和系統(tǒng)公開參數(shù)集params = (G1, G2, e, q,I,P,Ppub.H1, H2, H3, H4I ο
3.根據(jù)權利要求2所述的η層CA結構的基于證書加密的方法,其特征在于,所述步驟B)的具體過程如下:第i層的身份為IDi的低層CA,首先在集合< 中隨機選擇一個整數(shù)Si作為自己的主密鑰,即=?;然后計算并獲得自己的公鑰=^p ,其中,i為除根CA之外的CA層,I < i < η。
4.根據(jù)權利要求3所述的η層CA結構的基于證書加密的方法,其特征在于,所述步驟C)的具體過程如下: 第η層的身份為IDn的用戶首先在集合< 中隨機選擇一個整數(shù)X作為自己的私鑰,即Sk^ = X ;然后計算并獲得自己的公鑰/= XP ?
5.根據(jù)權利要求4所述的η層CA結構的基于證書加密的方法,其特征在于,所述步驟D)的具體過程如下: 根CA根據(jù)其主密鑰Hiskrat、系統(tǒng)公開參數(shù)集中的參數(shù)氏、以及第I層CA的身份信息ID1和公鑰#//),,生成第 I 層 CA 的證書
當I≤a≤η-2時,第a層CA根據(jù)其主密鑰tlisk^和證書CQVtm、系統(tǒng)公開參數(shù)集中的參數(shù)故、以及下一層CA的身份信息IDa+1和公鑰!*/£>_ ?生成下一層CA的證書
第n-l層CA根據(jù)其主密鑰mskIDn {和證書Cerim“、系統(tǒng)公開參數(shù)集中的參數(shù)H1、以及用戶的身份信息IDn和公鑰Pkmii ,生成用戶的證書
6.根據(jù)權利要求5所述的η層CA結構的基于證書加密的方法,其特征在于,所述步驟Ε)的的具體過程如下: 步驟Ε.1),發(fā)送者確定需要給第η層的身份為IDn、公鑰為/^//Λ的用戶發(fā)送的明文M ; 步驟Ε.2),在集合{0,1}1中隨機選擇一個長度為I的比特串δ并計算r =Η3(δ,Μ,IDn, pkn); 步驟Ε.3),分別計算U = rP、
W =M ? IL(S),其中,IDi mkm,分別表示接收者的位于第i層的上層CA的身份和公
步驟E.4),將C = < U,V,W >作為明文M的密文發(fā)送給接收者。
7.根據(jù)權利要求6所述的η層CA結構的基于證書加密的方法,其特征在于,所述步驟F)的的具體過程如下: 步驟F.1),第η層身份為IDn、私鑰為Μ//)β且證書為certIDa的接收者接收密文C =< U, V, W > ; 步驟 F.2),計算 <r = F Φ UM.skm,", (IDn, pkηχ ) + Crrtin.U)),進而計算并獲得明文AT = ,ΦΙ/4((ν).步驟F.3)計算rf = /Z3 (夂M?IDn,pkID>),并判斷u = r' P是否成立:若成立,明文W有效;否則,密文無效,解密失敗。
8.—種η層CA結構的基于證書加密的系統(tǒng),其特征在于,包括: 系統(tǒng)參數(shù)生成模塊,用于根據(jù)輸入的安全參數(shù)生成根CA的主密鑰和系統(tǒng)公開參數(shù)集; 低層CA參數(shù)生成模塊,用于生成低層CA的主密鑰和公鑰; 用戶密鑰生成模塊,用于根據(jù)系統(tǒng)參數(shù)生成模塊生成的系統(tǒng)公開參數(shù)集以及用戶的身份信息,生成用戶的私鑰和公鑰; 證書生成模塊,用于生成除根CA以外的低層CA以及用戶的證書; 加密模塊,用于根據(jù)系統(tǒng)參數(shù)生成模塊生成的公開參數(shù)集、低層CA參數(shù)生成模塊生成的低層CA的公鑰、待加密的明文、接收者的身份信息以及用戶密鑰生成模塊生成的接收者的公鑰,生成明文的原始密文; 解密模塊,用于根據(jù)系統(tǒng)參數(shù)生成模塊生成的公開參數(shù)集、加密模塊生成的密文、用戶密鑰生成模塊生成的接收者的私鑰、以及證書生成模塊生成的接收者的證書將接收到的密文恢復成明文。
9.根據(jù)權利要求8所述的η層CA結構基于證書加密的系統(tǒng),其特征在于,所述解密模塊具體包括密文解密單元和密文有效性驗證單元;其中: 所述密文解密單元用于解密者對密文進行解密,恢復明文; 所述密文有效性驗證單元用于解密者對密文的有效性進行驗證,進而判斷密文解密單元輸出的明文是否有效。
【文檔編號】H04L9/32GK104168113SQ201410387721
【公開日】2014年11月26日 申請日期:2014年8月7日 優(yōu)先權日:2014年8月7日
【發(fā)明者】陸陽, 張全領, 李繼國 申請人:河海大學