晏 杰 (武夷學(xué)院實(shí)驗(yàn)室管理中心,福建 武夷山354300)
隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展和日益普及,電子政務(wù)建設(shè)和發(fā)展中的信息安全越來越顯得重要。而數(shù)字簽名技術(shù)是信息安全理論與技術(shù)的基礎(chǔ)和重要保證,使其應(yīng)用于電子政務(wù)中,可以提供身份認(rèn)證服務(wù)、權(quán)限控制服務(wù)、信息保密服務(wù)、數(shù)據(jù)完整性服務(wù)和不可否認(rèn)服務(wù),為電子政務(wù)提供了一個(gè)安全的環(huán)境。在電子政務(wù)的應(yīng)用中,有時(shí)也需要多個(gè)人批閱同一份文件,這就需要用到多重?cái)?shù)字簽名,多重?cái)?shù)字簽名與現(xiàn)實(shí)環(huán)境中多人書面簽名是不同的,故對多重?cái)?shù)字簽名的研究與應(yīng)用顯得尤為重要。為此,筆者對多重?cái)?shù)字簽名技術(shù)進(jìn)行了探索和研究,提出了多重?cái)?shù)字簽名在電子政務(wù)系統(tǒng)中的解決方案,針對電子政務(wù)系統(tǒng)的特點(diǎn)給出了多重?cái)?shù)字簽名技術(shù)在電子政務(wù)中的應(yīng)用案例。
我國 《電子簽名法》對數(shù)字簽名的定義[1]:“是指數(shù)據(jù)電文中以電子形式所含、所附用于識(shí)別簽名人身份并表明簽名人認(rèn)可其中內(nèi)容的數(shù)據(jù)”。數(shù)字簽名的原理[1]如下,首先發(fā)送方對信息施以數(shù)學(xué)變換,所得的信息與原信息惟一對應(yīng);在接收方進(jìn)行逆變換,得到原始信息。只要數(shù)學(xué)變換方法優(yōu)良,變換后的信息在傳輸中就具有很強(qiáng)的安全性,很難被破譯、篡改。這一個(gè)過程稱為加密,對應(yīng)的反變換過程稱為解密。
數(shù)字簽名的算法[2]很多,應(yīng)用最為廣泛的3種是:Hash簽名、DSS簽名和RSA簽名。數(shù)字簽名可以解決否認(rèn)、偽造、篡改及冒充等問題。具體要求:①簽名數(shù)據(jù)屬數(shù)字簽名人專有;②簽名制作數(shù)據(jù)僅由數(shù)字簽名人控制;③對數(shù)子簽名的任何改動(dòng)能夠被發(fā)現(xiàn);④接收方能確認(rèn)或驗(yàn)證發(fā)方的簽字,但不能偽造;⑤發(fā)送方發(fā)出簽字后不能否認(rèn)他所簽發(fā)的消息;⑥收方對已收到的簽字消息不能否認(rèn),即有收報(bào)認(rèn)證;⑦第三方可以確認(rèn)收發(fā)雙方之間的消息傳送,但不能偽造。
數(shù)字簽名和手書簽名也有所不同[3],手書簽名是模擬的,因人而異,且無論用那種語言簽名,都可以模仿;而數(shù)字簽名是0或1的數(shù)字串,因消息而異,不可模仿。
在工作流的處理數(shù)字簽名過程中,不僅僅有個(gè)人單獨(dú)簽名的需要,有時(shí)也需要多個(gè)用戶對同一消息進(jìn)行簽名認(rèn)證。能夠?qū)崿F(xiàn)多個(gè)用戶對同一消息進(jìn)行簽名的數(shù)字簽名稱為多重?cái)?shù)字簽名[2]。多重?cái)?shù)字簽名與現(xiàn)實(shí)生活中多人手寫簽名最大的不同之處在于手寫簽名的長度與簽名人數(shù)成正比,而多重?cái)?shù)字簽名長度與單個(gè)簽名長度一致,對多重?cái)?shù)字簽名進(jìn)行驗(yàn)證時(shí)也只需驗(yàn)證這個(gè)最終形成的多重?cái)?shù)字簽名即可。
信息技術(shù)的發(fā)展導(dǎo)致了電子政務(wù)的工作流系統(tǒng)從筆頭文本到電子文本的轉(zhuǎn)變。一些在筆頭文本工作流處理中的簽名的作用可能不再需要。例如,一個(gè)計(jì)算機(jī)系統(tǒng)能通過數(shù)字簽名在一個(gè)文件中自動(dòng)的加上時(shí)間戳來給出處理的時(shí)間和日期。數(shù)字簽名方案是安全的,因?yàn)檫@些方案通常是基于加密技術(shù)的,如公鑰加密體制。這樣就保證了簽名數(shù)據(jù)的完整性和數(shù)字簽名的不可否認(rèn)性。然而,在工作流中數(shù)字簽名的應(yīng)用往往在數(shù)字簽名的研究中被忽視了的。在一個(gè)電子工作流系統(tǒng)中,不同用途的數(shù)字簽名需要不同的處理程序。例如,作為授權(quán)用途的簽名必須被CA檢查,這是因?yàn)镃A中心能夠授權(quán)認(rèn)證簽名的有效性。處理沒有經(jīng)CA認(rèn)證的簽名可能會(huì)導(dǎo)致不適當(dāng)?shù)墓ぷ髁鞒绦虻牟僮?。所?有必要把數(shù)字簽名方案和處理工作流結(jié)合在一起,這樣數(shù)字簽名可以控制工作流的處理,起到提高安全性的作用。
根據(jù)簽名過程的不同,多重?cái)?shù)字簽名方案歸納為2類[3]:一類為有序多重?cái)?shù)字簽名方案,另一類為廣播多重?cái)?shù)字簽名方案。無論是有序多重簽名方案,還是廣播多重簽名方案,都包含消息發(fā)送者、消息簽名者和簽名驗(yàn)證者,在廣播簽名方案中還包含簽名收集者。
在有序多重?cái)?shù)字簽名方案中,由消息發(fā)送者規(guī)定消息簽名順序,然后將消息發(fā)送到第一個(gè)簽名者,除了第一個(gè)簽名者外,每一位簽名者收到簽名消息后,首先驗(yàn)證上一簽名的有效性,如果簽名有效,繼續(xù)簽名,然后將簽名消息發(fā)送到下一個(gè)簽名者;如果簽名無效,拒絕對消息簽名,終止整個(gè)簽名。當(dāng)簽名驗(yàn)證者收到簽名消息后,驗(yàn)證簽名的有效性,如果有效,多重簽名有效;否則,多重簽名無效。
根據(jù)不同的政務(wù)需求,這就要有不同的處理多重簽名需求的工作流的設(shè)計(jì)。為此可分為獨(dú)立性有序多重簽名和依賴性有序多重簽名。獨(dú)立性有序多重簽名,即對簽名的先后順序是沒有要求的,只需按次序簽名即可;依賴性有序多重簽名,即相對來說就是對簽名順序有要求,必須第一簽名者簽名后才能依次向下執(zhí)行。
在廣播多重簽名方案中,消息發(fā)送者同時(shí)將消息發(fā)送給每一位簽名者進(jìn)行簽名,然后簽名者將簽名消息發(fā)送到簽名收集者,由收集者對簽名消息進(jìn)行整理并發(fā)送給簽名驗(yàn)證者。簽名驗(yàn)證者驗(yàn)證多重簽名的有效性。在電子工作流中,每個(gè)簽名人的簽名相互間是獨(dú)立的。稱之為處理簽名的分散式機(jī)制。處理過程還需要把分散處理的簽名收集起來進(jìn)行匯總,稱之為匯總機(jī)制。根據(jù)簽名和驗(yàn)證的操作,分散和匯總接下來將作更細(xì)致的研究。
1)分散機(jī)制 根據(jù)全部簽名人還是部分簽名人的選擇來選擇簽名,有2種類型的分散:全部分散和部分分散。①全部分散。比如在政府的采購中,如果信息管理系統(tǒng)只需要財(cái)務(wù)部門和資產(chǎn)部門的同意,這種意見是獨(dú)立的,那么信息管理部門可以提交2份表單分別同時(shí)送到這2個(gè)部門申報(bào),然后同時(shí)處理調(diào)用的意見。②部分分散。在同一個(gè)例子中,除了需要財(cái)務(wù)部門和資產(chǎn)部門同意外,還需要機(jī)構(gòu)中6個(gè)主要領(lǐng)導(dǎo)的其他至少3個(gè)的同意。那么除了把申請表單送給財(cái)務(wù)部門和資產(chǎn)部門外,還應(yīng)至少選3個(gè)領(lǐng)導(dǎo)進(jìn)行申報(bào)。但這3個(gè)成員的選擇權(quán)在于信息管理部門。這樣簽名人的數(shù)目就在5到8個(gè)之間。
2)匯總機(jī)制 匯總也可以分全部匯總和部分匯總。①全部匯總。在全部匯總中,這就需要對所有匯總來的簽名進(jìn)行有效性驗(yàn)證。例如,信息管理部門匯總所有從相應(yīng)部門簽名的表單,如財(cái)務(wù)部門和資產(chǎn)部門,所有這些簽名必須有效,無效簽名將排除。②部分匯總。在部分匯總中,不需要等到所有的簽名,只要滿足條件要求就可以了。如在部分分散的例子中,信息管理部門可以只收到財(cái)務(wù)部門和資產(chǎn)部門以及3個(gè)領(lǐng)導(dǎo)的簽名,就成立了。這樣的前提是管理部門必須向其他成員發(fā)出多于3份的申報(bào)表。但是,只需要收集夠一定數(shù)量的簽名即可。
處理多重?cái)?shù)字簽名有2種主要的方案。第1種簽名方案是應(yīng)用復(fù)雜的數(shù)學(xué)算法,例如用改進(jìn)的RSA算法處理多重簽名。這種算法通常在結(jié)構(gòu)上非常復(fù)雜,并且不容易擴(kuò)展來解決相關(guān)的問題。特別是在工作流中操作流程變化后,數(shù)字簽名的作用也隨之發(fā)生了變化。所以在工作流中數(shù)字簽名的多樣化使一個(gè)整體的數(shù)字簽名方案的應(yīng)用不能滿足電子工作流系統(tǒng)的需求的。第2種方案就是按預(yù)先的工作流的次序多次使用單一數(shù)字簽名,由此成為一個(gè)組合的多重簽名方案,這種方案具體應(yīng)用如下:
假若有3個(gè)人A、B和C想簽署同一個(gè)文件M。
1)A用他的私鑰加密M,加密的消息命名為SA,A發(fā)送M和SA給B。
2)B收到M和SA后,B用A的公鑰解密SA來驗(yàn)證SA是否是用A的私鑰加密產(chǎn)生的。然后B用他自己的私鑰加密M和SA,加密后的消息稱為SB。B發(fā)送M和SB給C。
3)C收到M和SB后,他用B的公鑰解密SB來驗(yàn)證SB是否是B的私鑰生成的。然后C用A的公鑰解密SA來驗(yàn)證SA是否為A的私鑰產(chǎn)生的。
這種在電子政務(wù)中運(yùn)用多重?cái)?shù)字簽名技術(shù)的好處是沒有復(fù)雜的數(shù)學(xué)算法被使用。所有的密碼運(yùn)算都使用同樣的單一簽名算法。附加的工作就是合并各個(gè)不同的簽名,如以上提到的M、SA和SB。因此,這種簽名方案在電子工作流系統(tǒng)中需要多重簽名時(shí)非常適用。
筆者在電子政務(wù)系統(tǒng)的工作流中引入多重?cái)?shù)字簽名技術(shù),提出了多重?cái)?shù)字簽名技術(shù)在電子政務(wù)系統(tǒng)中的解決方案。針對電子政務(wù)系統(tǒng)的特點(diǎn)給出了多重?cái)?shù)字簽名技術(shù)在電子政務(wù)中的應(yīng)用案例,向參與電子政務(wù)活動(dòng)的實(shí)體提供身份認(rèn)證,確保工作流中信息傳輸?shù)臋C(jī)密性和完整性,有效防止了各種電子政務(wù)中的安全隱患。
[1]陳兵.電子政務(wù)技術(shù)與安全 [C].北京大學(xué)出版社,2002.35~37.
[2]王曉明.一種多重?cái)?shù)字簽名方案的安全性分析 [J].南開大學(xué)學(xué)報(bào) (自然科學(xué)版),2003,(3):20~22.
[3]康華.電子政務(wù)中安全技術(shù)的研究與應(yīng)用 [D].西北大學(xué),2003.