馬英輝 王婭云 孫軍芳 王鈺琳
(國網(wǎng)青海省電力公司信息通信公司,青海西寧 810000)
電子簽章在眾多企業(yè)事務(wù)的辦公與處理中起著十分重要的作用,是保障企業(yè)內(nèi)部管理系統(tǒng)穩(wěn)定運(yùn)行的基礎(chǔ)設(shè)施。電子簽章系統(tǒng)是在自動(dòng)化辦公中廣泛應(yīng)用的軟件產(chǎn)品,需要我們在保證電子文檔有效性的同時(shí),對系統(tǒng)的處理效率及穩(wěn)定運(yùn)行進(jìn)行深入研究[1]。為此,研究并設(shè)計(jì)了OFD 版式文件電子簽章系統(tǒng)。通過設(shè)計(jì)系統(tǒng)主控芯片和調(diào)試電路等硬件部分,保證系統(tǒng)基本功能的實(shí)現(xiàn),結(jié)合系統(tǒng)簽章管理、OFD 文檔解析、水印嵌入及簽章驗(yàn)證等模塊,實(shí)現(xiàn)電子簽章系統(tǒng)的設(shè)計(jì),以期解決常規(guī)電子簽章系統(tǒng)處理速度慢、運(yùn)行效率低的問題。
電子簽章系統(tǒng)的總體架構(gòu)主要包括用戶端、簽章運(yùn)行服務(wù)器和數(shù)據(jù)證書3 個(gè)部分。用戶端在系統(tǒng)中的存在形式為ActiveX 組件,為系統(tǒng)與客戶端提供較為豐富的開發(fā)接口;簽章運(yùn)行服務(wù)器能夠支持簽章生成、簽章管理以及簽章日志搜索等基本功能;數(shù)字證書為CA 模式,負(fù)責(zé)簽章證書的申請、校驗(yàn)、查詢與注銷[2]。電子簽章系統(tǒng)的體系結(jié)構(gòu)如圖1 所示。
圖1 電子簽章系統(tǒng)的體系結(jié)構(gòu)
綜合考慮系統(tǒng)需求與成本,經(jīng)過比選,最終決定采用增強(qiáng)型STM32F103RCT6 芯片作為系統(tǒng)的主控芯片,控制整個(gè)電子簽章系統(tǒng)的基礎(chǔ)運(yùn)行與功能實(shí)現(xiàn)。此芯片采用的是ARM32 位的內(nèi)核架構(gòu),LQFP64 封裝,工作頻率高達(dá)72MHz。該芯片有256KB 的FLASH 和48KB 的RAM,以及20KB 的內(nèi)置SRAM。該芯片正常工作時(shí)的最大電流約為150mA,且包含多個(gè)標(biāo)準(zhǔn)的I/O 端口,故可以對系統(tǒng)總線進(jìn)行外設(shè)連接[3]。同時(shí)包括3 個(gè)通信接口、5 個(gè)SPI 接口以及2 個(gè)CAN 接口,如DWM1000 模塊以及OLED 顯示模塊和主控單元之間的通信。除此之外,該芯片還附帶2個(gè)可以進(jìn)行代碼調(diào)試和信息傳輸?shù)亩喙δ艽凇?/p>
為保證系統(tǒng)的穩(wěn)定運(yùn)行,需要對轉(zhuǎn)換電路和主控單元進(jìn)行調(diào)節(jié),在系統(tǒng)原有硬件的基礎(chǔ)上,進(jìn)一步擴(kuò)大系統(tǒng)應(yīng)用的動(dòng)態(tài)范圍,提高系統(tǒng)安全性。根據(jù)要求,將系統(tǒng)的調(diào)試電路利用插件中內(nèi)置的插針作為硬件的輸入接口,參照硬件設(shè)計(jì)原理及系統(tǒng)的整體布局,為易于實(shí)現(xiàn)系統(tǒng)的基本功能,將含有7 個(gè)輸入端的連接器作為調(diào)試電路的核心控制器。
從系統(tǒng)的整體功能而言,設(shè)計(jì)的系統(tǒng)主要由印章制作、簽章管理與簽章應(yīng)用等模塊組成。印章制作主要用來生成不同類別的印章,其中包含方形、圓形等;簽章管理對系統(tǒng)中已經(jīng)存在的簽章信息進(jìn)行定期更新與審核;簽章應(yīng)用是系統(tǒng)的最后一個(gè)環(huán)節(jié),主要針對OFD 文檔,對于審核通過的簽章信息,向其發(fā)送相應(yīng)的數(shù)字證書,并將此證書與簽章信息存儲(chǔ)到用戶端的管理模塊中,同時(shí),還可為用戶提供數(shù)字證書等相關(guān)服務(wù),并記錄簽章的歷史使用情況[4]。系統(tǒng)中的應(yīng)用模塊主要依托于Word,實(shí)現(xiàn)對OFD 版式文檔及其他格式文檔的驗(yàn)證功能。通過分析,對含有版式文檔OFD 的電子簽章系統(tǒng)軟件進(jìn)行劃分,即簽章生成與管理模塊、OFD 文檔解析模塊、水印嵌入模塊和簽章驗(yàn)證模塊。
該模塊主要負(fù)責(zé)簽章的制作與后期管理。在此模塊中,共包含了方形印章、圓形印章及其他多種類型的印章,并對所有印章進(jìn)行統(tǒng)一管理,管理內(nèi)容包括數(shù)字證書的選擇、印章刻制日期、刻制記錄、刻制類型及簽章柜等信息。在刻制印章前,需要先確定印章類型與印章證書。證書主要來自系統(tǒng)后臺(tái)的證書數(shù)據(jù)庫,其中包括證書的頒發(fā)機(jī)構(gòu)、有效時(shí)間、序列號(hào)以及私鑰說明等。
由于OFD 文檔的特性,解析需要采用ZIP 解壓技術(shù)和基于DOM4J 的XML 解析技術(shù)來完成。文檔解析流程圖,如圖2 所示。
圖2 OFD文檔解析流程圖
從OFD 文檔解析流程圖2 可知,OFD 文檔的解析首選使用ZIP 技術(shù)對文檔數(shù)據(jù)進(jìn)行解壓縮,如果解壓失敗,證明OFD 文檔被損壞,則解析流程結(jié)束。如果解壓成功,需要在解壓的文件中找到OFD、xml 文件,解析OFD、xml 文件中的頁面數(shù)據(jù)配置路徑、資源文件配置路徑、簽名文件路徑[5-7]。獲取頁面數(shù)據(jù)、資源文件以及簽名文件,完成OFD 文檔解析。
在嵌入水印前,需要先生成水印,生成方法如下:將用戶的簽名信息利用二進(jìn)制編碼的形式進(jìn)行保存;將此編碼發(fā)送至電子公文的接收端,獲得摘要;對摘要進(jìn)行數(shù)字簽名,得到簽名數(shù)據(jù),即為將要嵌入簽章的水印。
假設(shè)簽章圖像的原始尺寸為N×N,根據(jù)編碼形式將圖像進(jìn)行分割,得到x×y個(gè)相互獨(dú)立的子塊。對每個(gè)子塊分別進(jìn)行離散余弦變換處理,公式為
式中,F(xiàn)(u,v)表示版式圖像經(jīng)過離散變換后的高頻特征,也稱為交流因子;f(0,0)表示變換后的低頻特征,也稱為直流因子;f(x,y)表示分割后的簽章圖像。
經(jīng)過離散余弦變換后的印章圖像包含的主要有效信息均會(huì)被集中到直流因子中,次要的信息被集中到交流因子中??赏ㄟ^修改交流因子,將水印的每一位都嵌入印章圖像的子塊中,降低圖像的清晰度,達(dá)到嵌入水印的目的。
在系統(tǒng)中插入Active X 控件,根據(jù)簽章方案對簽章進(jìn)行驗(yàn)證。該空間具有兩種模式,即激活模式和非激活模式。打開電子文檔時(shí),處于激活模式的印章控件會(huì)對文檔中的所有印章進(jìn)行全局遍歷,得到印章分量;處于非激活模式的控件根據(jù)分量值提取出水印信息,利用簽章檢驗(yàn)代碼,驗(yàn)證簽章的真實(shí)性。
根據(jù)測試要求及系統(tǒng)的功能,采用本地、聯(lián)機(jī)的方式對系統(tǒng)進(jìn)行性能測試。具體測試準(zhǔn)備如下:系統(tǒng)總運(yùn)行服務(wù)器為Dell Server PER720,內(nèi)存24GB,外接硬盤48GB,滿足系統(tǒng)運(yùn)行需要;操作系統(tǒng)為主流嵌入式系統(tǒng)RTOS,能夠支持多種類型的數(shù)據(jù)庫與服務(wù)器;Web 服務(wù)器為Apache Tomcat 6.0;印章控件為WebOffce.exe、loadweboffice.js,且在運(yùn)行前均處于非激活模式;其他設(shè)備包括Auto USB KEY、OpenSSL 0.9.8e、VS2010、Eclipse。
對系統(tǒng)的測試采用單一規(guī)則測試方案,具體如表1 所示。
表1 測試方案說明
系統(tǒng)在理論上實(shí)現(xiàn)了OFD 文檔版式的簽章功能,為確保OFD 文件的真實(shí)性與完整性,在系統(tǒng)測試中,采用OCSP 的實(shí)時(shí)在線驗(yàn)證功能,當(dāng)系統(tǒng)接收到并發(fā)請求后,進(jìn)入蓋章環(huán)節(jié),同時(shí)發(fā)送操作日志到簽章服務(wù)器,完成整個(gè)簽章與驗(yàn)章流程。
為直觀地體現(xiàn)設(shè)計(jì)的簽章系統(tǒng)的整體優(yōu)勢,同時(shí)采用基于PKI 的電子簽章系統(tǒng)(系統(tǒng)1)、基于環(huán)簽名的電子簽章系統(tǒng)(系統(tǒng)2)與設(shè)計(jì)的系統(tǒng)做對比測試,統(tǒng)計(jì)3 種系統(tǒng)在表1 測試方案不同測試方式下的吞吐量,比較不同電子簽章系統(tǒng)的處理速度。對比結(jié)果如圖3 所示。
圖3 不同系統(tǒng)吞吐量對比結(jié)果
從圖3 可以看出,在簽章文件大小方面,設(shè)計(jì)的系統(tǒng)吞吐量均遠(yuǎn)大于其他兩種系統(tǒng),可見設(shè)計(jì)的系統(tǒng)處理速度較快。系統(tǒng)1 與系統(tǒng)2 的核心技術(shù)主要面對單用戶簽章,在印章管理和計(jì)算量上存在較大問題,故處理速度相對較慢。因此,通過比較分析可知,設(shè)計(jì)的系統(tǒng)可以快速處理簽章文件,能夠穩(wěn)定高效地運(yùn)行。
本研究針對傳統(tǒng)電子簽章系統(tǒng)的缺陷及ODF 版式文件,設(shè)計(jì)了一種電子簽章系統(tǒng),并通過系統(tǒng)調(diào)試實(shí)現(xiàn)了基本功能,相較于傳統(tǒng)系統(tǒng),其處理效率有了極大的提高。然而該系統(tǒng)還存在諸多不足,在未來的發(fā)展中,可通過改進(jìn)水印嵌入及數(shù)字簽名算法的方式,進(jìn)一步提高系統(tǒng)的穩(wěn)定性能。