多方通信中共享密鑰的方法
【專利摘要】一種多方通信中共享密鑰的方法,應(yīng)用于一多方通信系統(tǒng)中,該多方通信系統(tǒng)包括至少三個通信端參與當(dāng)前多方通信,該方法包括:從至少三個通信端中確定出一主持者;該主持者對其他通信端按照一第一預(yù)定順序排序,并與排在第一位的第一通信端進(jìn)行共享密鑰協(xié)商;該主持者按照所述第一預(yù)定順序依次與該第一通信端之后的通信端進(jìn)行共享密鑰協(xié)商;在每次協(xié)商出共享密鑰之后,以前一次協(xié)商的共享密鑰對本次協(xié)商的共享密鑰進(jìn)行加密,并將加密后的共享密鑰通知給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端;以及所有參與當(dāng)前多方通信的通信端使用最后一次共享密鑰協(xié)商過程協(xié)商出的共享密鑰進(jìn)行加密通信。該方法能夠?qū)崿F(xiàn)多方通信中密鑰的共享。
【專利說明】
多方通信中共享密鑰的方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),具體而言,涉及一種多方通信中共享密鑰的方法。
【背景技術(shù)】
[0002]通常,當(dāng)多個通信方在公共信道上傳輸數(shù)據(jù)時,需要保證通信的安全性,因此需要對傳輸內(nèi)容進(jìn)行加解密。以智能家居領(lǐng)域?yàn)槔粋€家中多個不同品牌的家電使用相同技術(shù)進(jìn)行組網(wǎng),這個組成的網(wǎng)絡(luò)即可以看成是一條公共信道。但因各個廠家均有一些敏感數(shù)據(jù)不希望被其他廠家的家電捕獲到,因此同個廠家生產(chǎn)的家電彼此間在該網(wǎng)絡(luò)中進(jìn)行通信時,需要對傳輸內(nèi)容進(jìn)行加解密處理。通常使用AES算法進(jìn)行加解密。
[0003]圖1是根據(jù)一不例不出的多方通信場景不意圖。在圖1中,以兩個廠家的家電產(chǎn)品為例,其中矩形表示廠家I,包括產(chǎn)品:IA?ID;橢圓表示廠家2,包括產(chǎn)品:2A?2B。各產(chǎn)品通過公共信道CCH進(jìn)行通信。
[0004]如果是產(chǎn)品IA和IB通信,目前業(yè)界的通行做法為:(I)IA生成自己的ECC(Ellipticcurve cryptography,橢圓曲線密碼學(xué))算法公鑰ecc_lA_puk_key及私鑰ecc_lA_priv_key; (2) IB生成自己的ECC算法公鑰ecc_lB_puk_key及私鑰ecc_lB_priv_key; (3) IA通過公共信道CCH將其的ECC算法公鑰eCC_lA_puk_key傳輸給1B;(4)1B通過公共信道CCH將其的ECC算法公鑰ecc_lB_puk_key傳輸給IA; (5)1A和IB分別計(jì)算ECDH(Elliptic curveDiffie-Hel Iman,橢圓曲線密鑰交換)共享秘密,并根據(jù)共享秘密生成AES算法共享密鑰share_key;(6)之后,IA和IB在公共信道CCH上使用共享密鑰Share_key對傳輸內(nèi)容進(jìn)行AES加解密。
[0005]該方案是為了解決兩兩通信而設(shè)計(jì)的標(biāo)準(zhǔn)方案,也即是說通信方只有兩個,這兩個通信方之間共享密鑰,而公共信道上的其他通信方不參與通信。而當(dāng)多方(超過兩方)通信時,如將圖1中的IC和ID也加入到通信中,構(gòu)成通信組[1A,IB,1C,1D],該組中任意一方(如1A)發(fā)送的數(shù)據(jù)要求組中各方(如1B,IC和1D)都能接收并解密,則上述兩兩通信的方案不再適用。
[0006]在所述【背景技術(shù)】部分公開的上述信息僅用于加強(qiáng)對本發(fā)明的背景的理解,因此它可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
【發(fā)明內(nèi)容】
[0007]有鑒于此,本發(fā)明提供一種多方通信中共享密鑰的方法,能夠?qū)崿F(xiàn)多方通信中密鑰的共孚。
[0008]本發(fā)明的其他特性和優(yōu)點(diǎn)將通過下面的詳細(xì)描述變得顯然,或部分地通過本發(fā)明的實(shí)踐而習(xí)得。
[0009]根據(jù)本發(fā)明的一方面,提供了一種多方通信中共享密鑰的方法,應(yīng)用于一多方通信系統(tǒng)中,所述多方通信系統(tǒng)包括至少三個通信端參與當(dāng)前多方通信,所述方法包括:從所述至少三個通信端中確定出一主持者;所述主持者對其他通信端按照一第一預(yù)定順序排序,并與排在第一位的第一通信端進(jìn)行共享密鑰協(xié)商;所述主持者按照所述第一預(yù)定順序依次與所述第一通信端之后的通信端進(jìn)行共享密鑰協(xié)商;在每次協(xié)商出共享密鑰之后,以前一次協(xié)商的共享密鑰對本次協(xié)商的共享密鑰進(jìn)行加密,并將加密后的共享密鑰通知給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端;以及所有參與當(dāng)前所述多方通信的通信端使用最后一次共享密鑰協(xié)商過程協(xié)商出的共享密鑰進(jìn)行加密通信。
[0010]根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:當(dāng)所述其他通信端的至少其中之一退出時,所述主持者按照一第二預(yù)定順序重新對參與當(dāng)前所述多方通信的通信端進(jìn)行排序,并與排在第一位的第二通信端進(jìn)行共享密鑰協(xié)商;所述主持者按照所述第二預(yù)定順序依次與所述第二通信端之后的通信端進(jìn)行共享密鑰協(xié)商;在每次協(xié)商出密鑰之后,以前一次協(xié)商的共享密鑰對本次協(xié)商的共享密鑰進(jìn)行加密,并將加密后的共享密鑰通知給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端;以及所有參與當(dāng)前所述多方通信的通信端使用最后一次共享密鑰協(xié)商過程協(xié)商出的共享密鑰進(jìn)行加密通信。
[0011]根據(jù)本發(fā)明的一實(shí)施方式,所述第一預(yù)定順序與所述第二預(yù)定順序相同。
[0012]根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:所述主持者定時向所有參與當(dāng)前所述多方通信的通信端廣播心跳包;以及當(dāng)參與當(dāng)前所述多方通信的通信端在一預(yù)設(shè)時間內(nèi)沒有收到所述主持者廣播的所述心跳包時,參與當(dāng)前所述多方通信的通信端協(xié)商重新確定新的主持者。
[0013]根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:當(dāng)所述主持者決定退出當(dāng)前所述多方通信時,所述主持者向所有參與當(dāng)前所述多方通信的通信端發(fā)送一通知消息。
[0014]根據(jù)本發(fā)明的一實(shí)施方式,所述通知消息包括所述主持者確定的新的主持者。
[0015]根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:參與當(dāng)前所述多方通信的通信端協(xié)商重新確定新的主持者。
[0016]根據(jù)本發(fā)明的一實(shí)施方式,從所述至少三個通信端中確定出一主持者包括:從所述至少三個通信端中選出最先加入當(dāng)前所述多方通信的通信端為所述主持者。
[0017]根據(jù)本發(fā)明的一實(shí)施方式,所述第一預(yù)定順序包括:加入當(dāng)前所述多方通信的先后順序。
[0018]根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:當(dāng)所述其他通信端的至少其中之二同時加入當(dāng)前所述多方通信時,隨機(jī)對同時加入的通信端進(jìn)行排序。
[0019]根據(jù)本發(fā)明的一實(shí)施方式,所述密鑰協(xié)商過程包括通過E⑶H協(xié)商AES共享密鑰。
[0020]根據(jù)本發(fā)明的多方通信中共享密鑰的方法,能夠?qū)崿F(xiàn)多方通信時密鑰快速、有效協(xié)商和共享,在保證多方通信安全性的同時,提高了通信的效率和加密效果。
[0021]另外,根據(jù)一些實(shí)施例,本發(fā)明的多方通信中共享密鑰的方法,還可以進(jìn)一步處理當(dāng)前主持者異常退出的情況,使當(dāng)前參與多方通信的通信端可以重新選出新的主持者繼續(xù)主持多方通信。
[0022]根據(jù)另一些實(shí)施例,本發(fā)明的多方通信中共享密鑰的方法,還可以進(jìn)一步處理當(dāng)前主持者正常退出的情況,使當(dāng)前參與多方通信的通信端可以重新選出新的主持者或者由原來的主持者指定新的主持者繼續(xù)主持多方通信。
[0023]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本發(fā)明。
【附圖說明】
[0024]通過參照附圖詳細(xì)描述其示例實(shí)施例,本發(fā)明的上述和其它目標(biāo)、特征及優(yōu)點(diǎn)將變得更加顯而易見。
[0025]圖1是根據(jù)一示例示出的多方通信場景示意圖。
[0026]圖2是根據(jù)一示例性實(shí)施方式示出的一種多方通信中共享密鑰的方法的流程圖。
[0027]圖3是根據(jù)一示例性實(shí)施方式示出的另一種多方通信中共享密鑰的方法的流程圖。
[0028]圖4是是根據(jù)一示例性實(shí)施方式示出的再一種多方通信中共享密鑰的方法的流程圖。
[0029]圖5是是根據(jù)一示例性實(shí)施方式示出的再一種多方通信中共享密鑰的方法的流程圖。
【具體實(shí)施方式】
[0030]現(xiàn)在將參考附圖更全面地描述示例實(shí)施方式。然而,示例實(shí)施方式能夠以多種形式實(shí)施,且不應(yīng)被理解為限于在此闡述的范例;相反,提供這些實(shí)施方式使得本發(fā)明將更加全面和完整,并將示例實(shí)施方式的構(gòu)思全面地傳達(dá)給本領(lǐng)域的技術(shù)人員。附圖僅為本發(fā)明的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標(biāo)記表示相同或類似的部分,因而將省略對它們的重復(fù)描述。
[0031]此外,所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個或更多實(shí)施方式中。在下面的描述中,提供許多具體細(xì)節(jié)從而給出對本發(fā)明的實(shí)施方式的充分理解。然而,本領(lǐng)域技術(shù)人員將意識到,可以實(shí)踐本發(fā)明的技術(shù)方案而省略所述特定細(xì)節(jié)中的一個或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細(xì)示出或描述公知結(jié)構(gòu)、方法、裝置、實(shí)現(xiàn)、材料或者操作以避免喧賓奪主而使得本發(fā)明的各方面變得模糊。
[0032]圖2是根據(jù)一示例性實(shí)施方式示出的一種多方通信中共享密鑰的方法的流程圖。該方法適用于一多方通信系統(tǒng),該多方通信系統(tǒng)包括至少三個通信端參與當(dāng)前多方通信。多方通信系統(tǒng)例如可以如圖1所示,其中公共信道CCH可以為有線信道也可以為無線信道,本發(fā)明不以此為限。如圖2所示,多方通信中共享密鑰的方法10包括:
[0033]在步驟S102中,從上述至少三個通信端中確定出一主持者。
[0034]以三個通信端A、B、C為例,例如,可以確定第一個加入多方通信的通信端A為主持者,但本發(fā)明不以此為限。
[0035]在步驟S104中,該主持者對其他通信端按照一預(yù)定順序排序,并與排在第一位的通信端進(jìn)行共享密鑰協(xié)商。
[0036]仍以三個通信端A、B、C為例,主持者例如為通信端A,預(yù)定順序例如可以為通信端B和C加入該多方通信的順序,但本發(fā)明不以此為限,例如還可以為通信端ID(如MAC地址)的大小順序,或者還可以隨機(jī)排序等。假設(shè)通信端B早于通信端C加入該多方通信,則主持者A先與通信端B進(jìn)行共享密鑰協(xié)商。以主持者A通過ECDH協(xié)商AES共享密鑰為例,具體的協(xié)商方法可以為:
[0037](I)主持者A生成自己的ECC算法公鑰ecc_A_puk_key及私鑰ecc_A_priv_key ;
[0038](2)通信端B生成自己的ECC算法公鑰ecc_B_puk_key及私鑰ecc_B_priv_key;
[0039](3)主持者A將其的ECC算法公鑰eCC_A_puk_key傳輸給通信端B;
[0040](4)通信端B將其的ECC算法公鑰eCC_B_puk_key傳輸給主持者A;
[0041 ] (5)主持者A和通信端B分別計(jì)算ECDH共享秘密,并根據(jù)共享秘密生成AES算法共享密鑰 AES_key_ab。
[0042]在步驟S106中,該主持者按照該預(yù)定順序依次與后續(xù)通信端進(jìn)行共享密鑰協(xié)商;在每次協(xié)商出共享密鑰之后,以前一次協(xié)商的共享密鑰對本次協(xié)商的共享密鑰進(jìn)行加密,并將加密后的共享密鑰通知給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端。
[0043]例如,主持者A繼續(xù)與通信端C進(jìn)行共享密鑰協(xié)商,具體協(xié)商方法可以參見步驟S104中主持者A與通信端B的共享密鑰協(xié)商方法。當(dāng)主持者A與通信端C協(xié)商出共享密鑰AES_key_abc后,主持者A使用前次與通信端B協(xié)商出的共享密鑰AES_key_ab對共享密鑰AES_key_abc進(jìn)行加密,并將該加密后的共享密鑰AES_key_abc發(fā)送給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端B,之后通信端(主持者)A、B、C之間使用共享密鑰AES_key_abc進(jìn)行加密通信。
[0044]如果多方通信中還包括通信端D,且通信端D加入多方通信的時間晚于通信端B和C,則主持者A再繼續(xù)與通信端D協(xié)商共享密鑰,得到共享密鑰AES_key_abcd,具體協(xié)商共享密鑰的方法仍可參見步驟S104中主持者A與通信端B的共享密鑰協(xié)商方法。之后,主持者A使用前次與通信端C協(xié)商出的共享密鑰AES_key_abc對共享密鑰AES_key_abcd進(jìn)行加密,并將該加密后的共享密鑰AES_key_abcd發(fā)送給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端B和C,之后通信端(主持者)A、B、C、D之間使用共享密鑰AES_key_abcd進(jìn)行加密通
?目O
[0045]如果多方通信中還包括通信端E,且通信端E加入多方通信的時間晚于通信端B、C和D,則主持者A再繼續(xù)與通信端E協(xié)商共享密鑰,得到共享密鑰AES_key_abCde,具體協(xié)商共享密鑰的方法仍可參見步驟S104中主持者A與通信端B的共享密鑰協(xié)商方法。之后,主持者A使用前次與通信端D協(xié)商出的共享密鑰AES_key_abcd對共享密鑰AES_key_abCde進(jìn)行加密,并將該加密后的共享密鑰AES_key_abCde發(fā)送給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端B、C和D,之后通信端(主持者)A、B、C、D、E之間使用共享密鑰AES_key_abcde進(jìn)行加密通信。
[0046]如果還有更多的通信端加入該多方通信,共享密鑰協(xié)商過程如上所述,在此不再贅述。
[0047]在一些實(shí)施例中,如果采用的預(yù)定順序?yàn)橥ㄐ哦思尤攵喾酵ㄐ哦说南群箜樞?,但例如通信端D和E同時到達(dá),本方法還可以為對通信端B和C采用加入多方通信的先后順序做上述處理,而在確定通信端D和E的順序時,則采用其他順序,如上述的隨機(jī)排序,或通信端ID大小排序等對通信端D和E進(jìn)行排序,再按照上述方法分別協(xié)商出通信組[A,B,C,D]和[A,B,C,D,E]的共享密鑰。
[0048]在步驟S108中,所有參與該多方通信的通信端使用最后一次共享密鑰協(xié)商過程協(xié)商出的共享密鑰進(jìn)行加密通信。
[0049]本發(fā)明實(shí)施方式的多方通信中共享密鑰的方法,能夠?qū)崿F(xiàn)多方通信時密鑰快速、有效協(xié)商和共享,在保證多方通信安全性的同時,提高了通信的效率和加密效果。
[0050]應(yīng)清楚地理解,本發(fā)明描述了如何形成和使用特定示例,但本發(fā)明的原理不限于這些示例的任何細(xì)節(jié)。相反,基于本發(fā)明公開的內(nèi)容的教導(dǎo),這些原理能夠應(yīng)用于許多其它實(shí)施方式。
[0051]圖3是根據(jù)一示例性實(shí)施方式示出的另一種多方通信中共享密鑰的方法的流程圖。該方法仍舊適用于多方通信系統(tǒng),該多方通信系統(tǒng)包括至少三個通信端。多方通信系統(tǒng)例如可以如圖1所示,其中公共信道CCH可以為有線信道也可以為無線信道,本發(fā)明不以此為限。如圖3所示,多方通信中共享密鑰的方法20包括:
[0052]在步驟S202中,在協(xié)商出所有參與多方通信的通信端的共享密鑰后,當(dāng)有參與該多方通信的通信端退出時,主持者按照一預(yù)定順序重新對當(dāng)前參與多方通信的通信端進(jìn)行排序。
[0053]該預(yù)定順序可以與方法10的共享密鑰協(xié)商過程中采用的預(yù)定順序相同,也可以不同。
[0054]在步驟S204中,該主持者與排在第一位的通信端進(jìn)行共享密鑰協(xié)商。
[0055]在步驟S206中,該主持者按照該預(yù)定順序依次與后續(xù)通信端進(jìn)行共享密鑰協(xié)商;在每次協(xié)商出密鑰之后,以前一次協(xié)商的共享密鑰對本次協(xié)商的共享密鑰進(jìn)行加密,并將加密后的共享密鑰通知給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端。
[0056]在步驟S208中,當(dāng)前所有參與該多方通信的通信端使用最后一次共享密鑰協(xié)商過程協(xié)商出的共享密鑰進(jìn)行加密通信。
[0057]本發(fā)明實(shí)施方式的多方通信中共享密鑰的方法,還可以進(jìn)一步處理中途有通信端退出多方通信的情況,使當(dāng)前參與多方通信的通信端可以使用更新后的共享密鑰繼續(xù)通
?目O
[0058]在上述多方通信中共享密鑰的方法10和20中,為了確保當(dāng)前多方通信中始終有一位主持者,本發(fā)明實(shí)施方式還進(jìn)一步提供了處理當(dāng)前主持者異常退出情況的方法。圖4是是根據(jù)一示例性實(shí)施方式示出的再一種多方通信中共享密鑰的方法的流程圖。如圖4所示,多方通信中共享密鑰的方法30包括:
[0059]在步驟S302中,主持者定時向當(dāng)前所有參與該多方通信的通信端廣播一心跳包。
[0060]仍以當(dāng)前多方通信組為[A,B,C,D,E]。主持者A基于定時器定時向通信端B、C、D和E廣播心跳包。
[0061]在步驟S304中,當(dāng)參與該多方通信的通信端在一預(yù)設(shè)時間內(nèi)沒有收到主持者廣播的心跳包,則參與該多方通信的通信端協(xié)商重新選擇一新的主持者。
[0062]例如,通信端B、C、D和E發(fā)現(xiàn)在一預(yù)設(shè)時間內(nèi)沒有收到主持者A廣播的心跳包,通信端B、C、D和E協(xié)商從通信端B、C、D和E中選出新的主持者。選擇新的主持者的方法也可以按照上述根據(jù)通信端B、C、D和E加入多方通信的順序選出,或隨機(jī)排序選出,或按照通信端ID大小排序選出等,本發(fā)明不以此為限。
[0063]為了避免因丟包而造成的虛假檢測主持者A異常退出,預(yù)設(shè)時間可以大于主持者A定時廣播心跳包的定時周期,例如可以為N個定時周期,N例如可以為2?5,但本發(fā)明不以此為限。
[0064]此外,當(dāng)選出新的主持者后,還可以按照多方通信中共享密鑰的方法20中的步驟,由新的主持者重新主持協(xié)商出通信組[B,C,D,E]新的共享密鑰。
[0065]本發(fā)明實(shí)施方式的多方通信中共享密鑰的方法,還可以進(jìn)一步處理當(dāng)前主持者異常退出的情況,使當(dāng)前參與多方通信的通信端可以重新選出新的主持者繼續(xù)主持多方通
?目O
[0066]此外,在上述多方通信中共享密鑰的方法10和20中,為了確保當(dāng)前多方通信中始終有一位主持者,本發(fā)明實(shí)施方式還進(jìn)一步提供了處理當(dāng)前主持者正常退出情況的方法。圖5是是根據(jù)一示例性實(shí)施方式示出的再一種多方通信中共享密鑰的方法的流程圖。如圖5所示,多方通信中共享密鑰的方法40包括:
[0067]在步驟S402中,當(dāng)主持者決定退出當(dāng)前的多方通信時,該主持者向當(dāng)前所有參與該多方通信的通信端發(fā)送一個通知消息。
[0068]仍以當(dāng)前多方通信組為[A,B,C,D,E]。主持者A決定退出當(dāng)前的多方通信時,主持者A向當(dāng)前所有參與該多方通信的通信端發(fā)送一個通知消息。該通知消息中可以包括由主持者A指定的新的主持者,例如主持者A按照上述根據(jù)通信端B、C、D和E加入多方通信的順序,或隨機(jī)排序,或按照通信端ID大小排序選出新的主持者,本發(fā)明不以此為限。
[0069]或者主持者A也可以不選出新的主持者,而由通信端B、C、D和E協(xié)商選出新的主持者。也即該通知消息中不包括主持者A指定的新的主持者。
[0070]在步驟S404中,當(dāng)參與該多方通信的通信端收到該通知消息時,如果該通知消息中攜帶有新的主持者,則參與該多方通信的通信端由該新的主持者繼續(xù)主持該多方通信;如果該通知消息中沒有攜帶有新的主持者,則參與該多方通信的通信端協(xié)商選出新的主持者。
[0071 ] 例如,如果原主持者A選出新的主持者為通信端B,并通過通知消息通知給通信端B、C、D和E,則后續(xù)由主持者B繼續(xù)主持通信組[B,C,D,E ]的通信。
[0072]而如果原主持者A沒有選出新的主持者,則通信端B、C、D和E協(xié)商從通信端B、C、D和E中選出新的主持者。選擇新的主持者的方法也可以按照上述根據(jù)通信端B、C、D和E加入多方通信的順序選出,或隨機(jī)排序選出,或按照通信端ID大小排序選出等,本發(fā)明不以此為限。例如,選出新的主持者為通信端B,則后續(xù)由主持者B繼續(xù)主持通信組[B,C,D,E]的通信。
[0073]此外,當(dāng)選出新的主持者后,還可以按照多方通信中共享密鑰的方法20中的步驟,由新的主持者重新主持協(xié)商出通信組[B,C,D,E]新的共享密鑰。
[0074]本發(fā)明實(shí)施方式的多方通信中共享密鑰的方法,還可以進(jìn)一步處理當(dāng)前主持者正常退出的情況,使當(dāng)前參與多方通信的通信端可以重新選出新的主持者或者由原來的主持者指定新的主持者繼續(xù)主持多方通信。
[0075]本領(lǐng)域技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施方式的全部或部分步驟被實(shí)現(xiàn)為由CPU執(zhí)行的計(jì)算機(jī)程序。在該計(jì)算機(jī)程序被(PU執(zhí)行時,執(zhí)行本發(fā)明提供的上述方法所限定的上述功能。所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,該存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0076]此外,需要注意的是,上述附圖僅是根據(jù)本發(fā)明示例性實(shí)施方式的方法所包括的處理的示意性說明,而不是限制目的。易于理解,上述附圖所示的處理并不表明或限制這些處理的時間順序。另外,也易于理解,這些處理可以是例如在多個模塊中同步或異步執(zhí)行的。
[0077]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實(shí)施方式可以通過軟件實(shí)現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實(shí)現(xiàn)。因此,根據(jù)本發(fā)明實(shí)施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM,U盤,移動硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺計(jì)算設(shè)備(可以是個人計(jì)算機(jī)、服務(wù)器、移動終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本發(fā)明實(shí)施方式的方法。
[0078]以上具體地示出和描述了本發(fā)明的示例性實(shí)施方式。應(yīng)可理解的是,本發(fā)明不限于這里描述的詳細(xì)結(jié)構(gòu)、設(shè)置方式或?qū)崿F(xiàn)方法;相反,本發(fā)明意圖涵蓋包含在所附權(quán)利要求的精神和范圍內(nèi)的各種修改和等效設(shè)置。
【主權(quán)項(xiàng)】
1.一種多方通信中共享密鑰的方法,應(yīng)用于一多方通信系統(tǒng)中,所述多方通信系統(tǒng)包括至少三個通信端參與當(dāng)前多方通信,其特征在于,所述方法包括: 從所述至少三個通信端中確定出一主持者; 所述主持者對其他通信端按照一第一預(yù)定順序排序,并與排在第一位的第一通信端進(jìn)行共享密鑰協(xié)商; 所述主持者按照所述第一預(yù)定順序依次與所述第一通信端之后的通信端進(jìn)行共享密鑰協(xié)商;在每次協(xié)商出共享密鑰之后,以前一次協(xié)商的共享密鑰對本次協(xié)商的共享密鑰進(jìn)行加密,并將加密后的共享密鑰通知給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端;以及 所有參與當(dāng)前所述多方通信的通信端使用最后一次共享密鑰協(xié)商過程協(xié)商出的共享密鑰進(jìn)行加密通信。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 當(dāng)所述其他通信端的至少其中之一退出時,所述主持者按照一第二預(yù)定順序重新對參與當(dāng)前所述多方通信的通信端進(jìn)行排序,并與排在第一位的第二通信端進(jìn)行共享密鑰協(xié)商; 所述主持者按照所述第二預(yù)定順序依次與所述第二通信端之后的通信端進(jìn)行共享密鑰協(xié)商;在每次協(xié)商出密鑰之后,以前一次協(xié)商的共享密鑰對本次協(xié)商的共享密鑰進(jìn)行加密,并將加密后的共享密鑰通知給本次密鑰協(xié)商之前的共享密鑰協(xié)商過程所涉及的通信端;以及 所有參與當(dāng)前所述多方通信的通信端使用最后一次共享密鑰協(xié)商過程協(xié)商出的共享密鑰進(jìn)行加密通信。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一預(yù)定順序與所述第二預(yù)定順序相同。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 所述主持者定時向所有參與當(dāng)前所述多方通信的通信端廣播心跳包;以及 當(dāng)參與當(dāng)前所述多方通信的通信端在一預(yù)設(shè)時間內(nèi)沒有收到所述主持者廣播的所述心跳包時,參與當(dāng)前所述多方通信的通信端協(xié)商重新確定新的主持者。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:當(dāng)所述主持者決定退出當(dāng)前所述多方通信時,所述主持者向所有參與當(dāng)前所述多方通信的通信端發(fā)送一通知消息。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述通知消息包括所述主持者確定的新的主持者。7.根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括:參與當(dāng)前所述多方通信的通信端協(xié)商重新確定新的主持者。8.根據(jù)權(quán)利要求1所述的方法,其特征在于,從所述至少三個通信端中確定出一主持者包括:從所述至少三個通信端中選出最先加入當(dāng)前所述多方通信的通信端為所述主持者。9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一預(yù)定順序包括:加入當(dāng)前所述多方通信的先后順序。10.根據(jù)權(quán)利要求9所述的方法,其特征在于,還包括:當(dāng)所述其他通信端的至少其中之二同時加入當(dāng)前所述多方通信時,隨機(jī)對同時加入的通信端進(jìn)行排序。11.根據(jù)權(quán)利要求1-10任一項(xiàng)所述的方法,其特征在于,所述密鑰協(xié)商過程包括通過E⑶H協(xié)商AES共享密鑰。
【文檔編號】H04L29/06GK105847002SQ201610393551
【公開日】2016年8月10日
【申請日】2016年6月6日
【發(fā)明人】張華
【申請人】北京京東尚科信息技術(shù)有限公司, 北京京東世紀(jì)貿(mào)易有限公司