基于層次身份基的認(rèn)證密鑰協(xié)商方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明基于層次身份基密碼體制,是一種高效的層次身份基認(rèn)證密鑰協(xié)商協(xié)議, 屬于信息安全領(lǐng)域。
【背景技術(shù)】
[0002] 在傳統(tǒng)的公鑰基礎(chǔ)設(shè)施(PKI,PublicIfeyIn化astruc化re)中,需要證書(shū)來(lái)保證 體系的安全性,本質(zhì)上是用具有權(quán)威性、公正性的第=方可信任機(jī)構(gòu)為用戶(hù)簽名。該種管 理體制設(shè)及到很多證書(shū)管理的問(wèn)題:包括生成、簽發(fā)、備份、撤銷(xiāo)等,占用了大量系統(tǒng)相關(guān)資 源。為了簡(jiǎn)化傳統(tǒng)公鑰基礎(chǔ)設(shè)施對(duì)證書(shū)的管理過(guò)程,化amir在1984年提出了一種身份基 密碼機(jī)制(IBC,IdentityBased化yptosystem)。該體制不使用任何證書(shū),直接將用戶(hù)的 身份作為公鑰,私鑰由可信的私鑰生成中屯、PKG(PublicIfeyGenerator)生成。不過(guò),直到 2001年,Boneh和化anklin才設(shè)計(jì)出第一個(gè)真正實(shí)用的基于Weil配對(duì)的身份基加密算法 (IBE,IdentityBasedEncryption)〇
[000引然而在IBE體制中需要共享同一個(gè)PKG,該在大型系統(tǒng)中顯然是不適用的。因?yàn)镻KG不僅需要驗(yàn)證用戶(hù)身份及為用戶(hù)生成私鑰,還要維護(hù)安全信道把私鑰安全的發(fā)送給用 戶(hù),同時(shí)PKG還要負(fù)責(zé)用戶(hù)私鑰的更新,撤銷(xiāo)等工作,單一PKG將不能承擔(dān)起大型系統(tǒng)繁重 的工作。該成為身份基密碼體制應(yīng)用的瓶頸。2002年,密碼學(xué)家Gentar和Silverberg在總 結(jié)前人工作的基礎(chǔ)上,第一次提出了層次身份基密碼算法化IBC,化erarchical Identity Based Cryptography)。該體制中包含一個(gè)根PKG及多層的域PKG,根PKG對(duì)域PKG進(jìn)行驗(yàn) 證并為其生成私鑰,上層域PKG驗(yàn)證下層域PKG并生成私鑰,直至用戶(hù)的上一層域。層次身 份基密碼算法的提出,有效的解決了身份基密碼體制的應(yīng)用瓶頸問(wèn)題。
[0004] 密鑰協(xié)商協(xié)議在安全通信中有至關(guān)重要的作用,它允許兩個(gè)實(shí)體在開(kāi)放信道上協(xié) 商安全的會(huì)話(huà)密鑰,W保證雙方通信的安全?;谏矸莼艽a體制,學(xué)者們提出了大量的身 份基認(rèn)證密鑰協(xié)商協(xié)議。然而,大多數(shù)身份基認(rèn)證密鑰協(xié)商協(xié)議都是在單一PKG環(huán)境下提 出的。在實(shí)際應(yīng)用中,身份基體制的瓶頸問(wèn)題在該類(lèi)協(xié)議中仍然存在,而且不同領(lǐng)域相對(duì)獨(dú) 立,不可能共享同一PKG。為了提高身份基密鑰協(xié)商協(xié)議的適用范圍,學(xué)者們基于層次身份 基密碼體制提出了層次身份基認(rèn)證密鑰協(xié)商協(xié)議。
[0005] 現(xiàn)有的身份基密碼體制多是基于楠圓曲線雙線性對(duì)運(yùn)算的,基于該類(lèi)密碼體制的 密鑰協(xié)商協(xié)議自然不能避免雙線性對(duì)運(yùn)算,而楠圓曲線上的雙線性對(duì)運(yùn)算耗時(shí)大約是點(diǎn)乘 運(yùn)算的20倍,因此效率較低。針對(duì)該一問(wèn)題,有學(xué)者提出了無(wú)雙線性對(duì)運(yùn)算的身份基密鑰 協(xié)商協(xié)議,不過(guò)該類(lèi)協(xié)議都是在單一PKG環(huán)境下提出的。
[0006] 楠圓曲線密碼巧CC,Ellipticcurvecryptography)在身份基密碼體制中運(yùn)用最 為廣泛,其主要優(yōu)勢(shì)是在相同的安全水平下,與其他公鑰密碼體制相比,系統(tǒng)參數(shù)更短。在 不使用雙線性對(duì)運(yùn)算的密鑰協(xié)商協(xié)議中,協(xié)議的安全性一是基于楠圓曲線離散對(duì)數(shù)困難假 設(shè),即G為楠圓曲線構(gòu)成的q階循環(huán)加法群,給定兩個(gè)元素P,aPGG,其中a£ 由P,a計(jì) 算aP是容易的,但由P,aP計(jì)算a是困難的。二是基于計(jì)算性Diffie-Hellman困難假設(shè),即 拉為楠圓曲線構(gòu)成的q階循環(huán)加法群,給定S個(gè)元素P,a戶(hù)|6PG紅,其中a,6e町/,計(jì)算油P是困難的。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明旨在至少解決上述技術(shù)問(wèn)題之一。
[000引為此,本發(fā)明的第一個(gè)目的在于提出一種無(wú)雙線性對(duì)運(yùn)算的層次身份基認(rèn)證密 鑰協(xié)商方法。該方法能夠基于層次身份基密碼體制,適用于大型系統(tǒng),而且運(yùn)算過(guò)程不含 雙線性對(duì)運(yùn)算,因此具有更高的效率。安全性基于楠圓曲線離散對(duì)數(shù)困難假設(shè)及計(jì)算性 Diffie-Hellman困難假設(shè),滿(mǎn)足密鑰協(xié)商所需的基本安全需求。
[0009] 本發(fā)明的第二個(gè)目的在于提出一種無(wú)雙線性對(duì)運(yùn)算的層次身份基認(rèn)證密鑰協(xié)商 系統(tǒng)。該系統(tǒng)能夠基于層次身份基密碼體制,具有更高的效率。安全性基于楠圓曲線離散 對(duì)數(shù)困難假設(shè)及計(jì)算性Diffie-Hellman困難假設(shè),滿(mǎn)足密鑰協(xié)商所需的基本安全需求。
[0010] 為了實(shí)現(xiàn)上述目的,本發(fā)明的第一方面的實(shí)施例公開(kāi)了一種基于層次身份基的 認(rèn)證密鑰協(xié)商方法,包括W下步驟;A;根據(jù)輸入的安全常數(shù)A,得出階數(shù)為q楠圓曲線循 環(huán)加法群G、其生成元為P,選取主私鑰msk,計(jì)算公鑰Ppub,選取安全的哈希函數(shù)Hi和哈 希函數(shù)H2;B;用戶(hù)私鑰可通過(guò)兩種算法生成,(1);根據(jù)所述主私鑰msk、第一用戶(hù)身份向 量(I。12,…,It)和化,…,化E%計(jì)算所述第一戶(hù)用的私鑰d和部分公鑰giP,…,gtP,所 述第一用戶(hù)驗(yàn)證所述私鑰d是否滿(mǎn)足驗(yàn)證條件,若所述私鑰d滿(mǎn)足驗(yàn)證條件,則接受此私 鑰;(2):所述第二用戶(hù)身份…,第二用戶(hù)的私鑰d'、第二用戶(hù)的部分公鑰 giP,…,gt_iP和隨機(jī)選取的化e 計(jì)算所述第一用戶(hù)的私鑰d和部分公鑰giP,…,gtP;其 中,馬表示整數(shù)集合{1,2,…,q-2,q-1}。
[0011] 根據(jù)本發(fā)明一個(gè)實(shí)施例的基于層次身份基的認(rèn)證密鑰協(xié)商方法,基于層次身份基 密碼體制,適用于大型系統(tǒng);不含楠圓曲線雙線性對(duì)運(yùn)算,具有較高的效率,計(jì)算開(kāi)銷(xiāo)與系 統(tǒng)層級(jí)成線性關(guān)系;可W滿(mǎn)足密鑰協(xié)商的安全需求,具有已知會(huì)話(huà)密鑰安全、完美前向安 全、PKG前向安全、沒(méi)有密鑰泄露模仿、未知密鑰共享、無(wú)密鑰控制等安全性質(zhì)。
[0012] 另外,根據(jù)本發(fā)明上述實(shí)施例的基于層次身份基的認(rèn)證密鑰協(xié)商方法,還可W具 有如下附加的技術(shù)特征:
[0013] 進(jìn)一步地,在步驟A中,進(jìn)一步包括:所述楠圓曲線循環(huán)加法群G為由所述安全常 數(shù)入生成的生成元為P的階q的楠圓曲線循環(huán)加法群;所述公鑰Ppub=sP,其中主私鑰msk =S;所述哈希函數(shù)材1:{0,1}*XG一馬;W及所述哈希函數(shù)化:拉XG一:K:,其中:K:為會(huì) 話(huà)密鑰空間。
[0014] 進(jìn)一步地,在步驟B中,進(jìn)一步包括;計(jì)算ri=Hidil|g巧,其中1《i《t,輸出 所述第一用戶(hù)的所述私鑰d,所述私鑰d的計(jì)算公式為:
[0015]
[0016] 若d= 0,則需要重新選取化,…,0£巨馬;若d聲0,則通過(guò)安全信道將{giP,… ,gtP,山發(fā)送給所述第一用戶(hù)(II,12,…,It),其中g(shù)lP,…,gtP為所述第一用戶(hù)的部分公鑰, 所述第一用戶(hù)驗(yàn)證下列等式:
[0017]
[0018] 若等式不成立,則拒絕所述私鑰d。
[oow計(jì)算rt=Hi""gtP);所述第二用戶(hù)身份的向量。?!?,I")為所述第一用戶(hù)身 份的向量(I。12,…,It)生成私鑰山第二用戶(hù)的私鑰為d'、第二用戶(hù)的部分公鑰為giP,… ,gt_iP,第一用戶(hù)私鑰d的生成公式為:
[0020]
[0021] 若d= 0,則需要重新選取化e馬,若d聲0,則通過(guò)安全信道將{giP,…,gtP,山 發(fā)送給所述第一用戶(hù)(1。12,…,It),其中&P,…,gtP為所述第一用戶(hù)的部分公鑰;所述第 一用戶(hù)驗(yàn)證下列等式:
[0022]
[0023] 若等式不成立,則所述第二用戶(hù)拒絕私鑰d。
[0024] 進(jìn)一步地,在步驟B后還存在步驟C,隨機(jī)選擇第S用戶(hù)A和第四用戶(hù)B,所述第 S用戶(hù)A的身份向量為化,,…,所述第四用戶(hù)B的身份向量為(/{,/;,...,/y,根據(jù)所述 第;用戶(hù)A的身份向量,…,、私鑰為心公鑰pkA和所述第四用戶(hù)B的身份向量 I…,/!'。)、私鑰(18、公鑰pke,^及隨機(jī)選取《G2^和6e計(jì)算所述第=用戶(hù)A向所述 第四用戶(hù)B發(fā)消息使用的第一會(huì)話(huà)密鑰skA和所述第四用戶(hù)B向所述第S用戶(hù)A發(fā)消息使 用的第二會(huì)