CN111464287A - 生成密钥的方法和装置 - Google Patents

生成密钥的方法和装置 Download PDF

Info

Publication number
CN111464287A
CN111464287A CN201910055483.8A CN201910055483A CN111464287A CN 111464287 A CN111464287 A CN 111464287A CN 201910055483 A CN201910055483 A CN 201910055483A CN 111464287 A CN111464287 A CN 111464287A
Authority
CN
China
Prior art keywords
key
network element
function network
communication
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910055483.8A
Other languages
English (en)
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 CN201910055483.8A priority Critical patent/CN111464287A/zh
Priority to PCT/CN2020/072622 priority patent/WO2020151581A1/zh
Publication of CN111464287A publication Critical patent/CN111464287A/zh
Pending legal-status Critical Current

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/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/08Key distribution or management, e.g. generation, sharing or updating, 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/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
    • H04L9/0841Key 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 involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key 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 involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/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
    • 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
    • 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

Landscapes

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

Abstract

本申请提供了生成密钥的方法和装置,在该方法中,通过引入用于生成通信密钥的密钥更新参数,在需要生成或者更新通信密钥的情况下,终端设备和锚功能网元可以基于密钥更新参数生成通信密钥,这样,可以不需要频繁从UDM或HSS重新获取AV,不仅保证了通信的安全性,减轻了UDM或HSS的负担,也减少了由于重新获取AV而产生的信令开销,都有效地提高了业务的传输性能。

Description

生成密钥的方法和装置
技术领域
本申请涉及通信领域,更具体地,涉及通信领域中生成密钥的方法和装置。
背景技术
作为移动通信的一种通用引导架构(generic bootstrapping architecture,GBA),GBA技术可被用来建立终端设备与应用功能网元(例如,网络应用服务器(networkapplication function,NAF))之间的安全隧道。其中,GBA技术包括GBA认证与密钥协商(authentication and key agreement,AKA)认证。
在已定义的AKA认证中,由终端设备与锚功能网元(例如,引导服务功能(bootstrapping server function,BSF))基于从例如归属用户服务器(home subscriberserver,HSS)网元处获得认证向量(authentication vector,AV)完成AKA认证。在完成AKA认证之后,终端设备和锚功能网元都会推导出一个终端设备和锚功能网元之间共享的共享密钥,随后,终端设备和锚功能网元会进一步根据共享密钥推导出终端设备和应用功能网元之间通信的通信密钥,锚功能网元将生成的通信密钥发送给应用功能网元,使得应用功能网元获得通信密钥,从而采用通信密钥建立与和终端设备之间的安全连接。
一般情况下,为了使得终端设备与应用功能网元之间的安全得到有效保障,会频繁更新终端设备与应用功能网元之间共享的密钥,这种情况下,就需要频繁从HSS处重新获取AV完成AKA认证,这样,频繁访问HSS,会造成HSS的业务压力,从而,可能影响HSS其他业务的开展。
发明内容
本申请提供一种生成密钥的方法,通过引入密钥更新参数,可以不需要频繁访问UDM或HSS,基于密钥更新参数生成通信密钥,不仅保证了通信的安全性,也减轻了UDM或HSS的负担,减少了由于重新获取AV而产生的信令开销,有效地提高了业务的传输性能。
第一方面,提供了一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,所述方法包括:
锚功能网元接收所述应用功能网元发送的认证请求,所述认证请求息包括密钥标识符;
所述锚功能网元根据所述密钥标识符,确定所述终端设备与所述锚功能网元之间的共享密钥;
所述锚功能网元根据所述共享密钥和密钥更新参数,生成所述通信密钥;
所述锚功能网元确定所述通信密钥的有效期;
所述锚功能网元向所述应用功能网元发送认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期。
需要说明的是,这里的密钥更新参数对应实施例中的第一密钥更新参数。
因此,本申请实施例提供的生成密钥的方法,通过引入了用于生成通信密钥的密钥更新参数,可以使得前后两次生成的密钥不同,因此,在需要更新通信密钥的情况下,可以基于密钥更新参数生成通信密钥,不需要从UDM或HSS重新获取AV,不仅保证了通信的安全性,减轻了UDM或HSS的负担,也减少了由于重新获取AV而产生的信令开销,都有效地提高了业务的传输性能。
一般情况下,通信密钥的私密性较高,在可以不需要频繁访问UDM或HSS的情况下,为了提高通信密钥的安全性,本申请实施例提供了如下方式:
可选地,所述锚功能网元根据所述共享密钥和密钥更新参数,生成所述通信密钥,包括:
所述锚功能网元在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
因此,本申请实施例提供的生成密钥的方法,可以为共享密钥和通信密钥设置不同的有效时长,共享密钥的有效时长比通信密钥的有效时长长,在通信密钥的有效期过期的情况下,共享密钥的有效期还未过期,可以在共享密钥的有效期内,基于密钥更新参数生成通信密钥。由于对通信密钥的私密性要求很高,将通信密钥的有效时长设置的短更有利于安全通信,通过在共享密钥的有效期内基于密钥更新参数生成通信密钥,一方面,在共享密钥的有效期内,不需要频繁访问UDM或HSS,减少了UDM或HSS的负担,也减少了由于重新获取AV而产生的信令开销;另一方面,进一步提高了通信的安全性。
可选地,所述锚功能网元确定所述通信密钥的有效期,包括:
所述锚功能网元根据所述通信密钥的预设有效时长,确定所述通信密钥的有效期。
其中,通过密钥的预设有效时长可以理解为系统预定义或预配置的时长,对于一个应用功能网元来说,无论任何时候生成的通信密钥,通信密钥的有效期的时长是不变的。
基于此,本申请实施例提供了两种确定通信密钥的有效期的方式,这两种方式是基于不同方面的考虑提出的实现方式。
在第一种的方式中,基于时效考虑,可以基于共享密钥的剩余有效时长和通信密钥的预设有效时长确定通信密钥的有效期,即,
可选地,所述锚功能网元根据所述通信密钥的预设有效时长,确定所述通信密钥的有效期,包括:
在所述共享密钥的剩余有效时长小于所述通信密钥的预设有效时长的情况下,所述锚功能网元根据所述共享密钥的剩余有效时长确定所述通信密钥的有效期;或者,
在所述共享密钥的剩余有效时长大于所述通信密钥的预设有效时长的情况下,所述锚功能网元根据所述通信密钥的预设有效时长确定所述通信密钥的有效期。
其中,共享密钥的剩余有效时长可以理解为当前时间到共享密钥的有效期的截止时间之间的时长,当前时间可以理解为AAuF在接收到认证请求的时间,或者,AAuF开始生成通信密钥的时间。
因此,本申请实施例提供的生成密钥的方法,通过共享密钥的剩余有效时长和通信密钥的预设有效时长确定该通信密钥的有效期,可以有效地避免通信密钥的时效性失效的问题,提高了通信的安全性。
在第二种方式中,考虑到不同应用功能网元可以具有不同的通信密钥的有效期,因此,
可选地,所述锚功能网元确定所述通信密钥的有效期,包括:
所述锚功能网元根据所述应用功能网元的标识对应的预设有效时长,确定所述通信密钥的有效期。
因此,本申请实施例提供的生成密钥的方法,可以为多个应用功能网元提供不同预设有效时长的通信密钥,可以实现相同的终端设备接入多个不同的应用功能网元时,锚功能网元可以基于每个应用功能网元的标识为每个应用功能网元生成通信密钥,并且,该多个应用功能网元的通信密钥的预设有效时长不同,提供了差异化的密钥生成方法。
在本申请实施例中,终端设备和锚功能网元都需要根据密钥更新参数和共享密钥生成通信密钥,因此,终端设备和锚功能网元都可以生成密钥更新参数。基于此,对于锚功能网元来说,可以通过两种方式获得密钥更新参数。
在第一种方式中,可选地,所述方法还包括:
所述锚功能网元接收所述终端设备通过应用功能网元发送的所述密钥更新参数。、
在该方式中,由终端设备生成密钥更新参数,为了使得锚功能网元生成通信密钥,通过应用功能网元将该密钥更新参数发送给锚功能网元。
在另一种方式中,可选地,所述方法还包括:
所述锚功能网元通过所述应用功能网元向所述终端设备发送所述密钥更新参数。
在该方式中,由锚功能网元生成密钥更新参数,为了使得终端设备生成通信密钥,通过应用功能网元将该密钥更新参数发送给终端设备。
在本申请实施例中,在生成通信密钥的方式中,不仅可以根据共享密钥和密钥更新参数生成通信密钥,还可以有其他实现方式,例如:
可选地,所述认证请求还包括所述应用功能网元的标识;以及,
所述锚功能网元根据所述共享密钥和密钥更新参数,生成所述通信密钥,包括:
所述锚功能网元根据所述共享密钥、所述密钥更新参数和所述应用功能网元的标识,生成所述通信密钥。在本申请实施例中,在生成通信密钥的基础上,还可以通过消息鉴别码(message authentication code,MAC)对各个网元之间交互的信息做完整性保护,以验证信息没有被篡改过,例如,可以对终端设备发送的应用请求做完整性保护。
可选地,所述方法还包括:
所述锚功能网元接收所述终端设备通过应用功能网元发送的应用请求和第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的;
所述锚功能网元根据所述共享密钥、所述应用请求验证以及所述第一MAC,确定所述应用请求没有被篡改。
因此,本申请实施例提供的生成密钥的方法,通过采用MAC(例如,第一MAC)对应用请求做完整性保护,可以有效地验证应用请求是否被篡改,进一步提高了通信的安全性。
第二方面,提供了一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,所述方法包括:
所述终端设备向所述应用功能网元发送应用请求,所述应用请求包括所述终端设备与锚功能网元之间的共享密钥的密钥标识符;
所述终端设备根据所述共享密钥和密钥更新参数,生成所述通信密钥。
因此,本申请实施例提供的生成密钥的方法,通过引入了用于生成通信密钥的密钥更新参数,可以使得前后两次生成的密钥不同,因此,在需要更新通信密钥的情况下,可以基于密钥更新参数生成通信密钥,不需要从UDM或HSS重新获取AV,不仅保证了通信的安全性,减轻了UDM或HSS的负担,也减少了由于重新获取AV而产生的信令开销,都有效地提高了业务的传输性能。
同理,一般情况下,通信密钥的私密性较高,在可以不需要频繁访问UDM或HSS的情况下,为了提高通信密钥的安全性,本申请实施例提供了如下方式:
可选地,所述终端设备根据所述共享密钥和密钥更新参数,生成所述通信密钥,包括:
所述终端设备在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
因此,本申请实施例提供的生成密钥的方法,可以为共享密钥和通信密钥设置不同的有效时长,共享密钥的有效时长比通信密钥的有效时长长,在通信密钥的有效期过期的情况下,共享密钥的有效期还未过期,可以在共享密钥的有效期内,基于密钥更新参数生成通信密钥。由于对通信密钥的私密性要求很高,将通信密钥的有效时长设置的短更有利于安全通信,通过在共享密钥的有效期内基于密钥更新参数生成通信密钥,一方面,在共享密钥的有效期内,不需要频繁访问UDM或HSS,减少了UDM或HSS的负担,也减少了由于重新获取AV而产生的信令开销;另一方面,进一步提高了通信的安全性。
在本申请实施例中,锚功能网元在生成通信密钥的过程中,可以生成通信密钥的有效期,在某些考虑中,例如,终端设备也可以知道通信密钥的有效期,通过判断通信密钥的有效期是否过期执行相应步骤。因此,
可选地,所述方法还包括:
所述终端设备确定所述终端设备与所述应用功能网元之间通信的原通信密钥的有效期过期;
所述终端设备接收所述锚功能网元通过所述应用功能网元发送的所述通信密钥的有效期。
因此,本申请实施例提供的生成密钥的方法,锚功能网元通过向终端设备发送通信密钥的有效期,在下次生成新的通信密钥的过程中,可以使得终端设备基于该通信密钥的有效期来确定该在通信密钥的有效期是否过期,在该通信密钥的有效期过期的情况下基于密钥更新参数生成新的通信密钥。
同理,由于终端设备和锚功能网元都需要根据密钥更新参数和共享密钥生成通信密钥,因此,终端设备和锚功能网元都可以生成密钥更新参数。基于此,对应地,对于终端设备来说,也可以通过两种方式获得密钥更新参数。
在第一种方式中,可选地,所述方法还包括:
所述终端设备通过所述应用功能网元向所述锚功能网元发送所述密钥更新参数。
在该方式中,由终端设备生成密钥更新参数,为了使得锚功能网元生成通信密钥,通过应用功能网元将该密钥更新参数发送给锚功能网元。
在另一种方式中,可选地,所述方法还包括:
所述终端设备接收所述锚功能网元通过应用功能网元发送的所述密钥更新参数。
在该方式中,由锚功能网元生成密钥更新参数,为了使得终端设备生成通信密钥,通过应用功能网元将该密钥更新参数发送给终端设备。
在本申请实施例中,在生成通信密钥的基础上,还可以通过MAC对各个网元之间交互的信息做完整性保护,以验证信息没有被篡改过,例如,可以对终端设备发送的应用请求做完整性保护,这里,提供了两种生成MAC的方式,分别基于共享密钥和通信密钥生成MAC。在第一种方式中,采用共享密钥生成MAC,具体描述如下:
可选地,所述方法还包括:
所述终端设备通过所述应用功能网元向所述锚功能网元发送第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的。因此,本申请实施例提供的生成密钥的方法,通过采用MAC(例如,第一MAC)对应用请求做完整性保护,可以有效地验证应用请求是否被篡改,进一步提高了通信的安全性。
在第二种方式中,采用通信密钥生成MAC,具体描述如下:
可选地,所述方法还包括:
所述终端设备向所述应用功能网元发送第二MAC,所述第二MAC是基于所述通信密钥对所述应用请求做完整性保护生成的。
因此,本申请实施例提供的生成密钥的方法,通过采用MAC(例如,第二MAC)对应用请求做完整性保护,可以有效地验证应用请求是否被篡改,进一步提高了通信的安全性。
除了上述对应用请求做完整性保护以外,还可以对应用响应对完整性保护,由于应用响应是由应用功能网元发送的,因此,可以采用通信密钥生成的MAC对应用响应做完整性保护,具体描述如下:
可选地,所述方法还包括:
所述终端设备接收所述应用功能网元发送的第三MAC和针对所述应用请求的应用响应,所述第三MAC是基于所述通信密钥对所述应用响应做完整性保护生成的;
所述终端设备根据所述通信密钥、所述应用响应以及所述第三MAC,确定所述应用请求没有被篡改。
因此,本申请实施例提供的生成密钥的方法,通过采用MAC(例如,第三MAC)对应用请响应做完整性保护,可以有效地验证应用响应是否被篡改,进一步提高了通信的安全性。
第三方面,提供了一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,所述方法包括:
所述应用功能网元接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备与所述锚功能网元之间的共享密钥的密钥标识符和密钥更新参数,所述密钥更新参数用于生成所述通信密钥;
所述应用功能网元向所述锚功能网元发送认证请求,所述认证请求包括所述共享密钥的密钥标识符和所述密钥更新参数;
所述应用功能网元接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期。
因此,本申请实施例提供的生成密钥的方法,通过引入了用于生成通信密钥的密钥更新参数,可以使得前后两次生成的密钥不同,因此,在需要更新通信密钥的情况下,可以基于密钥更新参数生成通信密钥,不需要从UDM或HSS重新获取AV,不仅保证了通信的安全性,减轻了UDM或HSS的负担,也减少了由于重新获取AV而产生的信令开销,都有效地提高了业务的传输性能。
可选地,在所述应用功能网元向所述锚功能网元发送认证请求之前,所述方法还包括:
所述应用功能网元确定本地不存在所述通信密钥;或者,
所述应用功能网元确定本地存在所述通信密钥,且所述通信密钥的有效期过期。
可选地,所述方法还包括:
所述应用功能网元接收所述终端设备发送的第二消息鉴别码MAC,所述第二MAC是基于所述通信密钥对所述应用请求做完整性保护生成的;
所述应用功能网元根据所述通信密钥、所述应用请求以及所述第二MAC,确定所述应用请求没有被篡改。
因此,本申请实施例提供的生成密钥的方法,通过采用MAC(例如,第二MAC)对应用请求做完整性保护,可以有效地验证应用请求是否被篡改,进一步提高了通信的安全性。
可选地,所述方法还包括:
所述应用功能网元向所述终端设备发送第三MAC和针对所述应用请求的应用响应,所述第三MAC是基于所述通信密钥对所述应用响应做完整性保护生成的。
因此,本申请实施例提供的生成密钥的方法,通过采用MAC(例如,第三MAC)对应用请响应做完整性保护,可以有效地验证应用响应是否被篡改,进一步提高了通信的安全性。
第四方面,提供了一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,所述方法包括:
所述应用功能网元接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备与锚功能网元之间的共享密钥的密钥标识符;
所述应用功能网元向所述锚功能网元发送认证请求,所述认证请求包括所述共享密钥的密钥标识符;
所述应用功能网元接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥、所述通信密钥的有效期和密钥更新参数,所述密钥更新参数用于生成所述通信密钥。
所述应用功能网元向所述终端设备发送应用响应,所述应用响应包括所述密钥更新参数。
因此,本申请实施例提供的生成密钥的方法,通过引入了用于生成通信密钥的密钥更新参数,可以使得前后两次生成的密钥不同,因此,在需要更新通信密钥的情况下,可以基于密钥更新参数生成通信密钥,不需要从UDM或HSS重新获取AV,不仅保证了通信的安全性,减轻了UDM或HSS的负担,也减少了由于重新获取AV而产生的信令开销,都有效地提高了业务的传输性能。
可选地,在所述应用功能网元向所述锚功能网元发送认证请求之前,所述方法还包括:
所述应用功能网元确定本地不存在所述通信密钥;或者,
所述应用功能网元确定本地存在所述通信密钥,且所述通信密钥的有效期过期。
可选地,所述方法还包括:
所述应用功能网元接收所述终端设备发送的第二消息鉴别码MAC,所述第二MAC是基于所述通信密钥对所述应用请求做完整性保护生成的;
所述应用功能网元根据所述通信密钥、所述应用请求以及所述第二MAC,确定所述应用请求没有被篡改。
因此,本申请实施例提供的生成密钥的方法,通过采用MAC(例如,第二MAC)对应用请求做完整性保护,可以有效地验证应用请求是否被篡改,进一步提高了通信的安全性。
可选地,所述方法还包括:
所述应用功能网元向所述终端设备发送第三MAC,所述第三MAC是基于所述通信密钥对所述应用响应做完整性保护生成的。
因此,本申请实施例提供的生成密钥的方法,通过采用MAC(例如,第三MAC)对应用请响应做完整性保护,可以有效地验证应用响应是否被篡改,进一步提高了通信的安全性。
第五方面,提供了一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,所述方法包括:
锚功能网元接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备的标识;
所述锚功能网元根据所述终端设备的标识,确定所述终端设备的标识对应的第一共享密钥,所述第一共享密钥是所述终端设备与所述锚功能网元之间的密钥;
所述锚功能网元在所述第一共享密钥的有效期内,根据密钥更新参数更新所述第一共享密钥,以生成第二共享密钥;
所述锚功能网元向所述终端设备发送应用响应,所述应用响应包括所述第二共享密钥的有效期和所述第二共享密钥的密钥标识符;
所述锚功能网元根据所述第二共享密钥,生成所述通信密钥。
需要说明的是,这里的密钥更新参数对应实施例中的第二密钥更新参数。
因此,本申请实施例提供的生成密钥的方法,通过引入了用于生成共享密钥的密钥更新参数,可以使得前后两次生成的共享密钥不同,同时,可以为共享密钥和通信密钥设置不同的有效时长,共享密钥的有效时长比通信密钥的有效时长长,在通信密钥的有效期过期的情况下,共享密钥的有效期还未过期,可以在共享密钥(例如,第一共享密钥)的有效期内,基于密钥更新参数生成新的共享密钥(例如,第二共享密钥),进而,基于新的共享密钥生成通信密钥。这样,一方面,在共享密钥的有效期内,可以不需要频繁访问UDM或HSS,减少了UDM或HSS的负担,也减少了由于重新获取AV而产生的信令开销;另一方面,由于通信密钥的私密性较高,将通信密钥的有效时长设置的短更有利于安全通信,进一步提高了通信的安全性。
可选地,所述方法还包括:
所述锚功能网元向所述终端设备发送所述密钥更新参数。
可选地,所述方法还包括:
所述锚功能网元接收所述终端设备发送的所述密钥更新参数。
可选地,所述第二共享密钥的密钥标识符是基于所述密钥更新参数生成的。
第六方面,提供了一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,所述方法包括:
所述终端设备根据所述终端设备的标识,确定所述终端设备的标识对应的第一共享密钥,所述第一共享密钥是所述终端设备与所述锚功能网元之间的密钥;
所述终端设备在所述第一共享密钥的有效期内,根据密钥更新参数更新所述第一共享密钥,以生成第二共享密钥;
所述终端设备根据所述第二共享密钥,生成所述通信密钥;
所述终端设备接收所述锚功能网元发送的应用响应,所述应用响应包括所述第二共享密钥的有效期和所述第二共享密钥的密钥标识符。
因此,本申请实施例提供的生成密钥的方法,通过引入了用于生成共享密钥的密钥更新参数,可以使得前后两次生成的共享密钥不同,同时,可以为共享密钥和通信密钥设置不同的有效时长,共享密钥的有效时长比通信密钥的有效时长长,在通信密钥的有效期过期的情况下,共享密钥的有效期还未过期,可以在共享密钥(例如,第一共享密钥)的有效期内,基于密钥更新参数生成新的共享密钥(例如,第二共享密钥),进而,基于新的共享密钥生成通信密钥。这样,一方面,在共享密钥的有效期内,可以不需要频繁访问UDM或HSS,减少了UDM或HSS的负担,也减少了由于重新获取AV而产生的信令开销;另一方面,由于通信密钥的私密性较高,将通信密钥的有效时长设置的短更有利于安全通信,进一步提高了通信的安全性。
可选地,所述方法还包括:
所述终端设备接收所述锚功能网元发送的所述密钥更新参数。
可选地,所述方法还包括:
所述终端设备向所述锚功能网元发送所述密钥更新参数。
可选地,所述第二共享密钥的密钥标识符基于所述密钥更新参数生成的。
第七方面,提供了一种生成密钥的系统,用于生成保护终端设备与应用功能网元之间通信的通信密钥,所述系统包括所述应用功能网元和锚功能网元,其中,
所述应用功能网元用于:
向所述锚功能网元发送认证请求,所述认证请求包括密钥标识符;
接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期;
所述锚功能网元用于:
根据所述密钥标识符,确定所述终端设备与所述锚功能网元之间的共享密钥;
根据所述共享密钥和密钥更新参数,生成所述通信密钥;
确定所述通信密钥的有效期;
向所述应用功能网元发送所述认证响应。
可选地,所述认证响应中包括所述密钥更新参数;以及,所述系统还包括终端设备,所述终端设备用于:
向所述应用功能网元发送应用请求,所述应用请求包括所述密钥标识符;
接收所述应用功能网元发送的应用响应,所述应用响应包括所述密钥更新参数;
根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
可选地,所述系统还包括终端设备,所述终端设备用于:
根据所述共享密钥和所述密钥更新参数,生成所述通信密钥;
向所述应用功能网元发送应用请求,所述应用请求包括所述密钥标识符和所述密钥更新参数。
可选地,所述终端设备还用于:
确定所述终端设备与所述应用功能网元之间通信的原通信密钥过期;
接收所述应用功能网元发送的应用响应,所述应用响应包括所述通信密钥的有效期。
可选地,所述终端设备具体用于:
在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
可选地,所述终端设备还用于:
向所述应用功能网元发送第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的;
所述应用功能网元还用于:
接收所述终端设备发送的所述第一MAC;
向所述锚功能网元发送所述第一MAC;
所述锚功能网元还用于:
根据所述共享密钥、所述应用请求以及所述第一MAC,确定所述应用请求没有被篡改。
可选地,所述锚功能网元具体用于:
在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
可选地,所述锚功能网元具体用于:
根据所述通信密钥的预设有效时长,确定所述通信密钥的有效期。
可选地,所述锚功能网元具体用于:
在所述共享密钥的剩余有效时长小于所述通信密钥的预设有效时长的情况下,根据所述共享密钥的剩余有效时长确定所述通信密钥的有效期;或者,
在所述共享密钥的剩余有效时长大于所述通信密钥的预设有效时长的情况下,根据所述通信密钥的预设有效时长确定所述通信密钥的有效期。
可选地,所述认证请求还包括所述应用功能网元的标识;以及,
所述锚功能网元具体用于:
根据所述共享密钥、所述密钥更新参数和所述应用功能网元的标识,生成所述通信密钥。
可选地,所述锚功能网元具体用于:
根据所述应用功能网元的标识对应的预设有效时长,确定所述通信密钥的有效期。
可选地,在向所述锚功能网元发送认证请求之前,所述应用功能网元还用于:
确定本地不存在所述通信密钥;或者,
确定本地存在所述通信密钥,且所述通信密钥的有效期过期。
第八方面,提供了一种生成密钥的装置,用于执行上述第一方面至第六方面中任一方面中任意可能的实现方式中的方法。具体地,该装置包括用于执行上述任一方面中的任一种可能的实现方式中的方法的单元。
第九方面,提供了一种生成密钥的装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制接收器接收信号,并控制发送器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述第一方面至第六方面中任一方面中的任一种可能的实现方式中的方法。
第十方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述第一方面至第六方面中任一方面中的方法。
第十一方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行上述第一方面至第六方面中任一方面中的方法的指令。
第十二方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述第一方面至第六方面中任一方面中的方法。
第十三方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述第一方面至第六方面中任一方面中的方法。
附图说明
图1至图3是适用于本申请实施例的网络架构的示意图。
图4是本申请实施例的生成共享密钥的方法的示意性交互图。
图5是本申请实施例的生成通信密钥的方法的示意性交互图。
图6是本申请实施例的生成共享密钥的方法的另一示意性交互图。
图7至图13是本申请实施例的生成通信密钥的方法的示意性交互图。
图14和图15是本申请实施例的生成密钥的装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c或a-b-c,其中a,b,c可以是单个,也可以是多个。“A属于B”可以表示A是B的子集,也可以表示A的内容与B的内容相同。“A包括B”可以表示B是A的子集,也可以表示A的内容与B的内容相同。
在本申请实施例中,对于一种技术特征,通过“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”等区分该种技术特征中的技术特征,该“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”描述的技术特征间无先后顺序或者大小顺序。
本申请实施例中的终端设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。
在本申请实施例中,终端设备或网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(centralprocessing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可,例如,本申请实施例提供的方法的执行主体可以是终端设备或网络设备,或者,是终端设备或网络设备中能够调用程序并执行程序的功能模块。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
图1是适用于本申请实施例的网络架构的示意图。该网络架构可以称为通用引导架构(generic bootstrapping architecture,GBA),可以用于建立终端设备(例如,UE)与网络应用服务器(network application function,NAF)之间的安全隧道。GBA包括:UE110、NAF网元120、引导服务功能(bootstrapping server function,BSF)网元130、签约位置功能(subscriber locator function,SLF)网元140和归属用户服务器(homesubscriber server,HSS)150。
1、UE 110:可以是包括各种具有无线通信功能的终端设备的一例,其中,该终端设备可以包括车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备,以及各种形式的终端,移动台(mobile station,MS),终端(terminal),UE,软终端等等。例如,水表、电表、传感器等。
2、NAF网元120:用于提供网络应用功能,接入网络开放功能网元,与策略框架交互进行策略控制等,可以通过接口Ua与UE 110交互。例如,微信、腾讯、优酷等应用功能。
3、BSF网元130:用于引导UE 110完成GBA认证与密钥协商。在该GBA架构中,作为中间枢纽,通过Ub接口与UE 110交互,执行UE 110与BSF网元130之间的认证;通过Zh接口可以从HSS网元150获得UE 110认证相关的参数,HSS网元150存储有与UE 110认证相关的参数;通过Zn接口与NAF网元120交互;通过Dz接口与SLF网元140交互,在包括多个HSS网元的场景下,BSF网元130可从SLF网元140处得到UE 110对应的HSS。
需要说明的是,由于每个应用都对应一个NAF网元,多个应用对应多个NAF网元,因此,BSF网元和UE可能与多个NAF网元进行交互。
4、SLF网元140:在多个HSS网元的场景下,BSF可从SLF处得到UE对应的HSS名称。
5、HSS网元150:存储有与UE110认证相关的参数,在本申请实施例中,可以生成与UE认证相关的AV。
应理解,图1所示的网络架构中的各个网元仅为示意性说明,该网络架构中还可以包括其他网元,例如,独立数据管理功能(unified data management,UDM)网元,申请实施例不做任何限定。
近来,中国移动在3GPP立了一个项“Study on authentication and keymanagement for applications based on 3GPP credential in 5G”,其中一个主要目标就是利用5G网络来为UE与NAF之间建立安全隧道,即利用5G网络来实现GBA技术。在该项目中,将GBA可以称为应用程序的认证和密钥管理(authentication and key managementfor applications,AKMA)架构。
基于此,下面,结合图2和图3,对适用于本申请实施例的另一种网络架构进行说明。
在图2和图3所示的AKMA架构中,该AKMA架构包括:UE 210、AKMA应用功能(AKMAapplication function,AApF)网元220、AKMA认证功能(AKMA authentication function,AAuF)网元230、UDM网元240、鉴权服务功能(authentication server function,AUSF)网元250和安全锚点功能(security anchor function,SEAF)网元260。
其中,AApF网元220具有图1中的NAF网元的功能,AAuF网元230具有图1中的BSF网元的功能,UDM网元240用了存储用户的签约信息,具有图1中的HSS网元的功能,AUSF网元250用于终结SEAF网元260请求的认证功能,SEAF网元260用于完成UE 210的认证过程,在5Gphase I阶段,SEAF网元的功能被合并到接入管理功能(access and mobility managementfunction,AMF)网元中。
作为示例而非限定,在图2所示的AKMA架构中,AAuF网元230与AUSF网元250相连,在图3所示的AKMA架构中,AAuF网元230与UDM网元240相连,可选地,AAuF网元230也可以被集成在UDM网元230或AUSF网元中(图中未示出),本申请实施例不做任何限定。
应理解,图2和图3所示的网络架构中的各个网元仅为示意性说明,该网络架构中还可以包括其他网元,例如,例如,网络能力开放功能(network exposure function,NEF)网元、策略控制功能(policy control function,PCF)网元等,申请实施例不做任何限定。
还应理解,上述网元或者功能既可以是硬件设备中的网络元件,也可以是在专用硬件上运行软件功能,或者是平台(例如,云平台)上实例化的虚拟化功能。
进一步地,在本申请实施例中,可以将图1中的NAF网元简称为NAF,BSF网元简称为BSF,SLF网元简称为SLF,HSS网元简称为HSS,将图2和图3中的AApF网元称为AApF,将AAuF网元称为AAuF,将UDM网元称为UDM,将AUSF网元称为AUSF,将SEAF网元称为SEAF。
还应理解,图1、图2和图3所示的网络架构仅是示意性说明,适用本申请实施例的网络架构并不局限于此,任何能够实现上述各个网元的功能的网络架构都适用于本申请实施例。
还应理解,上述网络架构中各个网元的名称仅是举例说明,网元的名称不应对本申请实施例构成限定,任何能够实现上述各个网元的功能的网元都可以执行本申请实施例。
本申请实施例涉及两种类型的密钥,一种密钥是终端设备与锚功能网元之间共享的密钥,为了便于理解和区分,作为示例而非限定,可以将终端设备与锚功能网元之间的密钥称为共享密钥;另一种密钥是终端设备与应用功能之间共享的密钥,由于这种密钥可以使得终端设备与应用功能网元安全通信,因此,为了便于理解和区分,可以将终端设备与应用功能网元之间的密钥称为通信密钥。下面,对共享密钥和通信密钥做一简单说明。
共享密钥是终端设备与锚功能网元之间的密钥,终端设备和锚功能网元可以基于从UDM或HSS处获得的AV生成;通信密钥是终端设备与应用功能网元之间密钥,是终端设备和锚功能网元基于共享密钥生成的,由于终端设备可以对应多个NAF网元,可以使得锚功能网元与多个应用功能网元进行交互,因此,一个共享密钥可以生成多个通信密钥,一个通信密钥对应一个应用功能网元。共享密钥更新,所有的通信密钥也会随着更新。
在本申请实施例中,提供了3种生成通信密钥的方式:第一种方式是基于锚功能网元从UDM中获取的AV生成共享密钥,参考图4和图6,再基于生成的共享密钥生成通信密钥,参考图5,可以理解为现有技术生成通信密钥的方式;第二种方式是基于共享密钥和密钥更新参数(为了便于区分,记为第一密钥更新参数)生成通信密钥,参考图7和图8;第三种方式是基于密钥更新参数(为了便于区分,记为第二密钥更新参数)生成共享密钥,基于共享密钥生成通信密钥,参考图9和图10。
以下,分别对每种生成通信密钥的方式进行详细说明。在下文描述中,将终端设备和锚功能网元之间的共享密钥的记为KAKMA,将终端设备和应用功能网元之间的通信密钥记为KAF
此外,为了描述统一,作为示例而非限定,以终端设备为用户设备(userequipment,UE)为例,以及,以AKMA网络架构中各个网元的名为例,例如,AAuF、AApF、UDM、AUSF为例,对本申请实施例做详细说明,其中,AAuF为锚功能网元的一例,AApF为应用功能网元的一例,UDM为生成AV的网元的一例。
应理解,上述仅是举例说明,网元的名称不应对本申请实施例构成限定,任何能够实现上述各个网元的功能的网元都可以执行本申请实施例,例如,GAB网络架构中具有AAuF、AApF、UDM、AUSF的功能的各个网元也可以执行本申请实施例,仅是名字的不同而已。
图4所示为生成共享密钥KAKMA的方法的示意性交互图。在该实施例中,参与方包括:UE、AAuF和UDM。
S301、UE向AAuF发送应用请求,该应用请求包括UE标识。
作为示例而非限定,UE标识可以是临时IP多媒体私有标识(temporary IPmultimedia private identity,TMPI)、用户隐藏标识(subscription concealedidentifier,SUCI)、IP多媒体隐藏标识(IP multimedia concealed identity,IMCI)。
其中,TMPI是由AAuF生成并发送给UE的临时用户标识,SUCI是由UE根据用户永久标识(subscription permanent identifier,SUPI)加密生成的,IMCI是由UE根据用户私有标识(IP multimedia private identity,IMPI)加密生成的。SUPI和IMPI可以叫做私有用户标识,SUCI和IMCI可以叫做加密用户标识。为提高安全性,UE不会直接将私有用户标识发送出去,以公钥加密后向外发送。
S302、AAuF获取AV。
具体地,AAuF向UDM发送UE标识;UDM根据UE标识,确定UE标识对应的根密钥,计算获得AV,将该AV发送给AAuF,从而,使得AAuF获得AV。作为示例而非限定,AV=(随机数(random,RAND),认证令牌(authentication token,AUTN),加密密钥(cipher key,CK),完整性保护密钥(integrity key,IK),期望的用户响应(expected user response,XRES))。
作为示例而非限定,UDM计算认证向量的步骤包括:确定UE标识对应的RAND;基于RAND和根密钥计算得到匿名密钥(anonymity Key,AK),基于RAND、根密钥、认证管理字段(authentication management field,AMF)和序列号(sequence number,SQN)计算得到消息认证字段(message authentication code,MAC),再基于SQN、AK、AMF和MAC生成AUTN;基于RAND和根密钥计算得到CK、IK,基于RAND和根密钥计算得到XRES。认证向量AV=[RAND,AUTN,CK,IK,XRES]。
需要说明的是,当UE标识是加密用户标识(如IMCI、SUCI等),UDM会根据存储的公钥对UE标识进行解密生成私有用户标识(如对应的IMPI、SUPI等)。UDM根据私有用户标识获取对应的根密钥,并基于根密钥计算认证向量。
S303、AAuF向UE发送认证请求,该认证请求包括AV中的RAND和AUTN。
S304、认证AUTN,认证成功后生成CK、IK和用户响应(user response,RES)。
UE根据RAND和AUTN对网络进行认证。UE包括全球用户身份模块(universalsubscriber identity module,USIM)和移动实体(mobile entity,ME)
其中,UE中的USIM对AUTN进行校验。具体校验过程包括:USIM基于RAND和根密钥计算AK,基于AUTN和AK计算SQN,并基于SQN、RAND、根密钥和AMF计算预期消息认证字段(expected message authentication code,XMAC)。比较XMAC和收到的AUTN中的MAC是否相同,当XMAC和MAC不相同时,认证失败,UE将会向BSF发送认证失败消息;当XMAC和MAC相同时,验证SQN是否在正确的范围之内,当SQN不在正确范围内时,认证失败,UE将会向BSF发送同步失败消息,当SQN在正确范围内时,USIM对AUTN认证成功。USIM基于RAND和根密钥计算用户响应参数RES、加密密钥CK和完整性密钥IK,并将RES、CK和IK发送给移动实体ME。另外,ME校验AUTN中的AMF的分离位separation bit是否为1,其中separation bit是指AMF的第0位。当AMF的分离位为1时,则表示归属网络为4G/5G网络,认证成功。当AMF的分离位不为1时,则表示归属网络不是4G/5G网络,有可能出现不安全网络利用2G/3G的认证向量伪造4G/5G认证向量来欺骗用户设备的情况,认证失败。
S305、UE向AAuF发送认证响应,该认证响应包括RES。
S306、AAuF将AV中XRES与接收到的RES进行对比,验证RES是否正确。
S307、若验证成功,AAuF计算密钥KAKMA
AAuF可以根据CK和IK利用密钥推演函数(key derivation function,KDF)计算KAKMA,也可以根据CK、IK和其他参数利用KDF计算KAKMA,作为示例而非限定,KAKMA=KDF(CK||IK,[“字符串”,RAND,UE ID,AAuF ID]),其中,UE ID是UE标识的一例,AAuF ID是AAuF标识的一例。
S308、AAuF向UE发送应用响应,该应用响应中包括KAKMA的密钥标识符(例如,引导事务单元(bootstrapping transaction identifier,B-TID)和KAKMA的有效期(lifetime)。
可选地,AAuF可以基于RAND和自身的标识,例如,AAuF server name,生成密钥KAKMA的密钥标识,即,base64encode(RAND)@AAuF_servers_domain_name,base64encode(RAND)代表对RAND进行Base64编码转换。KAKMA的有效期表示KAKMA可以持续不变的时长。
S309、UE计算密钥KAKMA
其中,关于UE计算KAKMA的过程的具体描述的可以参考S307中AAuF计算KAKMA的相关描述,为了简洁,不再赘述。
图5所示为生成通信密钥KAF的方法的示意性交互图。在该实施例中,参与方包括:UE、AAuF和AApF。
S310、UE根据KAKMA生成KAF
作为示例而非限定,UE根据KAF=KDF(KAKMA,"字符串",RAND,UE ID,AApF ID)生成KAF。其中,RAND为在S303中AAuF向UE发送的AV中的RAND,UE ID为UE标识的一例,AApF ID为AApF标识的一例,可以预配置在UE中。
可选地,在S310之前,UE可以根据KAKMA的有效期判断KAKMA的有效期是否过期,若过期,则可以参考图4对应的实施例的具体实现方式生成新的KAKMA,执行S310;若未过期,则执行S310。
S311、UE向AApF发送应用请求,该应用请求中包括KAKMA的密钥标识符。其中,UEKAKMA可以从S308中的应用响应中获得KAKMA的密钥标识符。
S312、AApF向AAuF发送认证请求,该认证请求中包括KAKMA的密钥标识符和AApF标识。
对于同一个AApF来说,KAKMA与KAF是一一对应的,因此,可选地,在S312之前,AApF可以根据KAKMA的密钥标识符,检查是否存在与KAKMA对应的KAF。若是存在对应的KAF,意味着KAF没有过期,则直接执行S316,将应用响应发送给UE,UE与AApF基于KAF进行安全通信;若不存在对应的KAF,则需要AAuF基于KAKMA生成对应的KAF。因此,AApF可以向AAuF发送认证请求,该认证请求中包括KAKMA的密钥标识符和AApF标识,目的是为了请求KAF
S313、AAuF根据KAKMA生成KAF
作为示例而非限定,AAuF生成KAF的方式与UE生成KAF的方式相同,即,根据KAF=KDF(KAKMA,"字符串",RAND,UE ID,AApF ID)生成KAF
S314、AAuF向AApF发送认证响应,该认证响应可以包括KAF和KAF的有效期。其中,KAF的有效期表示KAF可以持续不变的时长,并且,KAF的有效期与KAKMA的有效期相同。
S315、AApF保存KAF和KAF的有效期。
S316、AApF向UE发送应用响应,该应用响应指示AAuF成功生成KAF,且AApF成功接收到AAuF向AApF发送的认证响应。
图6所示为生成共享密钥KAKMA的方法的另一示意性交互图。在该实施例中,参与方包括:UE、AAuF、AUSF和UDM。
S401、UE向AAuF发送应用请求,该应用请求包括UE标识。
其中,关于UE标识的具体描述可以参考图4对应的实施例中S301中关于UE标识的相关描述,此处不再赘述。
S402、AAuF向AUSF发送认证向量请求,该认证向量请求包括UE标识和AAuF标识。
S403、AUSF向UDM发送该认证向量请求。
S404、UDM根据该认证向量请求,生成5G归属环境(home environment,HE)AV,并且,向AUSF发送认证向量请求响应。
其中,5G HE AV=(RAND,AUTN,XRES*,KAUSF),RAND为随机数,AUTN为认证令牌,XRES*为期望的用户响应,KAUSF为终端设备与AUSF之间的密钥。
S405、AUSF存储XRES*,计算XRES*的哈希值HXRES*和KAKMA,作为示例而非限定,将AAuF server name作为KDF的输入参数计算KAKMA
S406、AUSF向AAuF发送认证向量请求响应。其中,该认证向量请求响应包括5G AV,5G AV=(RAND,AUTN,HXRES*)
S407、AAuF向UE发送认证请求,该认证请求中包括5G AV中的RAND和AUTN。
S408、UE验证AUTN,计算RES和RES*。
UE检查AMF的分离位separate bit位是否为1,其中,separation bit是指AMF的第0位。当AMF的分离位为1时,则表示归属网络为4G/5G网络,认证成功。当AMF的分离位不为1时,则表示归属网络不是4G/5G网络,有可能出现不安全网络利用2G/3G的认证向量伪造4G/5G认证向量来欺骗用户设备的情况,认证失败。
S409、UE向AAuF发送认证响应,该认证响应中包括RES*。
S410、AAuF根据RES*计算HRES*,将计算得到的HRES*和在S406中接收到的HXRES*进行比较,以验证HRES*是否正确。
若HRES*与HXRES*相同,则表示HRES*正确,执行S411;若HRES*与HXRES*不同,则表示HRES*不正确,重新开始执行S401。
S411、AAuF向AUSF发送认证向量请求,该认证向量请求包括RES*。
S412、AUSF验证RES*是否正确。
AUSF将接收到的RES*与在S404中接收到的XRES*进行比较,若两者的值相同,则对UE认证成功。
S413、AUSF向AAuF发送认证向量响应,该认证向量响应中包括认证结果和在S405中生成的KAKMA,该认证结果表示针对UE认证成功。
S414、AAuF向UE发送应用响应,该应用响应中包括KAKMA的密钥标识符和KAKMA的有效期。其中,AAuF基于RAND和AAuF标识生成KAKMA的密钥标识符,KAKMA的有效期可以是预配置的,也可以是AAuF生成的。
在上述现有技术中,上述流程中的KAF的有效期与KAKMA的有效期相同,一般情况下,为了使得终端设备与应用功能网元之间的安全得到有效保障,会频繁更新终端设备与应用功能网元之间共享的密钥,这种情况下,就需要频繁从UDM或HSS处重新获取AV完成AKA认证,这样,会造成UDM或HSS的业务压力,从而,可能影响UDM或HSS中其他业务的正常传输。
基于此,本申请实施例提供了生成密钥的方法,引入了用于生成密钥的密钥更新参数,由于密钥更新参数的目的是更新密钥,可以使得前后两次生成的密钥不同,从而保证设备间的安全通信,因此,在需要更新通信密钥的情况中,可以基于密钥更新参数生成通信密钥,不需要从UDM或HSS重新获取AV,不仅保证了通信的安全性,也减轻了UDM或HSS的负担,有效提高业务的传输性能。
由于对通信密钥的私密性要求很高,在可以不需要频繁访问UDM或HSS的情况下,为了提高通信密钥的安全性,可选地,可以为共享密钥和通信密钥设置不同的有效时长,共享密钥的有效时长比通信密钥的有效时长长,在通信密钥的有效期过期的情况下,共享密钥的有效期还未过期,这样,可以在共享密钥的有效期内,不需要从UDM(或HSS)重新获取AV,而是可以基于密钥更新参数生成通信密钥,保证了通信的安全性,也减轻了UDM(或HSS)的负担,有效提高业务的传输性能。
可选地,密钥更新参数可以是count值和nonce值,count值是从0开始每用完一次就加1并且保存,nonce值是每次产生随机数,不用保存,都可以使得两次生成密钥更新参数的值不同,从而,使得两次生成的密钥不同,以保证设备间的安全通信。
在本申请实施例中,终端设备和锚功能网元生成通信密钥,锚功能网元与应用功能网元之间通信连接,锚功能网元可以将生成的通信密钥发送给应用功能网元,以使得终端设备与应用功能网元通过通信密钥进行安全通信。基于此,关于密钥更新参数的生成,有两种可能的实现方式。
在一种可能的实现方式中,锚功能网元生成密钥更新参数,通过应用功能网元向终端设备发送该密钥更新参数。
在另一种可能的实现方式中,终端设备生成密钥更新参数,通过应用功能网元向锚功能网元发送该密钥更新参数。
这样,锚功能网元和终端设备可以基于密钥更新参数生成通信密钥。
在本申请实施例中,根据生成通信密钥的两个主要步骤(即,生成共享密钥和根据共享密钥生成通信密钥)的考虑,本申请实施例提供了两种密钥更新参数,即,第一密钥更新参数和第二密钥更新参数。其中,第一密钥更新参数用于生成通信密钥,在这种情况中,不需要更新共享密钥,可以基于第一密钥更新参数和未更新的共享密钥生成通信密钥;第二密钥更新参数用于生成共享密钥,在这种情况中,不需要从UDM(或HSS)获得AV来生成新的共享密钥,而是可以基于未更新的共享密钥(或者,最近一次获得的AV中的CK、IK)和该第二密钥更新参数生成新的共享密钥,进而,基于生成的新的共享密钥生成通信密钥。
基于上述思路,下面,首先,结合图7和图8,对基于第一密钥更新参数生成通信密钥的方法做详细说明,后续,结合图9和图10,对基于第二密钥更新参数生成通信密钥的方式做详细说明。
图7和图8描述的基于共享密钥和第一密钥更新参数生成通信密钥的方式,图7与图8的主要区别在于,图7是由AAuF生成第一密钥更新参数,将该第一密钥更新参数发送给UE,使得UE基于接收到的第一密钥更新参数生成通信密钥,图8是UE生成第一密钥更新参数,将该第一密钥更新参数发送给AAuF,使得AAuF基于接收到的第一密钥更新参数生成通信密钥。其中,终端设备和锚功能网元生成共享密钥的方式可以参考图4和图6对应的实施例的具体实现方式,此处不再赘述。下面,仅结合图7和图8描述基于共享密钥和第一密钥更新参数生成通信密钥的方式。
此外,为了便于描述,将未更新的通信密钥记为KAF1,将更新KAF1后生成的通信密钥或首次生成的通信密钥都记为KAF2,将用于生成KAF2的共享密钥记为KAKMA1。
图7所示为本申请实施例的生成通信密钥的示意性交互图,参与方包括:UE、AAuF和AApF。
S501,UE向AApF发送应用请求,该应用请求包括共享密钥的密钥标识符(例如,B-TID)。
可选地,在S501之前,UE可以检查本地保存的共享密钥的有效期是否过期,若共享密钥的有效期过期,则可以参考图4或图6对应的实施例的具体实现方式生成新的共享密钥,执行S501;若共享密钥的有效期未过期,则执行S501,这里,将新的共享密钥或者未过期的共享密钥作为KAKMA1。
S502,AApF接收UE发送的应用请求,向AAuF发送认证请求,该认证请求包括该共享密钥的密钥标识符。
可选地,该认证请求还包括AApF标识,可以作为S503中生成通信密钥的参数,以及,在S503中可以用于确定对应于应用功能网元的通信密钥的预设有效时长。
可选地,在S502之前,AApF可以检查是否存在共享密钥对应的通信密钥,若存在对应的通信密钥,可以进一步检查该通信密钥的有效期是否过期,若没有过期,则不更新已有的通信密钥,AApF向UE发送应用响应,UE与AApF基于已有的通信密钥进行安全通信;若不存在对应的通信密钥,或者,存在对应的通信密钥但对应的通信密钥的有效期过期,则执行S502。作为示例而非限定,AApF可以基于密钥标识符确定共享密钥对应的通信密钥,也可以基于其他方式确定通信密钥,例如,基于UE标识确定共享密钥对应的通信密钥,本申请实施例不做限定。
S503,AAuF生成第一密钥更新参数,并且,根据该第一密钥更新参数和该共享密钥生成通信密钥。
应理解,在该步骤中,基于该第一密钥更新参数和KAKMA1生成的通信密钥KAF2可以是首次生成的通信密钥,也可以是更新已有的通信密钥KAF1生成的新的通信密钥,其中,已有的KAF1可以是图5对应的实施例中的通信密钥,也可以是在S501之前基于其他密钥更新参数和共享密钥生成的通信密钥,本申请实施例不限于此。
可选地,AAuF在执行步骤503之前,先判断共享密钥是否有效。AAuF在共享密钥的有效期内,根据该第一密钥更新参数和共享密钥生成通信密钥。
具体而言,AAuF可以检查保存的共享密钥的有效期是否过期,若共享密钥的有效期过期,则AAuF可以向AApF发送引导协商请求(bootstrapping renegotiation request,BRS),AApF将该BRS发送给UE,UE可以参考图4或图6对应的实施例的具体实现方式生成新的共享密钥,这里,将新的共享密钥作为KAKMA1,继续执行S503;若共享密钥的有效期未过期,即,在共享密钥的有效期内,继续执行S503,这里,将未过期的共享密钥作为KAKMA1。
需要说明的是,若UE是在检查保存的共享密钥有效之后才执行S501,意味着共享密钥的有效期肯定未过期,那么,可选地,AAuF在S503之前可以不需要检查共享密钥的有效期,在接收到AApF发送的认证请求后,可以直接执行S503。
此外,AApF也可以相应地确定KAF2的有效期。在本申请实施例中,AApF可以根据预设有效时长,确定KAF2的有效期,其中,KAF2的预设有效时长可以理解为系统预定义或预配置的时长,对于一个应用功能网元来说,无论任何时候生成的通信密钥,通信密钥的有效期的时长可以是固定的。基于此,本申请实施例提供了两种确定KAF2有效期的方式,在方式1中,基于时效考虑,可以基于共享密钥的剩余有效时长和通信密钥的预设有效时长确定通信密钥的有效期,在方式2中,可以基于应用功能网元的标识对应的预设有效时长确定通信密钥的有效期。下面,分别对两种方式进行说明。
方式1
在共享密钥的剩余有效时长小于通信密钥的预设有效时长的情况下,锚功能网元根据该共享密钥的剩余有效时长确定该通信密钥的有效期;或者,
在该共享密钥的剩余有效时长大于该通信密钥的预设有效时长的情况下,锚功能网元根据该通信密钥的预设有效时长确定该通信密钥的有效期。
其中,共享密钥的剩余有效时长可以理解为当前时间到共享密钥的有效期的截止时间之间的时长,当前时间可以理解为AAuF在接收到认证请求的时间,或者,AAuF开始生成通信密钥的时间。
具体而言,为了保证KAF2的有效期的时效性,可选地,在AAuF检查KAKMA1的有效期是否过期的情况中,若KAKMA1的有效期未过期,AAuF可以将KAKMA1的剩余有效时长与KAF2的预设有效时长进行比较。
若KAKMA1的剩余有效时长小于KAF2的预设有效时长,意味着,KAKMA1的剩余有效期的截止时间在KAF2的预设有效期(预设有效期的时长为预设有效时长)的截止时间之前,若是将预设有效时长确定为KAF2的有效期的时长,会出现KAKMA1的有效期已经过期,但是KAF2的有效期未过期的情况,KAKMA1的时效性失效,不利于安全通信,因此,AAuF可以将KAKMA1的剩余有效时长作为KAF2的有效时长,KAF2的有效期即为生成KAF2的时间到生成KAF2的时间之后的有效时长之间的时段;或者,可以参考图4或图6对应的实施例的具体实现方式生成新的KAKMA,重新开始执行S501,这里,将新的KAKMA作为KAKMA1。
例如,KAKMA1的有效时长为60min,KAKMA1的有效期是12:00-13:00,KAF2的预设有效时长为10min,当前时间为12:55,则KAKMA1的剩余有效时长为5min,基于预设有效时长,KAF2的预设有效期是12:55-13:05,这种情况中,将5min作为KAF2的有效时长,因此,KAF2的有效期为12:55-13:00。
若KAKMA1的剩余有效时长大于KAF2的预设有效时长,意味着,KAKMA1的剩余有效期的截止时间在KAF2的预设有效期的截止时间之后,KAKMA1的有效期未过期,因此,可以将KAF2的预设有效时长作为KAF2的有效时长,KAF2的有效期即为生成KAF2的时间到生成KAF2的时间之后的有效时长之间的时段。
例如,KAKMA1的有效时长为60min,KAKMA1的有效期是12:00-13:00,KAF2的预设有效时长为10min,当前时间为12:40,则KAKMA1的剩余有效时长为20min,基于预设有效时长,KAF2的预设有效期是12:40-12:50,按照预设情况,将10min作为KAF2的有效时长,因此,KAF2的有效期为12:40-12:50。
因此,通过共享密钥的剩余有效时长和通信密钥的预设有效时长确定该通信密钥的有效期,可以有效地避免通信密钥的时效性失效的问题,提高了通信的安全性。
方式2
锚功能网元根据应用功能网元的标识对应的预设有效时长,确定通信密钥的有效期。
如前所述,一个锚功能网元可以和多个应用功能网元通信,对应地,一个锚功能网元对应的共享密钥可以生成多个应用功能网元对应的通信密钥,该多个通信密钥的预设有效时长可以相同,也可以不同。若该多个通信密钥的预设有效时长不同,可以通过应用功能网元的标识确定对应的通信密钥的预设有效时长。因此,AAuF可以基于从S502中的认证请求中获得的AApF标识,确定AApF对应的预设有效时长,将该预设有效时长作为KAF2的有效期的有效时长,从而,确定KAF2的有效期。
例如,UE与AApF1的通信密钥(记为KAF21)对应的预设有效时长是30min,UE与AApF2的通信密钥(记为KAF22)对应的预设有效时长是60min;UE和AAuF之间的共享密钥有效时长是24h(00:00-24:00)。若认证请求中包括AApF1的标识,则AAuF确定KAF21的预设有效时长为30min,则确定生成KAF21,且KAF21的有效时长为30min,KAF21的有效期则为生成KAF21的时间到生成KAF21的时间之后的30min。若认证请求中包括AApF2的标识,则AAuF确定KAF22的预设有效时长为60min,则确定生成KAF22,且KAF22的有效时长为60min,KAF22的有效期则为生成KAF22的时间到生成KAF22的时间之后的60min。
因此,通过为多个应用功能网元提供不同预设有效时长的通信密钥,可以实现相同的终端设备接入多个不同的应用功能网元时,锚功能网元可以基于每个应用功能网元的标识为每个应用功能网元生成通信密钥,并且,该多个应用功能网元的通信密钥的预设有效时长不同,提供了差异化的密钥生成方法。例如,在锚功能网元上,对于安全要求较高的应用功能网元,可以将终端设备与该应用功能网元通信的通信密钥的预设有效时长设置的短一些;相反,对于安全要求较低的应用服务器,可以将终端设备与该应用功能网元通信的通信密钥的有效时长设置的长一些。
以下,对根据第一密钥更新参数和共享密钥生成通信密钥的方式做详细说明。
KAF2可以如下表示:KAF2=KDF(第一密钥更新参数,KAKMA1),其中,KAKMA1可以基于图4或图6对应的实施例的具体实现方式生成,此处不做限定,AAuF可以根据KAKMA1的密钥标识符确定KAKMA1。
作为示例而非限定,除第一密钥更新参数和共享密钥以外,AAuF还可以根据其他密钥参数生成通信密钥。
在一种可能的实现方式中,该其他密钥参数可以包括以下至少一项:"字符串"、RAND、UE ID、AApF ID,参数的描述可以参考图4至图6对应的实施例中关于这些参数的描述,为了简洁,不再赘述。
在另一种可能的实现方式中,若KAF2是更新KAF1后的通信密钥,该其他密钥参数可以理解为在更新KAF1之前AAuF基于KAKMA1生成KAF1的相关参数,该相关参数可以是基于另一个密钥更新参数(记为密钥更新参数A)和KAKMA1生成KAF1的参数,包括但不限于:密钥更新参数A,KAKMA1。
若第一密钥更新参数是count值,则AAuF在生成KAF2之后,将count值加1并保存;若第一密钥更新参数是nonce值,则AAuF在生成KAF2之后不加1。
S504,AAuF向AApF发送认证响应,其中,该认证响应包括:通信密钥、通信密钥的有效期和第一密钥更新参数。
可选地,AAuF可以将该第一密钥更新参数承载于其他消息中,或者,将该第一密钥更新参数通过信息独立发送给AApF,最终发送至UE。
可选地,该认证响应中还可以包括通信密钥的密钥标识符,该通信密钥的密钥标识符和共享密钥的密钥标识符对应,在下次生成通信密钥过程中,在类似S502的步骤之前,可以使得AApF通过KAKMA1的密钥标识符确定KAF2的密钥标识符,从而确定KAF2。
S505,AApF保存通信密钥和通信密钥的有效期。
可选地,若该认证响应中包括通信密钥的密钥标识符,AApF还可以保存通信密钥的密钥标识符。
S506,AApF向UE发送应用响应,该应用响应包括该第一密钥更新参数。
可选地,AAuF可以将该第一密钥更新参数承载于其他消息中,或者,将该第一密钥更新参数通过信息独立发送给UE。
可选地,该应用响应还包括该通信密钥的有效期。
这样,在S507之后,UE在与AApF建立安全通信之前,可以检查该通信密钥的有效期;若该通信密钥的有效期未过期,则UE可以向AApF发送通信请求,AApF在接收到该通信请求后,不需要向AAuF发送认证请求,直接反馈该通信请求响应,UE在接收到该通信请求响应后,就可以与AApF进行安全通信;若该通信密钥的有效期过期,则可以执行S501。作为示例而非限定,该通信请求可以是传输层安全性协议(transport layer security,TLS)。
S507,UE获得该第一密钥更新参数,并且,根据该第一密钥更新参数和该共享密钥,生成该通信密钥。
若第一密钥更新参数是count值,则UE会将接收到的count值和保存的count值进行比较,若接收到的count值大,则保存该count值,并把该count值作为生成KAF2的更新参数,并且,将该count值加1并保存;若接收到的count值小,则放弃操作,意味着生成KAF2失败。
若第一密钥更新参数是nonce值,则直接将该nonce值作为更新KAF1的更新参数,生成KAF2。
其中,UE根据第一密钥更新参数和共享密钥生成KAF2的方式可以参考S503中AAuF生成KAF2的方式,为了简洁,不再赘述。
图8所示为本申请实施例的生成通信密钥的另一示意性交互图,参与方包括:UE、AAuF和AApF。
S601、UE生成第一密钥更新参数,根据该第一密钥更新参数和共享密钥,生成通信密钥。
应理解,在该步骤中,基于该第一密钥更新参数和共享密钥生成的通信密钥KAF2可以是首次生成的通信密钥,也可以是更新已有的通信密钥(即,KAF1)生成的新的通信密钥,其中,KAF1可以是图5对应的实施例中的通信密钥,也可以是在S501之前基于其他密钥更新参数和共享密钥生成的通信密钥,本申请实施例不限于此。
可选地,UE在共享密钥的有效期内,根据该第一密钥更新参数和共享密钥生成通信密钥;或者说,在S601之前,UE根据共享密钥的有效期,确定共享密钥有效。
具体而言,在S601之前,UE可以检查保存的共享密钥的有效期是否过期:若共享密钥的有效期过期,则可以参考图4或图6对应的实施例的具体实现方式生成新的共享密钥,执行S601,这里,将新的共享密钥作为KAKMA1;若共享密钥的有效期未过期,则执行S601,这里,将未过期的共享密钥作为KAKMA1。
可选地,在S601之前,UE可以检查保存的通信密钥(即,KAF1)的有效期是否过期:若KAF1的有效期未过期,则不更新KAF1,UE向AApF发送应用请求,该应用请求不包括该第一密钥更新参数,AApF向UE发送应用响应,UE与AApF根据KAF1进行安全通信;若KAF1的有效期过期,则执行S601。
可选地,UE可以先检查保存的共享密钥的有效期,在共享密钥的有效期未过期的情况下,UE再检查保存的通信密钥KAF1的有效期:若KAF1的有效期未过期,则不更新KAF1,UE向AApF发送应用请求,该应用请求不包括该第一密钥更新参数,AApF向UE发送应用响应,UE与AApF根据KAF1进行安全通信;若KAF1的有效期过期,则执行S601。
这里,UE根据第一密钥更新参数和共享密钥生成通信密钥的方式可以参考图7对应的实施例中S503中AAuF生成KAF2的方式,仅是执行主体的不同而已,为了简洁,不再赘述。
需要说明的是,若第一密钥更新参数是count值,则UE在生成KAF2之后,将count值加1并保存;若第一密钥更新参数是nonce值,则UE在生成KAF2之后不加1。
S602,UE向AApF发送应用请求,该应用请求包括共享密钥的密钥标识符(例如,B-TID)和第一密钥更新参数。
可选地,UE可以将该第一密钥更新参数承载于其他消息中,或者,将该第一密钥更新参数通过信息独立发送给AApF,最终发送至AAuF。
S603,AApF向AAuF发送认证请求,该认证请求包括共享密钥的密钥标识符、AApF标识和第一密钥更新参数。
可选地,AApF可以将该第一密钥更新参数承载于其他消息中,或者,将该第一密钥更新参数通过信息独立发送给AAuF。
可选地,该认证请求还包括AApF标识,可以作为S604中生成通信密钥的参数,以及,在S604中可以用于确定应用功能网元的预设有效时长。
在本申请实施例中,AApF可以基于以下任一种情况确定是否发送认证请求。
可选地,在S603之前,AApF可以检查该认证请求中是否存在该第一密钥更新参数,若存在,则AApF确定需要更新已有的通信密钥(即,KAF1),执行S603;若不存在该第一密钥更新参数,则AApF认为不需要更新KAF1,可以直接反馈应用响应,基于KAF1与UE安全通信。
可选地,在S603之前,AApF可以检查是否存在密钥标识符所标识的共享密钥对应的通信密钥,若存在对应的通信密钥,可以进一步检查通信密钥的有效期是否过期,若没有过期,则不更新已有的通信密钥,AApF向UE发送应用响应,UE与AApF基于已有的进行安全通信;若不存在对应的通信密钥,或者,存在对应的通信密钥但对应的通信密钥的有效期过期,则执行S603。
S604,AAuF根据第一密钥更新参数和共享密钥生成通信密钥。
若第一密钥更新参数是count值,则AAuF会将接收到的count值和保存的count值进行比较,若接收到的count值大,则保存该count值,并把该count值作为生成KAF2的更新参数,并且,将该count值加1并保存;若接收到的count值小,则放弃操作,意味着生成KAF2失败。
若第一密钥更新参数是nonce值,则直接将该nonce值作为更新KAF1的更新参数,生成KAF2。
这里,AAuF根据第一密钥更新参数和共享密钥生成KAF2的方式可以参考S503中AAuF生成KAF2的方式,为了简洁,不再赘述。
此外,AApF也可以相应地确定KAF2的有效期。本申请实施例提供了两种确定KAF2有效期的方式,具体描述可以参考S503中确定KAF2的有效期的方式的相关描述,为了简洁,此处不再赘述。
S605,AAuF向AApF发送认证响应,其中,该认证响应包括通信密钥和通信密钥的有效期。
可选地,该认证响应中还可以包括通信密钥的密钥标识符,KAF2的密钥标识符和KAKMA1的密钥标识符一一对应,在下次更新通信密钥的过程中,在类似S603的步骤之前,可以使得AApF通过KAKMA1的密钥标识符确定KAF2的密钥标识符,从而确定KAF2。
S606,AApF保存通信密钥和通信密钥的有效期。
可选地,若该认证响应中包括通信密钥的密钥标识符,AApF还可以保存KAF2的密钥标识符。
S607,AApF向UE发送应用响应。
UE在接收到该应用响应后,就可以与AApF之间进行安全通信。
可选地,该应用响应可以包括该通信密钥的有效期,和/或,该通信密钥的密钥标识符。
具体而言,在下次更新通信密钥的过程中,KAF2的有效期可以作为更新KAF2的条件。例如,UE可以检查KAF2的有效期是否过期:若KAF2的有效期未过期,则不更新KAF2,UE向AApF发送应用请求,AApF向UE发送应用响应,UE与AApF根据KAF2进行安全通信;若KAF2的有效期过期,则可以按照类似S601的方式更新KAF2。KAF2的密钥标识符和KAKMA1的密钥标识符一一对应,在下次更新通信密钥的过程中,在类似S601的步骤之前,可以通过KAKMA1的密钥标识符确定KAF2的密钥标识符,从而确定KAF2,以进一步检查KAF2的有效期,若KAF2的有效期未过期,则不更新KAF2,UE向AApF发送应用请求,AApF直接向UE反馈应用响应,UE与AApF根据KAF2进行安全通信;若KAF2的有效期过期,则执行类似S601的步骤。
以上,对基于第一密钥更新参数生成通信密钥的方法做了详细说明,下面,结合图9和图10,对基于第二密钥更新参数生成通信密钥的方式做详细说明。图9与图10的主要区别在于,图9是由AAuF生成第二密钥更新参数,将该第二密钥更新参数发送给UE,使得UE基于接收到的第二密钥更新参数生成共享密钥,进而基于共享密钥生成通信密钥,图10是UE生成第二密钥更新参数,将该第二密钥更新参数发送给AAuF,使得AAuF基于接收到的第二密钥更新参数生成共享密钥,进而基于共享密钥生成通信密钥。
图9所示为本申请实施例的生成通信密钥的方法的另一示意性交互图,参与方包括:UE、AAuF和AApF。
此外,为了便于描述,将更新前的共享密钥记为第一共享密钥,简记为KAKMA1,将更新后的共享密钥记为第二共享密钥,简记为KAKMA2。
S701、UE向AAuF发送应用请求,该应用请求包括指示UE标识。
可选地,UE可以检查本地保存的通信密钥的有效期,若通信密钥的有效期过期,则执行S701,若通信密钥的有效期未过期,则可以放弃操作。
其中,关于UE标识的具体描述可以参考图4对应的实施例中S301中关于UE标识的描述,为了简洁,不再赘述。
S702,AAuF根据UE标识确定第一共享密钥KAKMA1。
具体而言,AAuF确定本地是否保存有UE标识对应的KAKMA1,若存在,则检查KAKMA1的有效期:若KAKMA1的有效期过期,则AAuF可以重新请求AV,参考图4或图6对应的实施例的具体实现方式生成新的KAKMA;若KAKMA1的有效期没有过期,执行S703,也就是说,在KAKMA1的有效期内,执行S703。
S703、AAuF生成第二密钥更新参数,并且,根据该第二密钥更新参数更新第一共享密钥KAKMA1,生成第二共享密钥KAKMA2。
AAuF可以根据该第二密钥更新参数和AV中的CK和IK生成KAKMA2,KAKMA2可以表示为KAKMA2=KDF(第二密钥更新参数,CK||IK),CK和IK是AAuF最近一次从UDM获得的AV中的参数,其中,AV=(RAND,AUTN,CK,IK,XRES),例如,可以将图4或图6对应的实施例生成的共享密钥作为这里的KAKMA1,则AAuF从S302中获得AV中包括CK和IK。
作为示例而非限定,AAuF也可以根据该第二密钥更新参数、CK、IK以及其他密钥参数生成KAKMA2。该其他密钥参数包括但不限于:“字符串”、RAND、UE ID和AAuF ID。其中,UEID可以是基于S701中的应用请求获得的UE标识的一例,AAuF ID是AAuF的标识的一例,RAND可以是AAuF最近一次从UDM获得的AV中的参数,也可以与AV无关,是AAuF生成的新的随机数RAND,或者,也可以是其他网元将生成的新的随机数RAND发送给AAuF。
若第二密钥更新参数是count值,则AAuF在生成KAKMA2之后,将count值加1并保存;若第二密钥更新参数是nonce值,则AAuF在生成KAKMA2之后不加1。
可选地,S704、AAuF根据该第二密钥更新参数确定第二共享密钥的密钥标识符。
作为示例而非限定,可以通过该第二密钥更新参数、RAND和AAuF的服务域名生成KAKMA2的密钥标识符。
S705、AAuF向UE发送应用响应,该应用响应包括:第二共享密钥的密钥标识符、第二共享密钥的有效期和该第二密钥更新参数。
其中,该KAKMA2的密钥标识符可以在S707生成通信密钥过程中,UE通过应用请求将KAKMA2的密钥标识符发送给AApF,以便于AApF检查是否存在对应的通信密钥,具体描述可以参考图5对应的实施例的S312的相关描述。KAKMA2的有效期可以在S707生成通信密钥过程中,UE可以根据KAKMA2的有效期判断KAKMA2的有效期是否过期,若过期,则可以参考图4或图6对应的实施例的具体实现方式生成新的KAKMA;若未过期,则根据KAKMA2生成通信密钥,具体描述可以参考图5对应的实施例的S310的相关描述。
AAuF可以将该第二密钥更新参数承载于其他消息中,或者,将该第一密钥更新参数通过信息独立发送给UE。
S706、UE根据获得的该第二密钥更新参数更新该第一共享密钥,生成第二共享密钥。
若第二密钥更新参数是count值,则UE比较接收到的count值和保存的count值,若接收到的count值大,保存该count值,并把该count值作为生成KAKMA2的参数,并且,将该count值加1并保存;若第二密钥更新参数是nonce值,则直接将该nonce值作为生成KAKMA2的参数。
其中,UE根据第二密钥更新参数生成KAKMA2的方式可以参考S703中AAuF生成KAKMA2的方式,为了简洁,不再赘述。
S707、UE和AAuF根据第二共享密钥,生成通信密钥。
其中,关于生成通信密钥的方式的具体描述可以参考图5对应的实施例的相关描述,为了简洁,不再赘述。
图10所示为本申请实施例的生成通信密钥的另一示意性交互图,参与方包括:UE、AAuF和AApF。
S801、UE向AAuF发送应用请求,该应用请求包括指示UE标识和第二密钥更新参数。
可选地,UE可以检查本地保存的通信密钥的有效期,若通信密钥的有效期过期,则执行S801,若通信密钥的有效期未过期,则可以放弃操作。
可选地,UE可以检查本地保存的共享密钥的有效期,若共享密钥的有效期过期,则可以参考图4或图6对应的实施例的具体实现方式生成新的共享密钥,参考图5对应的实施例的具体实现方式生成通信密钥;若共享密钥的有效期未过期,则执行S801,这里,将未过期的共享密钥记为KAKMA1。
可选地,UE也可以先检查本地保存的通信密钥的有效期,若通信密钥的有效期过期,可以进一步检查本地保存的共享密钥的有效期,若共享密钥的有效期未过期,则执行S801,这里,将未过期的共享密钥记为KAKMA1。若共享密钥的有效期过期,则可以参考图4或图6对应的实施例的具体实现方式生成新的共享密钥,参考图5对应的实施例的具体实现方式生成通信密钥。
其中,关于UE标识的具体描述可以参考图4对应的实施例中S301中关于UE标识的描述,为了简洁,不再赘述。
S802,AAuF根据UE标识确定第一共享密钥KAKMA1。
具体而言,AAuF确定本地是否保存有UE标识对应的KAKMA1,若存在,则检查KAKMA1的有效期:若KAKMA1的有效期过期,则AAuF可以重新请求AV,参考图4或图6对应的实施例的具体实现方式生成新的KAKMA;若KAKMA1的有效期没有过期,执行S803,也就是说,在KAKMA1的有效期内,执行S803。
S803、AAuF生成第二密钥更新参数,并且,根据该第二密钥更新参数更新第一共享密钥KAKMA1,生成第二共享密钥KAKMA2。
若第二密钥更新参数是count值,则AAuF比较接收到的count值和保存的count值,若接收到的count值大,保存该count值,并把该count值作为生成KAKMA2的参数,并且,将该count值加1并保存;若第二密钥更新参数是nonce值,则直接将该nonce值作为生成KAKMA2的参数。
其中,AAuF根据第二密钥更新参数生成KAKMA2的方式可以参考S703中AAuF生成KAKMA2的方式,为了简洁,不再赘述。
可选地,S804、AAuF根据该第二密钥更新参数确定第二共享密钥的密钥标识符。
作为示例而非限定,可以通过该第二密钥更新参数、RAND和AAuF的服务域名生成KAKMA2的密钥标识符。
S805、AAuF向UE发送应用响应,该应用响应包括第二共享密钥的密钥标识符和第二共享密钥的有效期。
其中,关于KAKMA2的密钥标识符和KAKMA2的有效期的描述可以参考S705的相关描述。
S806、UE根据该第二密钥更新参数更新该第一共享密钥,生成第二共享密钥。
若第二密钥更新参数是count值,则UE比较接收到的count值和保存的count值,若接收到的count值大,保存该count值,并把该count值作为生成KAKMA2的参数,并且,将该count值加1并保存;若第二密钥更新参数是nonce值,则直接将该nonce值作为生成KAKMA2的参数。
其中,UE根据第二密钥更新参数生成KAKMA2的方式可以参考S703中AAuF生成KAKMA2的方式,为了简洁,不再赘述。
需要说明的是,S806可以不需要在S805之后执行,只要在UE生成第二密钥更新参数之后执行即可,这里仅为示意性说明,不应对本申请实施例构成限定。
S807、UE和AAuF根据该第二共享密钥,生成通信密钥。
其中,关于生成通信密钥的方式的具体描述可以参考图5对应的实施例的相关描述,为了简洁,不再赘述。
以上,对基于密钥更新参数生成通信密钥的方式做了详细说明,在本申请实施例中,在生成通信密钥的基础上,还可以通过消息鉴别码(message authentication code,MAC)对各个网元之间交互的信息做完整性保护,以验证信息没有被篡改过。以下,结合图11至图13,对生成通信密钥过程中加入完整性保护的实施例做详细说明。
图11所示为本申请实施例的生成通信密钥的另一示意性交互图。该实施例是在图7对应的实施例的基础上通过MAC对消息进行完整性保护,因此,仅对与MAC有关的步骤进行详细说明,其余步骤可以参考图7对应的实施例的步骤。
S901、UE向AApF发送应用请求,该应用请求包括共享密钥的密钥标识符(例如,B-TID)。
其中,关于S901的具体描述可以参考S501的相关描述,此处不再赘述。
S902、UE向AApF发送第一MAC消息,该第一MAC信息用于指示第一MAC,第一MAC是UE基于KAKMA1对该应用请求做完整性保护生成的,作为示例而非限定,第一MAC是基于KAKMA1和该应用请求中的参数生成的。
应理解,S901和S902可以同时执行,也可以一前一后执行。
可选地,该第一MAC信息和该应用请求可以承载于同一个消息中,通过该消息同时发送该第一MAC信息和该应用请求。或者,可以这么理解,在原有的应用请求中添加该第一MAC,以形成新的应用请求。
S903、AApF向AAuF发送该第一MAC消息。
S904,AApF向AAuF发送认证请求,该认证请求该应用请求,即,包括该共享密钥的密钥标识符。
可选地,该认证请求中包括AApF标识。
其中,关于S904的具体描述可以参考S502的相关描述,此处不再赘述。
应理解,S903和S904可以同时执行,也可以一前一后执行。
可选地,该第一MAC信息和该认证请求可以位于同一个消息中,通过该消息同时发送该第一MAC信息和该认证请求。或者,可以这么理解,在原有的认证请求中添加该第一MAC,以形成新的认证请求。
S905,AAuF验证该第一MAC,验证成功后,生成第一密钥更新参数,并且,根据该第一密钥更新参数和该共享密钥生成通信密钥。
AAuF根据KAKMA1、该应用请求以及第一MAC,确定该应用请求没有被篡改。具体而言,与生成第一MAC的方式相同,AAuF基于KAKMA1对该应用请求做完整性保护生成第一MAC,作为示例而非限定,基于KAKMA1和该应用请求中的参数生成第一MAC,并且,将生成的第一MAC与接收到的第一MAC比较,若两个第一MAC的值相同,则验证成功,可以确定该应用请求在传送过程中没有被篡改。随后,可以根据第一密钥更新参数和KAKMA1生成KAF2,具体描述可以参考S503的相关描述,此处不再赘述。
S906,AAuF向AApF发送认证响应,其中,该认证响应包括:通信密钥、通信密钥的有效期和第一密钥更新参数。
S907,AApF保存通信密钥和通信密钥的有效期。
S908,AApF向UE发送应用响应,该应用响应包括该第一密钥更新参数。
其中,关于S906、S907和S908具体描述可以分别参考关于S504、S505和S506的相关描述,此处不再赘述。
S909、AApF向UE发送第三MAC消息,该第三MAC消息用于指示第三MAC,该第三MAC是AApF基于KAF2对该应用响应做完整性保护生成的。
应理解,S908和S909可以同时执行,也可以一前一后执行。
可选地,该第三MAC信息和该应用响应可以位于同一个消息中,通过该消息同时发送该第三MAC信息和该应用响应。或者,可以这么理解,在原有的应用响应中添加该第三MAC,以形成新的应用响应。
S910,UE验证第三MAC,验证成功后,根据获得的该第一密钥更新参数和该共享密钥,生成该通信密钥。
UE根据KAF2、该应用响应以及第三MAC,确定该应用响应没有被篡改。具体而言,与生成第三MAC的方式相同,UE基于KAF2对该应用响应做完整性保护生成第三MAC,作为示例而非限定,基于KAF2和该应用响应中的参数生成第三MAC,并且,将生成的第三MAC与接收到的第三MAC比较,若两个第三MAC的值相同,则验证成功,可以确定该应用响应在传送过程中没有被篡改。随后,可以根据第一密钥更新参数和KAKMA1生成KAF2,具体描述可以参考S507的相关描述,此处不再赘述。
图12所示为本申请实施例的生成通信密钥的另一示意性交互图。该实施例是在图8对应的实施例的基础上通过MAC对消息进行完整性保护,同理,仅对与MAC有关的步骤进行详细说明,其余步骤可以参考图8对应的实施例的步骤。
S1001、UE生成第一密钥更新参数,并且,根据第一密钥更新参数和第一密钥参数更新KAF1,以生成KAF2。
其中,关于S1001的具体描述可以参考S601的相关描述,此处不再赘述。
S1002、UE向AApF发送应用请求,该应用请求包括共享密钥的密钥标识符(例如,B-TID)和第一密钥更新参数。
其中,关于S1002的具体描述可以参考S602的相关描述,此处不再赘述。
S1003、UE向AApF发送第一MAC消息,该第一MAC信息用于指示第一MAC,该第一MAC是UE基于KAKMA1对该应用请求做完整性保护生成的,作为示例而非限定,该第一MAC是基于KAKMA1和该应用请求中的参数生成的。
应理解,S1002和S1003可以同时执行,也可以一前一后执行。
可选地,该第一MAC信息和该应用请求可以承载于同一个消息中,通过该消息同时发送该第一MAC信息和该应用请求。或者,可以这么理解,在原有的应用请求中添加该第一MAC,以形成新的应用请求。
S1004、AApF向AAuF发送该第一MAC消息。
S1005,AApF向AAuF发送认证请求,该认证请求包括该应用请求,即,包括该共享密钥的密钥标识符和该第一密钥更新参数。
可选地,该认证请求中包括AApF标识。
其中,关于S1005的具体描述可以参考S603的相关描述,此处不再赘述。
应理解,S1004和S1005可以同时执行,也可以一前一后执行。
可选地,该第一MAC信息和该认证请求可以位于同一个消息中,通过该消息同时发送该第一MAC信息和该认证请求。或者,可以这么理解,在原有的认证请求中添加该第一MAC,以形成新的认证请求。
S1006,AAuF验证该第一MAC,验证成功后,并且,根据获得的该第一密钥更新参数和该共享密钥生成通信密钥。
AAuF根据KAKMA1、该应用请求以及该第一MAC,确定该应用请求没有被篡改。具体而言,与生成第一MAC的方式相同,AAuF基于KAKMA1对该应用请求做完整性保护生成第一MAC,作为示例而非限定,基于KAKMA1和该应用请求中的参数生成第一MAC,并且,将生成的第一MAC与接收到的第一MAC比较,若两个第一MAC的值相同,则验证成功,可以确定该应用请求在传送过程中没有被篡改。随后,可以根据第一密钥更新参数和KAKMA1生成KAF2,具体描述可以参考S604的相关描述,此处不再赘述。
S1007,AAuF向AApF发送认证响应,其中,该认证响应包括:通信密钥和通信密钥的有效期。
S1008,AApF保存通信密钥和通信密钥的有效期。
S1009,AApF向UE发送应用响应。
其中,关于S1007、S1008和S1009的具体描述可以分别参考关于S604、S605和S606的相关描述,此处不再赘述。
S1010、AApF向UE发送第三MAC消息,该第三MAC消息用于指示第三MAC,该第三MAC是AApF基于KAF2对该应用响应做完整性保护生成的。
应理解,S1009和S1010可以同时执行,也可以一前一后执行。
可选地,该第三MAC信息和该应用响应可以位于同一个消息中,通过该消息同时发送该第三MAC信息和该应用响应。或者,可以这么理解,在原有的应用响应中添加该第三MAC,以形成新的应用响应。
S1011,UE验证第三MAC。
UE根据KAF2、该应用响应以及第三MAC,确定该应用响应没有被篡改。具体而言,与生成第三MAC的方式相同,UE基于KAF2对该应用响应做完整性保护生成第三MAC,作为示例而非限定,基于KAF2和该应用响应中的参数生成第三MAC,并且,将生成的第三MAC与接收到的第三MAC比较,若两个第三MAC的值相同,则验证成功,可以确定该应用响应在传送过程中没有被篡改。随后,UE与AApF可以通过KAF2安全通信。
图13所示为本申请实施例的生成通信密钥的另一示意性交互图。该实施例是在图8对应的实施例的基础上通过MAC对消息进行完整性保护,同理,仅对与MAC有关的步骤进行详细说明,其余步骤可以参考图8对应的实施例的步骤。
S1101、UE生成第一密钥更新参数,并且,根据第一密钥更新参数和第一密钥参数更新KAF1,以生成KAF2。
其中,关于S1101的具体描述可以参考S601的相关描述,此处不再赘述。
S1102、UE向AApF发送应用请求,该应用请求包括共享密钥的密钥标识符(例如,B-TID)和第一密钥更新参数。
其中,关于S1102的具体描述可以参考S602的相关描述,此处不再赘述。
S1103、UE向AApF发送第二MAC消息,该第二MAC信息用于指示第二MAC,第二MAC是UE基于KAF2对该应用请求做完整性保护生成的,作为示例而非限定,第二MAC是基于KAF2和该应用请求中的参数生成的。
应理解,S1102和S1103可以同时执行,也可以一前一后执行。
可选地,该第二MAC信息和该应用请求可以承载于同一个消息中,通过该消息同时发送该第二MAC信息和该应用请求。或者,可以这么理解,在原有的应用请求中添加该第二MAC,以形成新的应用请求。
S1104、AApF向AAuF发送该第二MAC消息。
S1105,AApF向AAuF发送认证请求,该认证请求包括该共享密钥的密钥标识符和该第一密钥更新参数。
可选地,该认证请求中包括AApF标识。
其中,关于S1105的具体描述可以参考S603的相关描述,此处不再赘述。
应理解,S1104和S1105可以同时执行,也可以一前一后执行。
可选地,该第二MAC信息和该认证请求可以位于同一个消息中,通过该消息同时发送该第二MAC信息和该认证请求。或者,可以这么理解,在原有的认证请求中添加该第二MAC,以形成新的认证请求。
S1106,AAuF根据获得的该第一密钥更新参数和该共享密钥生成通信密钥。
其中,关于S1106的具体描述可以参考S604的相关描述,此处不再赘述。
S1107,AAuF向AApF发送认证响应,其中,该认证响应包括:通信密钥和通信密钥的有效期。
其中,关于S1107的具体描述可以参考关于S605的相关描述,此处不再赘述。
S1108,AApF验证该第二MAC,验证成功后,保存通信密钥和通信密钥的有效期。
AApF根据KAF2、在S1102中接收到的该应用请求以及该第二MAC,确定该应用请求没有被篡改。具体而言,与生成第二MAC的方式相同,AAuF基于KAF2对该应用请求做完整性保护生成第二MAC,作为示例而非限定,基于KAF2和该应用请求中的参数生成第二MAC,并且,将生成的第二MAC与接收到的第二MAC比较,若两个第二MAC的值相同,则验证成功,可以确定该应用请求在传送过程中没有被篡改。随后,保存KAF2和KAF2的有效期,执行S1109和S1110。
S1109,AApF向UE发送应用响应。
其中,关于S1109的具体描述可以参考关于S606的相关描述,此处不再赘述。
S1110、AApF向UE发送第三MAC消息,该第三MAC消息用于指示第三MAC,该第三MAC是AApF基于KAF2对该应用响应做完整性保护生成的。
S1111,UE验证该第三MAC。
其中,关于S1110和S1111的具体描述可以分别参考关于S1010和S1011的相关描述,此处不再赘述。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图13,详细描述了根据本申请实施例的生成密钥的方法,下面将结合图14至图15,详细描述根据本申请实施例的生成密钥的方法的装置。
图14示出了本申请实施例的生成密钥的装置1400,该装置1400可以是锚功能网元,也可以为锚功能网元中的芯片。该装置1400可以是终端设备,也可以为终端设备中的芯片。该装置1400可以是应用功能网元,也可以为应用功能网元中的芯片。该装置1400包括:收发单元1410和/或处理单元1420,在某些实施例中,该装置1400可以仅包括处理单元1420,或者,该装置1400可以仅包括收发单元1410。
在一种可能的实现方式中,装置1400用于执行上述图7、图8、图11、图12或图13中任一个图对应的实施例中锚功能网元对应的各个流程和步骤,该装置1400包括收发单元1410和处理单元1420。
收发单元1410用于:接收所述应用功能网元发送的认证请求,所述认证请求息包括密钥标识符;
处理单元1420用于:
根据所述密钥标识符,确定所述终端设备与所述锚功能网元之间的共享密钥;
根据所述共享密钥和密钥更新参数,生成所述通信密钥;
确定所述通信密钥的有效期;
收发单元1410还用于:
向所述应用功能网元发送认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期。
可选地,处理单元1420具体用于:
在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
可选地,处理单元1420具体用于:
根据所述通信密钥的预设有效时长,确定所述通信密钥的有效期。
可选地,处理单元1420具体用于:
在所述共享密钥的剩余有效时长小于所述通信密钥的预设有效时长的情况下,所述锚功能网元根据所述共享密钥的剩余有效时长确定所述通信密钥的有效期;或者,
在所述共享密钥的剩余有效时长大于所述通信密钥的预设有效时长的情况下,所述锚功能网元根据所述通信密钥的预设有效时长确定所述通信密钥的有效期。
可选地,收发单元1410还用于:
接收所述终端设备通过应用功能网元发送的所述密钥更新参数。
可选地,收发单元1410还用于:
通过所述应用功能网元向所述终端设备发送所述密钥更新参数。
可选地,所述认证请求还包括所述应用功能网元的标识;以及,
处理单元1420具体用于:
根据所述共享密钥、所述密钥更新参数和所述应用功能网元的标识,生成所述通信密钥。
可选地,处理单元1420具体用于:
根据所述应用功能网元的标识对应的预设有效时长,确定所述通信密钥的有效期。
可选地,收发单元1410还用于:
接收所述终端设备通过应用功能网元发送的应用请求和第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的;
根据所述共享密钥、所述应用请求验证以及所述第一MAC,确定所述应用请求没有被篡改。
在一种可能的实现方式中,装置1400用于执行上述图7、图8、图11、图12或图13中任一个图对应的实施例中终端设备对应的各个流程和步骤,该装置1400包括处理单元1420和收发单元1410。
处理单元1420用于:
向所述应用功能网元发送应用请求,所述应用请求包括所述终端设备与锚功能网元之间的共享密钥的密钥标识符;
根据所述共享密钥和密钥更新参数,生成所述通信密钥。
可选地,处理单元1420还用于:
在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
可选地,处理单元1420还用于:
确定所述终端设备与所述应用功能网元之间通信的原通信密钥过期;
收发单元1410用于:
接收所述锚功能网元通过所述应用功能网元发送的所述通信密钥的有效期。
可选地,收发单元1410还用于:
通过所述应用功能网元向所述锚功能网元发送所述密钥更新参数。
可选地,收发单元1410还用于:
接收所述锚功能网元通过应用功能网元发送的所述密钥更新参数。
可选地,收发单元1410还用于:
通过所述应用功能网元向所述锚功能网元发送应用请求和第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的。
可选地,收发单元1410还用于:
向所述应用功能网元发送应用请求和第二MAC,所述第二MAC是基于所述通信密钥对所述应用请求做完整性保护生成的。
可选地,收发单元1410还用于:
接收所述应用功能网元发送的第三MAC和针对所述应用请求的应用响应,所述第三MAC是基于所述通信密钥对所述应用响应做完整性保护生成的;
处理单元1420还用于:
根据所述通信密钥、所述应用响应以及所述第三MAC,确定所述应用请求没有被篡改。
在一种可能的实现方式中,装置1400用于执行上述图7、图8、图11、图12或图13中任一个图对应的实施例中应用功能网元对应的各个流程和步骤,该装置1400包括收发单元1410,可选地,装置1400包括处理单元1420。
收发单元1410用于:
接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备与所述锚功能网元之间的共享密钥的密钥标识符和密钥更新参数,所述密钥更新参数用于生成所述通信密钥;
向所述锚功能网元发送认证请求,所述认证请求包括所述共享密钥的密钥标识符和所述密钥更新参数;
接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期。
可选地,处理单元1420用于:
确定本地不存在所述通信密钥;或者,
确定本地存在所述通信密钥,且所述通信密钥的有效期过期。
可选地,收发单元1410还用于:
接收所述终端设备发送的第二消息鉴别码MAC,所述第二MAC是基于所述通信密钥对所述应用请求做完整性保护生成的;
处理单元1420还用于:
根据所述通信密钥、所述应用请求以及所述第二MAC,确定所述应用请求没有被篡改。
可选地,收发单元1410还用于:
向所述终端设备发送第三MAC和针对所述应用请求的应用响应,所述第三MAC是基于所述通信密钥对所述应用响应做完整性保护生成的。
在一种可能的实现方式中,装置1400用于执行上述图7、图8、图11、图12或图13中任一个图对应的实施例中应用功能网元对应的各个流程和步骤,该装置1400包括收发单元1410,可选地,装置1400包括处理单元1420。
收发单元1410用于:
接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备与锚功能网元之间的共享密钥的密钥标识符;
向所述锚功能网元发送认证请求,所述认证请求包括所述共享密钥的密钥标识符;
接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥、所述通信密钥的有效期和密钥更新参数,所述密钥更新参数用于生成所述通信密钥。
向所述终端设备发送应用响应,所述应用响应包括所述密钥更新参数。
可选地,处理单元1420用于:
确定本地不存在所述通信密钥;或者,
确定本地存在所述通信密钥,且所述通信密钥的有效期过期。
可选地,收发单元1410还用于:
接收所述终端设备发送的第二消息鉴别码MAC,所述第二MAC是基于所述通信密钥对所述应用请求做完整性保护生成的;
处理单元1420还用于:
根据所述通信密钥、所述应用请求以及所述第二MAC,确定所述应用请求没有被篡改。
可选地,收发单元1410还用于:
向所述终端设备发送第三MAC,所述第三MAC是基于所述通信密钥对所述应用响应做完整性保护生成的。
在一种可能的实现方式中,装置1400用于执行上述图9或图10对应的实施例中锚功能网元对应的各个流程和步骤。该装置1400包括收发单元1410和处理单元1420。
收发单元1410用于:
接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备的标识;
处理单元1420用于:
根据所述终端设备的标识,确定所述终端设备的标识对应的第一共享密钥,所述第一共享密钥是所述终端设备与所述锚功能网元之间的密钥;
在所述第一共享密钥的有效期内,根据密钥更新参数更新所述第一共享密钥,以生成第二共享密钥;
向所述终端设备发送应用响应,所述应用响应包括所述第二共享密钥的有效期和所述第二共享密钥的密钥标识符;
根据所述第二共享密钥,生成所述通信密钥。
可选地,收发单元1410还用于:
所述锚功能网元向所述终端设备发送所述密钥更新参数。
可选地,收发单元1410还用于:
所述锚功能网元接收所述终端设备发送的所述密钥更新参数。
可选地,所述第二共享密钥的密钥标识符是基于所述密钥更新参数生成的。
在一种可能的实现方式中,装置1400用于执行上述图9或图10对应的实施例中应用功能网元对应的各个流程和步骤。该装置1400包括收发单元1410和处理单元1420。
处理单元1420用于:
根据所述终端设备的标识,确定所述终端设备的标识对应的第一共享密钥,所述第一共享密钥是所述终端设备与所述锚功能网元之间的密钥;
在所述第一共享密钥的有效期内,根据密钥更新参数更新所述第一共享密钥,以生成第二共享密钥;
所述终端设备根据所述第二共享密钥,生成所述通信密钥;
收发单元1410用于:
接收所述锚功能网元发送的应用响应,所述应用响应包括所述第二共享密钥的有效期和所述第二共享密钥的密钥标识符;
可选地,收发单元1410还用于:
接收所述锚功能网元发送的所述密钥更新参数。
可选地,收发单元1410还用于:
向所述锚功能网元发送所述密钥更新参数。
可选地,所述第二共享密钥的密钥标识符基于所述密钥更新参数生成的。
应理解,这里的装置1400以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置1400可以具体为上述实施例中的锚功能网元、终端设备或应用功能网元,装置1400可以用于执行上述方法实施例中与锚功能网元、终端设备或应用功能网元对应的各个流程和/或步骤,为避免重复,在此不再赘述。
上述各个方案的装置1400具有实现上述方法中锚功能网元、终端设备或应用功能网元执行的相应步骤的功能;所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块;例如收发单元可以由发射机和接收机替代,其它单元,如处理单元等可以由处理器替代,分别执行各个方法实施例中的收发操作以及相关的处理操作。此外,装置1400中的收发单元也可以由发送单元和接收单元组成,对于执行与接收相关的操作,可以将该收发单元的功能理解为接收单元执行的接收操作,对于执行与发送相关的操作,可以将该收发单元的功能理解为发送单元执行的发送操作。
在本申请的实施例,图14中的装置也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。对应的,收发单元可以是该芯片的收发电路,在此不做限定。
图15示出了本申请实施例提供的生成密钥的装置1500。该装置1500包括处理器1510、收发器1520和存储器1530。其中,处理器1510、收发器1520和存储器1530通过内部连接通路互相通信,该存储器1530用于存储指令,该处理器1510用于执行该存储器1530存储的指令,以控制该收发器1520发送信号和/或接收信号。
在一种可能的实现方式中,装置1500用于执行上述图7、图8、图11、图12或图13中任一个图对应的实施例中锚功能网元对应的各个流程和步骤。
收发器1520用于:
接收所述应用功能网元发送的认证请求,所述认证请求息包括密钥标识符;
处理器1510用于:
根据所述密钥标识符,确定所述终端设备与所述锚功能网元之间的共享密钥;
根据所述共享密钥和密钥更新参数,生成所述通信密钥;
确定所述通信密钥的有效期;
收发器1520还用于:
向所述应用功能网元发送认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期。
可选地,处理器1510具体用于:
在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
可选地,处理器1510具体用于:
根据所述通信密钥的预设有效时长,确定所述通信密钥的有效期。
可选地,处理器1510具体用于:
在所述共享密钥的剩余有效时长小于所述通信密钥的预设有效时长的情况下,所述锚功能网元根据所述共享密钥的剩余有效时长确定所述通信密钥的有效期;或者,
在所述共享密钥的剩余有效时长大于所述通信密钥的预设有效时长的情况下,所述锚功能网元根据所述通信密钥的预设有效时长确定所述通信密钥的有效期。
可选地,收发器1520还用于:
接收所述终端设备通过应用功能网元发送的所述密钥更新参数。
可选地,收发器1520还用于:
通过所述应用功能网元向所述终端设备发送所述密钥更新参数。
可选地,所述认证请求还包括所述应用功能网元的标识;以及,
处理器1510具体用于:
根据所述共享密钥、所述密钥更新参数和所述应用功能网元的标识,生成所述通信密钥。
可选地,处理器1510具体用于:
根据所述应用功能网元的标识对应的预设有效时长,确定所述通信密钥的有效期。
可选地,收发器1520还用于:
接收所述终端设备通过应用功能网元发送的应用请求和第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的;
处理器1510还用于:
根据所述共享密钥、所述应用请求验证以及所述第一MAC,确定所述应用请求没有被篡改。
在一种可能的实现方式中,装置1500用于执行上述图7、图8、图11、图12或图13中任一个图对应的实施例中终端设备对应的各个流程和步骤。
收发器1520用于:
向所述应用功能网元发送应用请求,所述应用请求包括所述终端设备与锚功能网元之间的共享密钥的密钥标识符;
处理器1510用于:
根据所述共享密钥和密钥更新参数,生成所述通信密钥;
可选地,处理器1510具体用于:
在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
可选地,处理器1510还用于:
确定所述终端设备与所述应用功能网元之间通信的原通信密钥过期;
收发器1520还用于:
接收所述锚功能网元通过所述应用功能网元发送的所述通信密钥的有效期。
可选地,收发器1520还用于:
通过所述应用功能网元向所述锚功能网元发送所述密钥更新参数。
可选地,收发器1520还用于:
接收所述锚功能网元通过应用功能网元发送的所述密钥更新参数。
可选地,收发器1520还用于:
通过所述应用功能网元向所述锚功能网元发送第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的。
可选地,收发器1520还用于:
向所述应用功能网元发送应用请求和第二MAC,所述第二MAC是基于所述通信密钥对所述应用请求做完整性保护生成的。
可选地,收发器1520还用于:
接收所述应用功能网元发送的第三MAC和针对所述应用请求的应用响应,所述第三MAC是基于所述通信密钥对所述应用响应做完整性保护生成的;
处理器1510还用于:
根据所述通信密钥、所述应用响应以及所述第三MAC,确定所述应用请求没有被篡改。
在一种可能的实现方式中,装置1500用于执行上述图7、图8、图11、图12或图13中任一个图对应的实施例中应用功能网元对应的各个流程和步骤。
收发器1520用于:
接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备与所述锚功能网元之间的共享密钥的密钥标识符和密钥更新参数,所述密钥更新参数用于生成所述通信密钥;
向所述锚功能网元发送认证请求,所述认证请求包括所述共享密钥的密钥标识符和所述密钥更新参数;
接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期。
可选地,处理器1510用于:
确定本地不存在所述通信密钥;或者,
确定本地存在所述通信密钥,且所述通信密钥的有效期过期。
可选地,收发器1520还用于:
接收所述终端设备发送的第二消息鉴别码MAC,所述第二MAC是基于所述通信密钥对所述应用请求做完整性保护生成的;
处理器1510还用于:
根据所述通信密钥、所述应用请求以及所述第二MAC,确定所述应用请求没有被篡改。
可选地,收发器1520还用于:
向所述终端设备发送第三MAC和针对所述应用请求的应用响应,所述第三MAC是基于所述通信密钥对所述应用响应做完整性保护生成的。
在一种可能的实现方式中,装置1500用于执行上述图7、图8、图11、图12或图13中任一个图对应的实施例中应用功能网元对应的各个流程和步骤。
收发器1520用于:
接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备与锚功能网元之间的共享密钥的密钥标识符;
向所述锚功能网元发送认证请求,所述认证请求包括所述共享密钥的密钥标识符;
接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥、所述通信密钥的有效期和密钥更新参数,所述密钥更新参数用于生成所述通信密钥。
向所述终端设备发送应用响应,所述应用响应包括所述密钥更新参数。
可选地,处理器1510用于:
确定本地不存在所述通信密钥;或者,
确定本地存在所述通信密钥,且所述通信密钥的有效期过期。
可选地,收发器1520还用于:
接收所述终端设备发送的第二消息鉴别码MAC,所述第二MAC是基于所述通信密钥对所述应用请求做完整性保护生成的;
处理器1510还用于:
根据所述通信密钥、所述应用请求以及所述第二MAC,确定所述应用请求没有被篡改。
可选地,收发器1520还用于:
向所述终端设备发送第三MAC,所述第三MAC是基于所述通信密钥对所述应用响应做完整性保护生成的。
在一种可能的实现方式中,装置1500用于执行上述图9或图10对应的实施例中锚功能网元对应的各个流程和步骤。
收发器1520用于:
接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备的标识;
处理器1510用于:
根据所述终端设备的标识,确定所述终端设备的标识对应的第一共享密钥,所述第一共享密钥是所述终端设备与所述锚功能网元之间的密钥;
在所述第一共享密钥的有效期内,根据密钥更新参数更新所述第一共享密钥,以生成第二共享密钥;
向所述终端设备发送应用响应,所述应用响应包括所述第二共享密钥的有效期和所述第二共享密钥的密钥标识符;
根据所述第二共享密钥,生成所述通信密钥。
可选地,收发器1520还用于:
所述锚功能网元向所述终端设备发送所述密钥更新参数。
可选地,收发器1520还用于:
所述锚功能网元接收所述终端设备发送的所述密钥更新参数。
可选地,所述第二共享密钥的密钥标识符是基于所述密钥更新参数生成的。
在一种可能的实现方式中,装置1500用于执行上述图9或图10对应的实施例中应用功能网元对应的各个流程和步骤。
处理器1510用于:
据所述终端设备的标识,确定所述终端设备的标识对应的第一共享密钥,所述第一共享密钥是所述终端设备与所述锚功能网元之间的密钥;
在所述第一共享密钥的有效期内,根据密钥更新参数更新所述第一共享密钥,以生成第二共享密钥;
所述终端设备根据所述第二共享密钥,生成所述通信密钥;
收发器1520用于:
接收所述锚功能网元发送的应用响应,所述应用响应包括所述第二共享密钥的有效期和所述第二共享密钥的密钥标识符;
可选地,收发器1520还用于:
接收所述锚功能网元发送的所述密钥更新参数。
可选地,收发器1520还用于:
向所述锚功能网元发送所述密钥更新参数。
可选地,所述第二共享密钥的密钥标识符基于所述密钥更新参数生成的。
应理解,装置1500可以具体为上述实施例中的锚功能网元、终端设备或应用功能网元,并且可以用于执行上述方法实施例中与锚功能网元、终端设备或应用功能网元对应的各个步骤和/或流程。可选地,该存储器1530可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器1510可以用于执行存储器中存储的指令,并且当该处理器1510执行存储器中存储的指令时,该处理器1510用于执行上述与该终端设备或网络设备对应的方法实施例的各个步骤和/或流程。
应理解,在本申请实施例中,上述装置的处理器可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (34)

1.一种生成密钥的系统,用于生成保护终端设备与应用功能网元之间通信的通信密钥,其特征在于,所述系统包括所述应用功能网元和锚功能网元,其中,
所述应用功能网元用于:
向所述锚功能网元发送认证请求,所述认证请求包括密钥标识符;
接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期;
所述锚功能网元用于:
根据所述密钥标识符,确定所述终端设备与所述锚功能网元之间的共享密钥;
根据所述共享密钥和密钥更新参数,生成所述通信密钥;
确定所述通信密钥的有效期;
向所述应用功能网元发送所述认证响应。
2.根据权利要求1所述的系统,其特征在于,所述认证响应中包括所述密钥更新参数;以及,所述系统还包括终端设备,所述终端设备用于:
向所述应用功能网元发送应用请求,所述应用请求包括所述密钥标识符;
接收所述应用功能网元发送的应用响应,所述应用响应包括所述密钥更新参数;
根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
3.根据权利要求1所述的系统,其特征在于,所述系统还包括终端设备,所述终端设备用于:
根据所述共享密钥和所述密钥更新参数,生成所述通信密钥;
向所述应用功能网元发送应用请求,所述应用请求包括所述密钥标识符和所述密钥更新参数。
4.根据权利要求3所述的系统,其特征在于,所述终端设备还用于:
在向所述应用功能网元发送应用请求之前,确定所述终端设备与所述应用功能网元之间通信的原通信密钥的有效期过期;
接收所述应用功能网元发送的应用响应,所述应用响应包括所述通信密钥的有效期。
5.根据权利要求2至4中任一项所述的系统,其特征在于,所述终端设备具体用于:
在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
6.根据权利要求2至5中任一项所述的系统,其特征在于,
所述终端设备还用于:
向所述应用功能网元发送第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的;
所述应用功能网元还用于:
接收所述终端设备发送的所述第一MAC;
向所述锚功能网元发送所述第一MAC;
所述锚功能网元还用于:
根据所述共享密钥、所述应用请求以及所述第一MAC,确定所述应用请求没有被篡改。
7.根据权利要求1至6中任一项所述的系统,其特征在于,所述锚功能网元具体用于:
在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
8.根据权利要求1至7中任一所述的系统,其特征在于,所述锚功能网元具体用于:
根据所述通信密钥的预设有效时长,确定所述通信密钥的有效期。
9.根据权利要求8所述的系统,其特征在于,所述锚功能网元具体用于:
在所述共享密钥的剩余有效时长小于所述通信密钥的预设有效时长的情况下,根据所述共享密钥的剩余有效时长确定所述通信密钥的有效期;或者,
在所述共享密钥的剩余有效时长大于所述通信密钥的预设有效时长的情况下,根据所述通信密钥的预设有效时长确定所述通信密钥的有效期。
10.根据权利要求1至9中任一项所述的系统,其特征在于,所述认证请求还包括所述应用功能网元的标识;以及,
所述锚功能网元具体用于:
根据所述共享密钥、所述密钥更新参数和所述应用功能网元的标识,生成所述通信密钥。
11.根据权利要求10所述的系统,其特征在于,所述锚功能网元具体用于:
根据所述应用功能网元的标识对应的预设有效时长,确定所述通信密钥的有效期。
12.根据权利要求1至11中任一项所述的系统,其特征在于,在向所述锚功能网元发送认证请求之前,所述应用功能网元还用于:
确定本地不存在所述通信密钥;或者,
确定本地存在所述通信密钥,且所述通信密钥的有效期过期。
13.一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,其特征在于,所述方法包括:
锚功能网元接收所述应用功能网元发送的认证请求,所述认证请求息包括密钥标识符;
所述锚功能网元根据所述密钥标识符,确定所述终端设备与所述锚功能网元之间的共享密钥;
所述锚功能网元根据所述共享密钥和密钥更新参数,生成所述通信密钥;
所述锚功能网元确定所述通信密钥的有效期;
所述锚功能网元向所述应用功能网元发送认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期。
14.根据权利要求13所述的方法,其特征在于,所述锚功能网元根据所述共享密钥和密钥更新参数,生成所述通信密钥,包括:
所述锚功能网元在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
15.根据权利要求14所述的方法,其特征在于,所述锚功能网元确定所述通信密钥的有效期,包括:
所述锚功能网元根据所述通信密钥的预设有效时长,确定所述通信密钥的有效期。
16.根据权利要求15所述的方法,其特征在于,所述锚功能网元根据所述通信密钥的预设有效时长,确定所述通信密钥的有效期,包括:
在所述共享密钥的剩余有效时长小于所述通信密钥的预设有效时长的情况下,所述锚功能网元根据所述共享密钥的剩余有效时长确定所述通信密钥的有效期;或者,
在所述共享密钥的剩余有效时长大于所述通信密钥的预设有效时长的情况下,所述锚功能网元根据所述通信密钥的预设有效时长确定所述通信密钥的有效期。
17.根据权利要求13至16中任一项所述的方法,其特征在于,所述方法还包括:
所述锚功能网元接收所述终端设备通过应用功能网元发送的所述密钥更新参数。
18.根据权利要求13至17中任一项所述的方法,其特征在于,所述方法还包括:
所述锚功能网元通过所述应用功能网元向所述终端设备发送所述密钥更新参数。
19.根据权利要求13至18中任一项所述的方法,其特征在于,所述认证请求还包括所述应用功能网元的标识;以及,
所述锚功能网元根据所述共享密钥和密钥更新参数,生成所述通信密钥,包括:
所述锚功能网元根据所述共享密钥、所述密钥更新参数和所述应用功能网元的标识,生成所述通信密钥。
20.根据权利要求19所述的方法,其特征在于,所述锚功能网元确定所述通信密钥的有效期,包括:
所述锚功能网元根据所述应用功能网元的标识对应的预设有效时长,确定所述通信密钥的有效期。
21.根据权利要求13至20中任一项所述的方法,其特征在于,所述方法还包括:
所述锚功能网元接收所述终端设备通过应用功能网元发送的应用请求和第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的;
所述锚功能网元根据所述共享密钥、所述应用请求验证以及所述第一MAC,确定所述应用请求没有被篡改。
22.一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,其特征在于,所述方法包括:
所述终端设备向所述应用功能网元发送应用请求,所述应用请求包括所述终端设备与锚功能网元之间的共享密钥的密钥标识符;
所述终端设备根据所述共享密钥和密钥更新参数,生成所述通信密钥。
23.根据权利要求21所述的方法,其特征在于,所述终端设备根据所述共享密钥和密钥更新参数,生成所述通信密钥,包括:
所述终端设备在所述共享密钥的有效期内,根据所述共享密钥和所述密钥更新参数,生成所述通信密钥。
24.根据权利要求22或23所述的方法,其特征在于,所述方法还包括:
所述终端设备确定所述终端设备与所述应用功能网元之间通信的原通信密钥的有效期过期;
所述终端设备接收所述锚功能网元通过所述应用功能网元发送的所述通信密钥的有效期。
25.根据权利要求22至24中任一项所述的方法,其特征在于,所述方法还包括:
所述终端设备通过所述应用功能网元向所述锚功能网元发送所述密钥更新参数。
26.根据权利要求22至25中任一项所述的方法,其特征在于,所述方法还包括:
所述终端设备接收所述锚功能网元通过应用功能网元发送的所述密钥更新参数。
27.根据权利要求22至26中任一项所述的方法,其特征在于,所述方法还包括:
所述终端设备通过所述应用功能网元向所述锚功能网元发送第一消息鉴别码MAC,所述第一MAC是基于所述共享密钥对所述应用请求做完整性保护生成的。
28.一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,其特征在于,所述方法包括:
所述应用功能网元接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备与锚功能网元之间的共享密钥的密钥标识符;
所述应用功能网元向所述锚功能网元发送认证请求,所述认证请求包括所述共享密钥的密钥标识符;
所述应用功能网元接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥、所述通信密钥的有效期和密钥更新参数,所述密钥更新参数用于生成所述通信密钥;
所述应用功能网元向所述终端设备发送应用响应,所述应用响应包括所述密钥更新参数。
29.根据权利要求28所述的方法,其特征在于,在所述应用功能网元向所述锚功能网元发送认证请求之前,所述方法还包括:
所述应用功能网元确定本地不存在所述通信密钥;或者,
所述应用功能网元确定本地存在所述通信密钥,且所述通信密钥的有效期过期。
30.一种生成密钥的方法,用于生成保护终端设备与应用功能网元之间通信的通信密钥,其特征在于,所述方法包括:
所述应用功能网元接收所述终端设备发送的应用请求,所述应用请求包括所述终端设备与所述锚功能网元之间的共享密钥的密钥标识符和密钥更新参数,所述密钥更新参数用于生成所述通信密钥;
所述应用功能网元向所述锚功能网元发送认证请求,所述认证请求包括所述共享密钥的密钥标识符和所述密钥更新参数;
所述应用功能网元接收所述锚功能网元发送的认证响应,所述认证响应包括所述通信密钥和所述通信密钥的有效期。
31.一种生成密钥的装置,其特征在于,所述装置包括:
处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述装置执行如权利要求13至21中任一项所述的方法。
32.一种生成密钥的装置,其特征在于,所述装置包括:
处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述装置执行如权利要求22至27中任一项所述的方法。
33.一种生成密钥的装置,其特征在于,所述装置包括:
处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述装置执行如权利要求28至29中任一项所述的方法。
34.一种生成密钥的装置,其特征在于,所述装置包括:
处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述装置执行如权利要求30所述的方法。
CN201910055483.8A 2019-01-21 2019-01-21 生成密钥的方法和装置 Pending CN111464287A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910055483.8A CN111464287A (zh) 2019-01-21 2019-01-21 生成密钥的方法和装置
PCT/CN2020/072622 WO2020151581A1 (zh) 2019-01-21 2020-01-17 生成密钥的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910055483.8A CN111464287A (zh) 2019-01-21 2019-01-21 生成密钥的方法和装置

Publications (1)

Publication Number Publication Date
CN111464287A true CN111464287A (zh) 2020-07-28

Family

ID=71680730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910055483.8A Pending CN111464287A (zh) 2019-01-21 2019-01-21 生成密钥的方法和装置

Country Status (2)

Country Link
CN (1) CN111464287A (zh)
WO (1) WO2020151581A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113316138A (zh) * 2021-04-27 2021-08-27 中盈优创资讯科技有限公司 一种应用层加密实现方法及其实现装置
CN114125834A (zh) * 2020-09-01 2022-03-01 大唐移动通信设备有限公司 一种应用层密钥确定的方法、终端、网络侧设备及装置
WO2022042417A1 (zh) * 2020-08-27 2022-03-03 华为技术有限公司 认证方法、装置及系统
WO2023178530A1 (zh) * 2022-03-22 2023-09-28 Oppo广东移动通信有限公司 生成密钥的方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023515428A (ja) * 2020-02-20 2023-04-13 テレフオンアクチーボラゲット エルエム エリクソン(パブル) アプリケーションのための認証および鍵管理のための鍵材料生成最適化

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065421B (zh) * 2009-11-11 2014-10-08 中国移动通信集团公司 一种更新密钥的方法、装置和系统
CN102238540A (zh) * 2010-04-27 2011-11-09 中国移动通信集团公司 通用引导架构密钥更新的方法、装置与系统
WO2015072899A1 (en) * 2013-11-15 2015-05-21 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for bootstrapping of resource constrained devices

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022042417A1 (zh) * 2020-08-27 2022-03-03 华为技术有限公司 认证方法、装置及系统
CN114125834A (zh) * 2020-09-01 2022-03-01 大唐移动通信设备有限公司 一种应用层密钥确定的方法、终端、网络侧设备及装置
WO2022048265A1 (zh) * 2020-09-01 2022-03-10 大唐移动通信设备有限公司 一种应用层密钥确定的方法、终端、网络侧设备及装置
CN113316138A (zh) * 2021-04-27 2021-08-27 中盈优创资讯科技有限公司 一种应用层加密实现方法及其实现装置
WO2023178530A1 (zh) * 2022-03-22 2023-09-28 Oppo广东移动通信有限公司 生成密钥的方法及装置

Also Published As

Publication number Publication date
WO2020151581A1 (zh) 2020-07-30

Similar Documents

Publication Publication Date Title
JP6778843B2 (ja) 加入秘匿化識別子
CN111464287A (zh) 生成密钥的方法和装置
EP3668042B1 (en) Registration method and apparatus based on service-oriented architecture
KR102033465B1 (ko) 통신 디바이스와 네트워크 디바이스 사이의 통신에서의 보안 설비
EP2037621B1 (en) Method and device for deriving local interface key
US6839434B1 (en) Method and apparatus for performing a key update using bidirectional validation
US8379854B2 (en) Secure wireless communication
EP2912815B1 (en) Method and apparatus for securing a connection in a communications network
US20090061820A1 (en) Method and system of communication using extended sequence number
MX2010012033A (es) Generacion de clave criptografica.
CN101895877B (zh) 密钥协商方法、设备及系统
CN101147377A (zh) 无线通信的安全自启动
US10069822B2 (en) Authenticated network time for mobile device smart cards
CN107205208B (zh) 鉴权的方法、终端和服务器
JP7237200B2 (ja) パラメータ送信方法及び装置
CN101990201B (zh) 生成gba密钥的方法及其系统和设备
CN111654481B (zh) 一种身份认证方法、装置和存储介质
CN115104282B (zh) 一种密钥更新方法及相关装置
CN110212991B (zh) 量子无线网络通信系统
CN111835691B (zh) 一种认证信息处理方法、终端和网络设备
CN107784712A (zh) 一种车联网嵌入式系统车辆电话控制密码校验的方法
CN111836260A (zh) 一种认证信息处理方法、终端和网络设备
WO2021083012A1 (zh) 一种保护认证流程中参数的方法及装置
CN111404669B (zh) 一种密钥生成方法、终端设备及网络设备
CN111404667B (zh) 一种密钥生成方法、终端设备及网络设备

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200728

RJ01 Rejection of invention patent application after publication