古詩詞大全網 - 個性簽名 - 淺談數字簽名|數字簽名是什麽

淺談數字簽名|數字簽名是什麽

[摘 要]隨著網絡通信的發展,數字簽名作為信息安全技術認證技術中的壹項關鍵技術,可以解決否認、偽造、篡改及冒充問題,用來保證信息傳輸過程中的完整性,提供信息發送者的身份認證和不可抵賴性。具有其它技術所無法替代的作用,在信息安全領域得到廣泛的應用。

[關鍵詞]計算機技術 數字簽名 應用

[中圖分類號]TP[文獻標識碼]A[文章編號]1007-9416(2010)03-0050-02

目前,隨著越來越多的政府部門和企業機構開始應用Internet,他們的信息***享程度與網上業務不斷增加。與此同時,網絡攻擊和犯罪活動也日益猖獗。如何防止機密信息在網絡中被泄露或竄改、如何有效地抵制和打擊信息犯罪、保障網絡與信息安全等,給人們提出了嚴峻的挑戰。

在因特網這個虛擬的世界中,該通過何種措施來使人們相信因特網信息的準確性呢?當然可以采用強大的安全保障機制,來保證網上的信息不被那些“非法分子”入侵。目前有許多種技術來保證信息的安全不受侵犯,例如加密技術,訪問控制技術、認證技術以及安全審計技術等,但這些技術大多數是用來預防用的,而且壹旦被攻破,我們就不能保證信息的完整性。為此,只有在信息本身的安全上作出努力,數字簽名技術應運而生。

1 數字簽名的概念

數字簽名不是指將妳的簽名掃描成數字圖像,或者用觸摸板獲取的簽名,更不是妳的落款。數字簽名(又稱公鑰數字簽名、電子簽章)是壹種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用於鑒別數字信息的方法。其驗證的準確度是壹般手工簽名和圖章的驗證而無法比擬的。

簡單地說,所謂數字簽名就是附加在數據單元上的壹些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性並保護數據,防止被人(例如接收者)進行偽造。它是對電子形式的消息進行簽名的壹種方法。壹個簽名消息能在壹個通信網絡中傳輸。基於公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,目前主要是基於公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。普通數字簽名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir數字簽名算法、Des/DSA,橢圓曲線數字簽名算法和有限自動機數字簽名算法等。特殊數字簽名有盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能簽名等,它與具體應用環境密切相關。

“數字簽名”是目前電子商務、電子政務中應用最普遍、技術最成熟的、可操作性最強的壹種電子簽名方法。它采用了規範化的程序和科學化的方法,用於鑒定簽名人的身份以及對壹項電子數據內容的認可。它還能驗證出文件的原文在傳輸過程中有無變動,確保傳輸電子文件的完整性、真實性和不可抵賴性。這樣數字簽名就可用來防止有人修改信息;或冒用別人名義發送偽造信息;或發出(收到)信息後又加以否認等情況的發生。

2 數字簽名的工作原理及實現

壹套數字簽名通常定義兩種互補的運算,壹個用於簽名,另壹個用於驗證。

通常要驗證文檔未被篡改,而不必加密文檔。數字簽名可以驗證文檔未被篡改和確實來自有關方面。

數字簽名有兩個基本組件:安全散列函數和公用密鑰加密。安全散列算法取壹塊數據並將其分解成小位塊。這個算法每次運行時對特定位模式產生相同的散列值。這樣,發送文件之間計算散列時,接收計算相同的散列值。壹個好的散列算法在文檔少量改變時也能使結果大大改變。這樣,別人篡改文檔之後就很難保持相同的散列值。

例如,創設散列算法根據文檔中的各個字符計算數值,不管字符順序。這樣,ABC與CBA有相同散列值。因此別人可以把文檔內容做順序上的調整,面散列值卻不變,從而使數字簽名仍然有效。

MD5和SHA之類的安全散列算法考慮字節順序,幾乎不可能對文檔進行小改而散列值不變。這兩種廣泛應用的簽名算法都是基於非對稱加密即公鑰密碼學,目前已被破解。

這樣,數字簽名的第二個部分就是某種逆公用密鑰算法。通常,使用公用密鑰算法時,用公用密鑰加密數據,用專用密鑰解密數據。對於數字簽名正好相反,用專用密鑰加密文本塊的散列值,任何人要驗證簽名有效性時,就使用公用密鑰驗證該散列值是用相應的專用密鑰加密的。

在公鑰密碼學中,密鑰是由公開密鑰和私有密鑰組成的密鑰對。數字簽名就是用私有密鑰進行加密,接受方用公開密鑰進行解密,由於從公開密鑰不能推算出私有密鑰,所以公開密鑰不會損害私有密鑰的安全。公開密鑰無需保密,可以公開傳播,而私有密鑰必須保密。因此,當某人用其私有密鑰加密消息時,能夠用他的公開密鑰正確解密,就可以肯定該消息是某人簽字的,這就是數字簽名的基本原理。因為其他人的公開密鑰不可能正確解密該加密過的消息,其他人也不可能擁有該人的私有密鑰而制造出該加密過的消息。

3 數字簽名的常用算法

數字簽名用到的算法很多,大體上可以分為密鑰算法和單向散列算法,除上文提到的最常用的單向散列算法MD5和SHA,應用最為廣泛的三種是: Hash簽名、DSS簽名、RSA簽名。

(1)Hash簽名

Hash簽名不屬於強計算密集型算法,應用較廣泛。很多少量現金付款系統,如DEC的Millicent和CyberCash的CyberCoin等都使用Hash簽名。使用較快的算法,可降低服務器資源消耗,減輕中央服務器負荷。Hash的主要局限是接收方必須持有用戶密鑰的副本以檢驗簽名,因為雙方都知道生成簽名的密鑰,較容易攻破,存在偽造簽名的可能。如果中央或用戶計算機中有壹個被攻破,那麽其安全性就受到了威脅。

(2)DSS和RSA簽名

DSS和RSA采用了公鑰算法,不存在Hash的局限性。RSA是最流行的壹種加密標準,許多產品的內核中都有RSA的軟件和類庫,早在Web飛速發展之前,RSA數據安全公司就負責數字簽名軟件與Macintosh操作系統的集成,在Apple的協作軟件PowerTalk上還增加了簽名拖放功能,用戶只要把需要加密的數據拖到相應的圖標上,就完成了電子形式的數字簽名。RSA與Microsoft、IBM、Sun和Digital都簽訂了許可協議,使在其生產線上加入了類似的簽名特性。與DSS不同,RSA既可以用來加密數據,也可以用於身份認證。和Hash簽名相比,在公鑰系統中,由於生成簽名的密鑰只存儲於用戶的計算機中,安全系數大壹些。

4 數字簽名的用途

在網絡應用中,凡事要解決偽造、抵賴、冒充、篡改與身份鑒別的問題,都可運用數字簽名來處理。

例如:網上銀行通過Internet向客戶提供信息查詢、對賬、網上支付、資金劃轉、信貸業務以及投資理財等金融業務。網上銀行將對傳統銀行業帶來巨變,有人估計:網上銀行將使勞動生產率年均增長54%。比如工商銀行發給客戶的U盾,就存儲了代表妳身份的數字證書與其他信息,其交易過程就需要數字簽名的支持。

電子商務能完成企業之間、企業與消費者之間在網上的交互活動。網上證券能在網上完成股票交易、網上證券信息服務、網上銀行/證券轉賬業務等。這些業務需要身份鑒別防篡改等功能,也要使用數字簽名。

還有電子政務。加入壹個沒有身份認證服務的電子政務系統,任何人都可隨便簽發文件散布,而不用擔心事發後的追查,因為無法甄別出簽字者,該電子政務系統的危害性可想而知。電子政務系統必須提供身份認證服務、權限控制服務、信息保密服務、數據完整性服務和不可否認服務。

[參考文獻]

[1] 熊德健.采用數字簽名及時保障網絡通信安全應用研究[J].甘肅科技,2008(22):p25~26.

[2] 陳赫貝,阮飛.XML數字簽名及其應用研究[J].微機發展,2005(2):p53~54.

[3] 羅清元,王曉曉.數字簽名技術的研究及應用[J].計算機安全,20084(2):p72~73.

[4] 李紅艷.淺析數字簽名及其在電子商務中的應用[J].勝利油田職工大學學報,2005(4):p71.

本文為全文原貌 未安裝PDF瀏覽器用戶請先下載安裝 原版全文