999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Word的電子公章系統的研究

2008-12-31 00:00:00臧金梅
計算機應用研究 2008年11期

(中國民航大學 計算機科學與技術學院, 天津 300300)

摘要:為保證電子公文的安全傳輸,提出了一種基于MD5算法、RSA算法和USBkey等技術的電子公章系統的設計方案。該系統能夠保證文檔信息的有效性、可認證性和不可抵賴性。實驗證明符合傳統公文的要求,易于被用戶接受,在電子商務、電子政務及其他電子辦公領域有較高的應用價值。

關鍵詞:數字簽名;電子公章;消息摘要算法5;RSA;USBkey

中圖分類號:TP3092文獻標志碼:A

文章編號:1001-3695(2008)11-3398-03

Research of electronic seal system based on Word

LI Guo,ZANG Jin-mei,WANG Li

(School of Computer Science Technology, Civil Aviation University of China, Tianjin 300300, China)

Abstract:In order to guarantee the safety of electronic official document paper,this paper put forward the plan of the electronic seal system with the technologies of MD5, RSA and USBkey. The system guaranteed the validity, authentication and non-repudiation of the documents. It proves that the system accords with traditional documents and is easy to be accepted by users. And the system is of good use in electronic commerce, electronic government and other electronic official field.

Key words:digital signature; electronic seal; MD5(message-digest algorithm 5); RSA; USBkey



隨著計算機技術的發展,信息安全越來越受到人們的關注。信息安全可靠的傳遞是電子政務、電子商務應用的前提。在電子文檔的傳送過程中,文檔的有效性和真實性是必須考慮的問題,數字簽名的出現有著極為重要的意義。雖然《電子簽名法》的頒布賦予了電子簽名與手寫簽名同等的法律地位,但電子簽名可見性較差,不易被用戶接受,沒有得到普及和推廣。而傳統的打印—加蓋公章后的文件人工傳送費用高、效率低。如果能對電子公文蓋上電子公章,而電子公章本身又具有數字簽名的合法性,用網絡傳送電子公文的問題將得到解決。所謂數字簽名是通過某種密碼運算生成一系列符號及代碼組成電子密碼進行簽名,以代替書寫簽名或印章。對于這種電子式的簽名還可進行技術驗證,其驗證的準確度是一般手工簽名和圖章的驗證無法比擬的[1]。它實際上是一個加密的信息摘要,即用簽名者的私鑰加密哈希值就構成了一個數字簽名,可用來保證網絡信息在傳輸過程中的完整性、信息發送者的身份可認證性和不可抵賴性,是保證網絡中傳輸的數據沒有被非法竄改的主要手段,可以解決否認、偽造、竄改及冒充等問題。

1電子公章系統功能概述

電子公章從其表現形式來看,可以理解為傳統印章和手寫簽名的電子化,其功能類似使用在紙制文檔上的傳統印章或手寫簽名。電子印章所面向的對象是電子文檔,這就使得對電子印章的要求變得相對復雜。因此,電子印章不可能等同于簡單的電子圖片,它必須具有以下幾種功能:a)直觀性。像傳統印章或手寫簽名一樣,符合用戶的習慣,給用戶帶來方便。b)保護電子文檔的完整性。電子文檔不能輕易被竄改;如果電子文檔已經被竄改,驗證時能夠被檢測出來。c)保護電子公章的安全性。電子印章不能輕易被盜用或是偽造。d)蓋章人或電子公章的不可否認性。應可以獲得電子印章的頒發者、所有者、使用者以及使用時間等信息。

傳統意義上的加密就是防止信息泄露,其基本過程是將消息(明文)經過某種算法進行加密,形成密文;再經過解密將密文轉變為明文,以達到信息不被竊取的目的。本文設計的電子公章系統的作用并不是防止信息泄露,而是防止文件內容被否認、偽造、竄改及冒充等問題,與傳統的文件加密概念有著明顯的區別。因此,設計過程中加密算法的實現不是本文研究的主要內容,重點是放在如何防止文件內容的否認、竄改上。

本文所研究的基于Word的電子公章系統利用數字簽名及加/解密的原理,將數字簽名與印章圖像相結合,利用USBkey來保存數字證書和私鑰,有效解決文檔信息的有效性、可認證性和不可抵賴性等信息安全問題。

2電子公章系統處理流程

在基于Word的電子公章系統中,由于加蓋公章的載體是Word文檔,這就需要將蓋章與Word文檔緊密結合起來。然而Word編輯器沒有相關的應用實現這方面的要求,因此必須使用VBA這一Word的二次開發工具對其進行二次開發[2]。電子公章系統主要是利用VBA基于對象的開發技術,開發電子公章系統的工具欄,在Word中創建工具欄對象,調用Crypto API庫實現具體的加/解密過程,從而實現對Word文檔內容的電子簽名與驗證,并將驗證的結果通過印章圖像直觀地顯示出來。本文設計的電子公章系統是基于非對稱加密的,不僅可以防止電子文檔被竄改,而且能驗證發件人的身份,更好地實現了電子公章系統的功能。其原理圖如圖1所示。

3關鍵技術分析

31VBA實現工具欄的具體操作

VBA將 MicrosoftOffice中的每一個應用程序都看成一個對象。每個應用程序都有各自的application對象[3]。在Word中,application對象包含了Word的菜單欄、工具欄、Word命令等相應對象以及文檔對象等。工具欄對象包含了各種命令按鈕;文檔對象則包含了所有的文字、表格、圖像等文檔組成部分的相應對象。該工具欄采用基于對象的開發技術,以工具欄的形式實現與用戶的友好界面接口,通過工具欄對象操作文檔對象,通過OnAction屬性來實現按鈕具體的操作。最后Office ODE版(Office開發版)將VBA編寫的程序進行封裝,這樣就可以實現電子公章系統在Word中接口模塊的功能。

32CryptoAPI應用原理

CryptoAPI是Microsoft提供的加密應用程序接口。其功能是為應用程序開發者提供在Win32環境下使用加密、驗證等安全服務時的標準加密接口,而不必考慮基本的算法。CryptoAPI同樣也使用兩種密鑰,即會話密鑰和公共/私人密鑰對。CryptoAPI支持流式編碼和塊編碼兩種基本的編碼方法。流式編碼在明碼文本的每一位上創建編碼位,速度較快,但安全性較低;塊編碼在一個完整的塊上(一般為64 bit)上工作,需要使用填充的方法對要編碼的數據進行舍入,以組成多個完整的塊。這種算法速度較慢,但更安全[4]。基于安全性的考慮,本系統采用塊編碼。

為完成數學計算,必須具有密碼服務提供者模塊CSP(cryptographicservice provider)。它是一個真正執行加密功能的獨立模塊。物理上一個CSP由兩部分組成,即一個動態鏈接庫和一個簽名文件。每個CSP的名字是惟一的,而類型則不是。

目前已有九種預定義的CSP類型,它們有自己支持的密鑰交換算法、簽名算法、對稱加密算法和hash算法。使用函數CryptAcquireContext給出欲選擇的CSP的名稱參數和類型參數,該函數返回一個指向被選擇的CSP的句柄。每個CSP有一個密鑰庫。密鑰庫用于存儲密鑰。每個密鑰庫包括一個或多個密鑰容器(key containers)。每個密鑰容器中屬于一個特定用戶的所有密鑰對。每個密鑰容器被賦予一個惟一的名字;以這個名字作為函數CryptAcquireContext的參數,從而獲得指向這個密鑰容器的句柄[5]。

本文在電子印章系統中使用的是PROV_RSA_FULL類型,MD5生成信息摘要,然后用RSA加/解密信息摘要。

以下幾個函數用于實現加密和數字簽名:

a)CryptCreateHash Lib \"advapi32.dll\" (ByVal hProv As Long, ByVal algID As Long, ByVal hKey As Long, ByVal dwFlags As Long, ByRef phHash As Long) As Long:創建hash對象,它返回CSP散列對象的句柄。

b)CryptHashData Lib \"advapi32.dll\" (ByVal hHash As Long, ByVal pbData As String, ByVal dwDataLen As Long, ByVal dwFlags As Long) As Long:該函數用來從提供的數據中計算密碼散列。

c)CryptDeriveKey Lib \"advapi32.dll\" (ByVal hProv As Long, ByVal algID As Long, ByVal hBaseData As Long, ByVal dwFlags As Long, ByRef phKey As Long) As Long:從指定的密碼hBaseData產生密鑰phKey。

33USBkey技術

在數字簽名的具體應用中,必須考慮各個環節的安全。數字證書和私鑰是整個系統中最關鍵的部分,必須保證其安全性,在此需要設置身份認證。目前,身份認證的手段主要有用戶名/密碼、IC卡、動態口令、生物特征、USBkey等幾種[6],而基于USBkey的身份認證方式是近幾年發展起來的一種方便、安全、可靠的技術,它采用一次一密的強雙因子認證模式,很好地解決了身份認證的安全可靠性,并提供USB接口與現今的電腦通用[6]。USBkey是一種USB接口的小巧的硬件設備,內置了CPU、存儲器、芯片操作系統(COS),可以存儲用戶的密鑰或數字證書,利用USBkey內置的密碼算法實現對用戶身份的認證。

每一個USBkey都具有硬件PIN碼保護。PIN碼和硬件構成了用戶使用USBkey的兩個必要因素。但是PIN碼是在用戶電腦上輸入的,黑客可以通過程序截獲用戶PIN碼,用戶不及時取走USBkey,黑客就可以通過截獲的PIN碼來取得虛假認證,仍然存在安全隱患。動態口令技術是一種讓用戶密碼按照時間或使用次數不斷變化、每個密碼只能使用一次的技術。由于每次使用的密碼必須由動態令牌或動態密碼卡來產生,在本系統中將動態口令與USBkey這兩種身份認證方法結合起來,使得PIN碼通過動態生成,黑客截取的PIN碼就是一次性的,以保證其安全傳輸。

4電子公章系統工具欄的設計與實現

41功能模塊設計

本系統有四個功能:蓋章、簽章、驗章、文件發送。其中文件發送通過調用Outlook實現。另外三個功能對應三個工具按鈕,點擊任一個都出現一系列對話框,進行向導式的操作。之所以把蓋章和簽章分別做成兩個功能,是因為實際工作中,蓋章和簽章可能由兩人完成;另外,蓋章和簽章如果做成一個向導,技術上恐怕不行。系統功能模塊具體如圖2所示。

42蓋章模塊的實現

在這個模塊中,主要實現蓋章的功能。要選擇圖章文件,默認是最近使用的圖章。圖章用口令保護。選擇圖章文件后,圖章嵌入到Word文件中,且圖章自動浮于文字上方。蓋章后的文章仍然是可以改動的。

43簽章模塊的實現

這個模塊的作用就是進行加密操作。選擇要使用的數字證書,并提示用戶簽名后的文件不能再修改;然后執行后臺操作,用MD5對原文hash,用RSA對hash加密。下面是進行加密操作的部分代碼:

bEncrypted=oCrypto.Encrypt(StrConv(unEncryptedhash, vbFrom-Unicode), _key, frezBlockEncryption)’加密操作

encryptedtext=oCrypto.ConvertStringToHex(bEncrypted)

’轉成十六進制

Set oCrypto=Nothing

ActiveDocument.CustomDocumentProperties.Add _Name:=\"bEncrypted\", LinkToContent:=False,Value:=bEncrypted, _Type:=msoPropertyTypeString 

ActiveDocument.Save

fname=ActiveDocument.Name

fpath=ActiveDocument.Path

SetAttr fpath \"\\\" fname,vbReadOnly’改變文件的屬性為只讀

MsgBox \"簽名已經完成,現在您可以發送郵件\"

ActiveDocument.Save

WordBasic.MicrosoftMail’調用Outlook

’Options.SendMailAttach=True

’ActiveDocument.SendMail

’ActiveDocument.Close

44驗章模塊的實現

選擇匹配的數字證書進行驗章。用證書的公鑰對屬性中加密后的hash解密得到密文,同時比較原文再進行一次hash得到的結果。若一致,證明文件未被竄改,發件人身份有效;若不一致,印章發生變化,提示用戶“用戶文件被竄改過,發件人身份無效”。

hexbEncrypted=ActiveDocument.CustomDocumentProperties(1).Value

bDecrypted=oCrypto.Decrypt(hexbEncrypted, _key, frezBlockEncryption)

Decryptedhash=StrConv(bDecrypted, vbUnicode)

Set myRange = ActiveDocument.Range

myRange.Select

unciphertext=Selection.Text

hash=oMD5.MD5(unciphertext)

Set oCrypto=Nothing

然后比較Decryptedhash和hash,確定發件人身份,或者是否被竄改過。

5實驗結果

由于公鑰公開,任何人都可以對文檔的有效性進行驗證。如果文件未被竄改,提示“用戶文件未被竄改,發件人身份有效”,如圖3所示;若文件被竄改,提示“用戶文件被竄改過,發件人身份無效”,如圖4所示。

6電子印章安全性分析 

本系統的安全性主要表現在以下幾個方面:

a)信息的有效性。由hash函數的特性可知,即使信息在傳輸過程中被竄改,真實性被破壞,接收方重新計算出的摘要不同于發送者的公鑰解密出的摘要,會提示該文件無效,不是發送者最初發送的消息。

b)信息的不可抵賴性。由于只有信息的發送方持有自己的私鑰,其他人不能冒用其身份,發送方無法否認他曾經發送過該消息。

7結束語

本文設計的電子公章系統通過數字證書保證了簽名的不可抵賴性,通過加/解密的驗證來保證文檔的有效性,利用USBkey保證數字證書和私鑰的安全性,使用Word的二次開發工具VBA來對其進行二次開發,方便易行。故該系統的開發具有廣闊的應用前景。

參考文獻:

[1]

數字電子簽名的概念及技術實現全面解析[EB/OL].(2006-10-15).http://www.laogu.com/wz_3037.htm.

[2]王飛,湯光明,孫怡峰,等.基于易損水印和數字簽名的電子印章系統[J].計算機應用研究,2004,21(4):118-121.

[3]GOEL T,CHAUDHARY R.VBA專業項目實例開發[M].王曉娟,陳代川,等譯.北京:中國水利水電出版社,2003.

[4]CUICK.Microsoft CryptoAPI加密技術(一)[EB/OL].http://www.vckbase.com/document/viewdoc/?id=974.

[5]姚巍.Windows API函數在Visual Basic中的應用實例[M].北京:人民郵電出版社,2003.

[6]生物識別智能卡公匙三種技術的有機整合[EB/OL].(2007-01-27). http://www.jinruiword.com/Article/zixun/xinwen/0184745.html.

[7]郭正榮,周城.基于PKI的電子簽章系統的實現[J].計算機科學,2006,33(9):83-84.

主站蜘蛛池模板: 亚洲 日韩 激情 无码 中出| 在线视频一区二区三区不卡| 久久综合九九亚洲一区| AⅤ色综合久久天堂AV色综合| 国产一在线观看| 国产成人亚洲无码淙合青草| 2021精品国产自在现线看| 国产在线精品人成导航| 国产成人综合日韩精品无码不卡| av手机版在线播放| 国产精品久久久久久久久| 久久99热66这里只有精品一| 精品伊人久久久久7777人| 久久人与动人物A级毛片| 亚洲精品爱草草视频在线| 国产后式a一视频| 99久久精品久久久久久婷婷| 国产女人喷水视频| 国产精品专区第一页在线观看| 在线播放国产99re| 欧美成人午夜视频免看| 日韩一区精品视频一区二区| 黑人巨大精品欧美一区二区区| 伊在人亞洲香蕉精品區| 成人va亚洲va欧美天堂| 99热这里只有精品免费| 国产视频a| 5388国产亚洲欧美在线观看| 日韩av无码精品专区| 91福利免费视频| www.亚洲天堂| 欧美成人亚洲综合精品欧美激情| 亚洲综合色在线| 国产精品第三页在线看| 亚洲欧美日韩成人高清在线一区| 国产成人综合网在线观看| 99国产精品一区二区| 国产成人综合亚洲欧美在| 国产高清又黄又嫩的免费视频网站| 91久久偷偷做嫩草影院| 天天爽免费视频| 亚洲欧美不卡| 91在线激情在线观看| 久久综合亚洲鲁鲁九月天| 欧美在线综合视频| 国产精品一区二区无码免费看片| 国产精品成人久久| 91伊人国产| 一级全黄毛片| 一本大道东京热无码av| 国产综合精品一区二区| 久久香蕉国产线看观看式| 一级成人欧美一区在线观看| 国产欧美日韩资源在线观看| 亚洲av无码成人专区| 国产91视频免费| 国产精品白浆无码流出在线看| 国产在线啪| 亚洲va精品中文字幕| 日韩在线影院| 四虎精品黑人视频| 国产性精品| 欧美激情视频二区三区| 永久免费无码日韩视频| 国产福利在线免费观看| 欧美无遮挡国产欧美另类| 国产自在自线午夜精品视频| 久久婷婷国产综合尤物精品| 欧美另类图片视频无弹跳第一页 | 国产精品私拍在线爆乳| 午夜色综合| 国内精自线i品一区202| 波多野结衣一区二区三区AV| 在线免费不卡视频| 国产精品女熟高潮视频| 亚洲最猛黑人xxxx黑人猛交| 91亚洲视频下载| 精品伊人久久久香线蕉| 久青草国产高清在线视频| 丁香六月综合网| 久久大香香蕉国产免费网站| 偷拍久久网|