專利名稱:基于身份的廣播密鑰分發(fā)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種廣播密鑰分發(fā)方法,尤其涉及基于身份的廣播密鑰分發(fā)方法。
背景技術(shù):
在網(wǎng)絡(luò)會議中,為了保證系統(tǒng)中僅被授權(quán)的用戶可以正確接受信息,而非授權(quán)用戶無法 獲取信息,這需要在授權(quán)用戶中分發(fā)廣播密鑰,通過廣播加密方法實現(xiàn)該安全需求。
文獻"基于秘密共享的無線傳感器網(wǎng)絡(luò)廣播密鑰分發(fā)協(xié)議.傳感技術(shù)學(xué)報,2008,21(10): 1775-1779"公開了一種基于秘密共享的無線傳感器網(wǎng)絡(luò)廣播密鑰分發(fā)方法。該方法首先密鑰 分發(fā)者隨機構(gòu)造一個多項式,使用該多項式計算并設(shè)置系統(tǒng)參數(shù),然后,再利用該多項式為 每個用戶計算一個唯一的解密私鑰并將其通過安全信道發(fā)送給對應(yīng)的用戶;在密鑰分發(fā)過程
中,密鑰分發(fā)者利用所設(shè)置的系統(tǒng)參數(shù)對密鑰進行計算,得到一個公開信息并將其向所有用 戶廣播;在密鑰解密過程中,每個用戶可以根據(jù)自己的解密私鑰對所接收到的廣播信息進行 計算以獲取所分發(fā)的廣播密鑰。但是該方法存在一些缺陷,即要求密鑰分發(fā)者事先和每一個 用戶之間建立一條安全信道。在實際應(yīng)用中,這要求密鑰分發(fā)者和每一個用戶共享一個共享 密鑰,密鑰分發(fā)者需要保存所有的共享密鑰。建立共享密鑰不僅會降低廣播密鑰分發(fā)效率, 同時,也會使得共享密鑰成為攻擊者的攻擊目標,降低系統(tǒng)整體安全性。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)由于使用共享密鑰而導(dǎo)致的安全性差的不足,本發(fā)明提供一種基于身 份的廣播密鑰分發(fā)方法,密鑰分發(fā)者在進行廣播密鑰分發(fā)時只需向系統(tǒng)中所有用戶廣播信息 即可,而不需要向每個用戶安全分配解密私鑰,也不需要每個用戶提供任何秘密信息。這樣, 由于不需要向每個用戶安全分配解密私鑰,因此,就無需事先建立安全信道,從而可以提高 系統(tǒng)性能和整體安全性。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案 一種基于身份的廣播密鑰分發(fā)方法,其特點 是包括以下步驟
(1)廣播密鑰分發(fā)者S通過以下方法向"個用戶《,A,…,i "分發(fā)廣播密鑰尺
(1.1) 對于每一個用戶及^=1,2,...,"),廣播密鑰分發(fā)者S利用自己的私鑰So和凡的公
鑰ID,計算信息SK產(chǎn)e(IDi, So);
(1.2) 廣播密鑰分發(fā)者利用自己的私鑰SQ、每個用戶凡(/=1, 2, n)的公鑰ID,和上述步 驟(l.l)中計算的信息SK々M,2,...,")構(gòu)造("+l)個數(shù)值對(0,So)、(IDb SKD、(ID2, SK2)、.......(ID , SK ),進一步對該(w+l)個數(shù)值對進行拉格朗日(Lagrange)插值操作,得到一個n次多項 式似;
(1.3) 廣播密鑰分發(fā)者隨機選擇兩個公開元素G,込eC^和一個秘密整數(shù)re《,計算公 開信息如下
化"〗H/ (2)U)W} CK-e(S。戶,込y夂
(1.4) 廣播密鑰分發(fā)者將上述計算結(jié)果?、尸'、0'和CK向所有用戶《,^,…,A進行廣
播;
(2)廣播密鑰獲取過程。每一個用戶凡(/=1, 2,...,")收到廣播信息7 、戶'、"和CK后,
做如下計算以獲取密鑰z:-
(2.1 )用戶^利用自己的私鑰&和發(fā)送者S的公鑰IDo計算SK,=e(IDQ, &);
(2.2) 令集合r-(l,2,…,",IDJ—^V2,…,、+J ,并對每個元素v4er計算信息
r(0)= EI "^"(H,2,…,");
(2.3) 計算密鑰《如下
《=_e(g;,ID0gTTP).CK_
其中,7。表示數(shù)組7中第z'個元素,即7") = /(!>尸。
本發(fā)明的有益效果是由于通過使用基于身份的公鑰密碼機制來實現(xiàn)廣播密鑰的分發(fā), 分發(fā)者和用戶之間需要交換任何秘密信息,只需要分發(fā)者向所有用戶廣播一些可公開信息即 可完成廣播密鑰的分發(fā)。因此,不需要密鑰分發(fā)者和各用戶之間事先建立一條安全信填,從 而提高了廣播密鑰分發(fā)效率和系統(tǒng)整體安全性。
下面結(jié)合附圖和實施例對本發(fā)明作詳細說明。
附圖是本發(fā)明基于身份的廣播密鑰分發(fā)方法的流程圖。
具體實施例方式
名詞解釋
TTP:可信第三方
/ : TTP選取的素數(shù)
G1: TTP選取的p階加法群 G2: TTP選取的p階乘法群 《基于素數(shù);?的乘法群
i5: TTP選取的^的生成元
TTP選取G!和G2上的雙線性變換,即e:《xG,—G2 STTP: TTP的私鑰
2TTP: TTP的公鑰,滿足gTTp:STTp'戶eGi
:用戶的個數(shù)
廣播密鑰分發(fā)者
ID0:廣播密鑰分發(fā)者的身份信息,同時也是廣播密鑰分發(fā)者的公鑰信息,其取值應(yīng)大于 用戶數(shù)目"且不等于O
S。廣播密鑰分發(fā)者的私鑰,滿足S。-^TpJD。
凡第Z'個用戶
IDi:第/個用戶i ,的身份信息,同時也是i^的公鑰信息,其取值應(yīng)大于用戶數(shù)目"且不 等于0
第/個用戶及,的私鑰,滿足S,-S,JD, 下面將描述一個完整廣播密鑰分發(fā)過程。
第一步廣播密鑰分發(fā)者S向系統(tǒng)廣播探詢消息,收集系統(tǒng)中所有授權(quán)用戶的身份信息, 假設(shè)廣播密鑰分發(fā)者S發(fā)現(xiàn)系統(tǒng)中有"個授權(quán)用戶《,及2,…,A 。
第二步廣播密鑰分發(fā)者S向這"個授權(quán)用戶《,i 2,…,A分發(fā)廣播密鑰X,過程如下
1) 對于每一個用戶及,(/=1,2,...,"),廣播密鑰分發(fā)者S利用自己的私鑰&和i ,的
公鑰ID,計算信息SK產(chǎn)e(IDi,So);
2) 廣播密鑰分發(fā)者利用自己的私鑰&、每個用戶i ,(/=l, 2,…,")的公鑰IDi和上述 步驟l)中計算的信息SK^M,2,…,")構(gòu)造("+1)個數(shù)值對(O,So)、 (IDbSKO、 (ID2, SK2)、……、(ID", SK"),進一步對該("+l)個數(shù)值對進行拉格朗日(Lagrange) 插值操作,得到一個w次多項式_/(勾;3) 廣播密鑰分發(fā)者隨機選擇兩個公開元素^,込eq和一個秘密整數(shù)re《,計算 公開信息如下
7[i:"] = (/(ly尸,/(2) w,..., 尸* "尸
4) 廣播密鑰分發(fā)者將上述計算結(jié)果7、Q'和CK向所有用戶i ,,i 2,…,A進行 廣播;
第三步,每一個用戶凡(/=1, 2,…,")收到廣播信息7、 P'、"和CK后,做如下處理 以獲取密鑰《
1 )用戶i ,利用自己的私鑰S,和發(fā)送者S的公鑰IDo計算SK產(chǎn)e(IDo, &);
2)令集合r-化2,…,",ID,卜&,V2,…,v"+J ,并對每個元素v^r計算信息x..
~(0)= EI "^"(^1,2,…,");
3)計算密鑰K如下-
__e(g;,ID0QTTP)-CK
a:=
其中,7(z)表示數(shù)組?中第z-個元素,艮口7(/) = /(!>尸。
權(quán)利要求
1、一種基于身份的廣播密鑰分發(fā)方法,其特征在于包括以下步驟(1)廣播密鑰分發(fā)者S通過以下方法向n個用戶R1,R2,…,Rn分發(fā)廣播密鑰K(1.1)對于每一個用戶Ri(i=1,2,...,n),廣播密鑰分發(fā)者S利用自己的私鑰S0和Ri的公鑰IDi計算信息SKi=e(IDi,S0);(1.2)廣播密鑰分發(fā)者利用自己的私鑰S0、每個用戶Ri(i=1,2,...,n)的公鑰IDi和上述步驟(1.1)中計算的信息SKi(i=1,2,...,n)構(gòu)造(n+1)個數(shù)值對(0,S0)、(ID1,SK1)、(ID2,SK2)、......、(IDn,SKn),進一步對該(n+1)個數(shù)值對進行拉格朗日(Lagrange)插值操作,得到一個n次多項式f(x);(1.3)廣播密鑰分發(fā)者隨機選擇兩個公開元素Q1,Q2∈G1和一個秘密整數(shù)<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mi>r</mi><mo>∈</mo><msubsup> <mi>Z</mi> <mi>p</mi> <mo>*</mo></msubsup><mo>,</mo> </mrow>]]></math> id="icf0001" file="A2009100232880002C1.tif" wi="12" he="5" top= "94" left = "162" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>計算公開信息如下<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><mover> <mi>I</mi> <mo>→</mo></mover><mo>[</mo><mn>1</mn><mo>:</mo><mi>n</mi><mo>]</mo><mo>=</mo><mo>{</mo><mi>f</mi><mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo></mrow><mi>rP</mi><mo>,</mo><mi>f</mi><mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo></mrow><mi>rP</mi><mo>,</mo><mo>·</mo><mo>·</mo><mo>·</mo><mo>,</mo><mi>f</mi><mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo></mrow><mi>rP</mi><mo>}</mo> </mrow>]]></math></maths>P*=rP<maths id="math0003" num="0003" ><math><![CDATA[ <mrow><msubsup> <mi>Q</mi> <mn>1</mn> <mo>*</mo></msubsup><mo>=</mo><mi>r</mi><msub> <mi>Q</mi> <mn>1</mn></msub> </mrow>]]></math></maths>CK=e(S0P,Q2)rK(1.4)廣播密鑰分發(fā)者將上述計算結(jié)果 id="icf0004" file="A2009100232880002C4.tif" wi="4" he="4" top= "147" left = "100" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>P*、Q1*和CK向所有用戶R1,R2,...,Rn進行廣播;(2)廣播密鑰獲取過程。每一個用戶Ri(i=1,2,...,n)收到廣播信息 id="icf0005" file="A2009100232880002C5.tif" wi="4" he="4" top= "165" left = "149" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>P*、Q1*和CK后,做如下計算以獲取密鑰K(2.1)用戶Ri利用自己的私鑰St和發(fā)送者S的公鑰ID0計算SKi=e(ID0,Si);(2.2)令集合Γ={1,2,...,n,IDi}={v1,v2,...vn+1},并對每個元素vk∈Γ計算信息<maths id="math0004" num="0004" ><math><![CDATA[ <mrow><msub> <mi>σ</mi> <mrow><mi>k</mi><mo>,</mo><mi>Γ</mi> </mrow></msub><mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo></mrow><mo>=</mo><munder> <mi>Π</mi> <mrow><msub> <mi>v</mi> <mi>j</mi></msub><mo>∈</mo><mi>Γ</mi><mo>,</mo><mi>j</mi><mo>≠</mo><mi>k</mi> </mrow></munder><mfrac> <msub><mi>x</mi><mi>j</mi> </msub> <mrow><msub> <mi>x</mi> <mi>j</mi></msub><mo>-</mo><msub> <mi>x</mi> <mi>k</mi></msub> </mrow></mfrac><mo>,</mo><mrow> <mo>(</mo> <mi>k</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <mi>n</mi> <mo>)</mo></mrow><mo>;</mo> </mrow>]]></math></maths>(2.3)計算密鑰K如下<maths id="math0005" num="0005" ><math><![CDATA[ <mrow><mi>K</mi><mo>=</mo><mfrac> <mrow><mi>e</mi><mrow> <mo>(</mo> <msubsup><mi>Q</mi><mn>1</mn><mo>*</mo> </msubsup> <mo>,</mo> <msub><mi>ID</mi><mn>0</mn> </msub> <msub><mi>Q</mi><mi>TTP</mi> </msub> <mo>)</mo></mrow><mo>·</mo><mi>CK</mi> </mrow> <mrow><mi>e</mi><mrow> <mo>(</mo> <msub><mi>Q</mi><mn>1</mn> </msub> <mo>+</mo> <msub><mi>Q</mi><mn>2</mn> </msub> <mo>,</mo> <munderover><mi>Σ</mi><mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn></mrow><mi>n</mi> </munderover> <msub><mi>σ</mi><mrow> <msub><mi>v</mi><mi>i</mi> </msub> <mo>,</mo> <mi>Γ</mi></mrow> </msub> <mrow><mo>(</mo><mn>0</mn><mo>)</mo> </mrow> <mover><mi>I</mi><mo>→</mo> </mover> <mrow><mo>(</mo><mi>i</mi><mo>)</mo> </mrow> <mo>)</mo></mrow><mi>e</mi><mrow> <mo>(</mo> <msub><mi>σ</mi><mrow> <msub><mi>v</mi><mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn></mrow> </msub> <mo>,</mo> <mi>Γ</mi></mrow> </msub> <mrow><mo>(</mo><mn>0</mn><mo>)</mo> </mrow> <msub><mi>SK</mi><mi>i</mi> </msub> <mrow><mo>(</mo><msub> <mi>Q</mi> <mn>1</mn></msub><mo>+</mo><msub> <mi>Q</mi> <mn>2</mn></msub><mo>)</mo> </mrow> <mo>,</mo> <msup><mi>P</mi><mo>*</mo> </msup> <mo>)</mo></mrow> </mrow></mfrac> </mrow>]]></math></maths>其中, id="icf0008" file="A2009100232880002C8.tif" wi="6" he="4" top= "243" left = "40" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>表示數(shù)組 id="icf0009" file="A2009100232880002C9.tif" wi="1" he="4" top= "243" left = "64" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>中第i個元素,即<maths id="math0006" num="0006" ><math><![CDATA[ <mrow><mover> <mi>I</mi> <mo>→</mo></mover><mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo></mrow><mo>=</mo><mi>f</mi><mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo></mrow><mi>rP</mi><mo>.</mo> </mrow>]]></math> id="icf0010" file="A2009100232880002C10.tif" wi="24" he="4" top= "243" left = "101" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>
全文摘要
本發(fā)明公開了一種基于身份的廣播密鑰分發(fā)方法,通過使用基于身份的公鑰密碼機制來實現(xiàn)廣播密鑰的分發(fā),分發(fā)者和用戶之間需要交換任何秘密信息,只需要分發(fā)者向所有用戶廣播一些可公開信息即可完成廣播密鑰的分發(fā)。因此,不需要密鑰分發(fā)者和各用戶之間事先建立一條安全信道,從而提高了廣播密鑰分發(fā)效率和系統(tǒng)整體安全性。
文檔編號H04L9/08GK101599827SQ200910023288
公開日2009年12月9日 申請日期2009年7月10日 優(yōu)先權(quán)日2009年7月10日
發(fā)明者龐遼軍, 李慧賢 申請人:西北工業(yè)大學(xué)