鄭均輝,甘 泉
(平頂山學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河南 平頂山 467002)
隨著信息時(shí)代的到來,數(shù)字化得到了的深入發(fā)展和不斷推廣。面對電力事業(yè)的突飛猛進(jìn),人們把改革和發(fā)展的目光投向了電力調(diào)度系統(tǒng)的開發(fā)與研究,如文獻(xiàn)[1]針對電力調(diào)度的數(shù)字化提出了各自的建設(shè)思想和實(shí)現(xiàn)方法。從現(xiàn)場應(yīng)用和發(fā)表的文獻(xiàn)來看,這些電力調(diào)度系統(tǒng)都以網(wǎng)絡(luò)通信為數(shù)據(jù)傳輸?shù)幕A(chǔ),已經(jīng)涉及到數(shù)據(jù)傳輸?shù)陌踩珕栴}。
由于電力行業(yè)的特殊性,任何數(shù)據(jù)傳輸?shù)陌踩珕栴},都將導(dǎo)致災(zāi)難性的事故發(fā)生,其造成的政治和經(jīng)濟(jì)影響是巨大的,帶來的損失是不可估量的。文獻(xiàn)[2]為了避免在電力調(diào)度中心、電廠及用戶之間傳輸?shù)臄?shù)據(jù)被篡改、偽造而產(chǎn)生電力系統(tǒng)事故,提出并設(shè)計(jì)了認(rèn)證體系結(jié)構(gòu)。文獻(xiàn)[3]分析了電力二次系統(tǒng)所面臨的風(fēng)險(xiǎn),介紹了電力調(diào)度系統(tǒng)的證書服務(wù)系統(tǒng)及應(yīng)用。這些方案雖然闡述了能夠提高系統(tǒng)安全性的證書服務(wù)技術(shù),但是為了存儲(chǔ)證書和驗(yàn)證證書的有效性,需要大量的存儲(chǔ)空間和計(jì)算開銷。因此,需要引入一種合適的電力調(diào)度系統(tǒng)簽名體制。
Al-Riyami等人提出了無證書密碼體制,既消除了傳統(tǒng)密碼體制對證書的需求,也解決了基于身份密碼體制中的密鑰托管問題,是一種理想的簽名方案[4]。在無證書密碼系統(tǒng)中用到一個(gè)第三方KGC,其作用是負(fù)責(zé)產(chǎn)生用戶的部分私鑰。在獲得 KGC產(chǎn)生的部分私鑰后,用戶隨機(jī)選擇一個(gè)秘密值,然后用戶通過部分私鑰和秘密值來產(chǎn)生自己的公鑰和私鑰,系統(tǒng)將部分公鑰綁定同一個(gè)身份。一個(gè)無證書簽名方案由系統(tǒng)參數(shù)生成,部分密鑰生成,設(shè)置秘密值,設(shè)置私鑰,設(shè)置公鑰,簽名以及簽名驗(yàn)證7個(gè)算法組成。通常,前兩個(gè)算法由KGC執(zhí)行,而其它算法由簽名或驗(yàn)證用戶執(zhí)行[5]。由于具有較強(qiáng)的實(shí)用性,無證書簽名方案的研究受到廣泛重視,出現(xiàn)了許多新的方案。但是,這些方案以雙線性配對作為設(shè)計(jì)工具,導(dǎo)致存在計(jì)算效率不高的問題[6]。目前無證書密碼體制方案已經(jīng)在電子商務(wù)、電子病歷等方面開始應(yīng)用[7],但在電力調(diào)度中的應(yīng)用研究很少。
鑒于此,本文通過對 DSA簽名算法進(jìn)行改進(jìn),構(gòu)建了一種更有效的基于電力調(diào)度系統(tǒng)的無 pairing的無證書簽名方案,方案具有抗否認(rèn)性、抗偽造性、可驗(yàn)證性等特點(diǎn),能夠很好地解決電力調(diào)度系統(tǒng)的安全性問題。
電力調(diào)度系統(tǒng)通常設(shè)計(jì)的用戶角色為系統(tǒng)管理員、錄入操作員、審核操作員、簽發(fā)操作員等。電力調(diào)度系統(tǒng)的控制要依靠生產(chǎn)指令數(shù)據(jù)及時(shí)、準(zhǔn)確地進(jìn)行在這些角色間頻繁傳送。在電力調(diào)度過程中,一般需要解決:數(shù)據(jù)的不可否認(rèn)性、數(shù)據(jù)的不可偽造性、數(shù)據(jù)簽名的可驗(yàn)證性和數(shù)據(jù)的完整性等問題。
為保證數(shù)據(jù)傳輸?shù)陌踩?,在簽名過程中,應(yīng)涉及有3種對象:
1)信任中心(KGC):建立公告板,公布共享信息,防止利用公共信息的篡改進(jìn)行簽名的偽造;負(fù)責(zé)產(chǎn)生用戶的部分私鑰;如果調(diào)度驗(yàn)證者對簽名有疑義,可進(jìn)行判斷裁決。
2)調(diào)度信息簽名者:對傳輸信息進(jìn)行簽名。
3)調(diào)度信息驗(yàn)證者:對傳輸信息進(jìn)行驗(yàn)證。
DSA是 ElGamal、Schnorr等數(shù)字簽名算法的變體,其安全性基于離散對數(shù)問題,是目前公認(rèn)的安全算法。該算法中沒有昂貴的對操作,便于軟件和硬件實(shí)現(xiàn),執(zhí)行效率較高。本文在此算法的基礎(chǔ)上,通過分析改進(jìn),構(gòu)建了一種基于電力調(diào)度系統(tǒng)的DSA無證書數(shù)字簽名算法。
系統(tǒng)參數(shù)生成:電力調(diào)度信任中心輸入安全參數(shù)k,輸出系統(tǒng)主密鑰master-key和系統(tǒng)公開參數(shù)params。系統(tǒng)公開參數(shù)params向電力調(diào)度系統(tǒng)中的全體用戶公開,而主密鑰master-key則由 KGC 秘密保存。 公開參數(shù) params=〈p,q,g,y,H1,H2〉, 其中:p 是一個(gè)大的素?cái)?shù),2L-1<p<2L,512≤L≤1024,并且按64 bit的幅度遞增;q是p-1的素因子,其字長為 160bit;g=h(p-1) /q mod p,h 是一個(gè)整數(shù),1<h<(p-1),且要求 h (p-1)/q mod p>1;H1:{0,1}*×Zp*→Zq*,H2:{0,1}*→Zq*。 任意選取 x∈Z q*,計(jì)算 y=gx mod p,主密鑰是 masterkey=x。
部分密鑰生成:設(shè)電力調(diào)度信息簽名者A的身份為IDA,KGC 隨機(jī)選擇 s∈Zq*,計(jì)算 w=gsmod p,d=x+sH1(IDA‖w)。d為KGC產(chǎn)生的部分秘鑰。d可采用以下方式從KGC傳輸?shù)?A:A 隨機(jī)選擇 t∈Zq*,計(jì)算 j=gt mod p,將 j傳給 KGC;KGC 計(jì)算 j’=jx mod p mod q,d’=d+s’,將 d’傳給 A;A 計(jì)算j’=yt mod p mod q,d=d’-j’,從而既可以獲取 KGC 產(chǎn)生的部分秘鑰d,又可以驗(yàn)證KGC的身份。
設(shè)置秘密值:用戶隨機(jī)選取z∈Zq*,計(jì)算u=gzmod p,z作為用戶A的另一部分私鑰,u作用戶A的另一部分公鑰。
設(shè)置私鑰:電力調(diào)度信息簽名者A的私鑰為SKA=(,z),私鑰由A自己保存。
設(shè)置公鑰:電力調(diào)度信息簽名者A的公鑰為PKA=(w,u),公鑰由KGC在公告板進(jìn)行告示,防止公鑰替換攻擊。
簽名:設(shè)電力調(diào)度信息M∈{0,1}*。電力調(diào)度信息簽名過程如下。
1)生成隨機(jī)數(shù) k,0<k<q;
2)計(jì)算 r=(gkmod p) mod q;
3)計(jì)算 σ=(k-1(dr+zH2(M))) mod q,(r,σ)即為用戶 A對消息M的簽名;
4)發(fā)送消息和簽名結(jié)果(M,r,σ) 。
簽名驗(yàn)證:驗(yàn)證方收到簽名信息M∈{0,1}*以及簽名(r,σ),按以下過程進(jìn)行驗(yàn)證。
1)從KGC處獲取電力調(diào)度信息簽名者A的公鑰為PKA=(w,u)及系統(tǒng)公開參數(shù) params;
2)計(jì)算 e=σ-1mod q;
3)u1=ywH1(IDA‖w);
4)u2=uH2(M);
6)如果 r=v,表示簽名有效;否則,簽名非法。
1)可驗(yàn)證性。以上基于 DSA的無證書簽名方案中,若簽名過程準(zhǔn)確無誤,則驗(yàn)證等式r=v必然成立。
證明:
針對調(diào)度信息簽名者和調(diào)度信任中心身份,均可采用零知識(shí)方式進(jìn)行認(rèn)證。若驗(yàn)證者對用戶的公鑰不信任,可通過以下身份鑒別方案進(jìn)行驗(yàn)證:驗(yàn)證者隨機(jī)選擇t∈Zq*,將t傳給用戶;用戶計(jì)算j=(td+z)mod q,將 j傳給驗(yàn)證者;驗(yàn)證者計(jì)算 gj=u(ywH1(ID‖w))t,如果相等,則驗(yàn)證通過,否則用戶公鑰為偽造。
證明:
2)不可否認(rèn)性。簽名者發(fā)送的私鑰中含有了簽名者的身份ID,具有不可否認(rèn)性。
3)不可偽造性。在無證書系統(tǒng)中有兩類攻擊者,第一類攻擊者不知道系統(tǒng)主密鑰,但是可以任意替換用戶的公鑰。第二類攻擊者知道系統(tǒng)的主密鑰,但是不能替換目標(biāo)用戶的公鑰。如果簽名方案能抵抗以上兩種形式的攻擊者,則簽名方案為不可偽造性安全的。
對于第一類攻擊者,因?yàn)椴恢老到y(tǒng)的主密鑰x,所以也不知道用戶的部分私鑰d。KGC產(chǎn)生的部分私鑰d內(nèi)建立了與用戶身份關(guān)聯(lián)的信息,給攻擊者設(shè)置了第一道壁壘。若攻擊者試圖替換用戶公鑰,就必須修改KGC的公告板中的公鑰信息,由于公告板是公開的,所以給攻擊者設(shè)置了第二道壁壘。若KGC或者其它電力調(diào)度用戶產(chǎn)生懷疑,就會(huì)采用零知識(shí)方式進(jìn)行認(rèn)證。由于攻擊者不知道驗(yàn)證者任意選取的t,故攻擊者不能構(gòu)造j。即使攻擊者知道驗(yàn)證者選取的t,要求解出j也相當(dāng)于求解離散對數(shù)問題,給攻擊者設(shè)置了第三道壁壘。故在離散對數(shù)問題難解的假設(shè)下,該方案可以抵抗第一類攻擊的攻擊。
對于第二類攻擊者,攻擊者知道系統(tǒng)的主密鑰x,則公鑰、部分私鑰d以及公開參數(shù)對攻擊者來說都是已知的。顯然,試圖通過公鑰和部分私鑰d直接求解出用戶一部分私鑰z的做法是不可取的,因?yàn)檫@相當(dāng)于求解離散對數(shù)問題。假設(shè)用戶偽造一個(gè)消息M的簽名,就必須繞過部分私鑰z,偽造r和 σ,使之滿足 r=((u2)σ-1mod p),這相當(dāng)于求解離散對數(shù)問題。故在離對數(shù)問題難解的假設(shè)下,該方案可以抵抗第二類攻擊者的攻擊。
4)數(shù)據(jù)的完整性。在簽名時(shí)使用散列函數(shù),能夠保證消息的完整性。
本文算法與其他算法在安全性上的比較見表1。(其中,“√”表示“具有”。)其中,文獻(xiàn)[3]是基于RSA的證書簽名方案,文獻(xiàn)[6]是基于雙線性對的無證書簽名方案。
表1 本文算法與其他算法在安全性上的比較Tab.1 Comparison of security between this paper scheme and other schemes
電力調(diào)度系統(tǒng)中數(shù)字簽名過程中,采用預(yù)先計(jì)算的方式,在消息M到來之前,先計(jì)算出r;當(dāng)消息M到來時(shí),只需要一次逆運(yùn)算、一次模運(yùn)算、一次加法、兩次乘法運(yùn)算、一次散列運(yùn)算。電力調(diào)度系統(tǒng)中數(shù)字簽名驗(yàn)證過程中,需要一次逆運(yùn)算、兩次乘法運(yùn)算、四次指數(shù)運(yùn)算、兩次模運(yùn)算、兩次散列運(yùn)算。零知識(shí)驗(yàn)證過程中,需要三次乘法運(yùn)算、三次指數(shù)運(yùn)算、一次模運(yùn)算、兩次散列運(yùn)算。
根據(jù)文獻(xiàn)[8]所給出的分析結(jié)果,雙線性配對、指數(shù)運(yùn)算與散列運(yùn)算的計(jì)算量分別是乘運(yùn)算的約 21倍、3倍及1倍,相對于標(biāo)量乘,加法運(yùn)算、乘法運(yùn)算、逆運(yùn)算和模運(yùn)算均可忽略不計(jì)。P表示一個(gè)雙線性配對運(yùn)算,S表示標(biāo)量乘法運(yùn)算,E表示指數(shù)運(yùn)算,H表示一個(gè)散列運(yùn)算。通過本文算法與其它算法在運(yùn)算次數(shù)的比較(見表 2)可以看出,本文算法的計(jì)算量明顯小于其他算法,說明本文算法具有較高的運(yùn)行效率,便于應(yīng)用到電力調(diào)度設(shè)備中。其中,文獻(xiàn)[3]是基于電力調(diào)度的證書簽名方案,文獻(xiàn)[8]是基于雙線性對的無證書簽名方案。
表2 本文算法與其他算法在運(yùn)算次數(shù)上的比較Tab.2 Comparison of the number of operations between this paper scheme and other schemes
本文算法在 VC6.0環(huán)境下進(jìn)行實(shí)現(xiàn),p、q的位數(shù)為160位。針對電力調(diào)度命令進(jìn)行簽名和驗(yàn)證,以檢驗(yàn)本軟件的實(shí)用性,整個(gè)實(shí)驗(yàn)采用 Intel酷睿 i5-750,4 G內(nèi)存的運(yùn)行環(huán)境。密鑰和公鑰生成過程的平均時(shí)間為 1.432 ms,電力調(diào)度簽名過程消耗的平均時(shí)間為 4.31 ms,簽名驗(yàn)證過程消耗的平均時(shí)間為6.57 ms,零知識(shí)驗(yàn)證消耗的平均時(shí)間為 4.797 ms。
實(shí)驗(yàn)表明該系統(tǒng)具有良好的運(yùn)行效率,能夠滿足電力調(diào)度的實(shí)時(shí)性要求。
本文設(shè)計(jì)了電力調(diào)度中的 DSA無證書數(shù)字簽名方案。方案滿足抗否認(rèn)性、抗偽造性、可驗(yàn)證性和調(diào)度消息完整性等安全特性。本文算法與同類簽名算法相比,具有較高的運(yùn)行效率。應(yīng)用測試表明能夠滿足電力調(diào)度的實(shí)時(shí)性要求。但是本文算法是以信任中心為研究前提,沒有考慮到惡意信任中心,如何設(shè)計(jì)基于電力調(diào)度系統(tǒng)的防止惡意信任中心的無證書簽名方案是下一步的研究方向。
[1]高明,袁玲,李文云,等.電力調(diào)度系統(tǒng)信息化的幾個(gè)問題探討[J].電力系統(tǒng)保護(hù)與控制,2011,39(14):138-142.GAO Ming,YUAN Ling,LI Wen-yun,et al.Study on several problems of power dispatching system information construction[J].Power System Protection and Control,2011,39(14):138-142.
[2]程旭,梁云,俞俊,等.電力調(diào)度分布式工作流設(shè)計(jì)與實(shí)現(xiàn)[J].電力系統(tǒng)自動(dòng)化,2012,36(21):93-96.CHENG Xu,LIANG Yun,YU Jun,et al.Design and Implementation of distributed workflow for electric power dispatching[J].Automation of Electric Power Systems,2012,36(21):93-96.
[3]徐茹枝,郭健,李衍輝,等.智能電網(wǎng)中電力調(diào)度數(shù)字證書系統(tǒng)[J].中國電力,2011,44(1):37-40.XU Ru-zhi,GUO Jian,LI Yan-hui,et al.Power dispatching digital certificatesystemin smart grid[J].Electric Power,2011,44(1):37-40.
[4]李文武,游文霞,王先培.電力系統(tǒng)信息安全研究綜述[J].電力系統(tǒng)保護(hù)與控制,2011,39(10):140-147.LI Wen-wu,YOU Wen-xia,WANG Xian-pei.Survey of cyber security research in power system[J].Power System Protection and Control,2011,39(10):140-147.
[5]Al-Riyami S,Paterson K.C'ertificateless public key cryptography [C]//ASIACRYPT 2003,LNC:S 2894.Springer Verlag,2003:452-473.
[6]Huang X,Susilo W,Mu Y,et al.On the security of a certificateless signature scheme [C]//Proceedings of the CANS 2005.Xia-men, China,2005:13-25.
[7]Yum D H,Lee PJ.Genericconstruction of certificateless signature[C]//Proceedings of ACISP 2004.Sydney, Australia,2004:200-211.
[8]夏峰,楊波.公鑰不可替換無證書簽名方案[J].計(jì)算機(jī)科學(xué),2012,39(8):92-97.XlA Feng,YANG Bo.Certificateless signature scheme without public key replaced[J].Computer Science,2012,39(8):92-97.