隨著網絡技術的發展,網絡安全也越來越成為當今網絡社會的焦點。那么,我們該如何表示身份呢?數字簽名的提出和可靠應用,使其成為手寫簽名的替代者。
所謂“數字簽名”就是通過某種密碼運算生成一系列符號及代碼組成電子密碼進行簽名,來代替書寫簽名或印章。
一、數字簽名原理
數字簽名就是附加在數據單元上的一些數據,或是對數據單元所作的密碼變換。這種數據或變換允許數據單元的接收者用以確認數據單元的來源和數據單元的完整性并保護數據,防止被人偽造。它是對電子形式的消息進行簽名的一種方法,一個簽名消息能在一個通信網絡中傳輸。基于公鑰密碼體制和私鑰密碼體制都可以獲得數字簽名,目前主要是基于公鑰密碼體制的數字簽名。包括普通數字簽名和特殊數字簽名。只要數學變換方法優良,變換后的信息在傳輸中就具有很強的安全性,很難被破譯、篡改。這一個過程稱為加密,對應的反變換過程稱為解密。
二、數字簽名算法
1.Hash簽名
Hash簽名不屬于強計算密集型算法,應用較廣泛。它可以降低服務器資源的消耗,減輕中央服務器的負荷。Hash的主要局限是接收方必須持有用戶密鑰的副本以檢驗簽名,因為雙方都知道生成簽名的密鑰,較容易攻破,存在偽造簽名的可能。
2.DSS和RSA簽名
DSS和RSA采用了公鑰算法,不存在Hash的局限性。RSA是最流行的一種加密標準,許多產品的內核中都有RSA的軟件和類庫。早在Web飛速發展之前,RSA數據安全公司就負責數字簽名軟件與Macintosh操作系統的集成,在Apple的協作軟件PowerTalk上還增加了簽名拖放功能,用戶只要把需要加密的數據拖到相應的圖標上,就完成了電子形式的數字簽名。與DSS不同,RSA既可以用來加密數據,也可以用于身份認證。和Hash簽名相比,在公鑰系統中,由于生成簽名的密鑰只存儲于用戶的計算機中,安全系數大一些。
三、數字簽名及鑒定
1.發送方做數字簽名
若要證明自己確實發出了某封電子郵件而且郵件的內容在發出以后沒有被改變,用戶可以使用數學家們研究的算法對自己即將發出的郵件進行計算,得到一個很大的、獨一無二的數,然后再用自己的私有密鑰對這個數加密,然后將加密后的數、自己的公鑰和電子郵件一塊發給他人。
2.接收方鑒定數字簽名
其他人得到用戶的電子郵件后,一方面可使用數學家們研究的算法對收到的電子郵件進行計算,將得到一個數,假定為B;另一方面則使用用戶的公開密鑰將由用戶用私有密鑰加密的數解密還原,假定為A;如果A等于B,則說明電子郵件發出后沒有被改變過。如果改變過,則A和B肯定不相等。因此,若有人改變了郵件的內容并重新計算出了新的大數,但他無法制作加密后的新的大數,因而收件人就可根據二者是否相等來判斷所收郵件是否真的出自發件人之手以及郵件發出后是否被他人篡改過。這種技術就是數字簽名技術,加密后的大數就是數字簽名。
四、數字簽名的應用前景及發展方向
數字簽名能極大地提高電子商務的安全性,但目前國內的電子商務安全還停留在起步階段。銀行等高安全需求的服務也都停留在安全套接層(SSL)的水平,同時各種法規和認證結構也沒有得到有效的建立和管理,因此目前我國的數字簽名發展應注意以下幾點。
第一,需要立法機構對數字簽名技術有足夠的重視,并且在立法上加快腳步,迅速制定有關法律,以充分實現數字簽名具有的特殊鑒別作用,有力地推動電子商務以及其他網上事務的發展。
第二,基礎設施(鑒定中心、在線存取數據庫等)的建立和維護。CA認證機構是PKI的關鍵,也是數字簽名的關鍵。
第三,數字簽名軟件的開發、推廣和數字簽名規范化。發送方的信息如果采用數字簽名了,就要求接受方也有數字簽名的軟件。
第四,生成和驗證數字簽名的工具應該進一步完善。只有用安全套接層SSL和安全電子交易SET等協議建立的安全的Web瀏覽器才能使數字簽名得到更廣泛的應用。
目前,新近開發的協議(LITESET協議)的效率都比SET協議有了大大的提高。
(作者單位:煙臺工程職業技術學院)