郭改文
(河南教育學(xué)院信息技術(shù)系,河南鄭州 450046)
一種高校網(wǎng)上辦公數(shù)字簽名系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)
郭改文
(河南教育學(xué)院信息技術(shù)系,河南鄭州 450046)
針對(duì)高校網(wǎng)上辦公系統(tǒng)存在的安全需求,將PKI技術(shù)應(yīng)用于高校網(wǎng)上辦公系統(tǒng),設(shè)計(jì)了一種高校網(wǎng)上辦公數(shù)字簽名系統(tǒng)的功能模型和公文流轉(zhuǎn)的總體架構(gòu),并利用Java技術(shù)提供的安全體系分別實(shí)現(xiàn)了公文流轉(zhuǎn)服務(wù)器端和客戶(hù)端的部署.
高校;公約基礎(chǔ)設(shè)施(PKI);數(shù)字簽名;公文流轉(zhuǎn);Java
隨著高校數(shù)字化校園建設(shè)的逐步推進(jìn),方便快捷、信息渠道暢通的網(wǎng)上辦公系統(tǒng)在功能上已基本完善,為高等院校提供了管理關(guān)系的協(xié)調(diào)與統(tǒng)一,提高了工作質(zhì)量和效率,在高校異地化辦公中發(fā)揮著重要的作用.其處理的大量敏感信息通過(guò)校園網(wǎng)及Internet傳送,如何保證高校網(wǎng)上辦公系統(tǒng)順利暢通,保證敏感信息不被他人侵犯、破壞及干擾,已經(jīng)成為信息安全領(lǐng)域關(guān)注的一個(gè)重要課題.基于密碼學(xué)的數(shù)字簽名技術(shù)能夠保證數(shù)據(jù)的機(jī)密性、完整性及抗否定性,能解決通信雙方引發(fā)的爭(zhēng)端.本文基于公鑰基礎(chǔ)設(shè)施PKI(Public Key Infrastructure)技術(shù)[1-2],以河南教育學(xué)院網(wǎng)上辦公系統(tǒng)為例,設(shè)計(jì)并實(shí)現(xiàn)了一種高校網(wǎng)上辦公數(shù)字簽名系統(tǒng).
針對(duì)高校網(wǎng)上辦公系統(tǒng)的特點(diǎn),根據(jù)功能的不同可以將數(shù)字簽名分為以下幾種形式.
(1)個(gè)人單獨(dú)簽名 網(wǎng)上辦公系統(tǒng)主要是對(duì)公文的簽發(fā)和接收,在接收公文過(guò)程中,主要是對(duì)公文的驗(yàn)證和歸檔,一般屬于部門(mén)一對(duì)一的個(gè)人單獨(dú)簽名.本文使用基于混合密碼體制的個(gè)人單獨(dú)簽名方案[3].
(3)群簽名 網(wǎng)上辦公系統(tǒng)中,在公文簽收時(shí),相同院系、科室的不同工作人員可以代表其所在部門(mén)完成諸如公文簽收類(lèi)事務(wù)性工作,系統(tǒng)一般只需要確認(rèn)該部門(mén)是否收到公文,并不關(guān)心具體接收公文的工作人員,但一旦出現(xiàn)爭(zhēng)議時(shí),又可檢查出當(dāng)時(shí)的接收者.由于群簽名[6]具有簽名者匿名、只有權(quán)威才能辨認(rèn)簽名者等多種特點(diǎn),使得群簽名在高校網(wǎng)上辦公系統(tǒng)(如辦公系統(tǒng)中的公文簽收、電子投票、電子選舉、招標(biāo)投標(biāo)等子系統(tǒng))中廣泛應(yīng)用.
(4)其他簽名 除上述簽名之外,高校網(wǎng)上辦公系統(tǒng)中還涉及代理簽名、盲群簽名、自證明認(rèn)證加密簽名、不可否認(rèn)簽名、防失敗簽名等[7].
基于高校網(wǎng)上辦公系統(tǒng)的安全需求,設(shè)計(jì)高校公文流轉(zhuǎn)數(shù)字簽名系統(tǒng),它包括4部分內(nèi)容:CA中心、公文流轉(zhuǎn)客戶(hù)端、公文流轉(zhuǎn)服務(wù)器、管理部門(mén)應(yīng)用服務(wù)器.基于PKI技術(shù)的CA中心的建立參見(jiàn)文獻(xiàn)[8].本系統(tǒng)采用基于4層B/S模式結(jié)構(gòu),功能模型如圖1所示,4個(gè)層次分別是客戶(hù)瀏覽器、Web服務(wù)器、數(shù)字簽名應(yīng)用服務(wù)器以及后端數(shù)據(jù)庫(kù)服務(wù)器.本系統(tǒng)模型中的用戶(hù)可以通過(guò)Intranet(異地分校區(qū)用戶(hù)通過(guò)Internet)訪問(wèn)應(yīng)用服務(wù)器的管理中心模塊,進(jìn)行用戶(hù)登記、注冊(cè)、注銷(xiāo)和權(quán)限管理.Web服務(wù)器負(fù)責(zé)把終端用戶(hù)的簽名請(qǐng)求送到數(shù)字簽名應(yīng)用服務(wù)器,并把簽名結(jié)果返回客戶(hù)端.在數(shù)字簽名應(yīng)用服務(wù)器上,個(gè)人單獨(dú)簽名管理模塊實(shí)現(xiàn)個(gè)人單獨(dú)數(shù)字簽名功能,多重簽名管理模塊實(shí)現(xiàn)有序和無(wú)序多重?cái)?shù)字簽名,群簽名管理模塊和代理簽名管理模塊可以進(jìn)行群簽名和代理簽名.數(shù)據(jù)庫(kù)服務(wù)器通過(guò)后端數(shù)據(jù)庫(kù)對(duì)公文相關(guān)數(shù)據(jù)進(jìn)行處理.
圖1 高校網(wǎng)上辦公數(shù)字簽名系統(tǒng)功能模型Fig.1 Function model of digital signature in network-based office system for colleges and universities
高校網(wǎng)上辦公系統(tǒng)中,公文網(wǎng)上流轉(zhuǎn)的總體架構(gòu)如圖2所示.公文流轉(zhuǎn)客戶(hù)端主要有以下功能:產(chǎn)生密鑰對(duì)、上傳公鑰到CA中心、下載經(jīng)CA簽名的證書(shū)、維護(hù)本地證書(shū)列表并與CA中心的證書(shū)列表同步以及進(jìn)行公文的上傳和下載.公文流轉(zhuǎn)服務(wù)器負(fù)責(zé)發(fā)送公文、轉(zhuǎn)發(fā)公文、接收公文以及對(duì)用戶(hù)和公文進(jìn)行管理.證書(shū)服務(wù)器負(fù)責(zé)根據(jù)具體的證書(shū)策略審核申請(qǐng)人身份,由審核結(jié)果決定是否給用戶(hù)頒發(fā)證書(shū).此外證書(shū)服務(wù)器還要進(jìn)行以下處理:證書(shū)撤銷(xiāo)請(qǐng)求(由于各種原因?qū)е伦C書(shū)失效)、發(fā)布證書(shū)和列表、將證書(shū)撤銷(xiāo)列表發(fā)送到目錄服務(wù)器.目錄服務(wù)器提供用戶(hù)的身份信息和證書(shū)查詢(xún),并且保留最新的證書(shū)撤銷(xiāo)列表.
在圖3中展示了公文通過(guò)CA認(rèn)證中心發(fā)送和接收的過(guò)程.通過(guò)公文發(fā)送方和公文接收方的雙向認(rèn)證通信機(jī)制,很好地實(shí)現(xiàn)了公文收發(fā)雙方的不可否認(rèn)性和不可抵賴(lài)性,使網(wǎng)上辦公系統(tǒng)公文流轉(zhuǎn)過(guò)程更加安全穩(wěn)固.
Java的安全性包括兩個(gè)方面:一是Java2平臺(tái)內(nèi)置了Java2安全體系結(jié)構(gòu)核心和Java加密體系結(jié)構(gòu),故它是一個(gè)安全、現(xiàn)成的平臺(tái);二是Java語(yǔ)言所實(shí)現(xiàn)的安全服務(wù)功能,對(duì)安全性要求較高的領(lǐng)域來(lái)說(shuō)是非常重要的.
Applet是執(zhí)行于Web瀏覽器上的一段小Java程序,繼承于java.applet.Applet類(lèi).Applet和HTML的組合,可以建立功能強(qiáng)大的動(dòng)態(tài)界面.
為了避免遠(yuǎn)程下載的Applet危及系統(tǒng)的安全,Java主要采用“沙箱”機(jī)制實(shí)現(xiàn)安全措施,其安全模型提供了Applet類(lèi)裝載器、字節(jié)碼驗(yàn)證器以及安全管理器.Applet類(lèi)裝載器能一直保持對(duì)Java運(yùn)行環(huán)境的控制; Java字節(jié)碼驗(yàn)證器假設(shè)了所有的代碼都是有可能突破系統(tǒng)的安全措施的,從而按級(jí)別進(jìn)行驗(yàn)證;安全管理器的作用就是保衛(wèi)沙箱之間的邊界.這三者結(jié)合起來(lái)可在Applet的裝載與執(zhí)行階段,對(duì)文件系統(tǒng)、網(wǎng)絡(luò)與瀏覽程序的內(nèi)部存取做進(jìn)一步檢查,共同維護(hù)著Java Applet的安全.
研究表明,細(xì)砂巖油層物性最好,含油飽和度高,油層電阻率數(shù)值較高,孔隙度與電阻率等測(cè)井信息間具有很好的對(duì)應(yīng)性。粉砂巖,巖性變細(xì),物性相對(duì)細(xì)砂巖儲(chǔ)層變差,層內(nèi)束縛水飽和度增高,易形成低電阻率油層,電阻率值最低,該類(lèi)油層評(píng)價(jià)難度大,往往造成解釋結(jié)論偏低。泥質(zhì)砂巖、灰質(zhì)砂巖油層物性最差,含油飽和度低,部分泥質(zhì)砂巖油層與粉砂巖油層電阻率存在交叉。
Java Applet默認(rèn)在“沙箱”中運(yùn)行,有很多限制.例如,不能和Applet所在機(jī)器以外的服務(wù)器通信,不能訪問(wèn)用戶(hù)本地資源等.為保證用戶(hù)的安全,在數(shù)字簽名系統(tǒng)中,將Applet簽名程序從服務(wù)器端下載到客戶(hù)端的機(jī)器上運(yùn)行簽名的過(guò)程.如何突破“沙箱”限制,允許簽名過(guò)程訪問(wèn)用戶(hù)本機(jī)系統(tǒng)上的文件,從而獲取用戶(hù)簽名所需的密鑰,對(duì)需要簽名的文件進(jìn)行簽名操作呢?解決的辦法是對(duì)Java Applet類(lèi)進(jìn)行數(shù)字簽名.
在Windows的DOS界面下,進(jìn)入編寫(xiě)的Applet類(lèi)所在的目錄,按以下步驟進(jìn)行.
(1)將編譯生成的Applet類(lèi)打包成jar文件:
此命令生成了一個(gè)名為L(zhǎng)Jkeystore的keystore文件,其中,LJkeystore將用來(lái)存放私鑰(private keys)和公鑰的認(rèn)證,這里別名取為L(zhǎng)JCA.命令執(zhí)行后,系統(tǒng)會(huì)提出一些問(wèn)題,用戶(hù)要根據(jù)實(shí)際情況進(jìn)行填寫(xiě).
(3)使用上面生成的鑰匙來(lái)對(duì)jar包文件進(jìn)行簽名:
當(dāng)簽名后的sign_LJ.jar下載到客戶(hù)端,用戶(hù)驗(yàn)證該簽名并通過(guò)后,sign_LJ.jar中的程序就可以操作客戶(hù)端本機(jī)系統(tǒng)上的資源.
數(shù)字簽名模塊是以Applet的形式下載到客戶(hù)端運(yùn)行,是本系統(tǒng)的核心.主要功能有:生成非對(duì)稱(chēng)密鑰對(duì)、生成對(duì)稱(chēng)密鑰、生成原始文件的信息摘要、加密原始文件、簽名信息摘要,加密對(duì)稱(chēng)密鑰、解密對(duì)稱(chēng)密鑰、解密原始文件、原始文件重新生成信息摘要,解密簽名的信息摘要、摘要對(duì)比等.
基于PKI數(shù)字證書(shū)、Java Applet安全、數(shù)字簽名算法及J2EE相關(guān)技術(shù),可以構(gòu)建起一個(gè)安全的網(wǎng)上辦公系統(tǒng).本系統(tǒng)的開(kāi)發(fā)工具及運(yùn)行環(huán)境:測(cè)試服務(wù)器使用Apache Tomcat 6.0,數(shù)據(jù)庫(kù)使用MS Access 2003,系統(tǒng)界面開(kāi)發(fā)使用Dreamweaver 8,系統(tǒng)頁(yè)面主要語(yǔ)言為Jsp 1.0,系統(tǒng)主要簽名及驗(yàn)證功能代碼使用JDK 1.6編寫(xiě),運(yùn)行時(shí)需要有JRE環(huán)境.
該系統(tǒng)是基于WWW訪問(wèn)模式實(shí)現(xiàn)的,用戶(hù)端需要配備有PC機(jī),安裝支持XML的瀏覽器(IE 5.0、Netscape Navigator 5.0或以上版本).整個(gè)系統(tǒng)的簽名算法采用DSA算法.用戶(hù)端的摘要算法、簽名算法、XML文檔的生成算法用Java Applet實(shí)現(xiàn),服務(wù)器端的接收、發(fā)送、簽名驗(yàn)證、簽名重組、簽名請(qǐng)求分析處理等功能模塊及相關(guān)算法用Java Servlet實(shí)現(xiàn).
該實(shí)現(xiàn)方案的特點(diǎn)是:對(duì)用戶(hù)端的軟硬件要求比較低,用戶(hù)端的加解密的計(jì)算量比較小.測(cè)試結(jié)果表明這一方案在實(shí)際應(yīng)用中是可行的.
服務(wù)器端系統(tǒng)使用Access數(shù)據(jù)庫(kù),主要包括3張數(shù)據(jù)表.①u(mài)ser表:用來(lái)保存用戶(hù)注冊(cè)賬戶(hù)信息,以及管理員賬戶(hù)信息;②upfile表:用來(lái)保存管理員上傳的文件,及文件的簽名,并可響應(yīng)用戶(hù)請(qǐng)求,可被用戶(hù)下載文件及文件的簽名;③key表:用來(lái)保存管理員上傳的公鑰,并可響應(yīng)用戶(hù)請(qǐng)求,可被用戶(hù)下載.
服務(wù)器端簽名功能使用Java編寫(xiě)的Applet小應(yīng)用程序.瀏覽器將其暫時(shí)下載到用戶(hù)的硬盤(pán)上,并在Web頁(yè)打開(kāi)時(shí)在本地運(yùn)行.在已經(jīng)安裝了JRE運(yùn)行環(huán)境之后,管理員登錄,進(jìn)入文件簽名模塊,Applet自動(dòng)運(yùn)行.將此Applet整合到測(cè)試系統(tǒng)中,操作界面如圖4所示.
將JspSmartUpload.jar包存入WEB-INFlib目錄下,實(shí)現(xiàn)文件的上傳,并將文件的路徑寫(xiě)入數(shù)據(jù)庫(kù).管理員測(cè)試簽名通過(guò)驗(yàn)證之后,將文件及簽名上傳至數(shù)據(jù)庫(kù)保存.
瀏覽器端判斷訪問(wèn)者身份,對(duì)未登錄的訪客默認(rèn)為游客身份,只能瀏覽文件和信息,不能對(duì)文件及簽名下載和驗(yàn)證.對(duì)登錄后的非管理員訪客,給予文件及簽名的下載和驗(yàn)證權(quán)限.管理員權(quán)限為全部權(quán)限,能夠上傳、驗(yàn)證文件及簽名.游客訪問(wèn)首頁(yè),只能瀏覽文件,不能實(shí)現(xiàn)其他功能.普通用戶(hù)訪問(wèn)首頁(yè),能夠下載和驗(yàn)證簽名及文件.管理員訪問(wèn)首頁(yè),能夠使用所有功能。
用戶(hù)注冊(cè)登錄之后,下載要查看的文件及相應(yīng)的簽名摘要,保存到本地文件夾下,然后進(jìn)入驗(yàn)證模塊,驗(yàn)證Applet中調(diào)用文件、簽名摘要和公鑰,對(duì)文件進(jìn)行驗(yàn)證.
圖4 管理員簽名及自驗(yàn)證界面Fig.4 Interface of administrator signature and self-validation
(1)網(wǎng)頁(yè)與系統(tǒng)相結(jié)合的優(yōu)化設(shè)計(jì) 使用DIV+ CSS,使頁(yè)面載入得更快;頁(yè)面體積變小,瀏覽器響應(yīng)速度加快,瀏覽速度變快,改善用戶(hù)使用體驗(yàn).DIV+CSS布局能夠保持視覺(jué)的一致性,保持整個(gè)系統(tǒng)各個(gè)頁(yè)面之間風(fēng)格統(tǒng)一,使用DIV+CSS的制作方法,將所有頁(yè)面,或所有區(qū)域統(tǒng)一用CSS文件控制,就避免了不同區(qū)域或不同頁(yè)面體現(xiàn)出的效果偏差,從而保持整個(gè)系統(tǒng)各個(gè)頁(yè)面之間風(fēng)格統(tǒng)一.
(2)數(shù)字簽名系統(tǒng)的人性化設(shè)計(jì) 系統(tǒng)默認(rèn)將對(duì)文件所生成的簽名的命名與相應(yīng)的文件名進(jìn)行關(guān)聯(lián),系統(tǒng)在每個(gè)操作界面均有操作提示,方便用戶(hù)熟悉使用.
針對(duì)高校網(wǎng)上辦公系統(tǒng)存在的安全需求,將PKI技術(shù)應(yīng)用于高校網(wǎng)上辦公系統(tǒng),設(shè)計(jì)了高校網(wǎng)上辦公數(shù)字簽名系統(tǒng)的功能模型和公文流轉(zhuǎn)的總體架構(gòu),并利用Java技術(shù)提供的安全體系分別實(shí)現(xiàn)了公文流轉(zhuǎn)服務(wù)器端和客戶(hù)端的部署.由于特殊數(shù)字簽名的復(fù)雜性和廣泛性,本系統(tǒng)只是實(shí)現(xiàn)了公文的流轉(zhuǎn)簽名,也就是個(gè)人單獨(dú)簽名和有序多重簽名.本系統(tǒng)還有待進(jìn)一步完善,如盲群簽名、代理簽名、證實(shí)簽名等.
[1] ANDREW N.公鑰基礎(chǔ)設(shè)施(PKI)實(shí)現(xiàn)和管理電子安全[M].張玉清,譯.北京:清華大學(xué)出版社,2002.
[2] 楊海波.PKI技術(shù)在校園網(wǎng)中應(yīng)用研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2007.
[3] 趙冰.基于混合密碼體制的數(shù)字簽名方案設(shè)計(jì)[J].河南教育學(xué)院學(xué)報(bào):自然科學(xué)版,2007,16(1):52-54.
[4] MITOMI S,MIYAJI A.A general model of multisignature schemes with message flexibility,order flexibility and order verifiability[J].IEEE Trans Fundamentals,2001,E84-A(10):2488-2499.
[5] 王慶梅,吳克力,劉鳳玉.具有消息認(rèn)證功能的多重?cái)?shù)字簽名方案[J].計(jì)算機(jī)工程,2003,29(19):13-15.
[6] 王尚平,王育民,王曉峰,等.群簽名中成員刪除問(wèn)題的更新算子解決方案[J].軟件學(xué)報(bào),2003,14(11):1911-1917.
[7] 譚曉榮.特殊數(shù)字簽名在校園網(wǎng)辦公系統(tǒng)中的應(yīng)用研究[D].重慶:西南大學(xué),2006.
[8] 郭改文,丁穎.高校網(wǎng)上辦公系統(tǒng)PKI方案設(shè)計(jì)與實(shí)現(xiàn)[J].河南教育學(xué)院學(xué)報(bào):自然科學(xué)版,2010,19(4):41-43.
Design and Implementation of One Digital Signature System of Network-Based Office for Colleges and Universities
GUO Gai-wen
(Department of Information Technology,Henan Institute of Education,Zhengzhou450046,China)
Aiming at the security requirements of online office of colleges and universities,the technology of public key infrastructure(PKI)is applied in network-based office system.The function model of digital signature and the general framework of document circulation are designed based on PKI of online office system for colleges and universities.The distribution of server and client of document circulation is realized by the security system of Java.
colleges and universities;public key infrastructure(PKI);digital signature;document circulation;Java
TP309.2
A
1007-0834(2012)01-0032-04
10.3969/j.issn.1007-0834.2012.01.011
2011-11-20
河南省科技廳重點(diǎn)攻關(guān)項(xiàng)目(082102210059);河南省高等學(xué)校青年骨干教師資助計(jì)劃(2009GGJS-139)
郭改文(1971—),女,河南鄧州人,河南教育學(xué)院信息技術(shù)系副教授,博士,研究方向:智能計(jì)算、計(jì)算機(jī)網(wǎng)絡(luò)及信息安全.