一種多播數據加密傳輸的方法
2023-06-14 11:40:21 1
專利名稱:一種多播數據加密傳輸的方法
技術領域:
本發明涉及網絡通信中信息安全技術領域,具體涉及多播網絡體系結構中的多播數據加密傳輸的方法。
背景技術:
隨著網絡通訊技術的不斷發展,網絡速度的瓶頸已從網絡的帶寬轉向主機、路由節點處理信息的能力;而網絡安全是一個複雜的過程,在進行網絡通訊時既要考慮網絡信息不被輕易破解,又要提高計算機處理信息的能力,以加快網絡傳輸信息的速度。
網絡傳遞的大部分數據是用一種普通的加密算法,這種算法執行的效率高、代價小;這種算法的密鑰要相當可靠,不相關的人員無從知道該密鑰,因此,這種密鑰有時候又稱為會話密鑰。會話密鑰的傳遞要相當可靠,由於會話密鑰一般長度不長,並且在整過傳遞過程中只要在開始時加密一次,故選擇加密會話密鑰的算法可以比較複雜、運算速度較慢但相當可靠。在加密傳遞過程中,可以用公開的加密算法完成會話密鑰的加密,這樣的算法可以有基於大數難於分解因子的RSA算法、基於計算離散對數困難的ELGmamal算法以及基於橢圓曲線的公開密鑰算法等。實際要傳遞的網絡信息用相對快速的算法加密如IDEA、DES等加密算法,它們用到的密鑰就是會話密鑰。
在單播體系結構中,通信A、B雙方安全通信是通過如下過程實現的,請求發送信息方A想發送信息給B,首先它用B的公開密鑰加密會話密鑰和A自己的標識,其中會話密鑰作為正式交換信息用,而標識用來使B知道是A請求傳遞信息;當B收到A用B的公開密鑰加密的消息(由於公開密鑰算法的高保密性,其他任何破壞者無法解密)用它自己的私有密鑰解密後,知道是A請求傳遞信息,如是B用A的公開密鑰加密自己的標識和會話密鑰表示同意交流信息;當A收到B的加密消息就能確定B願意交流信息並作好準備,如是A、B雙方可以利用會話密鑰加密正式的信息了。此方法的關鍵是A、B雙方都必須知道對方的公開密鑰,如果雙方事先不知道對方的公開密鑰,策略就會失敗。
但是,多播通信涉及的安全問題比單播通信複雜得多,IETF/IRTF SMG(安全多播研究工作組)將多播安全問題分為三個問題域,即多播數據處理、密鑰素材管理、多播安全策略,並針對上述三個主要問題提出了一個安全參考框架。甚至對於標準的消息鑑別和保密處理也變得相當複雜。多播數據的籤名機制與單播數據的籤名機制可以是一致的,一般可以利用散列函數以及公鑰機制進行解決。而對於加密與單播數據就有很大的區別了,因為多播機制重要的思想是有效的利用帶寬,多播路由器負責多播數據的分發以及組成員的管理,所以考慮多播數據的安全時要考慮多播路由器在轉發數據時的作用與影響。在現有的一些多播安全機制中,主要是利用組密鑰的方法。組密鑰的方法對組密鑰的維護以及管理是一個比較複雜的問題,尤其大家共用一個組密鑰,對於密碼及信息的安全來說,存在著較大的安全隱患。
發明內容
本發明針對在特定源的多播模式下,多播源發送籤名以及加密的數據,多播接收者確保多播是多播源發送的,並且只有合法的密鑰才能解密的數據,提供一種多播數據加密傳輸的方法,克服現有多播安全機制中組密鑰方法的安全缺陷。
為實現上述目的,本發明通過以下技術方案實現一種多播數據加密傳輸的方法,包括在多播源數據發送端對多播數據加密方法和在多播數據接收端對接收到的多播數據解密方法兩部分。
在多播源數據發送端對多播數據的加密方法包括如下步驟(1)隨機選擇多播數據的加密密鑰;(2)在多播數據的加密密鑰控制下,用分組密碼算法對多播數據明文進行加密;(3)隨機選取每一個多播數據接收者的密鑰1及映射函數,計算加密密鑰和多播數據接收者的密鑰1的此函數值,得到多播數據接收者的密鑰2;(4)運用RSA算法,分別用每一個多播數據接收者的公鑰對其IP位址及密鑰2進行加密;(5)把上述步驟(4)中得到的所有值相加;(6)計算步驟(5)中的值與步驟(2)中的值之和的哈希值;(7)利用RSA算法,用多播數據發送者的私鑰對步驟(6)中的哈希值加密;(8)把步驟(7)中的加密值作為多播數據的第一部分,把步驟(5)得到的值與步驟(2)得到的值之和作為多播數據的第二部分,把這兩部分組成多播數據發送到多播數據的接收方。
在多播數據接收端對接收到的多播數據的解密方法包括如下步驟a.接收者把接收到的多播數據分離為第一和第二兩部分;b.利用RSA算法,多播數據的接收者用發送者的公鑰對第一部分數據進行解密運算;c.接收者對步驟a中分離得到的第二部分數據求其哈希值;d.比較步驟b與步驟c中得到的兩個數值是否相等,若相等進行步驟e,否則結束所有操作;e.對步驟a得到的第二部分數據再進行分離,得到第三部分和第四部分;f.利用RSA算法,用接收者的私鑰對第三部分中的每一個值進行解密;g.把步驟f中的每一個解密值進行分離,得到第五和第六部分;h.比較接收者的IP位址與第五部分是否一致,選取一致時的第六部分的數值作為多播數據接收者的密鑰2;i.利用步驟h中得到的密鑰2、多播數據接收者的密鑰1、映射函數及其關係式,計算多播數據的加密密鑰;
j.利用步驟(2)中的分組密碼算法,在步驟i中計算出的多播數據的加密密鑰控制下,對步驟g中得到的第六部分數據進行解密運算,即可計算得到多播數據的明文。
本發明與現有的組密鑰多播技術相比,具有以下顯著優點1、解決了在多播數據發送前必須知道一個共同的組密鑰及其共用一個組密鑰容易洩露等不安全問題;本發明在多播數據發送前,多播數據的接收者是無須知道多播源發送加密數據的密鑰,它可以是動態隨機的,接收者要經過各自的計算才能得到,保證了每次通信中的加密密鑰及多播數據的安全性;2、簡化了通信各方的密鑰管理;發送者可以根據通信需要,任意選取多播數據接收者,只要在步驟(4)中對所有的多播數據接收者的IP位址及密鑰2用其公鑰加密,計算出其相應的值加入到多播數據中,即可實現多播數據的加密安全傳輸;用戶加入組成員時只要把新成員自己的密鑰1及映射函數告訴多播數據發送者既可,加入手續簡便,也不影響多播數據發送者與原組成員之間的加密通信。組密鑰方法選擇多播數據接收者時需要重新更換所有成員的組密鑰,新成員加入時擁有了組密鑰,則新成員就知曉了以前的秘密數據,將構成嚴重的洩密事故,否則,每加入一個新成員必須更換一次密鑰,密鑰管理十分複雜。
3、接收者得到的多播數據具有籤名認證功能,發送端在步驟6、7中完成了籤名,而接收端在步驟c、d、e、g、h、i中完成了對籤名的驗證,確保了多播數據的機密性、完整性、不可否認性,而在組密鑰方法中是通過用組密鑰對多播數據加密後傳輸給多播數據接收者,接收者又用組密鑰解密,只要知道組密鑰的任一方都可以以其他方身份傳輸加密信息,接收者不能確認多播數據的源,沒有這種籤名驗證機制;本發明解決了多播體制中組密鑰方法存在的多播數據沒有籤名認證的信息安全問題。
具體實施例方式
下面結合實施例對本發明作進一步的說明,但本發明要求保護的範圍並不局限於實施例表示的範圍實施例1應用到股票交易實時數據的加密傳輸在股票交易中,為了保證數據的安全性,股票交易的實時數據必須通過股票交易中心加密後,經過網絡傳輸到分布在全國各地的股票交易點(共有N個),在各交易點解密後輸出明文實時數據到各顯示終端,即將實時數據通過多播方式加密傳輸。目前,這種加密傳輸的方法採用的是組密鑰的方法,即由股票交易中心分發一個組密鑰給各交易點,數據的發送者和接收者都是利用這個組密鑰和一種分組密碼算法進行加密和解密,組密鑰定期更換。在這種加密傳輸中,組成員及知道組密鑰的任何一方,都可以在網絡節點解密後修改數據,再加密分發而不被發現,給股票交易帶來嚴重的破壞和損失。本發明應用到股票交易實時數據的加密傳輸時,發送者每次使用的加密密鑰是不相同的、隨機的,每個接收者只能唯一的解密發送者傳輸給它的加密數據,並可以驗證數據的來源是否是會議中心的多播數據,任何人都無法修改數據,從而大大提高了多播數據的安全性,確保了股票交易數據的機密性、完整性、不可否認性。本發明的解決方法包括在多播源數據發送端對多播數據加密方法和在多播數據接收端對接收到的多播數據解密方法兩部分。
一、股票交易中心對多播數據即股票實時交易數據的加密方法,包括如下步驟1、股票交易中心隨機地選擇一個多播數據的加密密鑰,可將該密鑰稱為σ;2、在多播數據的加密密鑰σ控制下,選取一種分組密碼算法,如3DES,AES,對股票實時交易數據明文M進行加密,得到加密信息Eσ(M);3、隨機選擇並約定每一個股票交易點的密鑰Si及函數映射Fi,計算σ、Si的函數值Si′,得到密鑰Si′=Fi(σ,S1);其中i=1,2,3,…,N;4、利用RSA密碼算法,分別用每一個股票交易點的公鑰Ei對其IP位址ai及密鑰Si′進行加密,計算得到Ei(ai+Si′);5、把上述步驟4中的所有Ei(ai+Si′)值相加,計算得到B,即B=E1(a1+S1′)+E2(a2+S2′)+…+EN(aN+SN′);6、用哈希函數計算B+Eσ(M)的哈希值H(B+Eσ(M));7、利用RSA算法,用股票交易中心的私鑰D對哈希函數值H(B+Eσ(M))加密,得到D(H(B+Eσ(M)))8、股票交易中心發送多播數據D(H(B+Eσ(M)))+B+Eσ(M)。
二、各股票交易點對接收到的股票實時加密數據的解密方法,包括如下步驟a、各股票交易點對接收到的數據D(H(B+Eσ(M)))+B+Eσ(M)進行分離,得到兩部分數據,即第一部分數據D(H(B+Eσ(M)))以及第二部分數據B+Eσ(M);b、利用RSA算法,各股票交易點用股票交易中心的公鑰E對第一部分數據D(H(B+Eσ(M)))進行解密運算,計算得到X=H(B+Eσ(M)=E(D(H(B+Eσ(M))));c、各股票交易點對上述步驟a中分離得到的第二部分數據B+Eσ(M)求其哈希值,計算得到Y=H(B+Eσ(M))d、比較X=Y是否成立,成立進行第e步,否則結束運算。
e、各股票交易點分離第二部分數據B+Eσ(M),得到第三部分數據B和第四部分數據Eσ(M);f、利用RSA算法,用各股票交易點的私鑰D1對B中的每一個值Ei(ai+Si′)進行解密,即計算出Di(E1(a1+S1′)),Di(E2(a2+S2′)),…,Di(EN(aN+SN′));g、分離步驟f中得到的每一個Di(Ei(ai+Si′))值,即得到a1′,S1″,a2′,S2″,…,aN′,SN″;h、各股票交易點比較自己的IP位址與哪一個ai′的值一致,選取一致時對應的Si″作為Si′值;i、各股票交易點利用步驟h中得到的Si′、步驟3中選取的密鑰Si、函數映射Fi及關係式Si′=Fi(σ,Si),計算得到σ;j、各股票交易點利用步驟2中選取的分組密碼算法3DES或AES,在步驟i中得到的密鑰σ控制下,對步驟e中得到的第四部分數據Eσ(M)進行解密運算,即計算得到多播數據的明文MM=Dσ(Eσ(M))。
為保證在實際操作中便於股票交易的進行,本實例還對新成員加入組和原組成員的業務撤銷數據傳輸加密提供可操作技術支持新成員加入組的方法若有新的股票交易點開張運營,那麼,該新的股票交易點與股票交易中心協商好自己的密鑰Si及函數映射Fi,雙方知曉;股票交易中心在發送股票加密實時數據時,只需要在上述步驟3中計算出新的股票交易點的密鑰Si′和在步驟4中加入相應的加密數據Ei(ai+Si′)既可。
原組成員的業務撤消方法若有原股票交易點業務撤消,那麼,股票交易中心只需要在上述步驟3中不計算此股票交易點的密鑰Si′和在步驟4中不加入對應的加密數據Ei(ai+Si′)既可。
實施例2應用到多媒體會議系統音視頻數據的實時加密傳輸多媒體會議系統在電子政務中應用最為廣泛,為了保證會議內容即音視頻數據在傳輸的過程中不被未授權者知曉,通常對會議傳輸的音視頻數據進行加密傳輸,大多採用的方法是組密鑰網絡多播方法,即會議中心用事先約定的組密鑰,採用一種分組密碼算法如3DES或菜AES等,對會議內容的音視頻數據加密,經網絡發送出去;各分會場用同樣的組密鑰解密,在終端顯示出相應的音視頻明文信息。這種組密鑰多播方式存在的安全隱患與實施例一中的一樣。本發明應用到多媒體會議系統中,實現了會議中心與各個分會場(共有N個)之間的會議內容信息即音視頻數據的加密傳輸,保證了傳輸信息的機密性、完整性和不可否認性,保證了新加入會議成員無法獲悉加入前的會議內容,退出會議者無法獲悉之後的會議內容。本發明的解決方法包括在多播源數據發送端對多播數據加密方法和在多播數據接收端對接收到的多播數據解密方法兩部分。
一、會議中心對多播數據即會議內容的音視頻數據的加密方法1、會議中心隨機地選擇一個加密密鑰,可將該密鑰稱為σ;2、選取一種分組密碼算法如3DES,AES,在加密密鑰σ控制下,對會議音視頻數據明文M進行加密,得到加密信息Eσ(M);3、隨機選擇並約定每一個各分會場的密鑰Si及函數映射Fi,計算σ、Si的函數值Si′,得到密鑰Si′=Fi(σ,Si);其中j=1,2,3,…,N;4、利用RSA密碼算法,分別用每一個分會場的公鑰Ei對其IP位址ai及密鑰Si′進行加密,計算得到Ei(ai+Si′);5、把上述步驟4中的所有Ei(ai+Si′)值相加,計算得到B,即B=E1(a1+S1′)+E2(a2+S2′)+…+EN(aN+SN′);6、用哈希函數計算B+Eσ(M)的哈希值H(B+Eσ(M));7、利用RSA算法,用會議中心的私鑰D對哈希函數值H(B+Eσ(M))加密,得到D(H(B+Eσ(M)))8、會議中心發送多播數據D(H(B+Eσ(M)))+B+Eσ(M)。
二、各分會場對接收到的多播數據即會議內容的音視頻加密數據的解密方法a、各分會場對接收到的音視頻加密數據D(H(B+Eσ(M)))+B+Eσ(M)進行分離,得到兩部分數據,即第一部分數據D(H(B+Eσ(M)))以及第二部分數據B+Eσ(M);b、利用RSA算法,各分會場用會議中心的公鑰E對第一部分數據D(H(B+Eσ(M)))進行解密運算,計算得到X=H(B+Eσ(M)=E(D(H(B+Eσ(M))));c、各分會場對上述步驟a中分離得到的第二部分數據B+Eσ(M)求其哈希值,計算得到Y=H(B+Eσ(M))d、比較X=Y是否成立,成立進行第e步,否則結束運算。
e、各分會場分離第二部分數據B+Eσ(M),得到第三部分數據B和第四部分數據Eσ(M);f、利用RSA算法,各分會場用自己的私鑰Di對B中的每一個值Ei(ai+Si′)進行解密,即計算出Di(E1(a1+S1′)),Di(E2(a2+S2′)),…,Di(EN(aN+SN′));g、分離步驟f中得到的每一個值,即得到a1′ S1″,a2′,S2″,…,aN′,SN″;h、各分會場比較自己的IP位址與哪一個ai′的值一致,選取一致時對應的Si″作為Si′值;i、各分會場利用步驟h中得到的Si′、步驟3中選取的密鑰Si、函數映射Fi及關係式Si′=Fi(σ,Si),計算得到σ;j、各分會場利用步驟2中選取的分組密碼算法3DES或AES,在步驟i中得到的密鑰σ控制下,對步驟e中得到的第四部分數據Eσ(M)進行解密運算,即計算得到會議內容的音視頻明文數據MM=Dσ(Eσ(M))。
為保證在實際操作中便於多媒體會議的進行,本實例還對新的與會者加入會議組和與會者退出會議組銷數據傳輸加密提供可操作技術支持三、新的與會者加入會議組的方法若有新的與會者參加會議,那麼,該新與會者與會議中心協商好自己的密鑰Si及函數映射Fi,雙方知曉;會議中心在發送會議音視頻實時加密數據時,只需要在上述步驟3中計算出新與會者的密鑰Si′和在步驟4中加入相應的加密數據Ei(ai+Si′)既可。
四、與會者退出會議組的方法若有原與會者要退出會議,那麼,會議中心只需要在上述步驟3中不計算此分會場的密鑰Si′和在步驟4中不加入相應的加密數據Ei(ai+Si′)既可。
權利要求
1.一種多播數據加密傳輸的方法,其特徵在於包括在多播源數據發送端對多播數據加密方法和在多播數據接收端對接收到的多播數據解密方法兩部分。
2.根據權利要求1所述多播數據加密傳輸的方法,其特徵在於,所述在多播源數據發送端對多播數據加密方法包括以下步驟(1)隨機選擇多播數據的加密密鑰;(2)在多播數據的加密密鑰控制下,用分組密碼算法對多播數據明文進行加密;(3)隨機選取每一個多播數據接收者的密鑰1及映射函數,計算加密密鑰和多播數據接收者的密鑰1的函數值,得到多播數據接收者的密鑰2;(4)運用RSA算法,分別用每一個多播數據接收者的公鑰對其IP位址及密鑰2進行加密;(5)把上述步驟(4)中得到的所有值相加求和;(6)計算步驟(5)中的值與步驟(2)中的值之和的哈希值;(7)利用RSA算法,用多播數據發送者的私鑰對步驟(6)中的哈希值加密;(8)把步驟(7)中的加密值作為多播數據的第一部分,把步驟(5)得到的值與步驟(2)得到的值之和作為多播數據的第二部分,把這兩部分組成多播數據發送到多播數據的接收方。
3.根據權利要求1所述多播數據加密傳輸的方法,其特徵在於,所述在多播數據接收端對接收到的多播數據解密方法包括以下步驟a.接收者把接收到的多播數據分離為第一和第二兩部分;b.利用RSA算法,多播數據的接收者用發送者的公鑰對第一部分數據進行解密運算;c.接收者對步驟a中分離得到的第二部分數據求其哈希值;d.比較步驟b與步驟c中得到的兩個數值是否相等,若相等進行步驟e,否則結束所有操作;e.對步驟a得到的第二部分數據再進行分離,得到第三部分和第四部分;f.利用RSA算法,用接收者的私鑰對第三部分中的每一個值進行解密;g.把步驟f中的每一個解密值進行分離,得到第五和第六部分;h.比較接收者的IP位址與第五部分是否一致,選取一致時的第六部分的數值作為多播數據接收者的密鑰2;i.利用步驟h中得到的密鑰2、多播數據接收者的密鑰1、映射函數及其關係式,計算多播數據的加密密鑰;j.利用步驟(2)中的分組密碼算法,在步驟i中計算出的多播數據的加密密鑰控制下,對步驟g中得到的第六部分數據進行解密運算,即可計算得到多播數據的明文。
全文摘要
本發明涉及一種多播數據加密傳輸的方法,該方法包括在多播源數據發送端對多播數據加密方法和在多播數據接收端對接收到的多播數據解密方法兩部分。多播數據發送者在每一次發送多播數據時,隨機地選出一個密鑰對發送的信息進行加密,但該密鑰不是直接告訴多播數據接收者;接收者在進行解密數據時,首先必須利用自己的私鑰以及發送給多播數據發送者的密鑰求得加密多播數據的密鑰,然後才能進行解密恢復多播數據明文。本發明解決了多播體制中組密鑰方法存在的多播數據沒有籤名認證的信息安全問題,簡化了通信各方的密鑰管理,保證了每次通信中的加密密鑰及多播數據的安全性。
文檔編號H04L9/14GK1852092SQ20061003462
公開日2006年10月25日 申請日期2006年3月24日 優先權日2006年3月24日
發明者李擁軍, 齊德昱, 唐躍文, 龐雄文 申請人:華南理工大學