淺談RSA數(shù)字簽名技術(shù)在綜合船橋系統(tǒng)中的應用
隨著計算機網(wǎng)絡的快速發(fā)展,信息網(wǎng)絡化在綜合船橋系統(tǒng)中得到廣泛的應用,而網(wǎng)絡的各種弊端也日益顯露,如數(shù)據(jù)傳輸?shù)耐暾?、保密性以及各種訪問者的身份驗證等問題。綜合船橋系統(tǒng)各子系統(tǒng)的日常運行涉及大量信息在各部門之間傳遞,通過信息傳遞來實現(xiàn)各部門的分工協(xié)調(diào)工作,因此重要信息的保密和確認也是亟待解決的問題。而目前這些信息的保密性一般采用明文傳送和簡單的口令機制實現(xiàn)對用戶的身份認證,進而控制用戶訪問重要信息的權(quán)限及確認信息發(fā)送者的身份,但這不能完全保證重要信息的保密性、完整性和抗否認性。本文采用的數(shù)字簽名可以很好地解決這一問題。
1 綜合船橋系統(tǒng)信息安全
綜合船橋系統(tǒng)IBS (Integrated Bridge System)是新一代多功能綜合型船橋系統(tǒng),數(shù)據(jù)通信網(wǎng)絡是綜合船橋系統(tǒng)的重要組成部分,數(shù)據(jù)通信網(wǎng)絡實現(xiàn)了在IBS內(nèi)任一工作站的信息共享,是實時監(jiān)測船舶航行狀態(tài)和船舶自身工作狀態(tài),控制船舶按照預定航線航行,快速實施避碰,實現(xiàn)安全航行的保證[1]。
綜合船橋系統(tǒng)中包含的信息廣泛,有些信息(如航行狀態(tài)、船舶工作狀態(tài)等)是非常重要的,各子系統(tǒng)間不斷地進行數(shù)據(jù)交換,以保證日常工作的正常運行,因此信息的傳輸非常重要。由于計算機網(wǎng)絡缺乏足夠的安全性,網(wǎng)絡上傳輸?shù)男畔㈦S時都受到各種威脅,如被非法用戶盜聽、竊取,未被授權(quán)用戶的非法查看、篡改和破壞。
為了保證信息傳輸?shù)耐暾?、用戶身份的正確性和不可抵賴性,本文將基于RSA算法的數(shù)字簽名技術(shù)應用于綜合船橋系統(tǒng)信息交換過程中,以確保綜合船橋系統(tǒng)數(shù)據(jù)的完整性和保密性。
2 RSA數(shù)字簽名算法和單向散列函數(shù)MD5
所謂“數(shù)字簽名”就是通過某種密碼運算生成的一系列符號及代碼組成電子密碼進行簽名,用來代替書寫簽名或印章。數(shù)字簽名已經(jīng)在很多領(lǐng)域得到了普遍應用,可操作性強,很好地保證了文件在傳輸過程中的完整性、真實性和不可抵賴性。
在RSA數(shù)字簽名變換前,先使用單向散列函數(shù)MD5對明文進行數(shù)字摘要操作,其在保證數(shù)字簽名效果的同時更好地提高RSA數(shù)字簽名操作的運行速度。
2.1 數(shù)字簽名的作用
(1)身份認證:利用數(shù)字簽名辨認和鑒定被指定方身份的真?zhèn)?,如果該簽名通過驗證,則可以肯定其身份確鑿無疑。
(2)數(shù)據(jù)完整性:利用數(shù)字簽名技術(shù)確認數(shù)據(jù)在傳輸和存儲過程中沒有被修改。
(3)數(shù)據(jù)保密性:除了指定的授權(quán)者外,其他沒經(jīng)授權(quán)的人無法讀出或即使讀出也無法看懂該數(shù)據(jù)信息。
(4)不可否認性:一方面,用數(shù)字簽名的方法從技術(shù)上防止簽名者對其行為的否認,另一方面,確保數(shù)據(jù)來源的不可否認性,即用戶不能否認信息和文件是來源于他。
2.2 單向散列函數(shù)MD5
MD5函數(shù)是一種單向散列函數(shù),它將任意長度的消息壓縮成128 bit的消息摘要。應用MD5的單向性和抗碰撞性,可以實現(xiàn)信息的完整性檢驗。另外,該函數(shù)執(zhí)行的速度快,是一種被廣泛認可的單向散列算法。
MD5數(shù)字摘要過程:發(fā)送者利用MD5函數(shù)對傳送的信息進行數(shù)字摘要操作得到128 bit的摘要值,并將此摘要值與原始信息數(shù)據(jù)一起傳送給接收者,接收者用此摘要值來檢驗信息數(shù)據(jù)在網(wǎng)絡傳送過程中是否有改變,以此來判斷信息的真實性[4-6]。
對于綜合船橋系統(tǒng)的數(shù)據(jù),在其傳輸過程中,可能因某些傳輸協(xié)議、信道、防火墻的問題,或者黑客攻擊而導致信息被攔截、竊取、破壞和篡改,因此在數(shù)據(jù)傳輸之前使用一些數(shù)字簽名算法對重要核心數(shù)據(jù)簽名,然后再進行傳輸,這樣就大大提高了信息傳輸?shù)耐暾院涂构裟芰Α?BR> 與此同時,可能因為一些特殊的需要,會遇到關(guān)于傳輸者的身份和文件的不可抵賴性,以及文件的保密性和完整性等問題的困擾,為了解決這個難題,本文引入了數(shù)字簽名機制,在進行數(shù)字簽名前,首先采用MD5哈希函數(shù)在信息轉(zhuǎn)換前對它進行數(shù)字摘要,以提高RSA數(shù)字簽名的速度。這樣既解決了信息驗證的問題,又有效地解決了RSA速度上的缺陷。
4 RSA數(shù)字簽名算法流程和實現(xiàn)
4.1 算法流程
綜合考慮綜合船橋系統(tǒng)的各種信息的安全性問題,在信息傳輸前對信息進行數(shù)字簽名,可以很好地保證信息在傳輸過程中不會被未被授權(quán)的用戶查看、篡改和破壞,接收到數(shù)據(jù)后還可以驗證發(fā)送方的身份,以及驗證文件信息的不可否認性。
本文的數(shù)字簽名過程如下:
(1)數(shù)字摘要過程:發(fā)送者使用MD5算法對明文信息進行數(shù)字摘要變換。
(2)簽名過程:發(fā)送方使用自己的私鑰對明文信息進行數(shù)字簽名變換,將加密后的消息和簽名發(fā)送給接收方。
(3)驗證過程:接收方使用發(fā)送方的公鑰對收到的消息進行數(shù)字簽名驗證變換,然后再比較與發(fā)送方的公鑰解密恢復消息M即可。
數(shù)字簽名算流程框圖如圖1所示。
RSA數(shù)字簽名易于實現(xiàn),并且可以和加密算法相結(jié)合。但是簽名者每次只能簽名log2n bit長的消息,獲得同樣長的簽名。一般說來,如果所要簽的消息很長,簽名前只能把消息分成log2n bit大小的分組,逐組進行簽名。由于RSA數(shù)字簽名中基本運算都是長字節(jié)運算,這樣運行的速度較慢,如果整個發(fā)送信息都使用RSA簽名,速度就成了瓶頸。為了解決速度的約束,本文在對明文消息進行簽名之前首先采用MD5對明文信息進行數(shù)字摘要,然后再由RSA算法對固定長度的數(shù)字摘要進行數(shù)字簽名變換[2]。
對于MD5算法,要找到兩個具有相同散列值的信息在實現(xiàn)上是不可行的,因此解決了信息在傳輸過程中被篡改的問題。
4.2 數(shù)字簽名在IBS中的算法實現(xiàn)
圖1給出了RSA數(shù)字簽名的算法流程,其算法的實現(xiàn)步驟如下:
(1)發(fā)送方首先使用MD5算法對明文信息M進行數(shù)字摘要變換。
(2)發(fā)送方使用自己的私鑰Kdb對明文信息M進行數(shù)字簽名變換:C=MKdb(modn)。
(3)將加密后的消息M和簽名發(fā)送給接收方。
(4)接收方使用發(fā)送方的公鑰Keb對收到的消息C進行數(shù)字簽名驗證變換:M*=CKeb(modn)。
(5)比較M*與發(fā)送方的公鑰解密恢復消息M。
(6)如果M*=M則證實發(fā)送方的身份合法。
在信息安全領(lǐng)域存在多種加密算法,隨著計算機網(wǎng)絡技術(shù)的發(fā)展,信息安全越來越受到重視,本文針對問題的實際情況,在RSA數(shù)字簽名算法和MD5算法的基礎上,將RSA數(shù)字簽名機制應用到綜合船橋系統(tǒng)中。此算法原理簡單、易于實現(xiàn),既保證了信息的完整性,又保證了信息的真實性和完成用戶的身份驗證。同時,在簽名操作前使用MD5進行數(shù)字摘要操作,使得加密速度較快,而對安全性沒有影響,很好地符合了系統(tǒng)的要求。
參考文獻
[1] 曾慶軍,周耀庭.綜合船橋系統(tǒng)研究綜述[J].中國航海, 2000,46(1):28-37.
[2] 徐煒,陶翔.數(shù)字簽名在網(wǎng)上交易中的應用[J].電子商務,2006(34).
[3] 王保義,張少敏.用混合密碼算法實現(xiàn)電力系統(tǒng)重要信息的安全傳送[J].電力自動化設備,2004,24(4):64-67.
[4] 凌捷.計算機數(shù)據(jù)安全技術(shù)[M].北京:科學出版社,2004.
[5] 牛少彰.信息安全概論[M].北京:北京郵電大學出版社, 2004.
評論