金盛華
(杭州師范大學(xué)錢(qián)江學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,浙江 杭州 310012)
各種通信網(wǎng)的出現(xiàn),使我們的社會(huì)進(jìn)入了一個(gè)嶄新的時(shí)代,傳統(tǒng)的商務(wù)活動(dòng)、事務(wù)處理以及銀行服務(wù)已經(jīng)或者越來(lái)越多地通過(guò)開(kāi)放的網(wǎng)絡(luò)平臺(tái)來(lái)實(shí)現(xiàn)和提供。對(duì)在世界各個(gè)角落的人來(lái)說(shuō),在線工作有著“隨時(shí)隨地可得”(Universal Accessable)的巨大優(yōu)點(diǎn)。而在這些網(wǎng)絡(luò)應(yīng)用的背后,網(wǎng)絡(luò)應(yīng)用(不僅僅是網(wǎng)絡(luò)通信)的安全性成為了一個(gè)迫切需要解決的問(wèn)題。在古典密碼學(xué)中,主要解決的問(wèn)題是通信安全,也就是通信雙方如何安全地交互信息,通信雙方一般通過(guò)共同約定密鑰并約定加密規(guī)則來(lái)實(shí)現(xiàn)。但在如今的數(shù)字化時(shí)代,這種古老的辦法顯然已經(jīng)不能滿足要求?;ヂ?lián)網(wǎng)復(fù)雜多樣的安全需求,給予了公鑰密碼體制很好的發(fā)展空間,經(jīng)過(guò)二十多年的發(fā)展,在原有加密、簽名基礎(chǔ)上產(chǎn)生了很多多樣化的安全協(xié)議,以幫助解決網(wǎng)絡(luò)上各式各樣的安全問(wèn)題。因特網(wǎng)的進(jìn)一步發(fā)展,使得網(wǎng)絡(luò)服務(wù)得到了更廣泛的應(yīng)用,比如電子貨幣,網(wǎng)上銀行,電子投票等,這就要求我們?nèi)ピO(shè)計(jì)一些特殊的協(xié)議,滿足該應(yīng)用所需要的特殊性質(zhì)。在本文中,我們著重介紹群簽名,我們先簡(jiǎn)單介紹一下這個(gè)概念。
具體群簽名方案思路如下圖是利用BB04數(shù)字簽名方案作為產(chǎn)生簽名作為群證書(shū)。在簽名時(shí),利用某機(jī)制自化身份得到自化的群證書(shū),并將身份用受限CCA2加密方案加密,最后知識(shí)證明自化的群證書(shū)中的身份與加密的身份是一致的,這樣就得到了一個(gè)群簽名。
(1)系統(tǒng)建立Setup,系統(tǒng)參數(shù)由以下幾步生成:選擇有雙線性映射的橢圓曲線,生成參數(shù);選取參數(shù);選擇一般橢圓曲線參數(shù),使其群階與步驟1中選取好的p相同;選取隨機(jī)參數(shù);選擇兩個(gè)安全hash函數(shù);群加入密鑰
步驟1至2由群加入管理者完成,而步驟3至6由群追蹤管理者完成。
(2)加入Join.群加入管理者GIM和用戶u之間執(zhí)行如下協(xié)議:用戶
選取一個(gè)隨機(jī)參數(shù)作為他的密鑰,然后生成一個(gè)關(guān)于I的離散對(duì)數(shù)知識(shí)、的非交互知識(shí)證明r。
當(dāng)群加入管理者GIM收到后,進(jìn)行如下操作:
(a)GIM先驗(yàn)證非交互知識(shí)證明r和用戶的簽名U的正確性。
(b)GIM將y記錄到群成員信息列表Group Member中,該列表可對(duì)外公開(kāi)。
若驗(yàn)證成功,用戶U輸 出他的群簽名私鑰usk一(s,Ko,Ky),否則用戶向群加入管理者GIM提 出中述,要求GIM提供正確的群證書(shū)。(這里有一個(gè)公平交換的問(wèn)題)。
(3)追蹤 Open
首先驗(yàn)證簽名是否正確。若不正確,則返回;在群成員信息列表GML中查找,若找不到,則返回錯(cuò)誤。若找到,設(shè)成員信息為Y;對(duì)用戶u確實(shí)是簽名二的身份做一個(gè)知識(shí)證明。
(4)撤銷(xiāo) Revoke
把群成員u在GML中的用戶y添加到撤銷(xiāo)列表RL中。
(5)追蹤裁決
驗(yàn)證y確實(shí)是把u用戶綁定在GML中。
效率分析.對(duì)群簽名方案的效率分析,我們主要考慮兩點(diǎn)。第一是群簽名的長(zhǎng)度,用數(shù)學(xué)表示,根據(jù)對(duì)元雙線性映射橢圓曲線群的選取,C1中元素的長(zhǎng)度可為171bits,GT中元素長(zhǎng)度是171*6=1026bits,素?cái)?shù)p也選取為170bits。而對(duì)于G的選取,存在算法可以從固定群階p來(lái)產(chǎn)生隨機(jī)的橢圓曲線,假設(shè)得到的橢圓曲線可以定義在171bits的有限域上。實(shí)際上,在C1上對(duì)應(yīng)的DDH問(wèn)題也是難的,則可直接選取C1作為G,對(duì)應(yīng)的加密方案同樣符合要求。
在群用戶的加入階段,群加入管理者需要給出對(duì)應(yīng)的證書(shū),這個(gè)證書(shū)其實(shí)是帶有簽名性質(zhì)的,我們使用了在前文中提到的BB04簽名方案并稍做修改,即我們將群用戶的私鑰、類(lèi)似看作消息n的hash值。由于群管理者不能獲得群成員的私鑰、,我們給出了一個(gè)雙方協(xié)議,使得正確完成協(xié)議的最后,群用戶得到對(duì)應(yīng)簽名,而私鑰不能被暴露卻能被群管理者認(rèn)證。具體是,群用戶提供并給出對(duì)、的非交互式知識(shí)證明 (其實(shí)交互式的也是可以,但導(dǎo)致復(fù)雜不容易分析),基于此證明群管理者可以給予對(duì)應(yīng)簽名。
由于追蹤群簽名的需要,我們必須有有效的方法獲得群成員的身份。我們使用了這樣一種方法,將群成員的身份和前一階段自化的身份是相同的在群G上加密,然后再知識(shí)證明加密。為達(dá)到CCA2安全的標(biāo)準(zhǔn),我們使用了Cramer-Shoup的加密方法。
可追蹤性Traceability.我們來(lái)說(shuō)明如何將群簽名的可追蹤性安全歸結(jié)為BB04簽名方案的存在性不可偽造安全。在可追蹤性游戲中攻擊者的主要攻擊對(duì)象是群加入管理者,即除了群加入密鑰以外的所有密鑰均可暴露給攻擊者。所以,我們作為受挑戰(zhàn)者只需要模擬與群加入密鑰相關(guān)的詢(xún)問(wèn)。在可追蹤性游戲中,主要的詢(xún)問(wèn)是面對(duì)群成員加入,如何生成群證書(shū)。
不可陷害性Non-frameability.在不可陷害性游戲中,攻擊者可以獲得除了群成員個(gè)人私鑰(即}關(guān)于g的離散對(duì)數(shù)知識(shí)、以外的所有密鑰。也就是說(shuō),在游戲中我們只需要模擬有關(guān)的詢(xún)問(wèn)關(guān)系,包括加入群時(shí)需要的非交互式知識(shí)證明和一般的群簽名。而所有這些模擬都可在hash函數(shù)(H,Hl,H2)作為隨機(jī)預(yù)言機(jī)模型下直接得到。敵手最后還是要輸出群簽名,我們同樣利用重放(rewind)辦法,可以規(guī)約出群成員的私鑰。
群簽名最重要的性質(zhì)就是其身份匿名性。在匿名性安全游戲中,敵手可以詢(xún)問(wèn)追蹤群簽名的真實(shí)簽署者,類(lèi)似于在加密方案中對(duì)密文的解密。在加密方案中,IND-CCA2安全應(yīng)該說(shuō)是一個(gè)最高標(biāo)準(zhǔn)。
一部分方案直接使用CPA安全的加密方案,比如E1Gama1加密方案,然后在其群簽名的安全性聲明中提出他們的方案也只達(dá)到了CPA匿名性,即不能對(duì)敵手提供追蹤詢(xún)問(wèn)。另一部分,也是更多的方案,提出“若需要提高匿名安全性達(dá)到CCA2匿名安全,則可通過(guò)利用CCA2安全的加密方案”,然后直接將有點(diǎn)復(fù)雜的CCA2加密方案直接嵌入其中,常規(guī)嵌入的方案為Cramer-Shoup加密方案。但必須注意到一個(gè)現(xiàn)象,群簽名的構(gòu)造中將群成員的證書(shū)和身份的加密有機(jī)地結(jié)合了起來(lái),并必須證明兩者對(duì)應(yīng)的是同一個(gè)身份。
一般來(lái)說(shuō),群撤銷(xiāo)有兩種辦法。一種是進(jìn)行系統(tǒng)參數(shù)升級(jí)變化,通過(guò)改變?nèi)汗€私鑰,對(duì)除了撤銷(xiāo)成員外重新發(fā)放證書(shū),在這種體制下如何有效地解決“重新發(fā)放證書(shū)”是一個(gè)重要的問(wèn)題。另一種辦法利用被動(dòng)式成員刪除方法,稱(chēng)為Verifier-Local Revocation,我們提出的方案也是基十此體制。對(duì)于被撤銷(xiāo)的成員,群管理者提供一個(gè)身份信息,而群成員在作群簽名時(shí)必須證明該群簽名與撤銷(xiāo)列表中的任何身份信息都不相同。這種方法有一個(gè)嚴(yán)重問(wèn)題,即沒(méi)有考慮時(shí)間因素:今天撤銷(xiāo)的成員信息導(dǎo)致昨天該成員簽署的群簽名對(duì)應(yīng)身份將被暴露。這個(gè)問(wèn)題在這個(gè)體制下應(yīng)該說(shuō)是不能解決的。所以,今后的發(fā)展應(yīng)該是如何更有效地對(duì)群參數(shù)進(jìn)行升級(jí)并重新分發(fā)證書(shū)。
以上對(duì)群簽名設(shè)計(jì)中的一些問(wèn)題給予自己的思考。對(duì)于群簽名的匿名性安全,爭(zhēng)議和疑惑相對(duì)比較多。在很多方案中,對(duì)CPA安全還是CCA2安全沒(méi)有做細(xì)致的分析處理,“使用CCA2安全加密方案就可以達(dá)到CCA2匿名性安全”,這樣簡(jiǎn)單的解釋不是相當(dāng)合理的。并且提出要從群簽名整體的角度出發(fā)考慮如何嵌入CCA2安全的加密方案。
[1]Sujing Zhou,群簽名的研究,中國(guó)科學(xué)院研究生院,2008年
[2]曹珍富,公鑰密碼學(xué),黑龍江教育出版社,1993年