欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種生成組密鑰的方法、系統(tǒng)和設備的制作方法

文檔序號:7652124閱讀:173來源:國知局
專利名稱:一種生成組密鑰的方法、系統(tǒng)和設備的制作方法
技術領域
本發(fā)明涉及網(wǎng)絡通信領域,特別涉及一種生成組密鑰的方法、系統(tǒng)和設備。

背景技術
利用多方共享組密鑰來解決組通信安全的關鍵是組密鑰的生成和分發(fā),這種生成和分發(fā)必須是排外的,即非組成員無法獲得組密鑰。目前已有的組密鑰管理技術可以分為兩大類集中管理式和分布協(xié)商式。與集中管理式相比,分布協(xié)商式組密鑰管理技術適合使用在不能或無法建立中心控制節(jié)點的場合,比如軍用Ad hoc網(wǎng)絡、P2P網(wǎng)絡、保密視頻會議等?,F(xiàn)有的組密鑰協(xié)商方案都是基于有限域上離散對數(shù)難解問題的,以Burmester-Desmedt方案(BD方案)為例進行說明,該方案中用n表示組內的成員數(shù),U表示組成員,SK表示組密鑰。參見圖1,為現(xiàn)有技術中Burmester-Desmedt組密鑰協(xié)商方法的流程圖,該Burmester-Desmedt組密鑰協(xié)商方法具體如下 步驟101選擇系統(tǒng)參數(shù)。設p,q為大素數(shù),Zp是整數(shù)模p構成的集合,g是Zp中的一個元素,且g的階為q,q即gq≡1modp的最小正整數(shù)。
步驟102組內成員集合{U1,U2,…,Un}組成一個邏輯環(huán),參見圖2,為n個成員U1,U2,…,Un組成環(huán)的示意圖。
步驟103每個成員Ui隨機從Zp中選擇一個數(shù)ri,計算并向所有組成員廣播zi; 步驟104每個成員Ui計算并向所有組成員廣播Xi; 步驟105計算組密鑰,每個成員Ui計算組密鑰 通過上述步驟,每個成員計算的都是同一個結果,即組密鑰 該Burmester-Desmedt組密鑰協(xié)商方法的缺點是計算量較大,造成處理速度慢;占用的存儲空間比較大;另外對帶寬的要求高。


發(fā)明內容
為了解決現(xiàn)有技術中組密鑰協(xié)商方法計算量較大、占用存儲空間較大,且對帶寬要求較高的問題,本發(fā)明實施例提供了一種生成組密鑰的方法、系統(tǒng)和設備。
一種生成組密鑰的方法,所述方法包括 組內成員組成一個邏輯環(huán),所述環(huán)內成員用Ui表示,其中,i=1,2,……,n,所述n為組內成員總數(shù); 選擇基于橢圓曲線的系統(tǒng)參數(shù),所述系統(tǒng)參數(shù)包括素數(shù)q,整數(shù)模q所得到的最小非負余數(shù)的集合Zp,基于橢圓曲線的公開基點P; 根據(jù)橢圓曲線上的Diffie-Hellman密鑰協(xié)商協(xié)議和所述系統(tǒng)參數(shù),成員Ui與成員Ui-1生成兩兩共享密鑰Ki-1,i,與成員Ui+1生成兩兩共享密鑰Ki,i+1;且,當i=n時,所述i+1=1; 所述成員Ui根據(jù)所述兩兩共享密鑰Ki-1,i和所述兩兩共享密鑰Ki,i+1生成中間值,并在組內廣播攜帶所述中間值的組密鑰協(xié)商報文; 所述成員Ui收到所有其他成員廣播的所述組密鑰協(xié)商報文后,提取所述中間值,根據(jù)所述中間值計算其他成員與所述其他成員的下一個成員的兩兩共享密鑰; 驗證所述兩兩共享密鑰Ki,i+1是否等于兩兩共享密鑰Ki+1,i,驗證通過,所述成員Ui根據(jù)所有兩兩共享密鑰生成組密鑰SK=K1,2+K2,3+…+Kn,1。
本發(fā)明實施例還提供了一種生成組密鑰的系統(tǒng),所述系統(tǒng)包括 邏輯環(huán)組成模塊,用于將組內成員組成一個邏輯環(huán),所述環(huán)內成員用Ui表示,其中,i=1,2,……,n,所述n為組內成員總數(shù); 系統(tǒng)參數(shù)選擇模塊,用于選擇基于橢圓曲線的系統(tǒng)參數(shù); 報文收發(fā)模塊,用于發(fā)送和接收組密鑰協(xié)商報文,所述組密鑰協(xié)商報文攜帶所述邏輯環(huán)組成模塊中的成員生成的D-H公鑰值和中間值; 組密鑰生成模塊,用于根據(jù)所述系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù)和從所述報文收發(fā)模塊接收的組密鑰協(xié)商報文中的D-H公鑰值和中間值,生成組密鑰。
本發(fā)明實施例還提供了一種生成組密鑰的設備,所述設備包括 邏輯環(huán)組成模塊,用于與組內設備組成一個邏輯環(huán),本設備用Ui表示,其中,i=1,2,……,n,所述n為組內設備總數(shù); 系統(tǒng)參數(shù)選擇模塊,用于所述邏輯環(huán)組成模塊完成邏輯環(huán)組成后,選擇基于橢圓曲線的系統(tǒng)參數(shù); D-H公鑰值計算模塊,用于根據(jù)所述系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù),計算D-H公鑰值,并通過報文收發(fā)模塊發(fā)送給設備Ui-1和設備Ui+1; 共享密鑰生成模塊,用于根據(jù)Diffie-Hellman密鑰協(xié)商協(xié)議、從報文收發(fā)模塊接收的設備Ui-1和設備Ui+1的D-H公鑰值,分別生成兩兩共享密鑰Ki-1,i和兩共享密鑰Ki,i+1; 中間值生成模塊,用于根據(jù)所述共享密鑰生成模塊所生成的兩兩共享密鑰Ki-1,i和Ki,i+1生成中間值; 報文收發(fā)模塊,用于發(fā)送和接收組密鑰協(xié)商報文,所述組密鑰協(xié)商報文攜帶所述D-H公鑰值計算模塊計算的D-H公鑰值或所述中間值生成模塊生成的中間值; 組密鑰生成模塊,用于根據(jù)所述系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù)和從所述報文收發(fā)模塊接收的組密鑰協(xié)商報文中的D-H公鑰值和中間值,生成組密鑰。
本發(fā)明實施例提供的方案與同類方案相比,在達到相同的安全性時,具有計算速度快、存儲空間占用小和網(wǎng)絡帶寬要求低的特點。



圖1是現(xiàn)有技術中提供的Burmester-Desmedt組密鑰協(xié)商方法的流程圖; 圖2是現(xiàn)有技術中提供的n個成員U1,U2,…,Un組成環(huán)的示意圖; 圖3是本發(fā)明實施例1提供的生成組密鑰的方法的流程圖; 圖4是本發(fā)明實施例1提供的3個成員組成一個邏輯環(huán)的示意圖; 圖5是本發(fā)明實施例1提供的4個成員組成一個邏輯環(huán)的示意圖; 圖6是本發(fā)明實施例2提供的新成員加入組時生成組密鑰的方法的流程圖; 圖7是本發(fā)明實施例4提供的可認證的生成組密鑰的方法的流程圖; 圖8是本發(fā)明實施例5提供的生成組密鑰的系統(tǒng)示意圖; 圖9是本發(fā)明實施例6提供的生成組密鑰的設備示意圖。

具體實施例方式 下面結合附圖和具體實施例對本發(fā)明作進一步說明,但本發(fā)明不局限于以下實施例。
實施例1 本發(fā)明實施例提供了一種生成組密鑰的方法,該方法基于橢圓曲線密碼系統(tǒng),這里簡單地介紹一下橢圓曲線密碼學ECC(Elliptic Curves Cryptography,橢圓曲線密碼學),它是在1985年由Neal Koblitz和Victor Miller獨立提出來的。這種密碼體制具有安全性能高、計算量小、密鑰長度短、處理速度快、存儲空間占用小和帶寬要求低等特點,因而在安全領域具有廣泛的應用前景。近年來,橢圓曲線密碼系統(tǒng)已被諸如ANSI(American NationalStandard Institute,美國國家標準學會)、IEEE(Institute of Electrical and ElectronicsEngineers,美國電氣及電子工程師學會)、ISO(International StandardizationOrganization,國際標準化組織)和NIST(National Institute of Standards and Technology,美國國家標準和技術學會)等標準化組織納入為標準。
本實施例用n表示組內的成員數(shù),U表示組成員,SK表示組密鑰。參見圖3,為本發(fā)明實施例生成組密鑰的方法的流程圖,該方法具體步驟如下 步驟301一組成員U1,...,Un組成一個邏輯環(huán),例如系統(tǒng)初始化時為所有參與者分配一個連續(xù)的序列號,這組成員通過這些連續(xù)的序列號組成一個邏輯環(huán),參見圖2,為組成員組成的邏輯環(huán)示意圖。
步驟302選擇系統(tǒng)參數(shù),進行系統(tǒng)初始化。具體過程如下 設GF(p)是一個階為素數(shù)p的有限域,在該域上定義一橢圓曲線ECy2=x3+αx+β(a,β∈GF(p),4a3+27β2(modp)≠0;p為190位以上的大素數(shù))。則ECp(a,β)={(x,y)|y2=x3+ax+β(mod p)}∪O(O為單位元)組成一個Abel群。
對給定的ECC系統(tǒng),取點P∈ECp(α,β)為一公開基點,P的階為大素數(shù)q(一般取q≥120bits)。定義G={O,P,2P,...,(q-1)P}。由此可知G是有限的循環(huán)Abel群,q為循環(huán)周期。
另外,選擇hash函數(shù)HG→Zq,Zq是整數(shù)模q所得到的最小非負余數(shù)的集合{0,1,...,q-1}。
步驟303每一個成員Ui分別與上家”Ui-1和“下家”Ui+1生成兩兩共享密鑰。
其中,兩方DH密鑰的生成過程基于現(xiàn)有技術中的Diffie-Hellman密鑰協(xié)商協(xié)議,現(xiàn)將兩方DH協(xié)商過程介紹如下 成員A和成員B為DH協(xié)議的兩方,首先,A從Zq中隨機選擇一個數(shù)a,將aP發(fā)送給B,B從Zq中隨機選擇一個數(shù)b,將bP發(fā)送給A; 然后,A計算a(bP),B計算b(aP),即A和B共享密鑰abP。abP稱為A與B共享的DH密鑰。
本實施例中每一個成員Ui從Zq中隨機選擇一個數(shù)ri,然后計算D-H公鑰值Xi=riP,將攜帶Xi的組密鑰協(xié)商報文發(fā)送給他的“上家”Ui-1和“下家”Ui+1, 每一個成員Ui接收到“上家”和“下家”發(fā)來的組密鑰協(xié)商報文后,提取Xi-1和Xi+1,計算Ki-1,i=riXi-1=(xi-1,i,yi-1,i),Ki,i+1=riXi+1=(xi,i+1,yi,i+1)。
步驟304每一個成員Ui用與“上家”共享的DH密鑰的對應分量乘以與“下家”共享的DH密鑰的對應分量,再作模p運算生成中間值,然后廣播攜帶中間值的組密鑰協(xié)商報文。
該步驟具體實現(xiàn)為Ui向其他成員廣播Yi=(z1,i,z2,i),其中z1,i=xi-1,ixi,i+1 mod p,z2,i=y(tǒng)i-1,iyi,i+1 mod p。
步驟305每一個成員Ui收到所有其他成員廣播的組密鑰協(xié)商報文,提取中間值,根據(jù)中間值,計算出其他每一個成員與其“下家”的兩兩共享密鑰,然后根據(jù)所有的兩兩共享密鑰生成組密鑰,組密鑰即為每一個成員與下家共享的兩方DH密鑰的橢圓曲線點之和。
該步驟具體實現(xiàn)為每一個成員Ui接收到所有其他成員發(fā)來的Y后,計算Ki+l,i+l+1=(xi+l,i+l+1,yi+l,i+l+1),其中這里l遍取1,2,...,n-1。先驗證等式是否成立,通過驗證該等式查看接收到的傳輸包是否有錯誤或是否為非組內成員發(fā)送的,如果成立,則計算組密鑰SK,SK=K1,2+K2,3+…+Kn,1,否則Ui宣告協(xié)商失敗。
通過上述組密鑰協(xié)商過程,所有成員都得到同一個組密鑰結果SK=(r1r2+r2r3+...+rnr1)P。
下面分別以組內有3個成員和4個成員為例說明組密鑰的協(xié)商過程。
參見圖4,為3個成員組成一個邏輯環(huán)的示意圖。3個成員協(xié)商組密鑰的過程 (1)U1隨機選擇r1∈Zq,接著U1→U3,U2X1=r1P,U2隨機選擇r2∈Zq,接著U2→U1,U3X2=r2P,U3隨機選擇r3∈Zq,接著U3→U2,U1X3=r3P。
(2)U1收到X3、X2后,計算K31=r1X3=(x31,y31),K12=r1X2=(x12,y12),以及z11=x31x12modp,z21=y(tǒng)31y12modp,廣播Y1=(z11,z21); U2收到X1、X3后,計算K12=r2X1=(x12,y12),K23=r2X3=(x23,y23),以及z12=x12x23modp,z22=y(tǒng)12y23modp,廣播Y2=(z12,z22); U3收到X2、X1后,計算K23=r3X2=(x23,y23),K31=r3X1=(x31,y31),以及z13=x23x31modp,z23=y(tǒng)23y31modp,廣播Y3=(z13,z23)。
(3)U1收到Y2、Y3后,計算U1驗證若成立,則計算密鑰SK=K12+K23+K31,否則協(xié)商失敗,停止協(xié)商。
U2收到Y3、Y1后,計算U2驗證若成立,則計算密鑰SK=K12+K23+K31;否則協(xié)商失敗,停止協(xié)商。
U3收到Y1、Y2后,計算,U3驗證若成立,則計算密鑰SK=K12+K23+K31;否則協(xié)商失敗,停止協(xié)商。
三個成員得到同一個組密鑰SK=(r1r2+r2r3+r3r1)P。
參見圖5,為4個成員組成一個邏輯環(huán)的示意圖。4個成員協(xié)商組密鑰的過程 (1)U1隨機選擇r1∈Zq,接著U1→U4,U2X1=r1P,U2隨機選擇r2∈Zq,接著U2→U1,U3X2=r2P,U3隨機選擇r3∈Zq,接著U3→U2,U4X3=r3P,U4隨機選擇r4∈Zq,接著U4→U3,U1X4=r4P。
(2)U1收到X4、X2后,計算K41=r1X4=(x41,y41),K12=r1X2=(x12,y12),以及z11=x41 x12modp,z21=y(tǒng)41y12modp,廣播Y1=(z11,z21); U2收到X1、X3后,計算K12=r2X1=(x12,y12),K23=r2X3=(x23,y23),以及z12=x12x23modp,z22=y(tǒng)12y23modp,廣播Y2=(z12,z22); U3收到X2、X4后,計算K23=r3X2=(x23,y23),K34=r3X4=(x34,y34),以及z13=x23x34modp,z23=y(tǒng)23y34modp,廣播Y3=(z13,z23); U4收到X3、X1后,計算K34=r4X3=(x34,y34),K41=r4X1=(x41,y41),以及z14=x34x41modp,z24=y(tǒng)34y41modp,廣播Y4=(z14,z24)。
(3)U1收到Y2、Y3、Y4后,計算U1驗證若成立,則計算密鑰SK=K12+K23+K34+K41;否則協(xié)商失敗,停止協(xié)商; U2收到Y1、Y3、Y4后,計算U2驗證若成立,則計算密鑰SK=K12+K23+K34+K41;否則協(xié)商失敗,停止協(xié)商; U3收到Y4、Y1、Y2后,計算U3驗證若成立,則計算密鑰SK=K12+K23+K34+K41;否則協(xié)商失敗,停止協(xié)商; U4收到Y1、Y2、Y3后,計算U4驗證若成立,則計算密鑰SK=K12+K23+K34+K41;否則協(xié)商失敗,停止協(xié)商。
四個成員得到同一個組密鑰SK=K12+K23+K34+K41=(r1r2+r2r3+r3r4+r4r1)P。
實施例2 本實施例提供了新成員加入組中時,組密鑰的協(xié)商方法。本實施例以實施例1為基礎,假設成員組∑={U1,...,Un}已經(jīng)執(zhí)行了實施例1提供的基本協(xié)商,并獲得了共享的組密鑰種子r=H(SK)=r1r2+r2r3+...riri+1+...+rn-1rn+rnr1,此時成員∑′={Un+1,...,Un+m}需要加入到該組中與∑中的成員共享新的密鑰。需要U1和Un與新加入的成員∑′進行交互,所有組成員(包括∑內的其他組成員)均可計算得到新的組密鑰。
其中,m+2個成員Vi組成一個邏輯環(huán),V1=U1,V2=Un,Vi=Un+i-2(3≤i≤m+2),參見圖6,為新成員加入組時生成組密鑰的方法的流程圖。新成員加入組時生成組密鑰的具體步驟如下 步驟601Vi(i=3,4,…,m+2)從Zq中隨機選擇一個數(shù)r′i,V1從Zq中隨機選擇一個數(shù)r1,計算r′1=r1·r,V2從Zq中隨機選擇一個數(shù)r2,計算r′2=r2·r。
步驟602Vi(i=1,2,…,m+2)計算D-H公鑰值X′i=r′i·P,并將X′1發(fā)送給他的“上家”Vi-1和“下家”Vi+1,同時V1將r1′或成員V2將r2′發(fā)送給成員U2,...,Un-1。
步驟603Vi收到X′i-1和X′i+1后,計算與“上家”Vi-1的DH密鑰K′i-1,i和與“下家”Vi+1的DH密鑰K′i,i+1,將K′i-1,i的第一分量與K′i,i+1的第一分量相乘并對p求模,其值記為z′1,i,將K′i-1,i的第二分量與K′i,i+1的第二分量相乘并對p求模,其值記為z′2,i,然后廣播(z′1,i,z′2,i)。具體算法如下 Vi收到X′i-1和X′i+1后,計算K′i-1,i=r′iX′i-1=(x′i-1,y′i-1,i),K′i,i+1=(x′i,i+1,y′i,i+1)=r′iX′i+1,接著Vi廣播Y′i=(x′i-1,ix′i,i+1modp,y′i-1,iy′i,i+1modp)=(z′1,i,z′2,i)(i遍取1,2,...,m+2)。廣播使U2,...,Un-1也得到Y′i。
步驟604Vi收到V′j(j遍取1,2,...,m+2,且j≠i)后,依次計算出K′1,2,K′2,3,…,K′m+2,1,而K′1,2,K′2,3,…,K′m+2,1之和即為組密鑰SK′i。同時成員U2,Un-1收到Y′j后可以跟V1或V2一樣計算K′1,2,K′2,3,…,K′m+2,1,從而計算出組密鑰SK′i。具體算法如下 Vi收到Y′j(j遍取1,2,...,m+2,且j≠I)后,計算同時成員U2,...,Un-1收到Y′j后可以跟V1一樣計算(其中,l遍取1,2,...,m+1)。
Vi先驗證等式是否成立,成員U2,...,Un-1可以驗證是否成立,如果都成立,則計算組密鑰SK′=K′1,2+K′2,3+…+K′m+2,1。
通過上述步驟,所有成員得到同一個組密鑰SK′=(r′1r′2+r′2r′3+…+r′m+2r′1)P。
現(xiàn)舉例如下假設成員組∑={U1,...,U5}已經(jīng)執(zhí)行了基本協(xié)商,并獲得了共享的密鑰種子r=H(SK),此時成員∑′={U6}需要加入到組中與∑中成員共享新的密鑰。使用本實施例提供的方法,需要U1和U5與新加入的成員U6進行交互,使所有組成員均可計算得到新的組密鑰。這里3個成員{Vi}組成一個邏輯環(huán),其中V1=U1,V2=U5,V3=U6。V1,V2和V3組成邏輯環(huán)后,執(zhí)行以下具體步驟 (1)V3從Zq中隨機選擇一個數(shù)r′3,V1從Zq中隨機選擇一個數(shù)r1,計算r′1=r1·r,V2從Zq中隨機選擇一個數(shù)r2,計算r′2=r2·r; 然后V1計算X′1=r′1·P并將X′1發(fā)送給他的“上家”V3和“下家”V2,V2計算X′2=r′2·P,并將X′2發(fā)送給他的“上家”V1和“下家”V3,V3計算X′3=r′3·P,并將X′3發(fā)送給他的“上家”V2和“下家”V1; 同時V1和V2分別將r1和X′2發(fā)送給U2,...,U4。
(2)V1收到X′3、X′2后,計算K′31=r′1X′3=(x′31,y′31),K′12=r′1X′2=(x′12,y′12),以及z′11=x′31x′12modp,z′21=y(tǒng)′31y′12modp,廣播Y′1=(z′11,z′21); V2收到X′1、X′3后,計算K′12=r′2X′1=(x′12,y′12),K′23=r′2X′3=(x′23,y′23),以及z′12=x′12x′23modp,z′22=y(tǒng)′12y′23modp,廣播Y′2=(z′12,z′22); V3收到X′2、X′1后,計算K′23=r′3X′2=(x′23,y′23),K′31=r′3X′1=(x′31,y′31),以及z′13=x′23x′31modp,z′23=y(tǒng)′23y′31modp,廣播Y′3=(z′13,z′23)。
(3)V1收到Y′2、Y′3后,計算V1驗證若成立,則計算密鑰SK′=K′12+K′23+K′31;否則協(xié)商失敗,停止協(xié)商; V2收到Y′3、Y′1后,計算V2驗證若成立,則計算密鑰SK′=K′12+K′23+K′31;否則協(xié)商失敗,停止協(xié)商; V3收到Y′1、Y′2后,計算U3驗證若成立,則計算密鑰SK′=K′12+K′23+K′31;否則協(xié)商失敗,停止協(xié)商; U2收到r1,X′2、Y′2、Y′3后,計算K′12=rr1X′2,由此計算出組密鑰SK′=K′12+K′23+K′31; U3收到r1,X′2、Y′2、Y′3后,計算K′12=rr1X′2,由此計算出組密鑰SK′=K′12+K′23+K′31。
U4收到r1、X′2、Y′2和Y′3后,計算K′12=rr1X′2, 由此計算出組密鑰SK′=K′12+K′23+K′31。
通過上述方法,所有成員得到同一個組密鑰SK′=(r′1r′2+r′2r′3+r′3r′1)P。
實施例3 本實施例提供了其他成員退出組時,組密鑰的協(xié)商方法。本實施例以實施例1為基礎,假定成員∑={U1,...,Un}已經(jīng)執(zhí)行了實施例1提供的基本協(xié)商,此時有k個成員需要離開該組,余下的組成員余下的組成員為了避免離開該組的成員獲得本組的組密鑰,需要部分相鄰的兩個成員重新隨機選擇一個數(shù)。具有執(zhí)行以下步驟 首先,余下的組成員中的成員Ui(i為奇數(shù))從Zq中隨機選擇一個數(shù)ri′,重新計算Xi=r′iP,中成員Ui(i為偶數(shù))取r′i=ri。
然后,余下的組成員重新運行實施例1中提供的組密鑰協(xié)商方法,計算出新的共享組密鑰。
實施例4 本實施例在以上實施例的基礎上,可以添加簽名認證機制,實現(xiàn)可認證的組密鑰協(xié)商,本實施例以實施例1為基礎進行說明,每個成員生成中間值或D-H公鑰值后,再對中間值或D-H公鑰值進行簽名,并將簽名結果附帶在組密鑰協(xié)商報文中一起發(fā)送;其他成員收到組密鑰協(xié)商報文后,用簽名驗證密鑰協(xié)商報文是否正確。
參見圖7,為可認證的生成組密鑰的方法的流程圖。該方法包括以下步驟 步驟701每一個成員Ui從Zq中隨機選擇一個數(shù)ri,然后計算D-H公鑰值Xi=riP和簽名Sig(Xi),將其一起發(fā)送給“上家”Ui-1和“下家”Ui+1。
步驟702每一個成員Ui接收到“上家”發(fā)來的Xi-1和“下家”發(fā)來的Xi+1后,先驗證簽名Sig(Xi-1)和Sig(Xi+1)是否正確,驗證通過,則執(zhí)行步驟703,否則,執(zhí)行步驟708。
步驟703計算Ki-1,i=riXi-1=(xi-1,i,yi-1,i),Ki,i+1=riXi+1=(xi,i+1,yi,i+1),然后Ui向其他成員廣播Yi=(z1,i,z2,i)和Sig(Yi),其中z1,i=xi-1,ixi,i+1modp,z2,i=y(tǒng)i-1,iyi+1modp。
步驟704每一個成員Ui接收到所有其他成員發(fā)來的Y和Sig(Y)后,用簽名Sig(Y)驗證Y是否正確,驗證通過后,執(zhí)行步驟705,否則,執(zhí)行步驟708。
步驟705驗證通過,成員Ui計算Ki+l,i+l+1=(xi+l,i+l+1,yi+l,i+l+1),其中這里l遍取1,2,...,n-1。
步驟706成員Ui驗證等式是否成立,如果成立,則執(zhí)行步驟707,否則執(zhí)行步驟708。
步驟707成員Ui計算組密鑰SK=K1,2+K2,3+…+Kn,1。
步驟708成員Ui宣告協(xié)商失敗。
最終,所有成員都得到同一個組密鑰結果SK=(r1r2+r2r3+...+rnr1)P。
上述的簽名方案取決于具體的應用環(huán)境所采用的簽名認證機制,包括但不限于IBE(Identity-based Encryption,基于身份的加密法、RSA簽名、DSA(Digital Signature Algorithm,數(shù)字簽名算法)、ECDSA(Elliptic Curve Digital SignatureAlgorithm,橢圓曲線數(shù)字簽名算法)、HMAC(Hash Message Authentication Codes,哈希信息驗證碼)認證機制等。
當參與協(xié)商的組成員的規(guī)模很大時,可將組成員分成n個子組,分別記為group1,group2,…,groupn,各個子組中的成員數(shù)目分別為m1,m2,…,mn,協(xié)商如下 groupi(i=1,2,…,n)中mi個成員構成一個邏輯環(huán),執(zhí)行實施例1提供的基本協(xié)商,得到組密鑰SKi=(ri,si); group1,group2,…,groupn構成一個邏輯環(huán),groupi(i=1,2,…,n)計算Xi=riP,執(zhí)行實施例1提供的基本協(xié)商,協(xié)商出組密鑰SK=K1,2+K2,3+…+Kn,1。
最終,所有成員得到同一個組密鑰SK=(r1r2+r2r3+...+rnr1)P。
實施例5 參見圖8,為生成組密鑰的系統(tǒng)示意圖。本實施例還提供了一種生成組密鑰的系統(tǒng),包括 邏輯環(huán)組成模塊,用于將組內成員組成一個邏輯環(huán),環(huán)內成員用Ui表示,其中,i=1,2,……,n,所述n為組內成員總數(shù); 系統(tǒng)參數(shù)選擇模塊,用于選擇基于橢圓曲線的系統(tǒng)參數(shù); 報文收發(fā)模塊,用于發(fā)送和接收組密鑰協(xié)商報文,該組密鑰協(xié)商報文攜帶邏輯環(huán)組成模塊中的成員的D-H公鑰值和中間值; 組密鑰生成模塊,用于根據(jù)系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù)和從報文收發(fā)模塊接收的組密鑰協(xié)商報文中的D-H公鑰值和中間值,生成組密鑰。
其中,組密鑰生成模塊具體包括 共享密鑰生成單元,用于根據(jù)Diffie-Hellman密鑰協(xié)商協(xié)議和系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù),生成成員Ui與成員Ui-1的兩兩共享密鑰Ki-1,i,生成成員Ui與成員Ui+1的兩兩共享密鑰Ki,i+1;且,當i=n時,所述i+1=1; 中間值生成單元,用于根據(jù)共享密鑰生成單元所生成的兩兩共享密鑰Ki-1,i和Ki,i+1生成中間值; 共享密鑰驗證單元,用于驗證兩兩共享密鑰Ki,i+1是否等于兩兩共享密鑰Ki+1,i,驗證通過,通知組密鑰生成單元生成組密鑰;否則,通知組密鑰生成單元停止生成組密鑰; 組密鑰生成單元,用于收到共享密鑰驗證單元發(fā)送的生成組密鑰的通知后,根據(jù)中間值計算相鄰成員間的兩兩共享密鑰,并根據(jù)所有兩兩共享密鑰生成組密鑰; 當有其它成員加入或退出時,系統(tǒng)還包括 組密鑰種子生成模塊,用于對生成的組密鑰進行運算,生成組密鑰種子; 組密鑰更新模塊,用于當有新成員加入所述組時,根據(jù)邏輯環(huán)組成模塊將新成員與原來的成員U1和Un組成一個新邏輯環(huán),使用組密鑰種子生成模塊所生成的組密鑰種子,通過組密鑰生成模塊生成新的組密鑰?;蛘?,當有成員退出所述組時,將余下的成員組成一個新邏輯環(huán),成員用Wi表示,i為小于n的正整數(shù),根據(jù)i的值將成員分為奇數(shù)成員和偶數(shù)成員;使奇數(shù)成員選擇與原隨機數(shù)不同的隨機數(shù),使偶數(shù)成員選擇與原隨機數(shù)相同的隨機數(shù),通過組密鑰生成模塊生成新的組密鑰。
為了進一步完善系統(tǒng),系統(tǒng)還包括 簽名生成模塊,用于對D-H公鑰值和中間值進行簽名,并在組密鑰協(xié)商報文中攜帶簽名; 簽名驗證模塊,用于接收到密鑰協(xié)商報文后,用收到的簽名驗證組密鑰協(xié)商報文是否正確。
實施例6 參見圖9,本實施例提供了一種生成組密鑰的設備,包括 邏輯環(huán)組成模塊,用于與組內設備組成一個邏輯環(huán),本設備用Ui表示,其中,i=1,2,……,n,n為組內設備總數(shù); 系統(tǒng)參數(shù)選擇模塊,用于邏輯環(huán)組成模塊完成邏輯環(huán)組成后,選擇基于橢圓曲線的系統(tǒng)參數(shù); D-H公鑰值計算模塊,用于根據(jù)系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù),計算D-H公鑰值,并通過報文收發(fā)模塊發(fā)送給設備Ui-1和設備Ui+1; 共享密鑰生成模塊,用于根據(jù)Diffie-Hellman密鑰協(xié)商協(xié)議、從報文收發(fā)模塊接收的設備Ui-1和設備Ui+1的D-H公鑰值,分別生成兩兩共享密鑰Ki-1,i和兩共享密鑰Ki,i+1; 中間值生成模塊,用于根據(jù)共享密鑰生成模塊所生成的兩兩共享密鑰Ki-1,i和Ki,i+1生成中間值; 報文收發(fā)模塊,用于發(fā)送和接收組密鑰協(xié)商報文,其中,組密鑰協(xié)商報文攜帶D-H公鑰值計算模塊計算的D-H公鑰值或中間值生成模塊生成的中間值; 組密鑰生成模塊,用于根據(jù)系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù)和從報文收發(fā)模塊接收的組密鑰協(xié)商報文中的D-H公鑰值和中間值,生成組密鑰。
當有新設備加入該組或者有設備退出該組時,該設備還包括 組密鑰更新模塊,用于當組內設備個數(shù)發(fā)生變化時,根據(jù)上述系統(tǒng)參數(shù)選擇模塊、D-H公鑰值計算模塊、共享密鑰生成模塊、中間值生成模塊和報文收發(fā)模塊中的信息生成新的組密鑰。
為了保證設備所收發(fā)信息的有效性和安全性,該設備還包括 簽名生成模塊,用于對D-H公鑰值計算模塊計算的D-H公鑰值或中間值生成模塊生成的中間值進行簽名,并在組密鑰協(xié)商報文中攜帶簽名; 簽名驗證模塊,用于接收到密鑰協(xié)商報文后,用簽名驗證所述組密鑰協(xié)商報文是否正確。
以上實施例具有 1)安全性能更高橢圓曲線離散對數(shù)問題的計算復雜度目前是完全指數(shù)級的,而RSA(RSA公鑰密碼體制)是亞指數(shù)級的。
2)計算量小和處理速度快在相同的計算資源條件下,橢圓曲線體制比RSA和DSA(數(shù)字簽名標準)有更快的處理速度。
3)存儲空間占用小橢圓曲線體制的密鑰長度和系統(tǒng)參數(shù)與RSA及DSA相比要小得多。160比特ECC與1024比特RSA、DSA具有相同的安全強度,210比特ECC則與2048比特RSA、DSA具有相同的安全強度,這意味著它所占的存儲空間要小得多。
4)帶寬要求低對于給定的安全級別,ECC比RSA和DSA有更小的參數(shù)。對于更高的安全級別,參數(shù)大小的差異更加明顯。更小的參數(shù)帶來的好處是,計算速度更快,密鑰更短和密鑰證書更小,因而簽名長度和密文長度更短。
綜上,橢圓曲線密碼可以用較小的開銷(如帶寬,計算量,存儲空間,功耗等)和時延實現(xiàn)較高的安全性,特別適用于計算能力和帶寬受限的情況,如Ad Hoc網(wǎng)絡環(huán)境下的安全通信等。與同類方案相比,在達到相同的安全性時,具有計算速度快、存儲空間占用小和網(wǎng)絡帶寬要求低的特點。
以上實施例提供的技術方案,可以通過軟件實現(xiàn),軟件可以存儲在計算機可讀取的物理介質中,如光盤,軟盤或硬盤等。
以上所述的實施例,只是本發(fā)明的較優(yōu)選的具體實施方式
,本領域的技術人員在本發(fā)明技術方案范圍內進行的通常變化和替換都應包含在本發(fā)明的保護范圍內。
權利要求
1.一種生成組密鑰的方法,其特征在于,所述方法包括
組內成員組成一個邏輯環(huán),所述環(huán)內成員用Ui表示,其中,i=1,2,……,n,所述n為組內成員總數(shù);
選擇基于橢圓曲線的系統(tǒng)參數(shù),所述系統(tǒng)參數(shù)包括素數(shù)q,整數(shù)模q所得到的最小非負余數(shù)的集合Zq,基于橢圓曲線的公開基點P;
根據(jù)橢圓曲線上的Diffie-Hellman密鑰協(xié)商算法和所述系統(tǒng)參數(shù),成員Ui與成員Ui-1生成兩兩共享密鑰Ki-1,i,與成員Ui+1生成兩兩共享密鑰Ki,i+1;且,當i=n時,所述i+1=1;
所述成員Ui根據(jù)所述兩兩共享密鑰Ki-1,i和所述兩兩共享密鑰Ki,i+1生成中間值,并在組內廣播攜帶所述中間值的組密鑰協(xié)商報文;
所述成員Ui收到所有其他成員廣播的所述組密鑰協(xié)商報文后,提取所述中間值,根據(jù)所述中間值計算其他成員與所述其他成員的下一個成員的兩兩共享密鑰;
驗證所述兩兩共享密鑰Ki,i+1是否等于兩兩共享密鑰Ki+1,i,驗證通過,所述成員Ui根據(jù)所有兩兩共享密鑰生成組密鑰SK=K1,2+K2,3+…+Kn,1。
2.如權利要求1所述的生成組密鑰的方法,其特征在于,所述成員Ui與成員Ui-1生成兩兩共享密鑰Ki-1,i,與成員Ui+1生成兩兩共享密鑰Ki,i+1的步驟具體包括
所述成員Ui從所述Zq中選擇隨機數(shù)ri,計算D-H公鑰值Xi=riP,發(fā)送攜帶所述D-H公鑰值Xi的組密鑰協(xié)商報文給成員Ui-1和成員Ui+1;
所述成員Ui接收到成員Ui-1發(fā)送的組密鑰協(xié)商報文后,提取Xi-1,計算Ki-1,i=riXi-1=(xi-1,i,yi-1,i);
所述成員Ui接收到成員Ui+1發(fā)送的組密鑰協(xié)商報文后,提取Xi+1,計算Ki,i+1=riXi+1=(xi,i+1,yi,i+1)。
3.如權利要求1所述的生成組密鑰的方法,其特征在于,所述成員Ui根據(jù)所述兩兩共享密鑰Ki-1,i和所述兩兩共享密鑰Ki,i+1生成中間值的步驟具體包括
所述成員Ui用所述兩兩共享密鑰Ki-1,i的對應分量乘以所述兩兩共享密鑰Ki,i+1的對應分量,然后對乘積進行取模,將取模后的坐標點作為中間值。
4.如權利要求3所述的生成組密鑰的方法,其特征在于,所述根據(jù)所述中間值計算其他成員與所述其他成員的下一個成員的兩兩共享密鑰的步驟具體包括
計算Ki+l,i+l+1=(xi+l,i+l+1,yi+l,i+l+1),所述l遍取1,2,...,n-1,所述所述modp,所述z1,i+l,z2,i+l為所述中間值的兩個分量。
5.如權利要求1至4中任一權利要求所述的生成組密鑰的方法,其特征在于,所述成員Ui根據(jù)所有兩兩共享密鑰生成組密鑰SK=K1,2+K2,3+…+Kn,1的步驟具體包括
所述成員Ui將每一個兩兩共享密鑰進行橢圓曲線點求和得到組密鑰SK=K1,2+K2,3+…+Kn,1。
6.如權利要求2所述的生成組密鑰的方法,其特征在于,所述成員Ui對生成的組密鑰進行哈希運算,生成組密鑰種子r=r1r2+r2r3+...riri+1+...+rn-1rn+rn r1,當有m個新成員加入所述組時,所述m為正整數(shù),所述方法還包括
將所述m個新成員與所述成員U1、所述成員Un組成一個新邏輯環(huán),所述新邏輯環(huán)內成員用Vi表示,所述i=1,2,……,m+2,其中,V1表示所述成員U1,V2表示所述成員Un;
所述成員V1根據(jù)所述r1和所述r計算r1′=r1·r;
所述成員V2根據(jù)所述r2和所述r計算r2′=r2·r;
除所述成員V1,V2之外的成員Vi選擇隨機數(shù)ri′,
每個成員Vi根據(jù)組密鑰協(xié)商協(xié)議和所述ri′,與相鄰的成員生成兩兩共享密鑰,根據(jù)所述兩兩共享密鑰生成新的中間值,并廣播攜帶所述中間值的組密鑰協(xié)商報文;
每個成員Vi收到所述新邏輯環(huán)內所有其它成員的組密鑰協(xié)商報文后,提取中間值,生成新的組密鑰;
同時,所述成員V1將所述r1′或所述成員V2將所述r2′發(fā)送給所述成員Ui,所述Ui中的i=2,3,……,n-1;若所述成員Ui收到的為r1′,則按所述成員V1生成新組密鑰的方法生成新的組密鑰;若所述成員Ui收到的為r2′,則按所述成員V2生成新組密鑰的方法生成新的組密鑰。
7.如權利要求1所述的生成組密鑰的方法,其特征在于,當有m個成員退出所述組時,所述方法還包括
余下的n-m個成員組成一個新邏輯環(huán),所述環(huán)內成員用Wi表示,i=1,2,……,n-m,所述成員Wi重新選擇隨機數(shù),根據(jù)Diffie-Hellman密鑰協(xié)商協(xié)議和所述系統(tǒng)參數(shù),與相鄰的成員生成新的兩兩共享密鑰,根據(jù)所述新的兩兩共享密鑰生成新的組密鑰。
8.如權利要求7所述的生成組密鑰的方法,其特征在于,所述成員Wi根據(jù)i的值分為奇數(shù)成員和偶數(shù)成員,相應地,所述成員Wi重新選擇隨機數(shù)的步驟具體為
所述奇數(shù)成員重新選擇的隨機數(shù)與原隨機數(shù)不同,所述偶數(shù)成員重新選擇的隨機數(shù)為原隨機數(shù)。
9.如權利要求1所述的生成組密鑰的方法,其特征在于,所述方法還包括
所述成員Ui生成中間值后,對所述中間值進行簽名,并在所述組密鑰協(xié)商報文中攜帶所述簽名,接收到所述組密鑰協(xié)商報文的成員用所述簽名驗證所述組密鑰協(xié)商報文是否正確。
10.如權利要求2所述的生成組密鑰的方法,其特征在于,所述方法還包括
所述成員Ui計算D-H公鑰值Xi=riP后,對所述D-H公鑰值進行簽名,并在所述組密鑰協(xié)商報文中攜帶所述簽名,接收到所述組密鑰協(xié)商報文的成員用所述簽名驗證所述組密鑰協(xié)商報文是否正確。
11.一種生成組密鑰的系統(tǒng),其特征在于,所述系統(tǒng)包括
邏輯環(huán)組成模塊,用于將組內成員組成一個邏輯環(huán),所述環(huán)內成員用Ui表示,其中,i=1,2,……,n,所述n為組內成員總數(shù);
系統(tǒng)參數(shù)選擇模塊,用于選擇基于橢圓曲線的系統(tǒng)參數(shù);
報文收發(fā)模塊,用于發(fā)送和接收組密鑰協(xié)商報文,所述組密鑰協(xié)商報文攜帶所述邏輯環(huán)組成模塊中的成員生成的D-H公鑰值和中間值;
組密鑰生成模塊,用于根據(jù)所述系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù)和從所述報文收發(fā)模塊接收的組密鑰協(xié)商報文中的D-H公鑰值和中間值,生成組密鑰。
12.如權利要求11所述的生成組密鑰的系統(tǒng),其特征在于,所述組密鑰生成模塊具體包括
共享密鑰生成單元,用于根據(jù)Diffie-Hellman密鑰協(xié)商協(xié)議和所述系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù),生成成員Ui與成員Ui-1的兩兩共享密鑰Ki-1,i,生成成員Ui與成員Ui+1的兩兩共享密鑰Ki,i+1;且,當i=n時,所述i+1=1;
中間值生成單元,用于根據(jù)所述共享密鑰生成單元所生成的兩兩共享密鑰Ki-1,i和Ki,i+1生成中間值;
共享密鑰驗證單元,用于驗證所述兩兩共享密鑰Ki,i+1是否等于兩兩共享密鑰Ki+1,i,驗證通過,通知組密鑰生成單元生成組密鑰;否則,通知組密鑰生成單元停止生成組密鑰;
組密鑰生成單元,用于收到所述共享密鑰驗證單元發(fā)送的生成組密鑰的通知后,根據(jù)所述中間值計算相鄰成員間的兩兩共享密鑰,并根據(jù)所有兩兩共享密鑰生成組密鑰。
13.如權利要求11所述的生成組密鑰的系統(tǒng),其特征在于,所述系統(tǒng)還包括
組密鑰種子生成模塊,用于對生成的組密鑰進行運算,生成組密鑰種子;
組密鑰更新模塊,用于當有新成員加入所述組時,根據(jù)所述邏輯環(huán)組成模塊將新成員與所述成員U1和所述Un組成一個新邏輯環(huán),使用所述組密鑰種子生成模塊所生成的組密鑰種子,通過所述組密鑰生成模塊生成新的組密鑰。
14.如權利要求13所述的生成組密鑰的系統(tǒng),其特征在于,所述組密鑰更新模塊還用于
當有成員退出所述組時,將余下的成員組成一個新邏輯環(huán),成員用Wi表示,i為小于n的正整數(shù),根據(jù)i的值將成員分為奇數(shù)成員和偶數(shù)成員;使所述奇數(shù)成員選擇與原隨機數(shù)不同的隨機數(shù),使所述偶數(shù)成員選擇與原隨機數(shù)相同的隨機數(shù),通過所述組密鑰生成模塊生成新的組密鑰。
15.如權利要求11所述的生成組密鑰的方法,其特征在于,所述系統(tǒng)還包括
簽名生成模塊,用于對D-H公鑰值和中間值進行簽名,并在所述組密鑰協(xié)商報文中攜帶所述簽名;
簽名驗證模塊,用于接收到所述密鑰協(xié)商報文后,用所述簽名驗證所述組密鑰協(xié)商報文是否正確。
16.一種生成組密鑰的設備,其特征在于,所述設備包括
邏輯環(huán)組成模塊,用于與組內設備組成一個邏輯環(huán),本設備用Ui表示,其中,i=1,2,……,n,所述n為組內設備總數(shù);
系統(tǒng)參數(shù)選擇模塊,用于所述邏輯環(huán)組成模塊完成邏輯環(huán)組成后,選擇基于橢圓曲線的系統(tǒng)參數(shù);
D-H公鑰值計算模塊,用于根據(jù)所述系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù),計算D-H公鑰值,并通過報文收發(fā)模塊發(fā)送給設備Ui-1和設備Ui+1;
共享密鑰生成模塊,用于根據(jù)Diffie-Hellman密鑰協(xié)商協(xié)議、從報文收發(fā)模塊接收的設備Ui-1和設備Ui+1的D-H公鑰值,分別生成兩兩共享密鑰Ki-1,i和兩共享密鑰Ki,i+1;
中間值生成模塊,用于根據(jù)所述共享密鑰生成模塊所生成的兩兩共享密鑰Ki-1,i和Ki,i+1生成中間值;
報文收發(fā)模塊,用于發(fā)送和接收組密鑰協(xié)商報文,所述組密鑰協(xié)商報文攜帶所述D-H公鑰值計算模塊計算的D-H公鑰值或所述中間值生成模塊生成的中間值;
組密鑰生成模塊,用于根據(jù)所述系統(tǒng)參數(shù)選擇模塊選擇的系統(tǒng)參數(shù)和從所述報文收發(fā)模塊接收的組密鑰協(xié)商報文中的D-H公鑰值和中間值,生成組密鑰。
17.如權利要求16所述的生成組密鑰的設備,其特征在于,所述設備還包括
組密鑰更新模塊,用于當組內設備個數(shù)發(fā)生變化時,根據(jù)所述系統(tǒng)參數(shù)選擇模塊、D-H公鑰值計算模塊、共享密鑰生成模塊、中間值生成模塊和報文收發(fā)模塊中的信息生成新的組密鑰。
18.如權利要求16所述的生成組密鑰的設備,其特征在于,所述設備還包括
簽名生成模塊,用于對所述D-H公鑰值計算模塊計算的D-H公鑰值或中間值生成模塊生成的中間值進行簽名,并在所述組密鑰協(xié)商報文中攜帶所述簽名;
簽名驗證模塊,用于接收到所述密鑰協(xié)商報文后,用所述簽名驗證所述組密鑰協(xié)商報文是否正確。
全文摘要
為了解決現(xiàn)有技術中組密鑰協(xié)商方法計算量較大、占用存儲空間較大,且對帶寬要求較高的問題,本發(fā)明提供了一種生成組密鑰的方法、系統(tǒng)和設備,屬于網(wǎng)絡通信領域。所述方法包括組內成員組成一個邏輯環(huán),選擇系統(tǒng)參數(shù),每個成員與相鄰成員生成兩兩共享密鑰和中間值,并廣播中間值,根據(jù)收到的所有中間值計算其它成員間的兩兩共享密鑰,并生成組密鑰。所述系統(tǒng)包括邏輯環(huán)組成模塊、系統(tǒng)參數(shù)選擇模塊、報文收發(fā)模塊和組密鑰生成模塊。所述設備包括邏輯環(huán)組成模塊、系統(tǒng)參數(shù)選擇模塊、D-H公鑰值計算模塊、共享密鑰生成模塊、中間值生成模塊、報文收發(fā)模塊和組密鑰生成模塊。本發(fā)明提供的技術解決了現(xiàn)有技術存在的問題,易于使用。
文檔編號H04L9/08GK101291214SQ200710098508
公開日2008年10月22日 申請日期2007年4月19日 優(yōu)先權日2007年4月19日
發(fā)明者許春香, 歡 鐘, 亞 劉 申請人:華為技術有限公司, 電子科技大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乌拉特中旗| 漠河县| 九江县| 临漳县| 和龙市| 青川县| 宜宾县| 崇阳县| 绥中县| 会理县| 施秉县| 漠河县| 岢岚县| 鹤岗市| 平原县| 内丘县| 宁明县| 泰和县| 太仓市| 汤原县| 民乐县| 东辽县| 东丽区| 涿鹿县| 赤壁市| 铜鼓县| 涟源市| 长春市| 体育| 永济市| 马鞍山市| 乡宁县| 光泽县| 偃师市| 沂南县| 厦门市| 那坡县| 遵义县| 明水县| 哈巴河县| 桂平市|