公文系統(tǒng)中簽名加密技術(shù)的應(yīng)用

電子政務(wù)的工作內(nèi)容涉及到國家和政府秘密,它的安全關(guān)系到國家的主權(quán)和公眾利益,為了保障政府的管理和服務(wù)職能的有效實施,必須建立電子政務(wù)安全體系,為電子政務(wù)提供可靠的安全保障。

公文流轉(zhuǎn)是電子政務(wù)的核心業(yè)務(wù),要保證公文安全有效的流轉(zhuǎn)運行,必須對流轉(zhuǎn)過程中的公文實施安全有效的認證、加密手段。

簽名加密的原理是什么

基于PKI(Public Key Infrastructure)的簽名加密技術(shù)是目前最為常用的簽名加密手段。其核心技術(shù)是一對密鑰,其中任何一個密鑰加密的數(shù)據(jù),只能由另外一個密鑰解密。將其中的一個密鑰公開,成為“公開密鑰”;另外一個密鑰由密鑰持有人專用,稱為“私有密鑰”。將消息用公開密鑰加密,只有相應(yīng)的私有密鑰持有人才能解密。因此,該消息成為私有密鑰持有人的秘密。將消息用私有密鑰加密,只有相應(yīng)的公開密鑰才能解密,因此,可以證明還消息來自私有密鑰持有人。

實際的加密過程一般不會直接用公開密鑰加密消息,而是產(chǎn)生臨時的對稱密鑰(稱為“會話密鑰”),用會話密鑰加密消息,然后用公開密鑰加密會話消息,將消息密文和會話密鑰密文一起打包,作為新的組合消息密文。解密時,私有密鑰持有人先用私有密鑰解密會話密鑰,然后用會話密鑰解密消息。

實際的簽名過程一般也不會直接用私有密鑰加密消息,而是提取消息的數(shù)字摘要,只用私有密鑰加密數(shù)字摘要(稱為“數(shù)字簽名”),將消息與數(shù)字簽名一起打包,作為簽名消息。驗證簽名時,用公開密鑰解密數(shù)字簽名,然后與從消息中重新提取的數(shù)字摘要相對照,如果一致,則驗證通過,否則說明消息被篡改或公開密鑰與簽名的私有密鑰不一致。

一般情況下,公開密鑰應(yīng)該存儲在數(shù)字證書里,以說明密鑰持有人的真實身份。為方便簽名驗證,可以在簽名時將數(shù)字證書與數(shù)字簽名及消息打包在一起,免除查找公開密鑰驗證簽名的麻煩。

簽名

公文流轉(zhuǎn)過程中的簽名(圖1)用戶保證公文數(shù)據(jù)的完整性,防止公文流轉(zhuǎn)過程中的抵賴。公文發(fā)送方用自己的私有密鑰對公文進行簽名,并將數(shù)字簽名及簽名證書一起打包發(fā)送給接收方,公文接收方從簽名文件中分離出相關(guān)數(shù)據(jù)進行驗證。

以一個公文的傳遞修改過程為例:甲方擬文后用私鑰對公文簽名,將簽名文件傳送到乙方;乙方驗證甲方簽名,如果驗證通過,將文件修改后用乙方私鑰對修改后的公文簽名,將簽名文件傳送到丙方;丙方驗證乙方簽名,如果驗證通過,將文件修改后繼續(xù)向下傳送。

加密

公文流轉(zhuǎn)過程中的加密過程(圖2)主要用來保證公文的機密性。公文發(fā)送方從證書服務(wù)器得到接收方證書,用證書中的公鑰對數(shù)據(jù)進行加密,接收方用自己的私鑰解密數(shù)據(jù)。

公文系統(tǒng)中簽名加密技術(shù)的應(yīng)用

以一個公文的傳遞修改過程為例:甲方擬文后從證書服務(wù)器得到乙方公鑰,用乙方公鑰對公文加密,將加密文件傳送到乙方;乙方用自己的私鑰解密文件,如果解密成功,從證書服務(wù)器得到丙方公鑰,將文件修改后用丙方公鑰加密,將加密文件傳送到丙方;丙方用自己的私鑰解密文件,如果解密成功,將文件修改后繼續(xù)向下傳送。

簽名加密

簽名加密(圖3)是簽名和加密過程的結(jié)合,可以有效地保證公文的完整性、原發(fā)性和機密性。公文發(fā)送方用自己的私有密鑰對公文進行簽名,然后從證書服務(wù)器檢索接收方公共密鑰,用接收方公共密鑰對簽名公文進行加密,將密文傳送到接收方;接收方用自己的私有密鑰對公文解密,然后驗證對方簽名的有效性。

密文共享

在公文流轉(zhuǎn)過程中同一個公文往往需要多個人共同參與審核和傳閱,簡單的公開密鑰加密技術(shù)加密后的數(shù)據(jù)只能由持有加密公鑰相對應(yīng)私鑰的一方解密,因此需要對數(shù)據(jù)加密方法做一些改進,使密文能夠在不同用戶間共享。加密時加密一方首先生成會話密鑰(對稱密鑰),用會話密鑰對公文數(shù)據(jù)加密,然后用接收方公開密鑰加密會話密鑰生成密鑰數(shù)字信封,將密文數(shù)據(jù)與密鑰數(shù)字信封一起存到數(shù)據(jù)服務(wù)器上。解密時公文接收方用自己的私鑰解密會話密鑰,然后用會話密鑰解密公文數(shù)據(jù)。支持密文共享的加密過程如圖4所示。

公文系統(tǒng)中簽名加密技術(shù)的應(yīng)用

 

為了在不同用戶間共享密文數(shù)據(jù),加密時可以分別用幾個人的公開密鑰生成幾個密鑰信封,不同的人用各自的密鑰信封解密會話密鑰,然后解密數(shù)據(jù)。當某個用戶修改公文數(shù)據(jù)后,必須用原來的會話密鑰加密公文數(shù)據(jù),以保證其他用戶用原來的密鑰信封能夠解密數(shù)據(jù),如果確實需要更換會話密鑰(如會話密鑰泄露或需要減少共享密文的人數(shù)),需要用新的會話密鑰重新生成所有人的密鑰信封。當需要增加共享密文的人數(shù)時,不需要解密公文數(shù)據(jù),只要解密會話密鑰,生成相應(yīng)的密鑰信封即可。增加共享人過程如圖5所示。

為了保護私有密鑰和會話密鑰,可以將加密、解密算法封裝在一個加密、解密程序包里,與私有密鑰存儲設(shè)備固化封裝在一起,密鑰存儲設(shè)備只接收加密、解密的消息的輸入、輸出,全部運算在設(shè)備內(nèi)部進行,不對外泄露密鑰信息。

密文共享技術(shù)不僅可以用在公文系統(tǒng)中,還可以用在檔案(機密檔案的借閱等)或其他需要保密的系統(tǒng)中,在不同的人群之間公享密文數(shù)據(jù)。密文共享中解密過程如圖6所示。

公文系統(tǒng)中簽名加密技術(shù)的應(yīng)用

小結(jié)

目前,大多數(shù)網(wǎng)絡(luò)應(yīng)用系統(tǒng)的信息存儲于關(guān)系數(shù)據(jù)庫,許多關(guān)系數(shù)據(jù)庫管理系統(tǒng)本身帶有的信息安全手段的安全強度往往比較脆弱。在當今網(wǎng)絡(luò)黑客的攻擊下容易暴露內(nèi)部數(shù)據(jù)信息,尤其是針對管理員身份用戶的安全入侵,幾乎沒有有效的防護措施。對公文流轉(zhuǎn)過程進行加密認證,能夠有效地防止來自局域網(wǎng)內(nèi)部,特別是系統(tǒng)管理員的安全威脅。