高永仁,高 斐
(1.武夷學(xué)院,福建武夷山354300;2.莆田學(xué)院,福建莆田351100)
局域網(wǎng)中信息安全管理研究
高永仁1,高 斐2
(1.武夷學(xué)院,福建武夷山354300;2.莆田學(xué)院,福建莆田351100)
分析了密碼體制在數(shù)字檔案管理應(yīng)用中的作用,介紹了對稱加密和非對稱加密以及RSA加密算法和MD5算法的基本概念和工作原理,闡述了基于RSA及MD5的數(shù)字簽名的實現(xiàn)過程,對其在數(shù)字檔案管理中的簽名及驗證過程進行了分析與討論.在相關(guān)文獻提出的密鑰集中式管理基礎(chǔ)上,提出了一種較好的密鑰集中式管理方法,該方法可克服密鑰集中式管理中經(jīng)常出現(xiàn)的瓶頸問題,對密鑰進行有效的管理.
對稱加密;非對稱加密;消息摘要;數(shù)字簽名;檔案管理
一個密碼系統(tǒng)采用的基本工作方式稱為密碼體制.密碼體制從原理上可分為兩大類:對稱密鑰密碼體制和非對稱密鑰密碼體制,或稱單鑰密碼體制和雙鑰密碼體制[1].
在對稱密鑰密碼體制中,加密密鑰和解密密鑰相同,大多解密算法是加密算法的逆運算,加密密鑰能從解密密鑰中推算出來,擁有加密能力就意味著擁有解密能力,反之亦然[2].對稱密碼體制的保密強度高,但開放性差,它要求發(fā)送者和接收者在安全通信之前商定一個密鑰,需要有可靠的密鑰傳遞信道,而雙方用戶通信所用的密鑰也必須妥善保管,如圖1所示.它通常用來加密帶有大量數(shù)據(jù)的報文,因為這種通信可實現(xiàn)高速加密算法.
非對稱密鑰密碼體制又稱為公開密鑰密碼體制.對于公開密碼體制密碼系統(tǒng)中的2個密鑰來說,其中的算法必須滿足以下條件:
圖1 單鑰體制加密模型
(1)參與雙方必須容易通過計算而各自產(chǎn)生出一對密鑰(公開密鑰 KP,私有密鑰 KR).例如,A方為(KPa,KRa),B方為(KPb,KRb).
(2)發(fā)送方A在知道接收方B的公開密鑰 KPb和待加密報文 M的情況下,對于發(fā)送方A,很容易通過計算產(chǎn)生對應(yīng)的密文:
C=EKPb(M)
(3)接收方B使用私有密鑰 KRb容易通過計算解密所得的密文,以便恢復(fù)原來的報文:
M=DKRb(C)=DKRb(EKPb(M))
(4)第三方竊密時即使知道公開密鑰 KPb,要想確定私有密鑰 KRb,在計算上也是不可行的.
(5)第三方竊密時即使知道公開密鑰 KPb和密文C,要想恢復(fù)原來的報文M,在計算上也是不可行的.
(6)加密和解密函數(shù)可以使用2個次序中的任何一個:
M=EKPb(C)=EKPb(DKRb(M))
公開密碼體制可根據(jù)應(yīng)用的需要完成保證信息系統(tǒng)的安全目標(biāo).可以將公開密鑰密碼系統(tǒng)應(yīng)用分為3類:
發(fā)送方用接收方的公開密鑰加密報文;接收方用自己的私有密鑰解密報文.假定用戶A要向用戶B發(fā)送消息 M,如圖2所示.若用戶A從公鑰本上查到用戶B的公開密鑰 KPb,就可用它對消息 M進行加密,得到密文C=EKPb(M),發(fā)送給用戶B.用戶B收到后,用自己的秘密密鑰 KRb對C進行解密變換,得到原來的消息:
M=DKRb(C)=DKRb(EKPb(M))
密碼系統(tǒng)的安全保障在于從公鑰 KPb和密文 C中推出明文M或解密密鑰 KRb在計算上是不可行的.由于任一用戶都可用用戶B的公開密鑰 KPb向用戶B發(fā)送機密消息,而用戶B并不知道是誰發(fā)來的密文消息,因而密文 C不具有認證性.
圖2 雙鑰體制加密模型
發(fā)送方用自己的私有密鑰“簽署”報文[3].簽署功能是通過對報文的一個函數(shù)應(yīng)用密碼算法完成的.接收方用發(fā)送方的公開密鑰認證報文的真實性與完整性.按一般理解,保護信息就是保證信息傳遞過程的機密性,但這僅僅是當(dāng)今密碼學(xué)主題的一方面,對信息發(fā)送人的身份驗證是密碼學(xué)主題的另一方面.公開密鑰密碼體制對這兩方面的問題都給出了出色的答案,并且以后還會有許多新的思想和方案.為了使用戶A發(fā)給用戶B的消息具有認證性,可將公開密鑰和秘密密鑰反過來用.如圖3所示,用戶A以自己的秘密密鑰KRa對消息 M進行A的專用變換 DKRa,得到密文 C=DKRa(M),發(fā)送給用戶B;B收到 C后可用A的公開密鑰 KPa對 C進行公開變換,得到恢復(fù)的消息,即:
M=EKPa(C)=EKPa(DKRa(M))
圖3 雙鑰體制認證模型
由于 KRa只有A方一人擁有,是保密的,其他人都不可能用 KRa偽造密文 C=DKRa(M),在用A的公開密鑰解密時得到有意義的消息 M.因此,可以驗證消息M來自A而不是其他人,從而實現(xiàn)了對A所發(fā)消息的認證.
兩方合作以便交換會話密鑰有幾種可能的方法,其中涉及一方或兩方的私有密鑰.在公鑰體制中的每個用戶的公鑰,可通過公開的方式通知消息的接收方,這個發(fā)布公鑰的信道不需要安全認證,這就解決了密鑰的分發(fā)問題.
哈希函數(shù)是可接受變長數(shù)據(jù)輸入并生成定長數(shù)據(jù)輸出的函數(shù).這個定長的輸出是輸入數(shù)據(jù)的哈希值(或稱消息摘要).由于哈希函數(shù)具有單向性的屬性,有時也稱單向散列函數(shù).有時把哈希值(消息摘要、散列碼)稱為輸入數(shù)據(jù)的數(shù)字指紋.
哈希值由函數(shù) H產(chǎn)生:h=H(M)
其中:M是變長的消息;H是一個將任意長度的消息M映射為一個較短定長的哈希值h的哈希函數(shù);H(M)是定長的哈希值.
用作消息認證的哈希函數(shù) H應(yīng)具有以下性質(zhì).
(1)H可以作用于一個任意長度的數(shù)據(jù)分組;
(2)H可以產(chǎn)生一個固定長度的輸出;
(3)任意給定消息 M,容易計算出 h=H(M),不論是軟件實現(xiàn)還是硬件實現(xiàn);
(4)任意給定 h,則很難找到 M來滿足 H(M)=h,計算上具有不可逆性,即單向性;
(5)任意給定數(shù)據(jù)塊 M,找到不等于 M的M’,使H(M)=H(M’)在計算上具有不可行性.有時也稱弱抗沖突;
(6)任意數(shù)據(jù)對(x,y),滿足 H(x)= H(y)在計算上不可行.有時也稱強抗沖突.
前2個性質(zhì)是將哈希函數(shù)實際應(yīng)用于消息認證的需求;性質(zhì)(3)和(4)是單向特性,由給定消息產(chǎn)生哈希值很簡單,而給定哈希值則不可能產(chǎn)生對應(yīng)的消息;性質(zhì)(5)保證無法找到一個替代消息,使它的哈希值與給定消息產(chǎn)生的哈希值相同,它能防止偽造;性質(zhì)(6)指的是哈希函數(shù)對已知的生日攻擊方法的防御能力.
哈希函數(shù)并不能提供機密性,并且它們不使用密鑰以生成摘要.哈希函數(shù)非常適合于認證和確保數(shù)據(jù)的完整性.UNIX系統(tǒng)一直在使用哈希函數(shù)進行認證,不以明文存儲用戶口令,而是使用存儲口令的哈希值或由哈希值產(chǎn)生的數(shù)據(jù).構(gòu)成哈希函數(shù)的算法有很多,如簡單的按位異算法、MD4、MD5、SHA-1等.
消息摘要(MessageDigest,MD)算法(RFC1321)由Rivest提出,是當(dāng)前最為普遍的哈希算法,MD5是第5個版本.該算法以一個任意長度的消息(M)作為輸入,生成128位(16字節(jié))的消息摘要作為輸出.
在辦公自動化系統(tǒng)的安全設(shè)計過程中,公/私密鑰對的產(chǎn)生與管理顯得非常重要.本系統(tǒng)設(shè)計了一個專門生成并管理用戶公/私鑰對的密鑰生產(chǎn)管理系統(tǒng)(the Key Build and Management System,KBMS).所有辦公用戶的公私鑰對都由 KBMS創(chuàng)建和管理,KBMS能將生成的公私密鑰對導(dǎo)出到文件中,并使用相應(yīng)用戶的登錄口令對其私鑰進行加密,以此來保證只有知道口令的用戶才能解密并使用其私有密鑰.當(dāng)用戶S創(chuàng)建了文檔并需要對文檔簽名時,KBMS系統(tǒng)將提示該用戶輸入登錄名以及密碼,驗證通過后,KBMS將該用戶的私鑰解密后作為請求結(jié)果返回給該用戶,否則返回非法訪問.當(dāng)某個文檔的接收者 R需要驗證簽名的真實性時,他只需將文檔上所聲明的用戶簽名輸入給 KBMS子系統(tǒng),則 KBMS返回相應(yīng)用戶的公鑰.由于用戶的公/私密鑰均是由 KBMS創(chuàng)建和管理的,與用戶沒有關(guān)系,因此接受者R可以信任 KBMS返回的公鑰,并使用該公鑰來驗證簽名的真實性.
在密鑰生產(chǎn)管理系統(tǒng)中,文獻[4]和文獻[5]采用的管理方法是每個用戶都單獨使用了一個密鑰文件,并用自己的口令對該文件加密,以此來保證只有知道口令的用戶才能解密并使用其密鑰文件.由于所有辦公用戶的公私鑰對都由 KBMS創(chuàng)建和管理,當(dāng)某個用戶需要密鑰時,KBMS都需要打開關(guān)閉一次該用戶的密鑰文件,執(zhí)行一次 I/O操作,而這種操作是相當(dāng)費時的.因此當(dāng)用戶數(shù)量很多時,KBMS子系統(tǒng)很可能成為整個系統(tǒng)運行效率的瓶頸.如果將密鑰分散管理,又使安全性要求得不到保證,因此需要改進 KBMS的結(jié)構(gòu),使它可以滿足大訪問量、快速反應(yīng)的需求.
本文改進的方法是整個 KBMS系統(tǒng)使用一個密鑰文件.該文件的內(nèi)容主要由3部分組成:用戶標(biāo)示、該用戶用口令加密后的私有密鑰和該用戶的公鑰.當(dāng)某用戶需要生成公/私密鑰對時,KBMS系統(tǒng)提示該用戶輸入用戶名和密碼,驗證通過后為該用戶生成密鑰對,并將該用戶的用戶標(biāo)示、用該用戶的口令加密后的私有密鑰和該用戶的公鑰寫入密鑰文件.當(dāng)用戶需要簽名時,KBMS提示用戶輸入口令,用口令解密私鑰并將私鑰返回給該用戶.當(dāng)用戶需要驗證簽名時,KBMS根據(jù)用戶標(biāo)示返回該用戶的公鑰.系統(tǒng)在整個工作過程中,只有當(dāng)某用戶需要生成公/私密鑰對時,才讀寫磁盤一次.當(dāng)用戶需要簽名和驗證簽名時,不需要訪問磁盤,所以改進的方法可提高整個系統(tǒng)的工作效率.圖4顯示了文檔創(chuàng)建者與接收者和 KBMS之間進行交互的過程.
圖4 密鑰生產(chǎn)管理系統(tǒng)示意圖
假定用戶A為發(fā)送方,用戶B為接收方.發(fā)送方處理文檔的過程如圖5所示[6].
(1)簽名.KBMS用用戶A的 IDA作為索引,從私鑰環(huán)中得到用戶A的私鑰,KBMS提示輸入口令短語來恢復(fù)用戶A的私鑰,然后將用戶A的私鑰返回給 用戶A.用戶A用他自己的私鑰構(gòu)造簽名部分.
圖5 發(fā)送方處理文檔的過程
(2)加密.用戶A隨機產(chǎn)生一個會話密鑰,并對文檔進行加密;然后用接收方用戶B的IDB從KBMS中得到用戶B的公鑰;最后用用戶B的公鑰加密會話密鑰部分.
假定用戶A為發(fā)送方,用戶B為接收方.接收方處理文檔的過程如圖6所示.
圖6 接收方處理文檔的過程
(1)解密.KBMS用接收方(用戶B)的 IDB作為索引,從私鑰環(huán)中查找到接收方(用戶B)的私鑰;并提示用戶輸入口令短語來恢復(fù)私鑰;然后將用戶B的私鑰返回給用戶B.用戶B用自己的私鑰恢復(fù)會話密鑰并且解密報文.
(2)認證.用戶B用用戶A的IDA從KBMS中得到用戶A的公鑰,恢復(fù)傳輸?shù)奈臋n摘要;對接收的文檔計算文檔摘要,與傳來的文檔摘要相比較,以認證報文.
本文在辦公自動化系統(tǒng)的背景下討論了一種基于密鑰集中式管理的數(shù)字檔案信息安全管理方法.選擇了MD5算法作為抽取公文電子摘要的方法;在抽取的文檔摘要上選擇了RSA公開密鑰算法作為數(shù)字簽名的方法.為了保證簽名的真實性,本文提出了密鑰集中管理及其實現(xiàn)方式,對文獻[4]和文獻[5]中提出的密鑰集中式管理進行了改進,提出了一種較好的密鑰集中式管理方法.該方法可克服密鑰集中式管理中經(jīng)常出現(xiàn)的瓶勁問題,對密鑰進行有效的管理.經(jīng)測試,本文改進的算法具有良好的運行性能.
[1] 陳紅軍,邵國金.數(shù)字簽名在網(wǎng)上公文流轉(zhuǎn)系統(tǒng)中的應(yīng)用[J].信陽師范學(xué)院學(xué)報(自然科學(xué)版),2008,21(2):279-281,290.
[2] Douglas R S.密碼學(xué)原理與實踐[M].北京:電子工業(yè)出版社,2003.
[3] 趙小明,章美仁.RSA數(shù)字簽名技術(shù)在電子公文流轉(zhuǎn)中的應(yīng)用[J].計算機工程與設(shè)計,2005,26(5):1214-1216.
[4] 郭立新.基于數(shù)字簽名的數(shù)字檔案信息安全管理研究[J].信陽師范學(xué)院學(xué)報(自然科學(xué)版),2009,22(4):615-617.
[5] 陽文澤,李翠華.數(shù)字簽名技術(shù)在辦公自動化系統(tǒng)中的實現(xiàn)[J].計算機工程,2005,31(23):33-35,51.
[6] 周啟海,黃濤,張樂.一種基于數(shù)字加密與信息隱藏的電子簽名技術(shù)改進方案[J].計算機科學(xué),2007,34(10):112-115.
LAN Information Security Management
GAO Yong-ren1,GAO Fei2
(1.Wuyi University,Wuyishan 354300;2.Putian University,Putian 351100,China)
First the password system in the numeral records management application vital role is analyzed,and the symmetrical encryption and the asymmetrical encryption as well as the RSA encryption algorithm and the MD5 algorithm basic concept and the principle of work are introduced.Based on RSA and the MD5 digital signature realization process.The numeral records management signature and the confirmation process are analyzed and discussed in detail.This article to the key central management proposed in the literature has made the improvement.One good key central management is propased.This method may overcome the bottle neck question which in the key central management appears frequently,may carry on the effective management to the key.
symmetrical encryption;asymmetrical encryption;news abstract;digital signature;records management
TP393
A
10.3969/j.issn.1671-6906.2011.04.008
1671-6906(2011)04-0034-05
2011-06-23
福建省自然科學(xué)基金項目(7008J0027)
高永仁(1955-),男,山西陽高人,副教授.