專利名稱:生成組密鑰的方法和相關設備的制作方法
技術領域:
本發明涉及通信領域,并且更具體地,涉及通信領域中生成組密鑰的方法和相關設備。
背景技術:
機器對機器(Machine to Machine,M2M)技術是無線通信和信息技術的整合,是指機器和機器之間可以直接進行通信而無需人工干預。M2M應用種類豐富,包括自動儀表、遠程監控、工業安全與艦艇自動化、支付系統以及車輛遠程控制等。M2M存在三種方式,包括機器對機器、機器對移動電話和移動電話對機器。在M2M中,M2M設備可以通過遠距離連接技術和近距離連接技術接入網絡,涉及的遠距離連接技術包括全球移動通信系統(Global System for Mobile communications, GSM)、通用分組無線業務(General Packet Radio Service, GPRS)、通用移動通信系統(UniversalMobile Telecommunications System, UMTS)等無線接入類型技術。近距離連接技術包括 802.llb/g、藍牙(Blue Tooth)、紫蜂(Zigbee)、無線射頻識別技術(Radio FrequencyIdentification, RFID)和超寬帶(Ultra Wideband, UffB)技術等。當然,不排除還有其他技術可用于支撐M2M通信。M2M通信也可以被稱為機器類通信(Machine TypeCommunication, MTC),M2M設備也可以被稱為MTC設備。在現有技術中,基站對同一組MTC設備構建公共的物理層、無線鏈路控制(RadioLink Control, RLC)層、分組數據匯聚協議(Packet Data Convergence Protocol, PDCP)層和媒體接入控制(Media Access Control, MAC)層。當為同一組MTC設備建立公共承載之后,每個MTC設備都有各自單獨的密鑰,各MTC設備的密鑰互不相同,在基站和MTC設備之間交互的PDU單元需要攜帶MTC設備標識以根據該標識來尋找對應的密鑰。因此,在基站處,需要為同一組內的每個MTC設備維護它們各自的密鑰,這增加了基站操作的復雜性,使基站需要維護和管理的密鑰過多,影響基站性能。
發明內容
本發明提供了生成組密鑰的方法和相關設備,以提高基站性能。一方面,本發明提供了一種生成組密鑰的方法,包括:獲取機器類通信MTC設備所在組的組ID ;獲取所述組ID對應的組通信根密鑰;根據所述組通信根密鑰生成所述組ID對應的組密鑰;向所述MTC設備發送用所述MTC設備的接入層密鑰加密的所述組密鑰,以使所述MTC設備根據所述MTC設備的接入層密鑰解密得到所述組密鑰。另一方面,本發明提供了一種生成組密鑰的方法,包括:獲取機器類通信MTC設備所在組的組ID ;獲取所述組ID對應的組通信根密鑰;向基站發送所述組ID和所述組通信根密鑰,以使所述基站根據所述組通信根密鑰生成所述組ID對應的組密鑰并向所述MTC設備發送用所述MTC設備的接入層密鑰加密的所述組密鑰。再一方面,本發明提供了一種生成組密鑰的方法,包括:從基站接收所述基站用機器類通信MTC設備的接入層密鑰加密的組密鑰,其中所述組密鑰由所述基站根據所述基站獲取的組通信根密鑰生成、并與所述基站獲取的MTC設備所在組的組ID對應,或者所述組密鑰由所述基站根據從移動性管理實體MME獲取的組通信根密鑰生成、并與所述MME獲取的MTC設備所在組的組ID對應;根據所述MTC設備的接入層密鑰解密得到所述組密鑰。又一方面,本發明提供了一種基站,包括:第一獲取模塊,用于獲取機器類通信MTC設備所在組的組ID ;第二獲取模塊,用于獲取所述組ID對應的組通信根密鑰;生成模塊,用于根據所述組通信根密鑰生成所述組ID對應的組密鑰;第一發送模塊,用于向所述MTC設備發送用所述MTC設備的接入層密鑰加密的所述組密鑰,以使所述MTC設備根據所述MTC設備的接入層密鑰解密得到所述組密鑰。又一方面,本發明提供了一種移動性管理實體,包括:第一獲取模塊,用于獲取機器類通信MTC設備所在組的組ID ;第二獲取模塊,用于獲取所述組ID對應的組通信根密鑰;發送模塊,用于向基站發送所述組ID和所述組通信根密鑰,以使所述基站根據所述組通信根密鑰生成所述組ID對應的組密鑰并向所述MTC設備發送用所述MTC設備的接入層密鑰加密的所述組密鑰。又一方面,本發明提供了一種機器類通信設備,包括:第一接收模塊,用于從基站接收所述基站用機器類通信MTC設備的接入層密鑰加密的組密鑰,其中所述組密鑰由所述基站根據所述基站獲取的組通信根密鑰生成、并與所述基站獲取的MTC設備所在組的組ID對應,或者所述組密鑰由所述基站根據從移動性管理實體MME獲取的組通信根密鑰生成、并與所述MME獲取的MTC設備所在組的組ID對應;第一解密模塊,用于根據所述MTC設備的接入層密鑰解密得到所述組密鑰。根據上述技術方案,網絡側通過確定MTC設備所在組的組ID,從而確定與該組ID對應的組密鑰,通過借助于MTC設備的接入層密鑰可以將MTC設備使用的組密鑰安全地分配給MTC設備,并使得同一組ID內的MTC設備共用相同的組密鑰。這樣,同一組內的MTC設備可以利用相同的組密鑰來正常進行組通信,而在基站中也只需要為同一個組保持相同組密鑰,從而,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提高基站性能。
為了更清楚地說明本發明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是根據本發明實施例的生成組密鑰的方法的流程圖。圖2是利用根據本發明實施例提供的方法來生成組密鑰的第一例子的流程圖。圖3是在第一例子中生成組認證參數的例子的示意圖。圖4是在第一例子中MTC設備和MME (Mobility Management Entity,移動性管理實體)進行認證的流程圖。圖5是利用根據本發明實施例提供的方法來生成組密鑰的第二例子的流程圖。圖6是在第二例子中生成組認證參數的例子的示意圖。圖7是在第二例子中生成組認證參數的另一例子的示意圖。 圖8是在第二例子中MTC設備和MME進行認證的流程圖。
圖9是利用根據本發明實施例提供的方法來生成組密鑰的第三例子的流程圖。圖10是利用根據本發明實施例提供的方法來生成組密鑰的第四例子的流程圖。圖11是在第三例子和第四例子中當MTC設備從空閑狀態或去附著狀態重新加入組通信時的流程圖。圖12是利用根據本發明實施例提供的方法來生成組密鑰的第五例子的流程圖。圖13是利用根據本發明實施例提供的方法來生成組密鑰的第六例子的流程圖。圖14是根據本發明實施例的生成組密鑰的另一方法的流程圖。圖15是根據本發明實施例的生成組密鑰的再一方法的流程圖。圖16是根據本發明實施例的基站的結構框圖。圖17是根據本發明實施例的另一基站的結構框圖。圖18是根據本發明實施例的移動性管理實體的結構框圖。圖19是根據本發明實施例的另一移動性管理實體的結構框圖。圖20是根據本發明實施例的機器類通信設備的結構框圖。圖21是根據本發明實施例的另一機器類通信設備的結構框圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明的一部分實施例,而不是全部實施例。基于本發明中的所述實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都應屬于本發明保護的范圍。首先,結合圖1,描述根據本發明實施例的生成組密鑰的方法100。如圖1所示,方法100包括:在SllO中,獲取MTC設備所在組的組ID ;在S120中,獲取組ID對應的組通信根密鑰;在S130中,根據組通信根密鑰生成組ID對應的組密鑰;在S140中,向MTC設備發送用MTC設備的接入層密鑰加密的組密鑰,以使MTC設備根據MTC設備的接入層密鑰解密得到組密鑰。例如,方法100可以由基站執行。基站通過對MTC設備進行分組,進而可以確定MTC設備所在組的組ID對應的組密鑰,其中組密鑰與組ID是——對應的,每個組ID對應的組密鑰互不相同。基站確定了組密鑰之后,通過MTC設備的接入層密鑰,可以將組密鑰發送給MTC設備,從而完成組密鑰的分配,使得一個組ID內的MTC設備都可以通過自己的接入層密鑰而安全地得到所在組使用的組密鑰。因此,借助于基站對同一組的組密鑰的分配,同一組內的MTC設備可以利用相同的組密鑰來正常進行組通信,而在基站中也只需要為同一個組保持相同組密鑰,從而,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提高基站性能。在SllO中,基站可以通過多種方式獲取MTC設備所在組的組ID。例如,基站可以對MTC設備進行分組,從而將MTC設備劃分到組ID對應的組內。在進行分組時,基站可以根據MTC設備距離基站的距離進行分組,也可以根據MTC設備的信號強度進行分組,還可以根據MTC設備的制造上進行分組,還可以隨機分組,本發明對如何分組的具體方式不做任何限定。再例如,基站可以從其他網元獲取MTC設備所在組的組ID。其他網元可以是MME,也可以是HSS (Home Subscriber System,歸屬用戶系統),還可以是核心網的其他設備或者分組數據網的設備。該其他網元可以對MTC設備進行分組,從而基站可以從該其他網元處得到MTC設備所屬的組ID。又例如,基站可以從MTC設備接收組ID,從而確定MTC設備所屬分組。又例如,基站可以從MTC設備接收MTC設備所屬業務的業務ID,根據業務ID對MTC設備進行分組,從而確定MTC設備所屬組的組ID。根據業務ID進行分組從而確定組ID的方式可以與現有技術相同,例如根據支持相同業務的MTC設備所處的位置進行分組等,在此不再贅述。根據本發明的一個實施例,基站可以從MME接收組ID和組通信根密鑰,組通信根密鑰由MTC設備所屬的歸屬用戶系統HSS根據隨機數和與組ID對應的集合密鑰生成,或者組通信根密鑰由HSS在收到MME轉發的來自一個MTC設備的所述組ID時,根據隨機數、組ID和該一個MTC設備的專屬密鑰生成,并由HSS將組通信根密鑰發送給MME。根據本發明的另一實施例,基站可以從MME接收業務ID和與業務ID對應的業務根密鑰,業務ID為MTC設備發送給MME的、MTC設備所屬業務的業務ID,業務根密鑰由MTC設備所屬的HSS根據隨機數和與業務ID對應的集合密鑰生成,或者業務根密鑰由HSS在收到MME轉發的來自一個MTC設備的業務ID時,根據隨機數、業務ID和該一個MTC設備的專屬密鑰生成,并由HSS將業務根密鑰發送給所述MME,并且基站根據業務ID確定MTC設備所在組的組ID,根據業務根密鑰生成組ID對應的組通信根密鑰。這樣,基站可以在不同的實施例中通過多種方式靈活獲取組ID和組通信根密鑰。由于在生成組密鑰的過程中涉及的網元個數的增加和諸如集合密鑰之類的安全信息的增力口,可以進一步提高組密鑰生成的安全性,并避免基站生成的不同組的組密鑰發生重合。相應例子可以參考下文第一例子至第四例子的描述。在S120中,基站可以通過多種方式獲取組ID對應的組通信根密鑰。例如,基站可以從組ID內的MTC設備中選擇MTC設備,根據所選擇的MTC設備的密鑰確定組ID對應的組通信根密鑰。由于一個組ID至少對應一個MTC設備,所以基站可以從其中選擇一個MTC設備,將其密鑰作為組通信根密鑰,或者根據其密鑰生成組通信根密鑰。所選擇的MTC設備的密鑰可以是該MTC設備對應的KeNB。再例如,基站可以從MME接收組ID對應的組通信根密鑰,其中由MME將MTC設備劃分到組ID對應的組內,從組ID內的MTC設備中選擇MTC設備,根據所選擇的MTC設備的密鑰確定組ID對應的組通信根密鑰,或者由MME根據MME生成的隨機數確定組ID對應的組通信根密鑰。MME將生成的組通信根密鑰發送給基站,以使基站獲取組ID對應的組通信根密鑰。又例如,基站可以生成一個隨機數,根據該隨機數確定組ID對應的組通信根密鑰。基站可以直接將生成的隨機數作為組ID對應的組通信根密鑰,也可以根據隨機數計算而推導出組ID對應的組通信根密鑰。又例如,當基站從MME接收集合ID和第一參數之后,基站可以根據第一參數來生成組ID對應的組通信根密鑰。根據本發明的實施例,在S130生成組密鑰之后,基站可以將組通信根密鑰、組密鑰與組ID相綁定并存儲。這樣,當確定其它MTC設備屬于組ID對應的組時,可以根據組ID獲取相綁定的組密鑰;向其它MTC設備發送用其他MTC設備的接入層密鑰加密的組密鑰,以使其他MTC設備根據其接入層密鑰解密得到組密鑰。當基站確定需要為另一個屬于該組ID內的MTC設備生成組密鑰時,無需再確定組通信根密鑰并根據組通信根密鑰確定組密鑰,而直接根據與組ID綁定的組密鑰,基站就可以為該MTC設備分配組密鑰,從而可以減小基站處理復雜度,提高組密鑰生成效率,并保證同一組ID內各MTC設備使用的組密鑰相同。接下來,結合具體的例子來描述方法100的操作。在本發明的包括第一例子至第六例子的如下實施例中,帶有“Group”字樣的參數表示與一個組相關的參數,一個組的參數“XXX_Group”可以具有與一個MTC設備的參數“XXX”類似的用法和作用。例如,AV_Group可以具有與認證向量(Authentication Vector,AV)相似的生成方式和表現形式,不同之處在于AV_Group是針對一個組的,而不是針對一個特定MTC設備的。第一例子在第一例子中,集合ID是MTC設備所在組的組ID,這意味著提前將MTC設備進行了分組,而確定了 MTC設備所在的組。組ID可以預置在MTC設備中;也可以設置在USIM(Universal Subscriber Identity Module,全球用戶識別模塊)中,當將 USIM 插入MTC設備時,USIM成為MTC設備的一部分,從而確定MTC設備所在的組。第一參數是組通信根密鑰,即如下描述中的KeNB_Group,它等于HSS生成的Kasme_Group。KeNB_Group具有與KeNB類似的功能,區別在于KeNB_Group是針對一個組的,而KeNB是針對一個MTC設備的通過KeNB_Group可以衍生出其它的密鑰。在圖2所示的第一例子中,插入MTC設備的US頂中保存有MTC設備所屬組的組信息Group ID (組ID)以及與該Group ID對應的集合密鑰K_Group。在MTC設備所屬的HSS中同樣保存有與Group ID對應的K_Group。在S210中,MTC設備向MME發送附著請求,請求中包括MTC設備的MSI和MTC設備所屬組的Group ID0當MME收到MTC設備發送的附著請求之后,MME確定是否保存有與Group ID綁定的 AV_Group ο當MME確定還沒有保存有與Group ID相綁定的AV_Group時,在S260之前執行如下操作:在S220中,MME向HSS發送認證數據請求,在認證數據請求中包括MSI和GroupID ;在S230中,HSS根據MSI找到對應的K,根據K生成AV,并且HSS根據Group ID找到對應的K_Group,并根據K_Group生成AV_Group ;在S240中,HSS將AV和AV_Group通過認證數據響應發送給MME ;在S250 中,MME 將 Group ID 和 AV_Group 綁定并存儲。根據K_Group生成AV_Group的方式如圖3所示,這里圖3只是一個例子而并不對根據K_Group生成AV_Group的方式進行限制。在圖3中,HSS參考生成AV的方式來生成針對Group ID的AV_Group。其中涉及的置位符AMF、函數Fl至F5與現有技術的含義相同,不同之處在于其他輸入參數以及產生的參數都是針對一個組的而不是針對一個MTC設備的。HSS生成針對Group ID的序列號SQN_Group,并生成針對Group ID的隨機數RAND_Group ο 將 K_Group、SQN_Group、RAND_Group 和 AMF 如圖所不輸入各函數中,生成 MAC_Group、XRES_Group、CK_Group、IK_Group 和 AK_Group。接著,可以利用如下方式生成 AUTN_Group和 Kasme_Group:AUTN Group = SQN 十 AK—Group || AMF || MAC—Group
Kasme—Group =KDF( SQN 十 AK—Group, SN ID, IK—Group, CK—Group)其中,KDF是密鑰生成函數,可以具有與現有技術相同的計算方式,與下文中的KDF函數一樣,對其形式不做限定;@代表異或計算;I I代表將前后兩個物理量并在一起而形成連續的一個物理量。生成AUTN_Group 和 Kasme_Group 之后,可以得到 AV_Group:AV_Group = RAND_Group||XRES_Group||Kasme_Group||AUTN_Group返回圖2,當MME確定保存有與Group ID相綁定的AV_Group時,在S260之前執行如下操作:在S220中,MME向HSS發送認證數據請求,在該請求中包括MSI ;在S230中,HSS根據MSI找到對應的K,根據K生成AV ;
在S240中,HSS將AV發送給MME。此時,不需要執行S250。繼續圖2中的流程。在S260中,MME和MTC設備利用AV和AV_Group進行認證。認證過程如圖4所示。在S410中,MME向MTC設備發送用戶認證請求,在該請求中除了如現有技術那樣攜帶RAND、AUTH、KSIasme來對MTC設備本身進行認證之外,還需要采用本發明實施例的方式攜帶 RAND Group>AUTH Group>KSIasmr Group 來對 MTC 設備屬于 Group ID 進行組認證。RAND_Group、AUTH_Group、KSIASME_Group的含義和用法可以與狀冊、么譏!1、1 14,相同,除了 AND_Group、AUTH_Group、KSIASME_Group 是針對一個組而言的參數,而 RAND、AUTH、KSIasme 是針對一個MTC設備而言的。在S420中,當認證成功時,MTC設備向MME返回用戶認證響應,在該響應中除了如現有技術那些攜帶RES來對設備認證進行響應之外,還需要采用本發明實施例的方式攜帶RES_Group來對組認證進行響應。另外,如果認證失敗,則MTC設備需要如現有技術那樣向MME發送用戶認證拒絕消息,在該消息中攜帶用于表示認證失敗原因的CAUSE參數。返回圖2并繼續圖2的流程。在S270中,如果認證成功,則MME和MTC設備如現有技術那樣計算出KeNB,并且MME可以根據AV_Group計算出KeNB_Group,在該實施例中將Kasme_Group作為KeNB_Group。KeNB_Group是接入層的組通信根密鑰,通過KeNB_Group可以生成其他的接入層組密鑰。雖然在圖2所示的第一例子中,MTC設備在S270處與MME并發生成KeNB,但是MTC設備也可以在S260之后、S292之前的任意時刻生成KeNB。在S280 中,MME 將 Group ID、KeNB 和 KeNB_Group 發送給 eNB (evolved Node B,演進型基站)。在S290中,eNB根據MTC設備的安全能力選擇完整性算法和加密算法。如果eNB上沒有建立有與Group ID相關的綁定,則eNB根據MTC設備的組安全能力選擇用于生成組密鑰的組算法,可以包括組完整性算法和組加密算法。選擇組完整性算法和組加密算法的方式可以與現有技術中針對MTC設備選擇完整性算法和加密算法相似,組完整性算法和組加密算法也可以分別與現有技術中的完整性算法和加密算法相似,不同之處在于組完整性算法和組加密算法是針對一個組的算法,而完整性算法和加密算法是針對一個MTC設備的算法。當eNB第一次為一個組ID生成對應的組密鑰而建立組ID的綁定關系時,eNB將密鑰更新次數Key_C0unt置為0,該參數可以用于對組密鑰進行推衍更新。當TOCP計數器(PDCP Count)值達到最大值時,可以將Key Count值加I。PDCP Count值達到最大值,可以是指F1DCP Count中的超巾貞號(Hyper Frame Number, HFN)部分達到最大值,也就是每當HFN達到閾值時,Key Count加I。每當Key Count值加I時,eNB都可以對組密鑰進行更新,從而避免組密鑰使用的時間過長而降低安全性。之后,eNB可以建立Group ID與組完整性算法、組加密算法、Key Count的綁定關系,并計算MTC設備的接入層密鑰和MTC設備所屬組的接入層組密鑰,再將接入層組密鑰和KeNB_Group也與Group ID綁定起來。MTC設備的接入層密鑰的計算方式與現有技術相同,而計算接入層組密鑰可以采用如下所述的方式。在本文中,接入層組密鑰可以被簡稱為組密鑰。接入層組密鑰可以包括組加密密鑰 Key_Groupenc 和組完整性密鑰 Key_Groupint。Key_Groupenc = KDF(KeNB_Group,Group-enc-alg、Alg-1D),Key_Groupint = KDF(KeNB_Group, Group-1nt-alg,Alg-1D)。其中,KDF是密鑰生成函數,Group-enc-alg代表當前計算采用的是組加密算法、Alg-1D是算法標識,Group-1nt-alg代表當前計算采用的是組完整性算法。如果eNB上已經建立有Group ID相關的綁定,則eNB不需要執行選擇組算法和計算組密鑰的步驟。這里,雖然在第一例子中由eNB根據MTC設備的組安全能力選擇組完整性算法和組加密算法,但是在其他實施例中,組完整性算法和組加密算法也可以被預先配置在eNB中,這樣不需要eNB選擇相應算法。在S291中,eNB將利用MTC設備的接入層密鑰加密和完整性保護之后的包括組完整性算法和組加密算法的組算法以及包括組加密密鑰和組完整性密鑰的組密鑰發送給MTC設備,以使MTC設備根據組算法和組密鑰進行組通信。在S292中,MTC設備利用自己的接入層密鑰,獲取組算法和組密鑰。這樣,MTC設備可以利用一個組共用的組算法和組密鑰正常進行后續的組通信。如果Key Count不等于O,則eNB可以根據Key Count來對組密鑰進行更新。更新組密鑰的方式可以是首先根據Key Count推衍新的KeNB_Group,然后利用推衍后的KeNB_Group計算出新的組密鑰。例如,可以利用如下表達式來推衍新的KeNB_Group。用KeNB_Group*表示推衍后的 KeNB_Group,并用推衍出的 KeNB_Group* 取代 KeNB_Group,作為當前的 KeNB_Group:KeNB_Group* = KDF(KeNB_Group, Cell ID, Group ID)其中,KDF為密鑰生成函數,Cell ID為小區標識。Key Count為幾,就推衍幾次。還可以利用如下表達式來直接推衍KeNB_Group*,將KeNB_Group*作為KeNB_Group:
KeNB_Group* = KDF(KeNB_Group, Cell ID, Group ID, Key Count)當推衍出KeNB_Group之后,eNB可以利用推衍后的KeNB_Group重新計算Key_Groupenc和Key_Groupint。接著,利用MTC設備的接入層密鑰對重新計算出的組密鑰進行加密,并發送給MTC設備,以使MTC設備更新組密鑰,利用新的組密鑰進行組通信。在第一例子中,一組MTC設備在一段時間內都使用一個AV_Group,可以允許AV_Group重用,SQN_Group的使用規則可以是MTC設備從網絡側收到AUTH_Group中的SQN_Group大于或等于設備側保存的SQN_Group。如果SQN_Group出現不同步的情況,可以通過重同步過程來進行解決。此外,一個組內的一個MTC設備如果原本處于組通信中、但經過一段時間之后退出組通信,那么當該MTC設備需要從空閑(IDLE)狀態或者去附著狀態轉換為活動(ACTIVE)狀態而重新加入組通信時,eNB向MTC設備發送用該MTC設備的接入層密鑰加密的組密鑰,以使該MTC設備重新獲取組密鑰來進行組通信。第二例子在第二例子中,集合ID是MTC設備所在組的組ID。第一參數是組通信根密鑰,即如下描述中的KeNB_Group,它等于HSS生成的Group Key。在圖5所示的第二例子中,在MTC設備的USM中保存有MTC設備所屬組的GroupID以及與該Group ID對應的密鑰K_Group。當然,本領域技術人員也可以想到,Group ID以及與Group ID對應的K_Group也可以直接保存在MTC設備中。另外,在MTC設備所屬的HSS中同樣保存有GroupID和K_Group的對應關系。在S510中,MTC設備向MME發送附著請求,請求中包括MTC設備的MSI和GroupID。當MME收到MTC設備發送的附著請求之后,MME確定是否保存有與Group ID綁定的 Group Key。當MME確定還沒有保存有與Group ID相綁定的Group Key時,在S560之前執行如下操作:在S520中,MME向HSS發送認證數據請求消息,在該消息中包含MSI和GroupID。當在后續的認證中需要利用S530中生成的AV_GroUp時,則在認證數據請求中還需要包含指示符Group Key Indicator,用于表示MME還沒有建立Group ID的相關綁定信息,需要HSS生成Group Key,當然,如果后續認證利用現有技術中的AV,也可以攜帶Group KeyIndicator來表示沒有建立有Group ID的相關綁定信息;在S530中,HSS根據MSI找到對應的K,根據K生成AV,以使MTC設備和網絡側利用AV進行認證。其中,與IMSI對應的K可以被稱為MTC設備的專屬密鑰,任一 K的取值都是唯一的,只由一個MTC設備持有。當將USM插入MTC設備時,由于在USM中保存有K,故MTC設備被分配了唯一的K。HSS也可以根據MSI找到對應的K,根據Group ID找到對應的K_Group,結合K和K_Group生成AV_Group,以使MTC設備和網絡側利用AV_Group進行認證。此外,HSS根據Group ID找到對應的K_Group,根據K_Group和隨機產生的隨機數Nonce生成Group Key ;在S540中,當利用AV進行認證時,HSS將AV和Group Key通過認證數據響應消息發送給MME。當利用AV_Group進行認證時,HSS將AV_Group和Group Key通過認證數據響應消息發送給MME ;在S550中,MME將Group ID與Group Key進行綁定并存儲。根據K和K_Group生成AV_Group的方式可以如圖6和圖7所示。這里圖6和圖7只是兩個例子而并不對生成AV_Group的方式進行限制。在圖6中,HSS生成SQN并生成RAND,并將SQN和RAND作為針對一個組的序列號和隨機數。HSS將SQN、RAND, AMF、K按照如圖所示的方式輸入與現有技術相同的Fl至F5函數,得到 MAC、XRES、CK、IK、AK。接著 HSS 將 K_Group 和 MAC、SRES、CK、IK、AK 按照如圖所示的方式輸入其它函數F,這些函數F可以相同也可以不同,具體形式在此不作限制。通過這些函數 F 可以分別得到 MAC_Group、XRES_Group、CK_Group、IK_Group 和 AK_Group。在圖7中,HSS生成SQN并生成RAND,并將SQN和RAND作為針對一個組的序列號和隨機數。HSS將SQN、RAND, AMF、K和K_Group按照如圖所示的方式輸入與現有技術相同的 Fl 至 F5 函數,分別得到 MAC_Group、XRES_Group、CK_Group、IK_Group、AK_Group。在圖6和圖7中,都可以采用如下方式得到AV_Group:AUTN Group = SQN 十 AK—Group || AMF || MAC—Group
Kasme—Group =KDF( SQN 十 AK—Group, SN ID, IK—Group, CK—Group)AV_Group = RAND| |XRES_Group| |Kasme_Group| |AUTN_Group其中,KDF是密鑰生成函數,可以具有與現有技術相同的計算方式;十代表異或計算;11代表將前后兩個物理量并在一起而形成連續的一個物理量。當MME確定保存有與Group ID相綁定的Group Key時,在S560之前執行如下操作:在S520中,MME向HSS發送認證數據請求消息,當在后續只需要利用AV進行認證時,在認證數據請求消息中包含MSI,當在后續需要利用AV_GroUp進行認證時,在認證數據請求消息中包含頂SI和Group ID ;在S530中,當利用AV進行認證時,HSS根據MSI找到對應的K,根據K生成AV。當利用AV_Group進行認證時,HSS根據MSI找到對應的K,根據Group ID找到對應的K_Group,結合 K 和 K_Group 生成 AV_Group ;在S540中,HSS將AV或AV_Group通過認證數據響應發送給MME。此時,不需要執行 S550。繼續圖5中的流程。在S560中,MME和MTC設備利用AV或者AV_Group進行認證。當利用AV認證時,采用與現有技術相同的方式。當利用AV_Group認證時,認證過程如圖8所示。在S810中,MME向MTC設備發送用戶認證請求,在該請求中攜帶AV_Group中的RAND_Group、AUTN_Group 以及現有技術中的 KSIAsME。在S820中,當認證成功時,MTC設備向MME返回用戶認證響應,在該響應中攜帶RES_Group。另外,如果認證失敗,則MTC設備向MME發送用戶認證拒絕消息,并在該消息中攜帶CAUSE參數。返回圖5并繼續圖5的流程。在S570中,如果認證成功,則MME和MTC設備如現有技術那樣計算出KeNB,MME將Group Key作為KeNB_Group。雖然在圖5所示的第二例子中,MTC設備在S570處與MME并發生成KeNB,但是MTC設備也可以在S560之后、S592之前的任意時刻生成KeNB。在S580 中,MME 將 Group ID、KeNB 和 KeNB_Group 發送給 eNB。在S590中,eNB根據MTC設備的安全能力選擇完整性算法和加密算法。如果eNB上沒有建立有與Group ID相關的綁定,則eNB根據MTC設備的組安全能力選擇用于生成組密鑰的組算法,可以包括組完整性算法和組加密算法,并計算出接入層密鑰以及組密鑰Key_Groupenc 和 Key_Groupint。此外,eNB 還將組算法、Key Count >KeNB_Group >KeNB_Groupenc和KeNB_Groupint與Group ID相綁定。S590的相關內容可以參考S290中的描述,為了避免重復,在此不再贅述。在591中,eNB將利用MTC設備的接入層密鑰加密和完整性保護之后的包括組完整性算法和組加密算法的組算法以及包括組加密密鑰和組完整性密鑰的組密鑰發送給MTC設備,以使MTC設備根據組算法和組密鑰進行組通信。在S592中,MTC設備利用自己的接入層密鑰,獲取組算法和組密鑰。這樣,MTC設備可以利用一個組共用的組算法和組密鑰正常進行后續的組通信。此外,一個組內的一個MTC設備如果原本處于組通信中、但經過一段時間之后退出組通信,那么當該MTC設備需要從IDLE狀態或去附著狀態轉換為ACTIVE狀態而重新加入組通信時,eNB向MTC設備發送用該MTC設備的接入層密鑰加密的組密鑰,以使該MTC設備重新獲取組密鑰來進行組通信。第二例子在第三例子中,集合ID是MTC設備支持業務的業務ID (Service ID),這意味著提前根據MTC設備的功能或者所屬業務將MTC設備分成了不同的業務集合,由業務ID進行區分。但是業務集合并不等于共用相同組密鑰的組,共用相同組密鑰的組還需要由基站根據業務ID進行分組來確定。業務ID可以預置在MTC設備中;也可以設置在USM中,當將USIM插入MTC設備時,USIM成為MTC設備的一部分,從而確定MTC設備所支持的業務。第一參數是與業務ID對應的業務根密鑰,即如下描述中的KeNB_Service,它等于HSS 生成的 Service Key。通過 KeNB_Service,可以由基站確定 KeNB_Group。在圖9所示的第三例子中,在MTC設備的US頂中保存有MTC設備所屬業務的Service ID 以及與該 Service ID對應的密鑰 K_Service。當然,Service ID和與該 ServiceID對應的密鑰K_Service也可以保存在MTC設備中。另外,在MTC設備所屬的HSS中同樣保存有Service ID和K_Service的對應關系。在S910中,MTC設備向MME發送附著請求,在該請求中包括MSI和Service ID。當MME收到MTC設備發送的附著請求之后,MME確定是否保存有與Service ID綁定的 Service Key。當MME確定還沒有保存有與Service ID相綁定的Service Key時,在S960之前執行如下操作:在S920中,MME向HSS發送認證數據請求消息,在該消息中攜帶MSI和ServiceID ; 在S930中,HSS根據MSI找到對應的K,并根據K生成AV,以使MME利用AV與MTC設備進行認證。HSS根據Service ID找到K_Service,并隨機生成隨機數Nonce,接著根據K_Service 和 Nonce 生成 Service key ;在S940中,HSS將AV和Service key通過認證數據響應消息發送給MME ;在S950 中,MME 將 Service ID 與 Service Key 進行綁定并存儲。當MME確定保存有與Service ID相綁定的Service Key時,在S960之前執行如下操作:在S920中,MME向HSS發送認證數據請求消息,在該消息中攜帶MSI ;在S930中,HSS根據MSI找到對應的K,并根據K生成AV ;在S940中,HSS將AV通過認證數據響應消息發送給MME。此時,不需要執行S950。繼續圖9中的流程。在S960中,MME和MTC設備利用AV進行認證。利用AV的認證過程與現有技術相同,在此不再贅述。在S970中,如果認證成功,則MME和MTC設備計算出KeNB,并且MME將ServiceKey作為KeNB_Service。雖然在圖9所示的第三例子中,MTC設備在S970處與MME并發生成KeNB,但是MTC設備也可以在S960之后、S992之前的任意時刻生成KeNB。在S980 中,MME 將 Service ID、KeNB 和 KeNB_Service 發送給 eNB。在S990中,eNB根據MTC設備的安全能力選擇完整性算法和加密算法。如果eNB上沒有建立有與Service ID相關的綁定關系,則eNB根據MTC設備的組安全能力選擇用于生成組密鑰的組算法,可以包括組完整性算法和組加密算法,并計算接入層密鑰以及接入層組密鑰。選擇組完整性算法和組加密算法的方式可以與現有技術中針對MTC設備選擇完整性算法和加密算法相似,組完整性算法和組加密算法也可以分別與現有技術中的完整性算法和加密算法相似,不同之處在于組完整性算法和組加密算法是針對一個組的算法,而完整性算法和加密算法是針對一個MTC設備的算法。在計算包括Key_Groupenc和Key_Groupint的接入層組密鑰的過程中,eNB首先需要根據Service ID對屬于同一業務的MTC設備進行分組,然后根據分組確定一個組的KeNB_Group,再根據KeNB_Group和組算法生成組密鑰。對屬于同一業務的MTC設備進行分組的方式多種多樣,例如隨機分組、根據MTC設備的信號強度分組等。可以采用如下方式計算KeNB_Group:KeNB_Group = KDF(KeNB_Service,Cell ID, Group ID)其中,KDF是密鑰生成函數,Cell ID是eNB服務小區的編號,Group ID是經過分組得到的MTC設備所屬組的組ID。計算出KeNB_Group之后,可以計算組加密密鑰Key_Groupenc和組完整性密鑰Key_Groupint:Key_Groupenc = KDF (KeNB_Group, Group-enc-alg、Alg-1D)Key_Groupint = KDF (KeNB_Group, Group-1nt-alg,Alg-1D)其中,KDF是密鑰生成函數,Group-enc-alg代表當前計算采用的是組加密算法、Alg-1D是算法標識,Group-1nt-alg代表當如計算米用的是組完整性算法。計算出組密鑰之后,eNB還將組算法、Key Count、KeNB_Group、KeNB_Groupenc 和KeNB_Groupint與Group ID相綁定。另外,如第一例子所述,當eNB第一次為一個組ID生成對應的組密鑰而建立組ID的綁定關系時,eNB將Key Count置為0,當TOCP計數器值達到最大值時,將KeyCount值加I,通過Key Count值對組密鑰進行推衍更新。在其它實施例中,組完整性算法和組加密算法也可以被預先配置在eNB和MTC設備上,此時無需在S990中選擇組算法,也無需協商組算法。在S991中,eNB將利用MTC設備的接入層密鑰加密和完整性保護之后的包括組完整性算法和組加密算法的組算法以及包括組加密密鑰和組完整性密鑰的組密鑰發送給MTC設備,以使MTC設備根據組算法和組密鑰進行組通信。在S992中,MTC設備利用自己的接入層密鑰,獲取組算法和組密鑰。這樣,MTC設備可以利用一個組共用的組算法和組密鑰正常進行后續的組通信。如果Key Count值不等于O,則eNB可以根據Key Count對組密鑰進行更新,更新組密鑰的方式可以首先根據Key Count推衍新的KeNB_Group,再利用推衍后的KeNB_Group計算出新的組密鑰。推衍方式可以參考S292中的相關內容。此外,當一個組內的一個MTC設備如果原本處于組通信中、但經過一段時間之后退出組通信,那么當該MTC設備需要從IDLE狀態或去附著狀態轉換為ACTIVE狀態而重新加入組通信時,eNB向MTC設備發送用該MTC設備的接入層密鑰加密的組密鑰,以使該MTC設備重新獲取組密鑰來進行組通信。第四例子在第四例子中,集合ID是MTC設備支持業務的業務ID。業務ID可以預置在MTC設備中;也可以設置在US頂中,當將US頂插入MTC設備時,US頂成為MTC設備的一部分,從而確定MTC設備所支持的業務。第一參數是與業務ID對應的業務根密鑰,即如下描述中的KeNB_Service,它等于HSS生成的Service Key。通過KeNB_Service,可以由基站確定KeNB—Group 0在圖10所示的第四例子中,在MTC設備的US頂中保存有MTC設備所屬業務的Service ID以及與該Service ID對應的密鑰K_Service。當然,本領域技術人員也可以想至Ij, Service ID以及與Service ID對應的K_Service也可以直接保存在MTC設備中。另夕卜,在MTC設備所屬的HSS中同樣保存有Service ID和K_Service的對應關系。在S1010中,MTC設備向網絡發送附著請求,在該請求中包括頂SI和Service ID。當MME收到MTC設備發送的附著請求之后,MME確定是否保存有與Service ID綁定的 Service Key。當MME確定還沒有保存有與Service ID相綁定的Service Key時,在S1060之前執行如下操作:在S1020中,MME向HSS發送認證數據請求消息,在該消息中攜帶MSI和ServiceID ;在S1030中,HSS根據MSI找到對應的K,并根據K生成AV,以使MME利用AV與MTC設備進行認證。并且,HSS根據Service ID計算Service Key,其中Service Key =f (K, Service ID, Nonce), Nonce是HSS生成的隨機數,f是生成Service Key所需的函數,本發明對函數的具體形式不做任何限定。此外,在其他實施例中,Service Key也可能由HSS或 MME 根據 Kasme 計算,例如,Service Key = f (Kasme, Service ID, Nonce);在S1040 中,HSS 將計算的 AV 和 Service Key 發送給 MME ;在S1050中,MME建立Service ID和Service Key的綁定關系并存儲。
當MME確定保存有與Service ID相綁定的Service Key時,在S1060之前執行如下操作:在S1020中,MME向HSS發送認證數據請求消息,在該消息中攜帶MSI ;在S1030中,HSS根據MSI找到對應的K,并根據K生成AV ;在S1040中,HSS將AV通過認證數據響應消息發送給MME。此時,不需要執行S1050。繼續圖10中的流程。在S1060中,MME和MTC設備利用AV進行認證。利用AV的認證過程與現有技術相同,在比不再贅述。在S1070中,如果認證成功,則MME和MTC設備計算出KeNB,并且MME將ServiceKey作為KeNB_Service。雖然在圖10所示的第四例子中,MTC設備在S1070處與MME并發生成KeNB,但是MTC設備也可以在S1060之后、S1092之前的任意時刻生成KeNB。在S1080 中,MME 將 Service ID、KeNB 和 KeNB_Service 發送給 eNB。在S1090中,eNB根據MTC設備的安全能力選擇完整性算法和加密算法。如果eNB上沒有建立有與Service ID相關的綁定關系,則eNB根據MTC設備的組安全能力選擇用于生成組密鑰的組算法,可以包括組完整性算法和組加密算法,并計算接入層密鑰以及接入層組密鑰。在計算包括Key_Groupenc和Key_Groupint的接入層組密鑰的過程中,eNB首先需要根據Service ID對屬于同一業務的MTC設備進行分組,然后根據分組確定一個組的KeNB_Group,再根據KeNB_Group和組算法生成組密鑰。計算出組密鑰之后,eNB還將組算法、Key Count、KeNB_Group、KeNB_Groupenc 和 KeNB_Groupint 與 Group ID 相綁定。在其它實施例中,組完整性算法和組加密算法也可以被預先配置在eNB和MTC設備上。S1090的相關內容可以參考上述S990中的描述。在S1091 中,eNB 和 MTC 設備執行 AS SMC (Access Stratum Security ModeCommand,接入層安全模式命令),協商選擇的完整性算法、加密算法、組完整性算法、組加密算法。在S1092中,MTC設備根據協商的算法計算接入層密鑰。在S1093中,eNB將計算出的Key_Groupenc和Key_Groupint通過接入層安全保護后發送給MTC設備,此后MTC設備和網絡側可以利用Key_Groupenc和Key_Groupint進行組通信。在第二例子和第四例子中,也可以在MME中根據Service ID對MTC設備進行分組,然后MME將分組得到的Group ID發送給eNB ;還可以在某個特定的具有M2M功能的實體上對MTC設備進行分組,該實體將分組得到的Group ID通知給eNB。這樣,在S990和S1090中eNB不需要再進行分組,直接根據收到的Group ID計算KeNB_Group即可。在第三例子和第四例子中,網絡側可以通過多種方式得到MTC設備的業務ID,例如:MTC設備向網絡側發送Service ID,如上所述;HSS保存IMSI和Service ID的綁定關系,通過MSI可以查找到對應的Service ID ;某個特定M2M功能的實體保存MSI和Service ID的綁定關系,HSS可以從該實體處獲取對應的Service ID ;HSS通過MSI的特定字段獲知Service ID。此外,在第三例子和第四例子中,當MTC設備從IDLE態轉換到ACTIVE態時,可以通過圖11所示的流程圖來進行組密鑰同步。
在SlllO中,MTC設備向網絡側發送服務請求消息,在消息中包含Service ID。在SI 120中,MME檢查是否存在與該Service ID對應的綁定關系,如果不存在,則執行圖10中當MEE沒有綁定關系時執行的S1020至S1050以及后續的S1060至S1093 ;如果存在,則將Service ID發送給eNB。在SI 130 中,MME 將 Service ID 發送給 eNB。在SI 140中,eNB根據Service ID為MTC設備分組得到Group ID,并查找該GroupID綁定的組算法和組密鑰。S1150中,eNB向MTC設備發送AS SMC,協商完整性算法、加密算法、組完整性算法和組加密算法。在S1160中,MTC設備根據協商的算法計算接入層密鑰和Key_Groupenc、Key_Groupint ο第五例子圖12是利用根據本發明實施例提供的方法來生成組密鑰的第五例子的流程圖。在S1210中,eNB對MTC設備進行分組,或者從其他網元獲取MTC設備的分組情況,從而確定MTC設備所在組的組ID。在S1220中,eNB在MTC設備所在的組內隨機選擇一個MTC設備或者生成一個隨機數,根據所選擇的MTC設備的密鑰或者隨機數來推衍組通信根密鑰KeNB_Gr0up,其中,KeNB_Group = KDF(KeNB/RAND,Group ID),KDF為密鑰生成函數,可以具有與現有技術相同的定義,也可以根據不同的算法靈活定義,本發明不對KDF的具體形式進行任何限定。 eNB還為該組的MTC設備選擇包含組完整性算法和組加密算法的組算法,根據KeNB_Group和組算法,計算出包括組加密密鑰Key_Gr0upenc和組完整性密鑰Key_Groupint的組密鑰,并建立組ID和組通信根密鑰、組算法、組密鑰的綁定關系。其中,Key_Groupenc = KDF(KeNB_Group,Group-enc-alg, Alg-1D),Key_Groupint = KDF(KeNB_Group,Group-1nt-alg, Alg-1D) Group-enc-alg代表當前計算采用的是組加密算法、Alg-1D是算法標識,Group-1nt-alg代表當如計算米用的是組完整性算法。組完整性算法和組加密算法的功能和用法分別與完整性算法和加密算法相似,不同之處在于,組完整性算法和組加密算法是針對一個組ID的,而完整性算法和加密算法是針對一個MTC設備的。在S1230中,eNB將利用MTC設備的接入層密鑰加密和完整性保護之后的包括組完整性算法和組加密算法的組算法以及包括組加密密鑰和組完整性密鑰的組密鑰發送給MTC設備,以使MTC設備根據組算法和組密鑰進行組通信。在S1240中,MTC設備利用自己的接入層密鑰,獲取組算法和組密鑰。這樣,MTC設備可以利用一個組共用的組算法和組密鑰正常進行后續的組通信。第六例子圖13是利用根據本發明實施例提供的方法來生成組密鑰的第六例子的流程圖。在S1310中,MME對MTC設備進行分組,或者從其他網元獲取MTC設備的分組情況,從而確定MTC設備所在組的組ID。在S1320中,MME在MTC設備所在的組內隨機選擇一個MTC設備或者生成一個隨機數,根據所選擇的MTC設備的密鑰Kasme或者隨機數RAND來推衍組通信根密鑰KeNB_Group, KeNB_Group = KDF(Kasme/RAND, NAS Count, Group ID),其中 NAS Count 是非接入層計數值。MME也可以直接將隨機數作為KeNB_Group,并建立Group ID和KeNB_Group的綁定關系。在S1330 中,MME 將 Group ID 和 KeNB_Group 發送給 eNB。在S1340中,eNB為MTC設備所在的組選擇組加密算法和組完整性算法,并計算響應的 Key_Groupenc 和 Key_Groupint。其中,Key_Groupenc = KDF (KeNB_Group,Group-enc-alg, Alg-1D), Key_Groupint = KDF (KeNB_Group, Group-1nt-alg, Alg-1D),并建立 Group ID 和組完整性算法、組加密算法、KeNB_Group、KeNB_Groupenc、KeNB_Groupint的綁定關系。在S1350中,eNB將加密和完整性保護之后的組完整性算法、組加密算法、Key_Groupenc和Key_Groupint發送給MTC設備。用來進行加密和完整性保護的算法和密鑰是MTC設備與網絡側共享的接入層算法和密鑰。在S1360中,MTC設備獲取組算法和組密鑰,并利用它們進行后續通信。此外,在第五例子和第六例子中,當MTC設備從IDLE狀態或去附著狀態轉換為ACTIVE狀態時,可以通過如下過程進行接入層密鑰同步:MTC設備向網絡側發送服務請求消息,網絡側例如MME或eNB為MTC設備分組后,當分組得到的組ID具有綁定的組密鑰時,將與組ID綁定的組密鑰通過MTC設備的接入層密鑰發送給MTC設備即可,當分組得到的組ID沒有相綁定的組密鑰時,為該組ID生成組密鑰后,將該組密鑰通過MTC設備的接入層密鑰發送給MTC設備即可。根據本發明的實施例,在MTC設備和eNB之間進行組通信的過程中,eNB可以不需要為每個MTC設備維護一個rocp Count值,而是為一組MTC設備維護一個組rocp Count值。這樣,可以減少基站需要維護的rocp Count值,進一步降低基站的處理復雜度。根據本發明的實施例,PDCP Count值由HFN和SN兩部分組成,在MTC設備和eNB之間進行組通信的過程中,eNB可以不需要為每個MTC設備維護一個HFN值,而是為一組MTC設備維護一個組HFN值,其中組HFN由一組MTC設備共用,SN由MTC設備發送的數據包中的序列號決定。在一組MTC設備的每個MTC設備中,都維護一個HXP Count值,該HXPCount值中的HFN與eNB維護的組HFN和其它MTC設備的HFN保存同步,SN由MTC設備單獨維護,與自己發送的數據包的序列號有關。對于上行鏈路,每個MTC設備維護一個rocp Count值,組內每個MTC設備維護的HFN與eNB維護的組HFN保持同步。組內MTC設備利用上行I3DCP Count值對上行數據進行加密,并在上行數據分組數據單元(Packet Data Unit7PDU)頭部中攜帶SN。eNB收到公共承載上的數據包時,利用eNB保存的HFN和數據包攜帶的SN組成的Count值解密該數據包。當組內任一 MTC設備發送數據包中的SN達到閾值時,eNB收到該數據包之后,將組HFN加1,并將該HFN的取值或者HFN需要加I的信息通知給組內的各MTC設備。HFN可以有多種通知方式。例如,對于業務量小的MTC設備,可以將HFN設置為固定值。再例如,當HFN可變時,eNB可以通過組ID對應組內所有MTC設備各自的信令承載、組ID對應組的公共信令承載或者廣播信道,向組ID對應組內所有MTC設備發送HFN的取值。eNB可以在HFN達到閾值時向組ID對應組內的所有MTC設備發送HFN取值,也可以在有MTC設備加入組ID對應組時,向該MTC設備發送HFN取值。又例如,當HFN可變時,如果組ID對應的HFN達到閾值,那么eNB可以通過組ID對應組內所有MTC設備各自的信令承載、組ID對應組的公共信令承載或者廣播信道,向組ID對應組內所有MTC設備發送用于指示HFN加I的指示信息。如果廣播HFN需要增加的指示信息,則對于組HFN的初始值需要MTC設備與eNB協商或由eNB發送給MTC設備。另外,eNB還可以直接將HXPCount值放在PDU頭部中發送給MTC設備,這樣MTC設備根據收到的H)U,可以從頭部中提取中HFN的取值。對于下行鏈路,如果組通信基于eNB和一組MTC設備之間的公共承載,則一般組內MTC設備通過公共承載接收eNB發送的組信息,此時組內MTC設備的TOCP Count值變化一致,故不需要在下行鏈路引入新的HXP Count值機制。當eNB保存的組HFN達到閾值時,eNB對組密鑰進行更新。當MTC設備內的TOCPCount值中的HFN達到閾值時,MTC設備也對組密鑰進行更新。可以通過多種方式使MTC設備確定HFN達到閾值。例如eNB可以向MTC設備通知HFN取值或HFN加I的指示,以使MTC設備在改變HFN之后確定HFN達到閾值,從而更新組密鑰。再例如eNB可以直接向MTC設備通知HFN達到閾值的指示,以使MTC設備更新組密鑰。在eNB中可以有兩種方式對組密鑰進行更新。一種是先更新KeNB_Group,然后利用更新后的KeNB_Group計算Key_Groupenc和Key_Groupint。在該種更新方式中,KeNB_Group* = KDF(KeNB_Group, Cell ID, Group ID)或者 KeNB_Group* = KDF(KeNB_Group, cell ID, Group ID, Key Count)。另一種是直接對Key_Groupenc和Key_Groupint進行更新。在該更新方式中,Key_Groupenc* = KDF(Key_Groupenc, Cell ID, Group ID), Key_Groupint* = KDF(Key—Groupint, Cell ID, Group ID)。在本發明的實施例中,為了進一步保證通信的安全,網絡側可以在滿足一定條件時對組通信根密鑰進行更新。當滿足一定條件時,網絡側更新組根密鑰KeNB_Gr0up,并根據更新后的組通信根密鑰來生成新的組密鑰,以通過新的組密鑰進行組通信。該一定條件可以是當網絡側維護的定時器達到閾值時;也可以是eNB處維護的Key Count值達到閾值時;還可以是MME處維護的針對一個組或一個業務的計數器值達到閾值時,每當MME收到屬于一個組或一個業務的MTC設備發送的NAS信令時,該計數器值加I。接下來,結合圖14描述根據本發明實施例的生成組密鑰的方法1400。如圖14所示,方法1400包括:在S1410中,獲取MTC設備所在組的組ID ;在S1420中,獲取組ID對應的組通信根密鑰;在S1430中,向基站發送組ID和組通信根密鑰,以使基站根據組通信根密鑰生成組ID對應的組密鑰并向MTC設備發送用MTC設備的接入層密鑰加密的組密鑰。例如,方法1400可以由MME執行。MME通過對MTC設備進行分組,進而可以確定MTC設備所在組的組ID對應的組通信根密鑰。MME將組ID和組通信根密鑰發送給基站,以使基站生成組密鑰并加密后發送給MTC設備,從而完成組密鑰的分配。由于同一組對應一個組通信根密鑰,再由組通信根密鑰推衍出組密鑰,可以使同一組內的MTC設備利用相同的組密鑰來正常進行組通信,而在基站中也只需要為同一個組保持相同組密鑰,從而,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提高基站性能。
在S1410中,MME可以通過多種方式獲取MTC所在組的組ID。例如,MME可以對MTC設備進行分組,從而可以將MTC設備劃分到組ID對應的組內。再例如,MME可以從其它網元獲取MTC設備所在組的組ID。又例如,MME可以接收MTC設備發送的組ID。根據本發明的實施例,當MME在S1410中從接收MTC設備發送的組ID從而獲取到組ID時,在S1420中MME可以通過如下方式獲取組ID對應的組通信根密鑰:向MTC設備所屬的HSS發送組ID,以使HSS根據隨機數和與組ID對應的集合密鑰生成第一參數;從HSS接收第一參數;根據第一參數生成組ID對應的組通信根密鑰。其中,根據本發明的實施例,當組ID沒有綁定與組ID對應的第一參數時,MME向HSS發送組ID。當MME從HSS接收到第一參數之后,MME可以將第一參數與組ID相綁定并存儲。這樣,當MME收到其它MTC設備發送的攜帶有組ID的附著請求時,MME可以根據組ID獲取與組ID相綁定的第一參數;根據第一參數生成組ID對應的組通信根密鑰;向基站發送組ID和組通信根密鑰。根據本發明的一個實施例,MME向MTC設備所屬的HSS發送組ID之后,MME可以從HSS接收組認證參數,其中組認證參數由HSS根據與組ID對應的集合密鑰生成,或者由HSS根據與組ID對應的集合密鑰和MTC設備的專屬密鑰生成;并根據組認證參數,與MTC設備進行認證。在該情況下,在MTC設備與網絡側認證成功之后,MME根據第一參數生成組ID對應的組通信根密鑰。這里,MTC設備的專屬密鑰可以是MTC設備的K,K可以存儲在USM中,當將USM插入一 MTC設備時,USIM成為該MTC設備的一部分。相關實施例可以參考上述第一例子至第四例子的描述,為了避免重復,在此不再贅述。在S1420中,MME還可以通過如下方式獲取組ID對應的組通信根密鑰:從組ID內的MTC設備中選擇MTC設備,根據所選擇的MTC設備的密鑰確定組ID對應的組通信根密鑰;或者生成一個隨機數,根據隨機數確定組ID對應的組通信根密鑰。MME可以根據選擇的MTC設備的KeNB推衍得到組ID對應的組通信根密鑰,也可以將選擇的MTC設備的KeNB直接作為組ID對應的組通信根密鑰。同樣,MME可以根據隨機數推衍得到組ID對應的組通信根密鑰,也可以將隨機數直接作為組ID對應的組通信根密鑰。根據本發明的實施例,MME獲取組ID對應的組通信根密鑰之后,可以將組ID和組通信根密鑰進行綁定并存儲。這樣,當確定其他MTC設備屬于組ID對應的組時,根據組ID獲取相綁定的組通信根密鑰;向基站發送組ID和組通信根密鑰。通過直接獲取相綁定的組通信根密鑰,可以降低反復生成組通信根密鑰的處理復雜度,并可以保證同一組ID對應的組通信根密鑰的一致性。相關實施例可以參考上述第五例子和第六例子的描述,為了避免重復,在此不再贅述。此外,根據本發明的實施例,當網絡側維護的預定定時器達到第一預定閾值時,或者當基站更新組密鑰的次數達到第二預定閾值時,或者當維護的非接入層的計數值達到第三預定閾值時,與MTC設備進行重認證或者獲取組ID對應的新的組通信根密鑰。這樣,可以在一定時間之后更新組密鑰,避免同一組密鑰的使用時間過長而引入不安全因素,從而可以進一步提高組通信的安全性。接下來,參考圖15描述根據本發明實施例的生成組密鑰的方法1500。
如圖15所示,方法1500包括:在S1510中,從基站接收基站用MTC設備的接入層密鑰加密的組密鑰,其中組密鑰由基站根據基站獲取的組通信根密鑰生成、并與基站獲取的MTC設備所在組的組ID對應,或者組密鑰由基站根據MME獲取的組通信根密鑰生成、并與MME獲取的MTC設備所在組的組ID對應;在S1520中,根據MTC設備的接入層密鑰解密得到組密鑰。例如,方法1500可以由MTC設備執行。由于MTC設備的操作與基站、MME的操作相對應,因此方法1500中的各步驟的描述可以參考方法100和方法1400的描述,具體實施例可以參考上述第一例子至第六例子,為了避免重復,在此不再贅述。根據本發明的實施例,同一組ID的所有MTC設備共用相同的HFN。為了保證同一組ID對應的HFN相同,組ID對應的HFN可以被預先設置為固定值,也可以由基站向MTC設備通知與HFN取值相關的信息。例如,MTC設備可以通過MTC設備的信令承載、組ID對應組的公共信令承載或者廣播信道,從基站接收HFN的取值;或者MTC設備可以在組ID對應的HFN達到閾值時,通過MTC設備的信令承載、組ID對應組的公共信令承載或者廣播信道,從基站接收用于指示HFN加I的指示信息。為了進一步提高組通信的安全性,網絡側可以對組密鑰進行更新,而MTC設備需要通過更新后的組密鑰來進行組通信。根據本發明的一個實施例,MTC設備可以從基站獲取用MTC設備的接入層密鑰加密的更新后的組密鑰,其中更新后的組密鑰由基站在組ID對應的HFN達到閾值時進行組密鑰的更新而得到;根據MTC設備的接入層密鑰解密得到更新后的組密鑰。當網絡側維護的預定定時器達到第一預定閾值時,或者當基站更新組密鑰的次數達到第二預定閾值時,或者當MME維護的非接入層的計數值達到第三預定閾值時,與MME進行重認證或者從基站獲取基站用MTC設備的接入層密鑰加密的新的組密鑰。這樣,可以在一定時間之后更新組密鑰,避免同一組密鑰的使用時間過長而引入不安全因素,從而也可以進一步提高組通信的安全性。根據本發明實施例提供的生成組密鑰的方法,網絡側通過確定MTC設備所在組的組ID,從而確定與該組ID對應的組密鑰,通過借助于MTC設備的接入層密鑰可以將MTC設備使用的組密鑰安全地分配給MTC設備,并使得同一組ID內的MTC設備共用相同的組密鑰。這樣,同一組內的MTC設備可以利用相同的組密鑰來正常進行組通信,而在基站中也只需要為同一個組保持相同組密鑰,從而,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提聞基站性能。上面分別從基站、MME和MTC設備的角度描述了生成組密鑰的方法,下面結合圖16至21描述相關設備。圖16是根據本發明實施例的基站1600的結構框圖。基站1600包括第一獲取模塊1610、第二獲取模塊1620、生成模塊1630和第一發送模塊1640。第一獲取模塊1610可以通過輸入接口和/或處理器實現,第二獲取模塊1620可以通過輸入接口和/或處理器實現,生成模塊1630可以通過處理器實現,第一發送模塊1640可以通過輸出接口實現。第一獲取模塊1610用于獲取MTC設備所在組的組ID。第二獲取模塊1620用于獲取組ID對應的組通信根密鑰。生成模塊1630用于根據組通信根密鑰生成組ID對應的組密鑰。第一發送模塊1640用于向MTC設備發送用MTC設備的接入層密鑰加密的組密鑰,以使MTC設備根據MTC設備的接入層密鑰解密得到組密鑰。第一獲取模塊1610、第二獲取模塊1620、生成模塊1630和第一發送模塊1640的上述和其他操作和/或功能可以參考上述方法100以及第一例子至第六例子的描述,為了避免重復,在此不再贅述。根據本發明實施例提供的基站,通過確定MTC設備所在組的組ID,從而確定與該組ID對應的組密鑰,再借助于MTC設備的接入層密鑰可以將MTC設備使用的組密鑰安全地分配給MTC設備,并使得同一組ID內的MTC設備共用相同的組密鑰。這樣,同一組內的MTC設備可以利用相同的組密鑰來正常進行組通信,而在基站中也只需要為同一個組保持相同組密鑰,從而,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提高基站性能。圖17是根據本發明實施例的基站1700的結構框圖。基站1700的第一獲取模塊1710、第二獲取模塊1720、生成模塊1730和第一發送模塊1740與基站1600的第一獲取模塊1610、第二獲取模塊1620、生成模塊1630和第一發送模塊1640基本相同。根據本發明的實施例,第一獲取模塊1710具體可用于將MTC設備劃分到組ID對應的組內;或者從其它網元獲取MTC設備所在組的組ID。根據本發明的實施例,第二獲取模塊1720具體可用于從所述組ID內的MTC設備中選擇MTC設備,根據所選擇的MTC設備的密鑰確定所述組ID對應的組通信根密鑰。或者,第二獲取模塊1720具體可用于從MME接收組ID對應的組通信根密鑰,其中由MME將MTC設備劃分到組ID對應的組內,從組ID內的MTC設備中選擇MTC設備,根據所選擇的MTC設備的密鑰確定組ID對應的組通信根密鑰,或者由MME根據MME生成的隨機數確定組ID對應的組通信根密鑰。或者,第二獲取模塊1720具體可用于生成一個隨機數,根據該隨機數確定組ID對應的組通信根密鑰。根據本發明的一個實施例,第一獲取模塊1710和第二獲取模塊1720具體可用于從MME接收組ID和組通信根密鑰,組通信根密鑰由MTC設備所屬的歸屬用戶系統HSS根據隨機數和與組ID對應的集合密鑰生成,或者組通信根密鑰由HSS在收到MME轉發的來自一個MTC設備的組ID時,根據隨機數、組ID和該一個MTC設備的專屬密鑰生成,并由HSS將組通信根密鑰發送給MME。根據本發明的一個實施例,第一獲取模塊1710可以包括接收單元1712和確定單元1714。接收單元1712可用于從MME接收業務ID和與業務ID對應的業務根密鑰,業務ID為MTC設備發送給MME的、MTC設備所屬業務的業務ID,業務根密鑰由MTC設備所屬的HSS根據隨機數和與業務ID對應的集合密鑰生成,或者業務根密鑰由HSS在收到MME轉發的來自一個MTC設備的業務ID時,根據隨機數、業務ID和一個MTC設備的專屬密鑰生成,并由HSS將業務根密鑰發送給MME。確定單元1714可用于根據業務ID確定MTC設備所在組的組ID。在該情況下,第二獲取模塊1720可用于根據業務根密鑰生成組ID對應的組通信根密鑰。根據本發明的實施例,基站1700還可以包括綁定模塊1750、第三獲取模塊1760和第二發送模塊1770。綁定模塊1750可用于將組通信根密鑰、組密鑰與組ID相綁定并存儲。第三獲取模塊1760用于當確定其它MTC設備屬于組ID對應的組時,根據組ID獲取相綁定的組密鑰。第二發送模塊1770用于向其它MTC設備發送用其他MTC設備的接入層密鑰加密的組密鑰,以使所述其他MTC設備根據所述其他MTC設備的接入層密鑰解密得到組密鑰。根據本發明的實施例,同一組ID的所有MTC設備可以共用相同的HFN。這樣,可以減少基站需要維護的HXP Count值,進一步降低基站的處理復雜度。在該情況下,基站1700還可以包括更新模塊1780和第三發送模塊1790。更新模塊1780用于當組ID對應的HFN達到閾值時,更新組密鑰。第三發送模塊1790用于向MTC設備發送用MTC設備的接入層密鑰加密的更新后的組密鑰,以使MTC設備根據MTC設備的接入層密鑰解密得到更新后的組密鑰。這樣,可以避免同一組密鑰使用時間過長而引入不安全因素,從而可以進一步提高通信安全性。為了保證同一組ID的所有MTC設備共用相同的HFN,可以將組ID對應的HFN預先設置為固定值,也可以由基站來通知與HFN相關的信息。根據本發明的實施例,基站1700還可以包括第四發送模塊1795。第四發送模塊1795可以用于通過組ID對應組內所有MTC設備各自的信令承載、組ID對應組的公共信令承載或者廣播信道,向組ID對應組內所有MTC設備發送HFN的取值。或者,第四發送模塊1795可以用于當組ID對應的HFN達到閾值時,通過組ID對應組內所有MTC設備各自的信令承載、組ID對應組的公共信令承載或者廣播信道,向組ID對應組內所有MTC設備發送用于指示HFN加I的指示信息。第一獲取模塊1710、第二獲取模塊1720、接收單元1712、確定單元1714、綁定模塊1750、第三獲取模塊1760、第二發送模塊1770、更新模塊1780、第三發送模塊1790和第四發送模塊1795的上述和其他操作和/或功能可以參考上述方法100以及第一例子至第六例子的描述,為了避免重復,不再贅述。其中,綁定模塊1750、第三獲取模塊1760和更新模塊1780可以通過處理器實現,第二發送模塊1770、第三發送模塊1790和第四發送模塊1795可以通過輸出接口實現。根據本發明實施例提供的基站,基站可以向同一組內的MTC設備發送相同的組密鑰,從而可以使同一組內的MTC設備利用相同的組密鑰來正常進行組通信,而在基站中也只需要為同一個組保持相同組密鑰,這樣,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提高基站性能。圖18是根據本發明實施例的移動性管理實體1800的結構框圖。移動性管理實體1800包括第一獲取模塊1810、第二獲取模塊1820和發送模塊1830。第一獲取模塊1810和第二獲取模塊1820可以通過輸入接口和/或處理器實現,發送模塊1830可以通過輸出接口實現。第一獲取模塊1810用于獲取MTC設備所在組的組ID。第二獲取模塊1820用于獲取組ID對應的組通信根密鑰。發送模塊1830用于向基站發送組ID和組通信根密鑰,以使基站根據組通信根密鑰生成組ID對應的組密鑰并向MTC設備發送用MTC設備的接入層密鑰加密的組密鑰。第一獲取模塊1810、第二獲取模塊1820和發送模塊1830的上述和其他操作和/或功能可以參考上述方法1400以及第一例子至第六例子的描述,為了避免重復,在此不再贅述。根據本發明實施例提供的移動性管理實體,通過確定MTC設備所在組的組ID和組通信根密鑰,可以使基站確定與該組ID對應的組密鑰,并將MTC設備使用的組密鑰通過MTC設備的接入層密鑰的加密而安全發送給MTC設備,使得同一組ID內的MTC設備可以共用相同的組密鑰。這樣,同一組內的MTC設備可以利用相同的組密鑰來正常進行組通信,而在基站中也只需要為同一個組保持相同組密鑰,從而,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提高基站性能。圖19是根據本發明實施例的移動性管理實體1900的結構框圖。移動性管理實體1900的第一獲取模塊1910、第二獲取模塊1920和發送模塊1930與移動性管理實體1800的第一獲取模塊1810、第二獲取模塊1820和發送模塊1830基本相同。根據本發明的實施例,第一獲取模塊1910具體可用于將MTC設備劃分到組ID對應的組內。或者,第一獲取模塊1910具體可用于從其它網元獲取MTC設備所在組的組ID。或者,第一獲取模塊1910具體可用于接收MTC設備發送的組ID。根據本發明的實施例,第一獲取模塊1910還可具體用于接收MTC設備發送的組ID。在該情況下,第二獲取模塊1920可以包括發送單元1922、接收單元1924和生成單元1926。發送單元1922用于向MTC設備所屬的HSS發送組ID,以使HSS根據隨機數和與組ID對應的集合密鑰生成第一參數。接收單元1924用于從HSS接收第一參數。生成單元1926用于根據第一參數生成組ID對應的組通信根密鑰。其中,發送單元1922具體可用于當組ID沒有綁定與組ID對應的第一參數時,向MTC設備所屬的HSS發送組ID。根據本發明的實施例,移動性管理實體1900還可以包括第一綁定模塊1940和第三獲取模塊1950。第一綁定模塊1940可用于將第一參數與組ID相綁定并存儲。第三獲取模塊1950可用于當收到其它MTC設備發送的攜帶有組ID的附著請求時,根據組ID獲取與組ID相綁定的第一參數,以使生成單元1926根據第一參數生成組ID對應的組通信根密鑰。根據本發明的實施例,移動性管理實體1900還可以包括接收模塊1960和認證模塊1970。接收模塊1960用于從HSS接收組認證參數,其中組認證參數由HSS根據與組ID對應的集合密鑰生成,或者由HSS根據與組ID對應的集合密鑰和MTC設備的專屬密鑰生成。認證模塊1970用于根據組認證參數,與MTC設備進行認證。此時,生成單元1926可以用于在MTC設備與網絡側認證成功之后,根據第一參數生成組ID對應的組通信根密鑰。根據本發明的實施例,第二獲取模塊1920可以具體用于從組ID內的MTC設備中選擇一個MTC設備,并根據所選擇的MTC設備的密鑰確定組ID對應的組通信根密鑰。第二獲取模塊1920還可以具體用于生成一個隨機數,根據該隨機數確定組ID對應的組通信根密鑰。移動性管理實體1900還可以包括第二綁定模塊1980和第四獲取模塊1990。第二綁定模塊1980可用于將組ID和組通信根密鑰進行綁定并存儲。第四獲取模塊1990可用于當確定其他MTC設備屬于組ID對應的組時,根據組ID獲取相綁定的組通信根密鑰,以使發送模塊1930向基站發送組ID和組通信根密鑰。根據本發明的實施例,移動性管理實體1900還可以包括處理模塊1992。處理模塊1992可用于當網絡側維護的預定定時器達到第一預定閾值時,或者當基站更新組密鑰的次數達到第二預定閾值時,或者當維護的非接入層的計數值達到第三預定閾值時,與MTC設備進行重認證或者獲取組ID對應的新的組通信根密鑰。第一獲取模塊1910、第二獲取模塊1920、發送單元1922、接收單元1924、生成單元1926、第一綁定模塊1940、第三獲取模塊1950、接收模塊1960、認證模塊1970、第二綁定模塊1980、第四獲取模塊1990和處理模塊1992的上述和其他操作和/或功能,可以參考上述方法1400以及第一例子至第六例子的描述,為了避免重復,在此不再贅述。其中,第一綁定模塊1940、第三獲取模塊1950、認證模塊1970、第二綁定模塊1980和第四獲取模塊1990可以通過處理器實現,接收模塊I960可以通過輸入接口實現,處理模塊1992可以通過處理器和/或輸入接口實現。根據本發明實施例提供的移動性管理實體,移動性管理實體通過向基站發送組ID和組通信根密鑰,可以使基站向同一組內的MTC設備發送相同的組密鑰,從而可以使同一組內的MTC設備利用相同的組密鑰來正常進行組通信,而在基站中也只需要為同一個組保持相同組密鑰。這樣,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提高基站性能。圖20是根據本發明實施例的機器類通信設備2000的結構框圖。機器類通信設備2000包括第一接收模塊2010和第一解密模塊2020,第一接收模塊2010可以通過輸入接口實現,第一解密模塊2020可以通過處理器實現。第一接收模塊2010用于從基站接收基站用MTC設備的接入層密鑰加密的組密鑰,其中組密鑰由基站根據基站獲取的組通信根密鑰生成、并與基站獲取的MTC設備所在組的組ID對應,或者組密鑰由基站根據從MME獲取的組通信根密鑰生成、并與MME獲取的MTC設備所在組的組ID對應。第一解密模塊2020用于根據MTC設備的接入層密鑰解密得到組密鑰。第一接收模塊2010和第一解密模塊2020的上述和其他操作和/或功能可以參考上述方法1500以及第一例子至第六例子的描述,為了避免重復,在此不再贅述。根據本發明實施例提供的機器類通信設備,通過從基站接收和與所在組對應的組密鑰,可以與同一組的其他MTC設備共用相同的組密鑰來正常進行組通信,并且在基站中也只需要為同一個組保持相同組密鑰,從而,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提高基站性能。圖21是根據本發明實施例的機器類通信設備2100的結構框圖。機器類通信設備2100的第一接收模塊2110和第一解密模塊2120與機器類通信設備2000的第一接收模塊2010和第一解密模塊2020基本相同。根據本發明的實施例,同一組ID的所有MTC設備可以共用相同的HFN。這樣,可以使基站為同一組ID維持一個HXP Count值,從而可以進一步降低基站的處理復雜度。機器類通信設備2100還可以包括第二接收模塊2130和第二解密模塊2140。第二接收模塊2130用于從基站接收用MTC設備的接入層密鑰加密的更新后的組密鑰,其中更新后的組密鑰由基站在組ID對應的HFN達到閾值時進行組密鑰的更新而得到。第二解密模塊2140用于根據MTC設備的接入層密鑰解密得到更新后的組密鑰。為了使同一組的MTC設備共用相同的HFN,可以將組ID對應的HFN預先設置為固定值,也可以由MTC設備從基站接收與HFN取值相關的信息。根據本發明的實施例,機器類通信設備2100可以包括第三接收模塊2150。第三接收模塊2150可用于通過MTC設備的信令承載、組ID對應組的公共信令承載或者廣播信道,從基站接收HFN的取值。第三接收模塊2150也可用于當組ID對應的HFN達到閾值時,通過MTC設備的信令承載、組ID對應組的公共信令承載或者廣播信道,從基站接收用于指示HFN加I的指示信息。此外,為了避免同一組密鑰使用時間過長而引入不安全因素,可以在達到一定條件時,對組密鑰進行更新,以進一步提高組通信的安全性。根據本發明的實施例,機器類通信設備2100還可以包括處理模塊2160。處理模塊2160可用于當網絡側維護的預定定時器達到第一預定閾值時,或者當基站更新組密鑰的次數達到第二預定閾值時,或者當MME維護的非接入層的計數值達到第三預定閾值時,與MME進行重認證或者從基站獲取基站用MTC設備的接入層密鑰加密的新的組密鑰。第二接收模塊2130、第二解密模塊2140、第三接收模塊2150和處理模塊2160的上述和其他操作和/或功能可以參考上述方法1500以及第一例子至第六例子的描述,為了避免重復,在此不再贅述。其中,第二接收模塊2130和第三接收模塊2150可以通過輸入接口實現,第二解密模塊2140可以通過處理器實現,處理模塊2160可以通過處理器和/或輸入接口實現。根據本發明實施例提供的機器類通信設備,通過從基站接收與所在組對應的組密鑰,可以使同一組內的MTC設備利用相同的組密鑰來正常進行組通信,并且在基站中也只需要為同一個組保持相同組密鑰。這樣,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提聞基站性能。本領域技術人員可以意識到,結合本文中所公開的實施例中描述的各方法步驟和單元,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各實施例的步驟及組成。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。本領域技術人員可以對每個特定的應用使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。結合本文中所公開的實施例描述的方法步驟可以用硬件、處理器執行的軟件程序、或者二者的結合來實施。軟件程序可以置于隨機存取存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM或技術領域內所公知的任意其它形式的存儲介質中。盡管已示出和描述了本發明的一些實施例,但本領域技術人員應該理解,在不脫離本發明的原理和精神的情況下,可對這些實施例進行各種修改,這樣的修改應落入本發明的范圍內。
權利要求
1.種生成組密鑰的方法,其特征在于,包括: 獲取機器類通信MTC設備所在組的組ID ; 獲取所述組ID對應的組通信根密鑰; 根據所述組通信根密鑰生成所述組ID對應的組密鑰; 向所述MTC設備發送用所述MTC設備的接入層密鑰加密的所述組密鑰,以使所述MTC設備根據所述MTC設備的接入層密鑰解密得到所述組密鑰。
2.據權利要求1所述的方法,其特征在于,所述獲取MTC設備所在組的組ID包括: 將所述MTC設備劃分到所述組ID對應的組內;或者 從其它網元獲取所述MTC設備所在組的組ID。
3.據權利要求1或2所述的方法,其特征在于,所述獲取所述組ID對應的組通信根密鑰包括: 從所述組ID內的MTC設備中選擇MTC設備, 根據所選擇的MTC設備的密鑰確定所述組ID對應的組通信根密鑰;或者從移動性管理實體MME接收所述組ID對應的組通信根密鑰,其中由所述MME將所述MTC設備劃分到所述組ID對應的組內,從所述組ID內的MTC設備中選擇MTC設備,根據所選擇的MTC設備的密鑰確定所述組ID對應的組通信根密鑰,或者由所述MME根據所述MME生成的隨機數確定所述組ID對應的組通信根密鑰;或者 生成一個隨機數,根據該隨機數確定所述組ID對應的組通信根密鑰。
4.據權利要求1所述的方法,其特征在于,所述獲取MTC設備所在組的組ID、獲取所述組ID對應的組通信根密鑰包括: 從MME接收所述組ID和所述組通信根密鑰,所述組通信根密鑰由所述MTC設備所屬的歸屬用戶系統HSS根據隨機數和與所述組ID對應的集合密鑰生成,或者所述組通信根密鑰由所述HSS在收到所述MME轉發的來自一個MTC設備的所述組ID時,根據隨機數、所述組ID和所述一個MTC設備的專屬密鑰生成,并由所述HSS將所述組通信根密鑰發送給所述MME0
5.據權利要求1所述的方法,其特征在于,所述獲取MTC設備所在組的組ID包括: 從MME接收業務ID和與所述業務ID對應的業務根密鑰,所述業務ID為所述MTC設備發送給MME的、所述MTC設備所屬業務的業務ID,所述業務根密鑰由所述MTC設備所屬的HSS根據隨機數和與所述業務ID對應的集合密鑰生成,或者所述業務根密鑰由所述HSS在收到所述MME轉發的來自一個MTC設備的所述業務ID時,根據隨機數、所述業務ID和所述一個MTC設備的專屬密鑰生成,并由所述HSS將所述業務根密鑰發送給所述MME, 根據所述業務ID確定所述MTC設備所在組的組ID ; 所述獲取所述組ID對應的組通信根密鑰包括: 根據所述業務根密鑰生成所述組ID對應的組通信根密鑰。
6.據權利要求1至5中任一所述的方法,其特征在于,所述根據所述組通信根密鑰生成所述組ID對應的組密鑰之后,還包括: 將所述組通信根密鑰、所述組密鑰與所述組ID相綁定并存儲; 當確定其它MTC設備屬于所述組ID對應的組時,根據所述組ID獲取相綁定的所述組密鑰;向所述其它MTC設備發送用所述其他MTC設備的接入層密鑰加密的所述組密鑰,以使所述其他MTC設備根據所述其他MTC設備的接入層密鑰解密得到所述組密鑰。
7.據權利要求1所述的方法,其特征在于,同一組ID的所有MTC設備共用相同的超中貞號HFN。
8.據權利要求7所述的方法,其特征在于,還包括: 當所述組ID對應的HFN達到閾值時,更新所述組密鑰; 向所述MTC設備發送用所述MTC設備的接入層密鑰加密的更新后的組密鑰,以使所述MTC設備根據所述MTC設備的接入層密鑰解密得到所述更新后的組密鑰。
9.據權利要求7或8所述的方法,其特征在于, 所述組ID對應的HFN被預先設置為固定值;或者 通過所述組ID對應組內所有MTC設備各自的信令承載、所述組ID對應組的公共信令承載或者廣播信道,向所述組ID對應組內所有MTC設備發送所述HFN的取值;或者 當所述組ID對應的HFN達到閾值時,通過所述組ID對應組內所有MTC設備各自的信令承載、所述組ID對應組的公共信令承載或者廣播信道,向所述組ID對應組內所有MTC設備發送用于指示所述HFN加I的指示信息。
10.種生成組密鑰的方法,其特征在于,包括: 獲取機器類通信MTC設備所在組的組ID ; 獲取所述組ID對應的組通 信根密鑰; 向基站發送所述組ID和所述組通信根密鑰,以使所述基站根據所述組通信根密鑰生成所述組ID對應的組密鑰并向所述MTC設備發送用所述MTC設備的接入層密鑰加密的所述組密鑰。
11.據權利要求10所述的方法,其特征在于,所述獲取MTC設備所在組的組ID包括: 將所述MTC設備劃分到所述組ID對應的組內; 或者包括:從其它網元獲取所述MTC設備所在組的組ID ; 或者包括:接收所述MTC設備發送的所述組ID。
12.據權利要求10或11所述的方法,其特征在于,所述獲取所述組ID對應的組通信根密鑰包括: 向所述MTC設備所屬的歸屬用戶系統HSS發送所述組ID,以使所述HSS根據隨機數和與所述組ID對應的集合密鑰生成第一參數; 從所述HSS接收所述第一參數; 根據所述第一參數生成所述組ID對應的組通信根密鑰。
13.據權利要求12所述的方法,其特征在于,所述向所述MTC設備所屬的HSS發送所述組ID包括: 當所述組ID沒有綁定與所述組ID對應的第一參數時,向所述MTC設備所屬的HSS發送所述組ID。
14.據權利要求12或13所述的方法,其特征在于,所述從所述HSS接收所述第一參數之后,還包括: 將所述第一參數與所述組ID相綁定并存儲; 當收到其它MTC設備發送的攜帶有所述組ID的附著請求時,根據所述組ID獲取與所述組ID相綁定的所述第一參數; 根據所述第一參數生成所述組ID對應的組通信根密鑰; 向基站發送所述組ID和所述組通信根密鑰。
15.據權利要求12至14中任一項所述的方法,其特征在于,所述向所述MTC設備所屬的HSS發送所述組ID之后,還包括: 從所述HSS接收組認證參數,其中所述組認證參數由所述HSS根據與所述組ID對應的集合密鑰生成,或者由所述HSS根據與所述組ID對應的集合密鑰和所述MTC設備的專屬密鑰生成,并根據所述組認證參數,與所述MTC設備進行認證; 所述根據所述第一參數生成所述組ID對應的組通信根密鑰包括: 在所述MTC設備與網絡側認證成功之后,根據所述第一參數生成所述組ID對應的組通信根密鑰。
16.據權利要求10所述的方法,其特征在于,所述獲取所述組ID對應的組通信根密鑰包括: 從所述組ID內的MTC設備中選擇MTC設備, 根據所選擇的MTC設備的密鑰確定所述組ID對應的組通信根密鑰;或者 生成一個隨機數, 根據該隨機數確定所述組ID對 應的組通信根密鑰。
17.據權利要求10至16中任一項所述的方法,其特征在于,所述獲取所述組ID對應的組通信根密鑰之后,還包括: 將所述組ID和所述組通信根密鑰進行綁定并存儲; 當確定其他MTC設備屬于所述組ID對應的組時,根據所述組ID獲取相綁定的所述組通信根密鑰; 向基站發送所述組ID和所述組通信根密鑰。
18.據權利要求10至17中任一項所述的方法,其特征在于,還包括: 當網絡側維護的預定定時器達到第一預定閾值時,或者當所述基站更新組密鑰的次數達到第二預定閾值時,或者當維護的非接入層的計數值達到第三預定閾值時,與所述MTC設備進行重認證或者獲取所述組ID對應的新的組通信根密鑰。
19.種生成組密鑰的方法,其特征在于,包括: 從基站接收所述基站用機器類通信MTC設備的接入層密鑰加密的組密鑰,其中所述組密鑰由所述基站根據所述基站獲取的組通信根密鑰生成、并與所述基站獲取的MTC設備所在組的組ID對應,或者所述組密鑰由所述基站根據從移動性管理實體MME獲取的組通信根密鑰生成、并與所述MME獲取的MTC設備所在組的組ID對應; 根據所述MTC設備的接入層密鑰解密得到所述組密鑰。
20.據權利要求19所述的方法,其特征在于,同一組ID的所有MTC設備共用相同的超幀號HFN。
21.據權利要求20所述的方法,其特征在于,還包括: 從所述基站接收用所述MTC設備的接入層密鑰加密的更新后的組密鑰,其中所述更新后的組密鑰由所述基站在所述組ID對應的HFN達到閾值時進行組密鑰的更新而得到; 根據所述MTC設備的接入層密鑰解密得到所述更新后的組密鑰。
22.據權利要求20或21所述的方法,其特征在于, 所述組ID對應的HFN被預先設置為固定值;或者 通過所述MTC設備的信令承載、所述組ID對應組的公共信令承載或者廣播信道,從所述基站接收所述HFN的取值;或者 當所述組ID對應的HFN達到閾值時,通過所述MTC設備的信令承載、所述組ID對應組的公共信令承載或者廣播信道,從所述基站接收用于指示所述HFN加I的指示信息。
23.據權利要求19至22中任一項所述的方法,其特征在于,還包括: 當網絡側維護的預定定時器達到第一預定閾值時,或者當基站更新組密鑰的次數達到第二預定閾值時,或者當MME維護的非接入層的計數值達到第三預定閾值時,與MME進行重認證或者從所述基站獲取所述基站用MTC設備的接入層密鑰加密的新的組密鑰。
24.種基站,其特征在于,包括: 第一獲取模塊,用于獲取機器類通信MTC設備所在組的組ID ; 第二獲取模塊,用于獲取所述組ID對應的組通信根密鑰; 生成模塊,用于根據所述組通信根密鑰生成所述組ID對應的組密鑰; 第一發送模塊,用于向所述MTC設備發送用所述MTC設備的接入層密鑰加密的所述組密鑰,以使所述MTC設備根據所述MTC設備的接入層密鑰解密得到所述組密鑰。
25.據權利要求24所述的基站,其特征在于,所述第一獲取模塊用于將所述MTC設備劃分到所述組ID對應的組內;或者從其它網元獲取所述MTC設備所在組的組ID。
26.據權利要求24或25所述的基站,其特征在于,所述第二獲取模塊用于從所述組ID內的MTC設備中選擇MTC設備,根據所選擇的MTC設備的密鑰確定所述組ID對應的組通信根密鑰;或者 所述第二獲取模塊用于從移動性管理實體MME接收所述組ID對應的組通信根密鑰,其中由所述MME將所述MTC設備劃分到所述組ID對應的組內,從所述組ID內的MTC設備中選擇MTC設備,根據所選擇的MTC設備的密鑰確定所述組ID對應的組通信根密鑰,或者由所述MME根據所述MME生成的隨機數確定所述組ID對應的組通信根密鑰;或者 所述第二獲取模塊用于生成一個隨機數,根據該隨機數確定所述組ID對應的組通信根密鑰。
27.據權利要求24所述的基站,其特征在于,所述第一獲取模塊和所述第二獲取模塊用于從MME接收所述組ID和所述組通信根密鑰,所述組通信根密鑰由所述MTC設備所屬的歸屬用戶系統HSS根據隨機數和與所述組ID對應的集合密鑰生成,或者所述組通信根密鑰由所述HSS在收到所述MME轉發的來自一個MTC設備的所述組ID時,根據隨機數、所述組ID和所述一個MTC設備的專屬密鑰生成,并由所述HSS將所述組通信根密鑰發送給所述MME0
28.據權利要求24所述的基站,其特征在于,所述第一獲取模塊包括: 接收單元,用于從MME接收業 務ID和與所述業務ID對應的業務根密鑰,所述業務ID為所述MTC設備發送給MME的、所述MTC設備所屬業務的業務ID,所述業務根密鑰由所述MTC設備所屬的HSS根據隨機數和與所述業務ID對應的集合密鑰生成,或者所述業務根密鑰由所述HSS在收到所述MME轉發的來自一個MTC設備的所述業務ID時,根據隨機數、所述業務ID和所述一個MTC設備的專屬密鑰生成,并由所述HSS將所述業務根密鑰發送給所述 MME, 確定單元,用于根據所述業務ID確定所述MTC設備所在組的組ID ; 所述第二獲取模塊用于根據所述業務根密鑰生成所述組ID對應的組通信根密鑰。
29.據權利要求24至28中任一項所述的基站,其特征在于,還包括: 綁定模塊,用于將所述組通信根密鑰、所述組密鑰與所述組ID相綁定并存儲; 第三獲取模塊,用于當確定其它MTC設備屬于所述組ID對應的組時,根據所述組ID獲取相綁定的所述組密鑰; 第二發送模塊,用于向所述其它MTC設備發送用所述其他MTC設備的接入層密鑰加密的所述組密鑰,以使所述其他MTC設備根據所述其他MTC設備的接入層密鑰解密得到所述組密鑰。
30.據權利要求24所述的基站,其特征在于,同一組ID的所有MTC設備共用相同的超中貞號HFN,所述基站還包括: 更新模塊,用于當所述組ID對應的HFN達到閾值時,更新所述組密鑰; 第三發送模塊,用于向所述MTC設備發送用所述MTC設備的接入層密鑰加密的更新后的組密鑰,以使所述MTC設備根據所述MTC設備的接入層密鑰解密得到所述更新后的組密鑰。
31.據權利要求24所述的基站,其特征在于,同一組ID的所有MTC設備共用相同的HFN,所述組ID對應的HFN 被預先設置為固定值;或者 所述基站還包括第四發送模塊,用于通過所述組ID對應組內所有MTC設備各自的信令承載、所述組ID對應組的公共信令承載或者廣播信道,向所述組ID對應組內所有MTC設備發送所述HFN的取值;或者 所述第四發送模塊用于當所述組ID對應的HFN達到閾值時,通過所述組ID對應組內所有MTC設備各自的信令承載、所述組ID對應組的公共信令承載或者廣播信道,向所述組ID對應組內所有MTC設備發送用于指示所述HFN加I的指示信息。
32.種移動性管理實體,其特征在于,包括: 第一獲取模塊,用于獲取機器類通信MTC設備所在組的組ID ; 第二獲取模塊,用于獲取所述組ID對應的組通信根密鑰; 發送模塊,用于向基站發送所述組ID和所述組通信根密鑰,以使所述基站根據所述組通信根密鑰生成所述組ID對應的組密鑰并向所述MTC設備發送用所述MTC設備的接入層密鑰加密的所述組密鑰。
33.據權利要求32所述的移動性管理實體,其特征在于,所述第一獲取模塊用于將所述MTC設備劃分到所述組ID對應的組內;或者 所述第一獲取模塊用于從其它網元獲取所述MTC設備所在組的組ID ;或者 所述第一獲取模塊用于接收所述MTC設備發送的所述組ID。
34.據權利要求32或33所述的移動性管理實體,其特征在于,所述第一獲取模塊用于接收所述MTC設備發送的所述組ID, 其中,所述第二獲取模塊包括: 發送單元,用于向所述MTC設備所屬的歸屬用戶系統HSS發送所述組ID,以使所述HSS根據隨機數和與所述組ID對應的集合密鑰生成第一參數;接收單元,用于從所述HSS接收所述第一參數; 生成單元,用于根據所述第一參數生成所述組ID對應的組通信根密鑰。
35.據權利要求34所述的移動性管理實體,其特征在于,所述發送單元用于當所述組ID沒有綁定與所述組ID對應的第一參數時,向所述MTC設備所屬的HSS發送所述組ID。
36.據權利要求34或35所述的移動性管理實體,其特征在于,還包括: 第一綁定模塊,用于將所述第一參數與所述組ID相綁定并存儲; 第三獲取模塊,用于當收到其它MTC設備發送的攜帶有所述組ID的附著請求時,根據所述組ID獲取與所述組ID相綁定的所述第一參數,以使所述生成單元根據所述第一參數生成所述組ID對應的組通信根密鑰。
37.據權利要求34至36中任一項所述的移動性管理實體,其特征在于,還包括: 接收模塊,用于從所述HSS接收組認證參數,其中所述組認證參數由所述HSS根據與所述組ID對應的集合密鑰生成,或者由所述HSS根據與所述組ID對應的集合密鑰和所述MTC設備的專屬密鑰生成, 認證模塊,用于根據所述組認證參數,與所述MTC設備進行認證; 所述生成單元用于在所述MTC設 備與網絡側認證成功之后,根據所述第一參數生成所述組ID對應的組通信根密鑰。
38.據權利要求32所述的移動性管理實體,其特征在于,所述第二獲取模塊用于從所述組ID內的MTC設備中選擇MTC設備,并根據所選擇的MTC設備的密鑰確定所述組ID對應的組通信根密鑰;或者 所述第二獲取模塊用于生成一個隨機數,根據該隨機數確定所述組ID對應的組通信根密鑰。
39.據權利要求32至38中任一項所述的移動性管理實體,其特征在于,還包括: 第二綁定模塊,用于將所述組ID和所述組通信根密鑰進行綁定并存儲; 第四獲取模塊,用于當確定其他MTC設備屬于所述組ID對應的組時,根據所述組ID獲取相綁定的所述組通信根密鑰,以使所述發送模塊向基站發送所述組ID和所述組通信根密鑰。
40.據權利要求32至39中任一項所述的移動性管理實體,其特征在于,還包括: 處理模塊,用于當網絡側維護的預定定時器達到第一預定閾值時,或者當所述基站更新組密鑰的次數達到第二預定閾值時,或者當維護的非接入層的計數值達到第三預定閾值時,與所述MTC設備進行重認證或者獲取所述組ID對應的新的組通信根密鑰。
41.種機器類通信設備,其特征在于,包括: 第一接收模塊,用于從基站接收所述基站用機器類通信MTC設備的接入層密鑰加密的組密鑰,其中所述組密鑰由所述基站根據所述基站獲取的組通信根密鑰生成、并與所述基站獲取的MTC設備所在組的組ID對應,或者所述組密鑰由所述基站根據從移動性管理實體MME獲取的組通信根密鑰生成、并與所述MME獲取的MTC設備所在組的組ID對應; 第一解密模塊,用于根據所述MTC設備的接入層密鑰解密得到所述組密鑰。
42.據權利要求41所述的機器類通信設備,其特征在于,同一組ID的所有MTC設備共用相同的超幀號HFN,所述機器類通信設備還包括: 第二接收模塊,用于從所述基站接收用所述MTC設備的接入層密鑰加密的更新后的組密鑰,其中所述更新后的組密鑰由所述基站在所述組ID對應的HFN達到閾值時進行組密鑰的更新而得到; 第二解密模塊,用于根據所述MTC設備的接入層密鑰解密得到所述更新后的組密鑰。
43.據權利要求41所述的機器類通信設備,其特征在于,同一組ID的所有MTC設備共用相同的HFN,所述組ID對應的HFN被預先設置為固定值;或者 所述機器類通信設備包括第三接收模塊,用于通過所述MTC設備的信令承載、所述組ID對應組的公共信令承載或者廣播信道,從所述基站接收所述HFN的取值;或者 所述第三接收模塊用于當所述組ID對應的HFN達到閾值時,通過所述MTC設備的信令承載、所述組ID對應組的公共信令承載或者廣播信道,從所述基站接收用于指示所述HFN加I的指示信息。
44.據權利要求41至43中任一項所述的機器類通信設備,其特征在于,還包括: 處理模塊,用于當網絡側維護的預定定時器達到第一預定閾值時,或者當基站更新組密鑰的次數達到第二 預定閾值時,或者當MME維護的非接入層的計數值達到第三預定閾值時,與MME進行重認證或者從所述基站獲取所述基站用MTC設備的接入層密鑰加密的新的組密鑰。
全文摘要
本發明實施例提供了生成組密鑰的方法和相關設備。該方法包括獲取機器類通信MTC設備所在組的組ID;獲取組ID對應的組通信根密鑰;根據組通信根密鑰生成組ID對應的組密鑰;向MTC設備發送用MTC設備的接入層密鑰加密的組密鑰,以使MTC設備根據MTC設備的接入層密鑰解密得到組密鑰。根據上述技術方案,基站可以向MTC設備分配與MTC設備所在的組對應的組密鑰,從而可以使同一組內的MTC設備利用相同的組密鑰來正常進行組通信,而在基站中也只需要為同一個組保持相同組密鑰,這樣,可以降低基站操作的復雜性,減少基站維護和管理的密鑰數,提高基站性能。
文檔編號H04W24/02GK103096309SQ201110340029
公開日2013年5月8日 申請日期2011年11月1日 優先權日2011年11月1日
發明者張麗佳, 陳璟, 許怡嫻 申請人:華為技術有限公司