r>[0178]S605:KEY對服務(wù)器發(fā)送的單次認(rèn)證數(shù)據(jù)、用戶ID或KEY自身生成的單次認(rèn)證數(shù)據(jù)之一或其組合進(jìn)行簽名得到身份認(rèn)證數(shù)據(jù);
[0179]其中,KEY自身生成的單次認(rèn)證數(shù)據(jù)例如為隨機(jī)數(shù),從而可以避免重放攻擊。用戶ID為用戶在服務(wù)器上為用戶使用的KEY注冊的唯一標(biāo)識。用戶ID的獲取方式包括以下方式至少之一:在注冊時,KEY保存用戶的ID ;由用戶在終端上輸入用戶ID,終端將該用戶ID發(fā)送至KEY ;終端接收到服務(wù)器發(fā)送的用戶ID,并轉(zhuǎn)發(fā)至KEY ;用戶在KEY上輸入用戶ID。
[0180]S606:KEY將身份認(rèn)證數(shù)據(jù)以及用戶ID發(fā)送至終端;
[0181]其中,KEY還需發(fā)送其數(shù)字證書至終端,如果在步驟S604中對終端自身生成的隨機(jī)數(shù)簽名,則KEY還需將終端自身生成的隨機(jī)數(shù)發(fā)送至終端。
[0182]S607:終端向服務(wù)器發(fā)送釋放簽到請求,釋放簽到請求中攜帶身份認(rèn)證數(shù)據(jù);
[0183]其中,終端還需發(fā)送KEY的數(shù)字證書至服務(wù)器,如果在步驟S604中對終端自身生成的隨機(jī)數(shù)簽名,則釋放簽到請求中還需攜帶終端自身生成的隨機(jī)數(shù),以便服務(wù)器進(jìn)行身份認(rèn)證。
[0184]S608:服務(wù)器對接收到的終端發(fā)送的身份認(rèn)證數(shù)據(jù)進(jìn)行認(rèn)證;
[0185]其中,服務(wù)器對身份認(rèn)證數(shù)據(jù)進(jìn)行認(rèn)證,具體包括:校驗(yàn)終端發(fā)送的證書以及校驗(yàn)簽名后的身份認(rèn)證數(shù)據(jù),此為現(xiàn)有技術(shù),這里不再贅述。
[0186]S609:服務(wù)器在身份認(rèn)證通過后,刪除該用戶ID與終端的通信標(biāo)識的關(guān)聯(lián)關(guān)系。
[0187]其中,如果終端具有安全芯片,則在步驟S603中服務(wù)器向終端返回待校驗(yàn)數(shù)據(jù),步驟S604?S606合為一步,均由終端執(zhí)行,無需發(fā)給KEY進(jìn)行簽名,終端的安全芯片可以對服務(wù)器發(fā)送的待校驗(yàn)數(shù)據(jù)加密得到身份認(rèn)證數(shù)據(jù)。步驟S608中,服務(wù)器對身份認(rèn)證數(shù)據(jù)進(jìn)行認(rèn)證,即利用對稱密鑰對身份認(rèn)證數(shù)據(jù)解密。
[0188]通過本實(shí)施例中提供的方法,用戶可以在不使用某個終端時,釋放與該終端的關(guān)聯(lián)關(guān)系,從而使得其它用戶可以使用該終端,提高了終端的利用率。并且,在釋放簽到時,月艮務(wù)器可以通過主被叫終端發(fā)送的身份認(rèn)證數(shù)據(jù)驗(yàn)證主被叫用戶的身份是否合法,以保證釋放簽到的發(fā)起者的身份是安全的,以防止被惡意釋放簽到的情況。
[0189]實(shí)施例5
[0190]在實(shí)施例2中的多方通話的呼叫方法中,涉及到發(fā)起終端在多方通話過程中,將當(dāng)前的共享傳輸密鑰跳變?yōu)樾碌墓蚕韨鬏斆荑€,通過服務(wù)器發(fā)送至多方通話的組員終端的過程。本實(shí)施例提供了多方通話過程中,發(fā)起終端進(jìn)行密鑰跳變的流程,如圖7所示,具體包括如下步驟:
[0191]S701:在多方通話過程中,發(fā)起終端與組員終端利用當(dāng)前的共享傳輸密鑰對通話數(shù)據(jù)進(jìn)行加密或解密;
[0192]S702:發(fā)起終端判斷是否達(dá)到跳變點(diǎn),如果未達(dá)到跳變點(diǎn),執(zhí)行S701,如果達(dá)到跳變點(diǎn),執(zhí)行S703 ;
[0193]S703:發(fā)起終端按照預(yù)設(shè)算法計(jì)算新的共享傳輸密鑰;
[0194]S704:發(fā)起終端將新的共享傳輸密鑰發(fā)送至服務(wù)器;服務(wù)器將新的共享傳輸密鑰轉(zhuǎn)發(fā)至各個組員終端;
[0195]服務(wù)器在建立多方通話群組時,已經(jīng)保存有多方通話群組的各個組員的用戶ID與終端的通信標(biāo)識的對應(yīng)關(guān)系,因此,服務(wù)器可以將新的共享傳輸密鑰轉(zhuǎn)發(fā)至各個組員終端。
[0196]S705:發(fā)起終端和各個組員終端利用新的共享傳輸密鑰作為當(dāng)前的共享傳輸密鑰對通話數(shù)據(jù)進(jìn)行加密或解密;
[0197]S706:判斷是否結(jié)束多方通話,如果結(jié)束多方通話,執(zhí)行S707,如果未結(jié)束多方通話,執(zhí)行S702 ;
[0198]S707:多方通話結(jié)束。
[0199]具體的,跳變點(diǎn)的跳變閾值可以設(shè)置為預(yù)設(shè)的時間間隔或者預(yù)設(shè)的數(shù)據(jù)量,每達(dá)到跳變閾值,進(jìn)行一次跳變。值得說明的是,在本實(shí)施例中,發(fā)起終端執(zhí)行的操作指的是發(fā)起終端通過與其連接的電子簽名設(shè)備執(zhí)行的操作。發(fā)起終端可以通過但不限于如下方式之一計(jì)算新的共享傳輸密鑰:
[0200]方式一:發(fā)起終端預(yù)先生成共享傳輸密鑰列表,判斷達(dá)到跳變點(diǎn)后,依次使用預(yù)先生成的共享傳輸密鑰列表中的共享傳輸密鑰;例如共享傳輸密鑰列表包括K0、K1……Κη,依次使用Κ0、Κ1、Κ2……直至通話結(jié)束。
[0201]方式二:發(fā)起終端預(yù)先生成共享傳輸密鑰列表以及跳變因子列表,判斷達(dá)到跳變點(diǎn)后,通過預(yù)設(shè)算法計(jì)算跳變因子,確定新的共享傳輸密鑰在共享傳輸密鑰列表的位置,選擇確定的新的共享傳輸密鑰;例如共享傳輸密鑰列表包括Κ0、Kl……Κη,跳變因子列表包括:R0、R1……Rn,通過預(yù)設(shè)算法對RO進(jìn)行計(jì)算,得到指向第4個位置的共享傳輸密鑰K3等方式,選取新的共享傳輸密鑰。
[0202]方式三:發(fā)起終端預(yù)先確定跳變因子列表,判斷達(dá)到跳變點(diǎn)后,通過預(yù)設(shè)算法依次對跳變因子R進(jìn)行計(jì)算得到新的共享傳輸密鑰;例如跳變因子列表包括:R0、Rl……Rn,通過預(yù)設(shè)算法對RO進(jìn)行計(jì)算得到新的共享傳輸密鑰,繼而通過預(yù)設(shè)的算法對Rl進(jìn)行計(jì)算得到新的共享傳輸密鑰……直至通話結(jié)束。
[0203]方式四:發(fā)起終端預(yù)先確定跳變因子列表,判斷達(dá)到跳變點(diǎn)后,通過預(yù)設(shè)算法對跳變因子R以及當(dāng)前共享傳輸密鑰進(jìn)行計(jì)算得到新的共享傳輸密鑰。例如跳變因子列表包括:R0、Rl……Rn,通過預(yù)設(shè)算法對RO和當(dāng)前共享傳輸密鑰進(jìn)行計(jì)算得到新的共享傳輸密鑰,繼而通過預(yù)設(shè)的算法對Rl和之前計(jì)算出的新的共享傳輸密鑰進(jìn)行計(jì)算得到新的共享傳輸密鑰……直至通話結(jié)束。
[0204]以上的跳變因子可以為隨機(jī)數(shù),保證跳變因子的隨機(jī)性。
[0205]本實(shí)施例通過發(fā)起終端對共享傳輸密鑰的更新,使得多方通話中的各個組員終端使用隨機(jī)變化的共享傳輸密鑰對多方通話數(shù)據(jù)進(jìn)行加密或解密,進(jìn)而防止惡意竊取該共享傳輸密鑰,保證多方通話的通話數(shù)據(jù)安全。
[0206]實(shí)施例6
[0207]如圖8所示,本實(shí)施例提供了一種多方通話的呼叫方法,該呼叫方法可以通過上述實(shí)施例中的組員終端An、發(fā)起終端B和服務(wù)器C實(shí)現(xiàn),電子簽名設(shè)備以KEY為例,其中,本實(shí)施例以發(fā)起終端和多個組員終端均已在服務(wù)器簽到,服務(wù)器將組員的用戶ID與組員終端的通信標(biāo)識進(jìn)行關(guān)聯(lián)并存儲,將發(fā)起者的用戶ID與發(fā)起終端的通信標(biāo)識進(jìn)行關(guān)聯(lián)并存儲。為了便于描述,本實(shí)施例以η為3為例,即發(fā)起者邀請3個組員加入多方通話,本實(shí)施例的多方通話的呼叫方法主要可以包括以下步驟(S801至S814)。
[0208]S801:多方通話的發(fā)起終端獲取邀請加入多方通話的3個組員的用戶ID。
[0209]具體的,發(fā)起終端可以通過如下方式之一獲取到多個邀請加入多方通話的組員的用戶ID:發(fā)起者通過發(fā)起終端的輸入裝置向發(fā)起終端輸入多個邀請加入多方通話的組員的用戶ID ;發(fā)起者通過語音方式向發(fā)起終端輸入邀請加入多方通話的多個組員的用戶ID等。本實(shí)施例以3個組員終端為例,對應(yīng)地,組員的用戶ID也為3個。
[0210]S802:發(fā)起終端向服務(wù)器發(fā)起建立多方通話請求,建立多方通話請求中攜帶有3個邀請加入多方通話的組員的用戶ID。
[0211]S803:服務(wù)器在接收到發(fā)起終端的建立多方通話請求后,根據(jù)預(yù)先存儲的用戶ID與通信標(biāo)識的對應(yīng)關(guān)系查找組員的用戶ID對應(yīng)的通信標(biāo)識,將建立多方通話請求發(fā)送至通信標(biāo)識對應(yīng)的組員終端。
[0212]其中,服務(wù)器在接收到發(fā)起終端發(fā)起的建立多方通話請求后,還包括向發(fā)起終端和組員終端發(fā)起驗(yàn)簽的步驟,具體包括如下步驟:
[0213]S8031:服務(wù)器向發(fā)起終端和/或3個邀請加入多方通話的組員終端發(fā)送驗(yàn)簽請求;
[0214]S8032:發(fā)起終端收到驗(yàn)簽請求后,從第二電子簽名設(shè)備獲取簽名數(shù)據(jù),簽名數(shù)據(jù)為第二電子簽名設(shè)備對待簽名數(shù)據(jù)進(jìn)行簽名獲得的數(shù)據(jù);將簽名數(shù)據(jù)發(fā)送至服務(wù)器;
[0215]S8033:組員終端收到驗(yàn)簽請求后,從第一電子簽名設(shè)備獲取簽名數(shù)據(jù),簽名數(shù)據(jù)為第一電子簽名設(shè)備對待簽名數(shù)據(jù)進(jìn)行簽名獲得的數(shù)據(jù);將簽名數(shù)據(jù)發(fā)送至服務(wù)器;
[0216]S8034:服務(wù)器在接收到發(fā)起終端和/或組員終端返回的簽名數(shù)據(jù)后進(jìn)行驗(yàn)簽;并在驗(yàn)簽通過后,執(zhí)行S803中根據(jù)預(yù)先存儲的用戶ID與通信標(biāo)識的對應(yīng)關(guān)系查找組員的用戶ID對應(yīng)的通信標(biāo)識,將建立多方通話請求發(fā)送至通信標(biāo)識對應(yīng)的組員終端的步驟。
[0217]其中,步驟S S8031?步驟S S8034為可選步驟。
[0218]S804:組員終端仏接收到建立多方通話請求后,確認(rèn)加入多方通話,向服務(wù)器返回加入響應(yīng),該加入響應(yīng)中至少攜帶有該組員A1的用戶ID。
[0219]在本實(shí)施例中,可選地,組員A1的用戶ID是組員終端A1從其KEYl處獲取的。其中,為了使發(fā)起終端可以對組員終端進(jìn)行身份認(rèn)證,該加入響應(yīng)中還可以攜帶組員終端A1從其KEYl獲取的待認(rèn)證數(shù)據(jù)以及單次認(rèn)證數(shù)據(jù),例如,隨機(jī)數(shù),以防止重放攻擊。
[0220]S805:服務(wù)器將加入響應(yīng)發(fā)送至發(fā)起終端,該加入響應(yīng)中至少攜帶有該組員A1的用戶ID。
[0221]S806:發(fā)起終端收到該加入響應(yīng)后,利用其KEY生成共享傳輸密鑰,并通過KEY利用組員終端仏的公鑰對該共享傳輸密鑰加密得到共享傳輸密鑰密文并發(fā)送至服務(wù)器。
[0222]可選地,共享傳輸密鑰的獲取安全性,發(fā)起終端在生成共享傳輸密鑰之前,還可以根據(jù)加入響應(yīng)中攜帶的待認(rèn)證數(shù)據(jù)以及單次認(rèn)證數(shù)據(jù)對組員終端進(jìn)行身份認(rèn)證,在認(rèn)證通過后,生成共享傳輸密鑰,該認(rèn)證過程包括多種可實(shí)現(xiàn)方式,例如,發(fā)起終端在步驟S802中向服務(wù)器發(fā)送建立多方通話請求之前,生成單次認(rèn)證數(shù)據(jù)(如隨機(jī)數(shù)Rl),在多方通話請求中將改隨機(jī)數(shù)Rl發(fā)送至多個邀請加入多方通話的組員終端,組員終端仏利用其電子簽名設(shè)備I對隨機(jī)數(shù)Rl簽名生成簽名SI (待認(rèn)證數(shù)據(jù)),并生成隨機(jī)數(shù)R2,組員終端A1在發(fā)送的加入響應(yīng)中攜帶簽名S1、電子簽名設(shè)備I的證書、用戶ID和隨機(jī)數(shù)R2,發(fā)起終端在接收組員終端A1發(fā)送的加入響應(yīng)后,對電子簽名設(shè)備I的證書以及簽名SI進(jìn)行校驗(yàn),校驗(yàn)成功后,對該共享傳輸密鑰加密得到共享傳輸密鑰密文。
[0223]其中,發(fā)起終端在發(fā)送共享傳輸密鑰密文的同時,還可以向組員終端仏發(fā)送待認(rèn)證數(shù)據(jù)(如對隨機(jī)數(shù)R2進(jìn)行簽名得到的簽名數(shù)據(jù)S2和發(fā)起終端的電子簽名設(shè)備的證書)以便組員終端仏對發(fā)起終端的身份進(jìn)行認(rèn)證。
[0224]S807:服務(wù)器將共享傳輸密鑰密文發(fā)送至組員終端A-
[0225]其中,服務(wù)器還將發(fā)起終端發(fā)送給組員終端仏的待認(rèn)證數(shù)據(jù)發(fā)送至組員終端Ap
[0226]S808:組員終端A1接收到共享傳輸密鑰密文后,通過其KEYl用KEYl的私鑰解密獲得共享傳輸密鑰明文。
[0227]其中,組員終端A1解密共享傳輸密鑰密文之前,還可以根據(jù)服務(wù)器轉(zhuǎn)發(fā)的發(fā)起終端發(fā)送的待認(rèn)證數(shù)據(jù)對發(fā)起終端進(jìn)行身份認(rèn)證,在認(rèn)證通過后,解密共享傳輸密鑰密文,該認(rèn)證過程包括多種可實(shí)現(xiàn)方式,例如,組員終端A1發(fā)起終端的電子簽名設(shè)備的證書以及簽名數(shù)據(jù)S2進(jìn)行校驗(yàn)。
[0228]至此,組員終端A1完成加入多方通話。
[0229]同時,組員終端八2也同意加入多方通話,其加入多方通話流程與上述步驟S804?S808相同。并且不分先后順序,組員終端A1和組員終端A 2加入多方通話可以同時進(jìn)行。
[0230]S809:組員終端A3接收到建立多方通話請求后,拒絕加入多方通話,則向服務(wù)器返回拒絕響應(yīng),該拒絕響應(yīng)中至少攜帶有組員A3的用戶ID。
[0231]S810:服務(wù)器接收到組員終端^的拒絕響應(yīng)后,將組員終端A3退出多方通話,并將攜帶有組員A3的用戶ID的拒絕響應(yīng)發(fā)送至發(fā)起終端。
[0232]上述步驟S809?S810與上述步驟S804?S808同步。
[0233]S811:服務(wù)器建立多方通話群組,記錄發(fā)起者以及組員Al和A2的用戶ID,以及各個用戶ID與通信標(biāo)識的對應(yīng)關(guān)系;
[0234]S812:在多方通話過程中,多方通話中的各個終端(發(fā)起終端以及加入多方通話的各個組員終端)通過各自的KEY利用共享傳輸密鑰對通話數(shù)據(jù)加密生成通話密文,并發(fā)送至服務(wù)器。
[0235]S813:服務(wù)器將接收到的各個終端發(fā)送的通話密文廣播至多方通話中的每個終端。
[0236]S814:多方通話中的各個終端通過各自的KEY利用共享傳輸密鑰對通話密文解tM
I_L| O
[0237]通過本實(shí)施例的呼叫方法,可以在多方通話時,終端在簽到(將用戶的ID與終端通信標(biāo)識關(guān)聯(lián))后,多方通話的發(fā)起終端(本實(shí)施例的發(fā)起終端)可以通過呼叫用戶ID,將與KEY連接的多個終端加入多方通話,實(shí)現(xiàn)移動接聽,并且多方通話中的各個終端能夠?qū)鬏敂?shù)據(jù)進(jìn)行加密,確保多方通話的安全性。
[0238]通過本實(shí)施例的技術(shù)方案可以將用戶的ID與不同終端關(guān)聯(lián),從而使得用戶只需要攜帶與用戶ID唯一對應(yīng)的電子簽名設(shè)備,便可以通過同一用戶ID使用不同的終端撥打或接聽電話,相對于現(xiàn)有技術(shù)中用戶的電話號碼只能固定在一個終端上的缺陷,實(shí)現(xiàn)了電話號碼可以靈活關(guān)聯(lián)到任意一個終端,即實(shí)現(xiàn)了電話號碼的靈活移動。而且,不同的用戶也可以通過同一終端接聽電話,提高了設(shè)備的利用率。在多方通話過程中,終端可以利用其電子簽名設(shè)備進(jìn)行身份認(rèn)證以及協(xié)商傳輸密鑰,通過對發(fā)起者或組員進(jìn)行身份認(rèn)證,避免了通話某一方惡意模仿進(jìn)行詐騙的情況,提高了多方通話的安全性。在多方通話過程中,使用共享傳輸密鑰對通話數(shù)據(jù)進(jìn)行加解密,保證多方通話中通話數(shù)據(jù)的安全。
[0239]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
[0240]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0241]本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實(shí)施例的步驟之一或其組合。
[0242]此外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。
[0243]上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0244]在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料