具体实施方式
下面以具体实施例结合附图对本发明进一步加以阐述。
图3为本发明传送START值的方法第一实施例流程图,如图所示,其包括以下步骤:
S301、UE通过RRC消息将初始层3消息及START值发送至RAN。
在LTE/SAE系统中,需要将START值尽可能早地发送至网络侧,以便于尽早进行安全性保护。因此UE在会话开始时,可以使用RAN的第一条上行消息将START值发送至RAN,以便于对AS信令进行保护,在UMTS系统及其演进版LTE/SAE系统中,上述RAN的第一条上行消息对应为RRC建链请求消息。同时为实现将START值传送至CN,可以在初始层3消息中增加携带START值的信元。其中,初始层3消息是一类消息的通称,即NAS信令的第一条消息,对应的实际消息包括:Attach request(附着请求)、Trackingarea update(跟踪区更新)、CM service request(业务请求)、Paging response(寻呼响应)消息以及可能的其他消息。本实施例中,初始层3消息优先选用承载于RAN的第一条上行消息RRC建链请求消息中,但并不仅限于此,其还可以承载在其他的RRC消息中传输至MME中。
由于LTE/SAE系统中,对于AS信令的保护是在RAN中进行,对于NAS信令的保护是在MME中进行,而对于用户面的数据保护是在UPE中进行的,所以对应需要3个密钥对,分别以Kas、Knas、Kupe表示,该三个密钥对可以使用同一个START值对各自的生命周期进行表示,也可以各自使用不同的START值来表征生命周期,此时START值则包括STARTAS、STARTNAS或STARTUPE。对应于步骤S301中,如果RAN、MME、UPE共享一个START值,则分别承载在RRC消息及初始层3消息中的START值相同;而如果RAN、MME、UPE使用不同的START值,则此时承载在RRC消息中的即为STARTAS,而CN中MME、UPE需要使用的STARTNAS及STARTUPE则承载于初始层3消息中。
S302、RAN对RRC消息进行解析,获取并将初始层3消息承载于eRANAP(Radio Access Network Application Part,无线接入网应用部分)消息中传送至MME。
由上述步骤S301中,初始层3消息中增加了携带START值的信元,并承载于RRC消息中通过空口传输至RAN,RAN在接收到该RRC消息后,经过解析获取其中的初始层3消息,通过eRANAP消息将初始层3消息传送至CN侧的MME,由此即实现了将START值传送至CN。另外,RAN也需要通过解析RRC消息获取其中的START值并保存,以便eNB对AS信令进行保护。
S303、MME在发送至UPE的消息中增加信元以承载START值,并传送至UPE。
MME在收到eRANAP消息后,通过解析获取其中的START值并存储。对于MM、UPE分离的情况,在UPE发送或接收用户数据前还需要将START值从MME传送至UPE。具体可以通过在MME、UPE之间接口的第一条消息或其他MME向UPE发送的消息,如安全模式命令消息中增加一个信元,从而将START值传送至UPE。
在会话进行中,ME中的START值将会随着传输数据包的增加而增加,因此会话结束时需要根据ME中的START值与预设的门限值THERESHOLD进行比较从而判断是否需要进行START值的更新。依START值表征生命周期的不同,START值的更新具体包括三种情况:
(1)使用一个START值表征Kas、Knas、Kupe的生命周期
如图4所示,当使用一个START值表征密钥对Kas、Knas、Kupe的生命周期时,START值的更新包括以下步骤:
S401、判断UE侧ME中的START值是否不小于预设的第一门限值,如果是则转步骤S402,否则转步骤S403。
S402、使用第一门限值更新USIM中的START值,同时删除UE侧USIM中的密钥对Kas、Knas及Kupe,并使用MME与UE的共享密钥对K’对Kas、Knas及Kupe进行更新。
当START值达到最大值后,即表示密钥对均已过期,需要同时对eNB、MME、UPE中的三个密钥对Kas、Knas及Kupe进行更新,更新过程是从MME中保存的密钥K’衍生出三个新的密钥对。
S403、使用ME中的START值更新USIM中的START值。
如果START值未达到最大值,表示密钥尚未失效可以继续使用,此时需要对START值进行更新。
本实施例中使用一个START值表征三个密钥对Kas、Knas、Kupe的生命周期,而对于MME和UE中的共享密钥对K’,其生命周期可以有两种表示方法:a、采用Lifetime(生命周期)的方式,当Lifetime超时后,即在下一次会话前触发AKA流程以更新共享密钥对K’。b、设立计数器以计数密钥对Kas、Knas、Kupe的衍生次数,或者使用该计数器对START值进行累加,当计数值达到一定值时,即触发AKA流程更新密钥K’。
(2)使用一个START值表征K’的生命周期
如图5所示,当使用一个START值表征MME和UE共享密钥对K’的生命周期时,START值的更新包括以下步骤:
S501、判断UE侧ME中的START值是否不小于预设的第二门限值,如果是则转步骤S502,否则转步骤S504。
S502、删除UE侧USIM中的Kas、Knas、Kupe及K’,并进行AKA流程程对K’进行更新。
当START值达到最大值后,说明密钥K’已经过期,需要进行AKA流程对K’进行更新。
S503、使用第二门限值更新USIM中的START值,同时使用更新后的K’对Kas、Knas及Kupe进行更新。
S504、使用ME中的START值更新USIM中的START值。
(3)使用三个START值分别表征Kas、Knas、Kupe的生命周期
如图6所示,当使用三个不同的START值STARTAS、STARTNAS或STARTUPE分别表征密钥对Kas、Knas、Kupe的生命周期时,START值的更新包括以下步骤:
S601、判断UE侧ME中的STARTAS、STARTNAS或STARTUPE是否不小于预设的对应门限值,如果是则转步骤S602,否则转步骤S603。
对应于三个不同的START值STARTAS、STARTNAS及STARTUPE,可以设置三个对应的不同门限值,也可以使用同一个门限值。
S602、使用对应的门限值更新USIM中的STARTAS、STARTNAS或STARTUPE,同时对应删除UE侧USIM中的Kas、Knas或Kupe,并使用K’对Kas、Knas或Kupe进行更新。
当某一START值达到对应或公共的门限值时,密钥更新过程将仅仅更新START值达到门限值的密钥对,更新过程是从MME中保存的密钥K’衍生出相应的密钥对Kas、Knas或Kupe。
S603、使用ME中的STARTAS、STARTNAS或STARTUPE对应更新USIM中的STARTAS、STARTNAS或STARTUPE。
会话结束后,START值未超过对应门限值时,则无须进行密钥更新,只需使用ME中的STARTAS、STARTNAS或STARTUPE值对应更新USIM中的START值。
本实施例中,使用三个START值分别表征密钥对Kas、Knas、Kupe的生命周期,而对于MME和UE中的共享密钥对K’,其生命周期的表示除了按上述START值更新实施例一中以Lifetime及计数器两种方式实现,还可以单独设立一个变量START’用于累加各衍生密钥的START值,从而当START’达到某一门限值时,即触发AKA流程对K’进行更新。
由上述本发明传送START值的方法第一实施例,使用初始层3消息实现将START值传送至CN中的MME及UPE,解决了LTE/SAE系统中不能将START值发送到CN中的问题,同时该方法对现有UMTS系统的兼容性较好,有利于系统重用。同时针对LTE/SAE系统中需要使用的三个密钥对Kas、Knas、Kupe,本发明上述实施例公开了三种使用START值表征密钥生命周期的方案,进一步实现了后续对START值及密钥的更新。
图7为本发明传送START值的方法第二实施例流程图,如图所示,其包括以下步骤:
S701、UE通过RRC消息将初始层3消息及START值发送至RAN。
该步骤与本发明的方法第一实施例中步骤S301相同,UE通过在RRC消息中增加两个信元,分别承载RAN所需要的START值及包括有CN所需START值的初始层3消息,在封装之后由UE向RAN发送。
S702、RAN对RRC消息进行解析,获取并将初始层3消息承载于eRANAP消息中传送至MME。
本实施例是针对具体应用中eNB与UPE合设的情况提出,START值通过初始层3消息传送至CN,与本发明第一实施例相同,但不包括MME传送START值至UPE的步骤。
当使用一个START值时,RRC消息与初始层3消息中承载的START值相同,而会话结束后START值的更新可根据本发明的方法第一实施例中所述的START值更新实施例一或二进行;当使用不同的START值时,则RRC消息中承载的为eNB与UPE合设后公用的STARTAS,而MME使用的STARTNAS则承载于初始层3消息中,会话结束后START值的更新可参考本发明的方法第一实施例中所述的更新实施例三进行,其差别在于本实施例中仅使用两个不同的START值。
图8为本发明传送START值的方法第三实施例流程图,如图所示,其包括以下步骤:
S801、UE在RRC消息中增加信元以承载START值并向RAN发送。
本实施例中,START值不再承载于初始层3消息中随RRC消息发送至RAN,而是通过直接在RRC消息中增加信元,以承载START值,之后向RAN发送。
S802、RAN对RRC消息进行解析,获取START值并通过eRANAP消息传送至MME。
与本发明第一实施例中START值承载在初始层3消息并经过RAN传送至MME不同,本实施例中,RAN在接收到RRC消息后,虽然也需要对其进行解析,但通过解析并非从中获取初始层3消息而是START值。之后RAN再在eRANAP消息中增加信元承载该START值传送至MME。另外,RAN还需要对START值进行保存以供eNB进行AS的安全性保护。
S803、MME在发送至UPE的消息中增加信元以承载START值,并传送至UPE。
该步骤与本发明第一实施例步骤S303相同,CN的MME在收到START值后还需要传送至UPE,具体可在MME和UPE之间接口的第一条消息或是其他MME向UPE发送的消息,如安全模式命令中增加一个携带START值的信元来实现。
如上所述的本发明传送START值的方法第三实施例,如果eNB、MME及UPE使用共享的START值,则UE至RAN、RAN至MME、MME至UPE所传送的START值均相同;而如果eNB、MME及UPE使用不同的START值,则步骤S801中传送的START值包括STARTAS、STARTNAS及STARTUPE,而步骤S802中RAN所存储的START值即为STARTAS,而传送至MME的START值则包括STARTNAS及STARTUPE,MME则将STARTUPE传送至UPE。
会话结束后,仍需要根据ME中的START值与预设的门限值进行比较以判断是否进行START值的更新,具体情况与本发明传送START值的方法第一实施例中的START值更新过程相同,此处不再加以赘述。
图9为本发明传送START值的方法第四实施例流程图,如图所示,其包括以下步骤:
S901、UE通过在RRC消息中增加信元将START值发送至RAN。
S902、RAN在eRANAP消息中增加信元,将START值传送至MME。
本实施例属于上述第三实施例的扩展,其亦是针对eNB与UPE合设的情况提出,START值通过RRC消息传送至CN,与第三实施例的步骤S801~S802相同,但不包括MME传送START值至UPE的步骤。
同样,当使用一个START值时,RRC消息与eRANAP消息中承载的则START值相同,而会话结束后START值的更新可根据本发明的方法第一实施例中所述的START值更新实施例一或二进行;当使用不同的START值时,则RRC消息中承载的为eNB与UPE合设后公用的STARTAS,而MME使用的STARTNAS则承载于eRANAP消息中,会话结束后START值的更新可参考本发明的方法第一实施例中所述的START值更新实施例三进行,其差别在于本实施例中仅使用两个不同的START值。
本发明实施例还公开一种传送START值的系统,其第一实施例如图10所示,包括UE 100、RAN 200及CN 300。其中,UE 100包括START值发送单元110,其在会话开始时使用RRC消息将START值发送至RAN 200;RAN200则在收到该RRC消息后,使用eRANAP消息将START值发送至CN 300。
本实施例,UE 100中还包括初始层3消息封装单元120,CN 300中还包括MME310及UPE 320,MME310则进一步包括UPE消息封装单元311。其中,UE 100的初始层3消息封装单元120通过在初始层3消息中增加信元以承载START值,之后进行封装并通过START值发送单元110使用RRC消息发送至RAN 200;此外,START值发送单元110还必须使用RRC消息将RAN 200所需的START值单独或随封装后的初始层3消息一起发送至RAN200中。RAN 200收到该RRC消息后,获取其中的初始层3消息并使用eRANAP消息发送至MME 310,另外RAN 200也需要获取RRC消息中承载的START值并保存以供eNB对AS信令进行保护。本实施例中通过初始层3消息封装单元120使用初始层3消息承载START值进行传输可实现将START值传送至CN 300,然而其中初始层3消息通过RRC信息由UE 100传送至RAN200,再通过eRANAP消息传送至MME 310的过程则均为现有技术,并非本发明的必要技术特征,故此处不加以赘述。接续上述说明,MME 310收到eRANAP消息后,获取其中的初始层3消息并进行解析,以获取所述START值并保存,之后再由UPE消息封装单元311将该START值承载于发送至UPE320的消息中由MME 310发送至UPE 320。
由本发明传送START值的方法实施例可知,对于LTE/SAE系统中的三个密钥对:AS密钥对Kas、NAS密钥对Knas及UPE数据密钥Kupe,可以使用同一个START值对各自的生命周期进行表示,也可以各自使用不同的START值来表征生命周期,此时START值则包括STARTAS、STARTNAS或STARTUPE。对应于上述本发明传送START值的系统第一实施例中,如果RAN、MME、UPE共享一个START值,则初始层3消息及RRC消息中所承载的START值相同;而如果RAN、MME、UPE使用不同的START值,则此时RRC消息中单独承载的为STARTAS,而CN中MME、UPE需要使用的STARTNAS或STARTUPE则承载于初始层3消息中。
本实施例中,CN 300包括MME 310及UPE 320,具体应用中UPE 320还可以与RAN中基站eNB(图中未显示)合设,从而CN 300中仅包括MME310,且MME 310无须将START值传送至UPE中,所以并不包括UPE消息封装单元311。至于初始层3消息及RRC消息所承载的START值,与上述情况类似:如果使用不同的START值,则RRC消息所需承载的即为eNB与UPE合设后公用的STARTAS,而MME使用的STARTNAS则承载于初始层3消息中。上述应为本发明传送START值的系统第一实施例的扩展,虽未加以图示说明,仍应落入本发明的保护范围之内。
另外,UE 100中进一步包括:门限值比较单元130及START值更新单元140。其中,门限值比较单元130,用于在UE 100的会话结束后对UE 100侧ME(图中未显示)中的START值与预设的门限值进行比较;START值更新单元140,进一步根据门限值比较单元130的比较结果对UE 100侧USIM(图中未显示)中的START值进行更新。具体START值的更新包括三种情况:
(1)使用一个START值表征Kas、Knas、Kupe的生命周期
当START值用于表征AS密钥对Kas、NAS密钥对Knas及UPE数据密钥Kupe的生命周期,则
门限值比较单元130,判断UE 100侧ME中的START值是否不小于预设的第一门限值;如果是,则START值更新单元140则使用第一门限值更新USIM中的START值,同时UE 100还需删除USIM中的Kas、Knas及Kupe,并使用MME与UE的共享密钥对K’对Kas、Knas及Kupe进行更新;否则START值更新单元140使用ME中的START值更新USIM中的START值。
(2)使用一个START值表征K’的生命周期
当START值用于表征K’的生命周期,则
门限值比较单元130,判断ME中的START值是否不小于预设的第二门限值;如果是,则START值更新单元140则使用第二门限值更新USIM中的START值,同时UE 100需删除USIM中的Kas、Knas、Kupe及K’,并进行AKA过程对K’进行更新,再使用更新后的K’对Kas、Knas及Kupe进行更新;否则START值更新单元140使用ME中的START值更新USIM中的START值。
(3)使用三个START值分别表征Kas、Knas、Kupe的生命周期
当START值包括:用于表征Kas生命周期的STARTAS、用于表征Knas生命周期的STARTNAS及用于表征Kupe生命周期的STARTUPE,则
门限值比较单元130,判断ME中的STARTAS、STARTNAS或STARTUPE是否不小于预设的对应门限值;如果是,则START值更新单元140则使用对应的门限值更新USIM中的STARTAS、STARTNAS或STARTUPE,同时UE 100也需对应删除USIM中的Kas、Knas或Kupe,并使用K’对Kas、Knas或Kupe进行更新;否则,START值更新单元140使用ME中的STARTAS、STARTNAS或STARTUPE对应更新USIM中的STARTAS、STARTNAS或STARTUPE。
由上述本发明传送START值的系统第一实施例,通过在初始层3消息中增加START值信元,并分别将初始层3消息在AS承载于RRC消息,在NAS承载于eRANAP消息中进行传输,从而实现将START值由UE 100传送至CN300中的MME 310及UPE 320,解决了LTE/SAE系统中不能将START值发送到CN中的问题,且对现有UMTS系统的兼容性较好,有利于系统重用。
图11为本发明传送START值的系统第二实施例,如图所示,仍包括UE100、RAN 200及CN 300。与上述系统第一实施例相同,UE 100包括START值发送单元110,其在会话开始时使用RRC消息将START值发送至RAN 200;RAN 200则在收到该RRC消息后,使用eRANAP消息将START值发送至CN300。
本实施例中,START值发送单元110还进一步包括RRC消息封装子单元111,RAN 200则包括RRC消息解析单元210及eRANAP消息封装单元220,CN 300包括MME310。其中,RRC消息封装子单元111直接将START值作为一个信元承载于RRC消息由UE 100发送至RAN 200;RAN 200收到RRC消息后,则由RRC消息解析单元210进行解析,获取START值进行保存,并进一步由eRANAP消息封装单元220通过在eRANAP消息中增加信元,以承载该START值,之后进行封装,并由RAN 200传送至MME 310;MME 310对该eRANAP消息并进一步对初始层3消息进行解析,以获取START值并保存。
由上述可知,与本发明传送START值的系统第一实施例不同,本实施例中,UE 100由START值发送单元110中的RRC消息封装子单元112直接承载START值向RAN 200传送;而RAN 200中则由RRC消息解析单元210进行解析获取START值,并进一步由eRANAP消息封装单元220在eRANAP消息中增加信元承载该START值发送至MME 310。
本实施例中,UPE与RAN 200中的eNB(图中未显示)为合设,因此CN 300中仅包括MME 310,且MME 310也无须包括UPE消息封装单元。如果UPE与eNB分离,则该部分与上述系统第一实施例中相同,CN 300还包括UPE,而MME 310则还包括UPE消息封装单元,以便将START值承载于发送至UPE的消息中发送。另外,UE 100还包括门限值比较单元130及START值更新单元140,通过该START值更新单元140根据门限值比较单元130对ME中START值与预设门限值的比较结果,对START值进行更新,其与上述本发明传送START值的系统第一实施例相同,因此不再加以赘述。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。