CN116235524A - 一种安全通信方法以及装置 - Google Patents
一种安全通信方法以及装置 Download PDFInfo
- Publication number
- CN116235524A CN116235524A CN202080104555.4A CN202080104555A CN116235524A CN 116235524 A CN116235524 A CN 116235524A CN 202080104555 A CN202080104555 A CN 202080104555A CN 116235524 A CN116235524 A CN 116235524A
- Authority
- CN
- China
- Prior art keywords
- key
- network element
- terminal device
- discovery
- proximity service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 185
- 238000004891 communication Methods 0.000 title claims abstract description 108
- 230000006870 function Effects 0.000 claims description 124
- 230000004044 response Effects 0.000 claims description 101
- 238000012795 verification Methods 0.000 claims description 62
- 238000013475 authorization Methods 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000004224 protection Effects 0.000 description 84
- 238000007726 management method Methods 0.000 description 60
- 238000012545 processing Methods 0.000 description 50
- 238000013523 data management Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000003860 storage Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 238000012544 monitoring process Methods 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/75—Temporary identity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种安全通信方法以及装置,用以保证终端设备之间直接通信的安全性。本申请中,第一终端设备可以从第一网元接收密钥生成参数,密钥生成参数包括第一终端设备的邻近业务临时标识;之后,第一终端设备可以根据密钥生成参数生成第一发现密钥;第一终端设备发送邻近业务请求消息,邻近业务请求消息包括邻近业务临时标识和消息完整码,消息完整码是基于发现密钥生成的。第二终端设备接收该邻近业务请求消息,根据消息完整码对第一终端设备进行验证,以保证第一终端设备和第二终端设备进行直接通信的安全性。
Description
本申请涉及通信技术领域,尤其涉及一种安全通信方法以及装置。
目前,在邻近业务场景中,终端设备之间可以进行直接通信,一个终端设备可以向另一个终端设备提供邻近业务,进行数据交互。
下面以第一终端设备(user equipment,UE)为请求邻近业务的终端设备,第二终端设备为提供邻近业务的终端设备为例,对终端设备之间建立直接通信的方式进行说明。
首先,第一终端设备和第二终端设备分别与5G直连通信发现名称管理功能网元进行交互,获取各自的邻近业务参数,例如邻近业务应用代码(ProSe application code),发现过滤器(discovery filter)。
之后,第一终端设备向周围的终端设备发送邻近业务请求消息,该邻近业务请求消息中包括第一终端设备的邻近业务参数。第二终端设备在接收到该邻近业务请求后,根据该邻近业务请求中携带的第一终端设备的邻近业务参数确定是否能够提供邻近业务,例如确定第一终端设备的邻近业务参数与第二终端设备的邻近业务参数是否匹配。若第二终端设备确定能够提供邻近业务,则可以与第一终端设备建立直接通信,进行数据交互。
从上述过程中,可以看出终端设备之间在建立直接通信之前并不会验证对方的身份,第一终端设备并不能确定第二终端设备是否为一个可以真正能够提供邻近业务的终端设备,第二终端设备也无法确定第一终端设备是否为一种真正需要邻近业务的终端设备,导致终端设备之间进行直接通信的安全性较差。
发明内容
本申请提供一种安全通信方法以及装置,用以保证终端设备之间直接通信的安全性。
第一方面,本申请实施例提供了一种安全通信方法,该方法中,第一终端设备可以接收密钥生成参数,如从第一网元接收密钥生成参数。密钥生成参数包括第一终端设备的邻近业务临时标识;之后,第一终端设备可以根据根密钥和密钥生成参数生成第一终端设备的第一发现密钥;该第一发现密钥可以为第一终端设备的邻近业务粒度的发现密钥。在第一终端设备在确定需要进行邻近业务的情况下,如第一终端设备在启动邻近业务所对应的应用时,第一终端设备可以发送邻近业务请求消息,邻近业务请求消息包括邻近业务临时标识和消息完整码,消息完整码是基于第一发现密钥生成的。
通过上述方法,当第一终端设备需要与其他终端设备建立直接通信时,可以发送携带有消息完整码的邻近业务请求消息,以便第二终端设备可以根据消息完整码对第一终端设备进行验证,以保证第一终端设备和第二终端设备进行直接通信的安全性。
在一种可能的实现方式中,第一终端设备获取密钥生成参数的方式有许多种,第一终端设备可以向第一网元发送参数获取请求,该参数获取请求可以用于请求第一终端设备的邻近业务参数,该参数获取请求包括第一终端设备的身份标识;之后,第一终端设备可以接收来自第一网元参数获取响应,参数获取响应中可以包括第一终端设备的邻近业务参数, 该第一终端设备的邻近业务参数包括第一终端设备的邻近业务临时标识、当前时间、最大偏置量等。该邻近业务参数中的部分或全部可以作为密钥生成参数,也即该参数获取响应包括该密钥生成参数。
通过上述方法,第一终端设备在向第一网元请求邻近业务参数时,除了能够获取邻近业务参数,可选地,还可以获取密钥生成参数。
在一种可能的实现方式中,第一终端设备在基于第一发现密钥生成消息完整码时,可以直接根据第一发现密钥生成消息完整码,也可以根据第一发现密钥生成子密钥;之后,再根据子密钥生成消息完整码。
通过上述方法,第一终端设备能够较为灵活地生成消息完整码,适用于不同场景。
在一种可能的实现方式中,参数获取响应还包括邻近业务临时标识的有效期,如参数获取响应包括current time、MAX offset、validity timer。current time、MAX offset、validity timer可以用于指示邻近业务临时标识的有效期。
通过上述方法,邻近业务临时标识存在有效期,可以保证邻近业务临时标识的安全性。
在一种可能的实现方式中,邻近业务临时标识的有效期可以作为第一发现密钥的有效期,第一终端设备在确定邻近业务临时标识的有效期超期之后,第一终端设备删除第一发现密钥。
通过上述方法,能够保证第一发现密钥在邻近业务临时标识无效时被删除,保证第一发现密钥的安全性和有效性。
在一种可能的实现方式中,密钥生成参数还包括第一网元为第一终端设备分配的邻近业务参数中除邻近业务临时标识之外的部分或全部,如当前时间、最大偏置量中的部分或全部,密钥生成参数还可以包括其他参数,如计数器值等。
通过上述方法,密钥生成参数中可以包括不同类型的参数,使得发现密钥的生成方式更加灵活。
在一种可能的实现方式中,根密钥可以为下列任一:Kausf、Kamf、Kakma、或预配置的密钥。
通过上述方法,可以选择不同的密钥作为根密钥,适用于不同的场景。
第二方面,本申请实施例提供了一种安全通信方法,该方法中,第一网元可以下发邻密钥生成参数,例如第一网络可以向第一终端设备发送密钥生成参数,密钥生成参数包括第一终端设备的邻近业务临时标识,密钥生成参数为第一终端设备生成第一终端设备的第一发现密钥(也即邻近业务粒度的发现密钥)时所需要的参数,该参数可以是第一终端设备未保存或无法获知的参数。第一网元还可以从第二终端设备接收验证请求,验证请求包括邻近业务临时标识和消息完整码;第一网元根据邻近业务临时标识获取第一终端设备的第一发现密钥,根据第一发送密钥生成期望消息完整码。
第一网元在根据消息完整码与期望消息完整码对第一终端设备进行验证后,向第二终端设备发送验证响应,验证响应用于指示对第一终端设备的验证结果,该验证结果指示对第一终端设备验证成功或失败。
通过上述方法,第一网元能够将密钥生成参数发送给第一终端设备,以便第一终端设备能够生成第一发现密钥,进而生成消息完整码。第一网元还能够基于消息完整码对第一终端设备进行验证,及时告知第二终端设备的验证结果,保证第一终端设备和第二终端设备可以进行安全的直接通信。
在一种可能的实现方式中,第一网元向第一终端设备发送密钥生成参数的方式有很多种,例如,第一网元接收来自第一终端设备的参数获取请求,该参数获取请求可以用于请求第一终端设备的邻近业务参数,邻近业务参数是第一终端设备进行邻近业务所需的参数。参数获取请求包括第一终端设备的身份标识。第一网元在根据第一终端设备的身份标识对第一终端设备授权检查通过后,为第一终端设备分配第一终端设备的邻近业务参数,如分配邻近业务临时标识;第一网元根据邻近业务临时标识,获取第一发现密钥;第一网元向第一终端设备发送参数获取响应,参数获取响应中可以包括第一终端设备的邻近业务参数,该第一终端设备的邻近业务参数包括第一终端设备的邻近业务临时标识、当前时间、最大偏置量等。该邻近业务参数中的部分或全部可以作为密钥生成参数,也即该参数获取响应包括该密钥生成参数。
通过上述方法,第一网元在向第一终端设备分配邻近业务参数时,可选地,还可以向第一终端设备发送密钥生成参数。
在一种可能的实现方式中,第一网元还可以保存邻近业务临时标识和第一发现密钥的对应关系。
通过上述方法,第一网元能够根据邻近业务临时标识较为方便、快捷的确定该第一发现密钥。
在一种可能的实现方式中,参数获取请求还包括第一终端设备的邻近业务信息,邻近业务信息能够指示第一终端设备所需进行的邻近业务。第一网元根据第一终端设备的身份标识对第一终端设备授权检查通过时,可以自行对第一终端设备进行授权检查。示例性的,第一网元根据第一终端设备的身份标识和第一终端设备的邻近业务信息从统一数据管理网元获取第一终端设备的邻近业务的签约信息;第一网元通过比对第一终端设备的邻近业务信息与第一终端设备的邻近业务签约信息,对第一终端设备进行鉴权,第一网元在确定第一终端设备的邻近业务信息与第一终端设备的邻近业务签约信息一致后,对第一终端设备授权检查通过。
通过上述方法,第一网元能够自行对第一终端设备进行授权检查,较为快捷,可以保证第一终端设备的合法性。
在一种可能的实现方式中,参数获取请求还包括第一终端设备的邻近业务信息,第一网元根据第一终端设备的身份标识对第一终端设备授权检查通过时,也可以通过其他网元,如统一数据管理网元、邻近业务应用服务器、或其他存储有第一终端设备的邻近业务的签约信息的网元,对第一终端设备进行授权检查。下面以其他网元为统一数据管理网元为例,第一网元可以向统一数据管理网元发送检查请求,用于请求对第一终端设备进行授权检查,检查请求中包括第一终端设备的身份标识。第一网元可以从统一数据管理网元接收检查响应,检测响应用于指示对第一终端设备授权检查通过。
通过上述方法,第一网元较为方便的通过其他网元对第一终端设备进行授权检查,保证第一终端设备的合法性。
在一种可能的实现方式中,第一网元根据邻近业务临时标识获取第一发现密钥的方式有许多种,下面列举其中三种:
1、第一网元根据邻近业务临时标识和根密钥生成第一发现密钥,根密钥是为第一终端设备分配或预配置的密钥,也即该根密钥可以是第一终端设备注册到网络侧是,网络侧为第一终端设备分配的、并存储在网络侧的密钥,该密钥与第一终端设备自行生成并存储 的密钥相同。该根密钥也可以为预配置在网络侧的、与第一终端设备对应的密钥,且在第一终端设备侧也预配置有该密钥。
2、第一网元根据邻近业务临时标识,从密钥生成网元获取第一发现密钥。
3、第一网元根据身份标识,从密钥生成网元获取第二发现密钥,第二发现密钥可以为第一终端设备的终端设备粒度的发现密钥,之后,第一网元可以根据第二发现密钥和邻近业务临时标识生成第一发现密钥。
通过上述方法,第一网元通过不同的方式获取第一发现密钥,适用于不同的场景,扩展了适用范围。
在一种可能的实现方式中,密钥生成参数还包括第一网元为第一终端设备分配的邻近业务参数中除邻近业务临时标识之外的部分或全部,如当前时间、最大偏置量中的部分或全部,还可以包括其他参数,如计数器值等。
通过上述方法,密钥生成参数中可以包括不同类型的参数,使得发现密钥的生成方式更加灵活。
在一种可能的实现方式中,第一网元根据邻近业务临时标识,从密钥生成网元获取第一发现密钥时,第一网元可以向密钥生成网元发送第一密钥获取请求,第一密钥获取请求包括第一终端设备的身份标识和邻近业务临时标识,该第一密钥获取请求还可以携带其他信息,如当前时间、最大偏置量、第一终端设备的邻近业务信息的部分或全部等;第一网元从密钥生成网元接收第一密钥获取响应,第一密钥获取响应包括第一发现密钥。
通过上述方法,第一网元可以较为方便、快捷的从密钥生成网元获取该第一发现密钥。
在一种可能的实现方式中,第一网元根据身份标识,从密钥生成网元获取第二发现密钥时,第一网元可以向密钥生成网元发送第二密钥获取请求,第二密钥获取请求包括第一终端设备的身份标识,该第一密钥获取请求还可以携带其他信息,如第一终端设备的邻近业务信息的部分或全部等;之后,第一网元从密钥生成网元接收第二密钥获取响应,第二密钥获取响应包括第二发现密钥。
通过上述方法,第一网元可以从密钥生成网元获取该第二发现密钥,之后再自行生成第一发现密钥,第一网元和密钥生成网元无需交互邻近业务临时标识,能够保证邻近业务临时标识的安全性。
在一种可能的实现方式中,第一网元根据第一发现密钥生成期望消息完整码时,第一网元可以根据第一发现密钥生成子密钥;之后,再根据子密钥生成期望完整码。也可以直接根据第一发现密钥生成期望完整码。
通过上述方法,第一网元能够较为灵活地生成消息完整码,适用于不同场景。
在一种可能的实现方式中,密钥生成网元为下列任一网元:认证服务功能网元、接入和移动性管理功能网元、应用程序的身份验证和密钥管理锚点功能网元、引导服务功能网元、5G直连通信发现名称管理功能网元、或密钥管理网元,其中,密钥管理网元为存储有为第一终端设备预配置的密钥的网元。以适用于不同场景。
在一种可能的实现方式中,第一网元可以确定邻近业务临时标识的有效期,保存有效期和第一发现密钥的对应关系。
通过上述方法,第一发现密钥的有效期与邻近业务临时标识的有效期一致。
在一种可能的实现方式中,第一网元在邻近业务临时标识的有效期超期之后,第一网元删除第一发现密钥。
通过上述方法,能够保证第一发现密钥在邻近业务临时标识无效被删除,保证第一发现密钥的安全性和有效性。
第三方面,本申请实施例提供了一种安全通信方法,方法包括:密钥生成网元能够接收来自第一网元的密钥获取请求,向第一网元反馈第一终端设备的发现密钥,下面列举两种方式:
方式一、密钥生成网元可以从第一网元接收第一密钥获取请求,第一密钥获取请求包括第一终端设备的身份标识和邻近业务临时标识;密钥生成网元根据第一终端设备的身份标识确定根密钥,根密钥是为第一终端设备分配或预配置的密钥,该根密钥可以是密钥生成网元本地存储的,也可以是从存储该根密钥的网元获取的;密钥生成网元根据根密钥和邻近业务临时标识生成第一发现密钥;密钥生成网元向第一网元发送第一密钥获取响应,第一密钥获取响应包括第一发现密钥。
方式二、密钥生成网元从第一网元接收第二密钥获取请求,第二密钥获取请求包括第一终端设备的身份标识;密钥生成网元根据第一终端设备的身份标识确定根密钥;密钥生成网元根据根密钥生成第二发现密钥;密钥生成网元向第一网元发送第二密钥获取响应,第二密钥获取响应包括第二发现密钥。
通过上述方法,密钥生成网元可以针对不同场景,向第一网元反馈不同类型的发现密钥。
在一种可能的实现方式中,密钥生成网元为下列任一网元:认证服务功能网元、接入和移动性管理功能网元、应用程序的身份验证和密钥管理锚点功能网元、引导服务功能网元、5G直连通信发现名称管理功能网元、或密钥管理网元,其中,密钥管理网元为存储有为第一终端设备预配置的密钥的网元。以适用于不同场景。
第四方面,本申请实施例提供了一种安全通信方法,方法中,第二终端设备接收第一终端设备发送的邻近业务请求消息,邻近业务请求消息包括第一终端设备的邻近业务临时标识和消息完整码;第二终端设备在根据邻近业务临时标识确定能够支持邻近业务后,向第一网元发送验证请求,验证请求包括邻近业务临时标识和消息完整码;第二终端设备从第一网元接收验证响应,验证响应用于指示对第一终端设备的验证结果;第二终端设备根据验证结果确定与第一终端设备是否建立直接通信。
通过上述方法,第二终端设备接收到第一终端设备发送的携带有消息完整码的邻近业务请求消息,可以根据消息完整码对第一终端设备进行验证,以保证第一终端设备和第二终端设备进行直接通信的安全性。
第五方面,本申请实施例还提供了一种通信装置,所述通信装置应用于第一终端设备,有益效果可以参见第一方面的描述此处不再赘述。该装置具有实现上述第一方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第六方面,本申请实施例还提供了一种通信装置,所述通信装置应用于第一网元,有益效果可以参见第二方面的描述此处不再赘述。该装置具有实现上述第二方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的 结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第二方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第七方面,本申请实施例还提供了一种通信装置,所述通信装置应用于密钥生成网元,有益效果可以参见第三方面的描述此处不再赘述。该装置具有实现上述第三方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第三方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第八方面,本申请实施例还提供了一种通信装置,所述通信装置应用于第二终端设备,有益效果可以参见第四方面的描述此处不再赘述。该装置具有实现上述第四方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第四方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第九方面,本申请实施例还提供了一种通信装置,所述通信装置应用于第一终端设备,有益效果可以参见第一方面的描述此处不再赘述。所述通信装置的结构中包括处理器和存储器,所述处理器被配置为支持所述会话管理网元执行上述第一方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述通信装置必要的程序指令和数据。所述通信装置的结构中还包括收发器,用于与其他设备进行通信。
第十方面,本申请实施例还提供了一种通信装置,所述通信装置应用于第一网元,有益效果可以参见第二方面的描述此处不再赘述。所述通信装置的结构中包括处理器和存储器,所述处理器被配置为支持所述第一终端设备执行上述第二方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述通信装置必要的程序指令和数据。所述通信装置的结构中还包括通信接口,用于与其他设备进行通信。
第十一方面,本申请实施例还提供了一种通信装置,所述通信装置应用于密钥生成网元,有益效果可以参见第三方面的描述此处不再赘述。所述通信装置的结构中包括处理器和存储器,所述处理器被配置为支持所述接入和移动性管理功能网元执行上述第三方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述通信装置必要的程序指令和数据。所述通信装置的结构中还包括通信接口,用于与其他设备进行通信。
第十二方面,本申请实施例还提供了一种通信装置,所述通信装置应用于第二终端设备,有益效果可以参见第四方面的描述此处不再赘述。所述通信装置的结构中包括处理器和存储器,所述处理器被配置为支持所述统一数据管理网元执行上述第四方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述通信装置必要的程序指令和数据。所述通信装置的结构中还包括收发器,用于与其他设备进行通信。
第十三方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第十四方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第十五方面,本申请还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述各方面所述的方法。
图1A为本申请实施例提供的一种***的架构图;
图1B为一种A-UE与M-UE进行直接通信的方法示意图;
图2为本申请提供的一种第一终端设备获取密钥生成参数的方法示意图;
图3为本申请提供的一种第一终端设备与第二终端设备进行验证的方法意图;
图4为本申请提供的一种安全通信方法示意图;
图5为本申请提供的一种安全通信方法示意图;
图6为本申请提供的一种安全通信方法示意图;
图7为本申请提供的一种安全通信方法示意图;
图8~图13为本申请实施例提供的一种通信装置的结构示意图。
参阅图1A所示,一种本申请适用的具体的***架构示意图。该***架构中的网元包括终端设备(user equipment,UE),图1A中示例性的绘制了四个UE,分别为UE A、UE B、UE C、UE D。***架构还包括无线接入网(radio access network,RAN)、接入和移动性管理功能(access and mobility management function,AMF)网元、会话管理功能(session management function,SMF)网元、用户面功能(user plane function,UPF)网元、统一数据管理(unified data management,UDM)网元、统一数据仓储(unified data repository,UDR)网元、应用功能(application function,AF)网元、数据网络(data network,DN)、能力开放网元(network exposure function,NEF)网元、5G直连通信发现名称管理功能(5G direct discovery name management function,5GDDNMF)网元、策略控制功能(policy control function,PCF)网元、邻近业务应用服务器(ProSe application server)等。其中,AMF网元、SMF网元、UDM网元、NEF网元、PCF网元等网元属于第五代移动通信技术(5th generation mobile networks,5G)网络架构中的核心网网元,这里仅示例性的展示了部分核心网网元,该***架构中还可以包括其他核心网网元。
终端设备是一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端设备可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。在本申请实施例中的终端设备可以为能够在邻近业务(proximity service,ProSe)场景下进行通信的终端设备,该终端设备具备邻近业务应用(ProSe application)功能,具备ProSe application功能的终端设备间可以通过PC5口通信。
本申请实施例中涉及两种终端设备,分别为第一终端设备和第二终端设备,第一终端设备可以请求其他终端设备(包括第二终端设备)为第一终端设备提供邻近业务,第二终端设备确定可以为第一终端设备提供邻近业务时,可以为第一终端设备提供邻近业务,第 二终端设备和第一终端设备可以进行直接通信。
在不同发现场景中,提供邻近业务的第二终端设备和需要邻近业务的第一终端设备的名称不同,这里介绍两种发现场景,分别为开放邻近业务发现(open ProSe discovery)场景和受限邻近业务发现(restricted ProSe discovery)场景。开放邻近业务发现场景和受限邻近业务发现场景的相关描述可参考现有技术,在此不再赘述。
举个例子,比如一个用户A使用终端设备A打游戏,用户A没有明确的游戏伙伴,只要“随机”找到一个游戏伙伴就行,该场景为开放邻近业务场景。若用户A使用终端设备A打游戏有明确的伙伴,则用户A可以通过终端设备A“指定”一个伙伴,只有他指定的伙伴才能接入游戏,其他的则不行,该场景为受限邻近业务发现场景。
可选的,本申请实施例中,发现场景中的发现模式包括模式A(model A)或模式B(model B)。model A和model B的区别在于发现场景中终端设备发起发现(discovery)方式不同。
model A的含义是“我在这”,model A中涉及的终端设备分为播报方UE(announcing UE)和监听方UE(monitoring UE),announcing UE广播“我在这”,monitoring UE接收到announcing UE广播的消息后根据是否符合自己业务需求确定是否与announcing UE建立连接。
model B的含义是“谁在那?/你在哪?”,model B中涉及的终端设备分为被发现者UE(discoveree UE)和发现者UE(discoverer UE),discoverer UE发起请求,该请求中包括特定的信息,如谁在那?/你在哪?”,discoveree UE接收到discoverer UE发起的请求之后根据自己是否可以提供业务服务来确定是否回复该请求,若回复响应,说明“我在这”。本申请实施例中,开放邻近业务发现场景只适用于model A发现模式,而受限邻近业务发现场景适用于model A和model B两种发现模式。
本申请实施例中,网络侧(如核心网网元或5G DDNMF网元)可以根据第一终端设备或第二终端设备上报给网络侧的邻近业务信息确定第一终端设备或第二终端设备类型,例如,第一终端设备或第二终端设备上报给网络侧的邻近业务信息包括的发现命令能够指示第一终端设备或第二终端设备是一个announcing UE还是一个monitoring UE;是一个响应终端设备(response UE)还是一个请求终端设备(queryUE)。其中,announcing UE与monitoring UE为上述model A中的两端终端设备,Response UE与QueryUE分别对应上述model B中的discoveree UE和discoverer UE。
在申请实施例中,第二终端设备在向第一终端设备提供邻近业务之前,需要先验证下第一终端设备的身份,确定第二终端设备是否为一个真正需要邻近业务的终端设备。具体的,第二终端设备可以将从第一终端设备获取的消息完整码发上报给核心网网元或5G DDNMF网元,其中,该消息完整码是基于第一终端设备的发现密钥生成的,第一终端设备的发现密钥是利用从核心网网元或5G DDNMF网元获取的密钥生成参数生成的。由核心网网元或5G DDNMF网元基于第二终端设备上报的消息完整码和5G DDNMF网元根据第一终端设备的发现密钥计算的期望消息完整码进行验证。第二终端设备也可以从核心网网元或5G DDNMF网元获得与第一终端设备的发现密钥,由第二终端设备计算期望消息完整码进行验证。
类似的,第一终端设备在接受第二终端设备提供的邻近业务之前,也可以先验证下第二终端设备的身份,确定第二终端设备是否为一个真正能提供邻近业务的终端设备。具体 方式与第二终端设备验证第一终端设备的身份的方式类似。
RAN的主要功能是控制用户通过无线接入到移动通信网络。RAN是移动通信***的一部分。它实现了一种无线接入技术。从概念上讲,它驻留某个设备之间(如移动电话、一台计算机,或任何远程控制机),并提供与其核心网的连接。
AMF网元负责终端的接入管理和移动性管理,在实际应用中,其包括了LTE中网络框架中MME里的移动性管理功能,并加入了接入管理功能。
可选的,AMF网元还能够利用Kamf生成终端设备的发现密钥,将终端设备的发现密钥发送给5GDDNMF网元或其他网元(如ProSe application server)。
其中,Kamf为终端设备的一种根密钥,是终端设备在注册到网络时,网络侧(如AMF网元)为终端设备分配的,分别保存在终端设备和AMF侧的密钥。
SMF网元负责会话管理,如用户的会话建立等。
PCF网元是由运营商提供的控制面功能,用于向SMF网元提供会话的策略。策略可以包括计费相关策略、QoS相关策略和授权相关策略等。
UPF网元是用户面的功能网元,主要负责连接外部网络,其包括了LTE的服务网关(serving gateway,SGW)和公用数据网网关(public data network gateway,PDN-GW)的相关功能。
DN负责为终端提供服务的网络,如一些DN为终端提供上网功能,另一些DN为终端提供短信功能等等。
UDM网元可存储用户的签约信息,实现类似于4G中的HSS,在本申请实施例中,UDM能够根据UE的匿名化标识或临时标识确定UE的用户永久性标识(subscription permanent identifier,SUPI)。
UDR网元主要用来存储用户的签约信息、策略数据、用于开放的结构化数据、应用数据。
AF网元可以是第三方的应用控制平台,也可以是运营商自己的设备,AF网元可以为多个应用服务器提供服务。
NEF网元将其他网元的能力和事件开放给第三方合作伙伴或AF网元。它为AF网元提供了一种安全地向第三代合作伙伴计划(3rd generation partnership project,3GPP)网络提供信息的方法,NEF网元可以验证和授权并协助限制AF网元。此外,NEF网元还可以将AF网元交换的信息和核心网功能网元交换的信息进行转换。
ProSe application server,存储邻近业务的用户标识,还可以对发现场景中的终端设备进行验证。还可以存储为终端设备预配置的密钥,该密钥是与邻近业务相关的密钥。
在实际应用中,ProSe application Server可以为AF网元,也即具备Prose Application server的功能的AF网元。这样,Prose application server与UE可以通过UE-RAN-UPF-AF的路径,进行用户面通信。Prose application server还可以通过NEF网元与其他核心网网元进行通信。比如通过NEF网元与PCF网元通信。
5GDDNMF网元在开放邻近业务发现场景中,可以分配邻近业务应用标识(ProSe application ID)和邻近业务应用代码(ProSe application code),以及处理邻近业务应用标识(ProSe application ID)和邻近业务应用代码(ProSe application code)之间的映射。5GDDNMF网元在受限邻近业务发现场景中,可以跟ProSe application server通过PC2口通信,用于处理发现请求(discovery request)的授权,分配受限邻近业务应用标识(ProSe discovery UE ID)和受限的邻近业务代码(ProSe restricted code),以及处理邻近业务应用标识(ProSe discovery UE ID)和受限的邻近业务代码(ProSe restricted code)之间的映射。其中,邻近业务应用代码(ProSe application code)和受限的邻近业务代码(ProSe restricted code)均可以作为本申请实施例中提及的邻近业务临时标识。
在本申请实施例中,5GDDNMF网元增加了安全功能,能够验证终端设备(如第一终端设备和第二终端设备)的身份。例如,5GDDNMF网元在接收到第二终端设备上报的来自第一终端设备的消息完整码后,可以利用第一终端设备的发现密钥生成期望消息完整码,在确定消息完整码和期望消息完整码一致后,通知第二终端设备对第一终端设备验证成功。
需要说明的是,这里仅是以5GDDNMF网元增加了安全功能为例进行说明,该安全功能也可以增加在其他网元中,如核心网网元或ProSe application Server,由其他网元与终端设备交互,验证其他终端设备的身份。
尽管未示出,核心网网元还包括认证服务功能(authentication server function,AUSF)网元、应用程序的身份验证和密钥管理锚点功能(authentication and key management for applications(AKMA)anchor function,AAnF)网元、引导服务功能(bootstrapping server function,BSF)等,AUSF网元具有鉴权服务功能,在本申请实施例中AUSF网元能够利用终端设备的Kausf生成终端设备的发现密钥,将终端设备的发现密钥发送给5GDDNMF网元。类似的,AAnF网元能够利用Kakma生成终端设备的发现密钥,将终端设备的发现密钥发送给5GDDNMF网元。引导服务功能(bootstrapping server function,BSF)网元能够利用Ks生成终端设备的发现密钥,将终端设备的发现密钥发送给5GDDNMF网元。
其中,Kausf、Kakma、或Ks也作为生成终端设备的发现密钥所使用根密钥,这些密钥是终端设备在注册到网络时,网络侧为终端设备分配的,保存在网络侧的密钥,且该密钥与终端设备自己生成的、保存在终端设备侧的密钥相同。
下面基于如图1B所示的***架构,以open Prose discovery场景中,A-UE(也即announcing UE)与M-UE(也即monitoring UE)之间进行验证的方式为例,对现有技术中发现场景中UE之间验证的方式进行说明,这里以与A-UE交互的AMF标识为A-AMF,将与M-UE交互的AMF标识为M-AMF,如图2所示,该方法包括:
步骤101:A-UE向A-AMF发送参数获取请求,该参数获取请求用于请求A-UE的邻近业务参数,该参数获取请求包括A-UE的身份标识和A-UE的邻近业务信息。A-UE的身份标识用于指示A-UE。A-UE的邻近业务信息用于指示A-UE所需的邻近业务。
A-UE的邻近业务信息包括但不限于用户标识(user identity)、发现模式(discovery mode)、发现命令(discovery command)、发现类型(discovery type)和应用标识(application ID)中的一个或多个。
在开放邻近业务发现场景中,user identity可以为邻近业务应用标识(ProSe application ID)。这里仅以开放邻近业务发现场景为例,在受限邻近业务发现场景中,user identity可以为限制邻近业务应用用户标识(restricted ProSe application user ID,RPAUID)。
步骤102:A-AMF向5GDDNMF转发参数获取请求。
步骤103:5GDDNMF接收到该参数获取请求后,5GDDNMF为A-UE分配邻近业务参数。邻近业务参数包括但不限于:邻近业务应用代码(ProSe application code)、有效期(validity time),发现过滤器(discovery filter)。
需要说明的是,在开放邻近业务发现场景中,邻近业务应用代码是在开放发现场景中分配的指令,在受限邻近业务发现场景中,该邻近业务应用代码替换为受限的邻近业务代码(ProSe restricted code)。
步骤104:5GDDNMF通过A-AMF向A-UE发送为A-UE分配的邻近业务参数。
步骤105:M-UE通过M-AMF向5GDDNMF请求邻近业务参数,并通过M-AMF获取5GDDNMF为M-UE分配的邻近业务参数。M-UE通过M-AMF向5GDDNMF请求邻近业务参数,并通过M-AMF获取5GDDNMF为M-UE分配的邻近业务参数的方式与A-UE通过A-AMF向5GDDNMF请求邻近业务参数,并通过A-AMF获取5GDDNMF为A-UE分配的邻近业务参数的方式类似,具体可以参见步骤101~步骤104,此处不再赘述。
需要说明的是,与M-UE交互的5G DDNMF、与A-UE交互的5G DDNMF可以相同也可能不同。
步骤106:A-UE在空口发送广播消息,该广播消息包括Prose application Code,M-UE接收该广播消息,并与A-UE建立PC5单播连接。
从上述过程中,可以看出在发现场景中,两个终端设备之间并不进行认证过程。以开放邻近业务发现场景为例,A-UE并无法知道M-UE是否真的有能力为其提供邻近业务的UE。M-UE可能为非法UE,窃取A-UE的信息,进行转卖、牟利。而M-UE也无法确定A-UE是否是真实需要邻近业务的UE,A-UE可能为一个攻击者,通过广播Prose application Code,与M-UE建立连接,导致M-UE无法再与其他A-UE建立连接。因此,当前A-UE和M-UE之间建立连接、进行直接通信的安全性较差。
为了保证两个进行直接通信的终端设备的安全性,在本申请实施例中,在第一终端设备与第二终端设备建立直接通信之前,第一终端设备和第二终端设备之间可以进行验证。过程如下:第一终端设备可以从第一网元获取密钥生成参数,利用密钥生成参数生成发现密钥,之后再利用发现密钥生成消息完整码。当第二终端设备需要验证第一终端设备的身份时,第二终端设备将从第一终端设备接收的消息完整码发送给第一网元,请求第一网元对第一终端设备进行验证,第一网元在接收到消息完整码后,利用已存储的第一终端设备的发现密钥生成期望消息完整码,在确定消息完整码和期望消息完整码一致后,对第一终端设备验证成功,并通知第二终端设备对第一终端设备验证成功。第二终端设备在确定第一网元对第一终端设备验证成功后,可以与第一终端设备建立连接、进行直接通信。类似的,第一终端设备也可以采用类似的方式对第二终端设备进行验证。由此可以保证第二终端设备与第一终端设备进行直接通信之前,可以确定对方的身份,进而保证直接通信的安全性。
下面结合附图,对本申请实施例提供的一种安全通信方法进行说明,本申请实施例提供的安全通信方法包括两部分,一部分为第一终端设备从第一网元获取密钥生成参数,另一部分为第一终端设备与第二终端设备之间进行验证。下面分别进行说明:
(一)、第一终端设备从第一网元获取密钥生成参数。
参见图2,为本申请实施例中的一种密钥生成参数获取方法,该方法包括:
步骤201:第一终端设备向第一网元发送参数获取请求,该参数获取请求包括第一终端设备的身份标识。第一网元可以为5G直连通信发现名称管理功能网元,也可以为邻近业务应用服务器,也可以为其他核心网网元。第一终端设备的身份标识可以为第一终端设备的用户永久性标识,如SUPI、通用公共用户标识(generic public subscription identifier, GPSI)、永久设备标识符(permanent equipment identifier,PEI),也可以为第一终端设备的匿名化标识,如用户隐藏标识符(subscription concealed identifier,SUCI),还可以是第一终端设备的临时标识,该临时标识可以为网络侧为第一终端设备预先分配的,也可以是第一终端设备在注册到网络之后,网络侧为第一终端设备分配的,如全球唯一临时UE标识(globally unique temporary UE identity,GUTI)。
该参数获取请求可以用于请求第一网元分配邻近业务参数,邻近业务参数为第一终端设备进行临近业务所需的参数,邻近业务参数是由网络侧(如5G DDNMF网元或核心网网元)为第一终端设备分配的,邻近业务参数包括邻近业务临时标识。邻近业务临时标识是第一网元针对邻近业务,为第一终端设备分配的临时标识,用于在发现场景中,终端设备之间通过邻近业务临时标识互相发现,实现互相寻找。
在不同发现场景下,邻近业务临时标识也存在差别,例如在open ProSe discovery场景中,邻近业务临时标识可以称为邻近业务应用代码,在restricted ProSe discovery场景中,邻近业务临时标识可以称为受限的邻近业务代码。
该参数获取请求中还可以包括第一终端设备的邻近业务信息,第一终端设备的邻近业务信息用于指示第一终端设备所需的邻近业务。第一终端设备的邻近业务信息包括下列的部分或全部:
第一终端设备的用户标识(user identity)、发现命令(discovery command)、发现模式(discovery model)、发现类型(discovery type)、应用标识(application ID)。
第一终端设备的用户标识也可以称为邻近业务标识(Prose identity),一个第一终端设备的用户标识为一种邻近业务场景(也即发现场景)中第一终端设备的应用层用户标识。对于第一终端设备中一个邻近业务所对应的应用可以配置一个用户标识,同一个邻近业务所对应的应用可以配置多个的不同的用户标识,不同邻近业务所对应的应用可以配置不同的用户标识。这里并不限定第一终端设备的邻近业务信息中用户标识的数量,可以为一个,也可以为多个。
发现命令用于标识第一终端设备的类型,可以指示第一终端设备为announcing UE或monitoring UE;也可以指示第一终端设备为Response UE或Query UE。
发现类型用于指示第一终端设备所属的发现场景为类型,如指示open ProSe discovery或restricted ProSe discovery。
发现模式用于指示第一终端设备的发现模式,如指示model A或model B。
应用标识用于指示邻近业务所对应的应用。应用标识可以是预配置在第一终端设备的。
本申请实施例并不限定第一终端设备向第一网元发送参数获取请求的方式,第一终端设备可以通过控制面向第一网元发送参数获取请求,也可以通过用户面向第一网元发送参数获取请求,下面对这两种方式进行说明:
1、第一终端设备通过控制面向第一网元发送参数获取请求。
第一终端设备可以向接入和移动性管理功能网元发送该参数获取请求,接入和移动性管理功能网元在接收到该参数获取请求后,可以直接将该参数获取请求转发给第一网元,也可以对参数获取请求进行解析,在对参数获取请求解析之后,在将解析后的参数获取请求发送给第一网元。
这里并不限定接入和移动性管理功能网元对该参数获取请求的解析操作的具体类型,例如,接入和移动性管理功能网元可以根据第一终端设备的身份标识对第一终端设备进行 验证;又例如,若第一终端设备的身份标识并非用户永久性标识,接入和移动性管理功能网元可以根据第一终端设备的身份标识确定第一终端设备的用户永久性标识。
示例性的,接入和移动性管理功能网元可以本地存储有第一终端设备的用户永久性标识与第一终端设备的身份标识的对应关系,接入和移动性管理功能网元可以根据该第一终端设备的身份标识确定第一终端设备的永久性标识,将该参数获取请求中第一终端设备的身份标识替换为第一终端设备的永久性标识,之后,将替换了第一终端设备的永久性标识的参数获取请求发送给第一网元。
示例性的,接入和移动性管理功能网元也可以向其他网元(如统一数据管理网元)请求获得第一终端设备的用户永久性标识,接入和移动性管理功能网元可以根据第一终端设备的身份标识向统一数据管理网元请求第一终端设备的用户永久性标识,从统一数据管理网元获取该第一终端设备的永久性标识后,将该参数获取请求中第一终端设备的身份标识替换为第一终端设备的永久性标识,之后,将替换了第一终端设备的永久性标识的参数获取请求发送给第一网元。
可选的,若移动机接入网元还可以保存有密钥生成网元的信息,如,密钥生成网元的地址或标识(identity,ID)。该密钥生成网元保存有根密钥,能够根据根密钥生成第一终端设备的发现密钥,接入和移动性管理功能网元还可以在参数获取请求中携带该密钥生成网元的信息。
2、第一终端设备通过用户面向第一网元发送参数获取请求。
第一终端设备可以通过用户面网元将该参数获取请求发送给第一网元。
步骤202:第一网元在接收到该参数获取请求后,可以为第一终端设备分配邻近业务参数,如邻近业务临时标识。
第一网元在接收到该参数获取请求在为第一终端设备分配邻近业务参数之前,可以先对第一终端设备进行授权检查。
本申请实施例并不限定第一网元对第一终端设备进行授权检查的方式,下面列举其中两种方式:
方式一、第一网元请求其他网元进行授权检查。其中,其他网元可以为存储第一终端设备的邻近业务的签约信息的网元,如统一数据管理网元或邻近业务应用服务器。
第一网元可以将第一终端设备的邻近业务信息发送给其他网元,还可以将第一终端设备的标识信息(如第一终端设备的身份标识和用户标识中的至少一个)发送给其他网元,以请求其他网元对第一终端设备进行授权检查。如第一网元可以向其他网元发送检查请求,用于请求对第一终端设备进行授权检查,该检查请求中包括第一终端设备的邻近业务信息和第一终端设备的标识信息。
需要说明的是,这里的第一终端设备的身份标识可以是第一终端设备发送的参数获取请求中携带的身份标识,也可以在第一终端设备通过控制面发送该参数获取请求时,接入和移动性管理功能网元解析该参数获取请求后,获取的第一终端设备的用户永久性标识。
其他网元在接收到第一终端设备的标识信息后,可以根据第一终端设备的标识信息确定第一终端设备的与邻近业务相关的签约信息(也可以称为邻近业务的签约信息)。例如,当其他网元为统一数据管理网元时,统一数据管理网元可以根据第一终端设备身份标识确定第一终端设备的签约信息,之后再根据用户标识从第一终端设备的签约信息中确定与邻近业务相关的签约信息(也可以称为邻近业务的签约信息)。当其他网元为邻近业务应用 服务器,邻近业务应用服务器在接收到第一终端设备的用户标识后,也可以直接根据用户标识从第一终端设备的签约信息中确定邻近业务的签约信息。
其他网元在确定了邻近业务的签约信息之后,将对邻近业务的签约信息与第一终端设备的邻近业务信息进行比对,例如查看第一终端设备的邻近业务信息中的发现命令和发现类型与邻近业务的签约信息中的发现命令和发现类型是否一致。
其他网元在确定邻近业务的签约信息与第一终端设备的邻近业务信息一致后,确定对第一终端设备授权检查通过,若不一致,对第一终端设备授权检查不通过,其他网元可以将授权检查的结果(如授权检查通过或不通过)发送给第一网元。如其他网元可以向第一网元反馈检查响应,该检查响应于指示对第一终端设备授权检查通过或不通过。
若授权检查通过,第一网元可以为第一终端设备分配邻近业务参数,若授权检查不通过,第一网元不为第一终端设备分配邻近业务参数,可以拒绝该第一终端设备的参数获取请求。
方式二、第一网元自行进行授权检查。
第一网元可以将第一终端设备的身份标识和用户标识中的至少一个发送给其他网元,请求第一终端设备所有与邻近业务相关的签约信息(也可以称为所有邻近业务的签约信息)或第一终端设备的邻近业务的签约信息。
其他网元在接收到第一终端设备的身份标识和用户标识中的至少一个后,可以根据第一终端设备身份标识和/或确定第一终端设备的所有邻近业务的签约信息或第一终端设备的邻近业务的签约信息,其他网元将第一终端设备的所有邻近业务的签约信息或第一终端设备的邻近业务的签约信息发送给第一网元。示例性的,第一网元将第一终端设备的身份标识和用户标识中的至少一个发送给其他网元,其他网元根据第一终端设备的身份标识和用户标识中的至少一个确定第一终端设备的所有邻近业务的签约信息或第一终端设备的邻近业务的签约信息,并将第一终端设备的所有邻近业务的签约信息或第一终端设备的邻近业务的签约信息发送给第一网元。第一网元在获得第一终端设备的所有邻近业务的签约信息或第一终端设备的邻近业务的签约信息后,可以保存第一终端设备的所有邻近业务的签约信息或第一终端设备的邻近业务的签约信息。以节省再次请求的过程,避免造成额外的信令开销。
第一网元对第一终端设备的所有邻近业务的签约信息(或第一终端设备的邻近业务的签约信息)、与第一终端设备的邻近业务信息进行比对,例如查看第一终端设备的邻近业务信息中的发现命令和发现类型与所有邻近业务的签约信息(或第一终端设备的邻近业务的签约信息)中发现命令和发现类型是否一致。
若一致,第一网元确定对第一终端设备授权检查通过,若不一致,对第一终端设备授权检查不通过,第一网元不为第一终端设备分配邻近业务参数。
若参数获取请求中包括多个用户标识,针对每一个用户标识,第一网元可以采用方式一或方式二进行授权检查。
第一网元在对第一终端设备授权检查通过后,可以为第一终端设备分配邻近业务参数,邻近业务参数包括邻近业务临时标识,第一网元可以针对每个用户标识为第一终端设备分配一个邻近业务临时标识,也就是说,每个用户标识对应一个邻近业务临时标识。不同用户标识对应的邻近业务临时标识可以相同,也可以不同。
除了邻近业务临时标识之外,邻近业务参数还可以包括邻近业务临时标识的有效期, 表征邻近业务临时标识的有效期的参数有许多,这些参数包括但不限于:当前时间(current time)、最大偏置量(MAX offset)、有效期计时器(validity timer)。
current time是为基于第一网元的协调世界时间(coordinated universal time)表示当前时间的时间信息。MAX offset能够指示邻近业务临时标识的有效期的时间长度,也即邻近业务临时标识的失效的时刻与current time的差值。
validity timer为邻近业务临时标识的有效期的计时器。每个邻近业务临时标识对应一个validity timer,不同邻近业务临时标识对应的validity timer可以相同,也可以不同。
步骤203:第一网元获取第一终端设备的发现密钥。
在本申请实施例中第一终端设备的发现密钥存在两种不同类型,其一为终端设备粒度的发现密钥,也即一个终端设备对应一个发现密钥,其二为邻近业务粒度的发现密钥,不同邻近业务对应的发现密钥不同。
第一网元可以根据邻近业务临时标识获取邻近业务粒度的发现密钥,也可以根据第一终端设备的身份标识获取终端设备粒度的发现密钥。
可选的,第一网元在获取终端设备粒度的发现密钥后,还可以根据终端设备粒度的发现密钥生成邻近业务粒度的发现密钥。
步骤204:第一网元向第一终端设备发送参数获取响应,该参数获取响应中包括密钥生成参数。该密钥生成参数为生成第一终端设备的发现密钥所需的参数中需要发送给第一终端设备的参数。对应不同的类型的发现密钥,密钥生成参数也可能不同。
该参数获取响应中还可以包括下列的部分或全部,当前时间(current time)、最大偏置量(MAX offset)、有效期计时器(validity timer)。也即第一终端设备可以从参数获取响应中确定邻近业务临时标识的有效期。
第一网元获取第一终端设备的发现密钥的方式有多种,第一网元可以自行生成第一终端设备的发现密钥,也向密钥生成网元请求该发现密钥。
下面分别对这两种不同的方式进行说明:
一、第一网元向密钥生成网元请求该发现密钥。该密钥生成网元可以为认证服务功能网元(如AUSF网元)、接入和移动性管理功能网元(如AMF网元)、应用程序的身份验证和密钥管理锚点功能网元(如AAnF网元)、引导服务功能网元(如BSF网元)、5G直连通信发现名称管理功能网元(如5G DDNMF网元),密钥管理网元。其中,密钥管理网元为存储有为终端设备(如第一终端设备或第二终端设备)预配置的密钥的网元,该预配置的密钥可以与终端设备的用户标识对应。
本申请实施例并不限定密钥生成网元的具体类型,凡是能够生成发现密钥的网元均适用于本申请实施例。
发现密钥的类型不同,发现密钥的生成方式也不同,下面分别进行说明:
1)、终端设备粒度的发现密钥。
第一网元向密钥生成网元发送第一密钥获取请求,该第一密钥获取请求中可以包括第一终端设备的身份标识,可选的,还可以包括第一终端设备的邻近业务信息的部分或全部信息。
密钥生成网元在接收到该第一密钥获取请求后,可以根据第一终端设备的身份标识确定根密钥。
根密钥是为第一终端设备分配的或预配置的密钥,例如,根密钥可以是第一终端设备 在注册到网络时,网络侧(如统一数据管理网元、密钥生成网元)为第一终端设备分配并存储的密钥,第一终端设备在本地可以自行生成与网络侧相同的密钥,并存储该密钥。又例如,根密钥也可以是预配置在网络侧的密钥,该密钥与第一终端设备对应,第一终端设备侧同样也预配置有相同的密钥。本申请实施例不限制预配置的密钥的类型,即预配置的密钥可以是对称密钥,也可以是非对称密钥。
密钥生成网元的类型不同,存储的根密钥也不同,例如,当密钥生成网元为认证服务功能网元时,根密钥为Kausf,Kausf为TS33.501v16.3.0标准中图6.2.1-1中的Kausf,其生成和存储均可参照标准S33.501v16.3.0标准中图6.2.1-1中的Kausf的生成和存储过程。当密钥生成网元为接入和移动性管理功能网元时,根密钥为Kamf,,Kamf为TS33.501v16.3.0标准中图6.2.1-1中的Kamf,其生成和存储均可参照标准S33.501v16.3.0标准中图6.2.1-1中的Kamf的生成和存储过程。当密钥生成网元为AAnF网元时,根密钥为Kakma,Kakma为TS33.535v16.0.0标准中图5.1-1中的Kakma,其生成和存储均可参照标准S33.535v16.1.0标准中图5.1-1中的Kakma的生成和存储过程。当密钥生成网元为BSF网元时,根密钥为Ks,Ks为TS33.220v16.0.0标准中图4.3中的Ks,其生成和存储均可参照标准S33.220v16.0.0标准中图4.3中的Ks的生成和存储过程。密钥生成网元为密钥管理网元时,根密钥为密钥管理网元存储的、预配置的与第一终端设备对应的密钥。其中,分配是指存在密钥推演过程的,密钥生成网元可以自行为第一终端设备分配的该根密钥或从其他参与密钥分配密钥的网元获得的该密钥。对于Kausf,AUSF网元可以自己生成Kausf,也可以是UDM网元生成Kausf后,将Kausf发送给AUSF网元的。对于Kakma,AUSF网元生成Kakma后,可以将Kakma传递给AAnF网元。为第一终端设备分配的密钥(如Kausf、Kamf、Kakma、Ks)可以与第一终端设备的身份标识相对应。即可以通过第一终端设备的身份标识确定分配的密钥。预配置的密钥(如密钥管理网元中存储的密钥)可以与第一终端设备的用户标识相对应,也即可以通过用户标识确定该预配置的密钥。
需要说明的是,若密钥生成网元为密钥管理网元,该第一密钥获取请求中可以不携带第一终端设备的身份标识,而携带第一终端设备的用户标识,密钥管理网元在接收到第一密钥获取请求后,可以根据第一终端设备的用户标识确定为第一终端设备预配置的密钥,该预配置的密钥可以作为根密钥,用于获取终端设备粒度的发现密钥。
密钥生成网元在确定了根密钥后,可以基于根密钥生成终端设备粒度的发现密钥。
终端设备粒度的发现密钥=KDF(根密钥,其他输入参数),其中,KDF为密钥生成函数(key derivation function),其中,生成终端设备粒度的发现密钥所采用的参数中的根密钥为必选参数。
密钥生成网元在生成终端设备粒度的发现密钥时,也可以加入其他输入参数,本申请实施例并不限定其他输入参数的类型,其他输入参数可以为字符串,比如“5G ProSe”,也可以为计数器值。本发明不限制其他参数的个数,可以是0个,1个或多个。比如,终端设备粒度的发现密钥=KDF(根密钥,SUPI,“5G Prose”)。再比如,终端设备粒度的发现密钥=KDF(根密钥,“5G Prose”,计数器值)。再比如,终端设备粒度的发现密钥=KDF(根密钥,计数器值)。
密钥生成网元在生成了终端设备粒度的发现密钥后,可以将该终端设备粒度的发现密钥携带在第一密钥获取响应中发送给第一网元。第一网元在接收到该终端设备粒度的发现密钥后,可以保存该终端设备粒度的发现密钥。
可选的,密钥生成网元还可以将生成该终端粒度的发现密钥所需的第一参数发送给第一网元,这里的第一参数为密钥生成网元生成该终端粒度的发现密钥时,除根密钥之外的其他输入参数中部分或全部参数。该第一参数可以第一网元侧未保存或无法获知的参数。比如,在使用计数器值生成终端粒度的发现密钥的情况下,该计数器值是第一网元无法获知的参数,密钥生成网元可以将计数器值发送给第一网元。
需要说明的是,若在生成该终端粒度的发现密钥时输入参数包括下列的部分或全部:第一终端设备的身份标识、根密钥、字符串,这些是第一网元可以获知或预先保存的参数,密钥生成网元可以不需要将这些输入参数发送给第一网元。
第一网元在获取终端设备粒度的发现密钥后,可以直接执行步骤204,也即向第一终端设备发送生成该终端粒度的发现密钥所需的密钥生成参数。密钥生成参数为密钥生成网元生成该终端粒度的发现密钥时,除根密钥之外的其他输入参数中部分或全部参数。该密钥生成参数可以第一终端设备未保存或无法获知的参数。比如,在使用计数器值生成终端粒度的发现密钥的情况下,该计数器值是第一终端设备无法获知的参数,第一网元可以将计数器值作为密钥生成参数发送给第一终端设备,又比如,在生成该终端粒度的发现密钥时输入参数包括下列的部分或全部:第一终端设备的身份标识、根密钥、字符串,这些是第一终端设备可以获知或预先保存的参数,第一网元可以不需发送这些输入参数给第一终端设备。
第一网元也可以在获取终端粒度的发现密钥后,基于终端粒度的发现密钥,生成邻近业务粒度的发现密钥,之后再执行步骤204。
第一网元可以采用如下方式生成邻近业务粒度的发现密钥:
邻近业务粒度的发现密钥=KDF(终端设备粒度的发现密钥,其他输入参数),第一网元在生成邻近业务粒度的发现密钥时,也可以加入其他输入参数,本申请实施例并不限定其他输入参数的类型,其他输入参数可以为邻近业务临时标识,除了邻近业务临时标识之外,还可以将第一终端设备的邻近业务信息的部分或全部信息作为输入参数,还可以为第一终端设备的邻近业务参数中的其他参数,如当前时间、最大偏置量等。本申请不限制其他输入参数的个数和类型。
第一网元可以生成邻近业务粒度的发现密钥后,可以执行步骤204,这里向第一终端设备反馈生成邻近业务粒度的发现密钥所需的密钥生成参数。这里的密钥生成参数包括密钥生成网元生成终端粒度的发现密钥时,除根密钥之外的其他输入参数(也即第一网元未保存或无法获知的参数,如计数器值)以及第一网元生成邻近业务粒度的发现密钥时除第一终端设备的邻近业务信息和终端粒度的发现密钥外的其他输入参数,如当前时间、最大偏置量等。
第一网元还可以保存该邻近业务粒度的发现密钥,第一网元在保存该邻近业务粒度的发现密钥时,还可以保存邻近业务临时标识的有效期与该邻近业务粒度的发现密钥的对应关系,如保存邻近业务临时标识的有效期计时器,邻近业务临时标识对应的有效期计时器指示的有效期也可以作为邻近业务粒度的发现密钥的有效期。
2)、邻近业务粒度的发现密钥。
第一网元向密钥生成网元发送第二密钥获取请求,该第二密钥获取请求中可以包括第一终端设备的标识信息(如第一终端设备的身份标识和用户标识中的至少一个)和邻近业务临时标识中的至少一个,可选的,还可以包括第一终端设备的邻近业务信息的部分或全 部信息和第一终端设备的邻近业务参数的其他参数,如当前时间、最大偏置量、有效期计时器中的部分或全部。
密钥生成网元在接收到该第二密钥获取请求后,可以根据第一终端设备的标识信息确定根密钥。关于根密钥的说明,可以参见前述说明此处不再赘述。
密钥生成网元在确定了根密钥后,可以基于根密钥生成邻近业务粒度的发现密钥。
邻近业务粒度的发现密钥=KDF(根密钥,其他输入参数)。
密钥生成网元在生成邻近业务粒度的发现密钥时,也可以加入其他输入参数,本申请实施例并不限定其他输入参数的类型,其他输入参数可以为邻近业务临时标识,除了邻近业务临时标识之外,也可以将第一终端设备的邻近业务信息的部分或全部信息作为其他输入参数,也可以将第一终端设备的邻近业务参数中其他参数(如当前时间、最大偏置量、有效期计时器中的部分或全部)作为其他输入参数。其他输入参数也可以是生成终端设备粒度的发现密钥引入的输入参数。本申请实施例并不限定其他输入参数的个数和类型。
密钥生成网元还可以保存该邻近业务粒度的发现密钥,密钥生成网元在保存该邻近业务粒度的发现密钥时,还可以保存邻近业务临时标识的有效期与该邻近业务粒度的发现密钥的对应关系,如保存邻近业务临时标识的有效期计时器,邻近业务临时标识对应的有效期计时器指示的有效期也可以作为邻近业务粒度的发现密钥的有效期。密钥生成网元可以在有效期到期后,删除该临近业务粒度的发现密钥。
密钥生成网元在生成邻近业务粒度的发现密钥后,可以向第一网元发送第二密钥获取响应,该第二密钥获取响应中携带邻近业务粒度的发现密钥。
可选的,密钥生成网元还可以向第一网元发送生成邻近业务粒度的发现密钥所需的第二参数,该第二参数可以是其他输入参数的部分或全部,该第二参数可以是第一网元未保存或无法获知的参数,如除第一终端设备的邻近业务信息、第一终端设备的邻近业务参数和根密钥外的输入参数。
第一网元可以从第二密钥获取响应中获取邻近业务粒度的发现密钥后,可以执行步骤204,这里向第一终端设备反馈生成邻近业务粒度的发现密钥所需的密钥生成参数。
第一网元还可以保存该邻近业务粒度的发现密钥,第一网元在保存该邻近业务粒度的发现密钥时,还可以保存邻近业务临时标识的有效期与该邻近业务粒度的发现密钥的对应关系,如保存邻近业务临时标识的有效期计时器,邻近业务临时标识对应的有效期计时器指示的有效期也可以作为邻近业务粒度的发现密钥的有效期。
二、第一网元自行生成第一终端设备的发现密钥。
第一网元生成终端设备粒度的发现密钥或邻近业务粒度的发现密钥的方式与密钥生成网元生成终端设备粒度的发现密钥或邻近业务粒度的发现密钥的方式相同,区别在于执行主体不同,具体可以参见前述说明。
需要说明的是,第一网元在自行生成第一终端设备的发现密钥之前,可以先确定根密钥,该根密钥可以是第一网元本地保存的,也可以是第一网元根据第一终端设备的身份标识和/用户标识从其他网元(如前述说明中的密钥生成网元)获取的。
值得注意的是,第一网元在获取第一终端设备的发现密钥(该发现密钥可以是邻近业务粒度的密钥也可以是终端设备粒度的密钥)之后,还可以根据第一终端设备的发现密钥生成子密钥。该子密钥包括完整性保护子密钥和机密性保护子密钥中的至少一种子密钥。第一网元也可以根据第一终端设备的发现密钥生成其他子密钥,比如扰乱(scramble)子 密钥。该完整性保护子密钥在第一终端设备侧可以用于生成消息完整码,该完整性保护子密钥在第一终端设备侧还可以对一些参数(如邻近业务参数中的部分或全部)做完整性保护,该机密性保护子密钥用于对第一终端设备的消息(如邻近业务请求消息)的全部或一部分提供机密性保护。完整性保护即保护数据在传输过程中的完整性,完整性是指与原始的数据一致,没有被修改。机密性保护是为了使得攻击者“读不懂”。扰乱(scramble)子密钥用于打乱消息的原始顺序实现干扰功能,使得每次在空口传递数据的比特位顺序是错乱的,与原始数据的比特位顺序是不同的,这样可以增加了攻击者破解数据的难度。本申请实施例并不限定第一网元根据第一终端设备的发现密钥生成子密钥的方式和生成的子密钥的种类,例如可以利用密钥生成函数和第一终端设备的发现密钥生成该子密钥。生成终端粒度的发现密钥和邻近业务粒度的发现密钥时使用的输入参数均可以作为生成子密钥的参数。
例如,子密钥=KDF(第一终端设备的发现密钥,其他输入参数)。生成的子密钥的种类不同,其他输入参数也可以不同。以使用字符串作为输入参数为例,完整性保护子密钥=KDF(第一终端设备的发现密钥,“IK”),机密性保护子密钥=KDF(第一终端设备的发现密钥,“CK”),扰乱子密钥=KDF(第一终端设备的发现密钥,“SK”)。再比如通过子密钥类型区别符表示,即完整性保护子密钥=KDF(第一终端的发现密钥,0x01),机密性保护子密钥=KDF(第一终端设备的发现密钥,0x02),扰乱子密钥=KDF(第一终端设备的发现密钥,0x03)。
又例如,第一网元也可以截取第一终端设备的发现密钥的一部分作为该子密钥。比如,第一终端设备的发现密钥的长度为256比特(该发现密钥可以是邻近业务粒度的密钥也可以是终端设备粒度的密钥)之后,高128比特可以作为完整性保护子密钥,低128比特可以作为机密性保护子密钥。再比如,第一终端设备的发现密钥的长度为512比特(该发现密钥可以是邻近业务粒度的密钥也可以是终端设备粒度的密钥)之后,最高128比特可以作为完整性保护子密钥,紧接着的128比特可以作为机密性保护子密钥,之后的128比特可以作为扰乱子密钥。该完整性保护子密钥、机密性保护子密钥和扰乱子密钥的作用体现在第一终端设备和第二终端设备进行验证的过程中,具体可以参见后续内容。
第一网元在执行步骤204时,第一网元可以将生成第一终端设备的发现密钥所需的密钥生成参数发送给第一终端设备,该密钥生成参数是第一终端设备未保存或无法获知的参数,如生成第一终端设备的发现密钥所使用的邻近业务参数(如邻近业务临时标识)、计数器值等。
需要说明的是,参数获取响应中包括邻近业务参数,生成第一终端设备的发现密钥所使用的该邻近业务参数,如邻近业务临时标识、当前时间、最大偏置量等,可以作为密钥生成参数。以生成第一终端设备的发现密钥所使用的邻近业务临时标识为例,参数获取响应中包括的邻近业务临时标识是存在两种身份的,其一为邻近业务参数中的参数,其二为密钥生成参数中的参数,为了减少信令开销,参数获取响应中只需携带一次邻近业务临时标识就可以将作为邻近业务参数和密钥生成参数的邻近业务临时标识发送给第一终端设备。
至此,第一终端设备从第一网元获取生成发现密钥所需的密钥生成参数。对于邻近业务粒度的发现密钥存在有效期的情况,当第一网元确定本地保存的该邻近业务粒度的发现密钥到期后,可以删除邻近业务粒度的发现密钥,也可以更新邻近业务粒度的发现密钥, 并通知第一终端设备,告知第一终端设备更新邻近业务粒度的发现密钥,还可以将用于生成更新后的邻近业务粒度的发现密钥的密钥生成参数发送给第一终端设备。
这里仅是以邻近业务粒度的发现密钥为例,对于终端设备粒度的发现密钥,第一网元也可以将一个或多个邻近业务临时标识对应的有效期计时器作为终端设备粒度的发现密钥的有效期计时器,在该终端设备粒度的发现密钥到期后,可以删除该终端设备粒度的发现密钥,也可以更新终端设备粒度的发现密钥,并通知第一终端设备,告知第一终端设备更新终端设备粒度的发现密钥,还可以将用于生成更新后的终端设备粒度的发现密钥的密钥生成参数发送给第一终端设备。
若该参数获取响应中包括下列的部分或全部,当前时间(current time)、最大偏置量(MAX offset)、有效期计时器(validity timer)。也即参数获取响应可以指示邻近业务临时标识的有效期,第一终端设备可以将邻近业务临时标识的有效期作为邻近业务粒度的发现密钥存在有效期,当第一终端设备确定本地保存的该邻近业务粒度的发现密钥到期后,可以删除邻近业务粒度的发现密钥。
在第一部分说明中,以第一终端设备为例对终端设备获取密钥生成参数的方式进行说明,第二终端设备获取密钥生成参数的方式与第一终端设备获取密钥生成参数的方式类似,此处不再赘述。
在一种实施方式中,在第一网元获得第一终端设备的终端设备粒度的发现密钥或者邻近业务粒度的发现密钥或者子密钥后,可以直接将终端设备粒度的发现密钥或者邻近业务粒度的发现密钥或者子密钥发送给第一终端设备。第一网元还可以保存终端设备粒度的发现密钥或者邻近业务粒度的发现密钥或者子密钥。进一步地,本申请实施例并不限定第一终端设备在接收到第一网元发送的终端设备粒度的发现密钥或者邻近业务粒度的发现密钥后,直接使用该发现密钥还是进一步生成其他密钥。比如,第一终端设备收到了第一网元发送的终端设备粒度的发现密钥后,第一终端设备可以进一步生成邻近业务粒度的发现密钥。再比如,第一终端设备接收到了第一网元发送的终端设备粒度的发现密钥后,第一终端设备可以进一步生成子密钥。比如,第一终端设备可以先生成邻近业务粒度的发现密钥,再使用邻近粒度的发现密钥生成子密钥,或者直接使用终端设备粒度的发现密钥生成子密钥。相应地,第一网元设备也会采用与第一终端设备类似的方式获得子密钥。需要说明的是,第一网元也需要将生成子密钥所需要的参数发送给第一终端设备。
(二)第一终端设备与第二终端设备之间进行验证。这里以第二终端设备作为邻近业务的提供者对第一终端设备的验证方式进行说明,在实际应用中,第一终端设备也可以采用类似的方式对第二终端设备进行验证。
参见图3,为本申请实施例提供的终端设备间的验证方法,该方法包括:
步骤301:第一终端设备发送邻近业务请求消息,该邻近业务请求消息中包括第一终端设备的邻近业务临时标识和消息完整码。
第一终端设备在从第一网元获取密钥生成参数后,可以根据密钥生成参数生成第一终端设备的发现密钥。
本申请实施例并不限定第一终端设备根据第一终端设备的发现密钥生成消息完整码的方式,例如,第一终端设备可以根据第一终端设备的发现密钥直接生成消息完整码,如消息完整码=KDF(第一终端设备的发现密钥,其他参数)。这里的其他参数可以是邻近 业务临时标识、current time、MAX_offset中的部分或全部,也可以为其他类型的参数。本申请不限制所述其他参数个数和类型。又例如,第一终端设备可以根据第一终端设备的发现密钥生成子密钥,之后根据子密钥生成消息完整码,如消息完整码=KDF(子密钥,其他参数)。这里的其他参数可以是邻近业务临时标识、current time、MAX_offset中的部分或全部,也可以为其他类型的参数。本申请不限制所述其他参数个数和类型。
可选的,第一终端设备在生成第一终端设备的发现密钥后,还可以根据第一终端设备的发现密钥生成子密钥,第一终端设备根据第一终端设备的发现密钥生成子密钥的方式与第一网元根据第一终端设备的发现密钥生成子密钥的方式类似,具体可以参见前述内容。第一终端设备在生成子密钥后,可以利用子密钥对消息完整码进行完整性保护。例如,消息完整码=KDF(完整性保护子密钥,其他参数),对消息完整码进行了完整性保护。可选地,第一终端设备还可以利用机密性保护子密钥对临近业务请求消息中携带的所有信息或或部分信息进行加密,实现对消息完整码的机密性保护。
可选地,第一终端设备还可以利用干扰子密钥对临近业务请求消息中携带的所有信息或或部分信息进行干扰,实现干扰保护。
本申请实施例不限制完整性保护、机密性保护和干扰保护的使用和使用次数。也就是说,可以只使用其中一种保护,比如,只做完整性保护,或者只做机密性保护,或者只做干扰保护;也可以使用其中的至少两种保护,也可以全部使用。同时,本申请实施例不限制他们的使用顺序。即可以先做完整性保护、再对有完整性保护的信息的部分或全部做机密性保护,再对有机密性保护的信息做干扰保护;也可以先对临近业务请求消息中携带的所有信息或或部分信息做机密性保护,再对有机密性保护的信息做完整性保护,再对有完整性保护的信息做干扰保护。
步骤302:第二终端设备接收该邻近业务请求消息,根据邻近业务请求消息包括第一终端设备的邻近业务临时标识确定能够为第一终端设备提供邻近业务。第二终端设备可以根据邻近业务临时标识确定可以与第一终端进行邻近业务通信,也即能够支持邻近业务。
步骤303:第二终端设备在确定能够为第一终端设备提供邻近业务后,可以基于消息完整码对第一终端设备进行验证。
第二终端设备可以请求第一网元对第一终端设备进行验证,也可以自行对第一终端设备进行验证,下面分别对这两种方式进行说明:
第一种、第二终端设备请求第一网元对第一终端设备进行验证。
第二终端设备可以向第一网元发送验证请求,该验证请求中包括第一终端设备的临时业务临时标识和消息完整码。
第一网元在接收到该验证请求后,可以根据第一终端设备的临时业务临时标识确定保存的第一终端设备的发现密钥。
第一网元采用与第一终端设备生成消息完整码相同的方式,基于本地保存的第一终端设备的发现密钥生成期望消息完整码。
第一网元可以比对消息完整码与期望消息完整码,若消息完整码与期望消息完整码一致,则对第一终端设备验证成功,否则,对第一终端设备验证失败。
可选的,若第一终端设备对消息完整码进行了完整性保护,第一网元在接收到进行了完整性保护的消息完整码之后,先利用根据第一终端设备的发现密钥生成的完整性保护子密钥对进行了完整性保护的消息完整码进行完整性校验,在校验通过后,再比对消息完整 码与期望消息完整码。
在一种可能实现方式中,若第一终端设备对临近业务请求消息中携带的所有信息或部分信息进行了机密性保护,也即对该所有信息或部分信息进行加密,第一网元在接收到加密的所有信息或部分信息之后,先利用根据第一终端设备的发现密钥生成的机密性保护子密钥对进行了加密的所有信息或部分信息进行解密,在解密后,再比对消息完整码与期望消息完整码。
在另一种可能实现方式中,若第一终端设备对该所有信息或部分信息进行了机密性保护,第一网元在接收到加密的该所有信息或部分信息之后,先利用完整性保护对消息完整码进行完整性保护校验,在比对消息完整码与期望消息完整码成功后,再对加密的所有信息或部分信息做解密。
第一网元向第二终端设备发送验证响应,该验证响应中携带有第一网元对第一终端设备的验证结果。该验证结果指示对第一终端设备验证成功或验证失败。
第二种、第二终端设备自行对第一终端设备进行验证。
第二终端设备可以从第一网元获取第一终端设备的发现密钥。第二终端设备可以在接收第一终端设备的邻近业务请求消息之后或之前,采用与如图2所示的实施例相似的方式,向第二网元请求第二终端设备的邻近业务参数。
区别在于,第二网元在接收到第二终端设备的用于请求邻近业务参数的请求消息后,可以先确定是否需要与第一网元交互。比如该请求消息中可以携带第一终端设备的相关信息,如第一终端设备的应用标识或身份标识等,其中,第一终端设备的相关信息可以是第二终端设备预先获取的,也可以是从第一终端设备发送的邻近业务请求消息中获取的,第二网元可以根据请求消息中携带第一终端设备的相关信息确定需要与第一网元交互。第二网元在确定需要与第一网元交互后,可以向第一网元发送携带有第一终端设备的相关信息的参数请求,用于请求第一终端设备的发现密钥或子密钥,第一网元根据请求消息中携带的信息关联到第一终端设备,并确定第一终端设备的发现密钥或子密钥,将第一终端设备的发现密钥发送第二网元,第二网元除了可以为第二终端设备分配邻近业务参数,将为第二终端设备分配的邻近业务参数发送给第二终端设备,还可以将第一终端设备的发现密钥发送或子密钥给第二终端设备。在第二终端接收到第一终端设备发送的邻近业务请求消息后,第二终端设备采用与第一终端设备生成消息完整码相同的方式,基于从第二网元处获得的第一终端设备的发现密钥或子密钥生成期望消息完整码。第二终端设备可以比对消息完整码与期望消息完整码,若消息完整码与期望消息完整码一致,则对第一终端设备验证成功,否则,对第一终端设备验证失败。其中,第一网元和第二网元可以相同也可以不同。
需要说明的是,第一终端设备的发现密钥或子密钥可以是由其他网元(如密钥生成网元)生成的,第二网元从其他网元处获得第一终端设备的发现密钥。
步骤304:第二终端设备根据验证结果确定是否为第一终端设备提供邻近业务,也即确定与第一终端设备是否建立直接通信。验证结果指示第二终端设备对第一终端设备验证成功或失败。
若第二终端设备对第一终端设备验证成功,第二终端设备可以为第一终端设备提供邻近业务,与第一终端设备建立直接通信;若第二终端设备对第一终端设备验证失败,第二终端设备可以拒绝为第一终端设备提供邻近业务。
当第一终端设备对第二终端设备进行验证时,第二终端设备采用与第一终端设备类似的方式,根据第二终端设备的发现密钥生成消息完整码1。并将消息完整码1携带在回复给第一终端设备的消息中。
第一终端设备可以采用与步骤303类似的方式对第二终端设备进行验证。若验证成功,则接收第二终端设备提供的邻近业务,建立直接通信,否则拒绝第二终端设备提供的邻近业务,拒绝建立直接通信。其中,第一终端设备生成期望完整码1的生成方式与第二终端设备生成消息完整码1的方法相同,具体可参见前述内容,此处不再赘述。
下面基于如图1A所示的***架构,结合附图4,对本申请实施例提供的一种安全通信方法进行进一步说明,参见图2,图2中以对open ProSe discovery场景下,第一网元为5G DDNMF网元,第一终端设备为A-UE,第二终端设备为M-UE,A-UE通过A-AMF网元与A-5G DDNMF网元交互,M-UE通过M-AMF网元与A-5G DDNMF网元交互为例对本申请实施例提供的安全通信方法进行说明,A-UE和M-UE可以通过不同的AMF网元与A-5G DDNMF网元交互,这里用A-AMF网元和M-AMF网元进行区分。A-UE从A-5G DDNMF网元获取密钥生成参数的方法参见步骤401~409,M-UE验证A-UE的方法参见步骤410~414,该方法包括:
步骤400:A-UE注册到网络,与网络侧进行鉴权。主鉴权过程可以参考标准TS 33.501中的章节6.1。
在主鉴权过程中,AUSF网元从UDM网元处获得A-UE对应的Kausf或者自己生成A-UE对应的Kausf。AUSF网元在主鉴权过程中获得Kausf,并存储Kausf。UE在主鉴权过程中生成Kausf并存储Kausf。
步骤401:A-UE向A-AMF网元发送参数获取请求,该参数获取请求用于请求A-UE的邻近业务参数。该参数获取请求中携带A-UE的身份标识和A-UE的邻近业务信息。A-UE的身份标识用于指示A-UE。A-UE的邻近业务信息用于指示A-UE所需的邻近业务。A-UE为open ProSe discovery场景的announcing UE。
本申请实施例并不限定A-UE的身份标识的具体类型,A-UE的身份标识可以为A-UE的匿名化标识,如SUCI,也可以为A-UE的临时标识,如5G-GUTI,还可以用A-UE的用户永久性标识,如SUPI或GPSI或PEI。
A-UE的邻近业务信息可以包括用户标识(user identity),发现命令(discovery command),发现模式(discovery model)和发现类型(discovery type)。User Identity、discovery command、discovery model和discovery type的说明可以参见前述内容此处不再赘述。
这里并不限定用户标识的数量,可以为一个,也可以为多个,当存在多个用户标识时,每个用户标识为在一种邻近业务场景中A-UE的身份信息,不同用户标识对应不同的邻近业务。
步骤402:A-AMF网元接收到参数获取请求后,可以将该参数获取请求发送给A-5G DDNMF网元。
可选的,A-AMF网元也可以解析参数获取请求,获取参数获取请求中携带的信息。例如,若确定该参数获取请求中携带有A-UE的临时标识或匿名化标识,A-AMF网元可以根据A-UE的临时标识或匿名化标识确定A-UE的用户永久性标识,将参数获取请求中的A-UE的临时标识或匿名化标识更新为A-UE的用户永久性标识,之后再将参数获取请求发送给A-5G DDNMF网元。
本申请实施例并不限定A-AMF网元可以根据A-UE的临时标识或匿名化标识确定A-UE的用户永久性标识的方式,例如A-AMF网元可以保存有A-UE的临时标识或匿名化标识、与A-UE的用户永久性标识的对应关系,A-AMF网元可以根据该对应关系确定A-UE的用户永久性标识;又例如,A-AMF网元可以向保存有A-UE的临时标识或匿名化标识、与A-UE的用户永久性标识的对应关系的网元(如UDM网元)请求获取该A-UE的用户永久性标识。
若A-AMF网元存储有保存该A-UE的Kausf的AUSF网元的信息,如AUSF网元的标识或地址。A-AMF网元还可以将该AUSF网元的信息携带在参数获取请求中,发送A-5G DDNMF网元。
步骤403:A-5G DDNMF网元在接收到参数获取请求后,可以根据参数获取请求对A-UE进行授权检查。
本申请实施例并不限定A-5G DDNMF网元根据参数获取请求对A-UE进行授权检查的方式,下面介绍两种方式:
方式一、A-5G DDNMF网元请求UDM网元或邻近业务应用服务器进行授权检查。
A-5G DDNMF网元请求UDM网元或邻近业务应用服务器进行授权检查的方式可以参见前述内容中第一网元请求其他网元进行授权检查的方式,此处不再赘述。
方式二、A-5G DDNMF网元自行进行授权检查。
A-5G DDNMF网元自行进行授权检查的方式可以参见前述内容中第一网元自行进行授权检查的方式,此处不再赘述。
A-5G DDNMF网元可以将A-UE的身份标识发送给UDM网元,请求A-UE所有邻近业务的签约信息。
UDM网元在接收到A-UE的身份标识和用户标识后,可以根据A-UE身份标识确定A-UE的签约信息中所有与邻近业务相关的签约信息(也可以称为所有邻近业务的签约信息),UDM网元将所有邻近业务的签约信息发送给A-5G DDNMF网元。
A-5G DDNMF网元对所有邻近业务的签约信息与A-UE的邻近业务信息进行比对,例如查看A-UE的所有邻近业务的签约信息中是否存在与邻近业务信息中的discovery command和discovery type一致的discovery command和discovery type。
若存在,A-5G DDNMF网元确定对A-UE授权检查通过,若不存在,A-5G DDNMF网元对A-UE授权检查不通过,A-5G DDNMF网元不为A-UE分配邻近业务参数。
若参数获取请求中包括多个用户标识,针对每一个用户标识,A-5G DDNMF网元可以采用方式一或方式二进行授权检查。
步骤404:5GDDNMF对A-UE的授权检查通过后,5GDDNMF为A-UE分配邻近业务参数,邻近业务参数包括ProSe application code,还包括下列的部分或全部:当前时间(current time)、最大偏置量(MAX offset)、有效期计时器(validity timer)。
步骤405:A-5G DDNMF网元可以向AUSF网元发送密钥获取请求,该密钥获取请求中包括A-UE的身份标识,可选的,还可以包括邻近业务参数的部分或全部信息,也可以包括A-UE的邻近业务信息的部分或全部信息。
A-5G DDNMF网元在执行步骤405之前,A-5G DDNMF网元可以先确定是否需要向AUSF网元请求密钥。如果确定需要,则再执行步骤405。A-5G DDNMF网元可以通过确定邻近业务信息确定是否需要向AUSF网元请求密钥。
例如,A-5G DDNMF网元通过邻近业务信息中的发现命令判断是UE的类型,若确定A-UE为Announce UE、Response UE、或Query UE,则需要执行步骤405。
又例如,通过邻近业务信息的发现命令判断是monitor UE,然后根据发现模式判断是model B,则确定要执行步骤405。
A-5G DDNMF网元在执行步骤405之前,也可以先确定本地是否存储有A-UE的发现密钥,若确定未存储A-UE的发现密钥,A-5G DDNMF网元再执行步骤405。若存储有A-UE的发现密钥,A-5G DDNMF网元可以获取本地存储的A-UE的发现密钥。
需要说明的是,本申请实施例并不限定A-5G DDNMF网元为A-UE分配邻近业务参数和A-5G DDNMF网元可以向AUSF网元发送密钥获取请求这两个操作的先后顺序。例如,A-5G DDNMF网元可以先为A-UE分配邻近业务参数,之后再向AUSF网元发送密钥获取请求,这种情况下密钥获取请求中可以包括邻近业务参数的部分或全部信息。又例如,A-5G DDNMF网元可以先向AUSF网元发送密钥获取请求,之后再为A-UE分配邻近业务参数,这种情况下密钥获取请求中不包括邻近业务参数的部分或全部信息。
步骤406:AUSF网元接收到密钥获取请求后,根据A-UE的身份标识确定A-UE的Kausf,根据Kausf计算A-UE的发现密钥。
下面分别对AUSF网元根据Kausf计算A-UE的UE粒度的发现密钥或邻近业务粒度的发现密钥的方式进行说明:
(1)、AUSF网元根据Kausf计算A-UE邻近业务粒度的发现密钥。
AUSF网元可以采用如下两种方式生成A-UE邻近业务粒度的发现密钥:
1)、AUSF网元基于Kausf直接生成A-UE邻近业务粒度的发现密钥。
AUSF网元基于Kausf直接生成A-UE邻近业务粒度的发现密钥的方式可以参见前述说明中密钥生成网元基于根密钥生成第一终端设备邻近业务粒度的发现密钥的方式,此处不再赘述。
2)、AUSF网元先基于Kausf生成UE粒度的发现密钥,之后再基于UE粒度的密钥生成A-UE邻近业务粒度的发现密钥。
AUSF网元基于Kausf直接生成A-UE UE粒度的发现密钥的方式可以参见前述说明中密钥生成网元基于根密钥生成终端设备粒度的发现密钥的方式,此处不再赘述。
AUSF网元基于UE粒度的密钥生成A-UE邻近业务粒度的发现密钥的方式可以参见前述说明中第一网元基于终端设备粒度的发现密钥生成第一终端设备邻近业务粒度的发现密钥的方式,此处不再赘述。
可选地,AUSF网元可以为A-UE的发现密钥设置生命周期。比如保存Validity timer,将Validity timer作为UE的发现密钥的生成周期,在Validity timer到期后,AUSF网元可以删除生成A-UE的发现密钥。
(2)、AUSF网元根据Kausf计算A-UE的UE粒度的发现密钥。
AUSF网元根据Kausf计算A-UE UE粒度的发现密钥的方式可以参见前述说明,此处不再赘述。
步骤407:AUSF网元向A-5G DDNMF网元发送密钥获取响应,该密钥获取响应中包括A-UE的发现密钥。A-UE的发现密钥为A-UE的UE粒度的发现密钥或A-UE的邻近业务粒度的发现密钥。
AUSF网元还可以向A-5G DDNMF网元发送生成A-UE的发现密钥所需的第一参数, 该第一参数为A-5G DDNMF网元未保存或无法获知的参数。
若A-UE的发现密钥为A-UE的UE粒度的发现密钥,A-5G DDNMF网元可以进一步,根据A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥。
A-5G DDNMF网元根据A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥的方式与AUSF网元根据A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥的方式类似,具体可参见前述内容,此处不再赘述。
可选的,A-5G DDNMF网元将A-UE的UE粒度的发现密钥或A-UE的邻近业务粒度的发现密钥,与validity timer、Prose application code一起保存,作为A-UE的5G Prose安全上下文。在validity timer到期后,A-5G DDNMF网元将A-UE的UE粒度的发现密钥或A-UE的邻近业务粒度的发现密钥删除;若A-5G DDNMF网元同时保存的A-UE的UE粒度的发现密钥和A-UE的邻近业务粒度的发现密钥,在validity timer到期后,A-5G DDNMF网元将A-UE的邻近业务粒度的发现密钥删除,继续保存A-UE的UE粒度的发现密钥。
可选地,A-5G DDNMF网元还可以根据A-UE的发现密钥确定一个或多个子密钥。例如,5G DDNMF网元还可以根据A-UE的发现密钥生成一个用于机密性保护的密钥CK,一个用于完整性保护的密钥IK。本申请实施例不限制通过UE粒度的发现密钥生成子密钥还是通过邻近业务粒度的发现密钥生成子密钥。
本申请实施例并不限定A-5G DDNMF网元根据发现密钥确定一个或多个子密钥的方式。比如,A-5G DDNMF网元可以利用KDF生成,也可以将发现密钥拆分,生成为一个或多个子密钥。A-5G DDNMF网元将发现密钥的一部分用作CK,一部分用于IK。比如A-UE的发现密钥的长度为512比特(bit),A-5G DDNMF网元可以将前128bit的字段作为CK,中间128bit的字段作为IK。在生成子密钥的情况下,A-UE可以使用子密钥生成消息完整码。
如图表1,为A-5G DDNMF网元接收到A-UE的邻近业务粒度的发现密钥后,A-UE的邻近业务粒度的发现密钥的存储方式。
表1
表1中SUPI代表一个终端设备(也即A-UE)。ProSe application code-1和ProSe application code-2代表两个不同的应用对应的邻近业务临时标识。这2个不同的应用有不同的user Identity和不同的discovery key。因此,discovery key-1,discovery key-2为不同邻近业务的邻近业务粒度的发现密钥。按照表1的方式,当A-UE使用ProSe application code-1的时候,A-UE根据discovery key-1生成消息完整码。表1中,A-5G DDNMF网元可以根据discovery key-1和discovery key-2可以进一步生成子密钥。本实施例不做限定。
如图表2,为A-5G DDNMF网元接收到A-UE的UE粒度的发现密钥后,A-UE的UE 粒度的发现密钥和A-UE的邻近业务粒度的发现密钥的存储方式。
表2
表2中SUPI代表一个终端设备(也即A-UE),discovery key则为A-UE所有应用共享的discovery key。discovery key为A-UE的UE粒度的发现密钥,user identity-1 discovery key和user identity-2 discovery key为不同邻近业务的邻近业务粒度的发现密钥。按照表2的方式,当A-UE使用ProSe application code-1的时候,A-UE根据discovery key-1生成消息完整码。表2中的discovery key-1和discovery key-2可以进一步生成子密钥。本实施例不做限定。
在另一种实现中,表2只有一个discovery key,没有user identity-1 discovery key和user identity-2 discovery key,则表示discovery key被所有应用公用。
步骤408:A-5G DDNMF网元通过A-AMF网元发送参数获取响应,该参考获取响应中包括密钥生成参数,该密钥生成参数是A-UE生成A-UE的发现密钥所需要的参数,该密钥生成参数是A-UE未保持或无法获知的参数,如该密钥生成参数可以为生成发现密钥所使用的邻近业务参数,如ProSe application code。
步骤409.A-UE在接收到参数获取响应后,采用与AUSF网元或A-5G DDNMF网元相同的方法生成A-UE的发现密钥。
至此,A-UE从A-5G DDNMF网元获取了用于生成A-UE的发现密钥的密钥生成参数。
步骤410:A-UE在确定需要使用邻近业务,也即需要与其他UE建立直接通信时,可以发送邻近业务请求消息,该邻近业务请求消息包括ProSe application code和消息完整码(message integrity code,MIC)。
A-UE可以根据A-UE的发现密钥生成MIC,本申请实施例并不限定A-UE根据A-UE的发现密钥生成MIC的方式,A-UE的发现密钥可以为A-UE的UE粒度的发现密钥,也可以为邻近业务粒度的发现密钥。
例如,MIC=KDF(A-UE的发现密钥,其他参数)。其他参数可以是ProSe application code,Current time,MAX_OFFset中至少的一种,还可以是邻近业务请求消息。
可选地,A-UE可以根据A-UE的发现密钥确定子密钥,使用子密钥生成MIC。例如,A-UE根据完整性保护子密钥IK生成MIC,并使用机密性保护子密钥CK对邻近业务请求消息中的部分或全部信息进行机密性保护,也可以使用机密性保护子密钥CK对MIC的全部比特或部分比特进行机密性保护。
这里需要注意的是,在有CK和IK的情况下,不需要再单独生成MIC。因为完整性保护的情况下,会有一个具有MIC相同作用的参数生成,如该参数可以为消息完整码 (message authentication code,MAC)。MAC可以替代MIC的位置,与MIC的作用相同。
A-UE在发送邻近业务请求消息前,若生成了CK(也即),可以对邻近业务请求消息中的所有信息或部分信息进行加密,也即进行机密性保护。
示例性的,A-UE可以按照提预先定好的方式只对邻近业务请求消息中的敏感数据进行机密性保护。对哪些敏感数据进行机密性保护可以是在标准中规定的。
例如,标准规定只对current time等数据进行机密性保护。A-UE可以只对current time进行机密性保护。
又例如,标准中指示按照网络侧下发的方式对邻近业务请求消息中的部分信息做机密性保护。这种情况下,网络侧(A-5G DDNMF网元)可以生成一个模板,并随着邻近业务参数一起发送给A-UE。机密性保护模板用于指示需要进行机密性保护的比特位信息。机密性保护模板的内容可以是随机的,也可以是固定的。随机的是指每个模板指示的需要进行机密性保护的比特位信息不一定相同。固定的是指每个模板指示的需要进行机密性保护的比特位信息相同。当然,固定的机密性保护模板不是一成不变的,运营商可以随时更改相应内容。也可以对不同终端使用不同的固定模板。此时可以理解为机密性保护模板与A-UE的身份标识或者业务标识有对应关系。机密性保护模板的内容比如是:对消息中的一些随机比特位做机密性波保护,其他比特位不需要做。A-UE根据模板对邻近业务请求消息进行加密。
又例如,A-UE可以自己生成机密性保护模板,并按照机密性保护模板的内容对消息的部分内容做机密性波保护。在A-UE可以自己生成机密性保护模板的情况下,步骤410中该邻近业务请求消息可以携带机密性模板。
IK用于对邻近业务请求消息中所有信息或部分信息做完整性保护。本发明不限制IK和CK的使用顺序。即可以先使用CK对邻近业务请求消息中所有信息或部分信息进行加密,实现机密性保护,再对加密后的所有信息或部分信息做完整性保护;也可以先使用IK对邻近业务请求消息中所有信息或部分信息做完整性保护,可以利用IK对完整性保护后的部分或全部信息进行加密,实现机密性保护,也可以利用IK对未进行完整包含的部分或全部信息进行加密,实现机密性保护。
步骤411:M-UE接收邻近业务请求消息,根据邻近业务请求消息包括ProSe application code确定能够为A-UE提供邻近业务后,向A-5G DDNMF网元发送验证请求,该验证请求包括A-UE的ProSe application code和MIC。
在实际应用场景中,不同UE可以与不同的5G DDNMF网元交互,这里以在步骤401~109中与A-UE交互的5G DDNMF网元为A-5G DDNMF网元,与M-UE交互的5G DDNMF网元为M-5G DDNMF网元,M-UE通过M-AMF网元将验证请求发送至M-5G DDNMF网元,M-5G DDNMF网元再将验证请求发送给A-5G DDNMF网元。
步骤412:A-5GDDNMF接收到验证请求后,根据验证请求对A-UE进行验证。A-5GDDNMF可以根据ProSe application code确定A-UE的发现密钥,根据A-UE的发现密钥生成期望消息完整码(expected MIC,XMIC),A-5GDDNMF根据A-UE的发现密钥生成XMIC的方式与A-UE根据A-UE的发现密钥生成MIC的方式相同。A-5GDDNMF在生成XMIC后,确定XMIC和MIC是否一致。
若XMIC和MIC一致,说明A-UE的身份是合法的,对A-UE验证成功。否则,A-UE的身份是不合法的,对A-UE验证失败。
若A-UE侧进行了完整性保护和机密性保护,相应的,A-5G DDNMF网元要做完整性保护验证和解密操作。A-5G DDNMF网元的操作顺序与A-UE的操作顺序相反。比如A-UE先做机密性保护,再做完整性保护,那么A-5G DDNMF网元需要先验证完整性保护并在验证成功后,再对消息做解密操作,进而得到原始信息。A-5G DDNMF网元在做解密操作的时候,相应地,可以按照预先约定好方式,或者A-5G DDNMF网元生成的机密性模板的方式或者从A-UE收到的机密性模板的方式做解密操作。
步骤413:A-5GDDNMF在对A-UE验证成功后,通过M-AMF网元向M-UE发送验证成功响应。
步骤414:M-UE在接收到验证成功响应后,可以为A-UE提供邻近业务,也即与A-UE建立直接通信。
在步骤410~步骤414中以M-UE验证A-UE的身份为例进行说明,在实际应用中,A-UE也可以验证M-UE的身份,例如,M-UE可以采用与步骤401~409类似的方式从5GDDNMF获取密钥生成参数以及M-UE的ProSe application code,之后,M-UE基于密钥生成参数生成M-UE的发现密钥,进而生成对应的MIC,将该MIC发送给A-UE,A-UE可以采用与步骤411~414类似的方式从M-UE获取该MIC,向5GDDNMF发送携带该MIC的验证请求。
在上述说明中以密钥生成网元为AUSF网元为例进行说明,作为一种可能的实施方式,密钥生成网元也可以为AMF网元,对应的根密钥为Kamf。密钥生成网元为AMF网元的情况与密钥生成网元为AUSF网元的情况类似,区别在于执行主体不同,根密钥不同。具体可以参见图4所示的实施例的相关说明此处不再赘述。密钥生成网元也可以为其他网元,对应的根密钥为其他网元中存储的与A-UE相关的密钥,密钥生成网元为其他网元的情况与密钥生成网元为AUSF网元的情况类似,区别在于执行主体不同,根密钥不同。具体可以参见图4所示的实施例的相关说明此处不再赘述。
在如图4所示的实施例中,A-5GDDNMF可以将密钥生成参数发送给A-UE,以使得A-UE根据密钥生成参数生成A-UE的发现密钥,之后M-UE在对A-UE验证时,可以通过A-5GDDNMF进行验证。作为一种可能的实施方式,A-5GDDNMF可以将A-UE的UE粒度的发现密钥发送给A-UE,以使得A-UE根据A-UE的发现密钥生成A-UE的邻近业务粒度的发现密钥,进而生成MIC,之后M-UE在对A-UE验证时,可以通过A-5GDDNMF进行验证,下面对这种方式进行说明,参见图5,为本申请实施例提供的一种安全通信方法进行进一步说明,参见图5,图5中以对open ProSe discovery场景下,第一网元为5G DDNMF网元,第一终端设备为A-UE,第二终端设备为M-UE,A-UE通过A-AMF网元与A-5G DDNMF网元交互,M-UE通过M-AMF网元与A-5G DDNMF网元交互为例对本申请实施例提供的安全通信方法进行说明,A-UE和M-UE可以通过不同的AMF网元与A-5G DDNMF网元交互,这里用A-AMF网元和M-AMF网元进行区分。A-UE从A-5G DDNMF网元获取密钥生成参数的方法参见步骤501~509,M-UE验证A-UE的方法参见步骤510~514,该方法包括:
步骤500:与步骤400相同,具体可参见步骤400的相关说明,此处不再赘述。
步骤501:与步骤401相同,具体可参见步骤401的相关说明,此处不再赘述。
步骤502:与步骤402相同,具体可参见步骤402的相关说明,此处不再赘述。
步骤503:与步骤403相同,具体可参见步骤403的相关说明,此处不再赘述。
步骤504:与步骤404相同,具体可参见步骤404的相关说明,此处不再赘述。
步骤505:与步骤405相同,具体可参见步骤405的相关说明,此处不再赘述。
步骤506:AUSF网元接收到密钥获取请求后,根据A-UE的身份标识确定A-UE的Kausf,根据Kausf计算A-UE的UE粒度的发现密钥。
可选的,AUSF网元可以基于A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥。AUSF网元根据Kausf计算A-UE的UE粒度的发现密钥。之后,在基于A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥的方式可以参见步骤406中的相关说明,此处不再赘述。
步骤507:AUSF网元向A-5G DDNMF网元发送密钥获取响应,该密钥获取响应中包括A-UE的UE粒度的发现密钥,可选的,还包括A-UE的邻近业务粒度的发现密钥。
若该密钥获取响应中仅包括A-UE的UE粒度的发现密钥,A-5G DDNMF网元可以进一步,根据A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥。
A-5G DDNMF网元根据A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥的方式与AUSF网元根据A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥的方式类似,具体可参见前述内容,此处不再赘述。
若该密钥获取响应中仅包括A-UE的UE粒度的发现密钥,A-5G DDNMF网元可以进一步,根据A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥。A-5G DDNMF网元还可以进一步地根据A-UE的邻近业务粒度的发现密钥生成A-UE的子密钥。
A-5G DDNMF网元还可以根据A-UE的邻近业务粒度的发现密钥生产A-UE的子密钥方式与AUSF网元根据A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥的方式类似,具体可参见前述内容,此处不再赘述。
若该密钥获取响应中仅包括A-UE的UE粒度的发现密钥,A-5G DDNMF网元可以不生成A-UE的邻近业务粒度的发现密钥。而是直接根据UE粒度的发现密钥生成A-UE的子密钥。
A-5G DDNMF网元还可以根据A-UE的邻近业务粒度的发现密钥生产A-UE的子密钥方式与AUSF网元根据A-UE的UE粒度的发现密钥生成A-UE的邻近业务粒度的发现密钥的方式类似,具体可参见前述内容,此处不再赘述。
可选的,A-5G DDNMF网元保存A-UE的UE粒度的发现密钥和/或A-UE的邻近业务粒度的发现密钥的方式可以参见步骤407中的相关说明,此处不再赘述。
步骤508:A-5G DDNMF网元通过A-AMF网元发送参数获取响应,该参考获取响应中包括A-UE的UE粒度的发现密钥以及邻近业务参数,如ProSe application code。
步骤509.A-UE在接收到参数获取响应后,采用与AUSF网元或A-5G DDNMF网元相同的方法生成A-UE的邻近业务粒度的发现密钥。可选地,A-UE进一步采用与AUSF网元或A-5G DDNMF网元相同的方法生成A-UE的子密钥。
可选地另一种实现方法,A-UE在接收到参数获取响应后,采用与AUSF网元或A-5G DDNMF网元相同的方法生成A-UE的子密钥。
需要说明的是,在步骤508中以参数获取响应中包括A-UE的UE粒度的发现密钥为例,作为一种可能的实施方式,参数获取响应也可以不包括A-UE的UE粒度的发现密钥,而携带A-UE的邻近业务粒度的发现密钥或子密钥,该子密钥可以是根据A-UE的UE粒度的发现密钥生成的,也可以是根据A-UE的邻近业务粒度的发现密钥生成的。
若参数获取响应携带A-UE的邻近业务粒度的发现密钥,在步骤509中,A-UE在接收到该参数获取响应,A-UE可以根据A-UE的邻近业务粒度的发现密钥生成子密钥。
至此,A-UE从A-5G DDNMF网元获取了用于生成A-UE的邻近业务粒度的发现密钥和/或子密钥,以及邻近业务参数。
步骤510:A-UE在确定需要使用邻近业务,也即需要与其他UE建立直接通信时,可以发送邻近业务请求消息,该邻近业务请求消息包括ProSe application code和MIC。
其中,MIC是根据A-UE的发现密钥生成的,例如,A-UE接收到参数获取响应中携带的A-UE的UE粒度的发现密钥,A-UE可以根据UE粒度的发现密钥直接生成MIC,也可以先根据UE粒度的发现密钥生成子密钥,之后再根据子密钥生成MIC。
又例如,A-UE获取该A-UE的邻近业务粒度的发现密钥(该A-UE的邻近业务粒度的发现密钥可以是参数获取响应中携带的,也可以是A-UE根据参数获取响应中携带的UE粒度的发现密钥生成的),A-UE可以根据邻近业务粒度的发现密钥直接生成MIC,也可以先根据邻近业务粒度的发现密钥生成子密钥,之后再根据该子密钥生成MIC。
又例如,A-UE接收到参数获取响应中携带的子密钥,A-UE可以根据该子密钥生成MIC。
步骤511:与步骤411相同,具体可参见步骤411的相关说明,此处不再赘述。
步骤512:A-5GDDNMF接收到验证请求后,可以根据Prose application code确定A-UE的发现密钥(如UE粒度的发现密钥或邻近业务粒度的发现)或子密钥,根据A-UE的发现密钥生成期望消息完整码(expected MIC,XMIC),A-5GDDNMF根据A-UE的发现密钥生成XMIC的方式与A-UE根据A-UE的发现密钥生成MIC的方式相同。A-5GDDNMF在生成XMIC后,确定XMIC和MIC是否一致。
若XMIC和MIC一致,说明A-UE的身份是合法的,对A-UE验证成功。否则,A-UE的身份是不合法的,对A-UE验证失败。
步骤513:与步骤413相同,具体可参见步骤413的相关说明,此处不再赘述。
步骤514:与步骤414相同,具体可参见步骤414的相关说明,此处不再赘述。
在步骤510~步骤514中以M-UE验证A-UE的身份为例进行说明,在实际应用中,A-UE也可以验证M-UE的身份,例如,M-UE可以采用与步骤501~514类似的方式从5GDDNMF获取M-UE的UE粒度的发现密钥以及M-UE的Prose application code,之后,M-UE基于密M-UE的UE粒度的发现密钥生成M-UE的邻近业务粒度的发现密钥,进而生成对应的MIC,将该MIC发送给A-UE,A-UE可以采用与步骤511~514类似的方式从M-UE获取该MIC,向5GDDNMF发送携带该MIC的验证请求。
在如图4和图5所示的实施例中,M-UE在对A-UE验证时,是通过A-5GDDNMF进行验证的,在实际应用中M-UE也可以自行对A-UE进行验证。
下面基于如图1A所示的***架构,结合附图5,对本申请实施例提供的一种安全通信方法进行进一步说明,参见图6,图6中以对open ProSe discovery场景下,第一网元为5G DDNMF网元,第一终端设备为A-UE,第二终端设备为M-UE,A-UE通过A-AMF网元与A-5G DDNMF网元交互,M-UE通过M-AMF网元与A-5G DDNMF网元交互为例对本申请实施例提供的安全通信方法进行说明,A-UE和M-UE可以通过不同的AMF网元与A-5G DDNMF网元交互,这里用A-AMF网元和M-AMF网元进行区分。A-UE从A-5G DDNMF网元获取密钥生成参数的方法参见步骤601~609,M-UE验证A-UE的方法参见步 骤610~614,该方法包括:
步骤600:与步骤400相同,具体可参见步骤400的相关说明,此处不再赘述。
步骤601:与步骤401相同,具体可参见步骤401的相关说明,此处不再赘述。
步骤602:与步骤402相同,具体可参见步骤402的相关说明,此处不再赘述。
步骤603:与步骤403相同,具体可参见步骤403的相关说明,此处不再赘述。
步骤604:与步骤404相同,具体可参见步骤404的相关说明,此处不再赘述。
步骤605:与步骤405相同,具体可参见步骤405的相关说明,此处不再赘述。
步骤606:与步骤406相同,具体可参见步骤406的相关说明,此处不再赘述。
步骤607:与步骤407相同,具体可参见步骤407的相关说明,此处不再赘述。
步骤608:与步骤408相同,具体可参见步骤408的相关说明,此处不再赘述。
步骤609:与步骤409相同,具体可参见步骤409的相关说明,此处不再赘述。
步骤610:与步骤410相同,具体可参见步骤410的相关说明,此处不再赘述。
步骤611:M-UE通过M-AMF网元向M-5G DDNMF网元发送用于请求邻近业务参数的请求消息,该请求消息中携带A-UE的相关信息,如A-UE的身份标识或ProSe application code。
步骤612:M-5G DDNMF网元为M-UE分配邻近业务参数,向A-5G DDNMF网元发送参数请求,该参数请求中包括A-UE的相关信息,该参数请求用于请求A-UE的发现密钥。
步骤613:A-5G DDNMF网元接收到该参数请求后,根据A-UE的相关信息确定A-UE的发现密钥,向M-5G DDNMF网元反馈A-UE的发现密钥。
步骤614:M-5G DDNMF网元向M-UE响应消息,其中包括M-UE的邻近业务参数和A-UE的发现密钥。
步骤615:M-UE接收邻近业务请求消息,根据邻近业务请求消息包括ProSe application code和M-UE的邻近业务参数确定能够为A-UE提供邻近业务。
步骤616:M-UE对A-UE进行验证。M-UE可以根据A-UE的发现密钥生成XMIC,M-UE根据A-UE的发现密钥生成XMIC的方式与A-UE根据A-UE的发现密钥生成MIC的方式相同。M-UE在生成XMIC后,确定XMIC和MIC是否一致。
若XMIC和MIC一致,说明A-UE的身份是合法的,对A-UE验证成功。否则,A-UE的身份是不合法的,对A-UE验证失败。
步骤617:M-UE对A-UE验证成功后,可以为A-UE提供邻近业务,也即与A-UE建立直接通信。
需要说明的是,步骤610也可以在步骤614之后执行,也即M-UE可以先向M-5G DDNMF网元请求邻近业务参数,向A-5G DDNMF网元请求A-UE的发现密钥,这种情况下,M-UE发送的请求消息中携带的A-UE的相关信息可以是M-UE预先获取的,如可以为A-UE的应用标识和/或身份标识等。
在步骤610~步骤617中以M-UE验证A-UE的身份为例进行说明,在实际应用中,A-UE也可以验证M-UE的身份,例如,M-UE可以采用与步骤601~614类似的方式从5GDDNMF获取密钥生成参数,之后,M-UE基于密钥生成参数生成M-UE的邻近业务粒度的发现密钥,进而生成对应的MIC,将该MIC发送给A-UE,A-UE可以采用与步骤611~617类似的方式从M-UE获取该MIC,从5GDDNMF获取M-UE的发现密钥,生成XMIC,对M-UE 进行验证。
为了保证A-UE的发现密钥的安全性,5GDDNMF或AUSF网元(也即密钥生成网元)可以对A-UE的发现密钥设置生命周期,该生命周期可以发送给A-UE,也可以不发生给A-UE。下面结合图7对进行说明。参见图7,该方法包括:
步骤701:与步骤400~步骤409相同,具体可参见步骤400~步骤407的相关说明,此处不再赘述。
步骤702:与步骤408相同,具体可参见步骤408的相关说明,此处不再赘述。该参考获取响应还可以包括validity timer,用于指示A-UE的发现密钥的有效期。
步骤703:与步骤409相同,具体可参见步骤409的相关说明,此处不再赘述。
步骤704:A-5G DDNMF网元在validity timer到期后,A-5G DDNMF网元删除A-UE的发现密钥。
若A-5G DDNMF网元将A-UE的UE粒度的发现密钥或A-UE的邻近业务粒度的发现密钥,与validity timer、Prose application Code一起保存,作为A-UE的5G Prose安全上下文。在validity timer到期后,A-5G DDNMF网元可以将A-UE的UE粒度的发现密钥或A-UE的邻近业务粒度的发现密钥删除;若A-5G DDNMF网元同时保存的A-UE的UE粒度的发现密钥和A-UE的邻近业务粒度的发现密钥,在validity timer到期后,A-5G DDNMF网元将A-UE的邻近业务粒度的发现密钥删除,继续保存A-UE的UE粒度的发现密钥。
步骤705:A-5G DDNMF网元获取新的A-UE的发现密钥,A-5G DDNMF网元可以向AUSF网元请求新的A-UE的发现密钥,也可以自行生成A-UE的发现密钥。
步骤706:A-5G DDNMF网元向A-UE发送指示信息,该指示信息指示更新A-UE的发现密钥。本申请实施例并不限定该指示信息指示更新A-UE的发现密钥的方式,可以采用显式的指示方式,如可以通过预先约定的标识或字符指示更新A-UE的发现密钥,也可以采用隐式的指示方式,如可以通过携带用于生成新的A-UE的发现密钥的密钥生成参数指示。
若采用显式的指示方式,该指示消息中还可以携带用于生成新的A-UE的发现密钥的密钥生成参数。
步骤707:A-UE接收到该指示信息后,根据该指示信息更新A-UE的发现密钥。
若该指示信息中包括用于生成新的A-UE的发现密钥的密钥生成参数,A-UE根据该密钥生成参数生成新的A-UE的发现密钥,若该指示信息中不包括用于生成新的A-UE的发现密钥的密钥生成参数,A-UE可以再次向A-5G DDNMF网元发送参数获取请求。
需要说明的是,若A-UE获取了validity timer,A-UE在validity timer到期之前,可以发起了多次邻近业务参数请求流程,但均无需更新发现密钥,A-UE在validity timer到期时,可以删除该发现密钥,也可以再次向A-5G DDNMF网元发送参数获取请求。
基于与方法实施例同一发明构思,本申请实施例还提供了一种通信装置,用于执行上述方法实施例中第一终端设备或A-UE执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图8所示,该装置包括接收单元801、处理单元802以及发送单元803:
接收单元801,用于获取密钥生成参数,密钥生成参数包括第一终端设备的邻近业务临时标识。
处理单元802,用于根据根密钥和密钥生成参数生成第一发现密钥;以及基于第一发现密钥,生成消息完整码。
发送单元803,用于发送邻近业务请求消息,邻近业务请求消息包括邻近业务临时标识和消息完整码。
在一种可能的实施方式中,发送单元803还可以向第一网元发送参数获取请求,参数获取请求包括第一终端设备的身份标识,接收单元801接收来自第一网元参数获取响应,参数获取响应包括密钥生成参数。
在一种可能的实施方式中,处理单元802在基于发现密钥生成消息完整码时,可以先根据发现密钥生成子密钥;之后再根据子密钥生成消息完整码。也可以直接根据发现密钥生成消息完整码。
在一种可能的实施方式中,密钥生成参数还包括第一网元为第一终端设备分配的邻近业务参数中除邻近业务临时标识之外的部分或全部,如当前时间(current time)、最大偏置量(MAX offset)的部分或全部。可选的,密钥生成参数还可以包括其他参数,如计数器值。
在一种可能的实施方式中,参数获取响应还包括邻近业务临时标识的有效期。
在一种可能的实施方式中,处理单元802还可以保存第一发现密钥和有效期。
在一种可能的实施方式中,处理单元802还可以保存在该有效期超期之后,删除第一发现密钥。
在一种可能的实施方式中,根密钥可以为下列任一:Kausf、Kamf、Kakma、或预配置的密钥。
基于与方法实施例同一发明构思,本申请实施例还提供了一种通信装置,用于执行上述方法实施例中第一网元或A-5G DDNMF网元执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图9所示,该装置包括发送单元901、处理单元902以及接收单元903。
发送单元901,用于发送密钥生成参数,密钥生成参数包括第一终端设备的邻近业务临时标识;
接收单元903,用于从第二终端设备接收验证请求,验证请求包括邻近业务临时标识和消息完整码;
处理单元902,用于根据邻近业务临时标识确定第一终端设备的第一发现密钥,根据第一发现密钥生成期望消息完整码;以及根据消息完整码与期望消息完整码对第一终端设备进行验证;
发送单元901,还用于在处理单元902根据消息完整码与期望消息完整码对第一终端设备进行验证后,向第二终端设备发送验证响应,验证响应用于指示对第一终端设备的验证结果。
在一种可能的实施方式中,接收单元903可以接收来自第一终端设备的参数获取请求,参数获取请求包括第一终端设备的身份标识;处理单元902可以根据第一终端设备的身份标识对第一终端设备授权检查通过,在授权检查通过后,处理单元902可以为第一终端设备分配邻近业务临时标识;还可以根据邻近业务临时标识,获取第一发现密钥;发送单元901可以向第一终端设备发送参数获取响应,参数获取响应包括密钥生成参数;处理单元902还可以保存邻近业务临时标识和第一发现密钥的对应关系。
在一种可能的实施方式中,参数获取请求还包括第一终端设备的邻近业务信息,处理单元902在根据第一终端设备的身份标识对第一终端设备鉴权通过时,接收单元903可以 根据第一终端设备的身份标识和第一终端设备的邻近业务信息从统一数据管理网元获取第一终端设备的邻近业务的签约信息;之后,处理单元902在确定第一终端设备的邻近业务信息与第一终端设备的邻近业务签约信息一致后,对第一终端设备授权检查通过。
在一种可能的实施方式中,参数获取请求还包括第一终端设备的邻近业务信息,处理单元902在根据第一终端设备的身份标识对第一终端设备授权检查通过时,发送单元901可以向统一数据管理网元发送检查请求,用于请求对第一终端设备进行授权检查,检查请求中包括第一终端设备的身份标识;之后,接收单元903可以从统一数据管理网元接收检查响应,检测响应用于指示对第一终端设备授权检查通过。
在一种可能的实施方式中,处理单元902根据邻近业务临时标识,获取第一发现密钥的方法有三种:
第一种、处理单元902根据邻近业务临时标识和根密钥生成第一发现密钥,所述根密钥是为所述第一终端设备分配的或预配置的密钥。
第二种、处理单元902根据邻近业务临时标识,通过接收单元903从密钥生成网元获取第一发现密钥。
第三种、处理单元902根据身份标识,通过接收单元903从密钥生成网元获取第二发现密钥,根据第二发现密钥和邻近业务临时标识生成第一发现密钥。
在一种可能的实施方式中,密钥生成参数还包括第一网元为第一终端设备分配的邻近业务参数中除邻近业务临时标识之外的部分或全部,如当前时间、最大偏置量的部分或全部。可选的,密钥生成参数还可以包括其他参数,如计数器值。
在一种可能的实施方式中,处理单元902根据邻近业务临时标识,通过接收单元903从密钥生成网元获取第一发现密钥时,发送单元901可以向密钥生成网元发送第一密钥获取请求,第一密钥获取请求包括第一终端设备的身份标识和邻近业务临时标识;之后,接收单元903可以从密钥生成网元接收第一密钥获取响应,第一密钥获取响应包括第一发现密钥。
在一种可能的实施方式中,处理单元902根据身份标识,通过接收单元903从密钥生成网元获取第二发现密钥时,发送单元901可以向密钥生成网元发送第二密钥获取请求,第二密钥获取请求包括第一终端设备的身份标识;接收单元903可以从密钥生成网元接收第二密钥获取响应,第二密钥获取响应包括第二发现密钥。
在一种可能的实施方式中,处理单元902根据发送密钥生成期望消息完整码时,可以先根据第一发现密钥生成子密钥,之后,再根据子密钥生成期望完整码。处理单元902也可以直接根据发送密钥生成期望消息完整码。
在一种可能的实施方式中,密钥生成网元为下列任一网元:
认证服务功能网元、接入和移动性管理功能网元、应用程序的身份验证和密钥管理锚点功能网元、引导服务功能网元、5G直连通信发现名称管理功能网元、或密钥管理网元,其中,密钥管理网元为存储有为第一终端设备预配置的密钥的网元。
在一种可能的实施方式中,处理单元902还可以确定邻近业务临时标识的有效期,保存有效期和第一发现密钥的对应关系。
在一种可能的实施方式中,在有效期超期之后,处理单元902删除第一发现密钥。
基于与方法实施例同一发明构思,本申请实施例还提供了一种通信装置,用于执行上 述方法实施例中密钥生成网元或AUSF网元执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图10所示,该通信装置可以通过如下两种方式中的任一方式与第一网元交互,该装置包括接收单元1001、处理单元1002以及发送单元1003:
方式一:
接收单元1001,用于从第一网元接收第一密钥获取请求,第一密钥获取请求包括终端设备的身份标识和密钥生成参数。
处理单元1002,用于根据第一终端设备的身份标识确定根密钥;根据根密钥和密钥生成参数生成第一终端设备的邻近业务粒度的发现密钥。
发送单元1003,用于向第一网元发送第一密钥获取响应,第一密钥获取响应包括第一终端设备的邻近业务粒度的发现密钥。
方式二:
接收单元1001,用于从第一网元接收第二密钥获取请求,第一密钥获取请求包括终端设备的身份标识。
处理单元1002,用于根据第一终端设备的身份标识确定根密钥;根据根密钥和密钥生成参数生成第一终端设备的终端设备粒度的发现密钥。
发送单元1003,用于向第一网元发送第二密钥获取响应,第一密钥获取响应包括第一终端设备的终端设备粒度的发现密钥。
在一种可能的实施方式中,密钥生成网元为下列任一网元:
认证服务功能网元、接入和移动性管理功能网元、应用程序的身份验证和密钥管理锚点功能网元、引导服务功能网元、5G直连通信发现名称管理功能网元、或密钥管理网元,其中,密钥管理网元为存储有为第一终端设备预配置的密钥的网元。
基于与方法实施例同一发明构思,本申请实施例还提供了一种通信装置,用于执行上述方法实施例中第二终端设备或M-UE执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图11所示,该装置包括接收单元1101、处理单元1102以及发送单元1103。
接收单元1101,用于接收第一终端设备广播的邻近业务请求消息,邻近业务请求消息包括第一终端设备的邻近业务临时标识和消息完整码;
处理单元1102,用于根据邻近业务临时标识确定能够支持邻近业务;
发送单元1103,用于在处理单元1102根据邻近业务临时标识确定能够支持邻近业务后,向第一网元发送验证请求,验证请求包括邻近业务临时标识和消息完整码;
接收单元1101,还用于从第一网元接收验证响应,验证响应用于指示对第一终端设备的验证结果;
处理单元1102,还用于根据验证结果确定与第一终端设备是否建立直接通信。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可 以是个人计算机,手机,或者网络设备等)或处理器(processor)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请实施例中所述第一网元、所述密钥生成网元、第一终端设备以及第二终端设备均可以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
在一个简单的实施例中,本领域的技术人员可以想到所述第一网元、所述密钥生成网元均可采用图12所示的形式。
如图12所示的通信装置1200,包括至少一个处理器1201、存储器1202,可选的,还可以包括通信接口1203。
存储器1202可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1202是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1202可以是上述存储器的组合。
本申请实施例中不限定上述处理器1201以及存储器1202之间的具体连接介质。本申请实施例在图中以存储器1202和处理器1201之间通过总线1204连接,总线1204在图中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线1204可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1201可以具有数据收发功能,能够与其他设备进行通信,在如图12装置中,也可以设置独立的数据收发模块,例如通信接口1203,用于收发数据;处理器1201在与其他设备进行通信时,可以通过通信接口1203进行数据传输。
当所述第一网元采用图12所示的形式时,图12中的处理器1201可以通过调用存储器1202中存储的计算机执行指令,使得所述会话管理网元可以执行上述任一方法实施例中的所述第一网元或A-5G DDNMF网元执行的方法。
具体的,图9中的发送单元、接收单元和处理单元的功能/实现过程均可以通过图12中的处理器1201调用存储器1202中存储的计算机执行指令来实现。或者,图9中的处理单元的功能/实现过程可以通过图12中的处理器1201调用存储器1202中存储的计算机执行指令来实现,图9中的发送单元和接收单元的功能/实现过程可以通过图12中的通信接口1203来实现。
当所述密钥生成网元采用图12所示的形式时,图12中的处理器1201可以通过调用存储器1202中存储的计算机执行指令,使得所述密钥生成网元可以执行上述任一方法实施例中的密钥生成网元或AUSF网元执行的方法。
具体的,图10中的接收单元、发送单元和处理单元的功能/实现过程均可以通过图12中的处理器1201调用存储器1202中存储的计算机执行指令来实现。或者,图10中的处理单元的功能/实现过程可以通过图12中的处理器1201调用存储器1202中存储的计算机执行指令来实现,图10中的接收单元、发送单元的功能/实现过程可以通过图12中的通信 接口1203来实现。
在一个简单的实施例中,本领域的技术人员可以想到所述第一终端设备以及第二终端设备均可采用图13所示的形式。
如图13所示的通信装置1300,包括至少一个处理器1301、存储器1302,可选的,还可以包括收发器1303。
处理器1301和存储器1302与处理器1201和存储器1202类似,具体可以参见前述内容,此处不再赘述。
本申请实施例中不限定上述处理器1301以及存储器1302之间的具体连接介质。本申请实施例在图中以存储器1302和处理器1301之间通过总线1304连接,总线1304在图中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线1304可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1301可以具有数据收发功能,能够与其他设备进行通信,在如图13装置中,也可以设置独立的数据收发模块,例如收发器1303,用于收发数据;处理器1301在与其他设备进行通信时,可以通过收发器1303进行数据传输。
当第一终端设备采用图13所示的形式时,图13中的处理器1301可以通过调用存储器1302中存储的计算机执行指令,使得所述第一终端设备可以执行上述任一方法实施例中的所述第一终端设备或A-UE执行的方法。
具体的,图8中的发送单元、接收单元和处理单元的功能/实现过程均可以通过图13中的处理器1301调用存储器1302中存储的计算机执行指令来实现。或者,图8中的处理单元的功能/实现过程可以通过图13中的处理器1301调用存储器1302中存储的计算机执行指令来实现,图8中的发送单元和接收单元的功能/实现过程可以通过图13中的收发器1303来实现。
当第二终端设备采用图13所示的形式时,图13中的处理器1301可以通过调用存储器1302中存储的计算机执行指令,使得所述第一终端设备可以执行上述任一方法实施例中的所述第二终端设备或M-UE执行的方法。
具体的,图11中的发送单元、接收单元和处理单元的功能/实现过程均可以通过图13中的处理器1301调用存储器1302中存储的计算机执行指令来实现。或者,图11中的处理单元的功能/实现过程可以通过图13中的处理器1301调用存储器1302中存储的计算机执行指令来实现,图11中的发送单元和接收单元的功能/实现过程可以通过图13中的收发器1303来实现。
在该方法中:本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生 一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (25)
- 一种安全通信方法,其特征在于,所述方法包括:第一终端设备获取密钥生成参数,所述密钥生成参数包括所述第一终端设备的邻近业务临时标识;所述第一终端设备根据根密钥和所述密钥生成参数生成第一发现密钥;所述第一终端设备基于所述第一发现密钥,生成消息完整码;所述第一终端设备发送邻近业务请求消息,所述邻近业务请求消息包括所述邻近业务临时标识和所述消息完整码。
- 如权利要求1所述的方法,其特征在于,所述第一终端设备获取密钥生成参数,包括:所述第一终端设备向第一网元发送参数获取请求,所述参数获取请求包括所述第一终端设备的身份标识;所述第一终端设备接收来自所述第一网元参数获取响应,所述参数获取响应包括所述密钥生成参数。
- 如权利要求2所述的方法,其特征在于,所述第一终端设备基于所述第一发现密钥生成所述消息完整码,包括:所述第一终端设备根据所述第一发现密钥,生成子密钥;所述第一终端设备根据所述子密钥,生成所述消息完整码。
- 如权利要求2或3所述的方法,其特征在于,所述参数获取响应还包括所述邻近业务临时标识的有效期。
- 如权利要求4所述的方法,其特征在于,所述方法还包括:所述第一终端设备保存所述第一发现密钥和所述有效期。
- 如权利要求5所述的方法,其特征在于,所述方法还包括:在所述有效期超期之后,所述第一终端设备删除所述第一发现密钥。
- 如权利要求1~6任一所述的方法,其特征在于,所述密钥生成参数还包括以下任意一个或者多个信息的组合:当前时间current time、最大偏置量MAX offset。
- 如权利要求1~7任一所述的方法,其特征在于,所述根密钥为Kausf。
- 如权利要求1~7任一所述的方法,其特征在于,所述根密钥为Kamf。
- 如权利要求1~7任一所述的方法,其特征在于,所述根密钥为Kakma。
- 如权利要求1~7任一所述的方法,其特征在于,所述根密钥为预配置的密钥。
- 一种安全通信方法,其特征在于,所述方法包括:第一网元发送密钥生成参数,所述密钥生成参数包括所述第一终端设备的邻近业务临时标识;所述第一网元从第二终端设备接收验证请求,所述验证请求包括所述邻近业务临时标识和消息完整码;所述第一网元根据所述邻近业务临时标识确定第一终端设备的第一发现密钥;所述第一网元根据所述第一发现密钥,生成期望消息完整码;所述第一网元在根据所述消息完整码与所述期望消息完整码对所述第一终端设备进 行验证后,向所述第二终端设备发送验证响应,所述验证响应用于指示对所述第一终端设备的验证结果。
- 如权利要求12所述的方法,其特征在于,所述第一网元发送密钥生成参数,包括:所述第一网元接收来自所述第一终端设备的参数获取请求,所述参数获取请求包括所述第一终端设备的身份标识;所述第一网元在根据所述第一终端设备的身份标识对所述第一终端设备授权检查通过后,为所述第一终端设备分配所述邻近业务临时标识;所述第一网元根据所述邻近业务临时标识,获取所述第一发现密钥;所述第一网元向所述第一终端设备发送参数获取响应,所述参数获取响应包括所述密钥生成参数。
- 如权利要求12或13所述的方法,其特征在于,所述方法还包括:所述第一网元保存所述邻近业务临时标识和所述第一发现密钥的对应关系。
- 如权利要求13或14所述的方法,其特征在于,所述第一网元根据所述邻近业务临时标识,获取所述第一发现密钥,包括:所述第一网元根据所述邻近业务临时标识和根密钥生成所述第一发现密钥,所述根密钥是为所述第一终端设备分配或预配置的密钥;或所述第一网元根据所述邻近业务临时标识,从密钥生成网元获取所述第一发现密钥;或所述第一网元根据所述身份标识,从所述密钥生成网元获取第二发现密钥,根据所述第二发现密钥和所述邻近业务临时标识生成所述第一发现密钥。
- 如权利要求15所述的方法,其特征在于,所述第一网元根据所述邻近业务临时标识,从密钥生成网元获取所述第一发现密钥,具体包括:所述第一网元向密钥生成网元发送第一密钥获取请求,所述第一密钥获取请求包括所述邻近业务临时标识和所述身份标识;所述第一网元接收来自所述密钥生成网元第一密钥获取响应,所述第一密钥获取响应包括所述第一发现密钥。
- 如权利要求15所述的方法,其特征在于,所述第一网元根据所述身份标识,从所述密钥生成网元获取第二发现密钥,包括:所述第一网元向密钥生成网元发送第二密钥获取请求,所述第一密钥获取请求包括所述身份标识;所述第一网元接收来自所述密钥生成网元第二密钥获取响应,所述第二密钥获取响应包括所述第二发现密钥。
- 如权利要求14-17任一所述的方法,其特征在于,所述密钥生成网元为下列任一网元:认证服务功能网元、接入和移动性管理功能网元、应用程序的身份验证和密钥管理锚点功能网元、引导服务功能网元、5G直连通信发现名称管理功能网元、或密钥管理网元,其中,密钥管理网元为存储有为第一终端设备预配置的密钥的网元。
- 如权利要求12~18任一所述的方法,其特征在于,所述第一网元根据所述第一发送密钥生成期望消息完整码,包括:所述第一网元根据所述第一发现密钥生成子密钥;所述第一网元根据所述子密钥生成期望完整码。
- 如权利要求12~18任一所述的方法,其特征在于,所述密钥生成参数还包括以下任意一个或者多个信息的组合:当前时间current time、最大偏置量MAX offset。
- 如权利要求12~20任一所述的方法,其特征在于,所述方法还包括:所述第一网元确定所述邻近业务临时标识的有效期,保存所述有效期和所述第一发现密钥的对应关系。
- 如权利要求21所述的方法,其特征在于,所述方法还包括:在所述有效期超期之后,所述第一网元删除所述第一发现密钥。
- 一种安全通信方法,其特征在于,所述方法包括:第二终端设备接收第一终端设备发送的邻近业务请求消息,所述邻近业务请求消息包括所述第一终端设备的邻近业务临时标识和消息完整码;所述第二终端设备在根据所述邻近业务临时标识确定能够支持邻近业务后,向第一网元发送验证请求,所述验证请求包括所述邻近业务临时标识和所述消息完整码;所述第二终端设备从所述第一网元接收验证响应,所述验证响应用于指示对所述第一终端设备的验证结果;所述第二终端设备根据所述验证结果确定与所述第一终端设备是否建立直接通信。
- 一种通信装置,其特征在于,所述装置用于执行权利要求1至23任一项所述的方法。
- 一种通信装置,其特征在于,包括处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令时,使得所述装置执行权利要求1至23任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/107577 WO2022027522A1 (zh) | 2020-08-06 | 2020-08-06 | 一种安全通信方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116235524A true CN116235524A (zh) | 2023-06-06 |
Family
ID=80119847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080104555.4A Pending CN116235524A (zh) | 2020-08-06 | 2020-08-06 | 一种安全通信方法以及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230188997A1 (zh) |
EP (1) | EP4187954A4 (zh) |
CN (1) | CN116235524A (zh) |
WO (1) | WO2022027522A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117223300A (zh) * | 2022-03-11 | 2023-12-12 | 北京小米移动软件有限公司 | 测距方法及装置 |
CN114697945B (zh) * | 2022-04-02 | 2023-10-24 | 中国电信股份有限公司 | 发现响应消息的生成方法及装置、发现消息的处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516956A (zh) * | 2014-09-25 | 2016-04-20 | 电信科学技术研究院 | 一种进行设备发现的方法和设备 |
CN106464726A (zh) * | 2014-05-23 | 2017-02-22 | 高通股份有限公司 | 对发现信息的对等中继 |
CN110035433A (zh) * | 2018-01-11 | 2019-07-19 | 华为技术有限公司 | 采用共享密钥、公钥和私钥的验证方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9813910B2 (en) * | 2014-03-19 | 2017-11-07 | Qualcomm Incorporated | Prevention of replay attack in long term evolution device-to-device discovery |
CN105611533B (zh) * | 2014-11-06 | 2020-01-07 | 中兴通讯股份有限公司 | 完整性校验码mic检查方法及装置 |
WO2016114640A1 (en) * | 2015-01-16 | 2016-07-21 | Samsung Electronics Co., Ltd. | Method of secured transmission and reception of discovery message in a d2d communication system |
EP3248351A1 (en) * | 2015-01-19 | 2017-11-29 | Telefonaktiebolaget LM Ericsson (publ) | Methods and apparatus for direct communication key establishment |
US10264438B2 (en) * | 2015-06-30 | 2019-04-16 | Motorola Mobility Llc | Method and system for modifying behavior of an internet-of-things device based on proximal presence of a mobile device |
EP3335400B1 (en) * | 2015-08-11 | 2021-09-01 | Apple Inc. | Secure direct discovery among user equipment |
-
2020
- 2020-08-06 EP EP20948180.3A patent/EP4187954A4/en active Pending
- 2020-08-06 WO PCT/CN2020/107577 patent/WO2022027522A1/zh unknown
- 2020-08-06 CN CN202080104555.4A patent/CN116235524A/zh active Pending
-
2023
- 2023-02-03 US US18/164,131 patent/US20230188997A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106464726A (zh) * | 2014-05-23 | 2017-02-22 | 高通股份有限公司 | 对发现信息的对等中继 |
CN105516956A (zh) * | 2014-09-25 | 2016-04-20 | 电信科学技术研究院 | 一种进行设备发现的方法和设备 |
CN110035433A (zh) * | 2018-01-11 | 2019-07-19 | 华为技术有限公司 | 采用共享密钥、公钥和私钥的验证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230188997A1 (en) | 2023-06-15 |
EP4187954A1 (en) | 2023-05-31 |
EP4187954A4 (en) | 2023-08-02 |
WO2022027522A1 (zh) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105706390B (zh) | 在无线通信网络中执行设备到设备通信的方法和装置 | |
US10903987B2 (en) | Key configuration method, key management center, and network element | |
CN107018676B (zh) | 用户设备与演进分组核心之间的相互认证 | |
CN109428875B (zh) | 基于服务化架构的发现方法及装置 | |
US20200228977A1 (en) | Parameter Protection Method And Device, And System | |
KR102408155B1 (ko) | 비밀 식별자를 사용하는 사용자 장비에 관련된 동작 | |
US10271208B2 (en) | Security support method and system for discovering service and group communication in mobile communication system | |
JP2023539174A (ja) | スライシングされたセルラーネットワークにおけるリレー選択のプライバシー | |
US20230239686A1 (en) | Secure communication method, apparatus, and system | |
KR20130029103A (ko) | 통신 시스템들에서 가입자 인증과 디바이스 인증을 바인딩하는 방법 및 장치 | |
CN113518312B (zh) | 一种通信方法、装置及*** | |
CN108353279B (zh) | 一种认证方法和认证*** | |
US20230188997A1 (en) | Secure communication method and apparatus | |
US20230179400A1 (en) | Key management method and communication apparatus | |
Fujdiak et al. | Security in low-power wide-area networks: State-of-the-art and development toward the 5G | |
EP4295531A1 (en) | A method for operating a cellular network | |
US20180131676A1 (en) | Code encryption | |
WO2022174399A1 (en) | User equipment authentication and authorization procedure for edge data network | |
CN116918300A (zh) | 用于操作蜂窝网络的方法 | |
CN116506810A (zh) | 一种验证方法、通信装置及通信*** | |
CN116074827A (zh) | 一种通信方法及通信装置 | |
CN117158010A (zh) | 组播广播服务密钥 | |
CN115699672A (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 |