CN109560919B - 一种密钥衍生算法的协商方法及装置 - Google Patents

一种密钥衍生算法的协商方法及装置 Download PDF

Info

Publication number
CN109560919B
CN109560919B CN201810265796.1A CN201810265796A CN109560919B CN 109560919 B CN109560919 B CN 109560919B CN 201810265796 A CN201810265796 A CN 201810265796A CN 109560919 B CN109560919 B CN 109560919B
Authority
CN
China
Prior art keywords
key derivation
derivation algorithm
terminal
key
message
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
CN201810265796.1A
Other languages
English (en)
Other versions
CN109560919A (zh
Inventor
胡力
陈璟
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP18860899.6A priority Critical patent/EP3675544A4/en
Priority to PCT/CN2018/100848 priority patent/WO2019062374A1/zh
Publication of CN109560919A publication Critical patent/CN109560919A/zh
Priority to US16/821,103 priority patent/US11627458B2/en
Application granted granted Critical
Publication of CN109560919B publication Critical patent/CN109560919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • 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
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • 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

Landscapes

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

Abstract

本申请提供一种密钥衍生算法的协商方法及装置。该方法包括:终端对发送出去的第一密钥衍生算法与接收到的第二密钥衍生算法进行校验,当校验正确且第一密钥衍生算法与第二密钥衍生算法相同,则确定终端发送的第一密钥衍生算法没有被攻击者篡改,然后才将协商的第三密钥衍生算法,作为终端的密钥衍生算法,保证了协商的密钥衍生算法的保密性,从而提高通信的安全性。

Description

一种密钥衍生算法的协商方法及装置
本申请要求在2017年9月27日提交中华人民共和国知识产权局、申请号为201710890306.2、发明名称为“一种密钥衍生算法的协商方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及移动通信技术领域,尤其涉及一种密钥衍生算法的协商方法及装置。
背景技术
与安全相关的算法包括完整性保护算法、加密算法以及密钥衍生功能(KeyDerivation Function,KDF)算法。密钥衍生功能算法也称为密钥衍生算法。其中,完整性保护算法用于计算消息鉴别码(Message Authentication Code,MAC)。加密算法用于对消息进行加密。KDF算法用于推衍密钥。
目前,针对密钥衍生算法,终端与网络侧之间的协商方法为:终端将终端支持的密钥衍生算法发送至网络侧,由网络侧根据预先配置的策略,如优先级策略,从中选择一个密钥衍生算法发送至终端,该选择的密钥衍生算法即作为协商的密钥衍生算法。
上述方法存在的主要问题是:由终端向网络侧发送的初始消息由于没有得到完整性保护,因此容易受到攻击者的攻击,比如,攻击者对终端发送给网络侧的终端支持的密钥衍生算法进行修改,使得网络侧只接收到一种安全性较弱的密钥衍生算法,从而网络侧选择该安全性较弱的密钥衍生算法发送给终端,作为协商的密钥衍生算法,导致终端和网络侧使用了安全性较弱的密钥衍生算法,降低了通信的安全性。
发明内容
本申请提供一种密钥衍生算法的协商方法及装置,用以提高通信的安全性。
第一方面,本申请提供一种密钥衍生算法的协商方法,该方法可由终端或终端内的芯片执行。该方法包括:终端向存储功能实体发送第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法。终端接收来自存储功能实体的认证令牌,认证令牌包括第一消息鉴别码、第二密钥衍生算法以及第三密钥衍生算法。其中,第二密钥衍生算法为存储功能实体接收到的终端支持的至少一个密钥衍生算法,且第二密钥衍生算法包括第三密钥衍生算法。第一消息鉴别码是根据第二密钥衍生算法生成的。终端根据第二密钥衍生算法生成第二消息鉴别码,若第一消息鉴别码与第二消息鉴别码相同,且第一密钥衍生算法与第二密钥衍生算法相同,则终端获取第三密钥衍生算法作为终端的密钥衍生算法。
本申请,终端对发送出去的第一密钥衍生算法与接收到的第二密钥衍生算法进行校验,当校验正确且第一密钥衍生算法与第二密钥衍生算法相同,则确定终端发送的第一密钥衍生算法没有被攻击者篡改。然后才将协商的第三密钥衍生算法,作为终端的密钥衍生算法。保证了协商的密钥衍生算法的保密性,从而提高通信的安全性。
在一种可能的设计中,第二密钥衍生算法携带于认证令牌的认证管理域AMF。
第二方面,本申请提供一种密钥衍生算法的协商方法,该方法可由存储功能实体或存储功能实体内的芯片执行。存储功能实体可以是归属签约用户服务器(HomeSubscriber Server,HSS)、统一数据管理(Unified Data Management,UDM)实体、认证凭证存储和处理功能(Authentication Credential Repository and Processing Function,ARPF)实体等。该方法包括:
存储功能实体接收第二密钥衍生算法,第二密钥衍生算法为存储功能实体接收到的终端支持的至少一个密钥衍生算法。存储功能实体根据预设策略,从第二密钥衍生算法中选择第三密钥衍生算法,以及,根据第二密钥衍生算法生成第一消息鉴别码。存储功能实体向终端发送认证令牌,认证令牌包括第一消息鉴别码、第三密钥衍生算法以及第二密钥衍生算法。
在一种可能的设计中,第二密钥衍生算法携带于认证令牌的认证管理域AMF。
第三方面,本申请提供一种密钥衍生算法的协商方法,该方法可由终端或终端内的芯片执行。该方法包括:若第一密钥衍生算法与第二密钥衍生算法不同,终端向移动管理功能实体发送第一消息,第一消息包含第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法,第二密钥衍生算法为移动管理功能实体或存储功能实体接收到的终端支持的至少一个密钥衍生算法。终端接收来自移动管理功能实体的第二消息,第二消息包括目标密钥衍生算法,其中,第一密钥衍生算法包括目标密钥衍生算法。终端将终端的密钥衍生算法更新为目标密钥衍生算法,并根据目标密钥衍生算法更新终端的密钥。
当第一密钥衍生算法与第二密钥衍生算法不同,则确定终端发送的第一密钥衍生算法被篡改,因此通过第一消息重新发送第一密钥衍生算法。此时,发送的第一消息由于不是初始消息,因此可以得到完整性保护,不会被攻击者攻击。因此,当终端接收到目标密钥衍生算法时,则不需要做校验,直接将终端的密钥衍生算法更新为该目标衍生算法。从而完成密钥衍生算法的协商,保证了协商的密钥衍生算法的保密性,从而提高通信的安全性。
在一种可能的设计中,目标密钥衍生算法包括来自存储功能实体的第一目标密钥衍生算法;终端根据目标密钥衍生算法,更新终端的密钥,包括:终端根据第一目标密钥衍生算法,更新终端的接入安全管理实体密钥。
该方法,终端还根据存储功能实体选择的第一目标密钥衍生算法,更新终端的密钥,如接入安全管理实体密钥,保证通信的安全性。
在一种可能的设计中,第二消息还包括来自存储功能实体的第一随机数;终端根据第一目标密钥衍生算法,更新终端的接入安全管理实体密钥,包括:终端根据第一目标密钥衍生算法和第一随机数,更新接入安全管理实体密钥。
在一种可能的设计中,目标密钥衍生算法包括来自移动管理功能实体的第二目标密钥衍生算法;终端根据目标密钥衍生算法,更新终端的密钥,包括:终端根据第二目标密钥衍生算法,更新用于终端和移动管理功能实体通信的第一密钥。
该方法,终端还根据移动管理功能实体选择的第二目标密钥衍生算法,更新终端的密钥,如终端和移动管理功能实体通信的第一密钥,保证通信的安全性。
在一种可能的设计中,第二消息还包括来自移动管理功能实体的第二随机数;
终端根据第二目标密钥衍生算法,更新用于终端和移动管理功能实体通信的第一密钥,包括:终端根据第二目标密钥衍生算法和第二随机数,更新第一密钥。
在一种可能的设计中,还包括:终端接收来自移动管理功能实体的非接入层(Non-Access Stratum,NAS)安全模式完成(security mode completed,SMP)消息,NAS SMP消息包括第二密钥衍生算法。终端确定第一密钥衍生算法与第二密钥衍生算法不同。
在一种可能的设计中,第一消息为NAS SMP消息,第二消息为NAS安全模式命令(security mode comand,SMC)消息。当第一消息为NAS SMP消息时,该第一消息可受到完整性保护,因而可保证第一消息中的第一密钥衍生算法不被攻击者篡改,保证了通信的安全性。
第四方面,本申请提供一种密钥衍生算法的协商方法,该方法可由存储功能实体或存储功能实体内的芯片执行,或者由移动管理功能实体或移动管理功能实体内的芯片执行,其中,存储功能实体可以是HSS、UDM、ARPF,移动管理功能实体可以是移动管理实体(Mobility Management Entity,MME)、接入与移动管理功能(Access and MobilityManagement Function,AMF)实体等。该方法包括:网络侧节点接收来自终端的第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法。网络侧节点根据预设策略,从第一密钥衍生算法中选择目标密钥衍生算法。网络侧节点根据目标密钥衍生算法,更新网络侧节点中存储的密钥。网络侧节点向终端发送目标密钥衍生算法。
在一种可能的设计中,存储功能实体根据目标密钥衍生算法,更新网络侧节点中存储的密钥,包括:网络侧节点生成随机数。网络侧节点根据随机数和目标密钥衍生算法,更新网络侧节点中存储的密钥。以及,网络侧节点向终端发送随机数。
在一种可能的设计中,网络侧节点为移动管理功能实体,网络侧节点中存储的密钥为终端的接入安全管理实体密钥。或者,网络侧节点为存储功能实体,网络侧节点中存储的密钥为用于终端和移动管理功能实体通信的第一密钥。
在一种可能的设计中,网络侧节点为移动管理功能实体,在网络侧节点接收来自终端的第一密钥衍生算法之前,移动管理功能实体接收第二密钥衍生算法,第二密钥衍生算法为移动管理功能实体接收到的终端支持的至少一个密钥衍生算法。移动管理功能实体向终端发送非接入层NAS安全模式完成SMC消息,NAS SMC消息包括第二密钥衍生算法。
第五方面,本申请提供一种装置,该装置可以是终端,也可以是终端内的芯片。该装置具有实现上述第一方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的设计中,当该装置为终端时,终端包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是收发器,收发器包括射频电路,可选地,终端还包括存储单元,该存储单元例如可以是存储器。当终端包括存储单元时,该存储单元存储有计算机执行指令,该处理单元与该存储单元连接,该处理单元执行该存储单元存储的计算机执行指令,以使该终端执行上述第一方面任意一项的密钥衍生算法的协商方法。
在另一种可能的设计中,当该装置为终端内的芯片时,芯片包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第一方面任意一项的密钥衍生算法的协商方法被执行。可选地,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是终端内的位于芯片外部的存储单元,如只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random accessmemory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用的中央处理器(CentralProcessing Unit,CPU),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制执行上述第一方面的密钥衍生算法的协商方法的程序的集成电路。
第六方面,本申请提供一种装置,该装置可以是存储功能实体,也可以是存储功能实体内的芯片,其中,存储功能实体可以是HSS、UDM、ARPF等。该装置具有实现上述第二方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的设计中,当该装置为存储功能实体时,存储功能实体包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是收发器,收发器包括射频电路,可选地,存储功能实体还包括存储单元,该存储单元例如可以是存储器。当存储功能实体包括存储单元时,该存储单元存储有计算机执行指令,该处理单元与该存储单元连接,该处理单元执行该存储单元存储的计算机执行指令,以使该存储功能实体执行上述第二方面任意一项的密钥衍生算法的协商方法。
在另一种可能的设计中,当该装置为存储功能实体内的芯片时,芯片包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第二方面任意一项的密钥衍生算法的协商方法被执行。可选地,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是存储功能实体内的位于芯片外部的存储单元,如只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用的中央处理器(CentralProcessing Unit,CPU),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制执行上述第二方面的密钥衍生算法的协商方法的程序的集成电路。
第七方面,本申请提供一种装置,该装置可以是终端,也可以是终端内的芯片。该装置具有实现上述第三方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的设计中,当该装置为终端时,终端包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是收发器,收发器包括射频电路,可选地,终端还包括存储单元,该存储单元例如可以是存储器。当终端包括存储单元时,该存储单元存储有计算机执行指令,该处理单元与该存储单元连接,该处理单元执行该存储单元存储的计算机执行指令,以使该终端执行上述第三方面任意一项的密钥衍生算法的协商方法。
在另一种可能的设计中,当该装置为终端内的芯片时,芯片包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第三方面任意一项的密钥衍生算法的协商方法被执行。可选地,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是终端内的位于芯片外部的存储单元,如只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random accessmemory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用的中央处理器(CentralProcessing Unit,CPU),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制执行上述第三方面的密钥衍生算法的协商方法的程序的集成电路。
第八方面,本申请提供一种装置,该装置可以是存储功能实体,也可以是存储功能实体内的芯片,其中,存储功能实体可以是HSS、UDM、ARPF等。该装置具有实现上述第四方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的设计中,当该装置为存储功能实体时,存储功能实体包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是收发器,收发器包括射频电路,可选地,存储功能实体还包括存储单元,该存储单元例如可以是存储器。当存储功能实体包括存储单元时,该存储单元存储有计算机执行指令,该处理单元与该存储单元连接,该处理单元执行该存储单元存储的计算机执行指令,以使该存储功能实体执行上述第四方面任意一项的密钥衍生算法的协商方法。
在另一种可能的设计中,当该装置为存储功能实体内的芯片时,芯片包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使上述第四方面任意一项的密钥衍生算法的协商方法被执行。可选地,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是存储功能实体内的位于芯片外部的存储单元,如只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用的中央处理器(CentralProcessing Unit,CPU),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制执行上述第四方面的密钥衍生算法的协商方法的程序的集成电路。
第九方面,本申请提供一种密钥衍生算法的协商方法,该方法可由终端或终端内的芯片执行。该方法包括:终端向网络侧网元发送第一密钥衍生算法的第一标识信息,该第一密钥衍生算法为终端支持的至少一个密钥衍生算法,终端接收第二密钥衍生算法的第二标识信息,终端根据上层密钥、第一标识信息及第二密钥衍生算法,生成下层密钥。
本申请,终端向网络侧网元发送的是第一密钥衍生算法的第一标识信息,该第一密钥衍生算法有可能在发送过程中被篡改,终端接收到的是第二密钥衍生算法的第二标识信息,该第二密钥衍生算法可能是网络侧网元选择的密钥衍生算法,也可能是被篡改后的密钥衍生算法。进一步地,终端根据上层密钥、第一标识信息和第二密钥衍生算法生成下层密钥。由于在生成下层密钥时,使用到了第一密钥衍生算法的第一标识信息和第二密钥衍生算法,因此,如果第一密钥算法或第二密钥衍生算法被篡改,将导致终端生成的下层密钥,与网络侧网元生成的下层密钥不相同,导致通信失败。只有当第一密钥衍生算法和第二密钥衍生算法均没有被篡改时,才能实现正确通信,从而提高了通信的安全性。
在一种可能的设计中,终端根据上层密钥、第一标识信息及第二密钥衍生算法,生成下层密钥,包括:终端根据上层密钥、第一标识信息、第二标识信息及第二密钥衍生算法,生成下层密钥。
上述方法,在生成下层密钥时,还可以将第二标识信息作为输入参数。
在一种可能的设计中,上层密钥为加密密钥CK、完整性密钥IK,下层密钥为安全锚点密钥Kseaf;终端根据上层密钥、第一标识信息及第二密钥衍生算法,生成下层密钥,包括:终端根据CK、IK、第一标识信息及第二密钥衍生算法,生成认证服务密钥Kausf;以及,根据Kausf及第二密钥衍生算法,生成Kseaf;或者,终端根据CK、IK及第二密钥衍生算法,生成Kausf;以及,根据Kausf、第一标识信息及第二密钥衍生算法,生成Kseaf。
上述方法,终端在生成下层密钥时,可在一次协商过程中同时生成Kausf和Kseaf,因而可提高协商的效率。
在一种可能的设计中,上层密钥为Kseaf,下层密钥为非接入层加密密钥KNASenc,非接入层完整性保护密钥KNASint,基站密钥KgNB,非3GPP接入密钥Kn3iwf中的至少一个;终端根据上层密钥、第一标识信息及第二密钥衍生算法,生成下层密钥,包括:终端根据Kseaf、第一标识信息及第二密钥衍生算法,生成接入管理密钥Kamf;以及,根据Kamf及第二密钥衍生算法,生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个;或者,终端根据Kseaf及第二密钥衍生算法,生成Kamf;以及,根据Kamf、第一标识信息及第二密钥衍生算法,生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。
上述方法,终端在生成下层密钥时,可在一次协商过程中同时生成Kamf和KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,因而可提高协商的效率。
在一种可能的设计中,网络侧网元为移动性管理功能实体AMF,上层密钥为Kamf,下层密钥为KNASenc,KNASint,KgNB,Kn3iwf中的至少一个;或者,
网络侧网元为安全锚点实体SEAF,上层密钥为Kseaf,下层密钥为Kamf;或者,
网络侧网元为认证服务实体AUSF,上层密钥为Kausf,下层密钥为Kseaf;或者,
网络侧网元为统一数据管理实体,上层密钥为CK、IK,下层密钥为CK’,IK’,Kausf中的至少一个;或者,
网络侧网元为下一代基站gNB,上层密钥为KgNB,下层密钥为无线连接控制加密密钥Krrc-enc,无线连接控制完整性保护密钥Krrc-int,用户面加密密钥Kup-enc,用户面完整性保护密钥Kup-int,下一跳NH中的至少一个;或者,
网络侧网元为移动性管理实体MME,上层密钥为接入管理密钥Kamse,下层密钥为KNASenc,KNASint中的至少一个;或者,
网络侧网元为归属签约用户服务器,上层密钥为CK、IK,下层密钥为Kasme;或者,
网络侧网元为eNB,上层密钥为KeNB,下层密钥为Krrc-enc,Krrc-int,Kup-enc,Kup-int,NH中的至少一个。
第十方面,本申请提供一种密钥衍生算法的协商方法,该方法可由网络侧网元或网络侧网元内的芯片执行。该方法包括:网络侧网元接收第三密钥衍生算法的第三标识信息,第三密钥衍生算法为网络侧网元接收到的终端支持的至少一个密钥衍生算法,网络侧网元根据预设策略从第三密钥衍生算法中选择第四密钥衍生算法,网络侧网元根据第三标识信息、第四密钥衍生算法和上层密钥生成下层密钥,网络侧网元向终端发送第四密钥衍生算法的第四标识信息。
本申请,网络侧网络接收到的是第三密钥衍生算法的第三标识信息,该第三密钥衍生算法有可能在终端发送过程中被篡改后的密钥衍生算法,网络侧网元从第三密钥衍生算法中选择一个第四密钥衍生算法作为协商的密钥衍生算法,然后发送给终端,该第四密钥衍生算法可能在发送过程中被篡改为其它密钥衍生算法。进一步地,网络侧网元根据上层密钥、第三标识信息和第四密钥衍生算法生成下层密钥。由于在生成下层密钥时,使用到了第三密钥衍生算法的第三标识信息和第四密钥衍生算法,因此,如果第三密钥算法或第四密钥衍生算法被篡改,将导致网络侧网元生成的下层密钥,与终端生成的下层密钥不相同,导致通信失败。只有当第三密钥衍生算法和第三密钥衍生算法均没有被篡改时,才能实现正确通信,从而提高了通信的安全性。
在一种可能的设计中,网络侧网元根据第三标识信息、第四密钥衍生算法和上层密钥,生成下层密钥,包括:网络侧网元根据上层密钥、第三标识信息、第四标识信息及第四密钥衍生算法,生成下层密钥。
在一种可能的设计中,网络侧网元为统一数据管理实体,上层密钥为CK、IK,下层密钥为Kausf;网络侧网元向认证服务实体发送第四标识信息和Kausf。
在一种可能的设计中,网络侧网元为安全锚点实体,上层密钥为Kseaf,下层密钥为Kamf;网络侧网元向移动性管理功能实体AMF发送第四标识信息和Kamf。
在一种可能的设计中,网络侧网元为移动性管理功能实体AMF,上层密钥为Kamf,下层密钥为KNASenc,KNASint,KgNB,Kn3iwf中的至少一个;或者,
网络侧网元为安全锚点实体SEAF,上层密钥为Kseaf,下层密钥为Kamf;或者,
网络侧网元为认证服务实体AUSF,上层密钥为Kausf,下层密钥为Kseaf;或者,
网络侧网元为统一数据管理实体,上层密钥为CK、IK,下层密钥为CK’,IK’,Kausf中的至少一个;或者,
网络侧网元为下一代基站gNB,上层密钥为KgNB,下层密钥为无线连接控制加密密钥Krrc-enc,无线连接控制完整性保护密钥Krrc-int,用户面加密密钥Kup-enc,用户面完整性保护密钥Kup-int,下一跳NH中的至少一个;或者,
网络侧网元为移动性管理实体MME,上层密钥为接入管理密钥Kamse,下层密钥为KNASenc,KNASint中的至少一个;或者,
网络侧网元为归属签约用户服务器,上层密钥为CK、IK,下层密钥为Kasme;或者,
网络侧网元为eNB,上层密钥为KeNB,下层密钥为Krrc-enc,Krrc-int,Kup-enc,Kup-int,NH中的至少一个。
第十一方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第十二方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请适用的一种可能的网络架构示意图;
图2为本申请适用的另一种可能的网络架构示意图;
图3为本申请提供的一种密钥衍生算法示意图;
图4为本申请提供的应用管理域AMF的一种示意图;
图5为本申请提供的参数生成示意图;
图6为本申请提供的另一种密钥衍生算法的协商方法;
图7为本申请提供的另一种密钥衍生算法的协商方法;
图8为本申请提供的另一种密钥衍生算法的协商方法;
图9为本申请提供的另一种密钥衍生算法的协商方法;
图10为本申请提供的另一种密钥衍生算法的协商方法;
图11为本申请提供的另一种密钥衍生算法的协商方法;
图12为本申请提供的一种装置示意图;
图13为本申请提供的另一种装置示意图;
图14为本申请提供的另一种装置示意图;
图15为本申请提供的另一种装置示意图;
图16为本申请提供的另一种密钥衍生算法的协商方法;
图17(a)为本申请提供的另一种密钥衍生算法的协商方法;
图17(b)为本申请提供的另一种密钥衍生算法的协商方法;
图18为本申请提供的另一种装置示意图;
图19为本申请提供的另一种装置示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。其中,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
需要说明的是,本申请的密钥衍生算法的协商方法可由装置执行。在网络侧,该装置可以是存储功能实体或存储功能实体内的芯片,还可以是移动管理功能实体或移动管理功能实体内的芯片。存储功能实体可以用于存储终端的永久密钥,例如,存储功能实体可以是HSS、UDM实体、或ARPF实体等。移动管理功能实体可以用于管理终端的移动性,例如,移动管理功能实体可以是MME、或AMF实体等。在终端侧,该装置可以是终端或终端内的芯片。
为方便说明,本申请,以装置为存储功能实体、移动管理功能实体、终端为例,对申请的密钥衍生算法的协商方法进行说明,对于装置为存储功能实体内的芯片、移动管理功能实体内的芯片、终端内的芯片的实现方法,可参考存储功能实体、移动管理功能实体、终端的密钥衍生算法的协商方法的具体说明,不再重复介绍。
如图1所示,为本申请适用的一种可能的网络架构示意图。该网络架构为4G网络架构。该4G架构中的网元包括终端,图中以终端为用户设备(user equipment,UE)为例。网络架构还包括移动性管理实体(Mobility Management Entity,MME)、服务GPRS支持节点(Serving GPRS Support Node,SGSN)、归属签约用户服务器(Home Subscriber Server,HSS)、服务网关(serving gateway,S-GW)、分组数据网络网关(Packet Data Networkgateway,PDN gateway,P-GW)、策略与计费规则功能(Policy and Charging RulesFunction,PCRF)实体、演进的通用陆基无线接入网(Evolved Universal TerrestrialRadio Access Network,E-TURAN)等。
E-UTRAN由多个演进的基站(Evolved NodeB,eNodeB)组成,eNodeB之间通过X2接口彼此互联,eNodeB与演进分组核心网(Evolved Packet Core,EPC)之间通过S1接口,而eNodeB与UE通过LTE-Uu互联。
MME的主要功能是支持非接入层(NAS)信令及其安全、跟踪区域(Track Area,TA)列表的管理、P-GW和S-GW的选择、跨MME切换时进行MME的选择、在向2G/3G接入系统切换过程中进行SGSN的选择、用户的鉴权、漫游控制以及承载管理、第三代合作伙伴计划(3rdGeneration Partnership Project,3GPP)不同接入网络的核心网络节点之间的移动性管理。
S-GW是终止于E-UTRAN接口的网关,其主要功能包括:进行基站间切换时,作为本地锚定点,并协助完成基站的重排序功能;在3GPP不同接入系统间切换时,作为移动性锚点;执行合法侦听功能;进行数据包的路由和前转;在上行和下行传输层进行分组标记;用于运营商间的计费等。
P-GW是面向PDN终结于SGi接口的网关,如果UE访问多个PDN,UE将对应一个或多个P-GW。P-GW的主要功能包括基于用户的包过滤功能、合法侦听功能、UE的网络之间互连的协议(Internet Protocol,IP)地址分配功能、在上行链路中进行数据包传送级标记、进行上下行服务等级计费以及服务水平门限的控制、进行基于业务的上下行速率的控制等。
HSS是用于存储用户签约信息的数据库,归属网络中可以包含一个或多个HSS。HSS负责保存跟用户相关的信息,例如用户标识、编号和路由信息、安全信息、位置信息、概要(Profile)信息等。
SGSN可以用于2G/3G和E-UTRAN 3GPP接入网间移动时,进行信令交互,包括对P-GW和S-GW的选择,同时为切换到E-UTRAN 3GPP接入网的用户进行MME的选择。
PCRF实体终结于Rx接口和Gx接口,非漫游场景时,在本地公用陆地移动网络(HomePublic Land Mobile Network,HPLMN)中只有一个PCRF跟UE的一个IP连通性接入网络(IP-Connectivity Access Network),IP-CAN会话相关;在漫游场景并且业务流是本地疏导时,可能会有两个PCRF跟一个UE的IP-CAN会话相关。
其中,图1所示的架构中,与本申请有关的网元主要是:UE、MME、HSS。
如图2所示,为本申请适用的另一种可能的网络架构示意图。该网络架构为5G网络架构。该5G架构中的网元包括终端,图中以终端为UE为例。网络架构还包括无线接入网(Radio Access Network,RAN)、接入与移动管理功能(Access and Mobility ManagementFunction,AMF)实体、会话管理功能(session management function,SMF)实体、用户面功能(user plane function,UPF)实体、统一数据管理(Unified Data Management,UDM)实体、鉴权服务功能(Authentication Server Function,AUSF)实体、认证凭证存储和处理功能(Authentication Credential Repository and Processing Function,ARPF)实体(图中未示出)、安全锚点功能(Security Anchor Function,SEAF)实体(图中未示出)、数据网络(Data Network,DN)等。
RAN的主要功能是控制用户通过无线接入到移动通信网络。RAN是移动通信系统的一部分。它实现了一种无线接入技术。从概念上讲,它驻留某个设备之间(如移动电话、一台计算机,或任何远程控制机),并提供与其核心网的连接。RAN设备包括但不限于:5G中的(gnodeB,gNB)、演进型节点B(evolved node B,eNB)、无线网络控制器(radio networkcontroller,RNC)、节点B(node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved nodeB,或homenode B,HNB)、基带单元(BaseBand Unit,BBU)、传输点(transmitting and receivingpoint,TRP)、发射点(transmitting point,TP)、移动交换中心等,此外,还可以包括无线保真(wireless fidelity,wifi)接入点(access point,AP)等。
AMF实体负责终端的接入管理和移动性管理,在实际应用中,其包括了LTE中网络框架中移动管理实体(mobility management entity,MME)里的移动性管理功能,并加入了接入管理功能。
SMF实体负责会话管理,如用户的会话建立等。
UPF实体是用户面的功能网元,主要负责连接外部网络,其包括了LTE的服务网关(serving gateway,SGW)和公用数据网网关(public data network GateWay,PDN-GW)的相关功能。
DN负责为终端提供服务的网络,如一些DN为终端提供上网功能,另一些DN为终端提供短信功能等等。SEAF实体用于完成对UE的认证过程,在5G中,SEAF的功能可以合并到AMF实体中。
AUSF实体具有鉴权服务功能,用于终结SEAF请求的认证功能。
AMF实体负责终端的接入管理和移动性管理,在实际应用中,其包括了长期演进(Long term evolution,LTE)中MME的移动性管理功能,并加入了接入管理功能。
ARPF实体具有认证凭证存储和处理功能,用于存储用户的长期认证凭证,如永久密钥K等。在5G中,ARPF的功能可以合并到UDM实体中。
UDM实体可存储用户的签约信息,实现类似于4G中的HSS的后端。
其中,图2所示的架构中,与本申请有关的网元主要是:UE、AMF实体、HSS实体、SEAF实体、AUSF实体及ARPF实体。
本申请中的终端,是一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。例如图1中的UE和图2中的UE,为终端的一个具体示例。
本申请既适用于图1所示的4G网络架构,也适用于图2所示的5G网络架构。
为方便说明,本申请将4G中的MME,5G中的AMF实体,统称为移动管理功能实体。将4G中的HSS,5G中的APRF实体,UDM实体统称为存储功能实体。以及,将移动管理功能实体和存储功能实体,统称为网络侧节点。
下面结合附图对本申请的密钥衍生算法的协商方法进行说明。
如图3所示,为本申请提供的一种密钥衍生算法示意图,包括以下步骤:
步骤301、终端向存储功能实体发送第一密钥衍生算法,存储功能实体接收到第二密钥衍生算法。
其中,第一密钥衍生算法可用于表示终端的密钥衍生算法能力,即第一密钥衍生算法为终端支持的密钥衍生算法。例如,终端支持的密钥衍生算法为KDF1、KDF2、KDF3,则第一密钥衍生算法为{KDF1、KDF2、KDF3}。
在具体实现中,终端发送的第一密钥衍生算法可以是终端支持的密钥衍生算法的标识,例如,当终端支持的密钥衍生算法为KDF1、KDF2、KDF3时,则终端发送的第一密钥衍生算法为{KDF1的标识、KDF2的标识、KDF3的标识}。
本申请,存储功能实体和移动性管理功能实体接收到的终端发送的密钥衍生算法,称为第二密钥衍生算法。
在具体实现中,第二密钥衍生算法可以是终端支持的密钥衍生算法的标识。
终端向存储功能实体发送第一密钥衍生算法的具体方法,例如可以为:
在4G中,终端先向MME发送附着(Attach)请求(request)消息或跟踪区域更新(track area update,TAU)请求(request)消息,请求消息中包含UE支持的KDF,MME向HSS发送认证数据请求(Authentication Data Request)消息,消息中包含第二密钥衍生算法。
在5G中,终端先向AMF实体或SEAF实体发送注册请求(Registration Request)消息,注册请求消息中包含第一密钥衍生算法。AMF实体或SEAF实体向AUSF实体发送认证启动请求(Authentication Initiation Request)消息,该认证启动请求消息中包含第一密钥衍生算法,AUSF实体向ARPF实体或UDM实体发送认证信息请求(AuthenticationInformation request)消息,该认证信息请求消息中包含第二密钥衍生算法。
由于终端发送的携带第一密钥衍生算法的初始消息,如4G的附着请求消息、跟踪区域更新请求消息,或5G的注册请求消息,没有得到完整性保护,因此比较容易受到攻击者的攻击,攻击者有可能将该初始消息中的第一密钥衍生算法篡改,即第二密钥衍生算法为篡改后的密钥衍生算法,此时,第二密钥衍生算法可能与第一密钥衍生算法不同。
或者是,终端发送的第一密钥衍生算法没有被攻击者攻击,则存储功能实体接收到的第二密钥衍生算法,与终端发送的第一密钥衍生算法相同。
因此,存储功能实体接收到的第二密钥衍生算法可能与终端发送的第一密钥衍生算法相同,也有可能不同。
步骤302、存储功能实体根据预设策略,从接收到的第二密钥衍生算法中,选择第三密钥衍生算法。
第二密钥衍生算法为存储功能实体接收到的终端支持的至少一个密钥衍生算法。
当存储功能实体接收到第二密钥衍生算法之后,则根据预先设定的策略,从第二密钥衍生算法中选择一个第三密钥衍生算法,作为协商的终端与存储功能实体之间通信的密钥衍生算法。
在具体实现中,第三密钥衍生算法可以用第三密钥衍生算法的标识来表示。
其中,预设策略可以是优先级策略,即选择优先级最高的密钥衍生算法;或者是,使用次数策略,即选择使用次数最多的密钥衍生算法;还可以是其它策略,本申请不做限制。
为方便说明,后续以优先级策略为例进行说明。
例如,第一密钥衍生算法为{KDF1、KDF2、KDF3},其中,KDF1的优先级<KDF2的优先级<KDF3的优先级。若第一密钥衍生算法没有被攻击篡改,则存储功能实体收到的第二密钥衍生算法与第一密钥衍生算法相同,也为{KDF1、KDF2、KDF3},则存储功能实体从第二密钥衍生算法中选择的第三密钥衍生算法为KDF3。
再比如,第一密钥衍生算法为{KDF1、KDF2、KDF3},其中,KDF1的优先级<KDF2的优先级<KDF3的优先级。若第一密钥衍生算法被攻击篡改,(一般会修改为只包含优先级最低的密钥衍生算法,从而方便破解密钥),例如,存储功能实体收到的第二密钥衍生算法为{KDF1},则存储功能实体从第二密钥衍生算法中选择的第三密钥衍生算法为KDF1。
步骤303、存储功能实体向终端发送认证令牌,终端接收来自存储功能实体的认证令牌(Authentication Token,AUTN)。
存储功能实体在选择了第三密钥衍生算法之后,需要将第三密钥衍生算法发送给终端,本申请,在存储功能实体发送第三密钥衍生算法的过程中,还将存储功能实体接收到的第二密钥衍生算法发送至终端,以便终端校验终端发送的第一密钥衍生算法是否被篡改。
本申请,认证令牌中包括第一消息鉴别码(Message Authentication Code,MAC)、第二密钥衍生算法以及选择的第三密钥衍生算法,并且,第一消息鉴别码是根据第二密钥衍生算法生成。
下面结合附图,给出几种AUTN的实现方法。
实现方法一、AUTN包括认证管理域(Authentication Management Field,AMF)和MAC,AMF中包括第二密钥衍生算法和第三密钥衍生算法,MAC为第一消息鉴别码。
作为一种实现方式,例如应用管理域AMF由8个比特位构成,终端最多支持4个算法,例如分别为KDF1,KDF2,KDF3,KDF4。使用AMF中的两位表示选择的第三密钥衍生算法,AMF中的四位用于表示接收到的第二密钥衍生算法。
例如,参考图4,为AMF的一种示例图。其中,第0位和第1位用于表示选择的第三密钥衍生算法,例如为“00”时,表示第三密钥衍生算法为KDF1,“01”时,表示第三密钥衍生算法为KDF2,“10”时,表示第三密钥衍生算法为KDF3,“11”时,表示第三密钥衍生算法为KDF4。第2位至第5位分别用于表示是否接收到KDF1、KDF2、KDF3、KDF4,其中,“1”表示接收到,“0”表示未接收到。例如,第2至第5位为“0000”时,表示接收到的第二密钥衍生算法为空;第2至第5位为“0100”时,表示接收到的第二密钥衍生算法为KDF2;第2至第5位为“1110”时,表示接收到的第二密钥衍生算法为KDF1、KDF2、KDF3。
当然,图4只是作为一种示例进行说明,例如,还可以使用其他位表示第二密钥衍生算法和第三密钥衍生算法,本申请不做限制。或者,当AMF不是8位时,其使用方法也类似。
下面结合附图,给出一种生成AUTN的具体实现方式,如图5所示,为参数生成示意图。
参见图5,存储功能实体生成序列号(Sequence Number,SQN)和随机数(RAND),然后分别生成MAC(即第一消息鉴别码)、期望响应(Expected Response,XRES)、加密密钥(Cipher Key,CK)、完整性密钥(integrity key,IK)、匿名密钥(Anonymity Key,AK)。
MAC=f1(K,AMF,SQN,RAND),其中,应用管理域AMF的格式如图4所示,AMF包括第二密钥衍生算法和第三密钥衍生算法;
XRES=f2(K,RAND);
CK=f3(K,RAND);
IK=f4(K,RAND);
AK=f5(K,RAND)。
其中,f1、f2、f3、f4、f5表示函数,终端也存储有相同的函数。
然后根据以上参数生成AUTN和认证向量(Authentication Vector,AV),具体地:
Figure GDA0002760416550000131
AV:=RAND||XRES||CK||IK||AUTN。
AUTN包括
Figure GDA0002760416550000132
AMF和MAC,其中
Figure GDA0002760416550000133
为与或符号,表示SQN和AK进行与或运算的结果,“||”为连接符号,例如00||11,即为0011。因而AUTN中包括MAC(第一消息鉴别码)、第二密钥衍生算法和第三密钥衍生算法,其中,第二密钥衍生算法和第三密钥衍生算法携带于认证管理域AMF中。
可选的,作为一种实现方式,还可以将AUTN携带于AV中发送至终端,其中,AV包括RAND、XRES、CK、IK、AUTN。
从而,实现了将第二密钥衍生算法、第三密钥衍生算法、第一消息鉴别码以及其他可能需要用到的参数发送至终端。
实现方法二、AUTN包括认证管理域AMF、第二密钥衍生算法和MAC,AMF中包括第三密钥衍生算法,MAC为第一消息鉴别码
具体地,作为一种实现方式,例如:
AUTN:=第二密钥衍生算法
Figure GDA0002760416550000134
MAC=f1(K,AMF,SQN,RAND,第二密钥衍生算法)。
其中,针对ATUN,该实现方法二与上述实现方法一的主要区别在于:第一,实现方法一中是将第二密钥衍生算法携带于AMF,实现方法二是将第二密钥衍生算法携带于AUTN,由于AMF的比特位是有限制的,因此将第二密钥衍生算法移至AMF之外,使得当终端支持的密钥衍生算法的种类比较多时,本申请方法仍然适用。例如,假设AMF为8位,若按照上述实现方法一,则当终端支持的密钥衍生算法超过5种时,则上述实现方法一无法实施。而按照实现方法二,终端支持的密钥衍生算法最多可达到28种。
针对MAC,生成MAC时还需要将第二密钥衍生算法作为输入参数。
使用上述实现方法一或实现方法二,生成AUTN之后,则将AUTN发送至终端,该AUTN的发送是受到完整性保护算法的保护的,不会被攻击者篡改。
可选的,AUTN是携带于AV中发送至终端的。
作为一种实现方式,在4G中,存储功能实体向终端发送AUTN的方法为:
HSS实体向MME发送认证数据响应(Authenticaition Data Response)消息,消息中包含AUTN,MME向终端发送用户认证请求(User Authentication Request)消息,消息中包含AUTN。
作为一种实现方式,在5G中,存储功能实体向终端发送AUTN的方法为:
UDM实体或ARPF实体向AUSF实体发送认证信息应答(AuthenticaitionInformation Response)消息,消息中包含AUTN,AUSF实体向SEAF或AMF实体发送初始化认证响应(Authentication Initiation Answer)消息,消息中包含AUTN,SEAF实体或AMF实体向终端发送认证请求(Authenticaition Request)消息,消息中包含AUTN。
步骤304、终端根据认证令牌中的第二密钥衍生算法,生成第二消息鉴别码。
当终端接收到认证令牌后,可从中获取第一消息鉴别码、第二密钥衍生算法和第三密钥衍生算法。
然后,终端根据第二密钥衍生算法,生成第二消息鉴别码,生成方法与存储功能实体生成第一消息鉴别码的方法相同。例如,与上述存储功能实体发送AUTN的两种具体实现方法相对应地,则生成第二消息鉴别码的方法有以下两种:
方法一、对应于上述实现方法一
当第一消息鉴别码(MAC)=f1(K,AMF,SQN,RAND),其中,AMF中包括第二密钥衍生算法和第三密钥衍生算法,
Figure GDA0002760416550000141
AV:=RAND||XRES||CK||IK||AUTN,则终端生成第二消息鉴别码的方法为:
第二消息鉴别码(MAC1)=f1(K,AMF,SQN,RAND),其中的K是存储在终端的,AMF是从AUTN中获取的,RAND是从AV中获取的,然后根据K可以推衍出AK,根据AK和
Figure GDA0002760416550000142
Figure GDA0002760416550000143
可获取SQN。
方法二、对应于上述实现方法二
当第一消息鉴别码(MAC)=f1(K,AMF,SQN,RAND,第二密钥衍生算法),其中,AMF中包括第三密钥衍生算法,AUTN:=第二密钥衍生算法
Figure GDA0002760416550000144
AV:=RAND||XRES||CK||IK||AUTN,则终端生成第二消息鉴别码的方法为:
第二消息鉴别码(MAC1)=f1(K,AMF,SQN,RAND,第二密钥衍生算法),其中的K是存储在终端的,AMF是从AUTN中获取的,RAND是从AV中获取的,然后根据K可以推衍出AK,根据AK和
Figure GDA0002760416550000145
可获取SQN,第二密钥衍生算法是从AUTN中获取的。
步骤305、终端若确定第二消息鉴别码与认证令牌中的第一消息鉴别码相同,且确定第一密钥衍生算法与第二密钥衍生算法相同,则获取认证令牌中的第三密钥衍生算法,作为终端密钥衍生算法。
终端对比第一密钥衍生算法和第二密钥衍生算法,如果确定第一密钥衍生算法与第二密钥衍生算法相同,则终端使用生成的第二消息鉴别码对接收到的第一消息鉴别码进行校验,下面结合具体的例子,说明如何校验消息鉴别码。
假设第一密钥衍生算法为{KDF1、KDF2、KDF3},且KDF1的优先级<KDF2的优先级<KDF3的优先级。并且,以上述发送AUTN的实现方法二和生成第二消息鉴别码的方法二为例。
例1,第二密钥衍生算法为{KDF1}
第一消息鉴别码(MAC)=f1(K,AMF,SQN,RAND,KDF1),
Figure GDA0002760416550000151
终端生成的第二消息鉴别码(MAC1)=f1(K,AMF,SQN,RAND,KDF1)。
终端校验MAC与MAC1是否相同,如果相同,则MAC校验正确,校验正确则表明生成第一消息鉴别码的参数与生成第二消息鉴别码的参数相同,即这些参数没有被篡改。如果校验不正确,原因可能是上述参数被篡改,则可以按照现有技术方法继续后续操作,例如可以是:终端发送错误指示消息给存储功能实体,错误指示消息可以是认证失败(Authentication Failure)消息。
假设校验MAC1=MAC,则校验正确,接着比较从AUTN获取的第二密钥衍生算法与终端自己的第一密钥衍生算法是否相同,由于第二密钥衍生算法为{KDF1},第一密钥衍生算法为{KDF1、KDF2、KDF3},因此不同,则终端确定发送的第一密钥衍生算法被篡改,则不使用第三密钥衍生算法,而是使用默认的密钥衍生算法,生成终端的密钥,如接入安全管理实体密钥(Key Access Security Management Entity,Kasme)等。以及,还需要发起重新协商的流程,并在新的流程中更新终端、存储功能实体的密钥,后续会详细说明如何更新。
例2,第二密钥衍生算法为{KDF1、KDF2、KDF3}
第一消息鉴别码(MAC)=f1(K,AMF,SQN,RAND,{KDF1、KDF2、KDF3}),
Figure GDA0002760416550000152
终端生成的第二消息鉴别码(MAC1)=f1(K,AMF,SQN,RAND,{KDF1、KDF2、KDF3})。
假设MAC1=MAC,且由于第一密钥衍生算法为{KDF1、KDF2、KDF3},第二密钥衍生算法为{KDF1、KDF2、KDF3},因此,校验MAC正确,且第一密钥衍生算法与第二密钥衍生算法相同,则终端获取第三密钥衍生算法作为终端密钥衍生算法,并根据该第三密钥衍生算法,生成终端的密钥,如Kasme等,流程结束。
上述密钥衍生算法的协商方法,终端对发送出去的第一密钥衍生算法与接收到的第二密钥衍生算法进行校验,当校验正确且第一密钥衍生算法与第二密钥衍生算法相同,则确定终端发送的第一密钥衍生算法没有被攻击者篡改,然后才将协商的第三密钥衍生算法,作为终端的密钥衍生算法,保证了协商的密钥衍生算法的保密性,从而提高通信的安全性。
如图6所示,本申请还提供另外一种密钥衍生算法的协商方法,该方法用于终端与存储功能实体之间协商密钥衍生算法,包括以下步骤:
步骤601、终端向移动管理功能实体发送请求消息,移动管理功能实体接收来自终端的请求消息。
该请求消息可以是4G中的附着请求消息或跟踪区域更新请求消息,或为5G中的注册请求消息。
其中,该请求消息包括第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法。
终端发送的是第一密钥衍生算法,移动管理功能实体接收的是第二密钥衍生算法,第二密钥衍生算法为移动管理功能实体接收到的终端支持的至少一个密钥衍生算法。
第二密钥衍生算法可能与第一密钥衍生算法相同,也有可能不同,例如当被攻击者篡改时,第二密钥衍生算法则与第一密钥衍生算法不同。
步骤602、移动管理功能实体向存储功能实体发送第二密钥衍生算法,存储功能实体接收来自移动管理功能实体的第二密钥衍生算法。
例如,在4G中,第二密钥衍生算法可以携带于认证数据请求(AuthenticationData Request)消息,在5G中,第二密钥衍生算法可以携带于认证信息请求(Authentication Information request)消息。
步骤603、存储功能实体从第二密钥衍生算法中选择第三密钥衍生算法。
存储功能实体根据第二密钥衍生算法,以及自身预配置的算法优先级列表,选择一个优先级最高的密钥衍生算法,即第三密钥衍生算法,作为终端与存储功能实体之间协商的密钥衍生算法。
可选地,存储功能实体可以将第三密钥衍生算法携带于认证管理域AMF的部分bit位,具体可参考前述描述。
步骤604、存储功能实体向移动管理功能实体发送AUTN,移动管理功能实体接收来自存储功能实体的AUTN。
其中,AUTN包括AMF和MAC,AMF中的部分bit位用于设置表示第三密钥衍生算法。该MAC是由存储功能实体根据AMF、K、RAND、SQN生成,由于该AMF中不包括第二密钥衍生算法,因此该实施例中,MAC不是根据第二密钥衍生算法生成的,即,MAC中不包括第二密钥衍生算法。
步骤605、移动管理功能实体向终端发送AUTN,终端接收来自移动管理功能实体的AUTN。
上述步骤604和步骤605中,存储功能实体向移动管理功能实体发送AUTN,移动管理功能实体向终端发送AUTN的具体实现方式,例如可以是:
作为一种实现方式,在4G中,HSS实体向MME发送认证数据响应(AuthenticaitionData Response)消息,消息中包含AUTN,MME向终端发送用户认证请求(UserAuthentication Request)消息,该消息中包含AUTN。
作为一种实现方式,在5G中,UDM实体或ARPF实体向AUSF实体发送认证信息应答(Authenticaition Information Response,AV-Resp)消息,消息中包含AUTN,AUSF实体向SEAF实体或AMF实体发送初始化认证响应(Authentication Initiation Answer)消息,消息中包含AUTN,SEAF实体或AMF实体向终端发送认证请求(Authenticaition Request,Auth-Req)消息,消息中包含AUTN。
步骤606、终端获取第三密钥衍生算法。
具体地,终端从接收到的AUTN中获取MAC、AMF。
首先对MAC进行校验,具体地,终端根据K、AMF、RAND、SQN生成MAC1,然后与从AUTN中获取的MAC比较,若相同,则校验正确。
如果校验正确,则终端获取AMF中的第三密钥衍生算法,作为终端与存储功能实体之间协商的密钥衍生算法。
步骤607、终端向存储功能实体发送响应消息,存储功能实体接收来自终端的响应消息。例如,该响应消息可以是认证响应消息,用于通知存储功能实体协商失败还是成功。
通过上述步骤601ˉ步骤607,完成了终端与存储功能实体之间的密钥衍生算法的协商过程,但上述过程没有判断终端发送的第一密钥衍生算法是否被篡改。下面举例说明。
例如,第一密钥衍生算法为{KDF1、KDF2、KDF3},且KDF1的优先级<KDF2的优先级<KDF3的优先级。若上述步骤601中携带的第一密钥衍生算法被攻击者篡改为KDF1,即第二密钥衍生算法为{KDF1},则上述步骤603中选择的第三密钥衍生算法为KDF1,然后终端在步骤606中获取的第三密钥衍生算法为KDF1。因而,上述步骤601ˉ步骤607的过程,只能完成密钥衍生算法的协商,但还不能判断第一密钥衍生算法是否被攻击者篡改。
因此,在步骤607之后,进一步还包括以下步骤,用于判断是否受到攻击。
步骤608、移动管理功能实体向终端发送NAS SMC消息,终端接收来自移动管理功能实体的NAS SMC消息。
该NAS SMC消息中包括第二密钥衍生算法,由于该NAS SMC消息是受到完整性保护算法的保护的,因此,该NAS SMC消息中的内容不会被篡改。
步骤609、终端获取第二密钥衍生算法,并校验该第二密钥衍生算法。
具体地,终端将第一密钥衍生算法与第二密钥衍生算法进行比较,如果一样,则校验正确,如果不一样,则校验不正确。
步骤610、终端向移动管理功能实体发送NAS SMP消息,移动管理功能实体接收来自终端的NAS SMP消息。
其中,如果步骤609中,第二密钥衍生算法校验正确,则该NAS SMP消息用于通知校验完成。流程结束。
如果步骤609中,第二密钥衍生算法校验不正确,则该NAS SMP消息中可以重新携带步骤601中的请求消息,请求消息包括第一密钥衍生算法,重新发起协商过程。重新协商的具体过程,后续会详细说明。
需要说明的是,由于该NAS SMP消息是受到完整性保护的,因此不会被攻击者篡改,即在步骤610中发送的第一密钥衍生算法,移动管理功能实体和存储功能实体接收到的也是第一密钥衍生算法,或者,也可以理解为,移动管理功能实体和存储功能实体接收到的第二密钥衍生算法,与第一密钥衍生算法相同。
上述实施例,终端和存储功能实体之间协商密钥衍生算法时,首先通过步骤601ˉ步骤607,完成密钥衍生算法的协商,然后通过步骤608ˉ步骤609对第二密钥衍生算法进行校验,若校验正确,则确定未受到攻击,因此协商的第三密钥衍生算法可以作为终端的密钥衍生算法;若校验失败,则通过步骤610重新发起密钥衍生算法的协商过程。
上述实施例介绍了终端和存储功能实体之间协商密钥衍生算法的过程,如图7所示,为本申请实施例提供的终端和移动管理功能实体之间协商密钥衍生算法的示意图,该实施例为一种具体实现方法,其中的消息的名称,在实际使用中,也可以称为其它名称,本申请不做限定。
步骤701、终端向移动管理功能实体发送请求消息,移动管理功能实体接收来自终端的请求消息。
该请求消息可以是4G中的附着请求消息或跟踪区域更新请求消息,或为5G中的注册请求消息。
该请求消息中包括第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法,第一密钥衍生算法也称为终端支持的密钥衍生算法能力。
终端发送的是第一密钥衍生算法,移动管理功能实体接收的是第二密钥衍生算法,第二密钥衍生算法为移动管理功能实体接收到的终端支持的至少一个密钥衍生算法。
第二密钥衍生算法可能与第一密钥衍生算法相同,也有可能不同,例如当被攻击者篡改时,第二密钥衍生算法则与第一密钥衍生算法不同。具体说明可参考上述实施例的步骤301中的相关描述,不再赘述。
步骤702、移动管理功能实体从第二密钥衍生算法中选择第四密钥衍生算法。
选择的第四密钥衍生算法作为终端与移动管理功能实体之间协商的密钥衍生算法。例如,移动管理功能实体根据第二密钥衍生算法以及自身预配置的算法优先级列表,选择一个优先级最高的密钥衍生算法,作为第四密钥衍生算法。
该第四密钥衍生算法在具体实现中,可以是第四密钥衍生算法的标识。
进一步地,移动管理功能实体还根据NAS完整性保护密钥,对NAS SMC消息进行完整性保护,生成NAS-MAC。NAS SMC消息中包含第四密钥衍生算法、第二密钥衍生算法,和NAS-MAC等。
步骤703、移动管理功能实体向终端发送NAS SMC消息,终端接收来自移动管理功能实体的NAS SMC消息。
步骤704、终端校验接收到的NAS-MAC。
终端接收到NAS SMC消息后,根据NAS完整性保护密钥,校验NAS-MAC,确定消息是否被篡改。
如果确定消息没有被篡改,则执行步骤705,否则,按照现有技术执行,例如重新发起校验过程。
步骤705、终端校验第二密钥衍生算法。
终端校验第二密钥衍生与第一密钥衍生算法是否相同,若相同,表明终端向移动管理功能实体发送的第一密钥衍生算法没有被篡改,并将第四密钥衍生算法,作为终端与移动管理功能实体之间的密钥衍生算法的协商结果;若不相同,表明终端向移动管理功能实体发送的第一密钥衍生算法被篡改。
步骤706、终端向移动管理功能实体发送NAS SMP消息,移动管理功能实体接收来自终端的NAS SMP消息。
NAS SMP消息用于告知算法协商结果,若成功,则在该NAS SMP消息告知终端与移动管理功能实体之间的密钥衍生算法协商完成,并激活了NAS层的安全。若失败,则可以通过该NAS SMP消息发起重新协商的过程,后续会详细说明。
可选地,还包括终端与基站之间协商密钥衍生算法的过程,包括以下步骤708ˉ步骤711。
步骤707、移动管理功能实体向基站发送初始化终端消息(Initial UE message),基站接收来自移动管理功能实体的初始化终端消息。
该初始化终端消息中包括第二密钥衍生算法。
步骤708、基站选择第五密钥衍生算法。
基站根据步骤707接收到的第二密钥衍生算法,以及自身预配置的算法优先级列表,从第二密钥衍生算法中选择一个优先级最高的密钥衍生算法,即第五密钥衍生算法,作为终端与基站之间协商的密钥衍生算法。
接着,基站根据接入层(AS)完整性保护密钥,对AS SMC消息进行完保,生成AS-MAC。
步骤709、基站向终端发送AS SMC消息,终端接收来自基站的AS SMC消息。
AS SMC消息包括AS-MAC和第五密钥衍生算法。
步骤710、终端校验AS-MAC。
终端根据AS完整性保护密钥,校验AS-MAC,确定消息是否被篡改。若确定消息未被篡改,则将第五密钥衍生算法作为终端与基站之间协商的密钥衍生算法。
步骤711、终端向基站发送AS SMP消息,基站接收来自终端的AS SMP消息。
AS SMP消息用于告知算法协商结果,若成功,则在该AS SMP消息告知终端与基站之间的密钥衍生算法协商完成,并激活了AS层的安全。若失败,告知终端与基站之间的密钥衍生算法协商失败。
上述实施例,终端对发送出去的第一密钥衍生算法与接收到的第二密钥衍生算法进行校验,当校验正确且第一密钥衍生算法与第二密钥衍生算法相同,则确定终端发送的第一密钥衍生算法没有被攻击者篡改,然后才将终端与移动管理功能实体之间协商的第四密钥衍生算法作为终端的密钥衍生算法,以及,将终端与基站之间协商的第五密钥衍生算法作为终端的密钥衍生算法,保证了协商的密钥衍生算法的保密性,从而提高通信的安全性。
上述实施例,介绍了终端与存储功能实体之间协商密钥衍生算法的方法,及终端与移动管理功能实体之间协商密钥衍生算法的方法。
下面介绍另外几种密钥衍生算法的协商方法,用于上述实施例中密钥衍生算法协商失败后的处理。
例如,图3所示的实施例中,终端与存储功能实体之间协议密钥衍生算法。在步骤304中生成第二消息鉴别码之后,终端确定第一消息鉴别码与第二消息鉴别码相同,但第一密钥衍生算法与第二密钥衍生算法不同,则不将第三密钥衍生算法作为终端的密钥衍生算法,而是选择默认的密钥衍生算法作为终端的密钥衍生算法,并根据默认的密钥衍生算法,推衍密钥,当然,作为另一种实现方式,也可以先将第三密钥衍生算法作为终端的密钥衍生算法,根据该第三密钥衍生算法推衍密钥。进一步地,再发起重新协商密钥衍生算法的流程,或者终端与当前无线接入网络断开重新接入,本申请以发起重新协商密钥衍生算法为例进行说明。
再比如,图6所示的实施例中,终端与存储功能实体之间协议密钥衍生算法。在步骤609中,终端校验第一密钥衍生算法与第二密钥衍生算法不同,则可以在步骤610发送的NAS SMP中携带步骤601中发送的请求消息,请求消息包括第一密钥衍生算法,重新发起重新协商密钥衍生算法的流程,或者终端与当前无线接入网络断开重新接入,本申请以发起重新协商密钥衍生算法为例进行说明。
再比如,图7所示的实施例中,终端与移动管理功能实体之间协议密钥衍生算法。在步骤705中,校验NAS-MAC正确,但校验第二密钥衍生算法与第一密钥衍生算法不同,则不将第四密钥衍生算法作为终端与移动管理功能实体之间的密钥衍生算法,而是选择默认的密钥衍生算法作为终端与移动管理功能实体之间的密钥衍生算法,当然,作为另一种实现方式,也可以先将第四密钥衍生算法作为终端的密钥衍生算法,根据该第四密钥衍生算法推衍密钥。进一步地,在步骤711发送的AS SMP中携带步骤701中发送的请求消息,请求消息包括第一密钥衍生算法,重新发起重新协商密钥衍生算法的流程,或者终端与当前无线接入网络断开重新接入,本申请以发起重新协商密钥衍生算法为例进行说明。
下面分三种情形,对密钥衍生算法的重新协商过程进行具体说明。
情形一、终端与移动管理功能实体之间的密钥衍生算法的重新协商
参考图8,为本申请实施例提供的密钥衍生算法的协商方法,用于终端与移动管理功能实体之间重新协商密钥衍生算法,图8所示的流程可以是在图7所示的流程的步骤706之后完成,即在图7的步骤706之后,还包括以下步骤:
步骤801、终端向移动管理功能实体发送第一消息,移动管理功能实体接收来自终端的第一消息。
该步骤801可以是上述步骤706,即该第一消息可以是NAS SMP消息,其中携带第一密钥衍生算法。
需要说明的是,该第一消息是受到完整性保护算法保护的,因此其中携带的第一密钥衍生算法不会被攻击者篡改,因此,移动管理功能实体接收到的也是第一密钥衍生算法。
步骤802、移动管理功能实体从第一密钥衍生算法中选择第二目标密钥衍生算法。
选择第二目标密钥衍生算法的方法参考前述从第二密钥衍生算法中选择第三密钥衍生算法的方法,不再赘述。
步骤803、移动管理实体根据第二目标密钥衍生算法,更新移动管理功能实体中存储的第一密钥。
作为一种实现方式,移动管理功能实体可先生成第二随机数,根据生成的第二随机数和所述第二目标密钥衍生算法,生成新的第一密钥,然后用生成的新的第一密钥,更新移动管理功能实体中存储的第一密钥。
其中,该第一密钥用于终端与移动管理功能实体之间通信,例如第一密钥可以是Knas,具体可以包括加密密钥(Knas-enc/KNASenc),完整性保护密钥(Knas-int/KNASint)。
例如,在4G中,加密密钥称为Knas-enc,完整性保护密钥称为Knas-int。
在5G中,加密密钥称为KNASenc,完整性保护密钥称为KNASint。
例如,在4G中,先根据第二随机数、本地存储的Kasme、第二目标密钥衍生算法,生成新的Kasme,然后根据新的Kasme、第二目标密钥衍生算法、完整性保护算法,生成新的Knas-int。以及,根据新的Kasme、第二目标密钥衍生算法、加密算法,生成新的Knas-enc。
再比如,在5G中,先根据第二随机数、Kamf、第二目标密钥衍生算法,生成新的Kamf,然后根据新的Kamf、第二目标密钥衍生算法、完整性保护算法,生成新的KNASint。以及,根据新的Kamf、第二目标密钥衍生算法、加密算法,生成新的KNASenc。
作为另一种实现方式,移动管理功能实体可根据NAS计数COUNT和所述第二目标密钥衍生算法,生成新的第一密钥,然后用生成的新的第一密钥,更新移动管理功能实体中存储的第一密钥。
其中,第一消息可以携带上行NAS COUNT的部分比特位,AMF实体可根据第一消息中携带的上行NAS COUNT部分比特位,获取完整的NAS COUNT。该第一密钥用于终端与移动管理功能实体之间通信,例如第一密钥可以是Knas,具体可以包括加密密钥(Knas-enc/KNASenc),完整性保护密钥(Knas-int/KNASint)。
例如,在4G中,先根据NAS COUNT的部分比特位获得整个NAS COUNT,再根据NASCOUNT、本地存储的Kasme、第二目标密钥衍生算法,生成新的Kasme,然后根据新的Kasme、第二目标密钥衍生算法、完整性保护算法,生成新的Knas-int。以及,根据新的Kasme、第二目标密钥衍生算法、加密算法,生成新的Knas-enc。
再比如,在5G中,先根据NAS COUNT的部分比特位获得整个NAS COUNT,再根据NASCOUNT、Kamf、第二目标密钥衍生算法,生成新的Kamf,然后根据新的Kamf、第二目标密钥衍生算法、完整性保护算法,生成新的KNASint。以及,根据新的Kamf、第二目标密钥衍生算法、加密算法,生成新的KNASenc。
作为另一种实现方式,移动管理功能实体可根据NAS计数COUNT和所述第二目标密钥衍生算法以及常量字符串,生成新的第一密钥,然后用生成的新的第一密钥,更新移动管理功能实体中存储的第一密钥。
其中,第一消息可以携带上行NAS COUNT的部分比特位,AMF实体可根据第一消息中携带的上行NAS COUNT部分比特位,获取完整的NAS COUNT。该第一密钥用于终端与移动管理功能实体之间通信,例如第一密钥可以是Knas,具体可以包括加密密钥(Knas-enc/KNASenc),完整性保护密钥(Knas-int/KNASint)。常量字符串可以是预配置的常量字符串,例如“KDF”,“KDF-UPDATE”等。
例如,在4G中,先根据NAS COUNT的部分比特位获得整个NAS COUNT,再根据NASCOUNT、本地存储的Kasme、第二目标密钥衍生算法,常量字符串,生成新的Kasme,然后根据新的Kasme、第二目标密钥衍生算法、完整性保护算法,生成新的Knas-int。以及,根据新的Kasme、第二目标密钥衍生算法、加密算法,生成新的Knas-enc。
再比如,在5G中,先根据NAS COUNT的部分比特位获得整个NAS COUNT,再根据NASCOUNT、Kamf、第二目标密钥衍生算法,常量字符串,生成新的Kamf,然后根据新的Kamf、第二目标密钥衍生算法、完整性保护算法,生成新的KNASint。以及,根据新的Kamf、第二目标密钥衍生算法、加密算法,生成新的KNASenc。
步骤804、移动管理实体向终端发送第二消息,终端接收来自移动管理实体的第二消息。
该第二消息可以是NAS SMC消息,受到完整性保护,可防止被攻击者篡改消息的内容。
该第二消息中包括第二目标密钥衍生算法,可选地,还包括第二随机数。
步骤805、终端更新第一密钥。
终端从接收的第二消息中获取第二目标衍生算法,使用该第二目标衍生算法更新终端的密钥衍生算法,根据第二目标密钥衍生算法,更新第一密钥。
可选地,若第二消息包括第二随机数,则终端根据第二目标密钥衍生算法和第二随机数,更新第一密钥。
可选地,终端还可以根据第二目标密钥衍生算法和NAS COUNT,更新第一密钥,其中,上述步骤801中的第一消息携带该NAS COUNT的部分比特位。
可选地,终端还可以根据第二目标密钥衍生算法、常量字符串和NAS COUNT,更新第一密钥,其中,上述步骤801中的第一消息携带该NAS COUNT的部分比特位。
上述三种终端更新第一密钥的具体方法,可参考步骤803中的移动管理实体更新第一密钥的过程,不再赘述。
步骤806、终端向移动管理实体发送NAS SMP消息,移动管理实体接收来自终端的NAS SMP消息。
该NAS SMP消息用于通知移动管理实体,协商和更新第一密钥成功。
情形二、终端与存储功能实体之间的密钥衍生算法的重新协商
参考图9,为本申请实施例提供的密钥衍生算法的协商方法,用于终端与存储功能实体之间重新协商密钥衍生算法,图9所示的流程可以是在图3所示的流程的步骤304之后完成,即在图3的步骤304之后,若确定第一密钥衍生算法与第二密钥衍生算法不同,则还包括以下步骤:
步骤901、终端向移动管理功能实体发送第一消息,移动管理功能实体接收来自终端的第一消息。
该第一消息可以是NAS SMP消息,其中携带第一密钥衍生算法。
需要说明的是,该第一消息是受到完整性保护算法保护的,因此其中携带的第一密钥衍生算法不会被攻击者篡改,因此,移动管理功能实体接收到的也是第一密钥衍生算法。
步骤902、移动管理实体向存储功能实体发送第一密钥衍生算法,存储功能实体接收来自移动管理实体的第一密钥衍生算法。
步骤903、存储功能实体从第一密钥衍生算法中选择第一目标密钥衍生算法。
选择第一目标密钥衍生算法的方法,可参考前述从第二密钥衍生算法中选择第三密钥衍生算法的方法,不再赘述。
步骤904、存储功能实体更新接入安全管理实体密钥。
在4G中,该接入安全管理实体密钥可以称为Kasme,在5G中,名称可能与4G中不同,例如称为Kasme*。
作为一种实现方式,存储功能实体可先生成第一随机数,根据生成的第一随机数、第一目标密钥衍生算法及存储的接入安全管理实体密钥,生成新的接入安全管理实体密钥,然后更新存储功能实体中存储的接入安全管理实体密钥。
步骤905、存储功能实体向移动管理功能实体发送第一目标密钥衍生算法,移动管理功能实体接收来自存储功能实体的第一目标密钥衍生算法。
可选地,该步骤905中,存储功能实体还向移动管理功能实体发送第一随机数。
步骤906、移动管理实体向终端发送第二消息,终端接收来自移动管理实体的第二消息。
该第二消息可以是NAS SMC消息,受到完整性保护,可防止被攻击者篡改消息的内容。
该第二消息中包括第一目标密钥衍生算法,可选地,还包括第一随机数。
步骤907、终端更新终端中存储的接入安全管理实体密钥。
终端从接收的第二消息中获取第一目标衍生算法,使用该第一目标衍生算法更新终端的密钥衍生算法,根据第一目标密钥衍生算法,更新接入安全管理实体密钥,可选地,根据第一目标密钥衍生算法和第一随机数,更新接入安全管理实体密钥,具体方法可参考步骤904中的移动管理实体更新第一密钥的过程,不再赘述。
情形三、终端与移动管理功能实体之间的密钥衍生算法的重新协商+终端与存储功能实体之间的密钥衍生算法的重新协商
参考图10,为本申请实施例提供的密钥衍生算法的协商方法,用于终端与存储功能实体之间重新协商密钥衍生算法,以及终端与移动管理功能实体之间重新协商密钥衍生算法图10所示的流程可以图8所示的流程与图9所示的流程的结合,且图10是以4G为例进行说明。图10中的MME即为移动管理功能实体,HSS实体即为存储功能实体。图10所示的流程包括以下步骤:
步骤1001、终端向MME发送NAS SMP消息,MME接收来自终端的NAS SMP消息。
NAS SMP消息中包括第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法。
步骤1002、MME向HSS发送第一密钥衍生算法,HSS接收来自MME的第一密钥衍生算法。
步骤1003、MME从第一目标密钥衍生算法中选择第二目标密钥衍生算法。
步骤1004、HSS从第一目标密钥衍生算法中选择第一目标密钥衍生算法。
步骤1005、HSS更新Kasme。
例如,HSS生成第一随机数,根据第一随机数、本地存储的Kasme及第一目标密钥衍生算法,生成新的Kasme,并使用新的Kasme,更新本地存储的Kasme。
步骤1006、HSS向MME发送第一目标密钥衍生算法和新的Kasme。
可选地,还发送第一随机数。
步骤1007、MME根据接收到的Kasme,更新本地存储的Kasme。
即,使用接收到的Kasme,替换本地存储的Kasme。
可选地,若上述步骤1006中不包括新的Kasme,则步骤1007中更新本地存储的Kasme的方法为:
MME生成第二随机数,根据第二随机数、本地存储的Kasme、第二目标密钥衍生算法,生成新的Kasme。
步骤1008、MME更新第一密钥。
具体地,MME根据更新的Kasme、第二目标密钥衍生算法、加密算法,生成新的Knas-enc。
根据新的Kasme、第二目标密钥衍生算法、完整性保护算法,生成新的Knas-int。
其中,第一密钥为终端与MME之间通信的密钥,包括Knas-int和Knas-enc。
步骤1009、MME向终端发送NAS SMC消息,终端接收来自MME的MAS SMC消息。
该NAS SMC消息包括第一目标密钥衍生算法、第二目标密钥衍生算法,可选地,还包括第一随机数、第二随机数。
步骤1010、终端更新Kasme和第一密钥。
终端一方面将接收到的第一目标密钥衍生算法和第二目标密钥衍生算法,作为终端的密钥。其中,第一目标密钥衍生算法用于终端和HSS之间的通信,第二目标密钥衍生算法用于终端和MME之间的通信。
终端更新Kasme的方法与HSS更新Kasme的方法相同,终端更新第一密钥的方法与MME更新第一密钥的方法相同,不再赘述。
步骤1011、终端向MME发送NAS SMP消息,移动管理实体接收来自终端的NAS SMP消息。
该NAS SMP消息用于通知MME,协商和更新密钥成功。
上述各步骤的详细执行方法,可参考前述实施例中相关部分的详细描述,这里不再赘述。
需要说明的是,上述各步骤之间没有严格的执行顺序,例如,步骤1002可以在步骤1003之前执行,步骤1004和步骤1005在步骤1003之前执行,或者步骤1003在步骤1004和步骤1005之间执行。
参考图11,为本申请实施例提供的密钥衍生算法的协商方法,用于终端与存储功能实体之间重新协商密钥衍生算法,以及终端与移动管理功能实体之间重新协商密钥衍生算法。图11所示的流程包括图8的部分流程,以及包括图9的部分流程。图11是以5G为例进行说明。图11中的AMF实体即为移动管理功能实体,ARPF实体即为存储功能实体。图11所示的流程包括以下步骤:
步骤1101、终端向AMF发送NAS SMP消息,AMF接收来自终端的NAS SMP消息。
NAS SMP消息中包括第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法。
步骤1102、AMF向AUSF发送第一密钥衍生算法,AUSF接收来自AMF的第一密钥衍生算法。
步骤1103、AUSF向ARPF发送第一密钥衍生算法,ARPF接收来自AUSF的第一密钥衍生算法。
步骤1104、AMF从第一密钥衍生算法中选择第二目标密钥衍生算法。
步骤1105、ARPF从第一密钥衍生算法中选择第一目标密钥衍生算法。
步骤1106、ARPF更新Kasme*。
ARPF根据本地存储的Kasme*及第一目标密钥衍生算法,生成新的Kasme*,并使用新的Kasme*,更新本地存储的Kasme*。
可选地,ARPF生成第一随机数,然后根据第一随机数、本地存储的Kasme*及第一目标密钥衍生算法,生成新的Kasme*,并使用新的Kasme*,更新本地存储的Kasme*。
步骤1107、ARPF向AUSF发送第一目标密钥衍生算法、新的Kasme*。
可选地,当ARPF根据生成的第一随机数更新Kasme*时,则ARPF还向AUSF发送第一随机数。
步骤1108、AUSF根据接收到的Kasme*,更新本地存储的Kasme*。
即,使用接收到的Kasme*,替换本地存储的Kasme*。
步骤1109、AUSF根据Kasme*,生成Kseaf。
例如,该kseaf是AUSF生成,并发送给SEAF的。Kseaf可以用于获得AMF所使用的密钥Kamf。
步骤1110、AUSF向SEAF发送第一目标密钥衍生算法及Kseaf。
可选地,当上述步骤1107中包括第一随机数时,AUSF还向SEAF发送第一随机数。
步骤1111、SEAF更新根据接收到的Kseaf,更新本地存储的Kseaf。
步骤1112、SEAF根据更新的Kseaf,生成Kamf。
步骤1113、SEAF向AMF发送第一目标密钥衍生算法及Kamf。
可选地,当上述步骤1110中包括第一随机数时,SEAF还向AMF发送第一随机数。
步骤1114、AMF根据接收到的Kamf,根据本地存储的Kamf。
步骤1115、AMF更新第一密钥。
具体地,AMF根据更新的Kamf、第二目标密钥衍生算法、加密算法,生成新的KNASenc。
根据更新的Kamf、第二目标密钥衍生算法、完整性保护算法,生成新的KNASint。
其中,第一密钥为终端与AMF之间通信的密钥,包括KNASenc和KNASint。
步骤1116、AMF向终端发送NAS SMC消息,终端接收来自AMF的NAS SMC消息。
该NAS SMC消息中包括第一目标密钥衍生算法、第二目标密钥衍生算法。
可选地,当上述步骤1113中包括第一随机数时,NAS SMC消息中还包括第一随机数。
步骤1117、终端更新本地存储的Kamf、Kseaf、Kasme*及第一密钥。
终端根据本地存储的Kasme*及第一目标密钥衍生算法,生成新的Kasme*,并使用新的Kasme*,更新本地存储的Kasme*。
可选地,当终端接收到第一随机数,则终端根据第一随机数、本地存储的Kasme*及第一目标密钥衍生算法,生成新的Kasme*,并使用新的Kasme*,更新本地存储的Kasme*。
终端根据更新的Kasme*,生成新的Kseaf,并根据新的Kseaf,更新本地存储的Kseaf。
终端根据新的Kseaf,生成新的Kamf,并根据新的Kamf,更新本地存储的Kamf。
终端根据更新的Kamf、第二目标密钥衍生算法、加密算法,生成新的KNASenc。
终端根据更新的Kamf、第二目标密钥衍生算法、完整性保护算法,生成新的KNASint。
其中,新的KNASenc和新的KNASint统称为更新的第一密钥。
步骤1118、终端向AMF发送NAS SMP消息,AMF接收来自终端的NAS SMP消息。
该NAS SMP消息用于通知AMF,协商和更新密钥成功。
上述各步骤的详细执行方法,可参考前述实施例中相关部分的详细描述,这里不再赘述。
需要说明的是,上述各步骤之间没有严格的执行顺序,例如,步骤1102、步骤1103可以在步骤1004之前执行,步骤1104和步骤1105ˉ步骤1113之间的执行没有顺序限制。
上述主要从各个网元之间交互的角度对本申请提供的方案进行了介绍。可以理解的是,上述实现各网元为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
基于相同的发明构思,如图12所示,为本申请提供的一种装置示意图,该装置可以是终端,可执行上述任一实施例中由终端执行的方法。
该终端1200包括至少一个处理器121,收发器122,可选地,还包括存储器123。所述处理器121、收发器122、存储器123通过通信总线连接。
处理器121可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线可包括一通路,在上述单元之间传送信息。
所述收发器122,用于与其他设备或通信网络通信,收发器包括射频电路。
存储器123可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electricallyerasable programmabler-only memory,EEPROM)、只读光盘(compact disc read-onlymemory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器123可以是独立存在,通过通信总线与处理器121相连接。存储器123也可以和处理器集成在一起。其中,所述存储器123用于存储执行本发明方案的应用程序代码,并由处理器121来控制执行。所述处理器121用于执行所述存储器123中存储的应用程序代码。
在具体实现中,作为一种实施例,处理器121可以包括一个或多个CPU,例如图12中的CPU0和CPU1。
在具体实现中,作为一种实施例,终端1200可以包括多个处理器,例如图12中的处理器121和处理器128。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器,这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
应理解,该终端可以用于实现本发明实施例的密钥衍生算法的协商方法中由终端执行的步骤,相关特征可以参照上文,此处不再赘述。
本申请可以根据上述方法示例对终端进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图13示出了一种装置示意图,该装置可以是上述实施例中所涉及的终端,该装置包括处理单元1301和通信单元1302。
一方面,所述通信单元1302,用于向存储功能实体发送第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法。通信单元1302,还用于接收来自存储功能实体的认证令牌,认证令牌包括第一消息鉴别码、第二密钥衍生算法以及第三密钥衍生算法,其中,第二密钥衍生算法为存储功能实体接收到的终端支持的至少一个密钥衍生算法,且第二密钥衍生算法包括第三密钥衍生算法,第一消息鉴别码是根据第二密钥衍生算法生成的。处理单元1301,用于根据第二密钥衍生算法生成第二消息鉴别码。若第一消息鉴别码与第二消息鉴别码相同,且第一密钥衍生算法与第二密钥衍生算法相同,则处理单元1301,还用于获取第三密钥衍生算法作为终端的密钥衍生算法。
可选地,第二密钥衍生算法携带于认证令牌的认证管理域。
另一方面,若第一密钥衍生算法与第二密钥衍生算法不同,通信单元1302,用于向移动管理功能实体发送第一消息,第一消息包含第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法,第二密钥衍生算法为移动管理功能实体或存储功能实体接收到的终端支持的至少一个密钥衍生算法。通信单元1302,还用于接收来自移动管理功能实体的第二消息,第二消息包括目标密钥衍生算法,其中,第一密钥衍生算法包括目标密钥衍生算法。处理单元1301,用于将终端的密钥衍生算法更新为目标密钥衍生算法,并根据目标密钥衍生算法更新终端的密钥。
可选地,目标密钥衍生算法包括来自存储功能实体的第一目标密钥衍生算法,处理单元1301,具体用于:根据第一目标密钥衍生算法,更新终端的接入安全管理实体密钥。
可选地,第二消息还包括来自存储功能实体的第一随机数。处理单元1301,具体用于:根据第一目标密钥衍生算法和第一随机数,更新接入安全管理实体密钥。
可选地,目标密钥衍生算法包括来自移动管理功能实体的第二目标密钥衍生算法,处理单元1301,具体用于:根据第二目标密钥衍生算法,更新用于终端和移动管理功能实体通信的第一密钥。
可选地,第二消息还包括来自移动管理功能实体的第二随机数,处理单元1301,具体用于:根据第二目标密钥衍生算法和第二随机数,更新第一密钥。
可选地,还包括:通信单元1301,还用于接收来自移动管理功能实体的非接入层NAS安全模式完成SMP消息,NAS SMP消息包括第二密钥衍生算法,第二密钥衍生算法为存储功能实体接收到的终端支持的密钥衍生算法,处理单元1301,还用于确定第一密钥衍生算法与第二密钥衍生算法不同。
可选地,第一消息为NAS SMP消息,第二消息为NAS安全模式命令SMC消息。
应理解,该终端可以用于实现本发明实施例的密钥衍生算法的协商方法中由终端执行的步骤,相关特征可以参照上文,此处不再赘述。
基于相同的发明构思,如图14所示,为本申请提供的一种装置示意图,该装置例如可以是移动管理功能实体或存储功能实体,可执行上述任一实施例中由移动管理功能实体或存储功能实体执行的方法。
该移动管理功能实体或存储功能实体1400包括至少一个处理器141,收发器142,可选地,还包括存储器143。处理器141、收发器142、存储器143通过通信总线连接。
处理器141可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线可包括一通路,在上述单元之间传送信息。
收发器142,用于与其他设备或通信网络通信,收发器包括射频电路。
存储器143可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electricallyerasable programmabler-only memory,EEPROM)、只读光盘(compact disc read-onlymemory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器93可以是独立存在,通过通信总线与处理器141相连接。存储器143也可以和处理器集成在一起。其中,存储器143用于存储执行本发明方案的应用程序代码,并由处理器141来控制执行。处理器141用于执行存储器143中存储的应用程序代码。
在具体实现中,作为一种实施例,处理器141可以包括一个或多个CPU,例如图14中的CPU0和CPU1。
在具体实现中,作为一种实施例,移动管理功能实体或存储功能实体1400可以包括多个处理器,例如图14中的处理器141和处理器148。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器,这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
应理解,该移动管理功能实体或存储功能实体可以用于实现本发明实施例的密钥衍生算法的协商方法中由移动管理功能实体或存储功能实体执行的步骤,相关特征可以参照上文,此处不再赘述。
本申请可以根据上述方法示例对移动管理功能实体或存储功能实体进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图15示出了一种装置示意图,该装置可以是上述实施例中所涉及的移动管理功能实体或存储功能实体,该装置包括处理单元1501和通信单元1502。
一方面,若装置为存储功能实体,则通信单元1502,用于接收第二密钥衍生算法,第二密钥衍生算法为存储功能实体接收到的终端支持的至少一个密钥衍生算法。处理单元1501,用于根据预设策略,从第二密钥衍生算法中选择第三密钥衍生算法,以及,根据所述第二密钥衍生算法生成第一消息鉴别码。通信单元1502,还用于向终端发送认证令牌,认证令牌包括第一消息鉴别码、第三密钥衍生算法以及第二密钥衍生算法。
可选地,第二密钥衍生算法携带于认证令牌的认证管理域。
另一方面,若装置为移动管理功能实体或存储功能实体,则:通信单元1502,用于接收来自终端的第一密钥衍生算法,第一密钥衍生算法为终端支持的至少一个密钥衍生算法。处理单元1501,用于根据预设策略,从第一密钥衍生算法中选择目标密钥衍生算法。处理单元1501,还用于根据目标密钥衍生算法,更新网络侧节点中存储的密钥。通信单元1502,还用于向终端发送目标密钥衍生算法。
可选地,处理单元1501,具体用于:生成随机数;根据随机数和目标密钥衍生算法,更新网络侧节点中存储的密钥。通信单元1501,还用于:向终端发送随机数。
可选地,若装置为移动管理功能实体,移动管理功能实体中存储的密钥为终端的接入安全管理实体密钥;或者,若装置为存储功能实体,存储功能实体中存储的密钥为用于终端和移动管理功能实体通信的第一密钥。
可选地,若装置为移动管理功能实体。通信单元1502,还用于:接收第二密钥衍生算法,第二密钥衍生算法为移动管理功能实体接收到的终端支持的至少一个密钥衍生算法;向终端发送非接入层NAS安全模式完成SMP消息,NAS SMP消息包括第二密钥衍生算法。
在本实施例中,该移动管理功能实体或存储功能实体以对应各个功能划分各个功能模块的形式来呈现,或者,该移动管理功能实体或存储功能实体以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
应理解,该移动管理功能实体或存储功能实体可以用于实现本发明实施例的密钥衍生算法的协商方法中由移动管理功能实体或存储功能实体执行的步骤,相关特征可以参照上文,此处不再赘述。
如图16所示,为本申请提供的又一种密钥衍生算法的协商方法,该方法包括以下步骤:
步骤1601,终端向网络侧网元发送第一密钥衍生算法的第一标识信息,网络侧网元接收到第三密钥衍生算法的第三标识信息。
网络侧网元可以是UDM、HSS、AUSF,SEAF、AMF、MME、gNB或eNB等。
第一密钥衍生算法可用于表示终端的密钥衍生算法能力,即第一密钥衍生算法为终端支持的至少一个密钥衍生算法。例如,终端支持的密钥衍生算法为KDF1、KDF2、KDF3,则第一密钥衍生算法可以为{KDF1、KDF2、KDF3}。
在具体实现中,终端发送的第一密钥衍生算法可以是终端支持的密钥衍生算法的第一标识信息,例如,当终端支持的密钥衍生算法为KDF1、KDF2、KDF3时,则终端发送的第一密钥衍生算法的第一标识信息为{KDF1的标识、KDF2的标识、KDF3的标识}。
本申请,网络侧网元接收到的终端发送的密钥衍生算法,称为第三密钥衍生算法。在具体实现中,网络侧网元接收到的是第三密钥衍生算法的标识信息,比如称为第三标识信息。
终端向网络侧网元发送第一密钥衍生算法的第一标识信息的具体方法,例如可以为:
当网络侧网元为AMF,即终端与AMF协商时,第一标识信息可以封装在注册请求消息(该注册请求消息用于终端初始注册、或改变跟踪区标识(tracking area identity,TAI)、或周期性TAI更新)中发送到AMF。
当网络侧网元为SEAF,即终端与SEAF协商时,第一标识信息可以是终端先发给AMF,然后由AMF发给SEAF。
当网络侧网元为AUSF,即终端与AUSF协商时,第一标识信息可以是终端先通过AMF发给SEAF,然后由SEAF通过认证启动请求(authentication initiation request)消息(该认证启动请求消息用于发起对终端的认证)发给AUSF。
当网络侧网元为UDM,即终端与UDM协商时,第一标识信息可以是终端先通过AMF、SEAF发给AUSF,然后由AUSF通过认证信息请求(authentication information request)消息(该认证信息请求消息用于请求认证向量)发给UDM。
当网络侧网元为gNB,即终端与gNB协商时,第一标识信息可以是终端先发给AMF,然后AMF通过初始上下文建立请求(initial context setup request)消息(该初始上下文建立请求消息用于建立初始终端上下文)发给gNB。
当网络侧网元为MME,即终端与MME协商时,第一标识信息可以封装在附着请求消息(该附着请求消息用于终端注册到网络)中发送到MME。
当网络侧网元为HSS,即终端与HSS协商时,第一标识信息可以是终端先发给MME,然后MME通过认证数据请求(authentication data request)消息(该认证数据请求消息用于请求认证向量)发给HSS。
当网络侧网元为eNB,即终端与eNB协商时,第一标识信息可以是终端先发给MME,然后MME通过初始上下文建立请求(initial context setup request)消息(该初始上下文建立请求消息用于建立初始终端上下文)发给eNB。
由于终端发送的携带第一标识信息的初始消息没有得到完整性保护,因此可能会受到攻击者的攻击,攻击者有可能将该初始消息中的第一标识信息篡改,此时网络侧网元接收到的第三密钥衍生算法的第三标识信息可能与第一密钥衍生算法的第一标识信息不同。
或者是,终端发送的第一标识信息没有被攻击者篡改,则网络侧网元接收到的第三密钥衍生算法的第三标识信息,与终端发送的第一密钥衍生算法的第一标识信息相同。
因此,网络侧网元接收到的第三密钥衍生算法的第三标识信息可能与终端发送的第一密钥衍生算法的第一标识信息相同,也有可能不同。
步骤1602,网络侧网元根据预设策略,从接收到的第三密钥衍生算法中选择第四密钥衍生算法。
第三密钥衍生算法为网络侧网元接收到的终端支持的至少一个密钥衍生算法。
当网络侧网元接收到第三密钥衍生算法的第三标识信息之后,可以根据第三标识信息确定第三密钥衍生算法。接着,网络侧网元根据预先设定的策略,从第三密钥衍生算法中选择一个第四密钥衍生算法,作为终端与网络侧网元之间协商的密钥衍生算法。
其中,预设策略可以是优先级策略,即选择优先级最高的密钥衍生算法;或者是,使用次数策略,即选择使用次数最多的密钥衍生算法;还可以是其它策略,本申请不做限制。
为方便说明,后续以优先级策略为例进行说明。
例如,第一密钥衍生算法为{KDF1、KDF2、KDF3},其中,KDF1的优先级低于KDF2的优先级,KDF2的优先级低于KDF3的优先级。若第一密钥衍生算法没有被攻击篡改,则网络侧网元接收到的第三密钥衍生算法与第一密钥衍生算法相同,也为{KDF1、KDF2、KDF3},则网络侧网元从第三密钥衍生算法中选择的第四密钥衍生算法为KDF3。
若第一密钥衍生算法被攻击篡改,(一般会修改为只包含优先级最低的密钥衍生算法,从而方便破解密钥),例如,网络侧网元接收到的第三密钥衍生算法为{KDF1},则网络侧网元从第三密钥衍生算法中选择的第四密钥衍生算法为KDF1。
步骤1603,网络侧网元向终端发送第四密钥衍生算法的第四标识信息,终端接收到第二密钥衍生算法的第二标识信息。
网络侧网元从第三密钥衍生算法中选择一个第四密钥衍生算法,然后将第四密钥衍生算法的第四标识信息携带于某个消息中发送至终端,且该消息没有得到完整性保护,因此可能会受到攻击者的攻击,攻击者有可能将该消息中的第四标识信息篡改,此时终端接收到的第二密钥衍生算法的第二标识信息可能与第四密钥衍生算法的第四标识信息不同。
或者是,网络侧网元发送的第四标识信息没有被攻击者篡改,则终端接收到的第二密钥衍生算法的第二标识信息,与网络侧网元发送的第四密钥衍生算法的第四标识信息相同。
因此,终端接收到的第二密钥衍生算法的第二标识信息可能与网络侧网元发送的第四密钥衍生算法的第四标识信息相同,也有可能不同。
终端在接收到第二密钥衍生算法的第二标识信息,则确定网络侧网元选择的密钥衍生算法为第二密钥衍生算法。或者理解为,终端确定与网络侧协商的密钥衍生算法为第二密钥衍生算法。
步骤1604,终端根据上层密钥、第一密钥衍生算法的第一标识信息和第二密钥衍生算法,生成下层密钥。
终端根据上层密钥、第一密钥衍生算法的第一标识信息及第二密钥衍生算法生成下层密钥,具体是指:终端将上层密钥、第一标识信息作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到下层密钥。
作为又一种实现方式,终端根据上层密钥、第一标识信息及第二密钥衍生算法生成下层密钥,可以是:终端根据上层密钥、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥,具体是指:终端将上层密钥、第一标识信息、第二标识信息作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到下层密钥。
下面结合具体示例进行说明。
比如,网络侧网元为移动性管理功能实体AMF,则上层密钥可以为接入管理密钥Kamf,下层密钥可以为非接入层加密密钥KNASenc,非接入层完整性保护密钥KNASint,基站密钥KgNB,非3GPP接入密钥Kn3iwf中的至少一个,即终端根据上层密钥Kamf、第一标识信息及第二密钥衍生算法生成下层密钥KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,或者是,终端根据上层密钥Kamf、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。
再比如,网络侧网元为安全锚点实体SEAF,则上层密钥可以为安全锚点密钥Kseaf,下层密钥为Kamf,即终端根据上层密钥Kseaf、第一标识信息及第二密钥衍生算法生成下层密钥Kamf,或者是,终端根据上层密钥Kseaf、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥Kamf。
再比如,网络侧网元为认证服务实体AUSF,则上层密钥可以为认证服务密钥Kausf,下层密钥可以为Kseaf,即终端根据上层密钥Kausf、第一标识信息及第二密钥衍生算法生成下层密钥Kseaf,或者是,终端根据上层密钥Kausf、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥Kseaf。
再比如,网络侧网元为统一数据管理实体UDM,则上层密钥可以为加密密钥CK、完整性IK,下层密钥可以为CK’,IK’,Kausf中的至少一个,即终端根据上层密钥CK、IK、第一标识信息及第二密钥衍生算法生成下层密钥CK’,IK’,Kausf中的至少一个,或者是,终端根据上层密钥CK、IK、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥CK’,IK’,Kausf中的至少一个。
再比如,网络侧网元为下一代基站gNB,则上层密钥可以为KgNB,下层密钥可以为无线连接控制加密密钥Krrc-enc,无线连接控制完整性保护密钥Krrc-int,用户面加密密钥Kup-enc,用户面完整性保护密钥Kup-int,下一跳NH中的至少一个,即终端根据上层密钥KgNB、第一标识信息及第二密钥衍生算法生成下层密钥Krrc-enc,Krrc-int,Kup-enc,Kup-int,NH中的至少一个,或者是,终端根据上层密钥KgNB、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥Krrc-enc,Krrc-int,Kup-enc,Kup-int,NH中的至少一个。
再比如,网络侧网元为移动性管理实体MME,则上层密钥可以为接入管理密钥Kamse,下层密钥可以为KNASenc,KNASint中的至少一个,即终端根据上层密钥Kamse、第一标识信息及第二密钥衍生算法生成下层密钥KNASenc,KNASint中的至少一个,或者是,终端根据上层密钥Kamse、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥KNASenc,KNASint中的至少一个。
再比如,网络侧网元为HSS,则上层密钥可以为CK、IK,下层密钥可以为Kasme,即终端根据上层密钥CK、IK、第一标识信息及第二密钥衍生算法生成下层密钥Kasme,或者是,终端根据上层密钥CK、IK、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥Kasme。
再比如,网络侧网元为eNB,则上层密钥可以为KeNB,下层密钥可以为Krrc-enc,Krrc-int,Kup-enc,Kup-int,NH中的至少一个,即终端根据上层密钥KeNB、第一标识信息及第二密钥衍生算法生成下层密钥Krrc-enc,Krrc-int,Kup-enc,Kup-int,NH中的至少一个,或者是,终端根据上层密钥KeNB、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥Krrc-enc,Krrc-int,Kup-enc,Kup-int,NH中的至少一个。
再比如,网络侧网元为UDM,上层密钥为CK、IK,下层密钥为Kseaf,即:终端根据CK、IK、第一标识信息及第二密钥衍生算法生成Kausf,然后根据Kausf及第二密钥衍生算法,生成Kseaf。或者,终端根据CK、IK及第二密钥衍生算法生成Kausf,然后根据Kausf、第一标识信息及第二密钥衍生算法,生成Kseaf。在该实现方式中,UE与UDM协商KDF算法的同时,获得了与AUSF使用的KDF算法。从而终端在与UDM的一次协商中得到两组密钥:Kausf和Kseaf,因此终端无需再与AUSF单独协商密钥衍生算法,可节约终端的开销。
再比如,网络侧网元为AUSF,上层密钥为CK、IK,下层密钥为Kseaf,即:终端根据CK、IK、第一标识信息及第二密钥衍生算法生成Kausf,然后根据Kausf及第二密钥衍生算法,生成Kseaf。或者,终端根据CK、IK及第二密钥衍生算法生成Kausf,然后根据Kausf、第一标识信息及第二密钥衍生算法,生成Kseaf。在该实现方式中,UE与AUSF协商KDF算法的同时,获得了与UDM使用的KDF算法。从而终端在与AUSF的一次协商中得到两组密钥:Kausf和Kseaf,因此终端无需再与UDM单独协商密钥衍生算法,可节约终端的开销。
再比如,网络侧网元为SEAF,上层密钥为Kseaf,下层密钥为KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,即:终端根据Kseaf、第一标识信息及第二密钥衍生算法生成Kamf,然后根据Kamf及第二密钥衍生算法,生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。或者,终端根据Kseaf及第二密钥衍生算法生成Kamf,然后根据Kamf、第一标识信息及第二密钥衍生算法,生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。在该实现方式中,UE与SEAF协商KDF算法的同时,获得了与AMF使用的KDF算法。从而终端在与SEAF的一次协商中得到两组密钥:第一组为Kamf,第二组为KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,因此终端无需再与AMF单独协商密钥衍生算法,可节约终端的开销。
再比如,网络侧网元为AMF,上层密钥为Kseaf,下层密钥为KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,即:终端根据Kseaf、第一标识信息及第二密钥衍生算法生成Kamf,然后根据Kamf及第二密钥衍生算法,生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。或者,终端根据Kseaf及第二密钥衍生算法生成Kamf,然后根据Kamf、第一标识信息及第二密钥衍生算法,生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。在该实现方式中,UE与AMF协商KDF算法的同时,获得了与SEAF使用的KDF算法。从而终端在与AMF的一次协商中得到两组密钥:第一组为Kamf,第二组为KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,因此终端无需再与SEAF单独协商密钥衍生算法,可节约终端的开销。
步骤1605,网络侧网元根据上层密钥、第三密钥衍生算法的第三标识信息和第四密钥衍生算法,生成下层密钥。
该步骤中网络侧网元生成下层密钥,该步骤1605可以是在步骤1604之前或之后执行,也可以是与步骤1604同时执行。
该步骤中,网络侧网元生成下层密钥的方式与终端生成下层密钥的方式相对应。具体地,若终端采用将上层密钥、第一标识信息作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到下层密钥,则相应地,网络侧网元将上层密钥、第三标识信息作为输入参数,将第四密钥衍生算法作为函数,将输入参数输入到函数中得到下层密钥。
若终端将上层密钥、第一标识信息、第二标识信息作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到下层密钥。则相应地,网络侧网元将上层密钥、第三标识信息、第四标识信息作为输入参数,将第四密钥衍生算法作为函数,将输入参数输入到函数中得到下层密钥。
例如,网络侧网元为AMF,上层密钥为Kamf,下层密钥为KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。在一种实现方式中,终端根据上层密钥Kamf、第一标识信息及第二密钥衍生算法生成下层密钥KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,则相应地,AMF根据上层密钥Kamf、第三标识信息及第四密钥衍生算法生成下层密钥KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。在又一种实现方式中,终端根据上层密钥Kamf、第一标识信息、第二标识信息及第二密钥衍生算法生成下层密钥KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,则相应地,AMF根据上层密钥Kamf、第三标识信息、第四标识信息及第四密钥衍生算法生成下层密钥KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。
对于网络侧网元为SEAF、AUSF、UDM、gNB、MME、HSS、eNB的情形,也是类似,不再赘述。
在又一种实现方式中,当网络侧网元为UDM时,终端可以跟UDM通过一次KDF协商,同时完成与AUSF的KDF协商,即终端可以跟UDM协商得到Kausf和Kseaf,则相应地,UDM以与终端相同的方式,根据上层密钥CK、IK得到下层密钥Kausf,且进一步地,UDM还向AUSF发送第四标识信息和Kausf,使得AUSF根据Kausf、第四标识信息以及第四密钥衍生算法生成Kseaf。
在又一种实现方式中,当网络侧网元为AUSF时,终端可以跟AUSF通过一次KDF协商,同时完成与UDM的KDF协商,即终端可以跟AUSF协商得到Kausf和Kseaf,则相应地,AUSF先向UDM发送第四标识信息,UDM以与终端相同的方式,根据上层密钥CK、IK得到下层密钥Kausf,且进一步地,UDM向AUSF发送Kausf,使得AUSF根据Kausf、第四标识信息以及第四密钥衍生算法生成Kseaf。
在又一种实现方式中,当网络侧网元为SEAF时,终端可以跟SEAF通过一次KDF协商,同时完成与AMF的KDF协商,即终端可以跟SEAF协商得到Kamf,以及得到KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,则相应地,SEAF以与终端相同的方式,根据上层密钥Kseaf得到下层密钥Kamf,且进一步地,SEAF还向AMF发送第四标识信息和Kamf,使得AMF根据Kamf、第四标识信息以及第四密钥衍生算法生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。
在又一种实现方式中,当网络侧网元为AMF时,终端可以跟AMF通过一次KDF协商,同时完成与SEAF的KDF协商,即终端可以跟AMF协商得到Kamf,以及得到KNASenc,KNASint,KgNB,Kn3iwf中的至少一个,则相应地,AMF先向SEAF发送第四标识信息,SEAF以与终端相同的方式,根据上层密钥Kseaf得到下层密钥Kamf,且进一步地,SEAF还向AMF发送Kamf,使得AMF根据Kamf、第四标识信息以及第四密钥衍生算法生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。
通过上述步骤1601-步骤1605的实现方式,存在以下几种情形:
情形一,第一密钥衍生算法与第三密钥衍生算法相同,且第二密钥算法与第四密钥衍生算法相同
该情形中,终端向网络侧网元发送的第一密钥衍生算法与网络侧网元接收到的第三密钥衍生算法相同,终端接收到的第二密钥衍生算法与网络侧网元发送的第四密钥衍生算法相同。即终端发送的第一密钥衍生算法未被篡改,且网络侧网元发送的第四密钥衍生算法也未被篡改。该情形下,终端与网络侧网元协商生成的下层密钥是相同的,因而可以实现正常通信。
情形二,第一密钥衍生算法与第三密钥衍生算法相同,但第二密钥算法与第四密钥衍生算法不同
该情形中,终端向网络侧网元发送的第一密钥衍生算法与网络侧网元接收到的第三密钥衍生算法相同,终端接收到的第二密钥衍生算法与网络侧网元发送的第四密钥衍生算法不同。即终端发送的第一密钥衍生算法未被篡改,但网络侧网元发送的第四密钥衍生算法被篡改了。该情形下,终端与网络侧网元协商生成的下层密钥不相同,从而终端后续不能与网络侧网元正常通信,即终端和网络侧网元可以发现协商失败,进而可以重新发起协商流程。即该情形下,当密钥衍生算法被篡改时,终端和网络侧网元将不会使用根据被篡改的密钥衍生算法生成的密钥来通信,从而可以保证通信的安全性。
情形三,第一密钥衍生算法与第三密钥衍生算法不同,但第二密钥算法与第四密钥衍生算法相同
该情形中,终端向网络侧网元发送的第一密钥衍生算法与网络侧网元接收到的第三密钥衍生算法不同,终端接收到的第二密钥衍生算法与网络侧网元发送的第四密钥衍生算法相同。即终端发送的第一密钥衍生算法被篡改,但网络侧网元发送的第四密钥衍生算法未被篡改。该情形下,终端与网络侧网元协商生成的下层密钥不相同,从而终端后续不能与网络侧网元正常通信,即终端和网络侧网元可以发现协商失败,进而可以重新发起协商流程。即该情形下,当密钥衍生算法被篡改时,终端和网络侧网元将不会使用根据被篡改的密钥衍生算法生成的密钥来通信,从而可以保证通信的安全性。
情形四,第一密钥衍生算法与第三密钥衍生算法不同,且第二密钥算法与第四密钥衍生算法不同
该情形中,终端向网络侧网元发送的第一密钥衍生算法与网络侧网元接收到的第三密钥衍生算法不同,终端接收到的第二密钥衍生算法与网络侧网元发送的第四密钥衍生算法不同。即终端发送的第一密钥衍生算法被篡改,且网络侧网元发送的第四密钥衍生算法被篡改。该情形下,终端与网络侧网元协商生成的下层密钥不相同,从而终端后续不能与网络侧网元正常通信,即终端和网络侧网元可以发现协商失败,进而可以重新发起协商流程。即该情形下,当密钥衍生算法被篡改时,终端和网络侧网元将不会使用根据被篡改的密钥衍生算法生成的密钥来通信,从而可以保证通信的安全性。
因此,本申请提供的上述方法,如果密钥衍生算法被篡改,终端和网络侧网元将会生成不同的下层密钥,从而导致通信失败。因此,当密钥衍生算法被篡改时,终端和网络侧网元将不会使用根据被篡改的密钥衍生算法生成的密钥来通信,从而可以保证通信的安全性。
下面结合具体实施例,对图16所示的密钥协商方法进行举例说明。
如图17(a)所示,为本申请提供的又一种密钥协商方法,包括以下步骤:
步骤1701,终端向AUSF发送第一密钥衍生算法的第一标识信息,AUSF接收到第三密钥衍生算法的第三标识信息。
第一密钥衍生算法可用于表示终端的密钥衍生算法能力,即第一密钥衍生算法为终端支持的至少一个密钥衍生算法。第三密钥衍生算法表示AUSF接收到的终端的密钥衍生算法能力。
作为一种实现方式,第一标识信息可以是终端通过AMF、SEAF发给AUSF的。
步骤1702,AUSF向UDM发送第三密钥衍生算法的第三标识信息,UDM接收到第三密钥衍生算法的第三标识信息。
例如,AUSF通过认证信息请求(authentication information request)消息将第三标识信息发给UDM。
需要说明的是,该步骤由于受到保护,因而AUSF向UDM发送的第三标识信息不会被篡改。
步骤1703,UDM根据预设策略,从接收到的第三密钥衍生算法中选择第四密钥衍生算法。
该步骤的实现方式,与图16所示的实施例的步骤1602中网络侧网元选择第四密钥算法的方法相同,可参考前述描述。
步骤1704,UDM根据CK,IK,第四密钥衍生算法生成Kausf,以及根据XRES,第四密钥衍生算法生成XRES*。
一方面,UDM将CK,IK作为输入参数,将第四密钥衍生算法作为函数,将输入参数输入到函数中得到密钥Kausf。可选的,输入参数还可以包含第四密钥衍生算法的第四标识信息。
另一方面,UDM还将XRES作为输入参数,将第四密钥衍生算法作为函数,将输入参数输入到函数中得到XRES*。可选的,输入参数还可以包含第四密钥衍生算法的第四标识信息。
步骤1705,UDM向AUSF发送第四密钥衍生算法的第四标识信息,Kausf和XRES*,相应地,AUSF接收第四密钥衍生算法的第四标识信息,Kausf和XRES*。
需要说明的是,该步骤由于受到保护,因而UDM向AUSF发送第四密钥衍生算法的第四标识信息,Kausf和XRES*不会被篡改。
步骤1706,AUSF根据Kausf,第三密钥衍生算法的第三标识信息和第四密钥衍生算法生成Kseaf。
AUSF将Kausf、第三标识信息作为输入参数,将第四密钥衍生算法作为函数,将输入参数输入到函数中得到生成Kseaf。可选的,输入参数还可以包含第四密钥衍生算法的第四标识信息。
步骤1707,AUSF向终端发送第四密钥衍生算法的第四标识信息,终端接收到第二密钥衍生算法的第二标识信息。
第四密钥衍生算法为UDM从第三密钥衍生算法中选择的一个算法,而第二密钥衍生算法为AUSF向终端发送第四密钥衍生算法时,终端所接收到的密钥衍生算法。
在第四密钥衍生算法的第四标识信息没有被攻击者篡改时,终端接收到的第二标识信息与AUSF发送的第四标识信息相同。在第四密钥衍生算法的第四标识信息被攻击者篡改时,终端接收到的第二标识信息可能与AUSF发送的第四标识信息不同。
步骤1708,终端根据CK,IK,第二密钥衍生算法生成Kausf,以及根据XRES,第二密钥衍生算法生成XRES*。
一方面,终端将CK,IK作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到密钥Kausf。可选的,输入参数还可以包含第二密钥衍生算法的第二标识信息。
另一方面,终端还将XRES作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到XRES*。可选的,输入参数还可以包含第二密钥衍生算法的第二标识信息。
可以看出,终端生成Kausf与UDM生成Kausf的不同之处在于:UDM侧的函数为第四密钥衍生算法,终端侧的输入参数为第二密钥衍生算法。因而,如果第二密钥衍生算法与第四密钥衍生算法相同,则终端与UDM分别生成的Kausf是相同的。
同样地,终端生成XRES*与UDM生成XRES*的不同之处在于:UDM侧的函数为第四密钥衍生算法,终端侧的输入参数为第二密钥衍生算法。因而,如果第二密钥衍生算法与第四密钥衍生算法相同,则终端与UDM分别生成的XRES*是相同的。
步骤1709,终端根据Kausf,第一密钥衍生算法的第一标识信息和第二密钥衍生算法生成Kseaf。
终端将Kausf、第一标识信息作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到生成Kseaf。可选的,输入参数还可以包含第二密钥衍生算法的第二标识信息。
可以看出,终端生成Kseaf与AUSF生成Kseaf的不同之处在于:AUSF侧的函数为第四密钥衍生算法且输入参数包括第三标识信息,终端侧的函数为第二密钥衍生算法且输入参数包括第一标识信息。因而,如果第二密钥衍生算法与第四密钥衍生算法相同,且第一密钥衍生算法与第三密钥衍生算法相同,则终端与AUSF分别生成的Kseaf是相同的。
从以上终端与UDM协商密钥的过程可以看出:第一,只有当第一密钥衍生算法与第三密钥衍生算法相同,且第二密钥衍生算法与第四密钥衍生算法相同时,终端与AUSF协商的Kseaf才是相同的,如果不同则不能完成正常通信,从而在完成密钥协商的同时保证了密钥的安全性;第二,从终端角度来看,终端可以跟UDM通过一次KDF协商,同时完成与AUSF的KDF协商,即终端可以跟UDM协商得到Kausf和Kseaf。
从以上终端与AUSF协商密钥的过程可以看出:第一,只有当第一密钥衍生算法与第三密钥衍生算法相同,且第二密钥衍生算法与第四密钥衍生算法相同时,终端与AUSF协商的Kseaf才是相同的,如果不同则不能完成正常通信,从而在完成密钥协商的同时保证了密钥的安全性;第二,从终端角度来看,终端可以跟AUSF通过一次KDF协商,同时完成与UDM的KDF协商,即终端可以跟AUSF协商得到Kausf和Kseaf。
如图17(b)所示,为本申请提供的又一种密钥协商方法,包括以下步骤:
步骤1711,终端向AUSF发送第一密钥衍生算法的第一标识信息,AUSF接收到第三密钥衍生算法的第三标识信息。
第一密钥衍生算法可用于表示终端的密钥衍生算法能力,即第一密钥衍生算法为终端支持的至少一个密钥衍生算法。第三密钥衍生算法表示AUSF接收到的终端的密钥衍生算法能力。
作为一种实现方式,第一标识信息可以是终端通过AMF、SEAF发给AUSF的。
步骤1712,AUSF向UDM发送第三密钥衍生算法的第三标识信息,UDM接收到第三密钥衍生算法的第三标识信息。
例如,AUSF通过认证信息请求(authentication information request)消息将第三标识信息发给UDM。
需要说明的是,该步骤由于受到保护,因而AUSF向UDM发送的第三标识信息不会被篡改。
步骤1713,UDM根据预设策略,从接收到的第三密钥衍生算法中选择第四密钥衍生算法。
该步骤的实现方式,与图16所示的实施例的步骤1602中网络侧网元选择第四密钥算法的方法相同,可参考前述描述。
步骤1714,UDM根据CK,IK,第四密钥衍生算法生成CK’,IK’。
UDM将CK,IK作为输入参数,将第四密钥衍生算法作为函数,将输入参数输入到函数中得到CK’,IK’。可选的,输入参数还可以包含第四密钥衍生算法的第四标识信息。
步骤1715,UDM向AUSF发送第四密钥衍生算法的第四标识信息,CK’,IK’,相应地,AUSF接收第四密钥衍生算法的第四标识信息,CK’,IK’。
需要说明的是,该步骤由于受到保护,因而UDM向AUSF发送第四密钥衍生算法的第四标识信息,CK’,IK’不会被篡改。
步骤1716,AUSF根据CK’,IK’和第四密钥衍生算法生成Kausf。
AUSF将CK’,IK’作为输入参数,将第四密钥衍生算法作为函数,将输入参数输入到函数中得到生成Kausf。可选的,输入参数还可以包含第四密钥衍生算法的第四标识信息。
步骤1717,AUSF根据Kausf,第三密钥衍生算法的第三标识信息和第四密钥衍生算法生成Kseaf。
AUSF将Kausf、第三标识信息作为输入参数,将第四密钥衍生算法作为函数,将输入参数输入到函数中得到生成Kseaf。可选的,输入参数还可以包含第四密钥衍生算法的第四标识信息。
步骤1718,AUSF向终端发送第四密钥衍生算法的第四标识信息,终端接收到第二密钥衍生算法的第二标识信息。
第四密钥衍生算法为UDM从第三密钥衍生算法中选择的一个算法,而第二密钥衍生算法为AUSF向终端发送第四密钥衍生算法时,终端所接收到的密钥衍生算法。
在第四密钥衍生算法的第四标识信息没有被攻击者篡改时,终端接收到的第二标识信息与AUSF发送的第四标识信息相同。在第四密钥衍生算法的第四标识信息被攻击者篡改时,终端接收到的第二标识信息可能与AUSF发送的第四标识信息不同。
步骤1719,终端根据CK,IK,第二密钥衍生算法生成CK’,IK’。
终端将CK’,IK’作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到生成CK’,IK’。可选的,若步骤1714中的输入参数包括第四密钥衍生算法的第四标识信息,则该步骤1719中的输入参数还包括第二密钥衍生算法的第二标识信息。
步骤1720,终端根据CK’,IK’和第二密钥衍生算法生成Kausf。
终端将CK’,IK’作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到密钥Kausf。可选的,若步骤1716中的输入参数包括第四密钥衍生算法的第四标识信息,则该步骤1720中的输入参数还包括第二密钥衍生算法的第二标识信息。
可以看出,终端生成Kausf与AUSF生成Kausf的不同之处在于:AUSF侧的函数为第四密钥衍生算法,终端侧的函数为第二密钥衍生算法。因而,如果第二密钥衍生算法与第四密钥衍生算法相同,则终端与AUSF分别生成的Kausf是相同的。
步骤1721,终端根据Kausf,第一密钥衍生算法的第一标识信息和第二密钥衍生算法生成Kseaf。
终端将Kausf、第一标识信息作为输入参数,将第二密钥衍生算法作为函数,将输入参数输入到函数中得到生成Kseaf。可选的,若步骤1717中的输入参数包括第四密钥衍生算法的第四标识信息,则该步骤1721中的输入参数还包括第二密钥衍生算法的第二标识信息。
可以看出,终端生成Kseaf与AUSF生成Kseaf的不同之处在于:AUSF侧的函数为第四密钥衍生算法且输入参数包括第三标识信息,终端侧的函数为第二密钥衍生算法且输入参数包括第一标识信息。因而,如果第二密钥衍生算法与第四密钥衍生算法相同,且第一密钥衍生算法与第三密钥衍生算法相同,则终端与AUSF分别生成的Kseaf是相同的。
从以上终端与UDM协商密钥的过程可以看出:第一,只有当第一密钥衍生算法与第三密钥衍生算法相同,且第二密钥衍生算法与第四密钥衍生算法相同时,终端与AUSF协商的Kseaf才是相同的,如果不同则不能完成正常通信,从而在完成密钥协商的同时保证了密钥的安全性;第二,从终端角度来看,终端可以跟UDM通过一次KDF协商,同时完成与AUSF的KDF协商,即终端可以跟UDM协商得到Kausf和Kseaf。
从以上终端与AUSF协商密钥的过程可以看出:第一,只有当第一密钥衍生算法与第三密钥衍生算法相同,且第二密钥衍生算法与第四密钥衍生算法相同时,终端与AUSF协商的Kseaf才是相同的,如果不同则不能完成正常通信,从而在完成密钥协商的同时保证了密钥的安全性;第二,从终端角度来看,终端可以跟AUSF通过一次KDF协商,同时完成与UDM的KDF协商,即终端可以跟AUSF协商得到Kausf和Kseaf。
基于相同的发明构思,如图18所示,为本申请提供的一种装置示意图,该装置可以是终端,可执行图16所示的实施例中由终端执行的方法,或者可以是网络侧网元,可执行图16所示的实施例中由网络侧网元执行的方法。
该装置1800包括至少一个处理器181,收发器182,可选地,还包括存储器183。所述处理器181、收发器182、存储器183通过通信总线连接。
处理器181可以是一个通用中央处理器(CPU),微处理器,ASIC,或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线可包括一通路,在上述单元之间传送信息。
所述收发器182,用于与其他设备或通信网络通信,收发器包括射频电路。
存储器183可以是ROM或可存储静态信息和指令的其他类型的静态存储设备RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器183可以是独立存在,通过通信总线与处理器181相连接。存储器183也可以和处理器集成在一起。其中,所述存储器183用于存储执行本发明方案的应用程序代码,并由处理器181来控制执行。所述处理器181用于执行所述存储器183中存储的应用程序代码。
在具体实现中,作为一种实施例,处理器181可以包括一个或多个CPU,例如图18中的CPU0和CPU1。
在具体实现中,作为一种实施例,装置1800可以包括多个处理器,例如图18中的处理器181和处理器188。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器,这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
应理解,当该装置为终端时,该终端可以用于实现图16所示的实施例的密钥衍生算法的协商方法中由终端执行的步骤,相关特征可以参照上文,此处不再赘述。当该装置为网络侧网元时,该网络侧网元可以用于实现图16所示的实施例的密钥衍生算法的协商方法中由网络侧网元执行的步骤,相关特征可以参照上文,此处不再赘述。
本申请可以根据上述方法示例对上述装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图19示出了一种装置示意图,该装置包括处理单元1901和通信单元1902。
在一个实施例中,该装置可以是图16所示的实施例中所涉及的终端。当该装置为终端时,则该装置的处理单元1901和通信单元1902可用于执行以下操作:
通信单元1902,用于向网络侧网元发送第一密钥衍生算法的第一标识信息,第一密钥衍生算法为终端支持的至少一个密钥衍生算法;
通信单元1902,还用于接收第二密钥衍生算法的第二标识信息;
处理单元1901,用于根据上层密钥、第一标识信息及第二密钥衍生算法,生成下层密钥。
可选地,处理单元1901,具体用于根据上层密钥、第一标识信息、第二标识信息及第二密钥衍生算法,生成下层密钥。
可选地,上层密钥为加密密钥CK、完整性密钥IK,下层密钥为安全锚点密钥Kseaf;处理单元1901,具体用于:根据CK、IK、第一标识信息及第二密钥衍生算法,生成认证服务密钥Kausf;以及,根据Kausf及第二密钥衍生算法,生成Kseaf;或者,根据CK、IK及第二密钥衍生算法,生成Kausf;以及,根据Kausf、第一标识信息及第二密钥衍生算法,生成Kseaf。
可选地,上层密钥为Kseaf,下层密钥为非接入层加密密钥KNASenc,非接入层完整性保护密钥KNASint,基站密钥KgNB,非3GPP接入密钥Kn3iwf中的至少一个;处理单元1901,具体用于:根据Kseaf、第一标识信息及第二密钥衍生算法,生成接入管理密钥Kamf;以及,根据Kamf及第二密钥衍生算法,生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个;或者,根据Kseaf及第二密钥衍生算法,生成Kamf;以及,根据Kamf、第一标识信息第二密钥衍生算法,生成KNASenc,KNASint,KgNB,Kn3iwf中的至少一个。
应理解,该终端可以用于实现图16所示的实施例的密钥衍生算法的协商方法中由终端执行的步骤,相关特征可以参照上文,此处不再赘述。
在另一个实施例中,该装置可以是图16所示的实施例中所涉及的网络侧网元。当该装置为网络侧网元时,则该装置的处理单元1901和通信单元1902可用于执行以下操作:
通信单元1902,用于接收第三密钥衍生算法的第三标识信息,第三密钥衍生算法为网络侧网元接收到的终端支持的至少一个密钥衍生算法;
处理单元1901,用于根据预设策略,从第三密钥衍生算法中选择第四密钥衍生算法;以及,根据第三标识信息、第四密钥衍生算法和上层密钥,生成下层密钥;
通信单元1902,还用于向终端发送第四密钥衍生算法的第四标识信息。
可选地,处理单元1901,具体用于根据上层密钥、第三标识信息、第四标识信息及第四密钥衍生算法,生成下层密钥。
可选地,装置1900为统一数据管理实体,上层密钥为CK、IK,下层密钥为Kausf;通信单元1902,还用于向认证服务实体发送第四标识信息和Kausf。
可选地,装置1900为安全锚点实体,上层密钥为Kseaf,下层密钥为Kamf;通信单元1902,还用于向移动性管理功能实体发送第四标识信息和Kamf。
应理解,该网络侧网元可以用于实现本发明图16所示的实施例的密钥衍生算法的协商方法中由网络侧网元执行的步骤,相关特征可以参照上文,此处不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、计算机可读存储介质或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式,这里将它们都统称为“模块”或“系统”。
本申请是参照本申请的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (22)

1.一种密钥衍生算法的协商方法,其特征在于,包括:
终端向存储功能实体发送第一密钥衍生算法,所述第一密钥衍生算法为所述终端支持的至少一个密钥衍生算法;
所述终端接收来自所述存储功能实体的认证令牌,所述认证令牌包括第一消息鉴别码、第二密钥衍生算法以及第三密钥衍生算法,其中,所述第二密钥衍生算法为所述存储功能实体接收到的所述终端支持的至少一个密钥衍生算法,且所述第二密钥衍生算法包括所述第三密钥衍生算法,所述第一消息鉴别码是根据所述第二密钥衍生算法生成的;
所述终端根据所述第二密钥衍生算法生成第二消息鉴别码;
若所述第一消息鉴别码与所述第二消息鉴别码相同,且所述第一密钥衍生算法与所述第二密钥衍生算法相同,则所述终端获取所述第三密钥衍生算法作为所述终端的密钥衍生算法。
2.根据权利要求1所述的方法,其特征在于,所述第二密钥衍生算法携带于所述认证令牌的认证管理域。
3.一种密钥衍生算法的协商方法,其特征在于,包括:
存储功能实体接收第二密钥衍生算法,所述第二密钥衍生算法为所述存储功能实体接收到的终端支持的至少一个密钥衍生算法;
所述存储功能实体根据预设策略,从所述第二密钥衍生算法中选择第三密钥衍生算法,以及,根据所述第二密钥衍生算法生成第一消息鉴别码;
所述存储功能实体向所述终端发送认证令牌,所述认证令牌包括所述第一消息鉴别码、所述第三密钥衍生算法以及所述第二密钥衍生算法。
4.根据权利要求3所述的方法,其特征在于,所述第二密钥衍生算法携带于所述认证令牌的认证管理域。
5.一种密钥衍生算法的协商方法,其特征在于,包括:
若终端确定第一密钥衍生算法与第二密钥衍生算法不同,所述终端向移动管理功能实体发送第一消息,所述第一消息包含所述第一密钥衍生算法,所述第一密钥衍生算法为所述终端支持的至少一个密钥衍生算法,所述第二密钥衍生算法为所述移动管理功能实体接收到的或存储功能实体从所述移动管理功能实体接收到的所述终端支持的至少一个密钥衍生算法;
所述终端接收来自所述移动管理功能实体的第二消息,所述第二消息包括目标密钥衍生算法,其中,所述第一密钥衍生算法包括所述目标密钥衍生算法;
所述终端将所述终端的密钥衍生算法更新为所述目标密钥衍生算法,并根据所述目标密钥衍生算法更新所述终端的密钥。
6.根据权利要求5所述的方法,其特征在于,所述目标密钥衍生算法包括来自存储功能实体的第一目标密钥衍生算法;
所述终端根据所述目标密钥衍生算法,更新所述终端的密钥,包括:
所述终端根据所述第一目标密钥衍生算法,更新所述终端的接入安全管理实体密钥。
7.根据权利要求6所述的方法,其特征在于,所述第二消息还包括来自所述存储功能实体的第一随机数;
所述终端根据所述第一目标密钥衍生算法,更新所述终端的接入安全管理实体密钥,包括:
所述终端根据所述第一目标密钥衍生算法和所述第一随机数,更新所述接入安全管理实体密钥。
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述目标密钥衍生算法包括来自所述移动管理功能实体的第二目标密钥衍生算法;
所述终端根据所述目标密钥衍生算法,更新所述终端的密钥,包括:
所述终端根据所述第二目标密钥衍生算法,更新用于所述终端和所述移动管理功能实体通信的第一密钥。
9.根据权利要求8所述的方法,其特征在于,所述第二消息还包括来自所述移动管理功能实体的第二随机数;
所述终端根据所述第二目标密钥衍生算法,更新用于所述终端和所述移动管理功能实体通信的第一密钥,包括:
所述终端根据所述第二目标密钥衍生算法和所述第二随机数,更新所述第一密钥。
10.根据权利要求5至7、9中任一项所述的方法,其特征在于,还包括:
所述终端接收来自所述移动管理功能实体的非接入层NAS安全模式完成SMP消息,所述NAS SMP消息包括所述第二密钥衍生算法;
所述终端确定所述第一密钥衍生算法与所述第二密钥衍生算法不同。
11.根据权利要求5至7、9中任一项所述的方法,其特征在于,
所述第一消息为NAS SMP消息,所述第二消息为NAS安全模式命令SMC消息。
12.一种通信装置,其特征在于,包括:处理单元和通信单元;
所述通信单元,用于向存储功能实体发送第一密钥衍生算法,所述第一密钥衍生算法为终端支持的至少一个密钥衍生算法;
所述通信单元,还用于接收来自所述存储功能实体的认证令牌,所述认证令牌包括第一消息鉴别码、第二密钥衍生算法以及第三密钥衍生算法,其中,所述第二密钥衍生算法为所述存储功能实体接收到的所述终端支持的至少一个密钥衍生算法,且所述第二密钥衍生算法包括所述第三密钥衍生算法,所述第一消息鉴别码是根据所述第二密钥衍生算法生成的;
所述处理单元,用于根据所述第二密钥衍生算法生成第二消息鉴别码;
若所述第一消息鉴别码与所述第二消息鉴别码相同,且所述第一密钥衍生算法与所述第二密钥衍生算法相同,则所述处理单元,还用于获取所述第三密钥衍生算法作为所述终端的密钥衍生算法。
13.根据权利要求12所述的装置,其特征在于,所述第二密钥衍生算法携带于所述认证令牌的认证管理域。
14.一种通信装置,其特征在于,包括:处理单元和通信单元;
所述通信单元,用于接收第二密钥衍生算法,所述第二密钥衍生算法为存储功能实体接收到的终端支持的至少一个密钥衍生算法;
所述处理单元,用于根据预设策略,从所述第二密钥衍生算法中选择第三密钥衍生算法,以及,根据所述第二密钥衍生算法生成第一消息鉴别码;
所述通信单元,还用于向所述终端发送认证令牌,所述认证令牌包括所述第一消息鉴别码、所述第三密钥衍生算法以及所述第二密钥衍生算法。
15.根据权利要求14所述的装置,其特征在于,所述第二密钥衍生算法携带于所述认证令牌的认证管理域。
16.一种通信装置,其特征在于,包括:处理单元和通信单元;
若第一密钥衍生算法与第二密钥衍生算法不同,所述通信单元,用于向移动管理功能实体发送第一消息,所述第一消息包含所述第一密钥衍生算法,所述第一密钥衍生算法为终端支持的至少一个密钥衍生算法,所述第二密钥衍生算法为所述移动管理功能实体或存储功能实体接收到的所述终端支持的至少一个密钥衍生算法;
所述通信单元,还用于接收来自所述移动管理功能实体的第二消息,所述第二消息包括目标密钥衍生算法,其中,所述第一密钥衍生算法包括所述目标密钥衍生算法;
所述处理单元,用于将所述终端的密钥衍生算法更新为所述目标密钥衍生算法,并根据所述目标密钥衍生算法更新所述终端的密钥。
17.根据权利要求16所述的装置,其特征在于,所述目标密钥衍生算法包括来自存储功能实体的第一目标密钥衍生算法;
所述处理单元,具体用于:
根据所述第一目标密钥衍生算法,更新所述终端的接入安全管理实体密钥。
18.根据权利要求17所述的装置,其特征在于,所述第二消息还包括来自所述存储功能实体的第一随机数;
所述处理单元,具体用于:
根据所述第一目标密钥衍生算法和所述第一随机数,更新所述接入安全管理实体密钥。
19.根据权利要求16至18中任一项所述的装置,其特征在于,所述目标密钥衍生算法包括来自所述移动管理功能实体的第二目标密钥衍生算法;
所述处理单元,具体用于:
根据所述第二目标密钥衍生算法,更新用于所述终端和所述移动管理功能实体通信的第一密钥。
20.根据权利要求19所述的装置,其特征在于,所述第二消息还包括来自所述移动管理功能实体的第二随机数;
所述处理单元,具体用于:
根据所述第二目标密钥衍生算法和所述第二随机数,更新所述第一密钥。
21.根据权利要求16至18、20中任一项所述的装置,其特征在于,还包括:
所述通信单元,还用于接收来自所述移动管理功能实体的非接入层NAS安全模式完成SMP消息,所述NAS SMP消息包括第二密钥衍生算法,所述第二密钥衍生算法为所述存储功能实体接收到的所述终端支持的密钥衍生算法;
所述处理单元,还用于确定所述第一密钥衍生算法与所述第二密钥衍生算法不同。
22.根据权利要求16至18、20中任一项所述的装置,其特征在于,
所述第一消息为NAS SMP消息,所述第二消息为NAS安全模式命令SMC消息。
CN201810265796.1A 2017-09-27 2018-03-28 一种密钥衍生算法的协商方法及装置 Active CN109560919B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18860899.6A EP3675544A4 (en) 2017-09-27 2018-08-16 PROCESS AND APPARATUS FOR NEGOTIATING A KEY DEVELOPMENT ALGORITHM
PCT/CN2018/100848 WO2019062374A1 (zh) 2017-09-27 2018-08-16 一种密钥衍生算法的协商方法及装置
US16/821,103 US11627458B2 (en) 2017-09-27 2020-03-17 Key derivation algorithm negotiation method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710890306 2017-09-27
CN2017108903062 2017-09-27

Publications (2)

Publication Number Publication Date
CN109560919A CN109560919A (zh) 2019-04-02
CN109560919B true CN109560919B (zh) 2021-02-09

Family

ID=65864536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810265796.1A Active CN109560919B (zh) 2017-09-27 2018-03-28 一种密钥衍生算法的协商方法及装置

Country Status (4)

Country Link
US (1) US11627458B2 (zh)
EP (1) EP3675544A4 (zh)
CN (1) CN109560919B (zh)
WO (1) WO2019062374A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3077175A1 (fr) * 2018-01-19 2019-07-26 Orange Technique de determination d'une cle destinee a securiser une communication entre un equipement utilisateur et un serveur applicatif
CN111866884B (zh) * 2019-04-26 2022-05-24 华为技术有限公司 一种安全保护方法及装置
CN111866871B (zh) * 2019-04-29 2021-11-26 华为技术有限公司 通信方法和装置
CN112073177B (zh) * 2019-06-11 2022-02-08 大唐移动通信设备有限公司 密钥更新方法及装置
CN112825498B (zh) * 2019-11-01 2022-08-12 中国移动通信有限公司研究院 一种认证向量的生成方法、获取方法及设备
CN112585549B (zh) * 2020-02-29 2022-05-31 华为技术有限公司 一种故障诊断方法、装置及车辆
CN113810903B (zh) * 2020-05-29 2023-07-11 华为技术有限公司 一种通信方法及装置
MX2022015024A (es) * 2020-05-29 2023-03-10 Huawei Tech Co Ltd Método y aparato de comunicaciones.
CN111726362A (zh) * 2020-06-23 2020-09-29 广东博智林机器人有限公司 信息的传输方法、信息的传输系统、第一设备和第二设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103313239A (zh) * 2012-03-06 2013-09-18 中兴通讯股份有限公司 一种用户设备接入融合核心网的方法及系统
CN106936570A (zh) * 2015-12-31 2017-07-07 华为技术有限公司 一种密钥配置方法及密钥管理中心、网元

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085348A1 (en) * 2004-07-16 2006-04-20 Ns8 Corporation Method and system for managing the use of electronic works
AP2013006967A0 (en) * 2011-01-13 2013-07-31 Infosys Ltd System and method for accessing integrated applications in a single sign-on enabled enterprise solution
WO2015062097A1 (zh) * 2013-11-01 2015-05-07 华为技术有限公司 一种双连接模式下的密钥处理方法和设备
CN104935426B (zh) * 2014-03-21 2018-11-30 华为技术有限公司 密钥协商方法、用户设备和近距离通信控制网元
CN105306406A (zh) * 2014-05-26 2016-02-03 中国移动通信集团公司 认证和密钥协商算法的协商方法、网络侧设备和用户设备
US9608945B2 (en) * 2014-05-30 2017-03-28 Apple Inc. Sending messages to multiple receiving electronic devices using a message server
US9918225B2 (en) * 2014-11-03 2018-03-13 Qualcomm Incorporated Apparatuses and methods for wireless communication
US10277578B2 (en) * 2015-01-05 2019-04-30 Citrix Systems, Inc. Securing network activity managed by operating systems
CN104661217A (zh) * 2015-02-09 2015-05-27 哈尔滨工业大学深圳研究生院 基于td-lte网络的鉴权和密钥衍生方法及系统
CN105139204B (zh) * 2015-07-27 2019-07-12 飞天诚信科技股份有限公司 一种进行安全认证的方法和系统
CN106899562A (zh) * 2016-04-21 2017-06-27 中国移动通信有限公司研究院 物联网的安全算法协商方法、网元及物联网终端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103313239A (zh) * 2012-03-06 2013-09-18 中兴通讯股份有限公司 一种用户设备接入融合核心网的方法及系统
CN106936570A (zh) * 2015-12-31 2017-07-07 华为技术有限公司 一种密钥配置方法及密钥管理中心、网元

Also Published As

Publication number Publication date
US11627458B2 (en) 2023-04-11
US20200221297A1 (en) 2020-07-09
EP3675544A1 (en) 2020-07-01
CN109560919A (zh) 2019-04-02
WO2019062374A1 (zh) 2019-04-04
EP3675544A4 (en) 2021-03-03

Similar Documents

Publication Publication Date Title
CN109560919B (zh) 一种密钥衍生算法的协商方法及装置
CN109891920B (zh) 支持无线网络中的覆盖和资源受限设备的层2中继
KR102304147B1 (ko) 통합된 스몰 셀 및 wi-fi 네트워크를 위한 통합 인증
US10911948B2 (en) Method and system for performing network access authentication based on non-3GPP network, and related device
TWI717383B (zh) 用於網路切分的金鑰層級
JP6924848B2 (ja) 鍵生成方法、ユーザ機器、装置、コンピュータ可読記憶媒体、および通信システム
US20210306849A1 (en) Method and apparatus for security realization of connections over heterogeneous access networks
CN109964453B (zh) 统一安全性架构
CN109788474A (zh) 一种消息保护的方法及装置
US20170359719A1 (en) Key generation method, device, and system
CN103428690B (zh) 无线局域网络的安全建立方法及系统、设备
CN110121196B (zh) 一种安全标识管理方法及装置
CN109803262B (zh) 一种网络参数的传输方法及装置
CN111464572B (zh) 一种会话配置方法及装置
US11490252B2 (en) Protecting WLCP message exchange between TWAG and UE
WO2018079692A1 (ja) 通信システム、基地局、制御方法、及びコンピュータ可読媒体
US20200169885A1 (en) Method and system for supporting security and information for proximity based service in mobile communication system environment
WO2017000620A1 (zh) 重认证识别方法、演进分组数据网关及系统
CN110830996B (zh) 一种密钥更新方法、网络设备及终端
RU2781250C2 (ru) Способ формирования ключа, пользовательское оборудование, устройство, считываемый компьютером носитель данных и система связи

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
GR01 Patent grant
GR01 Patent grant