一種無證書廣義代理簽密方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息安全技術(shù)領(lǐng)域,具體設(shè)及一種無證書廣義代理簽密方法。
【背景技術(shù)】
[0002] 在傳統(tǒng)的公鑰密碼體制中,公鑰是一堆亂碼,所W需要一個可信第S方--認(rèn)證中 屯、(CertificateAuthority,W下簡稱CA)頒發(fā)一個證書來把用戶的公鑰與其身份信息進 行綁定。而證書的管理費用高昂,該阻礙了傳統(tǒng)公鑰密碼體制的廣泛使用。
[0003] 基于身份的密碼體制可W降低高昂的證書管理費用,它是化amir于1984年在 CRYPTO'84中提出的概念?;谏矸莸拿艽a體制是先確定用戶的公鑰,再計算相應(yīng)的私鑰。 因而公鑰可W取為用戶的身份信息,從而省去了公鑰證書,降低了公鑰管理的費用。但基于 身份的密碼體制的私鑰必須由可信第S方一私鑰生成中屯、(PrivateIfeyGenerator,W下 簡稱PKG)產(chǎn)生,不可避免地引起密鑰托管問題,即PKG知道所有用戶的私鑰。
[0004] 無證書密碼體制既可降低公鑰的管理費用又可解決密鑰托管問題,它是 Al-Riyami和化terson于2003年在ASIACRYPT' 2003中提出的概念。無證書密碼體制的 私鑰由兩部分組成。一部分是密鑰生成中屯、化巧GenerationCenter,W下簡稱KGC)生成 的部分私鑰;另一部分是用戶自己選取的一個秘密值。公鑰也由兩部分組成。一部分是用 戶的身份信息;另一部分是秘密值對應(yīng)的公鑰。由于KGC不知道用戶的完整私鑰,因而解決 了密鑰托管問題。并且用戶的公鑰不需要證書,因而降低了公鑰的管理費用。
[0005] 保密性和認(rèn)證性是信息安全領(lǐng)域里兩個基本的安全需求。保密性可W通過加密技 術(shù)來實現(xiàn);而認(rèn)證性可W通過數(shù)字簽名來實現(xiàn)。當(dāng)我們同時需要保密性和認(rèn)證性時,傳統(tǒng) 做法是"先簽名再加密"。簽密可W實現(xiàn)在一個邏輯步驟內(nèi)同時實現(xiàn)加密和簽名兩項功能, 而且其計算代價和通信成本比傳統(tǒng)的"先簽名再加密"的兩步實現(xiàn)要小得多,它是化eng于 1997年在CRYPTO' 97中提出的概念。
[0006] 在同時需要機密性和認(rèn)證性的場合,簽密確實十分高效。但當(dāng)系統(tǒng)只需要機密性 或認(rèn)證性時,簽密將不再適合。于是系統(tǒng)必須使用另外的加密算法或數(shù)字簽名算法才能滿 足要求,該勢必將會增加系統(tǒng)的開銷和實現(xiàn)復(fù)雜性。為克服該種不足,韓益亮等人于2006 年提出了廣義簽密的概念。廣義簽密可W只用一個算法和一對密鑰同時實現(xiàn)或加密、或簽 名和或簽密S項功能。
[0007] 代理簽名可W讓一個原始簽名人在自己不方便的時候,委托一個可信任的代理簽 名人代替自己簽名,它是Mamk)等人于1996年提出的概念。自該概念提出后,代理簽名得 到了廣泛的應(yīng)用。1999年,Gamage等人將代理簽名的概念和簽密的概念相結(jié)合,提出了代 理簽密的概念。
[0008] 在現(xiàn)有的實現(xiàn)中,代理簽名和代理簽密是分開的。如果某人有時想使用代理簽名 功能,另外一些時候又想使用代理簽密功能,則他必須保存兩對密鑰和使用兩個算法。代理 簽名用一個算法和一對密鑰;代理簽密使用另外一個算法和另外一對密鑰。該樣勢必要增 加系統(tǒng)存儲密鑰的空間、管理密鑰的成本、驗證密鑰的時間和實現(xiàn)兩個算法給系統(tǒng)帶來的 實現(xiàn)復(fù)雜性。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺陷,借鑒廣義簽密的概念,結(jié)合無證書 密碼體制的優(yōu)越性,提供一種只需使用一個算法和一對密鑰就可實現(xiàn)代理簽名和代理簽密 兩項功能的一種無證書代理簽密方法,我們稱其為廣義代理簽密方法。
[0010] 本發(fā)明通過W下技術(shù)方案來實現(xiàn):
[0011] 一種無證書廣義代理簽密方法,代理人只需使用一對密鑰和一個算法就可實現(xiàn)代 理簽名和代理簽密兩項功能,原始簽名或簽密人授權(quán)一個他信任的代理簽名或簽密人代表 他進行簽名或簽密;對于敏感數(shù)據(jù),代理人可W使用代理簽密方法;對于其它信息,他可W 使用代理簽名方法;包括W下具體步驟:
[0012] 步驟1、系統(tǒng)初始化;設(shè)定系統(tǒng)參數(shù),用于生成用戶的私鑰和公鑰、代理授權(quán)生成、 廣義代理簽密和廣義代理解簽密。
[001引步驟2、部分私鑰生成:用戶提交自己的身份信息1町給密鑰生成中屯、KGC,KGC根 據(jù)系統(tǒng)參數(shù)和用戶身份信息1町生成用戶的部分私鑰Di并秘密地發(fā)送給用戶。
[0014]步驟3、用戶密鑰生成:用戶基于系統(tǒng)參數(shù)隨機生成一個秘密值Xi,計算相應(yīng)于該 秘密值的公鑰并設(shè)置自己的完整私鑰;
[0015] 步驟4、代理授權(quán)生成:原始簽名或簽密人產(chǎn)生一個授權(quán)證書m,,然后根據(jù)系統(tǒng)參 數(shù)、自己的完整私鑰、自己的身份與公鑰對授權(quán)證書進行簽名產(chǎn)生代理授權(quán)0并公開發(fā)送 曰給代理簽名或簽密人。代理簽名或簽密人根據(jù)系統(tǒng)參數(shù)、原始簽名或簽密人的身份與公 鑰和111,對0進行驗證,驗證通過后接受代理授權(quán)0,否則要求原始簽名或簽密人重新生成 代理授權(quán)0。
[0016] 步驟5、廣義代理簽密:代理簽名或簽密人根據(jù)系統(tǒng)參數(shù)、自己的完整私鑰、代理 授權(quán)0、授權(quán)證書m,、消息M、自己的身份與公鑰和接收人的身份與公鑰生成廣義代理簽密 文Op。該步驟包括兩種模式:代理簽名模式和代理簽密模式。如果接收人身份為空則它工 作于代理簽名模式;如果接收人身份不空則它工作于代理簽密模式。
[0017] 步驟6、廣義代理解簽密;該步驟也包括兩種模式:代理簽名驗證模式和代理解簽 密模式。如果接收人的身份為空,則它工作于代理簽名驗證模式,任何人都可W根據(jù)系統(tǒng)參 數(shù),原始簽名或簽密人的身份與公鑰、代理簽名或簽密人的身份與公鑰和授權(quán)證書nv驗證 代理簽名Op的正確性,如果驗證通過則接受該代理簽名0P,否則拒絕;如果接收人的身份 不空,則它工作于代理解簽密模式,接收人可W根據(jù)系統(tǒng)參數(shù),原始簽名或簽密人的身份與 公鑰、代理簽名或簽密人的身份與公鑰、自己的身份與公鑰和授權(quán)證書nv驗證代理簽密文 Op的正確性,如果驗證通過則接受該代理簽密文0P,然后再使用自己的完整私鑰解密出 消息M,否則拒絕。
[0018] 作為本發(fā)明的優(yōu)選,進一步地,所述步驟1的系統(tǒng)參數(shù)設(shè)置具體為:所述步驟1的 系統(tǒng)參數(shù)設(shè)置具體為:
[0019] 安全參數(shù)k為正整數(shù);一個循環(huán)加法群Gi和一個循環(huán)乘法群G2,兩個群的階都為 素數(shù)q;-個隨機的Gi的生成元P; -個雙線性映射e:GiXGi-G2;四個安全的散列函數(shù) //|:腫11 一G'l, 一和巧4:化i}*^{〇,ir,其中{(ur表示任意比特長的二進制 序列組成的集合,Gi>表示去掉單位元所得的加法群,Z。'是由所有大于等于1且小于q的正 整數(shù)組成的有限域,{〇,1}-表示比特長為m的二進制序列組成的集合,m為預(yù)設(shè)參數(shù),表示 消息的比特長度;一個特殊函數(shù)f(ID),其中IDG{〇,ir為用戶身份;如果身份為空,令 f(ID) = 0,否則令f(ID) = 1 ;-個隨機數(shù)sez;作為主私鑰,計算Ppub=sP作為主公鑰;公 開系統(tǒng)參數(shù)為{6,61,62乂口。。6,111,也&,&,11^師)},保密主密鑰8;
[0020] 所述步驟2部分私鑰生成具體包括:
[0021] 密鑰生成中屯、計算用戶的部分私鑰Di=sQi,其中Qi=Hi(IDi);則身份為IDa的 原始簽名或簽密人的部分私鑰為Da,身份為IDp的代理簽名或簽密人的部分私鑰為DP,身份 為IDb的接收人的部分私鑰為DB;
[0022] 所述步驟3用戶密鑰生成具體包括:
[0023] 用戶隨機選取秘密值、',eZ;,計算公鑰PKi=XiP,并設(shè)置完整私鑰為SKi=值。Xi); 則身份為IDa的原始簽名或簽密人的秘密值為XA,公鑰為PKa,完整私鑰為SKa=值A(chǔ),Xa);身 份為IDp的代理簽名或簽密人的秘密值為XP,公鑰為PKp,完整私鑰為SKp=(DP,Xp);身份為 IDb的接收人的秘密值為XB,公鑰為PKb,完整私鑰為SKb=值B,Xb);
[0024] 所述步驟4代理授權(quán)生成具體包括:
[00幼原始簽名或簽密人A隨機選取kZ;,計算U=rP,h2=H2(n\,U,IDa,PKa),h3= & (m,,U,IDa,PKa),V= (r+hsXA)Qa+IisDa,其中m,為所述原始簽名或簽密人給代理簽名或簽密 人的授權(quán)證書,m,中明確說明原始簽名或簽密人和代理簽名