兩個最新的數(shù)字簽名公鑰這種情況,且在告警消息中除了兩個數(shù) 字簽名外還攜帶有該兩個數(shù)字簽名生成時所使用的數(shù)字簽名公鑰對應(yīng)的兩個公鑰標(biāo)識,則 當(dāng)UE本地保存有這兩個公鑰標(biāo)識時,會采用對應(yīng)這兩個公鑰標(biāo)識的數(shù)字簽名公鑰分別對 兩個數(shù)字簽名進(jìn)行驗證。如果告警消息中還攜帶有小區(qū)廣播實體標(biāo)識,則當(dāng)UE本地保存有 對應(yīng)該小區(qū)廣播實體標(biāo)識及公鑰標(biāo)識的數(shù)字簽名公鑰,用這些數(shù)字簽名公鑰對該兩個數(shù)字 簽名分別進(jìn)行驗證。
[0181] 不管是用UE保存的一個數(shù)字簽名公鑰對告警消息中的一個或兩個數(shù)字簽名進(jìn)行 驗證,還是用UE保存的兩個數(shù)字簽名公鑰對告警消息中的一個或兩個數(shù)字簽名進(jìn)行驗證, 當(dāng)驗證不通過時,即所有的數(shù)字簽名在使用所有滿足條件的數(shù)字簽名公鑰進(jìn)行驗證時都不 成功時,可通過接入層消息或非接入層消息向所述核心網(wǎng)節(jié)點請求最新的一個或兩個數(shù)字 簽名公鑰。
[0182] 本發(fā)明實施例提供的實現(xiàn)數(shù)字簽名的方法中,核心網(wǎng)節(jié)點通過非接入層消息或接 入層消息向用戶設(shè)備下發(fā)最新的數(shù)字簽名公鑰,同時,用戶設(shè)備保存該最新的數(shù)字簽名公 鑰,且用戶設(shè)備通過數(shù)字簽名算法及在本地保存的數(shù)字簽名公鑰,可實現(xiàn)對接收到的告警 消息中的數(shù)字簽名進(jìn)行驗證,另外,數(shù)字簽名算法可預(yù)先配置在用戶設(shè)備中或者用戶設(shè)備 根據(jù)數(shù)字簽名算法標(biāo)識進(jìn)行選擇得到,本發(fā)明實施例詳細(xì)定義了數(shù)字簽名算法的選擇方法 及數(shù)字簽名公鑰的下發(fā)、更新方法,彌補了 3GPP標(biāo)準(zhǔn)中未詳細(xì)定義數(shù)字簽名實現(xiàn)方法的缺 陷。
[0183] 實施例5
[0184] 本實施例提供的應(yīng)用于公共報警系統(tǒng)中的實現(xiàn)數(shù)字簽名的方法是對實施例4的 數(shù)字簽名實現(xiàn)方法的改進(jìn),與實施例4不同的是:告警消息中包含公鑰標(biāo)識;當(dāng)UE接收到 告警消息后,先判斷本地保存的數(shù)字簽名公鑰所對應(yīng)的公鑰標(biāo)識是否與告警消息內(nèi)的公鑰 標(biāo)識相同,如果不同,則按圖8所示的方法向核心網(wǎng)節(jié)點請求最新的數(shù)字簽名公鑰及對應(yīng) 的公鑰標(biāo)識,并保存該最新的數(shù)字簽名公鑰及對應(yīng)的公鑰標(biāo)識;然后UE再根據(jù)數(shù)字簽名算 法及本地保存的數(shù)字簽名公鑰對告警消息中的數(shù)字簽名進(jìn)行驗證。
[0185] 上述數(shù)字簽名實現(xiàn)方法中對數(shù)字簽名進(jìn)行驗證的方法還可包括:當(dāng)驗證不通過 時,UE向核心網(wǎng)節(jié)點請求最新的數(shù)字簽名公鑰,并采用最新的數(shù)字簽名公鑰與數(shù)字簽名算 法標(biāo)識所對應(yīng)的數(shù)字簽名算法對告警消息中的數(shù)字簽名再次進(jìn)行驗證。
[0186] 告警消息中公鑰標(biāo)識的設(shè)置方法與實施例4中數(shù)字簽名算法標(biāo)識的設(shè)置方法相 同,可設(shè)置于警報消息內(nèi)或設(shè)置于安全參數(shù)內(nèi)。以LTE為例,當(dāng)設(shè)置于警報消息內(nèi)時,可修 改WRITE-REPLACE Request/Indication消息中的SIB10以及eNB發(fā)給UE的廣播消息中的 SIB10 ;當(dāng)設(shè)置于安全參數(shù)內(nèi)時,可與數(shù)字簽名算法標(biāo)識占用同一個8位字節(jié),將圖6中作為 保留位的8位字節(jié)8的高4位用來存儲公鑰標(biāo)識。
[0187] 需要說明的是,公鑰標(biāo)識的設(shè)置方法并不限于上述兩種設(shè)置方式,而且可以定義 其它長度和形式,只要能夠?qū)?shù)字簽名的公鑰進(jìn)行區(qū)分即可。
[0188] 為了簡化處理,公鑰標(biāo)識可以定義為遞增的,如果UE收到一個比自己保存的公鑰 標(biāo)識還要小的公鑰標(biāo)識,則認(rèn)為收到的告警消息已被攻擊者篡改。當(dāng)公鑰標(biāo)識的值到最大 值時,再重新從最小值開始,如果UE收到公鑰標(biāo)識是最小值并且與目前自己保留的公鑰標(biāo) 識不同,則UE向核心網(wǎng)節(jié)點請求新的公鑰。
[0189] 本發(fā)明實施例提供的數(shù)字簽名的實現(xiàn)方法,詳細(xì)描述了在告警消息中設(shè)置公鑰標(biāo) 識時,UE是如何對接收到的告警消息進(jìn)行驗證的,彌補了3GPP標(biāo)準(zhǔn)中未詳細(xì)定義數(shù)字簽名 實現(xiàn)方法的缺陷。本發(fā)明主要用于公共報警系統(tǒng)。
[0190] 通過實施例4中圖11所示的數(shù)字簽名公鑰獲取保存方法使UE上的數(shù)字簽名公鑰 能與CBE對應(yīng)起來,在這種情況下,CBE發(fā)出的告警消息中包含該CBE對應(yīng)的小區(qū)廣播實體 標(biāo)識,該標(biāo)識可以根據(jù)實際需要設(shè)置在告警消息的明文中,或者設(shè)置在告警消息攜帶的安 全參數(shù)內(nèi)。
[0191] 當(dāng)UE收到帶有小區(qū)廣播實體標(biāo)識的告警消息后,會查找出對應(yīng)告警消息中小區(qū) 廣播實體標(biāo)識的數(shù)字簽名公鑰,以對該告警消息的數(shù)字簽名進(jìn)行驗證。如果UE保存的數(shù)字 簽名公鑰所對應(yīng)的小區(qū)廣播實體標(biāo)識與告警消息中的小區(qū)廣播實體標(biāo)識不相同,即UE上 沒有保存告警消息中小區(qū)廣播實體標(biāo)識對應(yīng)的數(shù)字簽名公鑰,則需要向核心網(wǎng)節(jié)點請求獲 得對應(yīng)的數(shù)字簽名公鑰。具體的請求方法可類似于圖11所示的數(shù)字簽名公鑰獲取保存方 法,在請求消息中攜帶小區(qū)廣播實體標(biāo)識。
[0192] 在核心網(wǎng)節(jié)點下發(fā)了對應(yīng)告警消息中小區(qū)廣播實體標(biāo)識的最新的數(shù)字簽名公鑰 后,UE采用該最新的數(shù)字簽名公鑰對告警消息中的數(shù)字簽名進(jìn)行驗證。
[0193] 當(dāng)然,在第一次驗證沒有通過時,UE還可以再次請求核心網(wǎng)節(jié)點下發(fā)最新的數(shù)字 簽名公鑰。
[0194] 告警消息還可以為:包含小區(qū)廣播實體標(biāo)識及公鑰標(biāo)識,該公鑰標(biāo)識用于區(qū)分某 一CBE簽名告警消息時所使用的各個數(shù)字簽名公鑰,因此,用小區(qū)廣播實體標(biāo)識及公鑰標(biāo) 識可以唯一確定一個數(shù)字簽名公鑰。
[0195] 當(dāng)UE收到帶有小區(qū)廣播實體標(biāo)識及公鑰標(biāo)識的告警消息后,會先判斷本地是否 保存有告警消息中的小區(qū)廣播實體標(biāo)識,如果沒有則直接向核心網(wǎng)節(jié)點請求獲得該小區(qū)廣 播實體標(biāo)識對應(yīng)的最新的數(shù)字簽名公鑰及公鑰標(biāo)識,如果本地保存有告警消息中的小區(qū)廣 播實體標(biāo)識,則進(jìn)一步判斷本地保存的對應(yīng)該小區(qū)廣播實體標(biāo)識的公鑰標(biāo)識與告警消息中 的是否相同,如果相同則進(jìn)行驗證步驟,如果不相同,則向核心網(wǎng)節(jié)點請求獲得該小區(qū)廣播 實體標(biāo)識對應(yīng)的最新的數(shù)字簽名公鑰及公鑰標(biāo)識。
[0196] 然后,UE根據(jù)該最新的數(shù)字簽名公鑰對告警消息中的數(shù)字簽名進(jìn)行驗證。
[0197] 當(dāng)然,在第一次驗證沒有通過時,UE還可以再次請求核心網(wǎng)節(jié)點下發(fā)最新的數(shù)字 簽名公鑰。
[0198] 上述描述中的核心網(wǎng)節(jié)點可以是LTE中的MME、UMTS中的SGSN或者GSM中的MSC。 第一次驗證不通過,UE再次向核心網(wǎng)節(jié)點請求下發(fā)最新的數(shù)字簽名公鑰的請求消息為接入 層消息時,該消息由UE發(fā)給接入網(wǎng)節(jié)點;請求消息為非接入層消息時,該消息由UE發(fā)給核 心網(wǎng)節(jié)點。且核心網(wǎng)節(jié)點也可通過非接入層消息直接將最新的數(shù)字簽名公鑰下發(fā)至UE,也 可以通過接入層消息借助接入網(wǎng)節(jié)點的轉(zhuǎn)發(fā)間接地將最新的數(shù)字簽名公鑰下發(fā)至UE。請求 最新的數(shù)字簽名公鑰及下發(fā)最新的數(shù)字簽名公鑰的方法與實施例4中圖8至圖11描述的 方法相同。
[0199] 實施例6
[0200] 本實施例提供一種應(yīng)用于公共報警系統(tǒng)中的用戶設(shè)備,如圖12所示,該設(shè)備包 括:接收模塊1201,用于接收并保存核心網(wǎng)節(jié)點通過非接入層消息或接入層消息下發(fā)的數(shù) 字簽名公鑰,或者,接收并保存接入網(wǎng)節(jié)點通過第二接入層消息下發(fā)的數(shù)字簽名公鑰;驗證 模塊1202,用于根據(jù)數(shù)字簽名算法及所述接收模塊接收的數(shù)字簽名公鑰對接收到的告警消 息中的數(shù)字簽名進(jìn)行驗證。
[0201] 其中,用于下發(fā)給所述接收模塊所述數(shù)字簽名公鑰的接入層消息可為接入層安全 模式命令消息;用于下發(fā)給所述接收模塊所述數(shù)字簽名公鑰的非接入層消息可為以下任意 消息之一:非接入層安全模式命令消息;附著接受消息;位置區(qū)更新接受消息;路由區(qū)更新 接受消息。
[0202] 用于下發(fā)給所述接收模塊所述數(shù)字簽名公鑰的第二接入層消息為以下任意消息 之一:接入層安全模式命令消息;無線承載消息;尋呼消息;無線資源控制消息;無線接入 網(wǎng)絡(luò)應(yīng)用消息。
[0203] 另外,數(shù)字簽名算法可預(yù)先配置在所述用戶設(shè)備中或者由所述用戶設(shè)備根據(jù)數(shù)字 簽名算法標(biāo)識進(jìn)行選擇得到,其中,所述數(shù)字簽名算法標(biāo)識設(shè)置于所述告警消息中的警報 消息內(nèi)或所述告警消息中的安全參數(shù)內(nèi)。
[0204] 上述設(shè)備還可包括:請求模塊1203,用于向核心網(wǎng)節(jié)點發(fā)送請求消息。
[0205] 其中,所述請求消息中可包含所述用戶設(shè)備當(dāng)前所處網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識,所述接收 模塊1201還可用于:接收核心網(wǎng)節(jié)點在確定所述請求模塊的請求消息中的網(wǎng)絡(luò)標(biāo)識與所 述核心網(wǎng)節(jié)點當(dāng)前所處網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識不相同的情況下,通過非接入層消息或接入層消息 下發(fā)的數(shù)字簽名公鑰及其對應(yīng)的公鑰標(biāo)識;所述設(shè)備還可包括關(guān)聯(lián)保存模塊1204,可用于 將所述通過非接入層消息或接入層消息下發(fā)的數(shù)字簽名公鑰及其對應(yīng)的公鑰標(biāo)識與所述 用戶設(shè)備當(dāng)前所處網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識進(jìn)行關(guān)聯(lián)保存;其中,所述用戶設(shè)備當(dāng)前所處網(wǎng)絡(luò)的網(wǎng) 絡(luò)標(biāo)識由所述核心網(wǎng)節(jié)點通過非接入層消息或接入層消息下發(fā)至所述用戶設(shè)備或者由所 述用戶設(shè)備從系統(tǒng)信息中獲取。
[0206]另外,所述請求模塊1203的請求消息中還可包含所述接收模塊接收的所述數(shù)字 簽名公鑰對應(yīng)的公鑰標(biāo)識;所述接收模塊1201還可用于:接收核心網(wǎng)節(jié)點在確定所述請求 模塊的請求消息中的網(wǎng)絡(luò)標(biāo)識與所述核心網(wǎng)節(jié)點當(dāng)前所處網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識相同且所述請 求消息中的公鑰標(biāo)識與所述核心網(wǎng)節(jié)點中保存的公鑰標(biāo)識不相同的情況下,通過非接入層 消息或接入層消息下發(fā)數(shù)字簽名公鑰及其對應(yīng)的公鑰標(biāo)識。
[0207] 所述非接入層消息或接入層消息還可包括所述請求消息中的公鑰標(biāo)識;所述接收 模塊1201還可用于:在保存核心網(wǎng)節(jié)點通過非接入層消息或接入層消息下發(fā)的數(shù)字簽名 公鑰及其對應(yīng)的公鑰標(biāo)識之前,確定所述請求模塊的請求消息中的公鑰標(biāo)識與所述非接入 層消息或接入層消息包括的請求消息中的公鑰標(biāo)識相同。
[0208] 另外,所述請求模塊1203的請求消息中可包含所述用戶設(shè)備保存的小區(qū)廣播實 體標(biāo)識;所述接收模塊還用于接收核心網(wǎng)節(jié)點通過非接入層消息或接入層消息下發(fā)的所述 小區(qū)廣播實體標(biāo)識及其對應(yīng)的數(shù)字簽名公鑰;關(guān)聯(lián)保存模塊1204,可用于將所述通過非接 入層消息或接入層消息下發(fā)所述小區(qū)廣播實體標(biāo)識與對應(yīng)其的所述數(shù)字簽名公鑰進(jìn)行關(guān) 聯(lián)保存。
[0209] 請求消息中還可包含對應(yīng)于所述小區(qū)廣播實體標(biāo)識的公鑰標(biāo)識;所述接收模塊 1201還用于接收核心網(wǎng)節(jié)點在確定所述請求消息中的公鑰標(biāo)識與所述核心網(wǎng)節(jié)點保存的 對應(yīng)于所述小區(qū)廣播實體標(biāo)識的公鑰標(biāo)識不相同的情況下,通過非接入層消息或接入層消 息下發(fā)所述小區(qū)廣播實體標(biāo)識及其對應(yīng)的公鑰標(biāo)識及數(shù)字簽名公鑰;所述關(guān)聯(lián)保存模塊 1204還用于將所述通過非接入層消息或接入層消息下發(fā)所述小區(qū)廣播實體標(biāo)識與對應(yīng)其 的所述公鑰標(biāo)識及所述數(shù)字簽名公鑰進(jìn)行關(guān)聯(lián)保存。
[0210] 請求消息中可包含所述用戶設(shè)備當(dāng)前所處網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識及所述接收模塊接收 到的所述數(shù)字簽名公鑰對應(yīng)的公鑰標(biāo)識;所述接收模塊1201還用于接收核心網(wǎng)節(jié)點在確 定所述請求消息中的網(wǎng)絡(luò)標(biāo)識與所述核心網(wǎng)節(jié)點當(dāng)前所處網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識相同且所述請 求消息中的公鑰標(biāo)識與所述核心網(wǎng)節(jié)點中保存的對應(yīng)于所述小區(qū)廣播實體標(biāo)識的公鑰標(biāo) 識不相同的情況下,通過非接入層消息或接入層消息下發(fā)對應(yīng)于所述小區(qū)廣播實體標(biāo)識的 數(shù)字簽名公鑰、公鑰標(biāo)識及所述小區(qū)廣播實體標(biāo)識;所述接收模塊1201還用于接收核心網(wǎng) 節(jié)點在確定所述請求消息中的網(wǎng)絡(luò)標(biāo)識與所述核心網(wǎng)節(jié)點當(dāng)前所處網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識不相 同的情況下,通過非接入層消息或接入層消息下發(fā)對應(yīng)于所述小區(qū)廣播實體標(biāo)識的數(shù)字簽 名公鑰、公鑰標(biāo)識及所述小區(qū)廣播實體標(biāo)識;關(guān)聯(lián)保存模塊1204,可將所述通過非接入層 消息或接入層消息下發(fā)的小區(qū)廣播實體標(biāo)識、數(shù)字簽名公鑰及公鑰標(biāo)識與所述用戶設(shè)備當(dāng) 前所處網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識進(jìn)行關(guān)聯(lián)保存,其中,所述用戶設(shè)備當(dāng)前所處網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識由所 述核心網(wǎng)節(jié)點通過非接入層消息或接入層消息下發(fā)至所述用戶設(shè)備或者由所述用戶設(shè)備 從系統(tǒng)信息中獲取。
[0211] 上述通過非接入層消息或接入層消息下發(fā)的數(shù)字簽名公鑰可包括兩個最新的數(shù) 字簽名公鑰。
[0212] 告警消息中可包括兩個數(shù)字簽名,所述兩個數(shù)字簽名由小區(qū)廣播中心采用與所述 小區(qū)廣播中心本地保存的兩個最新的數(shù)字簽名公鑰對應(yīng)的數(shù)字簽名私鑰分別對所述告警 消息進(jìn)行簽名獲得;所述驗證模塊1202還可用于:根據(jù)數(shù)字簽名算法及本地保存的數(shù)字簽 名公鑰對所述告警消息中的所述兩個數(shù)字簽名分別進(jìn)行驗證。
[0213] 用戶設(shè)備保存的所述數(shù)字簽名公鑰可包括兩個最新的數(shù)字簽名公鑰,則所述驗證 模塊1202還用于:根據(jù)數(shù)字簽名算法及所述兩個最新的數(shù)字簽名公鑰對所述告警消息中 的所述兩個數(shù)字簽名分別進(jìn)行驗證。
[0214] 驗證模塊1202還可用于:在所述根據(jù)數(shù)字簽名算法及所述接收模塊接收到的所 述數(shù)字簽名公鑰對所述告警消息中的數(shù)字簽名進(jìn)行驗證之后,若所述驗證不通過,則向所 述核心網(wǎng)節(jié)點請求最新的數(shù)字簽名公鑰,并采用所述最新的數(shù)字簽名公鑰與所述數(shù)字簽名 算法對所述告警消息中的數(shù)字簽名再進(jìn)行驗證。
[0215] 所述驗證模塊1202還用于:在所述根據(jù)數(shù)字簽名算法及所述接收模塊接收到的 所述數(shù)字簽名公鑰對所述告警消息中的數(shù)字簽名進(jìn)行驗證之后,若所述驗證不通過,則通 過非接入層消息或接入層消息向所述核心網(wǎng)節(jié)點請求最新的數(shù)字簽名公鑰,并采用所述最 新的數(shù)字簽名公鑰與所述數(shù)字簽