在當今高速發展的網絡資訊化時代,人們越來越重視資訊的安全性問題,電子資訊内容的安全已經成為倍受關注的問題,數字簽名技術作為資訊安全領域的一項重要技術,應用日益廣泛。論述了數字簽名的作用及實作方法技術,并介紹了目前數字簽名的幾種新技術,展望了這一領域的發展前景。
1數字簽名的作用
該技術在具體工作時,首先發送方對資訊施以數學變換,所得的資訊與原資訊唯一對應;在接收方進行逆變換,得到原始資訊。隻要數學變換方法優良,變換後的資訊在傳輸中就具有很強的安全性,很難被破譯、篡改。這一個過程稱為加密,對應的反變換過程稱為解密。數字簽名技術利用散列函數保證了資料的完整性,同時結合了公鑰加密與對稱密鑰加密的優點,保證了資訊的保密性與不可抵賴性。發送者事後不能否認發送的封包簽名、接收者能夠核實發送者發送的封包簽名、接收者不能僞造發送者的封包簽名、接收者不能對發送者的封包進行部分篡改、網絡中的某一使用者不能冒充另一使用者作為發送者或接收者。數字簽名的應用範圍十分廣泛,在保障電子資料交換(EDI)的安全性上是一個突破性的進展,凡是需要對使用者的身份進行判斷的情況都可以使用數字簽名,比如加密信件、商務信函、定貨購買系統、遠端金融交易、自動模式處理等等。
2數字簽名技術的實作方法
實作數字簽名有很多方法,目前數字簽名采用較多的是公鑰加密技術,如基于RSA DateSecurity公司的PKCS(PublicKeyCryptographyStandards),Digital Signature Algorithm。x.509,PGP(PrettyGoodPrivacy)。1994年美國标準與技術協會公布了數字簽名标準(DSS)而使公鑰加密技術廣泛應用,公鑰加密系統采用的是非對稱加密算法。
2.1用非對稱加密算法進行數字簽名算法的含義:
此算法使用兩個密鑰:公開密鑰(publickey)和私有密鑰(vatekey),分别用于對資料的加密和解密,elen果用公開密鑰對資料進行加密,隻有用對應的私有密鑰才能進行解密;如果用私有密鑰對資料進行加密,則隻有用對應的公開密鑰才能解密。
簽名和驗證過程:
(1)發送方首先用公開的單向函數對封包進行一次變換,得到數字簽名,然後利用私有密鑰對數字簽名進行加密後附在封包之後一同發出。
(2)接收方用發送方的公開密鑰對數字簽名進行解密變換,得到一個數字簽名的明文,發送方的公鑰是由一個可信賴的技術管理機構即驗證機構(CA:CertificationAuthority)釋出的。
(3)接收方将得到的明文通過單向函數進行計算,同樣得到一個數字簽名,再将兩個數字簽名進行對比,如果相同,則證明簽名有效,否則無效。
這種方法使任何擁有發送方公開密鑰的人都可以驗證數字簽名的正确性。由于發送方私有密鑰的保密性,使得接收方既可以根據驗證結果來拒收該封包,也能使其無法僞造封包簽名及對封包進行修改,原因是數字簽名是對整個封包進行的,是~組代表封包特征的定長代碼,同一個人對不同的封包将産生不同的數字簽名。這就解決了銀行通過網絡傳送一張支票,而接收方可能對支票數額進行改動的問題,也避免了發送方逃避責任的可能性。
2.2用對稱加密算法進行數字簽名
算法的含義:
對稱加密算法所用的加密密鑰和解密密鑰通常是相同的,即使不同也可以很容易地由其中的任意一個推導出另一個。在此算法中,加解密雙方所用的密鑰都要保守秘密。由于計算速度快而廣泛應用于對大量資料如檔案的加密過程中,如RD4和DES。
Lamport發明了稱為Lamport—D蛳e的對稱加密算法:利用一組長度是封包的比特數(n)兩倍的密鑰A,來産生對簽名的驗證資訊,即随機選擇2n個數B,由簽名密鑰對這2n個數B進行一次加密變換,得到另一組2n個數c。
(1)發送方從封包分組M的第一位開始,
依次檢查M的第i位,若為0時,取密鑰A的第i位,若為l則取密鑰A的第i+l位;直至封包全部檢查完畢,所選取的n個密鑰位形成了最後的簽名。
(2)接收方對簽名進行驗證時,也是首先從第一位開始依次檢查封包M,如果M的第i位為0時,它就認為簽名中的第1組資訊是密鑰A的第i位,若為1則為密鑰A的第i+l位;直至封包全部驗證完畢後,就得到了n個密鑰,由于接收方具有發送方的驗證資訊c,是以可以利用得到的n個密鑰檢驗驗證資訊,進而确認封包是否是由發送方所發送。
這種方法由于它是逐位進行簽名的,隻要有一位被改動過,接收方就得不到正确的數字簽名,是以其安全性較好,其缺點是:簽名太長(對封包先進行壓縮再簽名,可以減少簽名的長度);簽名密鑰及相應的驗證資訊不能重複使用,否則極不安全。
3數字簽名的新技術與展望
數字簽名是資訊網絡上不可缺少的安全處理技術,目前已有很多人在研究新的算法以适應特定領域的簽名需求,其中包括如下幾個方面的研究:
高效可驗證的安全數字簽名方案。這種數字簽名方案能夠防止通過猜測lISA算法的某些變量來選擇資訊進行攻擊。
防止适應性攻擊的門限簽名方案。在該方案中,數字簽名是由一組使用者産生,而不是由個人或一個組織産生,簽名所有的私鑰由一個組内的多個使用者共享。
面向流資訊的數字簽名。對資訊流進行數字簽名與對規則資訊進行簽名不同,傳統的簽名方案是面向消息的,接收端在收到全部資訊之後才能對簽名進行驗證。
不可否認數字簽名。在這一簽名方案中。接收端對簽名的驗證過程必須在合法的發送者的參與下使用确認協定來完成,同時發送者也可以使用否認協定不證明簽名是僞造的。當收發雙方A、B發生糾紛時,則要求A、B在公開場合下執行否認協定,如果發送方A拒絕參與配合,則不打自招,說明此數字簽名為真;否則。A隻有通過該協定的所有步驟才能成功地否認此數字簽名。
為了充分發揮數字簽名技術在資訊領域内的應用,生成和驗證數字簽名的工具需要完善。隻有廣泛使用SSL(安全套接層)建立安全連結的Web浏覽器,才可能頻繁用到數字簽名技術。比如一個公司要對其雇員在網絡上的行為進行規範,就要建立廣泛協作機制來支援數字簽名的實作,支援數字簽名是Web發展的目标,確定資料保密性、資料完整性和不可否認性才能保證線上商業的安全交易。和數字簽名有關的複雜認證就像現在操作應用環境中的密碼保護一樣直接做進作業系統環境,應用于遠端通路産品,資訊傳遞系統及Intemet防火牆中,像Netseape支援x.509标準的Communicator