CN115668859A - 用于认证支持3g的网络中的通信设备的处理模块 - Google Patents
用于认证支持3g的网络中的通信设备的处理模块 Download PDFInfo
- Publication number
- CN115668859A CN115668859A CN202180028566.3A CN202180028566A CN115668859A CN 115668859 A CN115668859 A CN 115668859A CN 202180028566 A CN202180028566 A CN 202180028566A CN 115668859 A CN115668859 A CN 115668859A
- Authority
- CN
- China
- Prior art keywords
- sequence number
- processing module
- previously received
- value
- sqn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Abstract
一种用于通信设备的处理模块,包括用于存储密钥的存储器;和耦合到存储器的一个或多个处理元件。所述一个或多个处理元件被配置为:接收由网络实体提供的当前序列号和随机数;确定当前序列号的值是否在通过参考存储在存储器中的先前接收的序列号的值而确定的范围内。在当前序列号的值不在通过参考先前接收的序列号的值而确定的范围内时,所述一个或多个处理元件被配置为:生成序列号加密密钥,所述序列号加密密钥是从随机数和存储在存储器中的密钥导出的,所述序列号加密密钥具有大于48位的长度;使用分组密码加密函数,利用序列号加密密钥对先前接收的序列号进行加密,以提供加密序列号,其中分组密码加密函数被配置为生成具有与先前接收的序列号相同的位数的加密序列号;提供加密序列号,以用于在响应消息中发送到网络实体。还公开了通信设备、通信系统和方法。
Description
技术领域
本公开涉及一种用于通信设备的处理模块和方法。更特别地,本公开涉及一种在通信设备的处理模块中执行的用于为去往网络实体的响应消息生成加密序列号的方法,例如作为认证协议的一部分。
背景技术
为了向通信系统(例如,第三代(3G)、第四代(4G)和第五代(5G)系统)提供安全特征和安全机制,第三代合作伙伴计划(3GPP)小组已定义了一种认证机制或协议,用于对配备有通用订户身份模块(USIM)应用(例如,在诸如通用集成电路卡(UICC)之类的卡上实现)的通信设备与网络进行相互认证,并建立密钥以保护通信设备与网络之间的后续通信。认证机制被称为认证和密钥协商(AKA)协议。
3G AKA协议在3 GPP技术规范3 GPP TS 33.102 V15.1.0(2018-12)中进行了描述,其定义了在支持3G的网络(例如UMTS内部和UMTS-GSM)内执行的3G安全程序。
3G AKA协议是质询-响应协议,并且使用48位序列号(SQN)确保认证质询是“新鲜的”,以防止攻击者记录和重放认证质询。由归属网络中的归属订户服务器(HSS)或归属位置寄存器(HLR)内的认证中心(AuC)创建的认证质询(称为认证向量)被发送到通信设备的USIM。当认证质询被USIM成功接收并验证时,通信设备回复认证响应消息,或者否则当验证不成功时,通信设备回复具有失败原因的认证失败消息。通常,AuC在每次其发送认证向量时,仅将SQN增加一。
如果窃听者可以看到发送到特定USIM的认证向量中的SQN值,则窃听者可以跟踪SQN值的逐渐增加,并可能说出它是同一个USIM。这可以用来跟踪用户(或订户)的行踪和活动。因此,在认证向量中发送的SQN通过被匿名密钥(AK)掩盖而被隐藏,该匿名密钥具有与SQN相同的长度(即48位),并且每次都是新鲜生成的。AK是从两个输入中以密码方式导出的:用户(也称为订户)的唯一密钥K,它存储在USIM和AuC二者中;以及RAND,由AuC为每个新的认证向量新鲜生成的随机值。RAND包括在认证向量中,因此USIM具有生成相同的匿名密钥和在接收的认证向量中揭露SQN所需的一切。
发送到USIM的认证向量包括由AuC供应的掩盖的SQN、RAND和消息认证码(MAC)。USIM验证AuC提供的掩盖的SQN、RAND和MAC。为了验证掩盖的SQN,USIM揭露掩盖的SQN,并检查接收的认证向量的接收的SQN是否是新的(即新鲜的)。当USIM确定所接收的SQN是新的时,USIM接受所接收的SQN并存储所接收的SQN,并且当认证成功时,通信设备利用认证响应消息进行回复。当USIM确定接收到的SQN不是新的(例如,与之前接收到的SQN相比太低)或者否则是可疑的(例如,它可能太高也可能太低)但是认证质询在所有其他方面都是正确的时,USIM拒绝所接收的认证向量,并且将同步失败消息(或重新同步消息)发送回到归属网络。换句话说,当USIM确定AuC和USIM之间的SQN同步丢失时,USIM发送重新同步消息。在HLR或HSS意外重置(其中所有SQN值都重置为0)或HLR/HSS改变(例如,在HLR之间迁移或故障转移到负载平衡网络中的不同HLR实例)的事件中,接收到的SQN可能太低。如果通信设备已经在长的时间段内从网络脱离,并且HLR/HSS在该时间间隔中已经生成了大量的认证向量,则接收到的SQN可能太高。
重新同步消息包括USIM先前已接受的最高对应SQN值(这在以下将被称为SQNMS,其中MS代表移动站)。在归属网络处接收时,AuC然后可以相应地更新其存储的SQN值,使得它为认证向量创建的未来SQN值将被USIM接受。为了安全起见,重新同步消息中的SQNMS用匿名密钥(AK*)(使用XOR函数)来隐藏,该匿名密钥(AK*)是从认证向量中接收的RAND和存储在USIM中的用户的唯一密钥K以密码方式导出的。AK*具有与SQNMS相同的长度(即48位),AuC接收重新同步消息,生成相同的匿名密钥(AK*),并且然后剥离掉掩码以恢复SQNMS。
如上所述,当确定AuC在认证向量中提供的SQN不是“新鲜的”时,USIM响应于接收到包括SQN的认证向量,发送重新同步消息。由于重新同步消息采用与接收到的认证向量相同的RAND值,并且用于隐藏SQNMS的匿名密钥AK*由RAND和K确定,而没有其他输入,因此如果操作伪基站的攻击者向相同的设备发送相同的认证向量两次,两次都触发重新同步消息,则两次都使用相同的AK*,并且攻击者可以获知关于SQNMS的一些信息。这样的攻击不容易。然而,Ravishankar Borgaonkar、Lucca Hirschi、Shinjo Park和Altai Shaik在2019年Proceedings on Privacy Enhancing Technologies 中发表的题为“New Privacy Threaton 3G, 4G and Upcoming 5G AKA Protocols”的论文中描述了攻击的可能性。此外,在AKA重新同步期间的SQN保护已经被标识为3GPP TR 33.846 V0.5.0(参见5.4章节)中的关键问题#4.1,其中解决方案在该3GPP文档的6.4章节中提出。
在3GPP TR 33.846 V0.5.0的6.4.1章节中描述的解决方案在AKA同步失败的情况下,将MAC-S作为输入参数添加到匿名密钥的计算。MAC-S是64位消息认证码,其包括在作为对AuC的响应而发送的重新同步消息中,并且类似于数字签名,AuC可以检查所述数字签名以确保重新同步消息是真正的。MAC-S通过以下输入来计算:SQNMS、K、RAND和AMF。AMF是16位认证管理字段,其在重新同步消息中取全0。由于MAC-S是使用SQNMS计算的,这确保了在重新同步过程中使用新鲜的输入来计算匿名密钥,并且因此上述攻击是不可能的。
在3GPP TR 33.846 V0.5.0的6.4.2章节中描述了另一种解决方案。在该解决方案中,在AKA同步失败的情况下,使用对称加密函数来保护具有匿名密钥的输入密钥的SQNMS。
合期望的是提供一种改进的解决方案,作为认证协议的一部分,以保护在去往网络实体的响应消息中包括的SQNMS。
发明内容
根据本发明的不同方面,提供了如所附权利要求中记载的方法、处理模块、通信设备和通信系统。
该方法在通信设备的处理模块中执行,并且用于为去往网络实体的响应消息生成加密序列号。在示例实现中,该方法作为用于(通信设备的)用户和通信网络之间的认证的认证协议的一部分执行。
通过使用分组密码加密函数,利用长度大于48位的序列号加密密钥对先前接收的序列号进行加密,并且其中将分组密码加密函数配置为生成与先前接收的序列号具有相同位数的加密序列号,通过使用更长的加密密钥,来改进加密序列号的安全性,同时确保与已知的认证协议(诸如,如上所述的3G AKA协议)相比,对通信设备和网络之间的协议和接口不存在影响。
例如,与针对3G AKA协议所述的布置一样,其中重新同步消息中的SQNMS利用与SQNMS具有相同长度(即48位)的匿名密钥(AK*)隐藏(使用XOR函数),由处理模块提供的加密序列号具有与先前接收的序列号相同的位数。因此,在加密序列号具有与先前接收的序列号相同的位数的情况下,与上述使用XOR函数来隐藏重新同步消息中的SQNMS的3G协议相比,通信设备的功能性没有改变。与48位的加密密钥相比,通过使用大于48位(例如128位)的序列号加密密钥来提高安全性。更进一步地,即使攻击者利用相同的序列号加密密钥触发通信设备发送两个消息,分组密码加密函数也以不向潜在的攻击者揭示任何信息的方式确保响应消息中的加密序列号不同。
分组密码加密函数可以是格式保留加密FPE函数。
在示例中,通过参考先前接收的序列号的值而确定的范围(例如,预定范围)由下式定义:
SQN>SQNMS,以及[1]
在一个示例中,先前接收的序列号是已经被处理模块接受(例如,验证)并存储在处理模块中的先前接收的序列号。
该处理模块可以被配置为实现通用订户身份模块(USIM)应用,并且可以在诸如通用集成电路卡(UICC)之类的卡上实现。
响应消息可以是由通信设备发送的同步失败消息。响应消息可以在通信设备接收到包括由网络实体提供的当前序列号和随机数的认证消息之后被发送。同步失败消息可以作为认证协议——诸如3 GPP认证协议(例如3G AKA协议)——的一部分发送。可以发送同步失败消息,以促进网络实体和处理模块之间序列号的重新同步。
附图说明
现在仅通过示例方式,参照附图对根据本公开的方法、处理模块、通信设备和通信系统进行描述,其中:
图1是示例通信系统的示意框图;
图2是示例通信设备的示意框图;
图3是示例处理模块的示意框图;
图4是表示如何根据3G AKA协议生成同步失败消息元素的示意且简化的图解;
图5是用于为去往网络实体的响应消息生成加密序列号的示例方法的流程图;
图6是表示如何根据图5的方法生成响应消息的加密序列号的示意且简化的图解;
图7是示出了图1的通信系统中各种实体之间的示例消息流的示意且简化的图解;
图8是当MAC-S用于生成匿名密钥AK*以掩盖SQNMS时循环关系的示意表示。
具体实施方式
在以下描述中,将关于在通信网络内操作的通信设备描述本公开的示例。通信网络可以包括GSM通信系统、诸如通用移动电信系统(UMTS)之类的3G通信系统、或者诸如长期演进(LTE)通信系统之类的4G通信系统、或者5G通信系统、或者它们的任何组合。然而,应当领会,本公开可以用在除无线通信系统之外的通信设备和网络中,诸如有线通信设备或具有与网络中的另一设备进行通信的能力的任何通信设备,诸如具有内置调制解调器的数码相机,或用于汽车的嵌入式调制解调器/通信设备,或公用事业仪表或类似设备。
首先参考图1,示例通信系统100包括能够通过一个或多个无线链路106与基站104通信的通信设备102。无线链路可以包括使用任何合适的通信协议或标准或者通信协议或标准的组合(诸如3G、4G、5G)实现的一个或多个无线链路。基站104是通信网络108的无线电接入网络(RAN)105(例如,GSM/EDGE RAN(GERAN)、演进通用陆地无线电接入网络(E-UTRAN)、5G新无线电RAN(5G NR RAN))的一部分。取决于由通信网络108实现的通信协议或标准,基站104可以是基站收发器台(BTS)或演进节点B(eNB)或下一代节点B(gNodeB)或接入点等。在图1中所示的示例中,通信网络108是用于经由接口112与RAN 105通信的通信设备102的用户的归属网络(FIN)(也称为归属环境(HE)),并且包括核心网络110。归属网络108包括核心网络110中的网络实体114。取决于由通信网络108所实现的通信协议或标准,网络实体114可以是用于认证用户/订户的认证实体,诸如3G归属网络的归属位置寄存器(HLR)内的认证中心(AuC)或4G归属网络的归属订户服务器(HSS)或5G归属网络的认证服务器功能(AUSF)等。在示例场景中,当通信设备102位于对应归属网络108没有基站的位置处时(如图1中所示,其中通信设备102位于虚线中所示的定位处),通信设备102经由服务网络(SN) 122的基站118附接到SN 122并与之通信。服务网络122的核心网络116经由接口120耦合到归属网络108,该接口120可以基于互联网协议(IP)。
尽管图1中示出了一个通信设备102和两个基站104和118,但是应当领会,通信系统100通常包括多个通信设备,并且通信网络包括多个基站。如对于本领域技术人员来说应当清楚的是,图1仅示出了理解本公开所必需的示例性通信系统的功能部件。
图2是通信设备(诸如图1中所示的通信设备102)的示例实现的框图。如对于本领域技术人员来说应当清楚的是,图2仅示出了理解本公开所必需的示例性通信设备的功能部件。通信设备可以是智能电话、移动电话、订户单元、用户设备、便携式电话、无线视频或多媒体设备、通信终端、个人数字助理(PDA)、膝上型计算机、调制解调器卡、物联网(IoT)设备、有线设备或实现3GPP认证协议的任何通信设备,3GPP认证协议诸如认证和密钥协商(AKA)协议,诸如如在3GPP技术规范3GPP TS 33.102 V15.1.0(2018-12)中定义的3G AKA协议。3GPP认证协议是用于与通信网络相互认证通信设备(例如,利用通用订户身份模块(USIM)应用)并建立密钥以保护通信设备和通信网络之间的后续通信的协议。4G和5G系统使用基于并类似于上述3G AKA协议的AKA协议。此外,类似于3G AKA协议的AKA协议也用在可扩展认证协议(EAP)机制中,以保护点对点协议认证方法、无线LAN网络互联、通用认证架构。例如,4G定义了4G EPS-AKA,并且5G定义了5G-AKA、EAP-AKA’和EAP-TLS。因此,本公开不旨在限于如在3GPP技术规范3GPP TS 33.102 V15.1.0(2018-12)中定义的3G AKA协议。
在以下描述中,通信设备102将被称为用户设备(UE)。
UE 102包括处理单元200,用于实行UE 102的操作处理,诸如无线电传输和相关功能。UE 102还具有通信区段206,用于经由无线链路与基站(例如,104或118)通信。通信部分206通常包括至少一个天线212、接收器电路208和发射器电路210。通信区段206耦合到处理单元200。
UE 102可以具有用于在UE 102和设备用户之间提供接口的用户接口(未示出),其包括诸如键盘、麦克风、扬声器、显示屏之类的元件。
处理单元200可以是单个处理器,或可以包括两个或更多个处理器,实行UE 102操作所需的处理。处理器的数量和处理功能至处理单元102的分配是技术人员的设计选择问题。UE 102还具有程序存储器214,其中存储了包含用于UE 102操作的处理器指令的数据和程序。程序可以包含多个不同的程序元素或子例程,所述程序元素或子例程包含用于UE102操作的多种不同任务的处理器指令,诸如用于执行无线电传输和相关功能的处理器指令。例如,程序可以包含用于处理在接收器电路208处接收的数据(诸如信令信息(控制平面数据)和业务数据(用户平面数据))以及用于处理数据(诸如信令信息(控制平面数据)和业务数据(用户平面数据))以供发射器电路210传输的指令。
UE 102进一步包括处理模块202,用于在UE 102中实现认证协议,所述认证协议用于UE 102(即,UE 102的用户)和通信网络之间的认证(例如,相互认证)。现在还参考图3,处理模块202包括用于存储密钥的存储器302和耦合到存储器302的一个或多个处理元件304。存储在存储器302中的密钥(K)可以是与用户相关联的唯一密钥,并且密钥K也存储在归属网络108的网络实体114(例如,认证实体)中。用于认证以标识UE和控制对通信网络的接入的其他网络特定信息——诸如保护信令和用户平面数据这二者的密钥——可以存储在存储器302中。在示例实现中,处理模块202被配置为实现通用订户身份模块(USIM)应用。USIM应用存储在存储器302中,并且包括包含指令的多个不同的程序元素或子例程,所述指令当由一个或多个处理元件304执行时,使得处理模块202执行实现USIM应用的功能的操作。
处理模块可以集成到UE 102中,或可以是可移除的。当处理模块202是可移除的时,接口(未示出)耦合到处理单元200,用于可移除处理模块202和处理单元200之间的对接。可移除处理模块可以是卡或智能卡,诸如订户标识模块(SIM)卡或通用集成电路卡(UICC)。UICC可以运行几个应用,诸如用于3G网络或其他网络的USIM应用。
当处理模块202实现USIM应用时,处理模块是UE 102的USIM域的一部分,并且通信区段206、处理单元200和UE 102的程序存储器214是UE 102的移动设备域(ME)的一部分。
如引言中所讨论的,用于认证用户以用于接入3G网络的3G AKA协议在3GPP技术规范3GPP TS 33.102 V15.1.0(2018-12)中被描述,并且是质询-响应协议。简而言之,并且如上面讨论的,3G AKA协议包括向通信设备的USIM应用发送由归属网络中的(HSS)或归属位置寄存器(HLR)内的认证中心(AuC)创建的认证质询(称为认证向量)。认证向量包括48位序列号SQN。当认证质询被USIM应用成功接收和验证时,通信设备利用认证响应消息进行回复,或者否则当验证不成功时,通信设备利用具有失败原因的认证失败消息进行回复。为了验证接收到的SQN,USIM应用检查接收到的认证向量的接收到的SQN是否是新的(即新鲜的)。当USIM应用确定所需的SQN不是新的(例如,与之前接收的SQN相比太低)或者否则是可疑的(例如,它可能太高也可能太低)但是认证质询在所有其他方面都是正确的时,USIM应用拒绝所接收的认证向量,并且将同步失败消息(或重新同步消息)发送回到归属网络。现在参考图4,其示出了如何构造根据3GPP TS 33.102 V15.1.0(2018-12)的重新同步消息,该重新同步消息包括MAC-S和SQNMS Q AK*,其中:
·K是在USIM和AuC这二者中持有的用户/订户唯一密钥
·RAND是128位“随机”输入
·SQNMS是USIM先前接受的SQN的最高值
·AMF是16位认证管理字段,其在这些重新同步消息中取全0值
·MAC-S是用于重新同步消息的64位消息认证码,类似于数字签名,AuC可以检查所述数字签名以确保重新同步消息是真正的
·AK*是匿名密钥
·fl*和f5*是3GPP TS 33.102 V15.1.0(2018-12)中定义的函数。
如引言中讨论的,由于重新同步消息采用与接收到的认证向量相同的RAND值,并且用于隐藏SQNMS的匿名密钥AK*由RAND和K确定,并且没有其他输入,因此如果操作假基站的攻击者向同一设备发送相同的认证向量两次,两次均触发重新同步消息,则两次都使用相同的AK*,并且攻击者可以获知关于SQNMS的一些信息(例如,攻击者获知两个SQNMS值的XOR)。
为了防止攻击者在此类攻击中获知关于SQNMS的信息,根据本公开提出了一种用于为去往网络实体的响应消息生成加密序列号的示例方法(例如,作为用于在UE 102的用户和通信网络之间进行认证的认证协议的一部分),并且现在将参照图5、图6和图7对该示例方法进行描述。其中图5是用于为去往网络实体的响应消息生成加密序列号的示例方法500的流程图,图6是表示如何生成响应消息的加密序列号的简化图解,以及图7是示出通信系统100中各种实体之间的示例消息流的简化图解。在图5中,实线中所示的步骤由处理模块202执行(例如,经由在一个或多个处理元件304上执行的USIM应用),并且虚线中的步骤在UE 102的其他部分执行(例如,由UE的ME域执行)。
在步骤502,UE 102例如在接收电路208处接收认证消息,并且该认证消息包括由归属网络108的网络实体114提供的当前SQN和随机数(RAND)。如上面讨论的,网络实体114可以是诸如AuC的认证实体,并且网络实体114生成认证消息(例如,认证向量),该认证消息包括要在认证消息中发送给UE 102的随机数(RAND)和当前序列号(SQN)。网络实体114通常在每次它发送认证消息时将当前SQN的值增加一。网络实体114提供的当前SQN可以是48位SQN。在认证消息中发送的当前SQN被匿名密钥AK(其具有与当前SQN相同的长度)掩盖。AK是从网络实体114和处理模块202之间共享的密钥K(例如,K存储在处理模块202的存储器302中,并且存储在网络实体114中,并且是与用户相关联的唯一密钥)和(被包括在认证消息中的)随机数RAND中以密码方式导出的。如上面讨论的,在示例中,认证消息也被称为认证向量,并且还可以包括消息认证码(MAC)。
在如上面参照图1讨论的UE 102与SN 122通信的示例场景中,UE 102经由SN 122从HN 108接收认证消息,如图7中的消息流702和704所示。
处理模块202接收由归属网络108的网络实体114(诸如认证实体114)提供并在接收电路208处接收的当前SQN和RAND,步骤504。作为接收步骤504的一部分,处理模块202接收掩盖的当前SQN和RAND,使用与网络实体114中使用的相同的密码函数从存储在存储器302中的接收的RAND和K中导出AK以生成AK,并使用生成的AK来揭露掩盖的当前SQN以提供当前SQN。在步骤506,处理模块202确定当前序列号SQN的值是否在通过参考存储在存储器302中的先前接收的序列号的值而确定的范围内。先前接收的序列号是已经被处理模块202接受(例如,验证)的先前接收的序列号(以下称为SQNMS),并且可以是被接受(例如,验证)并存储在处理模块202中的多个先前接收的序列号之一。
在当前SQN的值在参考先前接收的序列号的值而确定的范围内时(步骤508的“是”分支),处理模块202接受当前序列号,并将当前序列号存储在处理模块202中,步骤510。因此,被接受的先前接收的序列号是接收的当前序列号,其先前已经被确定(例如,已经被验证)为在通过参考先前接收的序列号的值而确定的范围内,并且然后已经被存储在处理模块202中(例如,在存储器302中)。如果所有认证检查都成功(例如,成功接收并验证了MAC、RAND和SQN),则UE 102生成成功认证响应RES,并发送指示认证成功的成功认证响应RES。如果UE 102附接到SN 122,则成功的认证响应RES被发送到SN 122,并且随后的通信在UE 102和SN 122之间安全地发生。
在示例中,通过参考先前接收的序列号的值而确定的范围(例如,预定范围)由下式定义:
SQN>SQNMS,以及[1]
在替代的简化示例中,通过参考先前接收的序列号的值而确定的范围(例如,预定范围)可以由SQN>SQNMS定义,其中SQNMS是存储在处理模块202中的先前接收的序列号,并且SQN是当前序列号。
通过参考先前接收的序列号的值而确定的范围可以被描述为序列号管理方案。示例序列号管理方案在3G TS 33.102 V15.1.0(2018-12)的信息附录C中提供。然而,如果网络运营商如此希望提供满足3G TS 33.102的6.3章节中描述的参数长度和无序使用的要求,则他们自由选取他们自己的序列号管理方案。
3G TS 33.102的附录C指定了用于序列号管理的通用方案和通用方案的一些建议配置文件。这些配置文件旨在充当指定实际序列号管理方案时的参考。更复杂的示例方案基于来自3G TS 33.102的附录C.3中的配置文件2,这在下面讨论。
AuC应当生成作为43位SEQ和5位IND的串联的48位SQN、。所有值都是无符号二进制数。SQN的结构在下面图示。
USIM应当存储先前接受的序列号的32元素阵列。从认证向量(也称为认证令牌(AUTN))中提取的SQN的5位IND分量应当用于索引到数组中。数组的每个元素应当包含43位的SEQ值。所有数组元素的初始值都应当为零。
如果AUTN上的消息认证码(称为(MAC-A))无法验证,则USIM应当向终端指示网络认证失败(例如,在认证失败消息中),如在3G TS 33.102的6.3章节中所述。如果MAC-A被验证,则应当使用在3G TS 33.102的6.3章节中描述的方法从AUTN提取SQN。
如果从AUTN提取的来自特定SQN的SEQ大于使用相同SQN的IND分量索引的数组元素中存储的SEQ,则该SEQ应当被视为新鲜的。如果序列号被认为是新鲜的,则它应当覆写数组中对照其对序列号进行检查的值。
如果SEQ未被视为新鲜的,则应当调用重新同步程序。作为该过程的一部分,USIM构造同步失败消息(或重新同步消息)——另外也称为重新同步令牌(AUTS),如在3G TS33.102的6.3章节中指定的。AUTS令牌中的SQNMS值应当通过将IND值设置为接收到的IND值,并且将SEQ分量设置为包含在数组的对应分量中的SEQ的值(由接收到的IND值索引)来构造。
替代地并且为了简单起见,AUTS令牌中的SQNMS值应当通过将SEQ分量设置为数组的任何元素中所包含的SEQ的最高值来构造。IND分量应当设置为特殊的“无关”值。该机制简化了AuC逻辑,因为AuC仅需要维护每个USIM的单个SEQ分量的状态,而不是每个USIM的32个SEQ分量的状态。
在当前SQN的值不在通过参考先前接收的序列号的值而确定的范围内时(步骤508的“否”分支),处理模块202生成序列号加密密钥,该序列号加密密钥是从存储在处理模块202的存储器302中的随机数RAND和密钥K导出的,其中序列号加密密钥具有大于48位的长度,步骤512。序列号加密密钥可以具有大于79位的长度,或者可以具有在80位到128位范围内的长度,或者最多可以是128位。在示例实现中,生成具有长度128位的序列号加密密钥。该128位的长度为加密序列号提供了增加的安全性,并且比例如48位长度的密钥更难被攻击者解密。如图6中所示,序列号加密密钥由函数f6*生成,函数f6*是生成具有大于48位长度的序列号加密密钥AK2*的密钥导出函数,其中RAND和K作为至函数f6*的输入。密钥导出函数可以基于AES块密码加密,或者基于使用订户密钥K或从K导出的另外的密钥的带密钥散列函数。在步骤514,处理模块202使用分组密码加密函数利用序列号加密密钥对先前接收的序列号进行加密,以提供加密序列号,其中分组密码加密函数被配置为生成具有与先前接收的序列号相同位数的加密序列号。如图6中所示,处理模块202使用分组密码加密函数f7*利用序列号加密密钥AK2*对先前接收的序列号SQNMS(其是在确定步骤506中使用的先前接收的序列号)进行加密,以提供加密序列号。处理模块202提供加密序列号SQNMS(例如,,以用于在响应消息中发送到网络实体114,步骤516。
在示例实现中,分组密码加密函数是格式保留加密FPE函数。例如,该函数可以使用基于AES和Feistel网络的构造:参见https://en.wikipedia.org/wikl/Format-preserving_encryption——以了解对此的解释以及其他构造。
使用分组密码函数,诸如FPE函数,被配置为生成与先前接收的序列号具有相同位数的加密序列号,这意味着不需要改变UE 102和通信网络之间的协议和接口(例如,UE的ME域保持不改变,并且仅USIM域改变)。换句话说,根据本公开的UE 102(例如,UE的ME域)的功能性与使用XOR函数来隐藏重新同步消息中的SQNMS的上述3G协议相比不改变。
在步骤518,UE 102发送包括加密序列号SQNMS的响应消息。在UE 102处接收的消息是认证消息的示例实现中,响应消息是同步失败消息。对于3G AKA实现,同步失败消息(也称为重新同步消息)还包括消息认证码(例如MAC-S(参见图6))。如上面讨论的,MAC-S是包括在作为对AuC的响应而发送的重新同步消息中的64位认证代码,并且类似于数字签名,AuC可以检查所述数字签名以确保重新同步消息是真正的。使用3GPP TS 33.102 V15.1.0(2018-12)中定义的函数f1*利用以下输入计算MAC-S:SQNMS、K、RAND和AMF。AMF是16位认证管理字段,其在重新同步消息中取全0。
向网络实体114发送响应消息(例如,经由归属网络108或经由SN 122,如图7中的消息706、708所示)。网络实体接收响应消息,使用与在处理模块202中使用的相同的密码函数f7*从存储在网络实体114中的RAND和K生成与处理模块202使用的相同的匿名密钥(AK2*),并使用生成的AK2*来对加密序列号进行解密,以提供先前接收和存储的序列号SQNMS。然后,该号码被存储在网络实体114中,并且被网络实体用来为要发送到UE 102的未来认证消息创建当前序列号SQN(例如,对于下一个认证消息,存储在网络实体中的序列号SQNMS增加一),以确保处理模块202接受未来认证消息中的当前SQN。参考引言中使用的术语,在当前SQN的值不在范围内时,处理模块202确定所接收的当前SQN不是“新的”或不是“新鲜的”(例如,与先前接收的SQN相比太低)或者否则是可疑的(例如,它可能太高也可能太低),并且作为响应,UE 102发送指示网络实体114和处理模块202之间的SQN的同步丢失的响应消息(例如,同步失败消息)。在HLR意外重置(其中所有SQN值被重置为0,例如,由于软件故障)或HLR改变(例如,在HLR之间的迁移或故障转移到负载平衡网络中的不同HLR实例)的情况下,接收的SQN可能太低。如果通信设备已经在长的时间段内从网络脱离,并且HLR在该时间间隔内已经生成了大量的认证向量,则接收的SQN可能太高。
通过使用分组密码加密函数,利用具有大于48位长度的序列号加密密钥对先前接收的序列号进行加密,并且其中分组密码加密函数被配置为生成与先前接收的序列号具有相同位数的加密序列号,通过使用更长的加密密钥,来提高加密序列号的安全性,同时确保与已知的认证协议(诸如,如上所述的3G AKA协议)相比,对通信设备和通信网络之间的协议和接口不存在影响。更进一步地,即使攻击者利用相同的序列号加密密钥触发通信设备发送两个消息,分组密码加密函数也以不向潜在的攻击者揭示任何信息的方式确保响应消息中的加密序列号不同。
如引言中讨论的,3GPP TR 33.846 V0.5.0的6.4.1章节中所述的对可能攻击的解决方案,在AKA同步失败的情况下,将MAC-S作为输入参数添加到匿名密钥的计算中。因此,利用该解决方案,当接收到消息时,AuC使用接收到的MAC-S来导出AK*;然后使用AK*揭示SQNMS;然后使用SQNMS来计算MAC-S的正确值,并且检查接收到的MAC-S是正确的。因此,这是如图8中所示的循环关系。在所公开的方法和处理模块中,序列号加密密钥(AK2*)是从随机数(RAND)和存储在处理模块中的密钥(K)中导出的(例如,使用如在图6中指示的函数f6*)。用于加密先前接收的序列号的序列号加密密钥AK2*不是从MAC-S导出的。通过使用分组密码加密函数,利用从密钥K和随机数RAND而不是从MAC-S导出的序列号加密密钥来加密先前接收的序列号,所公开的方法和处理模块避免了使用MAC-S的循环(例如,如图8中所示),该循环使得协议的安全性更难以分析。
在本公开的前述描述中,参考了特定示例。然而,应当明确的是,在不脱离如在所附权利要求中阐述的本发明的范围的情况下,可以对说明书进行各种修改和改变。
对于理解本公开有用的示例在以下条款中列出:
条款1。一种用于通信设备的处理模块,该处理模块包括:用于存储密钥的存储器;以及一个或多个处理元件,所述一个或多个处理元件耦合到存储器并且被配置为:接收由网络实体提供的当前序列号和随机数;确定当前序列号的值是否在通过参考存储在存储器中的先前接收的序列号的值而确定的范围内;在当前序列号的值不在通过参考先前接收的序列号的值而确定的范围内时:生成序列号加密密钥,所述序列号加密密钥是从随机数和存储在存储器中的密钥导出的,所述序列号加密密钥具有大于48位的长度;使用分组密码加密函数,利用序列号加密密钥对先前接收的序列号进行加密,以提供加密序列号,其中分组密码加密函数被配置为生成具有与先前接收的序列号相同的位数的加密序列号;提供加密序列号,以用于在响应消息中发送到网络实体。
条款2。条款1所述的处理模块,其中所述分组密码加密函数是格式保留加密FPE函数。
条款3。条款1或条款2所述的处理模块,其中所述先前接收的序列号是已经被处理模块接受并存储在处理模块中的先前接收的序列号。
条款4。条款1至3中任一项所述的处理模块,其中所述序列号加密密钥具有128位或至多128位的长度。
条款5。条款1至4中任一项所述的处理模块,其中所述一个或多个处理元件被配置为:在当前序列号的值在所述范围内时,接受当前序列号并将当前序列号存储在存储器中。
条款6。前述条款中任一项所述的处理模块,其中,所述先前接收的序列号是处理模块中接受并存储的多个先前接收的序列号之一。
条款7。一种通信设备,包括:接收器电路,被配置为接收包括当前序列号和随机数的消息,所述当前序列号和随机数由网络实体提供;前述条款中任一项所述的处理模块,该处理模块耦合到接收器电路,该处理模块的一个或多个处理元件被配置为接收由接收器电路接收的消息中包括的当前序列号和随机数;耦合到所述处理模块的发射器电路,所述发射器电路被配置为向所述网络实体发送所述响应消息,所述响应消息包括所述加密序列号。
条款8。条款7所述的通信设备,其中所接收的消息是认证消息,并且所述响应消息是同步失败消息。
条款9。一种通信系统,包括:包括网络实体的通信网络;以及条款7或条款8所述的通信设备,被配置为与通信网络通信。
条款10。一种方法,包括:在通信设备的处理模块处接收由网络实体提供的当前序列号和随机数;由处理模块确定当前序列号的值是否在通过参考存储在处理模块中的先前接收的序列号的值而确定的范围内;在当前序列号的值不在通过参考先前接收的序列号的值而确定的范围内时:由处理模块生成序列号加密密钥,该序列号加密密钥是从随机数和存储在处理模块中的密钥导出的,该序列号加密密钥具有大于48位的长度;由所述处理模块使用分组密码加密函数,利用序列号加密密钥对先前接收的序列号进行加密,以提供加密序列号,其中所述分组密码加密函数被配置为生成具有与所述先前接收的序列号相同的位数的加密序列号;由处理模块提供加密序列号,用于在响应消息中发送到网络实体。
条款11。条款10所述的方法,其中所述分组密码加密函数是格式保留加密FPE函数。
条款12。条款10或条款11所述的方法,其中所述先前接收的序列号是已经被处理模块接受并存储在处理模块中的先前接收的序列号。
条款13。条款10至12中任一项所述的方法,其中序列号加密密钥具有128位或至多128位的长度。
条款14。条款10至13中任一项所述的方法,进一步包括在当前序列号的值在该范围内时,由处理模块接受当前序列号并将当前序列号存储在处理模块中。
条款15。条款10至14中任一项所述的方法,其中先前接收的序列号是处理模块中接受并存储的多个先前接收的序列号之一。
条款16。条款10至15中任一项所述的方法,进一步包括由通信设备发送包括加密序列号的响应消息。
条款17。条款10至16中任一项所述的方法,进一步包括由通信设备接收认证消息,该认证消息包括由网络实体提供的当前序列号和随机数。
条款18。条款16和17所述的方法,其中由通信设备发送的响应消息是同步失败消息。
条款19。一种通信设备,被配置为执行条款10-19中任一项所述的方法的步骤。
Claims (15)
1.一种用于通信设备的处理模块,所述处理模块包括:
用于存储密钥的存储器;以及
一个或多个处理元件,所述一个或多个处理元件耦合到存储器,并且被配置为:
接收由网络实体提供的当前序列号和随机数;
确定当前序列号的值是否在通过参考存储在存储器中的先前接收的序列号的值而确定的范围内;
在当前序列号的值不在通过参考先前接收的序列号的值而确定的范围内时:
生成序列号加密密钥,所述序列号加密密钥是从随机数和存储在存储器中的密钥导出的,所述序列号加密密钥具有大于48位的长度;
使用分组密码加密函数,利用所述序列号加密密钥对先前接收的序列号进行加密,以提供加密序列号,其中分组密码加密函数被配置为生成具有与先前接收的序列号相同的位数的加密序列号;
提供加密序列号,以用于在响应消息中发送到网络实体。
2.根据权利要求1所述的处理模块,其中所述分组密码加密函数是格式保留加密FPE函数。
3.根据权利要求1或2所述的处理模块,其中所述先前接收的序列号是已经被处理模块接受并存储在处理模块中的先前接收的序列号。
4.根据权利要求1至3中任一项所述的处理模块,其中所述序列号加密密钥具有128位或至多128位的长度。
5.根据权利要求1至4中任一项所述的处理模块,其中所述一个或多个处理元件被配置为:
在当前序列号的值在所述范围内时,接受当前序列号并将当前序列号存储在存储器中。
6.根据前述权利要求中任一项所述的处理模块,其中所述先前接收的序列号是处理模块中接受并存储的多个先前接收的序列号之一。
7.一种通信设备,包括:
接收器电路,被配置为接收包括当前序列号和随机数的消息,所述当前序列号和随机数由网络实体提供;
根据前述权利要求中任一项所述的处理模块,所述处理模块耦合到所述接收器电路,所述处理模块的一个或多个处理元件被配置为接收由所述接收器电路接收的消息中包括的当前序列号和随机数;
耦合到所述处理模块的发射器电路,所述发射器电路被配置为向所述网络实体发送所述响应消息,所述响应消息包括所述加密序列号。
8.根据权利要求7所述的通信设备,其中所接收的消息是认证消息,并且所述响应消息是同步失败消息。
9.一种通信系统,包括:
包括网络实体的通信网络;以及
根据权利要求7或权利要求8所述的通信设备,被配置为与通信网络通信。
10.一种方法,包括:
在通信设备的处理模块处接收由网络实体提供的当前序列号和随机数;
由处理模块确定当前序列号的值是否在通过参考存储在处理模块中的先前接收的序列号的值而确定的范围内;
在当前序列号的值不在通过参考先前接收的序列号的值而确定的范围内时:
由处理模块生成序列号加密密钥,所述序列号加密密钥是从随机数和存储在处理模块中的密钥导出的,所述序列号加密密钥具有大于48位的长度;
由所述处理模块使用分组密码加密函数,利用序列号加密密钥对先前接收的序列号进行加密,以提供加密序列号,其中所述分组密码加密函数被配置为生成具有与所述先前接收的序列号相同的位数的加密序列号;
由处理模块提供加密序列号,以用于在响应消息中发送到网络实体。
11.根据权利要求10所述的方法,其中所述分组密码加密函数是格式保留加密FPE函数。
12.根据权利要求10或11所述的方法,其中所述先前接收的序列号是已经被处理模块接受并存储在处理模块中的先前接收的序列号。
13.根据权利要求10至12中任一项所述的方法,其中序列号加密密钥具有128位或至多128位的长度。
14.根据权利要求10至13中任一项所述的方法,进一步包括在当前序列号的值在所述范围内时,由处理模块接受当前序列号并将当前序列号存储在处理模块中。
15.根据权利要求10至14中任一权利要求所述的方法,进一步包括:
由通信设备接收认证消息,所述认证消息包括由网络实体提供的当前序列号和随机数;以及
由通信设备发送包括加密序列号的响应消息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2002067.3 | 2020-02-14 | ||
GB2002067.3A GB2592357A (en) | 2020-02-14 | 2020-02-14 | Processing module for a communication device |
PCT/GB2021/050276 WO2021160996A1 (en) | 2020-02-14 | 2021-02-08 | Processing module for authenticating a communication device in a 3g capable network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115668859A true CN115668859A (zh) | 2023-01-31 |
Family
ID=69956463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180028566.3A Pending CN115668859A (zh) | 2020-02-14 | 2021-02-08 | 用于认证支持3g的网络中的通信设备的处理模块 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230246809A1 (zh) |
EP (1) | EP4104383A1 (zh) |
CN (1) | CN115668859A (zh) |
GB (1) | GB2592357A (zh) |
WO (1) | WO2021160996A1 (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7574599B1 (en) * | 2002-10-11 | 2009-08-11 | Verizon Laboratories Inc. | Robust authentication and key agreement protocol for next-generation wireless networks |
-
2020
- 2020-02-14 GB GB2002067.3A patent/GB2592357A/en active Pending
-
2021
- 2021-02-08 US US17/904,281 patent/US20230246809A1/en active Pending
- 2021-02-08 WO PCT/GB2021/050276 patent/WO2021160996A1/en unknown
- 2021-02-08 CN CN202180028566.3A patent/CN115668859A/zh active Pending
- 2021-02-08 EP EP21704931.1A patent/EP4104383A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230246809A1 (en) | 2023-08-03 |
GB202002067D0 (en) | 2020-04-01 |
GB2592357A (en) | 2021-09-01 |
EP4104383A1 (en) | 2022-12-21 |
WO2021160996A1 (en) | 2021-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6492115B2 (ja) | 暗号鍵の生成 | |
EP2033479B1 (en) | Method and apparatus for security protection of an original user identity in an initial signaling message | |
KR100593576B1 (ko) | 두 당사자 인증 및 키 일치 방법 | |
US11082843B2 (en) | Communication method and communications apparatus | |
EP1685738B1 (en) | Method, apparatus and network for authentication of a wireless communication using expiration marker | |
EP1683387A1 (en) | Method and apparatus for authentication in wireless communications | |
Ouaissa et al. | New security level of authentication and key agreement protocol for the IoT on LTE mobile networks | |
Saxena et al. | SAKA: a secure authentication and key agreement protocol for GSM networks | |
CN114245372B (zh) | 一种认证方法、装置和系统 | |
US20230246809A1 (en) | Processing module for authenticating a communication device in a 3g capable network | |
Manos | Security and Privacy in the Air interface of cellular networks | |
Shi et al. | Efficient and Security Enhanced Evolved Packet System Authentication and Key Agreement Protocol | |
Liu et al. | Enhancing Security of LTE using a Double Masking Technique | |
Audestad | Mobile Security | |
Fidelis et al. | ENHANCED ADAPTIVE SECURITY PROTOCOL IN LTE AKA | |
Preneel | Mobile and wireless communications security | |
Caragata et al. | " Infonomics Society, United Kingdom and Ireland | |
Weltevreden | State-of-the-art on CDMA2000 Security Support | |
MXPA06005168A (en) | Authentication of a wireless communication using expiration marker |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |