专利名称:一种增强的加密及完整性保护方法
技术领域:
本发明主要应用于通信领域,具体涉及一种用于保障通信中数据机密性和完整性 的安全保护方法。
背景技术:
LTE/SAE是3GPP对UMTS的演进技术,它支持在20MHz频谱带宽下提供下行 100Mbps、上行50Mbps的峰值速率。LTE/SAE的网络由用户设备、接入网以及核心网组成。网络中的通信主要包括用户设备(UE)和接入网(eNB)之间的通信、用户和核心网 (MME)之间的通信。其中,用户与核心网的通信要通过eNB间接完成。故LTE/SAE系统的安 全包括两个方面接入层(AS)和非接入层(NAS)的安全,其中AS层安全又可以细分为AS 信令安全及用户面(UP)安全。由于UE和eNB是连接空中接口的两个重要的实体,所以链路的安全性主要依赖于 空中接口的特性以及两个端点的实体的安全性。攻击者可以在空中接口截获、窃听数据包, 还可以在eNB上窃听用户层数据包,进而分析用户数据。eNB与核心网之间的物理链路通常 通过以太网进行连接,这种物理上不安全的连接也会带来安全威胁。攻击者可以在eNB上 或在eNB到UPE的链路上窃听用户数据包,分析路由信息、网络标识和用户数据。针对通信数据受到的插入、篡改、窃听等威胁,对通信网络提出如下安全需求1) AS信令安全主要指RRC的安全机制,包括完整性保护和加密两个方面。对用 户和eNB间的信令采取加密和完整性保护。2)用户面安全主要指对用户的数据进行加密,即UE和eNB之间的用户通信数 据,采取加密保护。未考虑完整性保护,一方面用户数据量很大,若进行完整性保护开销会 非常大;另一方面,完整性保护的主要目的是防止信息被篡改,这对于大量的用户数据不是 十分必要。3) NAS信令安全UE和MME间的信令要求进行加密和完整性保护。在进行通信前,各实体间要通过安全模式命令进行算法协商,确定要使用的加密 及完整性算法,随后各自推演密钥,进行通信并对信息进行加密和完整性保护。在现有的LTE系统中,支持多套加密和完整性算法,但采用的加密算法及完整性 算法均为128比特的密码算法。给每个算法都分配有一个4比特长的算法标识UE与eNB应当对RRC信令与UP数据提供EEAO、128-EEA1与128-EEA2三种加密算 法。UE与MME应当对NAS信令提供EEAO、128-EEA1与128-EEA2三种加密算法。注(0000) 2代表二进制算法标识符 加密算法(0000) 2EEA0(0001) 2128-EEA1(0010) 2128-EEA2剩下的标识留作将来使用t
算法描述 不加密
基于SNOW 3G的加密算法 基于AES的加密算法
UE与eNB应当对RRC信令提供128-EIA1、128-EIA2两种完整性算法。UE与MME 应当对NAS信令提供128-EIA1、128-EIA2两种完整性算法。算法标识符 完整性算 法算法描述(0000)2EIA0无完整性保护(仅用于紧急呼叫)(0001) 2128-EIA1 基于 SNOW 3G 的完整性算法(0010) 2128-EIA2 基于AES的完整性算法剩下的标识留作将来使用。在现有LTE/SAE系统中,要由存储在USIM和认证中心的永久密钥推导出各层加密 密钥和完整性密钥,计算过程中首先产生256比特的中间结果,系统只支持密钥长度为128 的加密及完整性算法,因而在导出K
NASenc、^NASint、Kj^Cenc、Kj^cint、KuPenc 之前,系统对密钥进行了
截断处理。现有LTE/SAE系统中采用密钥长度固定不变的加密及完整性算法,可以简化算法 管理以及加密和完整性处理的流程。然而其同时带来一些缺点a)缺乏灵活性,对其它密钥长度的密码算法或者同一个算法的其他密钥长度不支持。b)不能满足不同条件下的安全强度的需求。譬如在某些高安全要求下,可能希望 系统能够提供更高安全强度的支持,采用更长的密钥或者更强的算法是一个好的选择。
发明内容
本发明的目的在于在现有LTE(long term evolution长期演进)/SAE(system architectureevolution系统架构演进)加密与完整性机制的基础上提出了一种增强的加 密及完整性保护方法,该方法将对现有LTE/SAE系统作尽可能少的改动,使之能够灵活支 持不同密码长度的算法,例如128或者256,能够满足不同强度的安全需求。具体方案如下i.密钥协商层进行算法协商,确定算法标识。为了支持128比特和256比特两种 密钥长度,将4位算法标识的最高位用作标识密钥长度。最高位为0时,密钥长度为128比 特,最高位为1时,密钥长度为256比特。ii确定了算法之后,各实体计算加密及完整性密钥。根据具体算法标识的最高 位确定是导出128比特的截断密钥,还是导出256比特的非截断密钥;iii.在具体通信过程中,根据协商的算法和导出的密钥对消息进行加密或者完整 性保护。其中,步骤i、ii、iii必须依次完成。LTE/SAE系统中,将支持多套加密/完整性算法的协商,故需给各算法分配标识。步骤i)中的算法标识具体规定如下a)加密算法算法标识符加密算法密钥长度算法描述
(0000)2128-EEA0128不加密
(1000)2128-EEA0256不加密
(0001) 2128-EEA1128基于SNOW 3G的加密算法
(1001)2256-EEA1256基于SNOW 3G的加密算法
(0010)2128-EEA2128基于AES的加密算法
(1010)2256-EEA2256基于AES的加密算法
剩下的标识留作将来使用。
b)完整性算法
算法标识符完整性算法密钥长度算法描述
(0000)2128-EIA0128无完整性保护(仅用于紧急呼叫)
(1000)2128-EIA0256无完整性保护(仅用于紧急呼叫)
(0001) 2128-EIA1128基于SNOW 3G的完整性算法
(1001)2256-EIA1256基于SNOW 3G的完整性算法
(0010)2128-EIA2128基于AES的完整性算法
(1010)2256-EIA2256基于AES的完整性算法
剩下的标识留作将来使用。步骤i)中所述算法协商即由MME和eNB各自选择算法并向UE确认NAS算法和AS算法。步骤ii)中密钥导出是指各个网络实体依据永久密钥及选定的算法推演加密密 钥和完整性密钥。LTE/SAE网络的密钥分层架构中包含如下密钥a) UE和HSS间共享的密钥-K 存储在USIM和认证中心AuC的永久密钥。-CK/IK :AuC和USIM在AKA认证过程中生成的密钥对。与UMTS相比,CK/IK不应 离开HSS。b) ME和ASME共享的中间密钥-Kasme :UE和HSS根据CK/IK推演得到的密钥,用于推演下层密钥。
c) UE与eNB和MME的共享密钥-KNASint :UE和MME根据KASME推演得到的密钥,用于保护UE和MME间NAS流量的完 整性。-KNASenc :UE和MME根据KASME推演得到的密钥,用于保护UE和MME间NAS流量的保 密性。-KeNB :UE和MME根据KAst(E推演得到的密钥。KeNB用于推导AS层密钥。-KUPenc :UE和eNB根据KeNB和加密算法的标识符推演得到,用于保护UE和eNB间 UP的保密性。-KEECint :UE和eNB根据KeNB和完整性算法的标识符推演得到,用于保护UE和eNB 间RCC的完整性。-KEECenc :UE和eNB根据KeNB和加密算法的标识符推演得到,用于保护UE和eNB间 RCC的保密性。Kasme和KeNB的原始长度为256比特,NH长度为256比特,NAS密钥、用户平面密钥 以及RRC密钥通常都可以独立的从KASME*KeNB推演得到,他们的长度也是256比特。要根据算法标识指示的密钥长度,对密钥进行截断。如果是128比特密钥算法,则需要截断后输 出128比特密钥,否则直接输出256比特密钥。因为加密及完整性密钥的计算涉及现有通信系统中的UE、eNB和MME等设备,所以 增强的加密及完整性机制对UE、eNB和MME等设备都有影响。需要在各设备的密钥计算模 块增加依据算法标识进行截断的操作。与现有技术相比,本发明的增强加密及完整性保护方法优点如下1)提高了系统所能支持的安全强度,在128比特密钥算法的基础上增加了对256 比特密钥算法的支持,满足不同条件下的安全强度的需求。2)提高了安全机制的灵活性。增加对同一个算法的不同密钥长度版本的支持,并 没有增加算法模块的实现代价。3)对现有安全机制协议改动较小,仅在密钥导出过程中加入一个判断,根据算法 标识判断是否对256比特中间结果进行截断,生成密钥。
图1密钥分层架构图。图2新加密及完整性保护方法网络节点密钥导出层次图。图3新加密及完整性保护方法用户终端密钥导出层次图。
具体实施例方式本发明的一种增强的加密及完整性保护方法,是在LTE/SAE现有机密及完整性保 护机制基础上的一种改进,原系统中只支持128比特密钥长度的加密及完整性算法,本发 明使得系统可以灵活支持128比特及256比特密钥长度的加密及完整性算法。本发明具体方案如下i.密钥协商层进行算法协商,确定算法标识。为了支持128比特和256比特两种 密钥长度,将4位算法标识的最高位用作标识密钥长度。最高位为0时,密钥长度为128比 特,最高位为1时,密钥长度为256比特。ii.在密钥导出层次中根据具体算法标识的最高位确定是导出128比特的截断密 钥,还是导出256比特的非截断密钥;iii.在具体通信过程中,根据协商的算法和导出的密钥对消息进行加密或者完整 性保护。其中,步骤i、ii、iii必须依次完成。步骤i)中的算法标识具体规定如下a)加密算法算法标识符加密算法密钥长度算法描述
(0000)2128-EEA0128不加密
(1000)2128-EEA0256不加密
(0001) 2128-EEA1128基于SNOW 3G的加密算法
(1001)2256-EEA1256基于SNOW 3G的加密算法
(0010)2128-EEA2128基于AES的加密算法
(10lo),256一EEA2256基于AES的加密算法
算法标识符完整性算法密钥长度算法描述
(O001),128一E工Al128基于SN()w 3G的完整性算法
(10lo),256一E工A2256基于AES的完整性算法
剩下的标识留作将来使用。
其中,AS层算法选择如下
(1)初始化AS层安全上下文建立首先每个eNB都已经配置有可用算法列表,包括完整性保护算法列表和加密算法列表。这些列表都根据运营商预定的优先级排列。当安全上下文初始化开始时,eNB收到IVlM[发送来的有关UE的安全能力,eNB根据UE的安全能力选择可用的(也就是UE支持的)并且优先级最高的算法(包括完整性保护算法和加密算法)。然后eNB通过AS SM(把所选择的算法通知给UE。其中加密算法用于RRC消息和UP消息的加密,完整性保护用户RRC消息的完整性保护。
王验证目标eNB所收到的UE安全能力和自己所存储的值相同。否则,MM]王将事件记录入曰志并作出对应的措施,比如报警。
(3)Sl切换发生时,源eNB需要把UE的安全能力通过S卜AP切换请求消息发送给目标eNB。同样目标eNB根据UE的安全能力选择可用的(也就是UE支持的)并且优先级最高的算法(包括完整性保护算法和加密算法)。然后所选择的算法同样以切换命令消息形式发送回UE,在切换报告消息中,目标eNB需要把接受到的UE安全能力发送给MME,MM]王验证目标eNB所收到的UE安全能力和自己所存储的值相同。否则,IVlM[将事件记录入曰志并作出对应的措施,比如报警。
NAS层算法选择如下
NAS密钥是UE和MME根据KASME推导出的密钥,KNASint用于NAS信令的完整性保 护,KNASenc用于NAS信令的的加密。KeNB是UE和MME根据KASME推导出的密钥,用于推导RRC密钥和UP密钥。MME 通过KDF从本地存储的Kasme推衍产生KeNB,并按需传递给UE的服务eNB。RRC和UP的密钥通过安全参数规范定义的KDF按需从KeNB推衍产生。UP密钥KUPenc 用于用户层的的加密,由UE和eNB根据KeNB和加密算法的标识符推导出。RRC密钥KRRCint 用于RRC信令的完整性保护,由UE和eNB根据KeNB和完整性算法标识符推导出,KRRCenc用 于RRC信令的加密。这个密钥由UE和eNB根据KeNB和加密算法的标识符推导出。密钥等 级会基于新的KeNB推衍新的RRC和UP密钥,而不允许直接更新RRC和UP密钥。新KeNB由 某些动态参数(如PCI)和状态转变时新的密钥推衍参数(如NAS上行计数器)产生。在 eNB间切换和状态转变过程中,eNB就会产生新的RRC和UP密钥。Kasme和KeNB的原始长度为256比特,NH长度为256比特,NAS密钥、用户平面密钥 以及RRC密钥通常都可以独立的从Kasme和KeNB推演得到,经KDF函数计算数的密钥均为256 比特。要根据算法标识指示的密钥长度,对密钥进行截断。如果是128比特密钥算法,则需 要截断后输出128比特密钥,否则直接输出256比特密钥。
权利要求
一种增强的加密及完整性保护方法,其步骤为1)预先给网络通信系统支持的每一个算法分配一个n比特的算法标识,将其中一比特标识算法的密钥长度;2)密钥协商层进行算法协商,确定各实体间通信所用算法;其中实体包括用户设备、接入网和核心网;3)各实体根据协商的算法和永久密钥计算通信用密钥,计算过程中要根据算法标识确定导出的密钥长度;4)通信过程中,根据协商的算法和导出的密钥对消息进行加密或完整性保护。
2.如权利要求1所述的方法,其特征在于所述系统为LTE/SAE系统;所述n比特的算 法标识为4比特算法标识。
3.如权利要求2所述的方法,其特征在于将所述4比特算法标识中的最高比特标识算 法的密钥长度。
4.如权利要求1或2所述的方法,其特征在于所述密钥长度为128比特或256比特; 对于128比特密钥长度,所述最高比特位设置为0,对于256比特密钥长度,所述最高比特位 设置为1。
5.如权利要求1或2或3所述的方法,其特征在于所述算法协商为由接入网和核心 网各自选择算法并向用户设备确认接入层所用算法和非接入层所用算法。
6.如权利要求5所述的方法,其特征在于所述算法包括加密算法、完整性算法。
7.如权利要求1所述的方法,其特征在于密钥计算过程中首先产生256比特密钥,再根 据算法标识输出256比特密钥或128比特截断密钥。
全文摘要
本发明公开了一种增强的加密及完整性保护方法,属于网络通信领域。本发明的方法为1)预先给LTE/SAE系统支持的每一个算法分配一个4比特的算法标识,其中最高比特标识算法的密钥长度;2)密钥协商层进行算法协商,确定各实体间通信所用算法;其中实体包括用户设备、接入网和核心网;3)各实体根据协商的算法和永久密钥计算通信用密钥,计算过程中要根据算法标识确定导出的密钥长度;4)通信过程中,根据协商的算法和导出的密钥对消息进行加密或完整性保护。与现有技术相比,本发明提高了系统所能支持的算法强度和加密及完整性保护机制的灵活性。
文档编号H04W12/10GK101860863SQ201010186319
公开日2010年10月13日 申请日期2010年5月21日 优先权日2010年5月21日
发明者冯秀涛, 周春芳 申请人:中国科学院软件研究所