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

數(shù)字簽名在電子文件接收中的應用

2011-06-22 08:32:16楊文剛
北京檔案 2011年5期
關鍵詞:信息

楊文剛

摘要:在檔案館數(shù)字化建設中,電子文件作為檔案實體移交到檔案館,比起紙質(zhì)檔案存在著很多安全隱患。介紹數(shù)字簽名的加密技術,掌握數(shù)字簽名與簽名驗證的原理,利用微軟的集成軟件Visual Studio2005開發(fā)并建立以CA為核心PKI體系模塊,實現(xiàn)電子文件在移交、接收、存檔過程中不被做任何修改,最終保證電子文件的真實性、完整性、原始性以及不可否認性。

關鍵字:數(shù)字簽名 公鑰加密 RSA 電子文件

在數(shù)字化檔案館的建設中,電子文件作為數(shù)字檔案的實體,在檢索利用方面給檔案工作人員帶來了很大的方便。不過,電子檔案的安全性比起紙質(zhì)檔案又相差很遠。任何一個人都可以在計算機上對電子文件進行修改,電腦病毒的侵蝕也可能會導致原始電子文件被篡改。與此同時,檔案作為一種嚴肅、真實、敏感的信息載體,特別是黨政類的文書檔案,它會直接或間接地關系到組織的發(fā)展與檔案利用者的利益。這就要求我們建立的電子檔案必須要具備真實性、完整性、原始性及不可否認性。而數(shù)字簽名技術的引入恰恰為解決這個問題提供了理論基礎和技術的可行性。同時,《中華人民共和國電子簽名法》的頒布實施,也為數(shù)字簽名在電子文件中的應用提供了法律的依據(jù)和保障。

一、需求分析與解決方案

1.需求分析

我校檔案館以往對電子文件的收集都是采取磁盤、USB存儲設備等拷貝電子文件,然后打印移交目錄并由電子文件形成部門負責人和檔案接收負責人一一核對后簽字,這樣做不僅浪費了檔案工作人員在收集過程中投入的時間和精力,降低了工作效率。而且在電子文件的安全性方面也存在著隱患,特別是當電子文件信息與實際信息不一致的時候,沒有人或一個仲裁能夠準確判斷出電子文件是在創(chuàng)建的過程中被修改了,還是在接收以后保管的過程中被修改了。如果這個問題不能解決,電子文件的存在價值也就失去了意義。所以,我校檔案館在電子文件接收的過程中,要建立一個電子文件接收平臺,實現(xiàn)以下功能:一是能夠識別電子文件發(fā)送者的身份;二是保證電子文件在建立、發(fā)送、接收、存儲這四個階段不被篡改;三是保證經(jīng)過電子簽名后的電子文件,不能被電子文件的簽名者所否認。

2.解決方案

建立以CA(Certificate Authority)為核心的公鑰基礎設施(Public Key Infrastructure 簡稱PKI)體系,通過CA簽發(fā)證書給電子文件發(fā)送者,并通過證書來識別他的身份。運用數(shù)字簽名技術實現(xiàn)電子文件不被改動,并保證經(jīng)過電子簽名的電子文件不能被該文件簽名者所否認。

在PKI體系中,需要兩臺服務器,一臺服務器用于CA的應用服務器,另一臺服務器用于CA的證書數(shù)據(jù)庫服務器,操作流程可分為如下三個階段:如圖1

圖1 PKI系統(tǒng)的操作流程

(1)證書簽發(fā)階段

①電子文件的發(fā)送者(即電子文件創(chuàng)建者,以下稱為發(fā)送者)向CA應用服務器申請證書。

②CA應用服務器響應申請,產(chǎn)生證書和一對密鑰即公鑰與私鑰,并將證書信息與公鑰存入CA的證書數(shù)據(jù)庫中。

③CA應用服務器將證書信息和私鑰返回給證書申請者。私鑰的存儲介質(zhì)一般包括硬盤、U盤、IC卡及USB智能卡,為了安全起見,我們?yōu)樽C書申請者選用USB智能卡來存儲私鑰。

(2)數(shù)字簽名階段

①發(fā)送者提交要發(fā)送的電子文件、證書和存在USB智能卡中的私鑰到CA的應用服務器,申請數(shù)字簽名。

②CA應用服務器根據(jù)證書對發(fā)送者進行身份識別,同時響應申請,通過邏輯算法,將電子文件的數(shù)字簽名返回給發(fā)送者。

(3)簽名驗證階段

①發(fā)送者將電子文件的明文與電子文件的數(shù)字簽名發(fā)送給接收者。

②接收者將收到電子文件的明文與電子文件的數(shù)據(jù)簽名提交給CA應用服務器,申請驗證。

③CA應用服務器從證書服務器中提交公鑰,利用公鑰解密數(shù)字簽名,并通過邏輯算法來驗證電子簽名是否合法,電子文件是否被改動。

④接收者得到CA應用服務器響應返回的驗證結果。

二、數(shù)字簽名技術及其原理

數(shù)字簽名是基于非對稱加密技術基礎上的一種應用①。非對稱加密技術又稱為公鑰加密,密鑰是由公鑰和私鑰組成的。數(shù)字簽名是利用私鑰加密來簽名,再用公鑰解密來驗證。在通信中,通過信息明文計算出單項散列值,這個值往往是固定長度的,我們稱這個值為消息摘要,然后我們用私鑰對這個消息摘要進行加密得到的就是數(shù)字簽名②。數(shù)字簽名包括兩個過程:數(shù)字簽名與簽名驗證。我們假設A要發(fā)送數(shù)據(jù)C給B,并保證A不能否認數(shù)據(jù)C是A發(fā)送給B的數(shù)據(jù)C,可以參考圖2來說明數(shù)字簽名與驗證的過程。

1.數(shù)字簽名過程

①A用Hash函數(shù)加密數(shù)據(jù)C,得到:[Hash(數(shù)據(jù)C)],即消息摘要

②A用自己的私鑰對消息摘要加密,得到:[私鑰(Hash(數(shù)據(jù)C))],即數(shù)字簽名

③A將數(shù)據(jù)C及數(shù)字簽名發(fā)送給B,發(fā)送:[(數(shù)據(jù)C)+ 私鑰(Hash(數(shù)據(jù)C))]

2.數(shù)字驗證過程

①B接收到信息:[(數(shù)據(jù)C)+ 私鑰(Hash(數(shù)據(jù)C))]

②B用相同的Hash算法算出數(shù)據(jù)C的消息摘要,得到:[Hash(數(shù)據(jù)C)]

③B用A的公鑰對數(shù)字簽名解密,即解密[私鑰(Hash(數(shù)據(jù)C))],得到[公鑰(私鑰(Hash(數(shù)據(jù)C)))]

如果通過公鑰能計算出[公鑰(私鑰(Hash(數(shù)據(jù)C)))],說明[私鑰(Hash(數(shù)據(jù)C))]是A發(fā)送的,即數(shù)字簽名是A本人的,沒有冒充。

④比較上面第2、3兩個步驟中得到的消息摘要是否相等,即比較[Hash(數(shù)據(jù)C)]與[公鑰(私鑰(Hash(數(shù)據(jù)C)))]是否相等,如果相等說明數(shù)據(jù)C沒有被別人修改過。

3.數(shù)字簽名的用途

一是防偽造。任何人如果沒有發(fā)送信息者的私鑰是無法完成數(shù)字簽名的,這使得除了簽名者本人外無人能偽造簽名③。二是防止數(shù)字簽名的重用性。消息摘要的值取決于文件的內(nèi)容,數(shù)字簽名又是通過對消息摘要的加密得到的,這使得不同內(nèi)容的文件得到的數(shù)字簽名一定不一樣。這樣就防止了簽名者對一個文件的簽名被盜取后用在別的文件上的情況④。三是防止抵賴、否認。只有具有私鑰的簽名者才能進行數(shù)字簽名。這就證明了經(jīng)過數(shù)字簽名的文件就是簽名者所發(fā),具有不可否認性。四是防止文件被篡改。在簽名驗證過程中可以分別通過對消息使用單項散列函數(shù)和對數(shù)字簽名解密這兩種方法得到,通過判斷這兩次得到的消息摘要是否相等可以判斷文件是否被篡改,也為衡量是否對原始文件做過改動提供了驗證標準⑤。

三、電子文件接收平臺的設計與實現(xiàn)

1.系統(tǒng)構架

系統(tǒng)設計分為三個步驟:第一步是電子文件發(fā)送者通過申請得到密鑰,將得到的私鑰存儲在自己的USB智能卡中并妥善保存,公鑰存放到CA證書服務器的數(shù)據(jù)庫中,由CA將公鑰發(fā)布給電子文件的接收人員便于簽名驗證。第二步是對自己電子文件進行數(shù)字簽名,并把數(shù)字簽名作為附件與信息正文一起發(fā)送給電子文件接收人員。第三步是電子文件接收人員將接收到的電子文件提交到CA應用服務器,進行簽名驗證。同時,系統(tǒng)中還可以設立專門的CA應用服務器管理員對公鑰及證書信息進行管理。

2.系統(tǒng)環(huán)境

①CA應用服務器安裝IIS6.0以及DotNetFramework 2.0

②CA證書數(shù)據(jù)庫采用SQLServer2005

③程序開發(fā)利用微軟集成軟件Visual Studio 2005,程序編寫用C#2.0

④為每個電子文件發(fā)送者配置一個USB智能卡,便于身份識別和私鑰存儲

3.數(shù)據(jù)庫設計

在數(shù)據(jù)庫設計上,我們主要用到的是5個表:公鑰列表、電子文件列表、發(fā)送者信息列表、部門信息表、管理員信息表。

4.主要程序

下面我們按上述系統(tǒng)設計的三個步驟進行具體實現(xiàn):

①在申請密鑰的過程中,出于安全性考慮,我們采用C/S模式,電子文件發(fā)送者首先下載申請密鑰模塊,然后在客戶端運行申請密鑰模塊,服務器接收申請后將私鑰返回給客戶端,并將私鑰寫入到申請者的USB智能卡中,同時,將公鑰更新到數(shù)據(jù)庫公鑰列表中。這里我們選用RSA算法來進行數(shù)字簽名。

/*導入RSA加密解密的命名空間*/

using System.Security.Cryptography;

/*生成RSACryptoServiceProvider實例用于獲取RSA密鑰對*/

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

/*由 RSACryptoServiceProvider實例生成私鑰*/

string privatekey = rsa.ToXmlString(true);

/*由 RSACryptoServiceProvider實例生成公鑰*/

string publickey = rsa.ToXmlString(false);

/* RSA私鑰存儲到證書申請人的USB智能卡的MyPrivateKey.dat中*/

StreamWriter sw = new StreamWriter ("USBPATH:MyPrivateKey.dat");

sw.WriteLine(privatekey);

②在數(shù)字簽名過程中,考慮到電子文件信息的機密性,我們提出對電子文件明文信息也進行加密。對明文信息的加密采用了對稱加密技術,這是由于明文信息的長度不確定,往往內(nèi)容會很多,而對稱加密技術算法簡單,運行速度快,占用空間小,使得明文加密效率大大提高,這里運用對稱加密技術中的DES算法進行加密明文消息。對明文信息計算單項散列值生成消息摘要的過程運用MD5算法。數(shù)字簽名運用RSA算法。數(shù)字簽名的流程如圖3,其核心代碼如下:

/*從電子文件發(fā)送者的USB智能卡中讀取RAS私鑰,此時將USB智能卡接入電腦*/

StreamReader sw = StreamReader ("USBPATH:MyPrivateKey.dat");

String privatekey = sw.ReadLine();

/*生成RSACryptoServiceProvider實例*/

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

/*將私鑰導入RSACryptoServiceProvider實例*/

rsa.FromXmlString(privatekey);

/*利用MD5生成消息摘要,利用私鑰對messagebyes進行簽名*/

byte[] output = rsa.SignData(messagebytes, "MD5");

③在簽名驗證過程中,主要是驗證簽名是否來自發(fā)送方以及電子文件明文信息是否在簽名后被修改,并沒有涉及到私鑰,所以為了方便操作,我們用B/S模式來構建。簽名驗證的具體過程如圖4,其核心代碼如下:

/*生成RSACryptoServiceProvider實例*/

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

/*將公鑰導入RSACryptoServiceProvider實例*/

rsa.FromXmlString(publickey);

/*以MD5為生成消息摘要函數(shù),利用公鑰對messagebyes進行簽名驗證,并返回驗證是否成功*/

bool flag = rsa.VerifyData(messagebytes, "MD5", output);

此外,程序在簽名與驗證的過程中,還要利用DES加密算法對明文信息進行加密與解密,但是,由于文章篇幅有限,這里就不分代碼一一列出了。

注釋:

①陳相琳.數(shù)字簽名技術及算法的研究[D].哈爾濱:哈爾濱理工大學,2007.

②寧子嵐.基于數(shù)字簽名和數(shù)字水印技術的電子印章系統(tǒng)[D].長沙:長沙理工大學,2007.

③王華.數(shù)字簽名技術的研究與應用[D].北京:華北電力大學,2009.

④張文波.基于數(shù)字簽名的電子郵票模型研究[D].大連:大連理工大學,2009.

⑤郭延玲.公鑰基礎設施相關應用設計與實現(xiàn)[D].北京:北京郵電大學,2006.

作者單位:天津師范大學檔案館

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
展會信息
展會信息
展會信息
展會信息
展會信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 欧美一级99在线观看国产| 中文字幕在线看| 日韩精品免费一线在线观看| 五月丁香伊人啪啪手机免费观看| 狠狠色噜噜狠狠狠狠奇米777| 呦系列视频一区二区三区| 一个色综合久久| 国产视频只有无码精品| 亚洲一级无毛片无码在线免费视频| 高清无码不卡视频| 成人伊人色一区二区三区| a级免费视频| 色婷婷综合在线| 99爱视频精品免视看| 日韩视频福利| 日韩久久精品无码aV| 国产91丝袜在线播放动漫| 精品人妻无码区在线视频| 国产美女在线观看| 在线观看亚洲精品福利片| 国产95在线 | 91色爱欧美精品www| 爆乳熟妇一区二区三区| 亚洲成人77777| 中文字幕乱码二三区免费| 这里只有精品国产| 色一情一乱一伦一区二区三区小说| 亚洲免费毛片| 欧美日韩精品一区二区视频| 国产va欧美va在线观看| 欧美激情视频二区| 日韩在线视频网站| 一级不卡毛片| 国产成人AV综合久久| 国产亚洲视频免费播放| 国产日产欧美精品| 午夜日韩久久影院| 国产微拍精品| 国产免费人成视频网| 成色7777精品在线| 国产成人91精品| 91在线激情在线观看| 免费观看成人久久网免费观看| 波多野结衣中文字幕一区| 无码网站免费观看| 久久久久亚洲精品成人网| 亚洲国产高清精品线久久| 成人韩免费网站| 97在线碰| 日韩福利在线视频| 91精品国产无线乱码在线 | 亚洲另类国产欧美一区二区| 亚洲精品天堂自在久久77| 日韩欧美91| 四虎国产永久在线观看| 欧美另类一区| 理论片一区| a网站在线观看| 国产精品永久久久久| 成人午夜福利视频| 综1合AV在线播放| 欧美一级视频免费| 久久久久88色偷偷| 亚洲视频二| 999国内精品视频免费| 日韩欧美网址| 欧美人与性动交a欧美精品| AV网站中文| 久久公开视频| 91在线日韩在线播放| 欧美狠狠干| 在线观看国产黄色| 国产精品欧美日本韩免费一区二区三区不卡 | 成人年鲁鲁在线观看视频| 91香蕉视频下载网站| 无码一区18禁| 久久99热66这里只有精品一| 精品国产一区91在线| 无码一区18禁| 久久这里只精品热免费99| 91年精品国产福利线观看久久| 欧美日韩第三页|