專利名稱:組播安全代理組件及組播加密管理方法
技術領域:
本發明屬于密鑰管理技術領域,涉及一種組播安全代理組件及組播加密管理方法。
背景技術:
當一個相同的信息必須傳遞給多個接收者時,組播是一個較好的通信模型,組播通信減少了發送者和網絡媒介的經常開支。加密算法的應用對于作用在一個不可靠的網絡媒介上的安全組播通信來說是一個實際可行的方法。加密算法又分為對稱(私鑰)加密算法和非對稱(公鑰)加密算法。對稱加密算法加解密速度快,加密強度高,密鑰分發與管理困難;而非對稱加密算法的加解密速度慢,密鑰管理簡單。
例如,一個會話加密鑰匙SEK (—種對稱加密算法的密鑰)在安全通信中用于將數據加密。由于數據分配給多個接受者,為了減少在發送者節點的加密數量同時最小化網絡上數據包的數量,每個預期的接收者以及發送者應該共享一個相同的SEK。為了確保只有組中合法的成員具有信息傳遞的權力,SEK在下列情況時需要改變a)當SEK的生命周期到期時山)組的成員關系發生改變;c) 一個或更多的成員被泄露時。因此,在現有的技術方案中,安全組播通信是通過使用組內所有成員共享的組密鑰來加密通信內容。為了保障安全,密鑰服務器需要在組成員關系改變時進行組密鑰更新(rekey)。由于組內成員關系的動態性和加解密操作的高代價,組密鑰更新性能成為衡量組密鑰管理性能的主要指標,也是影響組播通信的一個重要的因素。在現有的安全組播技術中,無論使用對稱(私鑰)加密算法和非對稱(公鑰)加密算法,當用戶加入或退出該組時,該組中的密鑰必須更新,使新加入的用戶不能訪問過去的通信內容,以及退出的用戶不能訪問現在和將來的通信內容。同時,還要考慮密鑰的存儲代價和通信代價。
發明內容
本發明的目的是提供一種組播安全代理組件及組播加密管理方法,以實現組播中的組成員發生變化時,不需要對組內其余用戶的密鑰進行更新,仍然能夠保證組播通信的安全性。為實現上述目的,本發明的組播安全代理組件包括
安全模塊,用于提供代理所在區域的內外安全相關的服務,用于將收集到的有用信息轉存在知識庫中;
通信模塊,用于負責代理與內網主機以及代理之間相關交換信息;
組播模塊,用于內網用戶之間以及內網用戶與外網用戶相互通信,并劃分為一個信息組,實現組內用戶安全高效的信息交流與共享;
知識庫模塊,用于對原信息和知識進行收集和整理,并進行分類存儲,并提供相應的檢索手段。
進一步的,所述安全模塊包括防病毒、入侵檢測、漏洞掃描、訪問控制、災難恢復和不定升級子模塊。進一步的,所述通信模塊中發送的請求信息包括需求信息、告警信息和代理之間廣播安全檢測信息。進一步的,所述通信模塊包括通信語言和傳輸協議子模塊。進一步的,所述組播模塊包括建立刪除組、文件加解密、組密鑰更新、密鑰認證、密鑰生成和密鑰注銷子模塊。本發明的組播加密管理方法步驟如下
(1)根據任務的需要,把內網中的某些用戶建立成一個組播組; (2)對用戶進行身份認證,認證通過后的用戶能和組內其他的用戶正常通信;
(3)將組內所有用戶的私鑰相乘計算得到組播加密密鑰,解密密鑰為每個用戶的私鑰;當組內用戶發生變化時,重新計算得到新組播密鑰并更新組播加密密鑰,解密密鑰為組內每個用戶的私鑰;
(4)組內發送信息方在發送信息時,需要將信息或文件用組密鑰加密后,發給組內其他的收聽用戶;收聽用戶用自己的私鑰解密后,可以查看接收到的信息;
(5)組內用戶進行通信,直到任務結束后,刪除該組播組,釋放相應的系統資源。進一步的,所述步驟(2)中對用戶進行身份認證是利用用戶USB Key或智能卡中存儲的私鑰來進行身份認證。進一步的,所述步驟(3)中解密密鑰為每個用戶USB Key或智能卡中存儲的私鑰。進一步的,所述步驟(3)中加密解密密鑰的產生是基于RSA算法。進一步的,將原解密密鑰d作為輸入值輸入哈希函數,得到一個值
=根據擴展的歐幾里德算法恐1道0#( )可以求出‘,稱&>1,4為
加密密鑰,需要公開為解密密鑰(OlAk) (1 = 1,2,-'/ )為私鑰和I為輔助密鑰,哈希函數對外公開。本發明的組播安全代理組件及組播加密管理方法,組播模塊中的文件加解密子模塊,是組播用戶進行消息或文件加/解密的具體執行模塊,采用RSA算法作為組播加/解密的算法,在用戶USB Key或智能卡中存儲的私鑰作為解密密鑰,經過系統認證后,如果內網的某些用戶需要互相通信并且要求通信內容對內網其他用戶保密,則可以在服務器的存儲區域專門開辟一塊供組內信息交流的空間。由所有成員私鑰的乘積所構成的組密鑰能夠保障組播安全,當有新用戶加入或有老用戶退出時,通過更新組密鑰使得新加入的用戶無法訪問加入前的通信內容以及退出的用戶無法訪問退出后的通信內容,能夠保證組播通信的安全性。實現了組播組內一把密鑰加密、多把密鑰解密的功能,當組成員變化時,不需要對組內其余用戶的密鑰(私鑰)進行更新,解決了既可實現對組播信息的加密,又同時滿足安全組播中重要的前向保密、后向保密和抗同謀破解等問題。
圖I是實施例的安全代理組件功能框 圖2是實施例的組播通信流程圖;圖3是實施例的分布式安全組播管理示意圖。
具體實施例方式一、組播安全代理組件
一般來說,代理具有自治性、適應性和合作性的特性[3],能夠根據它的狀態,決定自己下一步做什么,而不需要人為的或其他外界的干預。組播安全代理(Security Agent)組件主要由四個模塊組成安全模塊、通信模塊、組播模塊和知識庫模塊。(I)安全模塊
安全模塊提供代理所在區域的內網安全相關的服務,它收集到的有價值的信息都存儲在知識庫中。安全模塊又由防病毒、入侵檢測、漏洞掃描、訪問控制、災難恢復和補丁升級等子模塊組成。 (2)通信模塊
通信模塊主要用于代理與內網主機以及代理之間相互交換信息,這些被發送的請求信息包括需求信息、告警信息,以及在代理之間廣播安全檢測信息。通信模塊由通信語言和傳輸協議組成,通信語言是代理之間交流的基礎,而傳輸協議是通信的傳輸機制。(3)組播模塊
組播模塊是組件的核心部分,實現內網用戶之間以及內網用戶與Internet用戶相互通信,并劃分為一個信息組,實現組內用戶安全高效的信息交流與共享。組播模塊又由建立/刪除組、文件加解密、組密鑰更新、密鑰認證、密鑰生成及密鑰注銷子模塊組成。關于組播模塊中的文件加解密子模塊,是組播用戶進行消息或文件加/解密的具體執行模塊。采用RSA算法作為組播加/解密的算法,在用戶USB Key或智能卡中存儲的私鑰作為解密密鑰。經過系統認證后,如果內網的某些用戶需要互相通信并且要求通信內容對內網其他用戶保密,則可以在服務器的存儲區域專門開辟一塊供組內信息交流的空間。由所有成員私鑰的乘積所構成的組密鑰能夠保障組播安全,當有新用戶加入或有老用戶退出時,通過更新組密鑰使得新加入的用戶無法訪問加入前的通信內容以及退出的用戶無法訪問退出后的通信內容。(4)知識庫模塊
知識庫模塊中的數據,都是由安全模塊提供的,分類存儲相關的安全日志、狀態信息和告警信息。知識庫使信息和知識有序化,對原有的信息和知識做一次大規模的收集和整理,按照一定的方法進行分類保存,并提供相應的檢索手段。二、組播加密管理方法 LRSA算法描述
I)密鑰的產生
①選兩個保密的大素數P和;
②計算W=pxg,爐(》)=(|H)(f-l),其中-( )是界的歐拉函數值;
③選一整數e,滿足I <t ) #)= I ;
④計算d,滿足“=lll0df( ),即d是e在模爐⑷下的乘法逆元,因e與互素,由模運算可知,它的乘法逆元一定存在;⑤以(《, 為公開鑰,( }為秘密鑰。2)加密
加密時首先將明文比特串分組,使得每個分組對應的十進制數小于n,即分組長度小于 然后對每個明文分組M作加密運算,得到密文C。
C=MtTwdn3)解密
對密文分組的解密運算為
M = C^mod/2,密鑰設計及加密解密過程
隨機選取兩個大素數P、q (約為十進制100位或更大),且p、q保密。計算n=pq和n的歐拉函數爐⑷n是公開的,而是保密的。隨機選取m個大于n的互不相同的素數<%,( , <%,…,%5(m為授權收聽的組成員數, , S2, %,…,為組成員手中
的私鑰)。計算 rf =這內 “'dju,即 d 為^ , ,…,^1的乘積。
其中[X為取整符號,&是公開的。有下面結果
D d =bi+r
2)對任意1,2,爾)有
kmmoda, = (d - r)mod=({d mo4) — (r moda,)) nicxia,
=((<3; mod^)- (mod'))——
=(A-Omodsi =Oi-r公式(I)
由此,若已知和可通過公式(I)計算出jf",進而求出j。但對于不同于 ,沒2,%, ,的其他素數p代替,式(I)不成立。即已知| 、^和1^很難計算出!^和』。3)由,為為,…,-}|的選取及^的定義知
gcd(i#( )) = l
類似RSA公鑰密碼體制,由歐幾里德擴展算法,JAed s中計算出設。現有文獻中公開發表了公式(I),在此基礎上應用歐幾里德擴展算法來實現消息或文件的加/解密。但如果組播用戶數量很大,由于解密密鑰^非常大,將會使解密計算非常耗時。解密計算中的大整數模指數算法一直是RSA密碼體制中研究的熱點,用比較成熟的Montgomery算法及其改進算法或國外密碼學庫中的一些高效函數,可以減少一些計算量,但對于本發明中的改進算法仍是杯水車薪,尤其是在參與組播的成員較多時,這將使得解密基本上成為不可能,嚴重影響了組成員的擴展性。為了有效解決這個問題,此處引入一
個哈希函數,原解密密鑰-作為輸入值輸入哈希函數,得到一個值-_,如下所示
d = Hask(4)公式⑵
根據擴展的歐幾里德算法ed slmod$3( )公式⑶
可以求出‘,稱p 為加密密鑰,需要公開, ,)為解密密鑰
u=U"}腸為私鑰;^|和t為輔助密鑰。哈希函數J/as/ 0對外公開,這很好地滿足了公鑰密碼體制的特點。3,組播加密方法的強度分析
組播加密方法是基于RSA公鑰密碼體制的改進,關于RSA公鑰密碼體制的強度已有大量的分析結果。對RSA的改進部分,由于 2和已知,故為了計算(i,窮舉破解可以從廠做起;窮舉破解范圍與%成正比,由■的選取可知,其值超過I;窮舉破解強度已經超過DES算法,與RSA相當。當^^比_大不多時,易受到窮舉法攻擊,即對所有大于_的素數進行嘗試,然后根
據f =即可求出進而可求出解密密鑰』。故要比_大得不能太少。在有些情況下疒可能很小,易受到窮舉法攻擊,因此,在此要對廠做一些處理,以改善其不足。具體改進方法是若按f = ^mo4 計算所得的F比所有的^都小,則根據公式
=fe+f = (|-l) +( +r) = |ii+r>ift^ =1:-1/ !^+泠^和^為輔助密鑰。4,組播方法的實現步驟
(1)根據實際任務的需要,把內網中的某些用戶建立成一個組播組,以實現信息通信和消息共孕;
(2)利用用戶USBKey或智能卡中存儲的私鑰來進行身份認證,認證通過后的用戶可以和組內其他的用戶正常通信;
(3)通過組內所有用戶的私鑰乘積來計算組播密鑰;
(4)當組內用戶變化時,需要更新組播密鑰,即重新計算得到新的組播的加密密鑰,解密密鑰為每個用戶為USB Key或智能卡中存儲的私鑰;
(5)組內發送信息方在發送信息時,需要將信息或文件用組密鑰加密后,發給組內其他的收聽用戶;
(6)收聽用戶用自己的私鑰解密后,可以查看接收到的信息;
(7)組內的用戶繼續通信;
(8)由于任務結束,刪除該組播組,釋放相應的系統資源。5,安全性分析
當有新用戶I通過安全代理認證,加入組播組,獲得私鑰雖然他有可能獲得其加入前的組播數據以及相應的組播信息,但由于安全代理分發給各個組成員的密鑰互不相同,所以-jf沒有參與生成解密密鑰-的求積運算,當然無法恢復出也就無法解密以前的任何數據,滿足了后向加密的要求。若某個組成員退出組播組,他雖然繼續保存有手中的私鑰,并且能夠獲得新的組播的輔助密鑰對和加密的組播數據,但由于他的私鑰不再參與生成解密密鑰^的運算,所以無法恢復出新的解密密鑰,也無法解密新的組播數據。這滿足了前向加密的特性。所以無論是新的組成員加入組播組還是舊的組成員退出組播組,組內的其他成員都無需進行密鑰更新,并且實現了前向和后向加密的安全組播需求。關于抗同謀破解,容易看出,由于用戶手中的私鑰互不相同,并且私鑰之間沒有任何聯系,同時只有安全代理控制生成解密密鑰^和輔助密鑰的運算,所以無論退出組播組的組成員如何共謀,都無法破解密文。
6,分布式安全組播管理
一種適用于內網(局域網)相互通信的分布式安全組播管理方案,如圖3所示。GSA (Global Security Agent)是分析處理從多個LSA(Local Security Agent)送來的數據的節點。LSA是收集網絡數據包并進行初步分析的節點,管理本子網的密鑰安全并實現代理之間的數據傳遞,可以在每個子網選出一個成員作為LSA。如果某些成員需要在子網內以及各個子網之間互相通信,可以通過LSA來建立臨時組,以組播加密方法為手段,來實現組內成員的安全通信。同時,每個子網的LSA的安全子模塊實時監控本子網的安全狀況,將告警信息和主機狀態信息發送給GSA,GSA將這些相關信息寫入數據庫中,方便管理員管理和監控內網中的每臺主機的狀態以及是否遭受過攻擊等。因此,本方案在保證內網安全的基礎上,使得組成員能夠安全共享組播信息。組播安全代理組件能夠保障內網中單臺主機的安全,使得內網主機免受外部網絡的病毒和木馬攻擊。在此基礎上,提出了一種新的基于RSA的組播加密方法,進而給出一種適用于Internet完整的、有效的分布式安全組播方案。通過安全性的分析,實現了組播組內一把密鑰加密,多把密鑰解密的功能。當組成員變化時,不需要對組內其余用戶的密鑰(私鑰)進行更新,解決了既可實現對組播信息的加密,又同時滿足安全組播中重要的前向保密、后向保密和抗同謀破解等問題。
權利要求
1.一種組播安全代理組件,其特征在于,包括 安全模塊,用于提供代理所在區域的內外安全相關的服務,用于將收集到的有用信息轉存在知識庫中; 通信模塊,用于負責代理與內網主機以及代理之間相關交換信息; 組播模塊,用于內網用戶之間以及內網用戶與外網用戶相互通信,并劃分為一個信息組,實現組內用戶安全高效的信息交流與共享; 知識庫模塊,用于對原信息和知識進行收集和整理,并進行分類存儲,并提供相應的檢索手段。
2.根據權利要求I所述的組播安全代理組件,其特征在于所述安全模塊包括防病毒、入侵檢測、漏洞掃描、訪問控制、災難恢復和不定升級子模塊。
3.根據權利要求I所述的組播安全代理組件,其特征在于所述通信模塊中發送的請求信息包括需求信息、告警信息和代理之間廣播安全檢測信息。
4.根據權利要求3所述的組播安全代理組件,其特征在于所述通信模塊包括通信語言和傳輸協議子模塊。
5.根據權利要求1-4中任一項所述的組播安全代理組件,其特征在于所述組播模塊包括建立刪除組、文件加解密、組密鑰更新、密鑰認證、密鑰生成和密鑰注銷子模塊。
6.一種組播加密管理方法,其特征在于,該方法的步驟如下 (1)根據任務的需要,把內網中的某些用戶建立成一個組播組; (2)對用戶進行身份認證,認證通過后的用戶能和組內其他的用戶正常通信; (3)將組內所有用戶的私鑰相乘計算得到組播加密密鑰,解密密鑰為每個用戶的私鑰;當組內用戶發生變化時,重新計算得到新組播密鑰并更新組播加密密鑰,解密密鑰為組內每個用戶的私鑰; (4)組內發送信息方在發送信息時,需要將信息或文件用組密鑰加密后,發給組內其他的收聽用戶;收聽用戶用自己的私鑰解密后,可以查看接收到的信息; (5)組內用戶進行通信,直到任務結束后,刪除該組播組,釋放相應的系統資源。
7.根據權利要求6所述的方法,其特征在于所述步驟(2)中對用戶進行身份認證是利用用戶USB Key或智能卡中存儲的私鑰來進行身份認證。
8.根據權利要求7所述的方法,其特征在于所述步驟(3)中解密密鑰為每個用戶USBKey或智能卡中存儲的私鑰。
9.根據權利要求6-8所述的方法,其特征在于所述步驟(3)中加密解密密鑰的產生是基于RSA算法。
10.根據權利要求9所述的方法,其特征在于將原解密密鑰d作為輸入值輸入哈希函數,得到一個值¥,/=根據擴展的歐幾里德算法-d = lmod^( )可以求出—, 為加密密鑰,需要公開為解密密鑰(/=1,2.,..為私鑰;乃和是:為輔助密鑰,哈希函數秘成0對外公開。
全文摘要
本發明涉及組播安全代理組件及組播加密管理方法,組播模塊中的文件加解密子模塊是組播用戶進行消息或文件加/解密的具體執行模塊,采用RSA算法作為組播加/解密的算法,用戶私鑰作為解密密鑰,系統認證后,如果內網的某些用戶需組內交流,則由所有成員私鑰的乘積所構成的組密鑰能夠保障組播安全,當有新用戶加入或老用戶退出時,通過更新組密鑰使得新加入的用戶無法訪問加入前的通信內容以及退出的用戶無法訪問退出后的通信內容,實現了組播組內一把密鑰加密、多把密鑰解密的功能,組成員變化時,不需要對組內其余用戶的密鑰(私鑰)進行更新,解決了既可實現對組播信息的加密,又同時滿足安全組播中重要的前向保密、后向保密和抗同謀破解等問題。
文檔編號H04L9/08GK102684875SQ20121000318
公開日2012年9月19日 申請日期2012年1月7日 優先權日2012年1月7日
發明者商建東, 張平, 王輝, 胡柯, 趙旭輝, 陰晶, 高曉鋒, 魏澤國 申請人:河南科技大學