CN104604181B - 无线通信的密钥协定 - Google Patents

无线通信的密钥协定 Download PDF

Info

Publication number
CN104604181B
CN104604181B CN201380045551.3A CN201380045551A CN104604181B CN 104604181 B CN104604181 B CN 104604181B CN 201380045551 A CN201380045551 A CN 201380045551A CN 104604181 B CN104604181 B CN 104604181B
Authority
CN
China
Prior art keywords
key
kdf
value
output valve
mobile equipment
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.)
Active
Application number
CN201380045551.3A
Other languages
English (en)
Other versions
CN104604181A (zh
Inventor
丹尼尔·理查德·L·布朗
马修·约翰·坎帕尼亚
内文·莫里斯·纳斯夫·艾贝德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
Original Assignee
Certicom Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Certicom Corp filed Critical Certicom Corp
Publication of CN104604181A publication Critical patent/CN104604181A/zh
Application granted granted Critical
Publication of CN104604181B publication Critical patent/CN104604181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3271Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

描述了用于在通信系统中执行密钥协定操作的方法、系统和计算机程序。在一些方案中,无线网络运营商接收移动设备标识符,并存取与移动设备相关联的密钥。基于秘密密钥估计消息认证码函数以生成输出值。基于输出值获得会话密钥和询问值。在一些方案中,移动设备响应于接收到来白无线网络运营商的询问值而存取密钥。基于秘密密钥估计消息认证码函数以生成输出值。基于输出值获得响应值和会话密钥。将响应值发送给无线网络运营商。

Description

无线通信的密钥协定
技术领域
本申请要求2012年6月28日提交的美国专利申请No.13/536,747号的优先权,在此通过引用将其并入本文。
背景技术
本说明书涉及在无线通信系统中执行密钥协定操作。许多移动设备被配置为与无线网络(例如全球移动通信系统(GSM)、通信移动通信服务(UMTS)、长期演进(LTE)等)通信。移动设备和无线网络可以使用加密技术来实现通信的机密性和可靠性。在一些实例中,移动设备和无线网络执行密钥协定协议以导出用于加密通信中的密钥(例如密码密钥、完整性密钥等)。
发明内容
在一个方案中,提供一种方法,包括:接收通用集成电路卡(UICC)的标识符;基于标识符存取由计算机系统保存的秘密密钥,其中秘密密钥与标识符相关联;至少部分根据秘密密钥估计密钥导出函数(KDF)以生成第一输出值,其中KDF是散列函数;基于第一输出值获得会话密钥;通过至少部分根据序列值估计KDF来生成第二输出值;以及基于第二输出值获得消息认证码(MAC)。
在另一个方案中,提供一种方法,包括:存取秘密密钥;基于秘密密钥估计密钥导出函数(KDF)以生成第一输出值;基于第一输出值获得会话密钥;基于第一输出值获得响应值;通过至少部分根据序列值估计KDF来生成第二输出值;基于第二输出值获得消息认证码;以及将响应值发送给无线网络运营商系统;其中KDF是散列函数。
在另一方案中,提供一种装置,包括:数据处理装置,数据处理装置操作用于:存取秘密密钥;基于秘密密钥估计密钥导出函数(KDF)以生成第一输出值;基于第一输出值获得会话密钥;基于第一输出值获得响应值;通过至少部分根据序列值估计KDF来生成第二输出值;以及基于第二输出值获得消息识别码;其中KDF是散列函数。
附图说明
图1是示例无线通信系统的示意图。
图2是通信系统中的示例性认证密钥序列的信令和流程图。
图3A是示出能够被网络运营商系统用于认证密钥协定的示例技术的流程图。
图3B是示出能够被移动设备用于认证密钥协定的示例技术的流程图。
图4A是示出能够以被网络运营商系统用于认证密钥协定的示例技术的流程图。
图4B是示出能够被移动设备用于认证密钥协定的示例技术的流程图。
图5A和5B是示出能够被网络运营商系统用于通用移动通信服务(UMTS)系统中的认证密钥协定的示例技术的流程图。
图5C和5D是示出能够被移动设备用于UMTS系统中的认证密钥协定的示例技术的流程图。
图5E是示出图5A和5B中所示示例技术的方案的示意图。
图6A是示出能够被网络运营商系统用于UMTS系统中的认证密钥协定的示例技术的流程图。
图6B和6C是示出能够被移动设备用于UMTS系统中的认证密钥协定的示例技术的流程图。
图6D是图6A中所示的示例技术的方案的示意图。
各图中类似的参考符号和标识指示类似的单元。
具体实施方式
无线通信系统需要安全性功能。可以例如由无线网络服务器、由接入无线网络的移动设备,或由这些设备和其他组件的组合,来执行安全协议。多个因素影响安全性要求。在一些情况下,设备需要依赖单个算法的长期安全。例如,当嵌入式通用集成电路卡(UICC)安装于移动设备中时,安全算法在安装之后可能难以修改或替换。在一些情况下,可用的安全算法基于计算能力的提升而演进。例如,移动设备技术的计算能力一般会随时间而不断提高。考虑到这些因素,在一些上下文中,针对无线网络中的备选的密钥协定和认证方案定义宽松的要求可以是有用的。
在这里所描述的一些方案中,移动设备和无线网络运营商服务器能够例如使用先前已经建立的对称密钥,通过第三方无线网络而彼此认证。密钥导出函数(KDF)、消息认证码(MAC)函数或它们的任意合适的组合能够用在更大的结构中以提供认证并导出会话密钥,从而实现机密性和数据完整性。在一些实例中,所述结构能够部署于由现有标准提供的一般架构内(例如通用移动通信服务(UMTS)系统内)。在一些实例中,本文所描述的解决方案能够(例如)通过使用标准化KDF或其他类型的函数,而提供在基础安全基元(securityprimitive)之间的更大的灵活度。这里所描述的技术和系统能够提供另外的或不同的益处。
在一些实施方式中,安全协议利用MAC函数。可使用任意合适的MAC函数。通常,MAC函数接收输入,该输入包括密钥、任意长度的输入消息和其他可能输入;MAC函数能够基于这些输入来生成特定长度的输出。MAC函数能够基于任意合适操作(诸如带密钥散列函数、不带密钥散列函数、加密块链或其他类型的函数)来生成输出。
在一些情况下,MAC函数可以指代由密钥k参数化的函数族hk。MAC函数可以具有“易于计算”属性,使得对于已知函数hk,给定值k和输入x,就可以容易地计算hk(x)。值hk(x)可被称为MAC值或MAC。MAC函数可以具有“压缩”属性,使得hk(x)将任意有限位长的输入x映射至固定位长n的输出hk(x)。MAC函数可以具有“抗计算(computation-resistance)”属性。例如,给定函数族h的描述,对于每个固定的允许值k(对手不知道),给定零或更多个文本-MAC对{xi,hk(xi)},对手无法通过可行计算来计算出针对任意新输入x≠xi的任意文本-MAC对{xi,hk(xi)}(对于某一i,有可能包括hk(x)=hk(xi))。在一些情况下,MAC函数可被包括在更大的函数内。例如,MAC函数可被包含在密钥导出函数(KDF)或其他类型的函数内。
在一些实施方式中,安全协议使用KDF。可以使用任意合适的KDF。一些示例KDF如下:在ANSI X9.63-2011(ANSI:美国国家标准协会)中定义的使用SHA256的ANSI X.963基于散列的KDF;在NIST SP800-108(NIST:美国国家标准技术研究院)中定义的利用来自SP800-38B的CMAC-AES128的NIST计数器模式KDF;在NIST SP800-108中定义的利用来自FIPS 198-1的带密钥-HMAC-SHA 256的NIST计数器模式KDF;以及其他KDF。这些示例可被(例如)用在128位安全等级、256位安全等级或任意其他合适的等级上。
KDF可以从输入数据导出加密密钥。这些输入可以包括(例如)秘密密钥、随机种子、常量或其任意合适的组合、或者其他输入。输入可以包括用户密码、来自熵源的随机种子值,或来自散列函数或加密操作的值。在一些实例中,KDF通过应用函数(诸如散列、带密钥的散列、或用于一次或更多次迭代的块加密)而从输入密钥和其它输入导出输出。在一些情况下,输出长度被作为输入提供给KDF。输出长度变量可以指定KDF所生成的输出的位长。
KDF可以包括一个或更多个迭代函数。迭代次数可以取决于(例如)要由KDF生成的输出的指定长度、安全参数或其它因素。一些类型的函数可以(例如)用计数器模式、反馈模式、双排线模式或其他迭代模式来迭代。在计数器模式中,KDF可以使函数迭代n次并串接输出,直至生成密钥材料的L位。在该示例中,其中h是指示迭代函数的输出的长度的整数。
图1是示例无线通信系统100的示意图。示例无线通信系统100包括移动设备102和无线网络系统103。无线通信系统100可以包括另外的或不同的特征和组件。例如,无线通信系统100可以包括一个或更多个服务器、计算系统、另外的或不同的网络、无线终端或这些其它组件的任意合适组合。无线网络系统103可以包括无线站104和核心网系统106。无线网络系统103可以包括另外的或不同的特征和组件。无线通信系统100的组件可以如图1所示配置,或无线通信系统100可以视情况以其他方式来配置。
在图1所示的示例中,移动设备102可以与无线网络系统103通信。在一些实例中,无线网络系统103可以为移动设备102提供到广域网(例如互联网等)的接入,并且移动设备102可以通过广域网与其它设备或子系统通信。在一些实例中,无线网络系统103可以为移动设备102提供到电话网(例如综合服务数字网(ISDN))、公共交换电话网(PSDN)等)的接入,并且移动设备102可以通过电话网与其它设备或子系统通信。移动设备102可以通过另外的或不同类型的网络通信,并且可以具有接入其他网络的其他方式。移动设备可被配置为通过无线局域网(WLAN)、个人局域网(PAN)(例如蓝牙和其它短距离通信系统)、城域网、使用蜂窝技术的公用陆地移动网络(例如全球移动通信系统(GSM)、通用移动通信服务(UMTS)、长期演进(LTE)等)以及其他类型的无线网络进行通信。
移动设备102包括无线接口110、处理器112和存储器114。移动设备102可以包括另外的或不同的特征。在一些实例中,移动设备102可以包括一个或更多个用户接口。例如,用户接口可以包括触摸屏、键盘、麦克风、指示设备(例如鼠标、轨迹球、触控笔等)或其他类型的用户接口。此外,移动设备102的特征和组件可以按照如图所示并参照图1描述的方式进行配置,或以不同的方式进行配置。通常,移动设备102可以包括任意适当类型的子系统、模块、设备、组件及其组合。移动设备的示例包括:各种类型的移动设备通信设备、电子阅读器、媒体播放器、智能电话、膝上型计算机系统、平板设备等。
移动设备102的无线接口110可以包括任意合适的硬件、软件、固件或其组合。在一些实施方式中,无线接口110可被包括在移动设备102的无线通信子系统中。无线接口110可以包括另外的或不同的特征或组件。在一些实施方式中,无线接口110可以包括程序、代码、脚本、函数或可由数据处理装置执行的其他类型的指令,或者可以有权访问程序、代码、脚本、函数或可由数据处理装置执行的其他类型的指令。在一些实施方式中,无线接口110可以包括预编程的或可重新编程的逻辑电路、逻辑门或其他类型的硬件或固件组件,或有权访问预编程的或可重新编程的逻辑电路、逻辑门或其他类型的硬件或固件组件。无线接口110处理在移动设备102与无线站104之间的无线通信。
处理器112可以执行指令以(例如)基于数据输入来生成输出数据。这些指令可以包括存储器中存储的程序、代码、脚本或其他类型的数据。作为补充或备选,这些指令可被编码为预编程或可重新编程的逻辑电路、逻辑门或其他类型的硬件或软件组件。在一些实例中,处理器112可以通过执行或解释存储器114中存储的软件、脚本、程序、函数、可执行文件(executable)或其他模块来生成输出数据。
存储器114可以包括任意合适的计算机可读介质。存储器114可以包括易失性存储设备、非易失性存储设备或这二者。存储器114可以包括一个或更多个只读存储设备、随机存取存储设备、缓存设备或这些存储设备及其他类型的存储设备的组合。在一些实例中,存储器的一个或更多个组件可以与移动设备102的另一组件集成在一起或以其他方式相关联。存储器114可以以计算机可读格式存储数据,例如应用程序、文件等。
在一些实施方式中,移动设备102包括通用集成电路卡(UICC)和移动设备。移动设备可以(例如)由国际移动设备标志(IMEI)识别。UICC可以是(例如)SIM卡,其包括用于识别订户的国际移动订户标志(IMSI)、用于认证的秘密密钥、以及其他用户信息。IMEI和IMSI可以是独立的,由此提供个人移动性。可以通过密码、个人身份号码或其他方式保护SIM卡以防止未经授权的使用。
图1中所示的示例无线网络系统103可以包括一个或更多个无线通信网、无线数据网、组合的语音和数据网络、或这些网络与其它类型的无线网络的任意合适组合。无线网络系统103可以是使用蜂窝技术的公用陆地移动网络(例如全球移动通信系统(GSM)、通用移动通信服务(UMTS)、长期演进(LTE)等)。无线网络系统103可以(例如)利用射频信号或其他通信模式与移动设备102通信。无线网络系统103可以包括跨区域或地区分布的设备、系统或组件。无线网络系统103可以包括一个或更多个局域网、地区网络、国家网络或全球网络。
无线网络系统103可以包括一个或更多个蜂窝网。无线网络系统103可以利用一个或更多个通信协议标准,例如3G、4G、GSM、LTE、CDMA、GPRS、EDGE、LTE或其他。在一些情况下,无线网络系统103被实现为使用宽带码分多址(WCDMA)作为空中接口的UMTS系统。一些示例UMTS系统包含基站子系统(BSS)、全球陆地无线电接入网(UTRN)和用于电路交换和分组交换(例如电子邮件)应用的核心网。
无线站104可以包括任意合适结构或系统。在一些情况下,在蜂窝网中,无线站104可被实现为基站或基站的一部分。无线站104可以与移动设备102无线通信。例如,无线站104可以包括通过射频信号与移动设备102直接通信的一个或更多个天线。无线站104可以包括任意合适的通信组件(例如,天线、天线控制器系统、收发机、计算系统、处理器、存储器和关联的硬件组件)。在一些实例中,无线站104的全部或一部分可被实现为基站子系统(BSS)、基地收发站(BTS)、基站控制器(BSC)、无线电基站(RBS)、节点B、演进的节点B、通用陆地无线电接入网(UTRAN)、或这些中的一个或更多个的任意合适组合。例如,BSS可以提供对特定无线电资源的分配、释放和管理,以在移动设备102与无线电接入网(例如GSM/EDGE无线电接入网)之间建立连接;UTRAN可以包括(例如)无线电网络控制器(RNC)和节点B,以及UTRAN可以支持移动设备102与核心网系统106之间的连接性。无线站104可以包括另外的或不同的特征。
无线站104可以(例如)通过有线连接、无线连接或通信链路的任意合适组合来与核心网系统106进行通信。无线站104可以包括适于与核心网系统106通信的特征(例如硬件、软件、数据等)。例如,无线站104可以适于加密、解密和认证与核心网系统106的通信。
核心网系统106可以包括任意合适的结构或系统。在一些实例中,核心网系统106与无线站104通信,以控制或促进在无线站104与移动设备102之间的通信。在一些实例中,核心网系统106的全部或一部分可被实现为UMTS核心网或其他类型的核心网系统。核心网系统106可以包括任意合适的服务器系统、通信接口或其他特征。在一些实例中,核心网系统106可以通过私人数据网络(例如企业网络、虚拟私人网络等)、广域网(例如互联网等)、电话网以及可能的另外的或不同类型的网络进行通信。
在基于UMTS的实施方式中,核心网系统106可以包括(例如)移动交换中心(MSC)、访问者位置寄存器(VLR)、网关MSC(GMSC)、信令传送点(STP)、服务控制点(SCP)、认证中心(AuC)、归属位置寄存器(HLR)、GPRS服务支持节点(SGSN)、网关GPRS支持节点(GGSN)、短消息服务中心SMS-SC、或这些和其他系统的组合。MSC可以提供在无线电系统与固定网络之间的接口。例如,MSC可以执行用以处理去往和来自移动台的电路交换服务的功能。VLR可以提供数据库,该数据库存储与该VLR服务的MSC的管辖下的移动设备有关的信息。HLR可以支持分组交换(PS)域实体,如SGSN、移动性管理实体(MME)和GGSN。HLR还可以支持电路交换(CS)域实体,如MSC。在一些实例中,HLR使得订户能够接入服务,并且支持到传统的GSM/UMTS网络的漫游。AuC可以存储用于登记到归属位置寄存器(HLR)的每个移动用户的身份密钥。该密钥可被用于生成安全性数据。核心网系统106可以包括另外的或不同的特征。
在基于UMTS的一些实施方式中,HLR和VLR连同MSC一起为移动设备提供呼叫路由和(可能的国际)漫游能力。HLR可以包含在UMTS网络中登记的每个用户的管理信息,以及移动设备的当前位置。UMTS网络可以包括单个HLR,并且HLR可被实现为分布式数据库。VLR可以包含针对当前位于该VLR所控制的地理区域中的每个移动装置的、选自HLR的管理信息,所述管理信息用于呼叫控制和订阅服务的提供。每个功能实体可被实现为独立单元。交换设备的一些制造商实现一个VLR连同一个MSC,使得MSC所控制的地理区域与VLR所控制的地理区域相对应。
图2是用于通信系统中的认证密钥协定的示例过程200的信令和流程图。图2中所示的示例过程200可被修改或重新配置,以包括可以额外的操作、较少的操作或不同的操作,这些操作可以按照图示的顺序或不同的顺序来执行。在一些实例中,可以(例如)重复或迭代这些操作中的一个或更多个操作,直至达到终止条件。在一些实施方式中,图2中所示的各个操作中的一个或更多个操作可被作为多个单独操作来执行,或者图2中所示的操作的一个或更多个子集可被组合并作为单个操作来执行。
可以在通信系统中实现过程200。例如,可以由图1中所示的无线通信系统100的一个或更多个组件或由不同类型的系统来实现过程200。图2示出了由移动设备202、网络服务器204和另一网络服务器206执行的特定操作。在过程200的一些实施方式中,视情况,可以由另外的或不同的组件、设备或子系统或者由它们的组合来执行图2中所示的操作中的一个或更多个操作。
移动设备202可以是能够无线通信的任意合适设备。在一些方案中,移动设备202可以是图1中所示的移动设备102。例如,移动设备202可以是允许用户通过网络服务器204或206来接入网络服务的移动单元。网络服务器204和206可以与无线网络系统(诸如图1所示无线网络系统103)相关联。例如,网络服务器204和206之一或二者可以是无线站104、核心网系统106的一部分,或者网络服务器204和206可以与无线网络系统的其他特征相关联。
网络服务器204可以是能够与移动设备202和网络服务器206(例如直接、间接、无线等)通信的任意合适的计算系统。在一些实施方式中,网络服务器204可以是访问者位置寄存器(VLR),其可以是核心网的一部分。例如,网络服务器204可被配置为:执行关于移动设备的详细位置信息更新、位置信息登记、寻呼、安全性的功能,并且可以维护订户信息的副本。在一些实施方式中,网络服务器204可以指派临时移动订户识别符(TMSI),其可以在VLR所处理的区域中具有局部意义。例如,TMSI可以由AuC随机指派。网络服务器204可以用其他方式来实现,并且网络服务器204可被配置为执行另外的或不同的操作。
网络服务器206可以是能够与网络服务器204和移动设备202(例如直接、间接、无线等)通信的任意合适的计算系统。在一些实施方式中,网络服务器206可以是归属位置寄存器(HLR),其可以是核心网的部分。网络服务器206可以用其他方式实现,并且网络服务器206可被配置为执行另外的或不同的操作。在一些实施方式中,移动设备202具有对无线网络系统的订阅,并且可以向网络服务器204登记。在一些实施方式中,移动设备202可以是订阅到另一无线网络系统的访客(visiting)移动设备,并且访客移动设备可以通过VLR(例如网络服务器204)而向其HLR(例如网络服务器206)临时登记。
可以在任意合适的时间或在任意合适的条件下执行过程200。例如,可以在移动设备202进入某个无线站的管辖区时,在移动设备202发起与无线站的通信时,在无线站发起与移动设备202的通信时,或在其他事件时,执行过程200。在一些情况下,可以(例如)按照指定时间或指定时间间隔,周期性地执行过程200。在一些情况下,可以在移动设备202或无线网络刷新通信参数时,或在其他指定情况下,执行过程200。
在210a处,移动设备202向网络服务器204发送标识符。移动设备202可以通过无线网络或利用另外的或不同的通信系统或链路来发送标识符。在某一实施方式中,该标识符可以是临时移动订户识别符(TMSI)。TMSI可以是网络服务器指派给移动设备202的用以识别移动设备202的唯一标识符,同时支持订户识别。在210b处,网络服务器204向网络服务器206发送标识符。在某些实例中,该标识符可以是在210a处从移动设备202接收到的标识符。发送标识符的可能原因之一是请求验证来自网络服务器206的标识符。
在212处,网络服务器206生成询问(challenge)和会话密钥。在一些实例中,图3A、4A、5A、4B和6A中所示的示例过程可以用于生成询问和会话密钥。其他合适的技术可被用于生成询问和会话密钥。在一些实施方式中,网络服务器206参与认证和密钥协定过程,以生成认证矢量AV。认证矢量可以包括:例如,随机值RAND、期望的响应XRES、密码密钥CK、完整性密钥IK和认证令牌AUTH。每个认证矢量可以是仅对在网络服务器206和移动设备202之间的一次认证和密钥协定有效,并且可以基于序列号排序。可以由网络服务器206生成另外的或不同类型的数据。
在216处,网络服务器206向网络服务器204发送数据。该数据可以包括,例如,认证矢量或任意合适信息。在一些实例中,该数据包括随机值RAND、期望的响应XRES,密码密钥CK,完整性密钥IK、认证令牌AUTH,或者由网路服务器206响应于接收到标识符而生成的值的任意合适组合。
在217处,网络服务器204向移动设备202发送询问。在一些实施方式中,网络服务器204可以通过解析数据且将其发送给移动设备202来促进认证密钥协定过程。发送给移动设备202的询问可以包括随机值RAND、认证令牌AUTN、或者这些和其他数据的组合。
在218处,移动设备202生成响应和会话密钥。在一些实例中,图3B、4B、5C、5D、6B和6C中所示的示例过程可被用于生成响应和会话密钥。其他合适的技术可被用于生成询问和会话密钥。在接收到询问时,如果认证令牌AUTN被移动设备202接受,则移动设备202可以生成响应RES、密码密钥CK、完整性密钥IK和移动设备认证令牌AUTNMS。可以由移动设备202生成另外的或不同类型的数据。
在220处,移动设备202向网络服务器204发送响应。该响应可以包括由移动设备202生成的响应RES。视情况,该响应可以包括另外的或不同的数据。
在222处,网络服务器204比较由网络服务器204提供的预期响应XRES与由移动设备202提供的响应RES。如果响应与预期响应相匹配,则网络服务器204可以认为在移动设备202和网络服务器206之间已经成功完成认证和密钥协定。如果响应与预期响应不匹配,则网络服务器204可以认为认证及密钥协定已经失败。在这种情况下,可以重复先前操作中的一个或更多个,可以停止过程,或者可以存在可用的其他选项。
在224处,网络服务器206向移动设备202发送标识符。可以通过网络服务器204或者通过另一通信链路或中间系统,来发送标识符。标识符可以是TMIS或另一标识符。在一些情况下,标识符可以是加密的,或标识符可以是未加密的。在一些实例中,在图2中所示的其他操作之前将标识符发送给移动设备。
在226处,在移动设备与网络服务器204、206中的一个或更多个之间使用安全通信信道。可以(例如)使用212和218处所生成的会话密钥,来使信道安全。在一些实施方式中,移动设备202或网络服务器使用会话密钥来彼此通信或与其它实体通信。在一些实例中,移动设备202或网络服务器使用密码密钥CK对通信进行加密或解密。在一些实例中,移动设备202或网络服务器使用完整性密钥IK来生成认证标签或者验证认证标签的真实性。可以使用另外的或不同的安全性过程。在一些实例中,匿名密钥AK*可被用于保护信息,例如,用以向AuC发送重新同步的序列值SQN。在一些实例中,匿名密钥被用于对序列值SQN进行掩码,原因在于序列值SQN可被用于跟踪。例如,可以根据密钥K和值RAND或用任意其他合适方式计算匿名密钥AK。
图3A是示出可被网络运营商系统用于认证密钥协定的示例过程300的流程图。可以(例如)由无线网络的服务器系统或由任意其他合适系统来实现过程300。在一些实施方式中,由归属位置寄存器(HLR)或由无线网络的任意其他组件来执行过程300的一个或更多个操作。过程300可以包括另外的或不同的操作,并且可以根据图3A中所示的顺序或任意合适的顺序来执行这些操作。在一些情况下,可以(例如)迭代或重复这些操作中的一个或更多个操作,直至达到指定条件。
在302处,接收移动设备的标识符。例如,该标识符可以是临时移动订户识别符(TMSI)或与移动设备相关联的任意其他合适的标识符。在一些实施方式中,该标识符可以与开放系统互联(OSI)模型的层中的识别码(例如电子邮件地址、电话号码、会话发起协议(SIP)、统一资源标识符(URI)、介质访问控制标识符等)有关。该标识符可以直接或间接从移动设备接收。例如,移动设备可以将标识符无线发送给无线网络,以及可以通过核心网络系统中的一个或更多个通信链路来转发标识符。
在304处,存取秘密密钥。例如秘密密钥可以存储于核心网的任意合适的数据库或网络服务器中。302处所接收的标识符可被用于在安全数据库中定位秘密密钥。在一些实例中,秘密密钥是由移动设备和网络运营商二者保存的长期的对称密钥。可以使用另外的或不同类型的秘密密钥。
在306处,获得询问。例如,该询问可以是随机询问值。随机值可以是先前所生成的随机值,或者可以是响应于接收到标识符而生成的随机值。可以(例如)由伪随机生成器或其他合适的系统生成该随机值。在一些情况下,可以通过将随机询问与运营商常量进行异或(XOR)来更新询问。
在308处,基于秘密密钥和询问来估计消息认证码(MAC)函数。MAC函数可以包括任意合适的函数或函数族。例如,MAC函数可以是散列MAC(HMAC)、加密MAC(CMAC)、或任意其他合适的MAC函数。MAC函数可被估计为孤立函数,或MAC函数可被估计为较大函数的一部分(例如被估计为密钥导出函数的一部分)。某些密钥导出函数(KDF)包括MAC函数,并且估计这种KDF会使得MAC函数被估计。包括MAC函数的KDF的示例包括:在ANSI X.9.63-2011中定义的使用SHA256的基于散列的KDF、在NIST SP800-108中定义的利用来自NIST SP800-38B的CMAC-AES128的计数器模式KDF、在NIST SP800-108中定义的利用来自FIPS 198-1的带密钥-HMAC-SHA256的NIST计数器模式KDF等等。MAC函数可以对任意合适的输入进行操作。在一些示例中,MAC函数的输入可以包括秘密密钥和询问值。视情况,可以使用另外的或不同的输入。
在310处,基于MAC函数的输出来获得(一个或多个)会话密钥和预期响应。例如,这些会话密钥可以包括密码密钥(CK)和完整性密钥(IK)之一或两者。可以生成另外的或不同的会话密钥。预期响应可以是预期移动设备响应于306处所获得的询问值将生成的响应。由此,询问和预期响应可被用于认证移动设备。
在312处,基于询问、预期响应和(一个或多个)会话密钥来生成消息。例如,该消息可以包括询问、预期响应、会话密钥(例如CK、IK或其他会话密钥)、认证令牌(AUTN)或这些和其他数据的任意合适组合。该消息可以具有任意合适的结构或格式。该消息可被构建为有序阵列或认证向量,该有序阵列或认证向量可从HLR发送给VLR。在一些情况下,可以通过串接序列号SQN、认证管理函数(AMF)和消息认证码来组装AUTN。此外,匿名密钥亦可以是AUTN的一部分。在一些情况下,可以用SQN对匿名密钥AK进行掩码。例如,SQNAK可被作为AUTN的一部分进行发送。
图3B是示出可被移动设备用于认证密钥协定的示例过程350的流程图。例如,可以由无线通信系统中的移动设备或由任意其他合适的系统实现过程350。在一些实施方式中,由移动设备与执行图3A中所示的示例过程300的无线网络服务器协同执行图3B中所示的示例过程350。过程350可以包括另外的或不同的操作,并且可以按照图3B中示出的顺序或者任意合适顺序来执行操作。在一些情况下,可以(例如)迭代或重复这些操作中的一个或更多个操作,直至达到指定条件。
在352处,接收询问。该询问可以是从无线网络系统接收的。例如,VLR或无线网络系统的另一组件可以向移动设备发送询问以发起认证密钥协定协议。该询问可以包括随机值、认证令牌、或者这些和其它数据的任意合适组合。在一些实例中,询问可以包括在图3A中的306处由网络运营商生成的询问值。例如,该询问可以包括来自在图3A中的312处由网络运营商生成的消息的数据。
在354处,存取秘密密钥。可以通过任意合适的技术来存取秘密密钥。可以响应于从无线网络接收到询问而在移动设备上本地存取该秘密密钥。该秘密密钥可以是由移动设备和网络运营商保存的先前计算的密钥。例如,该秘密密钥可以是存储于移动设备的USIM上的长期的对称密钥。在一些情况下,可以使用其它类型的密钥。
在356处,基于秘密密钥和询问来估计MAC函数。在356处由移动设备估计的MAC函数可以与在308处由网络服务器估计的MAC函数相同。例如,该MAC函数可以是散列MAC(HMAC)、加密MAC(CMAC)或任意其他合适的MAC函数。该MAC函数可被估计为孤立函数,或者MAC函数可被估计为较大函数的一部分(例如密钥导出函数的一部分)。某些密钥导出函数(KDF)包括MAC函数,并且估计这种KDF会使得MAC函数被估计。
在358处,基于MAC函数的输出来获得响应和(一个或多个)会话密钥。例如,这些会话密钥可以包括密码密钥(CK)和完整性密钥(IK)之一或两者。可以生成另外的或不同的会话密钥。该响应可以包括移动设备响应于352处所接收的询问值将提供的信息。例如,移动设备可以将响应发送给网络,并且网络可以使用该响应来认证移动设备。
在360处,发送响应。该响应可以从移动设备向无线网络系统无线发送。例如,该响应可以发送给提供在352处的询问的网络系统。在一些情况下,例如,该响应可以发送给VLR或无线网络系统的另一组件。在一些情况下,视情况,该响应可以与认证令牌和其它数据一起发送。
图4A是示出可被网络运营商系统用于认证密钥协定的示例过程400的流程图。例如,可以由无线网络的服务器系统或由任意其它合适系统来实现过程400。在一些实施方式中,由归属位置寄存器(HLR)或由无线网络的另一组件来执行过程400的一个或更多个操作。过程400可以包括另外的或不同的操作,并且可以按照图4A中所示的顺序或者任何合适的顺序来执行这些操作。在一些情况下,可以(例如)迭代或重复这些操作中的一个或更多个,直至达到指定条件。
在402处,接收移动设备的标识符。例如该标识符可以是临时移动订户识别符(TMSI)或与移动设备相关联的任意其他合适的标识符。在一些实施方式中,该标识符可以与开放系统互连(OSI)模型的层中的识别码(例如电子邮件地址、电话号码、会话发起协议(SIP)、统一资源标识符(URI)、介质访问控制标识符等)有关。可以直接或间接从移动设备接收该标识符。例如移动设备可以将无线标识符无线发送给无线网络,并且可以通过核心网系统中的一个或更多个通信链路来转发标识符。
在404处,存取秘密密钥。例如,可以在核心网的任意合适的数据库或服务器中存储该秘密密钥。在302处接收的标识符可被(例如)用于在安全数据库中定位秘密密钥。在一些实例中,该秘密密钥是由移动设备和网络运营商二者保存的长期的对称密钥。可以使用另外的或不同类型的密钥。
在406处,获得询问。例如,该询问可以是随机询问值。随机值可以是先前所生成的随机值,或者可以是响应于接收到标识符而生成的随机值。可以(例如)由伪随机生成器或其他合适的系统生成该随机值。在一些情况下,可以通过将随机询问与运营商常量进行异或(XOR)来更新询问。
在408处,基于秘密密钥和询问来估计密钥导出函数KDF。该KDF可以包括任意合适的函数或函数族。KDF可以包括MAC函数、散列函数或其他类型的单向函数、加密函数或者这些函数和其它函数的任意合适组合。示例KDF包括:在ANSI X.9.63-2011中定义的使用SHA256的基于散列的KDF、在NIST SP800-108中定义的利用来自NIST SP800-38B的CMAC-AES128的计数器模式KDF、在NIST SP800-108中定义的利用来自FIPS198-1的带密钥-HMAC-SHA256的NIST计数器模式KDF。可以使用另外的或不同的KDF。
408处估计的KDF可以操作任意合适的输入。在一些示例中,KDF的输入包括秘密密钥和询问值。视情况,可以使用另外的或不同的输入。KDF可以操作输入,该输入指示要由KDF导出的密钥材料的长度。在408处估计KDF可以生成密钥导出密钥作为输出。
在410处,基于密钥导出密钥估计密钥导出函数。由此,可以使用分层的密钥导出方案。例如,408处所产生的密钥导出密钥可以用作KDF的输入之一,以在410处生成另一KDF输出。410处所估计的KDF可以是与408处所估计KDF相同的KDF,或者可以使用不同的KDF。无论哪种情况,由408处的KDF产生的输出的位长可以大于、等于或小于由410处的KDF生成的输出的位长。例如,不同输出长度变量可以与同一KDF一起使用。410处估计的KDF可以操作任意合适的输入。在一些示例中,KDF的输入包括密钥导出密钥和常量。视情况,可以使用另外的或不同的输入。
在412处,基于410处的KDF产生的输出来获得(一个或多个)会话密钥和预期响应。例如,这些会话密钥可以包括密码密钥(CK)和完整性密钥(IK)之一或二者。可以生成另外的或不同的会话密钥。预期响应可以是预期移动设备响应于406处获得的询问值将生成的响应。由此,询问和预期响应可被用于认证移动设备。
在414处,基于询问、预期响应和(一个或多个)会话密钥生成消息。例如,该消息可以包括询问、预期响应、会话密钥(例如CK、IK或其他会话密钥)、认证令牌(AUTN)或者这些和其他数据的任意合适组合。该消息可以具有任意合适结构或格式。该消息可被构建为有序阵列或认证向量,该有序阵列或认证向量可从HLR发送给VLR。在一些情况下,可以通过串接序列号SQN、认证管理函数(AMF)和消息认证码来组装AUTN。此外,匿名密钥亦可以是AUTN的一部分。
图4B是示出可被移动设备用于认证密钥协定的示例过程450的流程图。例如,可以由无线通信系统中的移动设备或由任意其他合适的系统实现过程450。在一些实施方式中,由移动设备与执行图4A中所示的示例过程400的无线网络服务器协同执行图4B中所示的示例过程450。过程450可以包括另外的或不同的操作,并且可以按照图4B中示出的顺序或者任意合适顺序来执行操作。在一些情况下,例如,可以迭代或重复这些操作中的一个或更多个操作,直至达到指定条件。
在452处,接收询问。该询问可以是从无线网络系统接收的。例如,VLR或无线网络系统的另一组件可以向移动设备发送询问,以促进认证密钥协定协议。该询问可以包括随机值、认证令牌、或者这些和其它数据的任意合适组合。在一些实例中,询问可以包括在图4A中的406处由网络运营商产生的询问值。例如,该询问可以包括来自在图4A中的414处由网络运营商生成的消息的数据。
在454处,存取秘密密钥。可以通过任意合适的技术存取秘密密钥。可以响应于从无线网络接收到询问而在移动设备上本地存取该秘密密钥。该秘密密钥可以是移动设备和网络运营商保存的先前所计算的密钥。例如,该秘密密钥可以是存储于移动设备的USIM上的长期的对称密钥。在一些情况下,可以使用其他类型的密钥。
在456处,基于秘密密钥和询问来估计密钥导出函数(KDF)。在456处估计KDF产生密钥导出密钥。在458处,基于密钥导出密钥估计KDF。在456和458处由移动设备估计的KDF可以是分别与在408和410处由网络服务器估计的KDF相同的KDF。例如,在456和458处估计的KDF可以是:在ANSI X.9.63-2011中定义的使用SHA256的基于散列的KDF、在NIST SP800-108中定义的利用来自NIST SP800-38B的CMAC-AES128的计数器模式KDF、在NIST SP800-108中定义的利用来自FIPS198-1的带密钥-HMAC-SHA256的NIST计数器模式KDF,或者任意其他合适的KDF。
在460处,基于458处估计的KDF的输出来获得响应和(一个或多个)会话密钥。例如,这些会话密钥可以包括密码密钥(CK)和完整性密钥(IK)之一或二者。可以生成另外的或不同的会话密钥。该响应可以包括移动设备响应于452处接收的询问值将提供的信息。例如,移动设备可以将该响应发送给网络,并且网络可以使用该响应来认证移动设备。
在462处,发送该响应。可以从移动设备向无线网络系统无线发送该响应。例如,可以将该响应发送给提供在452处的询问的网络系统。在一些情况下,可以将该响应发送给VLR或无线网络系统的另一组件。在一些情况下,视情况,该响应可以与认证令牌和其它数据一起发送。
图5A和5B是示出可被网络运营商系统用于UMTS系统中的认证密钥协定的示例过程500的流程图。例如,可以由无线网络的服务器系统或由任意其它合适的系统来实现过程500。在一些实施方式中,由归属位置寄存器(HLR)或由无线网络的另一组件执行过程500的一个或更多个操作。过程500可以包括另外的或不同的操作,并且可以按照图5A和5B中所示的顺序或任意合适的顺序来执行这些操作。在一些情况下,可以(例如)迭代或重复这些操作中的一个或更多个,直至达到指定条件。
在502处,接收临时移动订户识别符(TMSI)。TMSI与移动设备相关联。可以从移动设备或从无线网络系统中的实体接收该TMSI。例如,HLR可以从访问者位置寄存器(VLR)或从无线网络系统的另一组件接收TMSI。在一些实施方式中,移动设备将TMSI无线发送给网络,并且VLR将TMSI转发给HLR以认证移动设备。
在504处,存取密钥K和序列值SQN。密钥K和序列值SQN与在502处接收的TMSI相关联,并且可以基于TMSI来存取密钥K和序列值SQN。可以用任意合适的方式存取与TMSI相对应的密钥K和序列值SQN。例如,HLR可以通过在数据库中搜索与TMSI相对应的记录来存取密钥K和序列值SQN。
在506处,生成随机值RAND。可以利用任意合适技术来生成随机值RAND。在一些情况下,HLR可以从数据库存取先前生成的随机值,或HLR可以包括伪随机生成器,该伪随机生成器根据需要生成随机值。随机值可以是任意合适大小或数据格式(例如二进制等)。
在508处,可以更新随机值RAND。如果运营商使用运营商常量OP,则计算OPC。例如,通过计算值OPC可被用于更新RAND。可以通过估计OPC=KDF(K,OP,klength)来计算值OPC,其中KDF表示密钥导出函数。KDF的输入包括OP(128位运营商变量算法配置字段)、K(长期秘密密钥)和klength(密钥长度变量)。此外,OPC可以是根据OP和K导出的128位的值。值OPC可以用在f1、f1*、f2、f3、f4、f5和f5*的计算内。值f1可以表示消息认证码函数的输出。值f2可以表示用于计算响应(RES)和预期响应(XRES)的消息认证码函数的输出。值f3可以表示用于计算密码密钥(CK)的密钥生成函数的输出。值f4可以表示用于计算完整性密钥(IK)的密钥生成函数的输出。值f5可以表示用于计算匿名密钥AK的密钥生成函数的输出。
在510处,计算值Z。可以通过估计Z=KDF(K,R4ND,outlen)来计算值Z。这里,KDF的输入可以包括密钥K、随机值RAND和outlen,其中outlen表示f2、f3、f5和f5*所需的位长的总和。函数KDF可以是接受输入密钥和其它输入数据以导出密钥材料的任意密钥导出函数。示例KDF包括:在ANSI X.9.63-2011中定义的使用SHA256的基于散列的KDF、在NIST SP800-108中定义的利用来自NIST SP800-38B的CMAC-AES128的计数器模式KDF、在NIST SP800-108中定义的利用来自FIPS198-1的带密钥-HMAC-SHA256的NIST计数器模式KDF。可以使用另外的或不同的KDF。
在512处,从Z提取f2、f3、f5和可选f5*。例如,提取过程可以包括解析Z或任意其他合适的技术。
在514处,形成temp=SQN||AMF||SQN||AMF。例如,可以通过串接SQN和AMF来组装temp。在一些实例中,串接执行两次。这里,SQN是由移动设备和HLR保持同步的序列号。此外,AMF表示认证管理字段。AMF的示例用途可以包括支持多个认证算法和密钥、改变列表参数和设定用以限定密码和完整性密钥的使用期限的阈值。
在516处,计算Z的新值。可以通过估计 来计算新值。这里,KDF的输入可以包括密钥K、用temp异或的随机值RAND,以及outlen。值outlen可以表示f1、f1*和f4的位长的总和。值temp可以是514处生成的SQN与AMF的串接。
在518处,从Z提取f1、f1*和f4。例如,提取过程可以包括解析Z或其他任意合适的技术。
在520处,如果使用掩码,则可以对序列值SQN进行掩码。例如,可以通过计算来对序列值进行掩码。针对每个移动设备,认证中心(AuC)可以保持跟踪序列值SQN,这可以便于重新同步。可以例如在提供非生产环境的同时进行序列掩码,使得为了支持测试和开发过程创建的副本不暴露敏感信息,并且因此避免泄露风险。掩码算法可被设计为可重复的,因此维持了参考完整性。
在522处,组装(assemble)认证令牌AUTN。这里,可以通过形成AUTN=SQN||AMF||f1(=MACA)来组装认证令牌AUTN。例如,可以利用序列号SQN、认证管理字段AMF和值f1的串接来组装AUTN。f1的值可以是消息认证码MACA
在524处,生成输出五元组Q。这里,可以通过形成Q=(RAND,XRES=f2,CK=f3,IK=f4,AUTN)来生成输出五元组。例如,Q可以是认证向量的有序阵列,其可以包括随机数RAND、预期响应XRES、密码密钥CK、完整性密钥IK和认证令牌AUTN。在一些情况下,五元组Q对VLR与移动设备之间的认证和密钥协定有效。
在526处,发送输出五元组Q。可以(例如)由HLR向VLR发送该输出五元组Q。可以使用任意合适的发送技术来以任意合适的形式或格式发送该输出五元组Q。随后,VLR可以提取RAND和AUTN,并且可以将这些变量转发给移动设备。
图5C和5D是示出可被移动设备用于UMTS系统中的认证密钥协定的示例过程550的流程图。例如,可以由无线通信系统中的移动设备或任意其他合适的系统来实现过程550。在一些实施方式中,由移动设备与执行图5A和5B中所示的示例过程500的无线网络服务器协同执行图5C和5D中所示的示例过程550。过程550可以包括另外的或不同操作,并且可以按照图5C和5D中所示的顺序或任意合适的顺序来执行这些操作。在一些情况下,可以(例如)迭代或重复这些操作中的一个或更多个,直至达到指定条件。
在552处,接收随机值RAND和认证令牌AUTN。可以由移动设备从无线网络无线接收这些值。在一些情况下,可以由VLR或无线网络系统的另一组件向移动设备发送RAND和AUTN。在一些情况下,随机值RAND和认证令牌AUTN是在图5A和5B中所示的过程500中(例如在506或508、522处)由网络运营商生成的值。例如,VLR可以根据从HLR发送给VLR的认证向量AV来解析随机值RAND和认证令牌AUTN,并且VLR可以将这些经解析的值转发给移动设备用于认证。
在554处,存取密钥K和所储存的序列值SQNMS。例如,可以在移动设备的本地存储器中存取密钥K和序列值SQNMS,在移动设备中,SQNMS可被存储于USIM或其他合适的计算机可读介质中。序列值SQNMS可以是在移动设备上本地存储的计数器。密钥K可以是由移动设备和网络运营商系统存储的长期的对称密钥。可以使用另外的或不同类型的密钥。
在556处,如果运营商正在使用运营商常量,则可以更新随机值RAND。可以以与过程500中的508处的方式相同的方式来更新随机值RAND。例如,可以通过计算(其中如参照图5A中的操作508所描述得那样计算OPC)来更新RAND。
在558处,计算值Z。这里,通过估计Z=KDF(K,RAND,outlen)计算值Z。移动设备可以使用在过程500中的510处由网络运营商系统使用的相同KDF和相同输入来计算值Z。
在560处,从Z提取f2、f3、f5和可选的f5*。例如,提取过程可以包括解析Z或任意其他合适的技术。
在562处,解析认证令牌AUTN。例如,可以完成解析认证令牌(AUTN=SQN||AMF||MACA),以得到序列号SQN、认证管理字段AMF、消息认证码MACA或它们的任意组合。
在564处,如果使用掩码,则对序列值SQN进行掩码。可以根据在过程500中的520处使用的技术对序列值SQN进行掩码。例如,可以通过用f5来异或所提取的序列号SQN(即,)来对序列号进行掩码。
在566处,形成temp。可以利用在过程500的514处使用的相同技术来形成值temp。例如,可以通过设定temp=SQN||AMF||SQN||AMF,即所提取的序列号SQN与AMF的串接,来形成值temp。
在568处,计算Z的新值。可以通过在过程500中的516处用于计算新值Z的相同技术来计算新值Z。例如,可以通过估计 来计算新值Z。
在570处,从Z提取f1、f1*和f4。例如,该提取过程可以包括解析Z或任意其他合适技术。
在572处,比较MACA与f1。如果它们不相等(即,如果MACA≠f1),则该过程可被中断。如果过程被中断,则在573处返回错误码。否则(即,如果MACA=f1),过程可以进行至574。
在574处,检查SQN对SQNMS的有效性。可以执行该检查以判定是否需要重新同步。如果SQN无效,则在575处执行重新同步。可以通过下述方式执行重新同步:(1)更新序列值SQNMS;(2)计算 其中AMF*是默认值;(3)从Z提取f1*=MACS;(4)如果使用掩码,则施加掩码操作以及(5)形成AUTNMS=SQNMS||MACS。当SQN有效时,过程可以进行至576。
在576处,生成响应RES、密码密钥CK和完整性密钥IK。例如,可以由移动设备生成响应RES和会话密钥。这里,响应RES=f2,密码密钥CK=f3,完整性密钥IK=f4,并且如果需要,还可以生成移动设备认证令牌AUTNMS
在578处,发送响应RES,并且还可以发送移动设备认证令牌AUTNMS。例如,可以由移动设备向VLR发送RES和AUTNMS。在从移动化设备接收到RES和AUTNMS之后,VLR可以验证响应值是否等于预期响应值XRES。如果RES=XRES,则验证成功,并且VLR与移动设备之间的通信因密码密钥CK和完整性密钥IK而安全。如果提供值AUTNMS,则可以向HLR发送值AUTNMS。在接收到AUTNMS之后,HLR可以验证值MACS并更新由SQNMS指示的序列值。
图5E是示出图5A和5B中所示的示例技术的方案的示意图590。图示590中所示的操作与图5A和5B中所示的示例过程500中的操作相对应。图示590仅供说明。可以以其他方式实现过程500。
图6A是示出可被网络运营商系统用于UMTS系统中的认证密钥协定的示例过程600的流程图。例如,可以由无线网络的服务器系统或由任意其他合适系统来实现过程600。在一些实施方式中,由归属位置寄存器(HLR)或由无线网络的另一组件执行过程600的一个或更多个操作。过程600可以包括另外的或不同的操作,并且可以依据图6A中所示的顺序或任意合适的顺序执行这些操作。在一些情况下,可以(例如)迭代或重复这些操作中的一个或更多个,直至达到指定条件。
在602处,接收临时移动订户识别符(TMSI)。TMSI与移动设备相关联。可以从移动设备或者从无线网络系统中的实体接收该TMSI。例如,HLR可以从访问者位置寄存器(VLR)或从无线网络系统的另一组件接收TMSI。在一些实施方式中,移动设备将TMSI无线发送给网络,并且VLR将TMSI转发给HLR以认证移动设备。
在604处,存取密钥K和序列值SQN。密钥K和序列值SQN与602处接收的TMSI相关联,并且可以基于TMSI存取密钥K和序列值SQN。可以用任意合适的方式来存取与TMSI相对应的密钥K和序列值SQN。例如,HLR可以通过在数据库中搜索与TMSI相对应的记录来存取密钥K和序列值SQN。
在606处,生成随机值RAND。可以通过任意合适的技术来生成随机值RAND。在一些情况下,HLR可以从数据库存取先前生成的随机值,或HLR可以包括伪随机生成器,该伪随机生成器根据需要生成随机值。随机值可以是任意合适大小或数据格式(例如二进制等)。
在608处,可以更新随机值RAND。如果运营商使用运营商常量OP,则计算OPC。例如,可以通过计算使用值OPC来更新RAND。可以通过估计OPC=KDF(K,OP,klength)来计算值OPC,其中KDF表示密钥导出函数。KDF的输入包括OP(128位运营商变量算法配置字段)、K(长期秘密密钥)和klength(密钥长度变量)。此外,OPC可以是根据OP和K导出的128位的值。
在610处,计算密钥导出密钥K’。这里,可以通过估计K’=KDF(K,RAND,klength)来计算密钥导出密钥。KDF的输入可以包括密钥K、随机值RAND和klength,其中klength表示密钥导出密钥K’的位长。KDF可以是接受输入密钥和其它输入数据以导出密钥材料的任意合适的密钥导出函数。示例KDF包括:在ANSI X.9.63-2011中定义的使用SHA256的基于散列的KDF、在NIST SP800-108中定义的利用来自NIST SP800-38B的CMAC-AES128的计数器模式KDF、在NIST SP800-108中定义的利用来自FIPS198-1的带密钥-HMAC-SHA256的NIST计数器模式KDF。可以使用另外的或不同的KDF。
在612处,计算新值Z。这里,可以通过估计Z=KDF(K’,“STRING”,outlen)来计算新值Z。KDF的输入可以包括密钥K、输入字符串“STRING”和outlen(其表示f2、f3、f4、f5和f5*所需的位长的总和)。输入字符串“STRING”可以是移动设备和网络运营商系统二者均已知的任意常量。
在614处,从Z提取f2、f3、f4、f5和f5*。例如,提取过程可以包括解析Z或任意其他合适技术。
在616处,计算值f1。例如,可以通过估计f1=KDF(K’,SQN||AMF,outlen’)来计算值f1。这里,KDF的输入包含密钥导出密钥K’、与AMF串接的序列号SQN、以及outlen’,其中outlen’表示f1的位长。
在618处,如果使用掩码,则可以对序列值SQN进行掩码。例如,可以通过计算来对序列值进行掩码。针对每个移动设备,认证中心(AuC)可以保持跟踪序列值SQN,这可以便于重新同步。
在620处,组装认证令牌AUTN。这里,可以通过形成AUTN=SQN||AMF||f1(=MACA)来组装认证令牌AUTN。例如,可以通过序列号SQN、认证管理字段AMF和值f1的串接来组装AUTN。
在622处,生成输出五元组Q。这里,可以通过形成Q=(RAND,XRES=f2,CK=f3,IK=f4,AUTN)来生成输出五元组。例如,Q可以是认证向量的有序阵列,其可以包括随机数RAND、预期响应XRES、密码密钥CK、完整性密钥IK和认证令牌AUTN。在一些情况下,五元组Q对VLR与移动设备之间的认证和密钥协定有效。
在624处,发送输出五元组Q。例如,可以由HLR向VLR发送该输出五元组Q。可以使用任意合适的发送技术来以任意合适的形式或格式发送输出五元组Q。随后,VLR可以提取RAND和AUTN,并且可以将这些变量转发给移动设备。
图6B和6C是示出可被移动设备用于UMTS系统中的认证密钥协定的示例过程650的流程图。例如,可以由无线通信系统中的移动设备或任意其他合适系统来实现过程650。在一些实施方式中,由移动设备与执行图6A中所示的示例过程600的无线网络服务器协同执行图6B和6C中所示的示例过程650。过程650可以包括另外的或不同的操作,并且可以根据图6B和6C中所示的顺序或任意合适的顺序来执行这些操作。在一些情况下,例如,可以迭代或重复这些操作中的一个或更多个,直至达到指定条件。
在652处,接收随机值RAND和认证令牌AUTN。可以由移动设备从无线网络无线接收这些值。在一些情况下,可以由VLR或无线网络系统的另一组件向移动设备发送RAND和AUTN。在一些情况下,随机值RAND和认证令牌AUTN是在图6A中所示的过程600中(例如在606或608、620处)由网络运营商生成的值。例如,VLR可以根据从HLR发送给VLR的认证向量AV来解析随机值RAND和认证令牌AUTN,并且VLR可将解析后的值转发给移动设备用于认证。
在654处,存取密钥K和所存储的序列值SQNMS。例如,可以在移动设备的本地存储器中存取密钥K和序列值SQNMS。在移动设备中,SQNMS可以存储于ISIM或其他合适的计算机可读介质中。序列值SQNMS可以是在移动设备处本地存储的计数器。密钥K可以是由移动设备和网络运营商系统存储的长期的对称密钥。可以使用另外的或不同类型的密钥。
在656处,如果运营商正在使用运营商常量,则可以更新随机值RAND。可以用与过程600中的608处的方式相同的方式来更新随机值RAND。例如,可以通过计算(其中如参考图6A中的操作608所描述得那样计算OPC)来更新RAND。
在658处,计算密钥导出密钥K’。可以通过估计K’=KDF(K,RAND,klength)来计算密钥导出密钥K’。移动设备可以使用在过程600中的610处由网络运营商系统使用的相同KDF和相同输入来计算密钥导出密钥K’。
在660处,计算值Z。这里,通过估计Z=KDF(K,RAND,outlen)来计算值Z。移动设备可以使用与在过程600中的612处由网络运营商系统使用的相同KDF和相同输入值来计算值Z。
在662处,从Z提取值f2、f3、f4、f5和f5*。例如,提取过程可以包括解析Z或任意其他合适的技术。
在664处,解析认证令牌AUTN。例如,可以完成解析认证令牌(AUTN=SQN||AMF||MACA),以得到序列号SQN、认证管理字段AMF、消息认证码MACA或它们的任意组合。
在666处,如果使用掩码,则对序列值SQN进行掩码。可以根据在过程600中的618处使用的技术来对序列号SQN进行掩码。例如,可以通过用f5来异所提取的序列号SQN(即,)来对序列号进行掩码。
在668处,计算值f1。例如,可以通过估计f1=KDF(K’,SQN||AMF,outlen’)来计算值f1。这里,KDF和输入值可以与在过程600中的616处由网络运营商用于计算值f1的KDF和输入值相同。
在670处,比较MACA和f1。如果它们不相等(即,如果MACA≠f1),则可以中断过程。如果过程被中断,则在669处返回错误码。否则(即,如果MACA=f1),过程可以进行至672。
在672处,检查SQN对SQNMS的有效性。可以执行该检查以确定是否需要重新同步。如果SQN无效,则在676处执行重新同步。可以通过下述方式执行重新同步:(1)更新序列值SQNMS;(2)计算f1*=KDF(K’,SQNMS||AMF*,outlen’),其中AMF*为默认值;(3)如果使用掩码,则施加掩码操作以及(4)形成AUTNMS=SQNMS||MACS。当SQN有效时,过程可以进行至674。
在674处,生成响应RES、密码密钥CK和完整性密钥IK。例如,可以由移动设备生成响应RES和会话密钥。这里,响应RES=f2,秘密密钥CK=f3、完整性密钥IK=f4,并且如果需要,还可以生成移动设备认证令牌AUTNMS
在676处,发送响应RES,并且还可以发送移动设备认证令牌AUTNMS。例如,可以由移动设备向VLR发送RES和AUTNMS。在从移动设备接收到RES和AUTNMS之后,VLR可以验证响应值RES是否等于预期响应值XRES。如果RES=XRES,则验证成功并且VLR与移动设备之间的通信因密码密钥CK和完整性密钥IK而安全。如果提供值AUTNMS,则可以向HLR发送值AUTNMS。在接收到AUTNMS之后,HLR可以验证值MACS,并且更新SQNMS指示的序列值。
图6D是示出图6A中所示的示例技术的方案的示意图,图示690中所示的操作对应于图6A中所示的示例过程600中的操作。图示690仅供说明。可以用其他方式来实现过程600。
本说明书中所描述的操作可被实现为由数据处理装置对在一个或更多个计算机可读存储设备上存储的数据或从其它源接收的数据执行的操作。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,作为示例,其包括可编程处理器、计算机、片上系统或上述的多个装置或组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(特殊应用集成电路)。该装置除包括硬件以外,还可以包括生成所讨论的计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机、或它们中的一个或更多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施等。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任意形式的编程语言(其包含编译或解译语言、陈述或过程性语言)编写,并且其可以用任意形式(包括作为独立程序或作为适合于用在计算环境中的模块、组件、子例程、对象或其他单元)进行部署。计算机程序可以(但不一定)对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如存储于标记语言文件中的一个或更多个脚本)的文件的一部分中,存储于专用于所讨论的程序的单个文件中,或存储于多个并列文件(例如存储一个或更多个模块、子程序或代码部分的文件)中。可以部署计算机程序,以在一个计算设备或多个计算机上执行,其中该多个计算机位于一个位置或分布在多个位置且通过通信网络互连。
可以通过下述方式执行本说明书中所描述的过程和逻辑流:由一个或更多个可编程处理器执行一个或更多个计算机程序,以通过操作输入数据和生成输出来执行动作。还可以由专用逻辑电路(例如FPGA(现场可编程逻门阵列)或ASIC(专用集成电路))或者实现为专用逻辑电路的装置来执行这些过程和逻辑流。
适合于执行计算机程序的处理器包括(作为示例)通用微处理器和专用微处理器二者,以及任意种类的数字计算设备中的任意一个或多个处理器。通常,处理器将从只读存储器或随机存储器或这二者接收指令和数据。计算设备的主要元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或更多个存储设备。通常,计算设备还将包括用于存储数据的一个或更多个设备,或者可操作地耦合到用于存储数据的一个或更多个设备以从其接收数据和/或向其传送数据。然而,计算设备不是必需具有这些设备。此外,计算机可被嵌入到其他设备中,所述其他设备例如是移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收机或便携式存储设备(例如通用串行总线(USB)闪存驱动等),这些仅是例举了一些示例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器件,作为示例,其包括半导体存储器件(例如EPRAM、EEPROM和闪存器件)、磁盘(例如内部硬盘或可移除盘)、磁光盘、以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路进行补充或并入专用逻辑电路中。
为了提供与用户的交互,可以在具有显示设备(例如用于向用户显示信息的LCD(液晶显示)屏幕)以及键盘和指示设备(例如触摸屏、触控笔、鼠标等)(用户可以通过键盘和指示设备向计算机提供输入)的计算机上实现本说明书中所描述的主题。其他种类的设备也可被用于提供与用户的交互;例如,提供给用户的反馈可以是任意形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;以及来自用户的输入可以用任意形式(包括声学、语音或触觉输入)接收。此外,计算设备可以通过向用户使用的设备发送文件和从用户使用的设备接收文件(例如通过响应于从网络浏览器接收的请求而向用户的客户端设备上的网络浏览器发送网页)来与用户交互。
本说明书中所描述的主题中的一些可以在计算系统中实现,该计算系统包括后端组件(例如作为数据服务器),或者包括中间件组件(例如应用程序服务器),或包括前端组件(例如客户端计算设备,其具有图形用户接口或网页浏览器,用户可以通过图形用户接口或网页浏览器与本说明书中所描述的主题的实现进行交互),或者包括一个或更多个这种后端、中间件或前端组件的任意组合。系统的组件可以以数字数据通信的任意形式或媒介(例如数据网络)进行互联。
计算系统可以包括客户端和服务器。客户端和服务器彼此远离且通常通过数据网络进行交互。客户端与服务器之间的关系借助在各自计算机上运行且彼此间具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器向客户端设备发送数据。在服务器处可以接收客户端设备处生成的数据。
尽管本说明书包含许多特定实施方式的细节,但这些不应被解释为对所要求保护的范围的限制,而应当被解释为针对具体实施方式的特征的描述。在本说明书的不同实施方式的上下文中描述的某些特征也可以在单个实施方式中以组合方式实现。相反,在单个实施方式的上下文中描述的各种特征也可以单独地或者以任何合适的子组合的方式在多个实施方式中实现。此外,尽管特征可能在上文中中被描述为以特定组合甚至如最初主张地那样起作用,但是来自所要求保护的组合中的一个或更多个特征在一些情况下可以从该组合中除去,并且所要求保护的组合可以涉及子组合和子组合的变化。
类似地,尽管在附图中是按照特定顺序描述操作的,但是这不应当被理解为需要根据所示的特定顺序执行这些操作,或者需要顺序地执行这些操作,或者需要执行所示的全部操作,才能实现所期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上文所描述的实施方式中的各种系统组件的划分不应被理解为在全部实施方式中都需要这种划分,并且应该理解所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装进多个软件产品中。
在一般性方案中,在通信系统中生成一个或更多个会话密钥。例如,可以由移动设备、网络运营商系统、其他类型的系统或这些的任意合适的组合,来生成会话密钥。
在一些方案中,无线网络运营商的计算机系统接收移动设备的标识符。基于该标识符,存取与移动设备相关联的秘密密钥。基于秘密密钥估计消息认证码函数,以生成输出值。基于输出值,获得会话密钥。
这些和其它方案的实施方式可以包括以下特征中的一个或更多个。在估计消息认证码函数之前获得随机询问值。基于来自消息认证码函数的输出值,获得预期的响应值、密码密钥和完整性密钥。生成包括密码密钥、完整性密钥、随机询问值和预期响应值的消息。将该消息发送给无线网络的无线站。
作为补充或备选,这些和其他方案的实施方式可以包括以下特征中的一个或更多个。通过估计包括消息认证码函数的密钥导出函数来估计消息认证码函数。基于秘密密钥、输出长度(其指定输出值的位长)和可能其他的输入值来估计密钥导出函数。这些其他输入包括:在接收到移动设备的标识符之后获得的随机询问值。基于该输出值,获得预期响应值。
作为补充或备选,这些和其它方案的实施方式可以包括以下特征中的一个或更多个。基于输出值来生成会话密钥包括:基于输出值估计消息认证码函数以生成另一输出值;以及基于该另一输出值来生成会话密钥。
作为补充或备选,这些和其它方案的实施方式可以包括一些特征中的一个或更多个。基于秘密密钥获得消息认证码,存取与移动设备相关联的序列值,以及基于消息认证码和序列值来获得服务器认证令牌。
在一些方案中,移动设备从无线网络接收询问值。移动设备响应于从无线网络运营商系统接收到询问值,来存取秘密密钥。基于秘密密钥来估计消息认证码函数,以产生输出值。基于该输出值获得响应值和会话密钥。将响应值发送给无线网络运营商系统。
这些和其他方案的实施方式可以包括以下特征中的一个或更多个。获得会话密钥包括:获得密码密钥和完整性密钥。通过估计包括消息认证码函数的密钥导出函数,来估计消息认证码函数。根据秘密密钥、询问值和输出长度来估计密钥导出函数,其中输出长度指示输出值的位长。
作为补充或备选,这些和其它方案的实施方式可以包括以下特征中的一个或更多个。基于秘密密钥和询问值来获得消息认证码。存取先前在移动设备上存储的序列值。基于消息认证码和序列值来生成移动设备认证令牌。
因此,已经描述了主题的一些实施方式。其它实施方式在以下权利要求的范围内。
作为上述情况的引申和补充,一些实施例将被总结如下:
在一个方案中,提供一种方法,包括:接收通用集成电路卡(UICC)的标识符;基于标识符存取利用计算机系统保存的密钥,其中密钥与标识符相关联;至少部分根据密钥估计密钥导出函数(KDF),以产生第一输出值,其中KDF是散列函数;基于第一输出值获得会话密钥;通过至少部分根据序列值估计KDF来产生第二输出值;以及基于第二输出值获得消息认证码(MAC)。
在一些实施例中,可选地,根据多个输入值来估计KDF。可选地,该多个输入值可以包括指示KDF输出值的位长的输出长度变量和/或作为所需密钥材料的位长总和的输出长度变量。可选地,密钥导出函数的第一输出值被用于计算密码密钥。可选地,估计值中的一个或更多个是根据散列函数的一次迭代得到的。可选地,方法还包括:在估计KDF之前获得随机询问值;基于第一输出值获得预期响应值;以及生成包括随机询问值和预期响应值的消息。可选地,根据多个输入值来估计KDF,该多个输入值包括:询问值;输出长度变量,其指示KDF输出的位长。可选地,方法还包括:基于第二输出值来生成认证令牌。
在另一方案中,提供一种方法,包括:存取密钥;基于密钥估计密钥导出函数(KDF),以生成第一输出值;基于第一输出值获得会话密钥;基于第一输出值获得响应值;通过至少部分根据序列值估计KDF来生成第二输出值;基于第二输出值获得消息认证码;以及将响应值发送给无线网络运营商系统,其中KDF是散列函数。
可选地,在一些实施例中,估计值中的一个或更多个是根据散列函数的一次迭代得到。可选地,在一些实施例中,方法还包括:基于第二输出值生成认证令牌。
在另一方案中,提供一种装置,包括:数据处理装置,该数据处理装置操作用于:存取密钥;基于密钥估计密钥导出函数(KDF),以生成第一输出值;基于第一输出值获得会话密钥;基于第一输出值获得响应值;通过至少部分根据序列值估计KDF来生成第二输出值;以及基于第二输出值获得消息认证码,其中KDF是散列函数。
可选地,在一些实施例中,估计值中的一个或更多个通过散列函数的一次迭代得到。可选地,数据处理装置还可以操作用于:基于第二输出值生成认证令牌。可选地,该装置是通用集成电路卡(UICC)。可选地,该装置是移动设备。
在另一方案中,提供一种由无线网络运营商的计算机系统执行的方法,该方法包括:接收移动设备的标识符;基于标识符存取与移动设备相关联的秘密密钥;基于秘密密钥估计消息认证码函数,以产生输出值;以及基于输出值获得会话密钥。
可选地,在一些实施例中,获得会话密钥包括:获得多个会话密钥,并且该多个会话密钥包括密码密钥和完整性密钥。可选地,方法还包括:在估计消息认证码函数之前获得随机询问值;基于输出值获得预期响应值;生成包括密码密钥、完整性密钥、随机询问值和预期响应值的消息;以及将消息发送给无线网络的无线站。可选地,通过估计包括消息认证码函数的密钥导出函数来估计消息认证码函数。可选地,根据多个输入值来估计KDF,所述多个输入值包括:秘密密钥和/或指示输出值的位长的输出长度。可选地,方法还可以包括:在接收移动设备的标识符之后获得随机询问值,其中用于密钥导出函数的多个输入值包括随机询问值,并且预期响应值是基于输出值获得的。可选地,基于输出值生成会话密钥可以包括:基于输出值估计消息认证码函数以生成另一输出值;以及基于该另一输出值生成会话密钥。可选地,方法还可以包括:基于秘密密钥获得消息认证码;存取与移动设备相关联的序列值;以及基于消息认证码和序列值来生成服务器认证令牌。
在另一方案中,提供一种无线网络运营商系统,其包括:通信接口,其可操作用于接收移动设备的标识符;数据处理装置,其操作用于,基于标识符存取与移动设备相关联的秘密密钥,基于秘密密钥估计消息认证码函数以生成输出值,以及基于该输出值获得会话密钥。
可选地,在一些实施例中,获得会话密钥可以包括:获得多个会话密钥。可选地,该多个会话密钥包括密码密钥和/或完整性密钥。可选地,数据处理装置还操作用于:在估计消息认证码函数之前获得随机询问值;基于输出值获得预期响应值;以及生成包括密码密钥、完整性密钥、随机询问值和预期响应值的消息。可选地,通信接口可以操作用于:将该消息发送给无线网络的无线站。可选地,通过估计包括消息认证码函数的密钥导出函数来估计消息认证码函数。可选地,基于多个输入值来估计密钥导出函数,该多个输入值包括:秘密密钥和/或指定输出值的位长的输出长度。可选地,用于密钥导出函数的多个输入值包括随机询问值,并且预期响应值是基于输出值获得的。可选地,数据处理装置还可以操作用于:基于秘密密钥获得消息认证码;存取与移动设备相关联的序列值;以及基于消息认证码和序列值来生成服务器认证令牌。
在另一方案中,提供一种移动设备执行的方法,该方法包括:响应于接收到来自无线网络运营商系统的询问值而存取秘密密钥;基于秘密密钥估计消息认证码函数以生成输出值;基于输出值获得响应值和会话密钥,以及将响应值发送给无线网络运营商系统。
可选地,在一些实施例中,获得会话密钥包括:获得多个会话密钥。可选地,该多个会话密钥包括密码密钥和/或完整性密钥。可选地,通过估计包括消息认证码函数的密钥导出函数来估计消息认证码函数。可选地,基于包括秘密密钥、询问值和输出长度(其指定输出值的位长)在内的多个输入值来估计密钥导出函数。可选地,方法还包括:基于秘密密钥和询问值来获得消息认证码;存取先前在移动设备上存储的序列值,以及基于消息认证码和序列值来生成移动设备认证令牌。
在另一方案中,提供一种移动设备,包括:通信接口,其可以操作用于接收来自无线网络运营商系统的询问值;数据处理装置,其操作用于,响应于接收询问值而存取秘密密钥,基于秘密密钥估计消息认证码函数以生成输出值,基于输出值获得响应值和会话密钥,以及将响应值发送给无线网络运营商系统。
可选地,在一些实施例中,获得会话密钥包括:获得多个会话密钥。可选地,该多个会话密钥包括密码密钥和/或完整性密钥。可选地,通过估计包括消息认证码函数的密钥导出函数来估计消息认证码函数。可选地,基于包括秘密密钥、询问值和输出长度(其指示输出值的位长)在内的多个输入值来估计密钥导出函数。可选地,数据处理装置还可以操作用于:基于秘密密钥和询问值来获得消息认证码;存取先前在移动设备上存储的序列值;以及基于消息认证码和序列值来生成的移动设备认证令牌。可选地,数据处理装置包括嵌入式集成电路卡。

Claims (14)

1.一种由网络运营商的计算机系统执行的用于通信系统中的认证密钥协定的方法,包括:
接收通用集成电路卡UICC的标识符;
基于所述标识符存取由计算机系统保存的秘密密钥,其中所述秘密密钥与所述标识符相关联;
至少部分根据所述秘密密钥估计密钥导出函数KDF,以生成第一输出值,其中所述KDF是散列函数;
基于所述第一输出值获得会话密钥;
通过至少部分根据序列值估计所述KDF来产生第二输出值;以及
基于所述第二输出值获得消息认证码MAC,
其中,所述KDF是根据多个输入值来估计的,所述多个输入值包括:
询问值;
输出长度变量,所述输出长度变量指示KDF输出的位长。
2.根据权利要求1所述的方法,其中所述输出长度变量是所需密钥材料的位长的总和。
3.根据权利要求1所述的方法,其中所述密钥导出函数的第一输出值被用于计算密码密钥。
4.根据权利要求1所述的方法,其中所述估计中的一个或更多个是根据所述散列函数的一次迭代得到的。
5.根据权利要求1所述的方法,还包括:
在估计所述KDF之前获得所述询问值;
基于所述第一输出值获得预期响应值;以及
生成包括所述询问值和所述预期响应值的消息,其中所述询问值是随机值。
6.根据权利要求1所述的方法,还包括:
基于所述第二输出值生成认证令牌。
7.一种用于通信系统中的认证密钥协定的方法,包括:
存取秘密密钥;
基于所述秘密密钥估计密钥导出函数KDF,以产生第一输出值;
基于所述第一输出值获得会话密钥;
基于所述第一输出值获得响应值;
通过至少部分根据序列值估计所述KDF来产生第二输出值;
基于所述第二输出值获得消息认证码;以及
将所述响应值发送给无线网络运营商系统,
其中所述KDF是散列函数,以及
所述KDF是根据多个输入值来估计的,所述多个输入值包括:
询问值;
输出长度变量,所述输出长度变量指示KDF输出的位长。
8.根据权利要求7所述的方法,其中所述估计中的一个或更多个是根据所述散列函数的一次迭代得到的。
9.根据权利要求7所述的方法,还包括:
基于所述第二输出值生成认证令牌。
10.一种配置用于通信系统中的密钥协定的认证的装置,包括:
数据处理装置,操作用于:
存取秘密密钥;
基于所述秘密密钥估计密钥导出函数KDF,以产生第一输出值;
基于所述第一输出值获得会话密钥;
基于所述第一输出值获得响应值;
通过至少部分根据序列值估计所述KDF来产生第二输出值;
基于所述第二输出值获得消息认证码;以及
将所述响应值发送给无线网络运营商系统,
其中所述KDF是散列函数,以及
所述KDF是根据多个输入值来估计的,所述多个输入值包括:
询问值;
输出长度变量,所述输出长度变量指示KDF输出的位长。
11.根据权利要求10所述的装置,其中所述估计中的一个或更多个是根据所述散列函数的一次迭代得到的。
12.根据权利要求10所述的装置,其中所述数据处理装置还可操作用于:
基于所述第二输出值生成认证令牌。
13.根据权利要求10所述的装置,其中所述装置是通用集成电路卡UICC。
14.根据权利要求10所述的装置,其中所述装置是移动设备。
CN201380045551.3A 2012-06-28 2013-06-26 无线通信的密钥协定 Active CN104604181B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/536,747 2012-06-28
US13/536,747 US8971851B2 (en) 2012-06-28 2012-06-28 Key agreement for wireless communication
PCT/US2013/047921 WO2014004688A1 (en) 2012-06-28 2013-06-26 Key agreement for wireless communication

Publications (2)

Publication Number Publication Date
CN104604181A CN104604181A (zh) 2015-05-06
CN104604181B true CN104604181B (zh) 2018-04-27

Family

ID=48875156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380045551.3A Active CN104604181B (zh) 2012-06-28 2013-06-26 无线通信的密钥协定

Country Status (9)

Country Link
US (3) US8971851B2 (zh)
EP (3) EP2868029B1 (zh)
KR (1) KR101630582B1 (zh)
CN (1) CN104604181B (zh)
CA (1) CA2877490C (zh)
HK (1) HK1247477A1 (zh)
IN (1) IN2014DN10973A (zh)
TW (1) TWI503008B (zh)
WO (1) WO2014004688A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971851B2 (en) 2012-06-28 2015-03-03 Certicom Corp. Key agreement for wireless communication
US20140101312A1 (en) * 2012-10-09 2014-04-10 Transpacific Ip Management Group Ltd. Access allocation in heterogeneous networks
US10700856B2 (en) * 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
TWI568234B (zh) * 2014-01-28 2017-01-21 國立勤益科技大學 全球移動通訊網路的匿名認證方法
GB2528043B (en) * 2014-07-03 2021-06-23 Vodafone Ip Licensing Ltd Security authentication
US11412376B2 (en) * 2014-09-05 2022-08-09 Telefonaktiebolaget L M Ericsson (Publ) Interworking and integration of different radio access networks
TWI559165B (zh) * 2014-10-13 2016-11-21 優仕達資訊股份有限公司 無線驗證系統及其方法
US9918225B2 (en) * 2014-11-03 2018-03-13 Qualcomm Incorporated Apparatuses and methods for wireless communication
CN104660416B (zh) * 2015-02-13 2018-08-28 飞天诚信科技股份有限公司 一种语音认证系统和设备的工作方法
CN107409305B (zh) 2015-02-27 2021-05-25 瑞典爱立信有限公司 通信设备与网络设备之间的通信安全设置
US9992810B2 (en) * 2015-08-26 2018-06-05 Samsung Electronics Co., Ltd Method for providing integrity protection in a dual SIM dual standby device
US9913137B2 (en) * 2015-09-02 2018-03-06 Huawei Technologies Co., Ltd. System and method for channel security
US10588019B2 (en) * 2016-05-05 2020-03-10 Qualcomm Incorporated Secure signaling before performing an authentication and key agreement
WO2017194076A1 (en) * 2016-05-09 2017-11-16 Huawei Technologies Co., Ltd. Mobile equipment identity privacy, network node and methods thereof
CN115460685A (zh) 2017-02-06 2022-12-09 三星电子株式会社 基站、接入和移动性管理功能实体及其方法
JP6745403B2 (ja) 2017-04-11 2020-08-26 華為技術有限公司Huawei Technologies Co.,Ltd. ネットワーク認証方法、デバイス、およびシステム
CN109246701B (zh) * 2017-04-11 2019-11-19 华为技术有限公司 网络认证方法、设备和系统
WO2018208221A1 (zh) * 2017-05-09 2018-11-15 华为国际有限公司 网络认证方法、网络设备及终端设备
JP2019041321A (ja) * 2017-08-28 2019-03-14 ルネサスエレクトロニクス株式会社 データ受信装置、データ伝送システム、及び鍵生成装置
US11831655B2 (en) 2017-10-02 2023-11-28 Qualcomm Incorporated Incorporating network policies in key generation
US11646867B2 (en) 2017-12-22 2023-05-09 The Boeing Company Systems and methods implementing countermeasures to phase tracking attacks on ring oscillator based entropy sources
EP3506668A1 (en) * 2017-12-27 2019-07-03 Gemalto Sa A method for updating a one-time secret key
FR3087981A1 (fr) * 2018-10-30 2020-05-01 Airbus Defence And Space Sas Procede securise de transmission de donnees au sein d'un systeme de supervision
WO2020088783A1 (en) * 2018-11-02 2020-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Authentication of an original equipment manufacturer entity
CN114245372B (zh) * 2019-01-18 2024-03-15 华为技术有限公司 一种认证方法、装置和系统
US12081972B2 (en) * 2019-01-18 2024-09-03 Qualcomm Incorporated Protection of sequence numbers in authentication and key agreement protocol
US11956626B2 (en) * 2019-04-17 2024-04-09 Nokia Technologies Oy Cryptographic key generation for mobile communications device
EP4049411A4 (en) * 2019-10-23 2023-11-01 AllClear ID, Inc. METHOD AND SYSTEM FOR PERFORMING CROSS-CHANNEL TRANSACTIONS
CN110838920B (zh) * 2019-11-20 2022-03-25 北京航空航天大学 web系统中无需存储口令相关信息的口令认证与密钥协商协议
TWI749892B (zh) * 2020-11-23 2021-12-11 中華電信股份有限公司 安全傳輸系統及其方法
US12088713B2 (en) * 2021-07-26 2024-09-10 VMware LLC Dynamic selection and calibration of ciphers based on network and resource constraints
US11818278B2 (en) 2021-07-26 2023-11-14 Vmware, Inc. Dynamic certificate management in cryptographic agility frameworks
CN117155692B (zh) * 2023-09-20 2024-05-10 重庆大学 基于安全掩码的智能电网数据聚合方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1665183A (zh) * 2005-03-23 2005-09-07 西安电子科技大学 Wapi认证机制中的密钥协商方法
CN101114957A (zh) * 2006-07-27 2008-01-30 西安电子科技大学 无线局域网中的快速切换方法及系统
CN101175076A (zh) * 2007-10-23 2008-05-07 赵运磊 在线计算高效、可抵赖、不可锻造安全的密钥交换协议
CN101375545A (zh) * 2006-08-17 2009-02-25 西门子企业通讯有限责任两合公司 用于提供无线网状网的方法和设备
CN101810018A (zh) * 2007-10-09 2010-08-18 朗讯科技公司 安全无线通信
CN101981863A (zh) * 2007-06-26 2011-02-23 格马尔托股份有限公司 嵌入式生成便携式通信对象中的标识符和关联密钥的方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537474A (en) 1994-07-29 1996-07-16 Motorola, Inc. Method and apparatus for authentication in a communication system
US6591364B1 (en) * 1998-08-28 2003-07-08 Lucent Technologies Inc. Method for establishing session key agreement
US7480939B1 (en) * 2000-04-28 2009-01-20 3Com Corporation Enhancement to authentication protocol that uses a key lease
US20030093680A1 (en) * 2001-11-13 2003-05-15 International Business Machines Corporation Methods, apparatus and computer programs performing a mutual challenge-response authentication protocol using operating system capabilities
FR2845222B1 (fr) * 2002-09-26 2004-11-19 Gemplus Card Int Identification d'un terminal aupres d'un serveur
FR2871007B1 (fr) * 2004-05-27 2006-07-14 Gemplus Sa Deverrouillage securise d'un terminal mobile
JP4549303B2 (ja) 2005-02-07 2010-09-22 株式会社ソニー・コンピュータエンタテインメント パイプラインを用いてメッセージ認証コードを提供する方法および装置
JP4713955B2 (ja) * 2005-06-13 2011-06-29 株式会社日立製作所 認証システム、無線通信端末及び無線基地局
JP5079803B2 (ja) 2006-07-18 2012-11-21 サーティコム コーポレーション ゲーム装置を認証するシステムおよび方法
JP2008252299A (ja) * 2007-03-29 2008-10-16 Hitachi Ltd 暗号処理システム及び暗号処理方法
US20100293379A1 (en) 2007-05-31 2010-11-18 Beijing Transpacific Ip Technology Development Ltd method for secure data transmission in wireless sensor network
ATE544123T1 (de) * 2007-09-19 2012-02-15 Verayo Inc Authentifizierung mit physikalisch unklonbaren funktionen
CN103001940A (zh) 2007-10-05 2013-03-27 交互数字技术公司 由wtru使用的用于建立安全本地密钥的方法
KR100958108B1 (ko) * 2007-11-12 2010-05-17 한국전자통신연구원 이동통신 단말기의 프로그램 불법복제 방지 방법 및 장치
US20090210714A1 (en) * 2008-01-23 2009-08-20 Sultan Haider Method for electronically signing electronic documents and method for verifying an electronic signature
CN101946536B (zh) * 2008-02-15 2015-07-15 艾利森电话股份有限公司 演进网络中的应用特定的主密钥选择
GB0819892D0 (en) * 2008-10-30 2008-12-10 Vodafone Plc Telecommunications systems and methods and smart cards for use therewith
WO2010069063A1 (en) 2008-12-16 2010-06-24 Certicom Corp. Acceleration of key agreement protocols
US8676251B2 (en) * 2009-03-04 2014-03-18 Lg Electronics Inc. Dual modem device
KR101246241B1 (ko) * 2009-04-24 2013-03-22 니뽄 덴신 덴와 가부시키가이샤 암호화 장치, 복호장치, 암호화 방법, 복호방법, 세큐러티 방법, 프로그램 및 기록매체
WO2011039460A2 (fr) * 2009-09-30 2011-04-07 France Telecom Procede et dispositifs de communications securisees dans un reseau de telecommunications
US9129269B2 (en) 2010-02-02 2015-09-08 Xia Dai Secured point-of-sale transaction system
US8918648B2 (en) 2010-02-25 2014-12-23 Certicom Corp. Digital signature and key agreement schemes
CA2798951C (en) 2010-07-08 2016-05-10 Certicom Corp. System and method for performing device authentication using key agreement
TWI552564B (zh) 2010-11-15 2016-10-01 內數位專利控股公司 憑證驗證及頻道耦合
EP3217696A1 (en) * 2011-03-23 2017-09-13 InterDigital Patent Holdings, Inc. Device and method for securing network communications
KR101929533B1 (ko) * 2011-04-01 2018-12-17 인터디지탈 패튼 홀딩스, 인크 공통 pdp 컨텍스트를 공유하기 위한 시스템 및 방법
US8874915B1 (en) * 2011-09-28 2014-10-28 Amazon Technologies, Inc. Optimized encryption key exchange
US8971851B2 (en) 2012-06-28 2015-03-03 Certicom Corp. Key agreement for wireless communication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1665183A (zh) * 2005-03-23 2005-09-07 西安电子科技大学 Wapi认证机制中的密钥协商方法
CN101114957A (zh) * 2006-07-27 2008-01-30 西安电子科技大学 无线局域网中的快速切换方法及系统
CN101375545A (zh) * 2006-08-17 2009-02-25 西门子企业通讯有限责任两合公司 用于提供无线网状网的方法和设备
CN101981863A (zh) * 2007-06-26 2011-02-23 格马尔托股份有限公司 嵌入式生成便携式通信对象中的标识符和关联密钥的方法
CN101810018A (zh) * 2007-10-09 2010-08-18 朗讯科技公司 安全无线通信
CN101175076A (zh) * 2007-10-23 2008-05-07 赵运磊 在线计算高效、可抵赖、不可锻造安全的密钥交换协议

Also Published As

Publication number Publication date
HK1247477A1 (zh) 2018-09-21
CN104604181A (zh) 2015-05-06
US10057053B2 (en) 2018-08-21
US8971851B2 (en) 2015-03-03
US20180109374A1 (en) 2018-04-19
EP3249849B1 (en) 2019-08-21
KR20150037927A (ko) 2015-04-08
EP3249849A1 (en) 2017-11-29
TWI503008B (zh) 2015-10-01
WO2014004688A1 (en) 2014-01-03
IN2014DN10973A (zh) 2015-09-18
CA2877490A1 (en) 2014-01-03
CA2877490C (en) 2018-07-10
EP3605942A1 (en) 2020-02-05
US10187202B2 (en) 2019-01-22
US20140004824A1 (en) 2014-01-02
EP3605942B1 (en) 2021-02-17
KR101630582B1 (ko) 2016-06-14
EP2868029B1 (en) 2017-10-04
TW201404191A (zh) 2014-01-16
EP2868029A1 (en) 2015-05-06
US20150139424A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
CN104604181B (zh) 无线通信的密钥协定
US9088408B2 (en) Key agreement using a key derivation key
US11777719B2 (en) Public key exchange with authenicated ECDHE and security against quantum computers
CN112566112B (zh) 用于无线通信的装置、方法和存储介质
US10462667B2 (en) Method of providing mobile communication provider information and device for performing the same
US10298576B2 (en) Network-based client side encryption
JP2017175624A (ja) 暗号鍵の生成
CN107431916A (zh) 无线网络中的身份私密性
US20140171029A1 (en) Method and apparatus for authenticating subscribers to long term evolution telecommunication networks or universal mobile telecommunications system
WO2018076740A1 (zh) 数据传输方法及相关设备
Saeed et al. Pseudonym Mutable Based Privacy for 5G User Identity.
US20230362631A1 (en) Secure storage and processing of sim data
Lukeman Securing Cellular Access Networks against Fraud

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191023

Address after: Voight, Ontario, Canada

Patentee after: BlackBerry Ltd.

Address before: Rika Univ.

Patentee before: CERTICOM Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240529

Address after: Illinois

Patentee after: Ot patent trusteeship Co.,Ltd.

Country or region after: U.S.A.

Address before: Voight, Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240703

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Illinois

Patentee before: Ot patent trusteeship Co.,Ltd.

Country or region before: U.S.A.