保護密鑰加密生成的會話密鑰得到,另一部分利用第二保護密鑰加密生成的會話密鑰得到),也可以包含了利用第一保護密鑰加密后的會話密鑰和利用第二保護密鑰加密后的會話密鑰,這里不做限定。
[0181]具體地,當KMC通過會話密鑰響應消息將利用第一保護密鑰加密后的會話密鑰和利用第二保護密鑰加密后的會話密鑰發送給EAS時,說明KMC發送給EAS的是兩個不同數據包,一個數據包是利用第一保護密鑰加密后的會話密鑰,另一個數據包是利用第二保護密鑰加密后的會話密鑰。
[0182]可選地,KMC在得到利用第一保護密鑰加密后的會話密鑰和利用第二保護密鑰加密后的會話密鑰時,建立第一保護密鑰對應的第一終端設備標識與利用第一保護密鑰加密后的會話密鑰的對應關系,以及建立第二保護密鑰對應的第二終端設備標識與利用第二保護密鑰加密后的會話密鑰的對應關系,并在發送利用第一保護密鑰加密后的會話密鑰和利用第二保護密鑰加密后的會話密鑰給EAS的同時,將建立的對應關系也發送給EAS,這樣使得EAS將加密后的會話密鑰轉發給第一終端設備之后,利用該對應關系,快速確定與自身的標識信息對應的加密后的會話密鑰,這樣加快了系統業務處理的速度,提高系統作業的效率。
[0183]因此,當第一終端設備接收到的加密后的會話密鑰屬于一個數據包時,第一終端設備利用登錄所述KMC時產生的第一保護密鑰對所述加密后的會話密鑰進行解密,得到所述KMC為所述第一終端設備與所述第二終端設備之間進行保密通信業務產生的會話密鑰。
[0184]當第一終端設備接收到的加密后的會話密鑰包含了兩個數據包時,即接收到的加密后的會話密鑰包含了利用第一保護密鑰加密后的會話密鑰和利用第二保護密鑰加密后的會話密鑰,此時,第一終端設備只能通過第一保護密鑰對利用第一保護密鑰加密后的會話密鑰進行解密,得到所述KMC為所述第一終端設備與所述第二終端設備之間進行保密通信業務產生的會話密鑰,為后續與第二終端設備進行保密通信做準備。
[0185]可選地,當第一終端設備接收到的加密后的會話密鑰包含了利用第一保護密鑰加密后的會話密鑰和利用第二保護密鑰加密后的會話密鑰時,還可以根據KMC建立的終端設備的標識信息與加密后的會話密鑰之間的對應關系,確定第一終端設備標識對應的利用第一保護密鑰加密后的會話密鑰,并利用第一保護密鑰對利用第一保護密鑰加密后的會話密鑰進行解密,得到所述KMC為所述第一終端設備與所述第二終端設備之間進行保密通信業務產生的會話密鑰。
[0186]步驟204:所述第一終端設備在接收所述EAS發送的加密后的會話密鑰時,將所述加密后的會話密鑰發送給所述第二終端設備。
[0187]在步驟204中,所述第一終端設備將所述加密后的會話密鑰發送給所述第二終端設備的方式包括但不限于:
[0188]第一種方式:
[0189]所述第一終端設備通過MS網絡信令將所述加密后的會話密鑰發送給所述第二終端設備。
[0190]具體地,不管在第一終端設備與第二終端設備之間的媒體面數據傳輸通道是否建立完成,第一終端在接收到EAS發送的會話密鑰時,利用MS網絡信令將所述加密后的會話密鑰發送給所述第二終端設備。
[0191]需要說明的是,IMS網絡信令包含但不限于SIP信令、呼叫處理消息等。
[0192]所述第一終端設備通過SIP信令將所述加密后的會話密鑰發送給所述第二終端設備。
[0193]例如:SIP信令包含但不限于:MESSAGE消息、OPT1NS、INFO等。
[0194]所述第一終端設備通過臨時響應確認消息PRACK將所述加密后的會話密鑰發送給所述第二終端設備。
[0195]具體地,為了節省系統信令開銷,可以采用信令捎帶傳輸的方式,即所述第一終端設備在接收到EAS通過第二終端設備發送的呼叫建立響應消息傳輸的加密后的會話密鑰時,在對呼叫建立響應消息進行正確處理后,向第二終端設備返回臨時確認消息PRACK時,將所述加密后的會話密鑰攜帶在臨時確認消息PRACK中發送給所述第二終端設備。
[0196]第二種方式:
[0197]所述第一終端設備通過建立的與第二終端設備的媒體面數據傳輸通道將所述加密后的會話密鑰發送給所述第二終端設備。
[0198]具體地,所述第一終端設備在接收到EAS發送的會話密鑰時,并確定與第二終端設備之間的媒體面傳輸通道建立完成后,利用建立的媒體面傳輸通道將所述加密后的會話密鑰發送給所述第二終端設備。
[0199]具體地,當第一終端設備接收到的加密后的會話密鑰屬于一個數據包時,第一終端設備將包含一個數據包的加密后的會話密鑰發送給第二終端設備;當第一終端設備接收到的加密后的會話密鑰屬于兩個數據包時,即一個數據包是利用第一保護密鑰進行加密的會話密鑰,另一個數據包是利用第二保護密鑰進行加密的會話密鑰時,第一終端設備可以將包含了兩個數據包的加密后的會話密鑰同時發送給第二終端設備;第一終端設備EAS可以分別確定不同數據包對應的終端設備,將包含了利用第二保護密鑰進行加密的會話密鑰的數據包發送給第二終端設備,這里不做具體限定。
[0200]需要說明的是,本發明實施例二中步驟203和步驟204沒有執行先后順序的區分,可以按照本發明實施例所述的順序實施,還可以先執行步驟204,再執行步驟203,也可以是步驟203和步驟204同時實施。
[0201]實施例三:
[0202]如圖5所示,本發明實施例三提供的一種保密通信業務的處理方法的流程示意圖。本發明實施例三是與本發明實施例一?實施例二屬于同一發明構思下的發明,本發明實施例三是站在密鑰管理中心側對本發明實施例一中各個步驟的詳細描述。所述方法可以如下所述。
[0203]步驟301:密鑰管理中心KMC接收加密應用服務器EAS發送的會話密鑰請求消息。
[0204]其中,所述會話密鑰請求消息用于表征請求所述KMC為第一終端設備和第二終端設備之間需要建立的保密通信業務產生會話密鑰。
[0205]所述會話密鑰請求消息中包含了用于獲取會話密鑰的參數信息。
[0206]所述用于獲取會話密鑰的參數信息是所述EAS接收到的所述第一終端設備發送的用于表征所述第一終端設備與所述第二終端設備之間需要建立保密通信業務的保密通信業務建立請求消息中攜帶的。
[0207]步驟302 =KMC向所述EAS返回加密后的會話密鑰。
[0208]以便于所述EAS將加密后的所述會話密鑰發送給所述第一終端設備,使得所述第一終端設備能夠利用所述會話密鑰實現與所述第二終端設備之間的保密通信。
[0209]其中,所述加密后的所述會話密鑰是所述KMC根據所述用于獲取會話密鑰的參數信息對產生的會話密鑰進行加密處理后得到的。
[0210]所述用于獲取會話密鑰的參數信息中包含的所述第一終端設備的標識信息和第二終端設備的標識信息。
[0211]在步驟302中,所述KMC向所述EAS返回加密后的會話密鑰的方式包括但不限于:
[0212]首先,所述KMC生成用于為所述第一終端設備與所述第二終端設備之間執行保密通信業務需要的會話密鑰。
[0213]需要說明的是,KMC在接收到EAS發送的會話密鑰請求消息之后,生成的會話密鑰可以是隨機產生的,也可以是根據該會話密鑰請求消息中攜帶的用于獲取會話密鑰的參數信息確定的,例如:利用用于獲取會話密鑰的參數信息中的隨機數信息生成的會話密鑰等等,這里不做限定。
[0214]其次,為了保證會話密鑰在通信鏈路中傳輸的安全性,KMC對生成的會話密鑰進行加密處理。
[0215]由于KMC是用戶部署的,那么用戶所使用的終端設備在進行通信時,可以先注冊登錄KMC,并在登錄時,KMC為該終端設備生成一個保護密鑰,KMC在本地存儲終端設備的標識信息和該保護密鑰的對應關系,那么后續終端設備發起保密通信業務時,KMC就能夠利用該保護密鑰對生成的會話密鑰進行加密處理,既能夠保證會話密鑰在通信鏈路傳輸過程中的安全性,還能夠使得終端接收到加密后的會話密鑰時,準確解密,獲取真正的會話密鑰,提高了保密通信業務的效率,保障了通信的安全。
[0216]此時,所述KMC根據用于獲取會話密鑰的參數信息中包含的所述第一終端設備的標識信息,確定所述第一終端設備的標識信息對應的第一終端設備在登錄所述KMC時產生的第一保護密鑰,并利用所述第一保護密鑰對生成的所述會話密鑰進行加密運算,得到利用第一保護密鑰加密后的會話密鑰;以及根據用于獲取會話密鑰的參數信息中包含的所述第二終端設備的標識信息,確定所述第二終端設備的標識信息對應的第二終端設備在登錄所述KMC時產生的第二保護密鑰;并利用所述第二保護密鑰對生成的所述會話密鑰進行加密運算,得到利用第二保護密鑰加密后的會話密鑰。
[0217]最后,所述KMC將所述利用第一保護密鑰加密后的會話密鑰和所述利用第二保護密鑰加密后的會話密鑰作為加密后的會話密鑰,通過密鑰響應消息發送給所述EAS。
[0218]實施例四:
[0219]如圖6所示,本發明實施例四提供的一種保密通信業務的處理方法的流程示意圖。本發明實施例四是與本發明實施例一?本發明實施例三在同一發明構思下的發明,本發明實施例四以終端設備A和終端設備B需要執行保密通信業務為例對本發明所述的技術方案進行詳細描述。所述方法可以如下所述。
[0220]需要說明的是,終端設備A和終端設備B需要執行保密通信業務的時間可以是在終端設備A和終端設備B呼叫建立時,也可以是在終端設備A和終端設備B呼叫建立之后,這里不做限定。
[0221]步驟1:當用戶通過終端設備A向終端設備B發起保密通信呼叫時,向IMS網絡發起呼叫建立請求消息。
[0222]其中,所述呼叫建立請求消息可以是INVITE消息,用于告知MS核心網需要與終端設備B建立加密會話連接。
[0223]所述呼叫建立請求消息中包含了終端設備A的標識信息(或者電話號碼信息)和終端設備B的標識信息(或者電話號碼信息)。
[0224]此時,所述呼叫建立請求消息中還攜帶了會話密鑰請求消息。
[0225]在本發明的另一個實施例中,終端設備A發送的與終端設備B之間的呼叫建立請求消息,還可以只是用于告知MS核心網需要與終端設備B建立會話連接;同時,終端設備A通過MS信令(例如:MESSAGE消息)發送會話密鑰請求消息,所述會話密鑰請求消息用于告知MS網絡終端設備A與終端設備B之間需要建立加密會話連接。
[0226]步驟2 =EAS在接收到呼叫建立請求消息時,根據終端設備A的標識信息和終端設備B的標識信息,確定終端設備A和終端設備B所屬的用戶域,并向該用戶域內的一個密鑰管理中心發送會話密鑰請求消息。
[0227]步驟3 =KMC為終端設備A和終端設備B產生一個會話密鑰,并向EAS發送密鑰響應消息。
[0228]其中,所述密鑰響應消息中包含了加密后的會話密鑰。
[0229]為了保證會話密鑰在傳輸過程中不被泄露,KMC分別利用終端設備A和終端設備B登錄KMC時產生的保護密鑰對會話密鑰進行加密保護。
[0230]步驟4:EAS向KMC發送會話密鑰請求消息后,立即向終端設備B轉發呼叫建立請求消息。
[0231]這樣在會話密鑰請求的同時,并行進行呼叫接續,以提高處理效率。
[0232]在本發明的另一個實施例中,EAS向KMC發送會話密鑰請求消息后,等待KMC返回響應消息。
[0233]在接收到KMC發送的會話密鑰響應消息之后,再向終端設備B轉發呼叫建立請求消息,繼續呼叫接續。
[0234]步驟5 =EAS接收終端設備B返回的會話處理消息。
[0235]所述會話處理消息是終端設備B對接收到呼叫建立請求消息進行處理后返回的。
[0236]在本發明的另一個實施例中,若EAS在收到會話處理消息時,尚未接收到KMC發送的會話密鑰響應消息,此時EAS需要等待KMC的反饋。
[0237]步驟6 =EAS將接收到KMC反饋的密鑰響應消息中的加密的會話密鑰攜帶在會話處理消息中發送給終端設備A。
[0238]此時,在本發明的另一個實施例中,EAS將接收到KMC反饋的會話密鑰響應消息中的保密通信密鑰利用IMS信令發送給終端設備A和終端設備B。
[0239]步驟7:終端設備A在接收到加密后的會話密鑰后,利用登錄KMC時產生的第一保護密鑰進行解密,得到KMC為本次通話產生的會話密鑰。
[0240]在本發明的另一個實施例中,終端設備A通過以下幾種方式將接收到的加密后的會話密鑰發送給終端設備B:
[0241]第一種方式:
[0242]所述第一終端設備通過IMS網絡信令將所述加密后的會話密鑰發送給所述第二終端設備。
[0243]具體地,不管在第一終端設備與第二終端設備之間的媒體面數據傳輸通道是否建立完成,第一終端在接收到EAS發送的會話密鑰時,利用MS網絡信令將所述加密后的會話密鑰發送給所述第二終端設備。
[0244]或者,所述第一終端設備通過臨時響應確認消息PRACK183將所述加密后的會話密鑰發送給所述第二終端設備。
[0245]例如,為了節省系統信令開銷,可以采用信令捎帶傳輸的方式,即所述第一終端設備在接收到EAS通過第二終端設備發送的呼叫建立響應消息傳輸的加密后的會話密鑰時,在對呼叫建立響應消息進行正確處理后,向第二終端設備返回臨時確認消息PRACK時,將所述加密后的會話密鑰攜帶在臨時確認消息PRACK中發送給所述第二終端設備。
[0246]第二種方式:
[0247]所述第一終端設備通過建立的與所述第二終端設備之間的媒體面數據傳輸通道將所述加密后的會話密鑰發送給所述第二終端設備。
[0248]具體地,所述第一終端設備在接收到EAS發送的會話密鑰時,并確定與第二終端設備之間的媒體面傳輸通道建立完成后,利用建立的媒體面傳輸通道將所述加密后的會話密鑰發送給所述第二終端設備。
[0249]步驟8:終端設備B在接收到加密后的會話密鑰后,利用登錄KMC時產生的第二保護密鑰進行解密,得到KMC為本次通話產生的會話密鑰。
[0250]步驟9:終端設備A和終端設備B在呼叫鏈路建立完成時,利用得到的會話密鑰對通話數據進行加密,實現終端設備A和終端設備B之間的加密呼叫。
[0251]需要說明的是,本發明實施例四是對保密通信業務處理流程的粗略描述,涉及到的技術細節,可以采用本發明實施例一?實施三中描述所述的技術方案,這里不再詳細描述。
[0252]實施例五:
[0253]如圖7所示,為本發明實施例五提供的一種用于保密通信業務的加密應用服務器的結構示意圖。本發明實施例五是與本發明實施