本發(fā)明涉及信息安全領域,更具體地,涉及一種用于數(shù)據(jù)文件安全處理的方法及系統(tǒng)。
背景技術(shù):
目前,辦公自動化系統(tǒng)中對信息的安全主要是采用數(shù)據(jù)庫的權(quán)限設置方式,根據(jù)使用者的使用級別來設置相應的權(quán)限,對文檔未采用加密體制,安全性很難得到保證。如果對每一公文進行權(quán)限管理,這將大大增加管理員的工作負擔。由于沒有采用簽名機制,公文接收者不能核實公文的真實性,公文發(fā)送者事后也可以抵賴已發(fā)公文,這樣不能從法律上保證公文的真實性,既不能保證簽發(fā)者的身份,對已發(fā)公文其他人可以對公文進行篡改、甚至刪除,而接收者不能發(fā)現(xiàn)這種情況。本發(fā)明正是為了增加信息的安全。
現(xiàn)有技術(shù)對數(shù)據(jù)文件傳送的加密技術(shù)重點在發(fā)送方設置簽名及對發(fā)送文件進行加密處理,但沒有通過摘要算法對經(jīng)過簽名的數(shù)據(jù)文件信息與經(jīng)過解密的文件信息進行核對的技術(shù)方案,現(xiàn)有技術(shù)不能保證數(shù)據(jù)文件在傳送過程中的完整性,不能防止數(shù)據(jù)文件在傳輸過程中被篡改。
技術(shù)實現(xiàn)要素:
本發(fā)明的技術(shù)方案,提供了一種用于數(shù)據(jù)文件安全處理的方法及系統(tǒng),以解決數(shù)據(jù)文件傳輸過程中加密、發(fā)送者身份認證及防止數(shù)據(jù)被篡改的問題。
為了解決上述問題,本發(fā)明提供了一種方法,所述方法包括:
根據(jù)消息摘要算法對明文進行計算,獲取所述明文摘要及系統(tǒng)時間;
利用發(fā)送者非對稱私鑰對所述明文摘要及系統(tǒng)時間進行簽名,得到包括所述明文摘要及系統(tǒng)時間的簽名密文;
生成發(fā)送者對稱密鑰;
利用發(fā)送者對稱密鑰對所述明文進行加密,得到密文;
利用接收者非對稱公鑰對所述發(fā)送者對稱密鑰進行加密,獲取經(jīng)過加密的發(fā)送者對稱密鑰;
發(fā)送包括三元組<簽名密文,密文,加密對稱密鑰>的數(shù)據(jù)文件。
優(yōu)選地,所述發(fā)送者與接收者采用RAS算法進行非對稱密鑰加密。
優(yōu)選地,所述發(fā)送者與接收者采用三重DES算法進行對稱密鑰加密。
基于本發(fā)明的實施方式,本發(fā)明提供一種用于對數(shù)據(jù)文件進行解密的方法,所述方法包括:
接收包括三元組<簽名密文,密文,加密對稱密鑰>的數(shù)據(jù)文件;
利用接收者非對稱私鑰對經(jīng)過加密的發(fā)送者對稱密鑰進行解密,獲取發(fā)送者對稱密鑰;
利用所述發(fā)送者對稱密鑰對所述密文數(shù)據(jù)進行解密,獲取所述解密后明文的解密明文摘要及解密系統(tǒng)時間;
利用發(fā)送者非對稱公鑰對所述簽名密文進行解密,得到經(jīng)過解密的明文摘要及系統(tǒng)時間;
根據(jù)對所述簽名密文進行解密,得到對發(fā)送者身份進行驗證。
優(yōu)選地,所述發(fā)送者與接收者采用RAS算法進行非對稱密鑰加密。
優(yōu)選地,所述發(fā)送者與接收者采用三重DES算法進行對稱密鑰加密。
優(yōu)選地,將所述明文摘要與所述簽名明文摘要進行比較,以及解密系統(tǒng)時間與簽名系統(tǒng)時間進行比較;若摘要和系統(tǒng)時間相同,則證明發(fā)送者身份為真;否則,發(fā)送者身份為假。
基于本發(fā)明的實施方式,本發(fā)明提供一種用于對數(shù)據(jù)文件進行加密的系統(tǒng),所述系統(tǒng)包括:
第一生成單元,用于根據(jù)消息摘要算法對明文進行計算,獲取所述明文摘要及系統(tǒng)時間;
簽名單元,用于利用發(fā)送者非對稱私鑰對所述明文摘要及系統(tǒng)時間進行簽名,得到包括所述明文摘要及系統(tǒng)時間的簽名密文;
第二生成單元,用于生成發(fā)送者對稱密鑰;
第一加密單元,用于利用發(fā)送者對稱密鑰對所述明文進行加密,得到密文;
第二加密單元,用于利用接收者非對稱公鑰對所述發(fā)送者對稱密鑰進行加密,獲取經(jīng)過加密的發(fā)送者對稱密鑰;
發(fā)送單元,用于發(fā)送包括三元組<簽名密文,密文,加密對稱密鑰>的數(shù)據(jù)文件。
優(yōu)選地,所述發(fā)送者與接收者采用RAS算法進行非對稱密鑰加密。
優(yōu)選地,所述發(fā)送者與接收者采用三重DES算法進行對稱密鑰加密。
基于本發(fā)明的實施方式,本發(fā)明提供一種用于對數(shù)據(jù)文件進行解密的系統(tǒng),所述系統(tǒng)包括:
接收單元,用于接收包括三元組<簽名密文,密文,加密對稱密鑰>的數(shù)據(jù)文件;
第一解密單元,用于利用接收者非對稱私鑰對經(jīng)過加密的發(fā)送者對稱密鑰進行解密,獲取發(fā)送者對稱密鑰;
第二解密單元,用于利用所述發(fā)送者對稱密鑰對所述密文數(shù)據(jù)進行解密,獲取所述解密后明文的解密明文摘要及解密系統(tǒng)時間;
第三解密單元,用于利用發(fā)送者非對稱公鑰對所述簽名密文進行解密,得到經(jīng)過解密的明文摘要及系統(tǒng)時間;
驗證單元,用于根據(jù)對所述簽名密文進行解密,得到對發(fā)送者身份進行驗證。
優(yōu)選地,所述發(fā)送者與接收者采用RAS算法進行非對稱密鑰加密。
優(yōu)選地,所述發(fā)送者與接收者采用三重DES算法進行對稱密鑰加密。
優(yōu)選地,將所述明文摘要與所述簽名明文摘要進行比較,以及解密系統(tǒng)時間與簽名系統(tǒng)時間進行比較;若摘要和系統(tǒng)時間相同,則證明發(fā)送者身份為真;否則,發(fā)送者身份為假。
本發(fā)明的有益效果為:
本發(fā)明的技術(shù)方案采用非對稱密鑰算法對對稱密鑰進行加密,對傳送的文件進行加密及簽名處理,并將數(shù)據(jù)文件進行摘要算法獲取文件標識信息實現(xiàn)數(shù)據(jù)文件的安全處理。通過本發(fā)明的技術(shù)方案進行數(shù)據(jù)文件傳輸,數(shù)據(jù)文件接收者能夠核實發(fā)送者對數(shù)據(jù)的簽名,數(shù)據(jù)文件發(fā)送者不能抵賴對數(shù)據(jù)文件的簽名,可以防止第三方偽造數(shù)據(jù)文件及簽名,并通過核實摘要信息對數(shù)據(jù)的完整性進行驗證。
附圖說明
通過參考下面的附圖,可以更為完整地理解本發(fā)明的示例性實施方式:
圖1為根據(jù)本發(fā)明實施方式的一種用于對數(shù)據(jù)文件進行加密的方法流程圖;
圖2為根據(jù)本發(fā)明實施方式的一種用于對數(shù)據(jù)文件進行加密的系統(tǒng)結(jié)構(gòu)圖;
圖3為根據(jù)本發(fā)明實施方式的一種用于對數(shù)據(jù)文件進行解密的方法流程圖;以及
圖4為根據(jù)本發(fā)明實施方式的一種用于對數(shù)據(jù)文件進行解密的系統(tǒng)結(jié)構(gòu)圖。
具體實施方式
現(xiàn)在參考附圖介紹本發(fā)明的示例性實施方式,然而,本發(fā)明可以用許多不同的形式來實施,并且不局限于此處描述的實施例,提供這些實施例是為了詳盡地且完全地公開本發(fā)明,并且向所屬技術(shù)領域的技術(shù)人員充分傳達本發(fā)明的范圍。對于表示在附圖中的示例性實施方式中的術(shù)語并不是對本發(fā)明的限定。在附圖中,相同的單元/元件使用相同的附圖標記。
除非另有說明,此處使用的術(shù)語(包括科技術(shù)語)對所屬技術(shù)領域的技術(shù)人員具有通常的理解含義。另外,可以理解的是,以通常使用的詞典限定的術(shù)語,應當被理解為與其相關(guān)領域的語境具有一致的含義,而不應該被理解為理想化的或過于正式的意義。
圖1為根據(jù)本發(fā)明實施方式的一種用于對數(shù)據(jù)文件進行加密的方法流程圖。如圖1所示,方法100用于對數(shù)據(jù)文件進行加密。本發(fā)明實施方式的方法100的技術(shù)方案采用非對稱密鑰算法對對稱密鑰進行加密,對傳送的文件進行加密及簽名處理,并將數(shù)據(jù)文件進行摘要算法獲取文件明文摘要及系統(tǒng)時間等標識信息實現(xiàn)數(shù)據(jù)文件的安全處理。
方法100從步驟101起步:根據(jù)消息摘要算法對明文進行計算,獲取明文摘要及系統(tǒng)時間。消息摘要算法的主要特征是加密過程不需要密鑰,并且經(jīng)過加密的數(shù)據(jù)無法被解密,只有輸入相同的明文經(jīng)過相同的消息摘要算法才能得到相同的密文。消息摘要算法不存在密鑰的管理與分發(fā)問題。
步驟102:利用發(fā)送者非對稱私鑰對明文摘要及系統(tǒng)時間進行簽名,得到包括明文摘要及系統(tǒng)時間的簽名密文。非對稱加密算法是一種密鑰的保密方法,非對稱加密算法需要兩個密鑰:公鑰(publickey)和私鑰(privatekey)。公鑰與私鑰是一對,如果用公鑰對數(shù)據(jù)進行加密,只有用對應的私鑰才能解密;如果用私鑰對數(shù)據(jù)進行加密,那么只有用對應的公鑰才能解密。加密和解密使用的是兩個不同的密鑰。例如,非對稱加密算法實現(xiàn)機密數(shù)據(jù)信息交換的基本過程是:發(fā)送者生成一對密鑰并將其中的一把作為公鑰向其它方公開;得到該公鑰的接收者使用該密鑰對機密數(shù)據(jù)信息進行加密后再發(fā)送給發(fā)送者;發(fā)送者再用自己保存的另一把私鑰對加密后的數(shù)據(jù)信息進行解密。另一方面,發(fā)送者可以使用接收者的公鑰對機密數(shù)據(jù)信息進行簽名后再發(fā)送給接收者;接收者再用自己的私鑰對數(shù)據(jù)進行驗簽。發(fā)送者只能用其專用私鑰解密由其公鑰加密后的任何信息。非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要。非對稱加密算法同時支持數(shù)字簽名,本發(fā)明實施方式建立簽名的過程為:發(fā)送者構(gòu)建密鑰對,公鑰與私鑰,并將公鑰公布給接收者,私鑰由發(fā)送者自已保留。發(fā)送者使用私鑰對數(shù)據(jù)進行加密,然后用私鑰對加密后的數(shù)據(jù)簽名,并將加密后的數(shù)據(jù)及簽名發(fā)送給接收者。接收者使用發(fā)送者的公鑰及簽名來驗證待解密數(shù)據(jù)是否有效,如果數(shù)據(jù)有效,使用發(fā)送者公鑰對數(shù)據(jù)解密。非對稱加密體系不要求通信雙方事先傳遞密鑰或有任何約定就能完成保密通信,并且密鑰管理方便,可實現(xiàn)防止假冒和抵賴,因此,更適合網(wǎng)絡通信中的保密通信要求。這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了,這種處理方式安全性就大了很多。本發(fā)明實施方式發(fā)送者與接收者采用RAS算法進行非對稱密鑰加密。
步驟103,生成發(fā)送者對稱密鑰。對稱密鑰加密即專用密鑰加密,即發(fā)送和接收數(shù)據(jù)的雙方必使用相同的密鑰對明文進行加密和解密運算。本發(fā)明實施方式對稱密鑰加密算法為三重DES加密算法。對稱密鑰是雙方使用相同的密鑰,必須以絕對安全的形式傳送密鑰才能保證安全。
步驟104,利用發(fā)送者對稱密鑰對明文進行加密,得到密文。
步驟105,利用接收者非對稱公鑰對發(fā)送者對稱密鑰進行加密,獲取經(jīng)過加密的發(fā)送者對稱密鑰。
步驟106,發(fā)送者發(fā)送包括三元組<簽名密文,密文,加密對稱密鑰>的數(shù)據(jù)文件,至此數(shù)據(jù)的加密和簽名已經(jīng)完成。
圖2為根據(jù)本發(fā)明實施方式的一種用于對數(shù)據(jù)文件進行加密的系統(tǒng)結(jié)構(gòu)圖。系統(tǒng)200包括:第一生成單元201,用于根據(jù)消息摘要算法對明文進行計算,獲取明文摘要及系統(tǒng)時間;簽名單元202,用于利用發(fā)送者非對稱私鑰對明文摘要及系統(tǒng)時間進行簽名,得到包括明文摘要及系統(tǒng)時間的簽名密文;第二生成單元203,用于生成發(fā)送者對稱密鑰;第一加密單元204,用于利用發(fā)送者對稱密鑰對明文進行加密,得到密文;第二加密單元205,用于利用接收者非對稱公鑰對發(fā)送者對稱密鑰進行加密,獲取經(jīng)過加密的發(fā)送者對稱密鑰;發(fā)送單元206,用于發(fā)送包括三元組<簽名密文,密文,加密對稱密鑰>的數(shù)據(jù)文件。一種用于對數(shù)據(jù)文件進行加密的系統(tǒng)200與一種用于對數(shù)據(jù)文件進行加密的方法100相對應,在此不再進行贅述。
圖3為根據(jù)本發(fā)明實施方式的一種用于對數(shù)據(jù)文件進行解密的方法流程圖300。本發(fā)明實施方式的方法300的技術(shù)方案采用非對稱密鑰算法對對稱密鑰進行解密,對傳送的文件進行解密及簽名驗證處理,并將數(shù)據(jù)文件進行摘要算法獲取文件標識信息并通過對明文摘要及系統(tǒng)時間等文件標識進行驗證,實現(xiàn)數(shù)據(jù)文件的安全處理。
流程300從301起步,接收者接收包括三元組<簽名密文,密文,加密對稱密鑰>的數(shù)據(jù)文件,并將簽名密文、密文、加密對稱密鑰分開進行處理。
步驟302,利用接收者非對稱私鑰對經(jīng)過加密的發(fā)送者對稱密鑰進行解密,獲取發(fā)送者對稱密鑰。非對稱加密算法是一種密鑰的保密方法。非對稱加密算法需要兩個密鑰:公鑰(publickey)和私鑰(privatekey)。公鑰與私鑰是一對,如果用公鑰對數(shù)據(jù)進行加密,只有用對應的私鑰才能解密;如果用私鑰對數(shù)據(jù)進行加密,那么只有用對應的公鑰才能解密。加密和解密使用的是兩個不同的密鑰。例如,非對稱加密算法實現(xiàn)機密數(shù)據(jù)信息交換的基本過程是:發(fā)送者生成一對密鑰并將其中的一把作為公鑰向其它方公開;得到該公鑰的接收者使用該密鑰對機密數(shù)據(jù)信息進行加密后再發(fā)送給發(fā)送者;發(fā)送者再用自己保存的另一把私鑰對加密后的數(shù)據(jù)信息進行解密。另一方面,發(fā)送者可以使用接收者的公鑰對機密數(shù)據(jù)信息進行簽名后再發(fā)送給接收者;接收者再用自己的私鑰對數(shù)據(jù)進行驗簽。發(fā)送者只能用其專用私鑰解密由其公鑰加密后的任何信息。非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要。非對稱加密算法同時支持數(shù)字簽名,本發(fā)明實施方式建立簽名的過程為:發(fā)送者構(gòu)建密鑰對,公鑰與私鑰,并將公鑰公布給接收者,私鑰由發(fā)送者自已保留。發(fā)送者使用私鑰對數(shù)據(jù)進行加密,然后用私鑰對加密后的數(shù)據(jù)簽名,并將加密后的數(shù)據(jù)及簽名發(fā)送給接收者。接收者使用發(fā)送者的公鑰及簽名來驗證待解密數(shù)據(jù)是否有效,如果數(shù)據(jù)有效,使用發(fā)送者公鑰對數(shù)據(jù)解密。非對稱加密體系不要求通信雙方事先傳遞密鑰或有任何約定就能完成保密通信,并且密鑰管理方便,可實現(xiàn)防止假冒和抵賴,因此,更適合網(wǎng)絡通信中的保密通信要求。這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了,這種處理方式安全性就大了很多。本發(fā)明實施方式發(fā)送者與接收者采用RAS算法進行非對稱密鑰加密。
步驟303,利用發(fā)送者對稱密鑰對密文數(shù)據(jù)進行解密,獲取解密后明文的解密明文摘要及解密系統(tǒng)時間。對稱密鑰加密即專用密鑰加密,即發(fā)送和接收數(shù)據(jù)的雙方必須使用相同的密鑰對明文進行加密和解密運算。本發(fā)明實施方式對稱密鑰加密算法為三重DES加密算法。對稱密鑰是雙方使用相同的密鑰,必須以絕對安全的形式傳送密鑰才能保證安全。
步驟304,利用發(fā)送者非對稱公鑰對簽名密文進行解密,得到經(jīng)過解密的明文摘要及系統(tǒng)時間。
步驟305,根據(jù)對簽名密文進行解密,得到對發(fā)送者身份進行驗證。將明文摘要與簽名明文摘要進行比較,以及解密系統(tǒng)時間與簽名系統(tǒng)時間進行比較;若摘要和系統(tǒng)時間相同,則證明發(fā)送者身份為真;否則,發(fā)送者身份為假。
圖4為根據(jù)本發(fā)明實施方式的一種用于對數(shù)據(jù)文件進行解密的系統(tǒng)結(jié)構(gòu)圖。如圖4所示,系統(tǒng)400包括:
接收單元401,用于接收包括三元組<簽名密文,密文,加密對稱密鑰>的數(shù)據(jù)文件。
第一解密單元402,用于利用接收者非對稱私鑰對經(jīng)過加密的發(fā)送者對稱密鑰進行解密,獲取發(fā)送者對稱密鑰。
第二解密單元403,用于利用發(fā)送者對稱密鑰對密文數(shù)據(jù)進行解密,獲取解密后明文的解密明文摘要及解密系統(tǒng)時間。
第三解密單元404,用于利用發(fā)送者非對稱公鑰對簽名密文進行解密,得到經(jīng)過解密的明文摘要及系統(tǒng)時間。
驗證單元405,用于根據(jù)對簽名密文進行解密,得到對發(fā)送者身份進行驗證。
一種用于對數(shù)據(jù)文件進行解密的系統(tǒng)300與一種用于對數(shù)據(jù)文件進行解密的方法400相對應,在此不再進行贅述。
本發(fā)明的技術(shù)方案采用非對稱密鑰算法對對稱密鑰進行加密,對傳送的文件進行加密及簽名處理,并將數(shù)據(jù)文件進行摘要算法獲取文件標識信息實現(xiàn)數(shù)據(jù)文件的安全處理。通過本發(fā)明的技術(shù)方案進行數(shù)據(jù)文件傳輸,數(shù)據(jù)文件接收者能夠核實發(fā)送者對數(shù)據(jù)的簽名,數(shù)據(jù)文件發(fā)送者不能抵賴對數(shù)據(jù)文件的簽名,可以防止第三方偽造數(shù)據(jù)文件及簽名,并通過核實摘要信息對數(shù)據(jù)的完整性進行驗證。
已經(jīng)通過參考少量實施方式描述了本發(fā)明。然而,本領域技術(shù)人員所公知的,正如附帶的專利權(quán)利要求所限定的,除了本發(fā)明以上公開的其他的實施例等同地落在本發(fā)明的范圍內(nèi)。
通常地,在權(quán)利要求中使用的所有術(shù)語都根據(jù)他們在技術(shù)領域的通常含義被解釋,除非在其中被另外明確地定義。所有的參考“一個/所述/該[裝置、組件等]”都被開放地解釋為所述裝置、組件等中的至少一個實例,除非另外明確地說明。這里公開的任何方法的步驟都沒必要以公開的準確的順序運行,除非明確地說明。