孫堯 王欣萍
[摘要]隨著互聯網技術的發展,各種網絡應用軟件快速普及,利用數字簽名技術保證網絡中數據的安全傳輸成為密碼學領域研究的一項重要問題,如何提高數字簽名的效率是數字簽名的研究熱點之一,本文研究一種基于DES和ECC混合型高效數字簽名方案在學校網絡教學平臺中的具體應用。
隨著信息技術全球化,依托校園網的網絡教學平臺在高校獲得廣泛的應用。在各種網絡教學平臺中,教學信息的發布與管理,學生作業和成績管理,學生簽到,考試試題庫管理等功能無不涉及到網絡安全問題。對于學校而言最重要信息如學生學籍、成績等數據在網絡傳輸過程中,均存在被截獲、篡改、否認等嚴重的安全問題,因此網絡教學平臺上傳輸的數據必須具有抗否定性、完整性、安全性以及有效的身份驗證機制,這些要求數字簽名技術都能夠保證。
一、基于DES和ECC混合型數字簽名算法
常用的對稱密鑰密碼體制的數字簽名算法具有簡單,速度快,占用的空間小等優點,但也存在實現需達成共識、加密者可單方否認加密行為、密鑰需求數量大等問題。而非對稱密鑰密碼體制的常用數字簽名算法在實際中有廣泛的應用,安全性強,缺點是加密速度慢。
我們提出一種將對稱密鑰密碼體制的數字簽名算法DES和非對稱密鑰密碼體制的常用數字簽名算法ECC混合的數字簽名算法H-ECDSA。H-ECDSA利用DES加密明文數據,用ECC算法加密DES的會話密鑰,同時利用T-ECDSA對明文的數字摘要進行數字簽名。利用H-ECDSA既可以解決明文加解密速度的問題,又能有效解決密鑰分發問題,還能更有效的提高數據通信的安全性。
H-ECDSA根據校園網的使用者為教師和學生及校園網實際情況,使用DES算法加密文件以保證傳輸文件的安全性,可以滿足對文件快速加密的要求。利用T-ECDSA對文件進行數字簽名,由于T-ECDSA基于橢圓曲線的離散對數問題,所以能夠保證文件簽名的安全性。
二、H-ECDSA簽名及驗證工作流程
圖1中H-ECDSA算法的源端需要做三項工作,包括數字摘要生成、明文加密和會話密鑰的加密。目的端也包括三項工作,分別為會話密鑰的解密、密文的解密和數字簽名的驗證。
三、H-ECDSA在學生成績管理中的應用
1、成績文件數字簽名過程
為實現學生成績管理的完整性、不可否認性、身份鑒別和保密性,網絡教學平臺中成績管理模塊的數字簽名算法實現分為密鑰分配模塊、簽名算法模塊和驗證算法模塊,成績管理模塊的數字簽名部分功能結構如圖2所示。
1)密鑰分配及管理
由于高校網絡教學平臺的特殊性,公鑰的交換不需要第三方參與,這樣避免了復雜的CA認證體系。密鑰由主數據服務器和系統管理員來產生和分配。教師可根據自己的ID、密碼和私人信息來申請一對密鑰。私鑰由教師自己保管,服務器將公鑰及用公鑰加密的登錄口令存放在數據庫中,與教師的ID對應,以在認證時使用。密鑰的更改可重新申請。系統本身的私鑰經加密后保存起來,公鑰向教師和管理員公開,服務器的公鑰定期更改。
2)成績文件簽名
系統在教師提交成績后,將成績文件用SHA-1算法產生160位的數字摘要,再用教師的私鑰對數字摘要用T-ECDSA的生成算法簽名,系統隨機生成DES會話密鑰,用DES加密簽名成績文件,將DES會話密鑰通過ECC算法加密,最后將成績簽名和加密的原始成績文件及加密的會話密鑰打包形成簽名成績文件。
成績文件簽名頁如圖3所示。
發送成績的教師首先導入成績文件,然后導入私鑰文件;導入成功后,點擊“查詢接收方公鑰”按鈕,查詢公鑰;然后點擊“生成會話密鑰”按鈕,生成DES加密密鑰,用于加密成績文件;然后點擊“數字簽名”按鈕,生成數字簽名,若簽名生成成功則彈出顯示“成績簽名成功”的提示框;最后點擊“發送”按鈕將生成結果發送給負責成績管理的教師。
3)成績文件解密
對成績文件的解密首先要分離收到的文件,分離后得到簽名成績和加密的會話密鑰及加密的成績文件,然后用ECC算法解密DES會話密鑰,用得到的會話密鑰解密成績文件,將成績文件解密后,需要驗證成績的完整性和確認發送人的身份。首先分離簽名成績得到原始成績和成績的數字簽名,然后將原始成績用SHA-1算法生成160的數字摘要,并用T-ECDSA驗證原成績的數字簽名,最后比較兩個數字簽名,如果相同則簽名有效,收到的成績未被篡改和竊聽,否則接到的成績不可信。
成績簽名驗證頁如圖4所示。
負責成績管理的教師收到簽名文件后,導入成績簽名驗證頁;然后導入私鑰文件;點擊“查詢發送方公鑰”按鈕,查詢公鑰;然后點擊“簽名驗證”
按鈕,若驗證成功,則彈出顯示“成績簽名驗證成功”的提示框,否則彈出顯示“成績簽名無效”的提示框,最后點擊“確認”按鈕,將驗證結果發送給發送此成績文件的教師。
四、數字簽名實現效果分析
利用H-ECDSA滿足學生成績傳輸中6個安全方面的需求:
1、保證成績文件的真實性和完整性。利用SHA-1算法將成績文件形成數字摘要,任何對其的篡改都可以被接收方檢測出來,從而保證了成績的真實性和完整性。
2、快速進行成績數字簽名。用改進的ECC算法對數字摘要進行簽名,縮短了簽名時間,克服了使用公鑰算法直接對原文件簽名速度慢的缺點。
3、加、解密的快速性。由于成績文件的加密工作由DES來完成,整個傳輸過程中,ECC算法僅對成績文件的數字摘要進行簽名和對DES的會話密鑰加、解密,加密量小,利于提高系統的總體加密和解密速度。
4、密鑰交換安全。由于加密的會話密鑰使用接收方的公鑰進行加密,解決了對稱密鑰的傳輸問題。此技術安全性很高,結合DES和ECC算法的優點,這種兩層加密充分發揮了對稱加密的高效性和公鑰技術的安全靈活。
5、雙方身份的鑒別。由于對稱密鑰使用接收方的公鑰加密,所以只有接收方才能使用私鑰解密,實現了接收方的身份鑒別;接收方使用發送方的公鑰解密數字簽名,認證了該簽名文件是從發送方傳遞的。
6、抗否認性。只有發送方才能生成用自己的公鑰解密的簽名,所以發送方不能否認曾經對文件進行過簽名,并發送給接收方。