认证方法和认证设备技术领域
本发明涉及移动通信技术,尤其涉及一种认证方法和认证设备。
背景技术
长期演进(Long Term Evolution,LTE)系统中,用户设备(User
Equipment,UE)入网时需要完成签约认证(subscription authentication),
即完成全球用户身份模块(Universal Subscriber Identity Module,USIM)
认证,该认证由UE的卡和移动管理实体(Mobile Management Entity,
MME)间执行认证和密钥协商(Authentication and Key Agreement,AKA)
过程完成。演进基站(evolution NodeB,eNB)启动时,可以和有接口的
网元间进行基于证书的密钥交换(Internet Key Exchange,IKE)认证,即
平台认证(platform authentication),并建立IPsec安全隧道,或者建立传
输层安全协议(Transport Layer Security Protocol,TLS)隧道。中继节点
(Relay Node,RN)是长期演进系统的进一步增强(Long Term Evolution
Advanced,LTE-A)中引入的新的接入网节点,RN有双重角色:UE角色
和eNB角色。在引入RN后,对应的eNB和MME(mobility management
entity移动性管理实体)分别为锚点基站(DeNB,Donor eNB)和
MME_RN。
RN在入网过程中,和传统的UE一样,会与MME_RN进行AKA过
程,完成对RN卡(即USIM)的认证。但是,由于RN设备与USIM之
间通道的不安全性,单纯进行AKA认证很容易被攻击者攻击,不能保证
安全性。
发明内容
本发明实施例是提供一种认证方法和认证设备,提高安全保护能力。
本发明实施例提供了一种认证方法,包括:
获取签约认证后生成的第一密钥,并获取平台认证后生成的第二密钥;
根据所述第一密钥和第二密钥进行密钥推演,得到第三密钥,根据所
述第三密钥推演非接入层NAS密钥以及接入层AS根密钥,所述NAS密钥用
于保护NAS消息,所述AS根密钥用于推演AS密钥,所述AS密钥用于保护
AS消息和数据。
本发明实施例提供一种认证设备,包括:
获取模块,用于获取签约认证后生成的第一密钥,并获取平台认证后生
成的第二密钥;
推演模块,用于根据所述获取模块获取的第一密钥和第二密钥进行密钥
推演,得到第三密钥,根据所述第三密钥推演非接入层NAS密钥以及接入层
AS根密钥,所述NAS密钥用于保护NAS消息,所述AS根密钥用于推演
AS密钥,所述AS密钥用于保护AS消息和数据。
本发明实施例提供了一种认证方法,包括:
获取签约认证后生成的第一密钥,并与DeNB进行平台认证,生成第二
密钥,所述DeNB在与中继节点RN建立安全隧道后将所述第二密钥发送给
所述RN;
接收所述DeNB发送的指示消息,所述指示消息中包含表明所述设备
认证是否成功的信息,如果所述指示消息包括表明所述设备认证未成功的
信息,则释放与所述RN的连接。
本发明实施例提供了一种认证设备,包括:
获取模块,用于获取签约认证后生成的第一密钥,并与锚点基站DeNB
进行平台认证,生成所述第二密钥;
释放模块,用于在所述DeNB在与中继节点RN建立安全隧道后将所述
获取模块获取的第二密钥发送给所述RN后,接收所述DeNB发送的指示消
息,所述指示消息中包含表明所述设备认证是否成功的信息,如果所述指
示消息包括表明所述设备认证未成功的信息,则释放与所述RN的连接。
由上述技术方案可知,本发明实施例不仅进行卡认证,还进行设备认证,
通过对卡认证生成的第一密钥和设备认证生成的第二密钥进行密钥推演得到
第三密钥,采用第三密钥得到NAS密钥和AS密钥并进行安全保护,可以提
高安全保护能力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中
所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发
明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的
前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例的方法流程示意图;
图2为本发明第二实施例的方法流程示意图;
图3为本发明第三实施例的方法流程示意图;
图4为本发明第四实施例的方法流程示意图;
图5为本发明第五实施例的设备的结构示意图;
图6为本发明第六实施例的方法流程示意图;
图7为本发明第七实施例的设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发
明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获
得的所有其他实施例,都属于本发明保护的范围。
图1为本发明第一实施例的方法流程示意图,包括:
步骤11:RN的MME(MME_RN)获取签约认证后生成的第一密钥,
并获取平台认证后生成的第二密钥;
步骤12:MME_RN根据所述第一密钥和第二密钥进行密钥推演,得到
第三密钥,根据所述第三密钥推演非接入层(Non-Access Stratum,NAS)密
钥以及接入层(Access Stratum,AS)根密钥,所述NAS密钥用于保护NAS
消息,所述AS根密钥用于推演AS密钥,所述AS密钥用于保护AS消息和
数据。
本实施例通过对第一密钥和第二密钥进行密钥推演得到第三密钥,采用
第三密钥推演NAS密钥和AS根密钥,可以避免单纯采用第一密钥造成的不
安全问题,提高安全保护能力。
图2为本发明第二实施例的方法流程示意图,本实施例以RN与DeNB
进行平台认证生成第二密钥为例。参见图2,本实施例包括:
步骤21:RN与MME_RN进行AKA过程,完成签约认证。
其中,在签约认证完成后,RN和MME_RN都可以生成第一密钥Kasme。
步骤22:RN与DeNB进行IKA过程,完成平台认证,并建立IPsec隧
道或者TLS隧道。
步骤23:平台认证完成后,RN和DeNB生成第二密钥Ko。
具体地,可以是DeNB生成随机数Ko,通过IPsec隧道或者TLS隧道发
送给RN;也可以是,在建立IPsec过程或者TLS过程中通过生成的共享密钥
获得Ko。
步骤24:DeNB通过S1消息将第二密钥Ko发送给MME_RN。
步骤25:MME_RN根据第一密钥Kasme和第二密钥Ko,得到第三密钥
Kasme’。
其中,MME_RN可以采用密钥推演函数KDF得到新的密钥,即
Kasme’=KDF(Ko,Kasme)。密钥推演函数是一种现有的用于产生密钥的算
法。
步骤26:MME_RN向RN发送用于启动RN侧密钥的消息。
例如,上述的启动RN侧密钥可以包括:启动RN侧的NAS密钥,和/
或,启动RN侧的AS层密钥。
其一,为了启动RN侧的NAS密钥,可以是MME_RN向RN发送NAS
安全模式命令(Secure Mode Command,SMC)消息。
在一个实施例中,该NAS SMC消息用于启动RN侧的NAS密钥,该消
息中可以包含如下项中的至少一项:安全算法、安全开启指示信息以及NAS
密钥标识。
另外,该NAS SMC消息可以用NAS密钥进行保护,MME_RN在计算
出第三密钥后,可以根据第三密钥来计算NAS密钥,其中具体的计算过程可
以参见现有技术中用第一密钥计算NAS密钥的过程。
另外,该用于启动RN侧的NAS密钥的消息也不限于NAS SMC,也可
以采用新增的消息。
在一个实施例中,为了启动RN侧的AS密钥,可以是:
MME_RN根据第三密钥计算AS根密钥KeNB,并将该AS根密钥KeNB
发送给DeNB;DeNB根据该AS根密钥计算AS密钥,并向RN发送AS SMC
消息,该AS SMC消息可以用计算得到的AS密钥进行保护。其中,由AS
根密钥计算AS密钥的算法可以采用通常的算法实现。
该AS SMC消息用于启动RN侧的AS密钥,该消息中可以包含如下项
中的至少一项:安全算法、安全开启指示信息以及AS密钥标识。
另外,该用于启动RN侧的AS密钥的消息也不限于AS SMC,也可以采
用新增的消息。
在一个实施例中,可以启动RN侧的NAS密钥,并且,启动RN侧的
AS层密钥。
步骤27:RN根据签约认证生成的第一密钥及平台认证生成的第二密钥,
推演计算第三密钥。
例如,RN在接收到用于启动密钥的消息后,采用自身保存的Ko、Kasme
推演密钥,得到自身推演后的Kasme’=KDF(Ko,Kasme),再用该推演后
的密钥Kasme’得到NAS密钥以及AS根密钥,根据AS根密钥得到AS密钥。
之后,可以采用该NAS密钥以及AS密钥进行通常的安全相关过程。
本实施例中,当第二密钥Ko和/或第一密钥Kasme更新后,则会引起第
三密钥更新:
1)Kasme更新引发:RN与MME_RN保存Ko,当新的AKA生成的新
的Kasme后,用保存的Ko与新的Kasme运算,得到更新后的Kasme’;
2)Ko的更新引发:当IPsec更新时,生成新的Ko’,用新的Ko’与Kasme
一起运算,得到新的Kasme’;
3)Kasme和Ko同时更新引发:当MME_RN收到DeNB发送过来的新
的Ko时,如果判断出需要马上进行AKA,MME应该先发起AKA过程,生
成新的Kasme,然后根据新的Ko,Kasme计算新的Kasme’;
更新后的RN侧密钥的启动:
1)MME_RN触发NAS SMC过程,启动新的NAS密钥;
2)MME_RN根据更新后的Kasme’计算AS根密钥KeNB,并将该AS根
密钥发送给DeNB,DeNB通过AS根密钥计算得到AS密钥,并用AS密钥
保护AS SMC发送给RN以启动新的AS密钥,或者,DeNB在计算出AS密
钥后,触发小区内切换(intra-cell HO)以启动RN的新的AS密钥。
本实施例通过对第一密钥和第二密钥进行混合,可以避免单纯采用第一
密钥造成的NAS层不安全问题,保证NAS层的安全。另外,在平台认证之
后将第二密钥由DeNB发送给MME_RN,可以保证DeNB和MME_RN对
RN的认证结果一致。
图3为本发明第三实施例的方法流程示意图,本实施例以RN与
MME_RN进行平台认证生成第二密钥为例,参见图3,本实施例包括:
步骤31:RN与MME_RN进行AKA过程,完成签约认证。
其中,在签约认证完成后,RN和MME_RN都可以生成第一密钥Kasme。
步骤32:RN与MME_RN进行IKA过程,完成平台认证,并建立IPsec
隧道或者TLS隧道。
步骤33:平台认证完成后,RN和MME_RN生成第二密钥Ko。
具体地,可以是MME_RN生成随机数Ko,通过IPsec隧道或者TLS隧
道发送给RN;也可以是,在建立IPsec过程或者TLS过程中通过生成的共享
密钥获得Ko。
步骤34:MME_RN根据第一密钥Kasme和第二密钥Ko,得到第三密钥
Kasme’。
步骤35:MME_RN向RN发送用于启动RN侧密钥的消息。
步骤36:RN根据签约认证生成的第一密钥及平台认证生成的第二密钥,
推演计算第三密钥。
上述的步骤34-36的具体内容可以参见步骤25-27。
另外,更新第三密钥以及更新后的第三密钥的启动也可以参见第二实施
例的内容。
本实施例通过对第一密钥和第二密钥进行混合,可以避免单纯采用第一
密钥造成的NAS层不安全问题,保证NAS层的安全。另外,通过RN与MME
进行平台认证,可以避免DeNB引入新的S1消息发送第二密钥。
图4为本发明第四实施例的方法流程示意图,本实施例以DeNB和
MME_RN进行平台认证生成第二密钥为例,参见图4,本实施例包括:
步骤41:RN与MME_RN进行AKA过程,完成签约认证。
其中,在签约认证完成后,RN和MME_RN都可以生成第一密钥Kasme。
步骤42:MME_RN与DeNB进行IKA过程,完成平台认证,并建立IPsec
隧道或者TLS隧道。
步骤43:平台认证完成后,MME_RN和DeNB生成第二密钥Ko。
具体地,可以是MME_RN生成随机数Ko,通过IPsec隧道或者TLS隧
道发送给DeNB;也可以是,MME_RN和DeNB在建立IPsec过程或者TLS
过程中通过生成的共享密钥获得Ko。
步骤44:RN与DeNB建立IPsec隧道或者TLS隧道,完成平台认证。
步骤45:DeNB将Ko通过IPsec隧道或者TLS隧道发送给RN。
步骤46:DeNB向MME_RN发送指示消息,该指示消息中包含表明平
台认证是否成功的信息以及表明已向RN发送第二密钥的信息。
步骤47:如果指示消息表明RN与DeNB的平台认证成功,则MME_RN
根据第一密钥Kasme和第二密钥Ko,得到第三密钥Kasme’。
如果指示消息表明RN与DeNB的平台认证未成功,则MME_RN可以
释放与RN的连接。
步骤48:MME_RN向RN发送用于启动RN侧密钥的消息。
步骤49:RN根据签约认证生成的第一密钥及平台认证生成的第二密钥,
推演计算第三密钥。
上述的步骤47-49的具体内容可以参见步骤25-27。
另外,更新第三密钥以及更新后的第三密钥的启动也可以参见第二实施
例的内容。
本实施例通过对第一密钥和第二密钥进行混合,可以避免单纯采用第一
密钥造成的NAS层不安全问题,保证NAS层的安全。另外,在RN获取第
二密钥之后通知MME_RN,可以保证DeNB和MME_RN对RN的认证结果
一致。
图5为本发明第五实施例的设备的结构示意图,包括获取模块51和推演
模块52;获取模块51用于获取签约认证后生成的第一密钥,并获取平台认
证后生成的第二密钥;推演模块52用于根据所述第一密钥和第二密钥进行密
钥推演,得到第三密钥,根据所述第三密钥推演NAS密钥以及AS根密钥,
所述NAS密钥用于保护NAS消息,所述AS根密钥用于推演AS密钥,所述
AS密钥用于保护AS消息和数据。
所述获取模块51具体用于:接收DeNB发送的第二密钥,所述第二密钥
为所述DeNB与RN完成平台认证后生成的;或者,与RN进行平台认证,
生成所述第二密钥;或者,与DeNB进行平台认证,生成所述第二密钥,所
述DeNB用于在与RN建立安全隧道后将所述第二密钥发送给所述RN。
本实施例还可以包括接收模块,用于接收所述DeNB发送的指示消息,
所述指示消息中包含表明所述平台认证是否成功的信息;所述推演模块具体
用于如果所述指示消息包括表明所述设备认证成功的信息,进行所述根据所
述第一密钥和第二密钥进行密钥推演,得到第三密钥。
本实施例还可以包括:发送模块,用于在所述根据所述第三密钥推演NAS
密钥之后,向RN发送采用所述NAS密钥保护的消息以启动所述RN的NAS
密钥,所述消息中至少包含如下项中的至少一项:为NAS层选择的安全算法、
NAS层安全开启指示信息以及NAS密钥标识;和/或,在所述根据所述第三
密钥计算AS根密钥之后,向DeNB发送所述AS根密钥,以便所述DeNB
根据所述AS根密钥得到AS密钥,并向所述RN发送采用所AS密钥保护的
消息以启用所述RN的AS密钥,所述消息中至少包含如下项中的至少一项:
为AS层选择的安全算法、AS层安全开启指示信息以及AS密钥标识。
本实施例还可以包括:更新模块,用于当所述第一密钥发生变化,根据
变化后的第一密钥,以及所述第二密钥,推演更新后的第三密钥,并根据所
述更新后的第三密钥推演更新后的NAS密钥以及更新后的AS根密钥;或者,
当所述第二密钥发生变化,根据变化后的第二密钥,以及所述第一密钥,推
演更新后的第三密钥,并根据所述更新后的第三密钥推演更新后的NAS密钥
以及更新后的AS根密钥;或者,当所述第一密钥发生变化,且所述第二密
钥发生变化,根据变化后的第一密钥以及变化后的第二密钥,推演更新后的
第三密钥,并根据所述更新后的第三密钥推演更新后的NAS密钥以及更新后
的AS根密钥。
本实施例不仅进行签约认证,还进行平台认证,通过对签约认证生成的
第一密钥和平台认证生成的第二密钥进行密钥推演得到第三密钥,采用第三
密钥得到NAS密钥和AS密钥并进行安全保护,可以提高安全保护能力。
图6为本发明第六实施例的方法流程示意图,包括:
步骤61:MME_RN获取签约认证后生成的第一密钥,并与DeNB进行
平台认证,生成所述第二密钥,所述DeNB在与RN建立安全隧道后将所述
第二密钥发送给所述RN;
步骤62:MME_RN接收所述DeNB发送的指示消息,所述指示消息中
包含表明所述设备认证是否成功的信息,如果所述指示消息包括表明所述设
备认证未成功的信息,则释放与所述RN的连接。
本实施例在平台认证未成功后释放连接,可以提高安全保护能力。
图7为本发明第七实施例的设备的结构示意图,包括获取模块71和释放
模块72;获取模块71用于获取签约认证后生成的第一密钥,并与DeNB进
行平台认证,生成所述第二密钥;释放模块72用于在所述DeNB在与RN建
立安全隧道后将所述获取模块71获取的第二密钥发送给所述RN,接收所述
DeNB发送的指示消息,所述指示消息中包含表明所述设备认证是否成功的
信息,如果所述指示消息包括表明所述设备认证未成功的信息,则释放与所
述RN的连接。
本实施例在平台认证未成功后释放连接,可以提高安全保护能力。
可以理解的是,上述方法及设备中的相关特征可以相互参考。另外,上
述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实
施例的优劣。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤
可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取
存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的
存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其
限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术
人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或
者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技
术方案的本质脱离本发明各实施例技术方案的精神和范围。