Communication method and related apparatus

By negotiating and determining the Key Derivation Function (KDF), the problem of insufficient privacy of authentication keys in the EAP authentication process is solved, the compatibility of terminals with different security capabilities is improved and the user experience is enhanced, and the security and adaptability of authentication keys are ensured.

WO2026067072A1PCT designated stage Publication Date: 2026-04-02HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-12
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

The existing EAP authentication process lacks sufficient privacy of authentication keys, leading to the theft of communication data. Furthermore, it is difficult to adapt to terminals with different security capabilities, resulting in some terminals being unable to access the enterprise network and causing a poor user experience.

Method used

By negotiating and determining the Key Derivation Function (KDF), the second node, the first node, and the third node can deduce the authentication key based on the negotiated KDF, adapting to terminals with different security capabilities and improving network compatibility and user experience.

Benefits of technology

It achieves compatibility between terminals with different security capabilities, improves network security and user experience, and ensures the privacy and adaptability of authentication keys.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025120945_02042026_PF_FP_ABST
    Figure CN2025120945_02042026_PF_FP_ABST
Patent Text Reader

Abstract

A communication method and a related apparatus, which are applied to the technical field of communications. In the present application, a first node and a second node negotiate to determine a KDF, and the second node and a third node can deduce an authentication key on the basis of the KDF determined through negotiation, so that second nodes with different security capabilities all have opportunities to be associated with the first node and opportunities to be authenticated, thereby improving network compatibility, and improving user experience. The present application supports a SparkLink protocol, or the present application supports an IEEE protocol, such as an IEEE 802.11be / WiFi 7 / EHT protocol, an IEEE 802.11bn / WiFi 8 / UHR protocol, an IEEE IMMW protocol, and an IEEE 802.15.4ab / UWB protocol, such as an IEEE 802.11bf / Sensing protocol.
Need to check novelty before this filing date? Find Prior Art

Description

Communication method and related apparatus

[0001] This application claims priority from the Chinese patent application No. 202411397601.0 filed on September 30, 2024, and entitled "A communication method and related apparatus", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] The present application relates to the field of communication technology, in particular to a communication method and related apparatus. BACKGROUND

[0003] In the era of rapid development of mobile Internet, our tools are more convenient to use compared with traditional computers, especially desktop workstations and servers. However, they also face greater risks. Communication security has gradually become a key issue in the field of communication. Especially for wireless transmission, nodes and access points (APs) need to perceive each other in a complex space first, and then perform an access process to realize data transmission between them.

[0004] In the process of terminal accessing an AP, considering internal network security, an authentication server needs to be introduced to perform identity authentication on the terminal accessing the AP. The extensible authentication protocol (EAP) is a protocol widely used to authenticate terminals accessing APs, which defines the exchange of authentication information between terminals, APs and authentication servers. In the EAP authentication process, the AP and the terminal can obtain a consistent authentication key, which is usually generated uniformly in the manner specified by EAP. The AP and the terminal can derive a session key based on the authentication key to achieve secure communication.

[0005] However, the privacy of the authentication key determined in the current EAP authentication process is not high enough. There are already cases where the communication data between terminals and APs has been stolen due to the cracking of the authentication key. Moreover, as the types of terminals accessing the network are increasing, the security capabilities of terminals also have more and more possibilities. Using the way of generating an authentication key in a unified manner is difficult to adapt to terminals with different security capabilities, which makes it difficult for some terminals with incompatible security capabilities to access enterprise networks, resulting in poor user experience. SUMMARY

[0006] The application provides a communication method and related device. In the application, a first node and a second node can negotiate and determine a key derivation function (KDF), and the second node and a third node can derive an authentication key based on the negotiated and determined KDF, so that the association and authentication process can be adapted to terminals with different security capabilities, the compatibility of the network is improved, and the user experience is improved.

[0007] In a first aspect, the application provides a communication method, including: negotiating and determining a first KDF with a first node, performing an authentication process with a third node, and determining a first key based on at least the first KDF and key information in the case where the authentication process passes.

[0008] The method can be applied to a second node, which is a device with communication capability. In specific implementation processes, the method can be executed by a software module, a hardware module, or a function module combined with software and hardware in the second node, such as a chip or a processor in the second node. For ease of description, the following description takes the second node as an example.

[0009] The first node is a node that requests association with the second node, that is, the first node is an associated node, and the second node is a node that requests association with the first node. For example, the second node can send an association request (or an access request) to the first node, thereby requesting association with the first node. The third node is used for authentication, that is, the third node can authenticate the identity of a node. Optionally, the third node and the first node belong to the same device, or the third node and the first node are in communication connection, where the communication connection can be reflected in that the third node can receive and send messages with the first node. Alternatively, in some schemes, the communication connection between the third node and the first node can be understood as that the third node and the first node can perform point-to-point message transmission.

[0010] In the application, in the case where the second node requests association with the first node, the second node needs to perform an authentication process and derive a key. Before deriving the key, the second node can negotiate and determine a KDF with the first node, and derive the key based on the negotiated and determined first KDF when deriving the key. Since the first KDF is negotiated and determined, for second nodes with different security capabilities, the first KDF negotiated and determined by the second nodes and the first node can be different, so that the association and authentication process can be adapted to terminals with different security capabilities, the compatibility of the network is improved, and the user experience is improved.

[0011] For example, if the KDF functions supported by the first node and the third node are KDF1 and KDF2, for the second node supporting KDF1, the first node and the second node can negotiate to determine KDF1 as the first KDF. Similarly, for the second node supporting KDF2, the first node and the second node can negotiate to determine KDF2 as the first KDF. In this way, two second nodes with different security capabilities can both associate with the first node and derive the first key.

[0012] In some schemes, the first node is a management node in an enterprise network and can be regarded as an access point, and the third node is configured to provide authentication services for the enterprise network. By using the method, the compatibility of the security capabilities of the nodes requesting to associate with the enterprise network can be improved, and the user experience of using the enterprise network can be improved.

[0013] In a possible implementation of the first aspect, the first key is a key shared with the third node. That is, the third node also determines the first key based on the same parameters. In this way, when the parameters have the same values, the first key determined by the second node is consistent with the first key determined by the third node.

[0014] In another possible implementation of the first aspect, the key information is shared between the second node and the third node. In other words, the third node and the second node can obtain the same key information in advance.

[0015] For example, the key information can be a transport layer security (TLS) key between the second node and the third node, for example, a TLS master key or a key derived based on the TLS master key.

[0016] For another example, the key information can be a password corresponding to the second node. For example, the second node can log in to a corresponding account (or username), and the account can be pre-defined with a corresponding password. The password can be used as the key information shared between the second node and the third node. Further, the key information can also include the aforementioned account.

[0017] In another possible implementation of the first aspect, the authentication process with the third node includes: the second node interacts with the first node to obtain a first authentication message, and the first node interacts with the authentication service to obtain a second authentication message.

[0018] In the above implementation, an interaction mode of the authentication process is introduced. The second node can interact with the first node to obtain a first authentication message, and the first node can further interact with the third node to obtain a second authentication message, so that the identity of the second node can be authenticated by the third node.

[0019] In a further possible implementation form of the first aspect, determining the first key based at least on the first KDF and the key information comprises determining the first key based on the first KDF and the key information, and an identity of the first node and / or an identity of the second node.

[0020] The above implementation form introduces the identity of the first node and / or the identity of the second node into the generation of the first key, defines a new way of generating the first key, and improves security.

[0021] Further, the identity of the first node is used to identify the identity of the first node in the communication system, for example, an identity (ID) of a certain protocol layer of the first node. For example, a communication protocol stack between the first node and the second node includes a plurality of protocol layers, which can be referred to as Layer 1, Layer 2, Layer 3, etc., and the identity of the first node can be a Layer 2 ID (L2ID) of the second node.

[0022] Similarly, the identity of the second node is used to identify the identity of the second node in the communication system, for example, an L2ID of the second node.

[0023] In a further possible implementation form of the first aspect, determining the first key based at least on the first KDF and the key information comprises determining the first key based on the first KDF and the key information, and a first freshness parameter and / or a second freshness parameter. The first freshness parameter is generated by the second node, and the second freshness parameter is from the first node.

[0024] The above implementation form introduces the first freshness parameter generated by the first node and / or the second freshness parameter generated by the second node into the generation of the first key, defines a new way of generating the first key, and improves security.

[0025] Optionally, the first freshness parameter can be sent to the first node. That is, the first freshness parameter and the second freshness parameter are exchanged between the first node and the second node.

[0026] Further, the first freshness parameter and the second freshness parameter are freshness parameters exchanged between the first node and the second node in the security context negotiation process. That is, the first freshness parameter and the second freshness parameter are exchanged between the first node and the second node before the authentication process. In this way, an attacker needs to obtain the first freshness parameter and the second freshness parameter in the association stage to crack the first key, which improves the cracking difficulty of the first key and improves security.

[0027] In a further possible implementation form of the first aspect, determining the first key based on the first KDF, the key information, the first fresh parameter and the second fresh parameter comprises: determining a second key based on the first KDF, the key information, the first fresh parameter and the second fresh parameter, and determining the first key based on the first KDF and the second key.

[0028] In the above implementation form, the derivation process of the first key is divided into two stages, i.e., an intermediate key (i.e., the second key) is derived based on part of the information first, and then the first key is derived based on the intermediate key. In this way, a new way of generating the first key is defined, and the security is improved.

[0029] Further, determining the first key based on the first KDF and the second key comprises: determining the first key based on the first KDF, the second key, an identity of the first node and an identity of the second node.

[0030] In a further possible implementation form of the first aspect, before determining the first key based on at least the first KDF and the key information, the method further comprises: receiving a third fresh parameter from the first node, the third fresh parameter being determined by a third node. Determining the first key based on at least the first KDF and the key information comprises: determining the first key based on the first KDF, the key information and the third fresh parameter.

[0031] In the above implementation form, the fresh parameter determined by the third node is introduced into the generation process of the first key, and a new way of generating the first key is defined, and the security is improved.

[0032] In a further possible implementation form of the first aspect, determining the first key based on the first KDF, the key information and the third fresh parameter comprises: determining a second key based on the first KDF, the key information and the third fresh parameter, and determining the first key based on the first KDF and the second key.

[0033] Further, determining the first key based on the first KDF and the second key comprises: determining the first key based on the first KDF, the second key, an identity of the first node and an identity of the second node.

[0034] In a further possible implementation form of the first aspect, the authentication procedure belongs to an authentication procedure defined by a TLS-based EAP authentication protocol, and the key information comprises a TLS master key.

[0035] In a further possible implementation form of the first aspect, the authentication procedure belongs to an authentication procedure defined by an account password-based EAP authentication protocol, and the key information comprises a password corresponding to the second node. Further, the key information further comprises an account corresponding to the second node.

[0036] In a further possible implementation form of the first aspect, before interacting with the first node on the authentication message, the method further comprises: receiving an authentication manner indication from the first node, the authentication manner indication being used to indicate the authentication manner. The authentication manner is related to the authentication procedure.

[0037] In the above implementation form, before the authentication procedure, the first node can send the authentication manner indication to indicate the manner of authenticating the second node, so that the second node performs the corresponding authentication procedure in the manner indicated by the first node.

[0038] Further, the authentication manner indication is used to indicate the EAP authentication, and the authentication procedure is the procedure defined by the authentication protocol of the EAP authentication. The application newly defines a first key generation manner in the EAP authentication procedure, and improves the compatibility of the security capability of the second node.

[0039] Optionally, the authentication manner indication can be carried in the broadcast message, or the authentication manner indication can be carried in other messages (such as the second message, the fourth message, etc. below). For example, the first node can send a broadcast message, such as a communication domain system message, in which the authentication manner indication is carried, and the second node can receive the broadcast message to obtain the authentication manner indication, and then perform the corresponding authentication procedure.

[0040] In a further possible implementation form of the first aspect, the first node and the second node communicate through a first communication protocol, and in the authentication procedure, the format of the first authentication message that the second node interacts with the first node is a frame format defined by a first authentication protocol. Further, the first authentication message is carried in a data part of a first protocol data unit (PDU) transmitted between the first node and the second node, and the format of the first PDU is a PDU format defined by the first communication protocol.

[0041] The above implementation form introduces the compatible message of the first communication protocol to the first authentication protocol. The first node and the second node communicate through the first communication protocol, and when they need to interact on the authentication message, the authentication message is encapsulated in the data part of the PDU of the first communication protocol.

[0042] Further, the protocol stack of the first communication protocol comprises a plurality of protocol layers, and each protocol layer has a corresponding PDU, and the first PDU is a PDU of one of the protocol layers. Taking Starlink as an example, the protocol stack architecture of Starlink includes, from top to bottom, an application layer, a network and transport layer, a data link layer (including a link control layer and a medium access layer), and a physical layer. The physical layer is one layer, the data link layer is two layers (i.e., L2), and the data link layer can include two sub-layers, and the remaining layers are in the same manner. The first PDU can be a link control layer PDU or a data link layer PDU.

[0043] In a further possible implementation manner of the first aspect, the data portion of the first PDU further comprises a first message type field, the first message type field being used to indicate a message type of the first authentication message carried by the data portion of the first PDU, and the first message type field is used to indicate one of the following message types: start, complete, online, logoff, or data.

[0044] In a further possible implementation manner of the first aspect, the data portion of the first PDU further comprises a data length field, the data length field being used to indicate a data length of the first authentication message carried by the data portion of the first PDU.

[0045] In a further possible implementation manner of the first aspect, the first KDF is determined in cooperation with the first node, comprising: performing a security context negotiation process with the first node. In the security context negotiation process, the second node negotiates the first KDF with the first node.

[0046] In a further possible implementation manner of the first aspect, the security context negotiation process with the first node comprises: sending a first message to the first node and receiving a second message from the first node. The first message comprises security capabilities of the second node, and the security capabilities of the second node are used to indicate security algorithms supported by the second node, and the security algorithms comprise the KDF. The second message comprises indication information of the first KDF.

[0047] In a further possible implementation manner of the first aspect, the security context negotiation process further comprises: sending a third message to the first node and receiving a fourth message from the first node. The third message is used to respond to the second message, and the fourth message is used to indicate whether an association between the first node and the second node is established.

[0048] In a further possible implementation manner of the first aspect, the first message further comprises a first key negotiation parameter, the first key negotiation parameter being related to a session key between the first node and the second node, and the second message further comprises a second key negotiation parameter, the second key negotiation parameter being used to determine the session key between the first node and the second node.

[0049] Further, the session key comprises a signaling plane encryption key, a signaling plane integrity protection key, a user plane encryption key, a user plane integrity protection key, and a user plane authentication encryption key.

[0050] In a further possible implementation form of the first aspect, the first message further comprises a first freshness parameter, and the second message further comprises a second freshness parameter.

[0051] In a further possible implementation form of the first aspect, the first key is used to verify information that has been transmitted by the first node and the second node.

[0052] It is emphasized here that the information verification is different from the security protection, which is synchronized with the transmission of the information, such as the encryption of the information, the security protection is usually completed at the same time as the transmission of the information, for example, the information is encrypted when it is delivered, and for example, the check code used to check the integrity of the information is usually carried in the same message as the protected information, or in the related messages (considering the case of message segmentation). Differently, the information verification is usually performed after the successful transmission of the information, such as at a certain time after the message is received, triggering the information verification of the message or the content of the message. Therefore, the information verified by the first key is the information transmitted before (for example, before the first key is received, or before the first key is saved).

[0053] Exemplarily, the information that has been transmitted comprises, but is not limited to, the following information: the information transmitted in the negotiation of the first KDF, the information transmitted in the security context negotiation procedure (in the case of the security context negotiation procedure), the information transmitted between the security context negotiation procedures (for example, the broadcast message).

[0054] Therefore, the above implementation form provides a new application of the first key, which is beneficial to the forward security of the information.

[0055] In a further possible implementation form of the first aspect, the method further comprises receiving a first verification parameter from the first node, and verifying the first verification parameter. The first verification parameter is related to the first key and the first information to be verified. The first information to be verified belongs to the information that has been transmitted between the first node and the second node.

[0056] As a possible example, the first information to be verified comprises at least part of the information sent to the first node in the security context negotiation procedure. The security context negotiation procedure is described above, and it can be understood that the security context negotiation procedure comprises the procedure of negotiating the first KDF with the first node. Further, the first information to be verified further comprises part of the information sent by the first node to the second node in the security context negotiation procedure, and / or the information sent by the first node in the broadcast message.

[0057] For example, the first check parameter HASHg is calculated as follows: HASHg = KDF(RK, NONCEg, first message content, third message content). Wherein, KDF is used to identify the first KDF, RK is the first key, NONCEg is the second fresh parameter (carried in the second message), the first message content includes part or all of the content of the first message, and the third message content includes part or all of the content of the third message. Further, the second node can determine the check value based on the same input parameters, and compare the check value with the first check parameter to verify whether the first check parameter is correct.

[0058] When the first check parameter is verified to be correct, it indicates that the first key determined by the first node and the third node is consistent, and the information transmitted between the first node and the second node before has not been tampered with.

[0059] In another possible implementation of the first aspect, the method further includes: generating a second check parameter based on the first key and second to-be-checked information, and sending the second check parameter to the first node. Wherein, the second to-be-checked information belongs to the information that has been transmitted between the first node and the second node.

[0060] As a possible example, the second to-be-checked information includes at least part of the information received from the first node in the security context negotiation process, and the security context negotiation process includes the process of negotiating the first KDF with the first node.

[0061] In the second aspect, the application provides a communication method, including: negotiating with a second node to determine a first KDF, sending a security parameter to a third node, interacting with the second node a first authentication message and interacting with the third node a second authentication message, and receiving a first key from the third node. Wherein, the second node is a node requesting to associate with the first node, and the third node is used for authentication, such as a node (such as the second node) authenticating access to a network. The security parameter includes indication information of the first KDF, and the first key is related to the first KDF and key information.

[0062] The method can be applied to the first node, which is a device with communication capability. In the specific implementation process, the method can be executed by a software module, a hardware module or a function module combined with software and hardware in the first node, such as a chip or a processor in the first node. In order to facilitate description, the following will be described by taking the first node as an example.

[0063] In the application, the second node requests to associate with the first node, and the second node can negotiate with the first node to determine the first KDF, which can be used as a KDF for deriving an authentication key. The first node can report the indication information of the first KDF to the third node, and the third node and the second node derive the first key based on the negotiated first KDF. Since the first KDF is negotiated, the first KDF negotiated by the second node with the first node can be different for second nodes with different security capabilities, so that the association and authentication process can adapt to terminals with different security capabilities, improving the compatibility of the network and the user experience.

[0064] In a possible implementation of the second aspect, the security parameter further includes a first freshness parameter, the first freshness parameter is from the second node, and the first key is further related to the first freshness parameter.

[0065] In another possible implementation of the second aspect, the security parameter further includes a second freshness parameter, the second freshness parameter is generated by the first node, and the first key is further related to the second freshness parameter.

[0066] The foregoing implementations can be combined, for example, the security parameter includes the first freshness parameter and the second freshness parameter, and the first key is related to both the first freshness parameter and the second freshness parameter.

[0067] In another possible implementation of the second aspect, the first key is further related to a third freshness parameter. The third freshness parameter is a freshness parameter determined by the third node.

[0068] Further, the method further includes receiving the third freshness parameter from the third node and sending the third freshness parameter to the second node.

[0069] In the above implementation, the third node can send the third freshness parameter to the second node through the first node, so that the second node can obtain the third freshness parameter, so that the second node can generate the first key using the same parameter as the third node.

[0070] In another possible implementation of the second aspect, the first key is further related to an identifier of the first node and / or an identifier of the second node.

[0071] In another possible implementation of the second aspect, the first authentication message and the second authentication message are messages defined in the EAP authentication protocol based on TLS, and the key information includes a TLS master key.

[0072] In a further possible implementation form of the second aspect, the first authentication message and the second authentication message belong to messages defined by an EAP authentication protocol based on an account password, and the key information comprises a password corresponding to the second node. Further, the key information further comprises an account corresponding to the second node.

[0073] In a further possible implementation form of the second aspect, the method further comprises: sending an authentication mode indication. The authentication mode indication is used to indicate the authentication mode.

[0074] Further, the authentication mode indication is used to indicate an EAP authentication, and the first authentication message and the second authentication message are messages defined by an authentication protocol of the EAP authentication.

[0075] In a further possible implementation form of the second aspect, the first node and the second node communicate via a first communication protocol, and a format of the first authentication message exchanged between the first node and the second node in the authentication procedure is a frame format defined by a first authentication protocol. The first authentication message is carried in a data part of a first protocol data unit (PDU) transmitted between the first node and the second node, and a format of the first PDU is a PDU format specified by the first communication protocol.

[0076] In a further possible implementation form of the second aspect, the data part of the first PDU further comprises a first message type field, the first message type field being used to indicate a message type of the first authentication message carried in the data part of the first PDU, and the first message type field is used to indicate one of the following message types: start, finish, online, logoff or data.

[0077] In a further possible implementation form of the second aspect, the data part of the first PDU further comprises a data length field, the data length field being used to indicate a data length of the first authentication message carried in the data part of the first PDU.

[0078] In a further possible implementation form of the second aspect, the first node and the third node communicate via a second communication protocol, information transmitted between the first node and the third node is encapsulated in a data message, a format of the data message is specified by the first communication protocol, and the first communication protocol is different from the second communication protocol. The data message is carried in a payload part of a second protocol data unit (PDU) transmitted between the first node and the third node, and a format of the second PDU is specified by the second communication protocol.

[0079] In the above embodiments, the first node communicates with the third node in the second communication protocol. Since the first node also supports the first communication protocol, the message transmitted between the first node and the third node in the first communication protocol is encapsulated in the data part of the message in the second communication protocol. That is, the format of the second PDU transmitted between the first node and the third node is in the format defined by the second communication protocol, but the payload part of the second PDU carries the message in the first communication protocol.

[0080] For example, the second communication protocol is the Ethernet communication protocol, and the first communication protocol is the Starlink communication protocol. The message transmitted between the first node and the third node is encapsulated in the Starlink message format, and the Starlink message is carried in the payload part of the Ethernet message. The message transmitted between the first node and the third node is an Ethernet message. That is, the message in the first communication protocol is covered by the message in the second communication protocol, so that the information transmitted in the first communication protocol can be transmitted in the second communication protocol, and the compatibility between different communication protocols is improved.

[0081] In a further possible implementation form of the second aspect, the payload part of the second PDU further comprises a second message type field, the second message type field being used to indicate a message type of the data message carried by the payload part of the second PDU. For example, the second message type field is used to indicate one of the following message types: security parameter reporting or authentication key distribution. The security parameter reporting message comprises the security parameter described above. The authentication key distribution message comprises the first key described above.

[0082] In a further possible implementation form of the second aspect, the negotiating with the second node to determine the first KDF comprises performing a security context negotiation procedure with the second node. In the security context negotiation procedure, the first node can negotiate with the second node to determine the first key derivation function.

[0083] In a further possible implementation form of the second aspect, the performing the security context negotiation procedure with the first node comprises: receiving a first message from the second node, and sending a second message to the second node. The first message comprises security capabilities of the second node, the security capabilities of the second node being used to indicate security algorithms supported by the second node, the security algorithms comprising the KDF. The second message comprises indication information of the first KDF.

[0084] In a further possible implementation form of the second aspect, the performing the security context negotiation procedure with the first node further comprises: receiving a third message from the second node, and sending a fourth message to the second node. The third message is used to respond to the second message, and the fourth message is used to indicate whether an association between the first node and the second node is established.

[0085] In a further possible implementation form of the second aspect, the first message further comprises first key agreement parameters, the first key agreement parameters being used to determine a session key between the first node and the second node. The second message further comprises second key agreement parameters, the second key agreement parameters being related to the session key between the first node and the second node.

[0086] In a further possible implementation form of the second aspect, the first message further comprises a first freshness parameter, and the second message further comprises a second freshness parameter.

[0087] In a further possible implementation form of the second aspect, the first key is used to verify information that has been transmitted between the first node and the second node.

[0088] In a further possible implementation form of the second aspect, the method further comprises receiving a second verification parameter from the second node, and verifying the second verification parameter. The second verification parameter is related to the first key and information that has been transmitted between the first node and the second node.

[0089] In a further possible implementation form of the second aspect, the method further comprises generating a first verification parameter based on the first key and information that has been transmitted between the first node and the second node, and sending the first verification parameter to the second node.

[0090] In a third aspect, the present application provides a communication method, comprising: receiving a security parameter from a first node, performing an authentication procedure with a second node, and determining a first key based on at least a first KDF and key information, if the authentication procedure is passed.

[0091] The security parameter comprises indication information of the first KDF. The authentication procedure is performed with the second node, i.e., the second node also participates in the authentication procedure. Further, the authentication procedure is used to authenticate the second node.

[0092] The method can be applied to a third node, which is a device for authentication and has communication capability. In a specific implementation process, the method can be executed by a software module, a hardware module or a function module combined with software and hardware, such as a chip or a processor. For the convenience of description, the following will take the third node as an example for description.

[0093] In a possible implementation form of the third aspect, performing the authentication procedure with the second node comprises: interacting with the first node a second authentication message, the first node being used to interact with the second node a first authentication message.

[0094] In a further possible implementation form of the third aspect, after determining the first key based on at least the first KDF and the key information, the method further comprises: sending the first key to the first node.

[0095] In a further possible implementation form of the third aspect, determining the first key based on at least the first KDF and the key information comprises: determining the first key based on the first KDF, the key information, the first fresh parameter and / or the second fresh parameter.

[0096] Optionally, the first fresh parameter is carried in the security parameter, and the second fresh parameter is also carried in the security parameter. That is, the security parameter further comprises the first fresh parameter and / or the second fresh parameter.

[0097] In a further possible implementation form of the third aspect, determining the first key based on the first KDF, the key information, the first fresh parameter and the second fresh parameter comprises: determining a second key based on the first KDF, the key information, the first fresh parameter and the second fresh parameter, and determining the first key based on the first KDF and the second key.

[0098] In a further possible implementation form of the third aspect, determining the first key based on at least the first KDF and the key information comprises: determining a third fresh parameter, and determining the first key based on the first KDF, the key information and the third fresh parameter.

[0099] In a further possible implementation form of the third aspect, determining the first key based on the first KDF, the key information and the third fresh parameter comprises: determining a second key based on the first KDF, the key information and the third fresh parameter, and determining the first key based on the first KDF and the second key.

[0100] Further, the determining the first key based on the first KDF and the second key comprises: determining the first key based on the first KDF, the second key, an identity of the first node and an identity of the second node.

[0101] Optionally, the identity of the first node is carried in the security parameter, and the identity of the second node is also carried in the security parameter. That is, the security parameter further comprises the identity of the first node and / or the identity of the second node.

[0102] In a further possible implementation form of the third aspect, after determining the third fresh parameter, the method further comprises: sending the third fresh parameter to the first node.

[0103] In a further possible implementation form of the third aspect, the authentication procedure belongs to an authentication procedure defined by a TLS-based EAP authentication protocol, and the key information comprises a TLS master key.

[0104] In a further possible implementation form of the third aspect, the authentication procedure belongs to an authentication procedure defined by an account password-based EAP authentication protocol, and the key information comprises an account and a password corresponding to the second node.

[0105] In a further possible implementation form of the third aspect, the first node communicates with the third node via a second communication protocol, the information transmitted between the first node and the third node is encapsulated in a data packet, the data packet is in a format defined by the first communication protocol, and the first communication protocol is different from the second communication protocol. The data packet is carried in a payload of a second protocol data unit (PDU) transmitted between the first node and the third node, the second PDU is in a format defined by the second communication protocol.

[0106] In a further possible implementation form of the third aspect, the payload of the second PDU further comprises a second packet type field, the second packet type field is used to indicate a packet type of the data packet carried in the payload of the second PDU. Exemplarily, the second packet type field is used to indicate one of the following packet types: security parameter reporting or authentication key distribution. The security parameter reporting packet comprises the aforementioned security parameters. The authentication key distribution packet comprises the aforementioned first key.

[0107] In a fourth aspect, the present application provides a communication method, comprising: performing an authentication procedure with a third node, and determining a first key based on at least a first freshness parameter, a second freshness parameter and key information, in a case that the authentication procedure is passed. The first node is a node associated with a second node, the first freshness parameter is generated by the second node, and the second freshness parameter is from the first node. The third node is the same device as the first node, or the third node is in communication connection with the first node.

[0108] The above method is applied to the second node, and is executed by the second node or a module in the second node. The above provides a new way of determining the first key, and the first freshness parameter and the second freshness parameter exchanged between the first node and the second node are used to participate in generation of the first key, the first freshness parameter and the second freshness parameter are used as freshness values to participate in derivation of the first key, and the privacy and uniqueness of the first key derived can be further ensured, thereby helping to improve the security performance of the node.

[0109] Optionally, the method further comprises: determining the first freshness parameter, and sending the first freshness parameter to the first node.

[0110] In a possible implementation form of the fourth aspect, the first key is determined based on at least the first freshness parameter, the second freshness parameter and the key information, comprising: determining the first key based on at least a first KDF, the first freshness parameter, the second freshness parameter and the key information. The first KDF can be determined by negotiation between the first node and the second node, or the first KDF is predefined, or the first KDF can be determined by negotiation between the second node and the third node.

[0111] In some embodiments of the first aspect, some possible implementation of the first aspect can be combined with the fourth aspect to form a variety of possible implementation.

[0112] In the fifth aspect, the application provides a communication method, comprising: sending a security parameter to a third node, interacting with a second node a first authentication message and interacting with the third node a second authentication message, and receiving a first key from the third node. The security parameter comprises a first freshness parameter and a second freshness parameter, and the first key is related to the first freshness parameter, the second freshness parameter and key information. The first node is a node associated with the second node, and the third node is used for authentication.

[0113] The above method is applied to the first node, for example, executed by the first node or a module in the first node. The above method provides a new way to determine the first key, which can use the first freshness parameter and the second freshness parameter exchanged between the first node and the second node to participate in the generation of the first key, and the first freshness parameter and the second freshness parameter are used as freshness values in the derivation process of the first key, which can further ensure the privacy and uniqueness of the derived first key, and help to improve the security performance of the node.

[0114] Optionally, the method further comprises: determining the second freshness parameter, and sending the second freshness parameter to the second node. Further, the method further comprises: receiving the first freshness parameter from the second node.

[0115] In a possible implementation of the fifth aspect, the first key is generated by a first KDF. The first KDF can be determined by negotiation between the first node and the second node, or the first KDF is predefined, or the first KDF can be determined by negotiation between the second node and the third node.

[0116] In some embodiments of the second aspect, some possible implementation of the second aspect can be combined with the fifth aspect to form a variety of possible implementation.

[0117] In the sixth aspect, the application provides a communication method, comprising: receiving a security parameter from a first node, performing an authentication process with a second node, and determining a first key based on a first freshness parameter, a second freshness parameter and key information if the authentication process is passed. The first freshness parameter is generated by the second node, and the second freshness parameter is generated by the first node. The security parameter comprises the first freshness parameter and the second freshness parameter, and the first node is communicatively connected to the second node.

[0118] The method described above applies the third node, for example, is executed by the third node or a module in the third node. The above provides a new way to determine the first key, which can participate in the generation of the first key using the first fresh parameter and the second fresh parameter of the interaction between the first node and the second node, and the first fresh parameter and the second fresh parameter are involved in the derivation process of the first key as fresh values, which can further guarantee the privacy and uniqueness of the derived first key, and help to improve the security performance of the node.

[0119] In a possible implementation of the sixth aspect, the first key is determined based at least on the first fresh parameter, the second fresh parameter, and the key information, including: the first key is determined based at least on the first KDF, the first fresh parameter, the second fresh parameter, and the key information. The first KDF can be determined by negotiation between the first node and the second node, or the first KDF is predefined, or the first KDF can be determined by negotiation between the second node and the third node.

[0120] In some schemes, some possible implementations of the third aspect described above can be combined with the content of the sixth aspect to form various possible implementations.

[0121] In the seventh aspect, the present application provides a communication device, which includes units or modules for performing the method described in the first aspect or any possible implementation of the first aspect.

[0122] And / or, the communication device includes units or modules for performing the method described in the second aspect or any possible implementation of the second aspect.

[0123] And / or, the communication device includes units or modules for performing the method described in the third aspect or any possible implementation of the third aspect.

[0124] And / or, the communication device includes units or modules for performing the method described in the fourth aspect or any possible implementation of the fourth aspect.

[0125] And / or, the communication device includes units or modules for performing the method described in the fifth aspect or any possible implementation of the fifth aspect.

[0126] And / or, the communication device includes units or modules for performing the method described in the sixth aspect or any possible implementation of the sixth aspect.

[0127] Exemplarily, the communication device includes a processing unit and a communication unit. The processing unit is used to implement one or more operations of negotiation, processing, determination, generation, calculation, encryption, decryption, etc. The communication unit is used to implement one or more operations of sending and receiving.

[0128] In an eighth aspect, the present application provides a node comprising a processor and a memory, the memory being configured to store computer instructions, and the processor being configured to invoke the computer instructions stored in the memory to implement the method described in the first aspect or any possible implementation of the first aspect, or to implement the method described in the fourth aspect or any possible implementation of the fourth aspect.

[0129] In a ninth aspect, the present application provides a node comprising at least one processor and at least one memory, the at least one memory being configured to store computer instructions, and the at least one processor being configured to invoke the computer instructions stored in the memory to implement the method described in the second aspect or any possible implementation of the second aspect, or to implement the method described in the fifth aspect or any possible implementation of the fifth aspect.

[0130] In a tenth aspect, the present application provides a node comprising at least one processor and at least one memory, the at least one memory being configured to store computer instructions, and the at least one processor being configured to invoke the computer instructions stored in the memory to implement the method described in the third aspect or any possible implementation of the third aspect, or to implement the method described in the sixth aspect or any possible implementation of the sixth aspect.

[0131] In an eleventh aspect, the present application provides a chip comprising at least one processor and an interface circuit, the interface circuit being configured to receive signals from other communication devices (including nodes) and transmit the signals to the processor or send signals from the processor to other communication devices (including nodes), and the processor being configured to implement the aforementioned communication method through logic circuit or execution of code instructions.

[0132] Exemplarily, the processor is configured to implement the method described in the first aspect or any possible implementation of the first aspect, and / or to implement the method described in the second aspect or any possible implementation of the second aspect, and / or to implement the method described in the third aspect or any possible implementation of the third aspect, and / or to implement the method described in the fourth aspect or any possible implementation of the fourth aspect, and / or to implement the method described in the fifth aspect or any possible implementation of the fifth aspect, and / or to implement the method described in the sixth aspect or any possible implementation of the sixth aspect.

[0133] In a twelfth aspect, the present application provides a communication system comprising a first node and a second node, the first node being configured to implement the method described in the first aspect or any possible implementation of the first aspect, and the second node being configured to implement the method described in the second aspect or any possible implementation of the second aspect.

[0134] In a possible implementation form of the twelfth aspect, the communication system further comprises a third node configured to implement the method described in the third aspect or any possible implementation form of the third aspect. Optionally, the node and the third node can be integrated in the same device.

[0135] In a possible implementation form of the thirteenth aspect, the communication system further comprises a third node configured to implement the method described in the sixth aspect or any possible implementation form of the sixth aspect. Optionally, the node and the third node can be integrated in the same device.

[0136] In a possible implementation form of the thirteenth aspect, the communication system further comprises a third node configured to implement the method described in the sixth aspect or any possible implementation form of the sixth aspect. Optionally, the node and the third node can be integrated in the same device.

[0137] In a possible implementation form of the thirteenth aspect, the communication system further comprises a third node configured to implement the method described in the sixth aspect or any possible implementation form of the sixth aspect. Optionally, the node and the third node can be integrated in the same device.

[0138] In a possible implementation form of the thirteenth aspect, the communication system further comprises a third node configured to implement the method described in the sixth aspect or any possible implementation form of the sixth aspect. Optionally, the node and the third node can be integrated in the same device.

[0139] In a sixteenth aspect, the present application provides a computer program product, when the computer program product is executed by a processor, causing a communication device comprising the processor to implement the method described in the first aspect or any possible implementation of the first aspect, or implement the method described in the second aspect or any possible implementation of the second aspect, or implement the method described in the third aspect or any possible implementation of the third aspect, or implement the method described in the fourth aspect or any possible implementation of the fourth aspect, or implement the method described in the fifth aspect or any possible implementation of the fifth aspect, or implement the method described in the sixth aspect or any possible implementation of the sixth aspect.

[0140] The beneficial effects of the technical solutions of the second aspect to the sixteenth aspect of the present application can be referred to the beneficial effects of the technical solutions of the first aspect. BRIEF DESCRIPTION OF DRAWINGS

[0141] The drawings needed to be used in the following embodiment description will be briefly introduced.

[0142] Fig. 1 is a schematic diagram of an architecture of a communication system;

[0143] Fig. 2 is a schematic diagram of connection relationship of nodes in a wireless BMS scenario;

[0144] Fig. 3 is a schematic diagram of connection relationship of nodes in a smart home scenario;

[0145] Fig. 4 is a schematic diagram of an architecture of another communication system;

[0146] Fig. 5 is a schematic diagram of a flow of a communication method provided by the embodiments of the present application;

[0147] Fig. 6 is a schematic diagram of a flow of security context negotiation;

[0148] Fig. 7 is a schematic diagram of a flow of EAP authentication;

[0149] Fig. 8 is a schematic diagram of a transmission unit of a second communication protocol provided by the embodiments of the present application, which is compatible with a message of a first communication protocol;

[0150] Fig. 9 is a schematic diagram of a transmission unit of another second communication protocol provided by the embodiments of the present application, which is compatible with a message of a first communication protocol;

[0151] Fig. 10 is a schematic diagram of a transmission unit of a first communication protocol provided by the embodiments of the present application, which is compatible with an authentication protocol;

[0152] Fig. 11 is a schematic diagram of a key derivation manner provided by the embodiments of the present application;

[0153] Fig. 12 is a schematic diagram of another key derivation manner provided by the embodiments of the present application;

[0154] FIG. 13 is a flow diagram of another communication method according to an embodiment of the present application;

[0155] FIG. 14 is a flow diagram of another communication method according to an embodiment of the present application;

[0156] FIG. 15 is a flow diagram of another communication method according to an embodiment of the present application;

[0157] FIG. 16 is a structural diagram of a communication apparatus according to an embodiment of the present application;

[0158] FIG. 17 is a structural diagram of a communication device according to an embodiment of the present application. DETAILED DESCRIPTION

[0159] Some technical terms are introduced as follows.

[0160] 1. Node

[0161] A node is a device with communication capability, including but not limited to one or more of a user device, a network device, an industrial device, etc. The user device includes one or more of a handheld terminal, a wearable terminal, a vehicle, a vehicle-mounted device, a sensing device, a smart home device, or a leisure and entertainment device, etc. The handheld terminal includes but is not limited to a mobile phone, a tablet, or a notebook computer, etc. The wearable device includes but is not limited to a headset, a smart bracelet, a smart watch, or smart glasses, etc. The vehicle includes but is not limited to a vehicle, a ship, an aircraft, a rail transit (such as a subway, a high-speed rail, etc.), or a logistics robot (such as an automated guided vehicle (AGV)), etc. The vehicle-mounted device includes but is not limited to a domain controller (DC), a screen, a microphone, a sound, an electronic key, a keyless entry, a start system controller, a battery management system (BMS), a battery pack, or a battery cell, etc. The sensing device includes but is not limited to a camera, a radar, a laser radar, an illumination sensor, a temperature sensor, or a humidity sensor, etc. The smart home device includes but is not limited to a projector, a smart TV, a smart refrigerator, a smart home gateway, or a security device, etc. The leisure and entertainment device includes but is not limited to a virtual reality (VR) device, a mixed reality (MR) device, a massage chair, a home theater, a game control device, or a 4D cinema cabin, etc. The network device includes but is not limited to a router, a switch, or a base station, etc. The industrial device includes but is not limited to an industrial robot, or a mechanical arm, etc.

[0162] The present application is applicable to various networks, and nodes will be used herein to replace devices in these networks.

[0163] Exemplarily, the present application can be applicable to networks including wired communication networks, wireless communication networks, or networks formed by combination of wired communication and wireless communication, etc. For example, the wireless communication network includes networks connected by communication technologies such as SparkLink (or NearLink), 802.11b / g, Bluetooth, Zigbee, radio frequency identification (RFID), ultra-wideband (UWB) technology, or wireless short-range communication system, etc. And / or, the wireless communication network includes long-distance connection technologies such as wireless communication technologies based on long term evolution (LTE), 5th generation mobile networks or 5th generation wireless systems (5th-Generation, 5G or 5G technology for short), global system for mobile communications (GSM), general packet radio service (GPRS), universal mobile telecommunications system (UMTS), etc. For another example, the wired communication network includes networks connected by one or more of the following communication technologies: fiber connection technology, vehicle-mounted wired communication technology, controller area network (CAN), local interconnect network bus (LIN), CAN flexible data rate (CAN FD), or vehicle-mounted Ethernet, etc.

[0164] The nodes in the embodiments of the present application can be applied to various scenarios such as intelligent vehicles, smart homes, intelligent terminals, intelligent manufacturing, intelligent showrooms, mobile internet (MI), industrial control, self-driving, transportation safety, or internet of things (IoT), etc.

[0165] It should be understood that in some application scenarios or some network types, similar communication-capable devices can not be referred to as nodes, but for the convenience of description, the communication-capable devices are collectively referred to as nodes in the embodiments of the present application.

[0166] 2. Key derivation function (KDF)

[0167] The KDF, also known as key derivation algorithm, key derivation function and key derivation function, is used to derive (or called derive, derive) one or more secret values from a secret value. For example, a new secret value DK derived by a secret value Key can be expressed as: DK = KDF(Key). Of course, Key here is only an example, and other parameters can also participate in the key derivation process in specific implementation processes.

[0168] The key derivation algorithm involved in the embodiments of the present application can include a hash algorithm, a password-based key derivation function (PBKDF), a scrypt algorithm, etc. Exemplarily, the hash algorithm includes a hash-based message authentication code (HMAC) algorithm, a cipher-based message authentication code (CMAC) algorithm, etc. Among them, the hash algorithm used in the HMAC can be one of the national cryptographic algorithm (such as SM3, etc.), SHA-256, SHA-1, etc. These different HMACs are usually marked as: HMAC-SM3, HMAC-SHA256, HMAC-SHA1, etc. The CMAC can be combined with other cryptographic algorithms, for example, combined with the advanced encryption standard (AES) to form the AES-CMAC algorithm. And the PBKDF algorithm includes the first generation PBKDF1 and the second generation PBKDF2.

[0169] It should be understood that some KDF algorithms can perform hash changes on the input secret value through a hash algorithm, so the KDF function can also receive an algorithm identifier as input, which is used to indicate which hash algorithm to use. It should be noted that the KDF is not only applied to deriving secret values, but also applied to generating authentication information, identity information, etc.

[0170] 3. Session key

[0171] A session key is a key used for security protection of information transmitted between two ends of a communication. The security protection includes one or more of confidentiality protection, integrity protection, authentication encryption, etc., wherein the confidentiality protection requires the use of an encryption key or an authentication encryption key. The integrity protection requires the use of an integrity protection key or an authentication encryption key.

[0172] 4. Freshness parameter

[0173] The freshness parameter is applied in the processes of encryption, integrity protection, key derivation, key negotiation, etc., and can also be referred to as freshness or freshness parameter. Generally, the specific value of the freshness parameter changes after each generation, so that the value of the determined freshness parameter this time is different from that of the determined freshness parameter last time, thereby improving security.

[0174] Exemplarily, the freshness parameter can include a random number (such as NONCE), a counter value, etc.

[0175] The foregoing explanations of technical terms can be optionally used in the embodiments below.

[0176] The architecture of a communication system and a service scenario to which embodiments of the present application can be applied are described below. It should be noted that the system architecture and service scenario described in the present application are for more clearly illustrating the technical solutions of the present application, and do not constitute a limitation on the technical solutions provided by the present application. It should be understood that, as the system architecture evolves and new service scenarios appear, the technical solutions provided by the present application are equally applicable to similar technical problems.

[0177] The present application can be applied to a communication system, which is a system for transmitting information by using electrical signals (or optical signals). The communication system usually includes multiple nodes, and communication connections can be established between the nodes to transmit information. The nodes in the communication system can have different identities and / or different capabilities. In an exemplary communication system, the nodes are divided into master nodes and slave nodes, the master nodes have stronger communication capabilities and have the ability to manage the slave nodes, and the master nodes can establish links with multiple slave nodes, so that the master nodes and the master nodes, and the master nodes and the slave nodes can communicate with each other to implement various functions.

[0178] The communication system can include a wired communication system and a wireless communication system. Among them, the wireless communication system includes a short-range wireless communication system, a long-range wireless communication system, etc. The short-range communication system is, for example, a starlink communication system, 802.11b / g, Bluetooth, etc. The long-range wireless communication system is, for example, LTE, 5G, etc. Below, taking the starlink communication system as an example, the architecture of a communication system is introduced. In combination with FIG. 1, the communication system includes a management node and a terminal node. Among them:

[0179] The management node has communication capability and management capability, and is also referred to as a G node, an access point, or an authorized node in some scenarios. The management capability includes management capability in communication, such as being capable of performing connection management, resource scheduling, or information security management. Exemplarily, the management node is capable of sending resource management information or data scheduling information, such as access layer resource management information.

[0180] The terminal node, also referred to as a T node in some scenarios, has communication capability and can perform service transmission with the management node. In some solutions, the terminal node is a node that receives resource management information (or data scheduling information) and sends data according to the resource management information (or data scheduling information). Exemplarily, the terminal node can include a user equipment (UE), such as a device including a barcode, a radio frequency identification (RFID), a sensor, a global positioning system (GPS), a laser radar, a battery, and the like.

[0181] It should be understood that the identities of the management node and the terminal node are not absolute, and the identities shown in this document are only exemplary naming made for the purpose of distinguishing the operations of the nodes in communication in one possible connection scenario. In some scenarios, a node belongs to two or more communication domains at the same time, and functions as a terminal node in some communication domains and as a management node in another communication domain. For the purpose of understanding, the node is denoted as a G(T) node in some embodiments.

[0182] In combination with FIG. 1, the terminal node and the management node can establish an association. The establishment of the association requires performing an association process, before the association process is performed, the management node can send a broadcast message, and the terminal node can perceive the management node based on the broadcast message. Further, the terminal node can request the association management node, and the terminal node and the management node can establish an association relationship after completing the corresponding association process.

[0183] It should be noted that in FIG. 1, the association relationship between the management node and the terminal node is represented by a dashed line, and in some solutions, the connection link includes two links, a management node direction communication link and a terminal node direction communication link. The management node direction communication link is a communication link in the direction from the management node to the terminal node, and can carry one or more of a data channel, control information, a broadcast channel, a synchronization signal, and the like from the management node to the terminal node, and can be referred to as a G link. The terminal node direction communication link is a communication link in the direction from the terminal node to the management node, and can carry one or more of a data channel, an access channel, or a feedback signal, and the like from the terminal node to the management node, and can be referred to as a T link.

[0184] Optionally, the communication between the management node and the terminal node includes unicast communication, groupcast communication and / or broadcast communication. In some schemes, as shown in FIG. 1, the management node can be connected with one or more terminal nodes. In the spark link / nearlink communication system, the management node supports connection with multiple terminal nodes, and the terminal node also supports association with multiple management nodes.

[0185] The present application supports the spark link / nearlink protocol, or the present application supports the IEEE protocol, such as the IEEE 802.11be / WiFi 7 / EHT (extremely high throughput) protocol, the IEEE 802.11bn / WiFi 8 / UHR (ultra high reliability) protocol, the IEEE IMMW (Integrated mmWave) protocol, the IEEE 802.15.4ab / UWB (ultra wideband) protocol, such as the IEEE 802.11bf / Sensing protocol.

[0186] The communication system applied in the present application can be used in vehicle, smart home, smart exhibition hall, energy storage management and other scenes.

[0187] Taking the vehicle scene as an example, the communication system can be applied to the wireless battery management system (BMS) scene, or the tire pressure detection scene, etc. The wireless BMS scene can be referred to FIG. 2. The battery array management system (BAMS) is the management node, i.e. the G1 node, the battery cluster management system (BCMS) is the G(T) node (dual identity node), and the battery management unit (BMU) is the T node.

[0188] The smart home scene can be referred to FIG. 3. In FIG. 3, the gateway or customer premises equipment (CPE) is the G node, the sub-router, the large screen, the mobile phone and the air conditioner are the G(T) node, and the water heater, the smart curtain, the sound box, the microphone, the printer and the smart door lock are the T node.

[0189] In order to improve the management of the nodes accessed by the network, the communication system usually introduces a node (referred to as a third node) for authentication to authenticate the nodes in the network. Referring to FIG. 4, FIG. 4 is a schematic diagram of an architecture of another communication system, which includes a first node 10 (which can be regarded as a management node), a second node 20 (which can be regarded as a terminal node), and a third node 30.

[0190] The first node 10 can be associated with other nodes, and the second node 20 can request to associate with the first node 10. In the process of associating the second node 20 with the first node 10, the third node 30 can authenticate the identity of the second node 20. It should be understood that the third node 30 herein is used to refer to a functional module that can complete identity authentication. In specific embodiments, the third node 30 can be an entity device or a virtual device. For example, the third node can include an authentication device, such as a Radius server, a portal server, an access controller (AC), an authentication node, or an authentication server, or an authentication service, such as a third-party Radius or an SMS server.

[0191] It should be noted that the devices shown in FIG. 4 are only examples. In some schemes, the third node 30 can be integrated into the same device as the first node 10. Of course, the present application is also applicable to the case where the two are separately arranged. Similarly, the first node 10 and the second node 20 can also be integrated into the same device. Similarly, the present application is also applicable to the case where the two are separately arranged.

[0192] In some scenarios (for example, in an enterprise network), in the process of associating the second node with the first node, the third node needs to be introduced to authenticate the identity of the node in the network for internal network security. In the authentication process, the first node and the second node can obtain a consistent authentication key, which is usually uniformly generated in a manner specified by an authentication protocol. The first node and the second node can derive a session key based on the authentication key to achieve secure communication. At present, the privacy of the authentication key is not high enough, and the generation manner of the authentication key does not take into account the difference in security capabilities between the nodes accessing the network.

[0193] Therefore, the present application provides a communication method and related apparatus. In the present application, the first node and the second node can negotiate to determine a KDF, and the second node and the third node can derive an authentication key based on the KDF determined through negotiation, so that the association and authentication process can adapt to terminals with different security capabilities, thereby improving the compatibility of the network and the user experience.

[0194] The method provided by the embodiments of the present application will be described below.

[0195] Please refer to FIG. 5, which is a flow diagram of a communication method according to an embodiment of the present application. Optionally, the method can be applied to a communication system, such as the communication system shown in FIG. 4. The communication method shown in FIG. 5 can include one or more of steps S501 to S506. It should be understood that, for the convenience of description, the steps S501 to S506 are described in this order, and it is not intended to limit the execution of the steps in the above order. The embodiments of the present application do not limit the order of execution, the time of execution, the number of execution, etc. of the one or more steps. The steps S501 to S506 are as follows:

[0196] Step S501: The second node negotiates with the first node to determine the first KDF.

[0197] The first node and the second node have communication capabilities, which can be independent devices or modules in independent devices. The first node is an associated node, and the second node is a node requesting association with the first node. In some scenarios, the first node can be referred to as a management node (or an access point, G node), and the second node can be referred to as a terminal node (or T node).

[0198] Optionally, the first node can send a broadcast message carrying information of the first node. Taking the Starlink communication protocol as an example, the broadcast message can be a communication domain system message. The second node can receive the broadcast message, thereby sensing the first node and requesting association with the first node.

[0199] The first KDF is used to indicate a certain key derivation algorithm, such as HMAC-SM3, HMAC-SHA256, AES-CAMC, etc. In combination with Table 1, the first node and the second node can negotiate to determine the GHA1 algorithm (i.e. the HMAC-SM3 algorithm) as the first KDF. Since the first KDF is negotiated by the first node and the second node, the first KDF belongs to the KDFs supported by the second node, and of course, the first KDF should also be supported by the first node. It should be noted that the KDFs shown in Table 1 are only examples, and in specific implementations, there can be more KDFs, and their names, identifiers and brief descriptions can also be designed in other ways.

[0200] It should be understood that the value selection table proposed in the present application, such as Table 1, and Table 2 and Table 3 below, is an exemplary description for the convenience of understanding the scheme of the present application, and is not intended to limit the implementation of the scheme of the present application to the values shown in the table. For other values, field designs, attribute designs in the table, attribute sorting, etc., the present application is also applicable.

[0201] The following describes several ways to negotiate the first KDF:

[0202] In the first mode, the second node sends its security capability to the first node, the security capability of the second node indicating the algorithms supported by the second node. The first node can select the first KDF according to the security capability of the second node. Further, the first node sends the indication information of the selected first KDF to the second node.

[0203] As an example of the possible security capability, the security capability includes one or more fields, each field indicating whether the second node supports one (or several) KDF. Taking the field K1 included in the security capability as an example, the field K1 indicates whether the second node supports GHA1. When the field K1 takes the first value (e.g., 1) or does not take the second value (e.g., 0), it means that the second node supports the GHA1 algorithm.

[0204] In the selection of the first KDF, if the second node and the second node jointly support multiple KDFs, the first KDF can be selected according to the algorithm preference policy and / or the service type, which can be the KDF with the highest priority. For example, in combination with Table 1, taking the algorithm preference policy as an example that the priority of GHA1 is higher than that of GHA2, if the security capability of the second node indicates that the second node supports GHA1 and GHA2, and the first node also supports GHA1 and GHA2, the first node can select GHA1 with higher priority as the first KDF.

[0205] In the second mode, the first node sends its security capability to the second node, the security capability of the first node indicating the algorithms supported by the first node. The second node can select the first KDF according to the security capability of the first node. Further, the second node sends the indication information of the selected first KDF to the first node.

[0206] In the third mode, the second node sends the indication information of the first KDF to the first node, the first KDF being a KDF only supported by the second node or the first KDF being a KDF selected by the second node from multiple KDFs. In the latter case, the second node can select the KDF based on its own needs, such as selecting the KDF with the lowest power consumption or the KDF with the least computing power consumption. Further, if the first node supports the first KDF, it feeds back to the second node that the negotiation is successful. Of course, if the first node does not support the first KDF, it feeds back to the second node that the KDF negotiation fails, then the first node and the second node no longer continue the association process, or the second node reinitiates the KDF negotiation.

[0207] In the manner 4, the first node sends the indication information of the first KDF to the second node, the first KDF being a KDF only supported by the first node or the first KDF being a KDF selected by the first node from a plurality of KDFs. Further, if the second node supports the first KDF, the second node feeds back a successful negotiation to the first node. Of course, if the second node does not support the first KDF, the second node feeds back a KDF negotiation failure to the first node, and then the first node and the second node do not continue the association process, or the first node reinitiates the KDF negotiation.

[0208] Of course, the above manners of negotiating the first KDF are only examples, and in the specific implementation, the first node and the second node can negotiate the first KDF through other manners.

[0209] In some possible implementation, the first KDF can be negotiated in the security context negotiation process. Taking the above manner 1 as an example, a flowchart of a security context negotiation process is introduced in combination with FIG. 6. The first node and the second node negotiate the security context, including that the second node sends a message T1 (or a first message, the parameter symbols shown herein are only examples) to the first node, and the message T1 carries the security capability of the second node. Correspondingly, the first node receives the message T1 from the second node, and determines the first KDF based on at least the security capability of the second node. For example, if the second node only supports one KDF, the KDF is taken as the first KDF. When the second node supports one or more KDFs, the first node selects the first KDF with the highest priority based on an algorithm preference policy and / or a service type, and the like.

[0210] Further, the first node can send a second message T2 (or a second message) to the second node, and the second message T2 carries the indication information of the first KDF. Correspondingly, the second node receives the second message T2, and obtains the indication information of the first KDF, i.e., determines the first KDF. In this way, the first node and the second node negotiate and determine the first KDF through the security context negotiation.

[0211] It should be understood that the message names and the symbols representing the messages herein are only examples, and in the specific implementation, the names of the messages, the information, the nodes and the algorithms can be replaced. For example, the message T1 can be called an association request message, and the association request message is used to request to associate the first node, for example, including the information of the second node, such as an ID, a security capability and the like. The message T2 can be called a security context request message.

[0212] In some possible implementation, the security context negotiation procedure further includes one or more of the following messages, for example, message T3 (or referred to as third message), message T4 (or referred to as fourth message), message T5, etc. In this case, the information exchanged when negotiating the first KDF can be carried in part of the messages T1-T5, which is not specifically limited here.

[0213] In some possible implementation, the message T1 further includes a first key negotiation parameter, based on which the first node can determine the session key between the first node and the second node. And the message T2 further includes a second key negotiation parameter, based on which the second node can determine the session key between the first node and the second node.

[0214] In some possible implementation, the message T1 further includes a first freshness parameter generated by the second node, which can be carried in the message T1 and sent to the first node. And / or, the message T2 further includes a second freshness parameter generated by the first node, which can be carried in the message T2 and sent to the second node. Of course, the first freshness parameter can also be carried in other messages sent by the second node to the first node, for example, message T3, message T5, etc., which are also applicable to the present application. For example, the second freshness parameter can also be carried in other messages sent by the first node to the second node, for example, broadcast message, message T4, etc.

[0215] Step S502: The first node sends the security parameter to the third node. Correspondingly, the third node receives the security parameter.

[0216] The security parameter includes information used for participating in generating the first key. For example, the indication information of the KDF used for generating the first key, or the input parameter used for participating in generating the first key, etc. Several possible cases are exemplarily introduced as follows:

[0217] Case 1: The security parameter includes the indication information of the first KDF. For example, the security parameter includes the algorithm name or algorithm identifier of the first KDF. For example, the first node sends a security parameter report message (or full parameter report message) to the third node, which includes one or more fields. Taking field K2 as an example, the field K2 is used to indicate whether one or more KDFs are determined as the first KDF (i.e. the first KDF determined by negotiation between the first node and the second node). For example, the field K2 is used to indicate GHA1, and when the field K2 takes the third value (for example, 1) or does not take the fourth value (for example, 0), it means that the first KDF is GHA1.

[0218] Alternatively, in some schemes, the security parameter can also not include the indication information of the first KDF. In this case, the KDF used by the third node when generating the first key can be obtained in other ways, and does not necessarily be reported by the first node. For example, the KDF used by the third node when generating the first key can be predefined, for example, it is predefined in the communication protocol which KDF is used by the third node as the KDF for generating the key. For another example, the first KDF is determined by negotiation between the third node and the second node. Alternatively, in this scheme, step S201 can be performed, or can not be performed.

[0219] Case 2, the security parameter includes the first freshness parameter and / or the second freshness parameter. That is, the first node needs to report at least one freshness parameter. The freshness parameter, also known as freshness value, is a parameter used in the key derivation process to ensure the freshness or uniqueness of the derived key. Exemplarily, the freshness parameter can include one or more of a random number (such as NONCE), a counter value, a specific identifier (such as a timestamp), or a transmission unit sequence number, etc.

[0220] As a possible implementation, the first freshness parameter is generated by the second node, and the second node can send the first freshness parameter to the first node. For example, the first freshness parameter is sent to the first node in the message T1. The second freshness parameter is generated by the first node. Further, the second freshness parameter can be sent to the second node. For example, it is sent to the second node in the message T2.

[0221] In some schemes, the first freshness parameter and the second freshness parameter belong to the freshness parameters exchanged between the first node and the second node. For example, the first freshness parameter is generated by the second node, and the second node needs to provide the first freshness parameter to the first node. Similarly, the second freshness parameter is generated by the first node, and the first node needs to provide the first freshness parameter to the second node.

[0222] Case 3, the security parameter includes one or more of the identity of the first node, the identity of the second node. Wherein:

[0223] The identity of the first node is used to indicate the first node, for example, the identity of the node in the communication network, the device identity of the node, etc. The identity of the node in the communication network, for example, the ID of a certain communication protocol layer, the media access control (MAC) address of the node, the network access permit number of the node, etc. The device identity of the node is used to uniquely identify the device itself of the node, for example, the production serial number of the node, the device model, etc. Alternatively, the identity of the node can be fixed, or random.

[0224] As a possible implementation, the node identity is used to distinguish the node in the network, for example, the identity of the first node is the ID of the first communication protocol layer of the first node.

[0225] Exemplarily, the communication protocol stack between the first node and the second node includes a plurality of protocol layers, which can be referred to as layer 1, layer 2, layer 3, and the like, and the identity of the first node can be a Layer 2 ID (L2ID) of the second node.

[0226] Exemplarily, taking the communication protocol between the first node and the second node as the Starlink communication protocol, the Starlink protocol stack architecture is sequentially from top to bottom: the application layer, the network and transport layer, the data link layer (including the link control layer and the medium access layer), and the physical layer. Among them, the physical layer is layer 1, the data link layer is layer 2 (i.e., L2), and the data link layer can include two sub-layers, and the rest of the layers are in this manner. The identity of the first node can be the data link layer ID of the first node. Alternatively, the identity of the first node is the physical layer identity phy-ID of the first node.

[0227] The identity of the second node is used to indicate the second node, for example, the L2ID of the second node, the phy-ID of the second node, and the like, and the related design can refer to the possible design of the identity of the first node.

[0228] The foregoing various cases can be combined. For example, the security parameter can include the indication information of the first KDF, the first freshness parameter, the second freshness parameter, the identity of the first node, and the identity of the second node. For another example, the security parameter can include the indication information of the first KDF, the identity of the first node, and the identity of the second node.

[0229] In some schemes, when the security parameter includes a plurality of information, the plurality of information can be carried in a message and sent, or can be sent separately in different messages. In addition, the names of the messages and information shown in the present application are only examples, and in the specific implementation process, the names can have other designs.

[0230] In some possible implementation manners, the security parameter is triggered to be sent at a specific time. Exemplarily, after the first node receives the message T5, the security parameter can be reported to the third node. For another example, when the first node receives a message indicating the start of authentication (for example, the authentication message-start below), the security parameter is sent to the third node.

[0231] In some possible implementation manners, the first node and the second node use a first communication protocol to communicate, and the first node and the third node use a second communication protocol to communicate. In some cases, the first communication protocol is different from the second communication protocol. In some other cases, the first communication protocol is the same as the second communication protocol.

[0232] In case that the first communication protocol is different from the second communication protocol, for some messages transmitted between the first node and the third node, a transmission unit defined by the second communication protocol is needed to carry information (e.g. messages) required to be transmitted by the second communication protocol. For example, the first communication protocol is a StarFlash communication protocol, and the second communication protocol is an Ethernet communication protocol. The security parameter mentioned above is a parameter defined in the StarFlash communication protocol and required to be reported. This parameter is carried in a StarFlash message, i.e. the security parameter reporting message. Since the first node and the third node communicate with each other by using the Ethernet, the StarFlash message needs to be carried in an Ethernet message.

[0233] Optionally, the information transmitted between the first node and the third node is encapsulated in a data message (e.g. the security parameter reporting message and the authentication key distribution message described below). The format of the data message is defined by the first communication protocol, e.g. including a header, a data part and a trailer, wherein the header and / or the trailer are optional. The data message is carried in a payload part of a second protocol data unit (PDU) transmitted between the first node and the third node. The format of the second PDU is defined by the second communication protocol. The data message carried in the payload part of the second PDU at least includes the data part of the original data message, and optionally includes the header and / or the trailer. As shown in FIG. 8, the second PDU includes a header, a payload part and a trailer (optional), and at least part of the message (i.e. the data message) of the first communication protocol is carried in the payload part of the second PDU.

[0234] Further, the payload part of the second PDU further includes a second message type field. The second message type field is used to indicate the message type of the data message carried in the payload part of the second PDU. For example, in combination with Table 2, the second message type field is used to indicate one of the following message types: security parameter reporting or authentication key distribution. The security parameter reporting message includes the security parameter mentioned above. The authentication key distribution message includes a first key (described below).

[0235] Optionally, the payload part of the second PDU further includes a second message length field. The value of the second message length field is used to indicate the data length of the message of the first communication protocol carried in the second PDU.

[0236] Optionally, the data length of the second message type field and the data length of the second data length field can be designed according to actual requirements.

[0237] In some possible implementation manners, the data message transmitted between the first node and the third node can be encapsulated as a data structure including payload content, which is carried in the payload part of the second PDU, as shown in FIG. 8. Optionally, the data structure further includes a second message type field and / or a second message length field. Of course, the manner of transmitting information of the first communication protocol shown in FIG. 8 is only an example.

[0238] As yet another possible example, in connection with FIG. 9, when the data message of the first communication protocol is carried in the second PDU, only the data part of the data message can be carried in the payload part of the second PDU. Further optionally, in the case where the data message includes a header, the header of the data message can be carried in the header of the second PDU by updating the existing value of the existing field, converting into the value of other field, adding new data or new field, or redefining data, and the like. Similarly, in the case where the data message includes a trailer, the trailer can be carried in the trailer of the second PDU by updating the existing value of the existing field, converting into the value of other field, adding new data or new field, or redefining data, and the like.

[0239] Optionally, the header of the second PDU further includes first indication information for indicating the second communication protocol. For example, the header of the second PDU includes a field K3, and when the value of the field K3 is a fifth value, it indicates the second communication protocol.

[0240] Step S503: The second node and the third node perform an authentication procedure.

[0241] The third node is configured to perform authentication. The authentication procedure is related to an authentication manner, and in the authentication procedure, the second node and the third node need to send and receive authentication messages.

[0242] As a possible implementation, the second node and the third node cannot directly communicate with each other, and at this time, the second node and the third node both interact with the first node. In combination with FIG. 7, in an EAP authentication process, the second node sends a start message (i.e., an authentication message-start) to the first node, for example, an EAP over LAN (EAPOL)-start message. The first node and the second node interact with each other an authentication data message (i.e., an authentication message-data), for example, an EAP-request / identity, an EAPOL-response / identity, an EAP-request / protected EAP (PEAP), an EAP-response / PEAP, and the like. Optionally, the first node and the second node can also interact with each other a success (or failure) message, such as an EAP-success.

[0243] The first node is also used for interacting with the third node an authentication data message (an authentication message-data). Taking a Radius authentication as an example, the first node and the third node can interact with each other an access request (i.e., a Radius-access-request), an access challenge (i.e., a Radius-access-challenge), an access acceptance (i.e., a Radius-access-accept), and the like. For ease of description, the authentication message between the second node and the first node is referred to as a first authentication message, and the authentication message between the first node and the third node is referred to as a second authentication message.

[0244] In yet some possible implementations, the second node can communicate with the third node without passing through the first node, and at this time, part or all of the authentication messages in the authentication process can not be forwarded by the first node.

[0245] The authentication procedure is related to the authentication method (or authentication protocol) used by the third node or the second node. The foregoing FIG. 7 is described by taking EAP authentication as an example. In a specific implementation, the authentication procedure can use other authentication methods. Further, one authentication method can support multiple authentication protocols. Taking EAP as an example, EAP can include one or more of the following protocols: EAP-MD5, EAP-TLS, EAP-tunneled TLS (TTLS), EAP-light EAP (LEAP), EAP-PEAP, and the like. These protocols can be roughly divided into two categories, namely, TLS-based EAP (such as EAP-TLS, EAP-PEAP, or EAP-TTLS), and account password-based EAP (such as EAP-MD5 or EAP-LEAP). It should be understood that the foregoing listed EAP protocols are merely examples, and in a specific implementation, EAP can include more or fewer authentication protocols.

[0246] In some possible implementations, before performing the authentication procedure, the first node can send an authentication method indication to the second node, where the authentication method indication is used to indicate the authentication method. Accordingly, the second node can receive the authentication method indication to perform the authentication procedure in the corresponding authentication method.

[0247] For example, the authentication method indication is used to indicate EAP authentication, and therefore the second node and the third node perform an EAP-based authentication procedure. In some schemes, the authentication method also has enterprise and personal versions, for example, the authentication method indication is also used to indicate enterprise-EAP authentication.

[0248] Optionally, the authentication method indication can be sent in a broadcast message. For example, the authentication method indication can be sent in a communication domain system message, and of course the present application is also applicable to the case of being carried in other broadcast messages. Alternatively, the authentication method indication can be sent in other messages, for example, the foregoing message T2, message T4, and the like.

[0249] The foregoing implementations are described by taking the first node sending the authentication method indication as an example. In some implementation examples, the authentication method can also be determined by negotiation. For example, the first node sends authentication capability of the first node to the second node, where the authentication capability of the first node indicates multiple authentication methods supported by the first node, and the second node can select an authentication method and send an authentication method indication to the first node. For another example, the second node sends authentication capability of the second node to the first node, where the authentication capability of the second node indicates multiple authentication methods supported by the second node, and the first node can select an authentication method and send an authentication method indication to the second node.

[0250] As mentioned above, in some authentication procedures, the first node and the second node need to interact with each other a first authentication message. Since the first node and the second node communicate with each other using a predefined communication protocol (for the sake of description, referred to as the first communication protocol), it is necessary to define the format (such as frame format) of the transmission unit used to transmit the first authentication message.

[0251] In some possible implementation, the first node and the second node communicate with each other through the first communication protocol, and in the authentication procedure, the format of the first authentication message interacted by the second node with the first node is the frame format defined by the first authentication protocol. Further, the first authentication message is carried in the data part of the first protocol data unit (PDU) transmitted between the first node and the second node, and the format of the first PDU is the PDU format specified by the first communication protocol.

[0252] Referring to FIG. 10, the PDU specified by the first communication protocol includes a header, a data part, and a tail (optionally included). The authentication message transmitted between the first node and the second node can be carried in the data part of the PDU. Of course, multiple first PDUs can be transmitted between the first node and the second node to transmit multiple authentication messages in the authentication procedure.

[0253] Further, the protocol stack of the first communication protocol includes multiple protocol layers, and there is a PDU corresponding to the protocol layer. The first PDU mentioned above can be the PDU of one of the protocol layers. Taking Starlink as an example, the protocol stack architecture of Starlink is, from top to bottom, application layer, network and transport layer, data link layer (including link control layer and medium access layer), and physical layer. The first PDU mentioned above can be a link control layer PDU or a data link layer PDU.

[0254] In some possible implementation, the data part of the first PDU further includes a first message type field, which is used to indicate the message type of the authentication message carried in the data part of the first PDU. Exemplarily, the first message type field is used to indicate one of the following message types: start, complete, online, logout, or data. As shown in Table 3, for one of the first PDUs, the value of the first message type field carried in the data part thereof is 0x01, indicating that the authentication message carried thereby is the authentication message-start. Similarly, for one of the first PDUs, the value of the first message type field carried in the data part thereof is 0x02, indicating that the authentication message carried thereby is the authentication message-complete.

[0255] In some possible implementation, the authentication procedure can or can not pass. Optionally, in the case that the authentication procedure passes, the first node, the third node, etc. perform the steps below. In contrast, if the authentication procedure does not pass, the identity of the second node is not trusted, and the second node cannot fully use the service provided by the first node, e.g., cannot access the controlled network resource via the first node.

[0256] Optionally, the data length of the first message type field and the data length of the first data length field can be designed according to actual needs. For example, as shown in FIG. 10, the first message type field can occupy 1 byte, and the first data length field can occupy 2 bytes.

[0257] Step S504: The second node determines the first key based on at least the first KDF and the key information.

[0258] Optionally, the first KDF is a KDF determined by negotiation between the first node and the second node, and the first KDF is indicated by the first node to the third node. Alternatively, the first KDF is predefined for deriving the first key KDF. Alternatively, the first KDF is a KDF determined by negotiation between the second node and the third node.

[0259] The key information is information used for generating the first key, which can be a secret value. Further, the key information is shared between the second node and the third node. In other words, the third node and the second node can pre-acquire the same key information. For example, the key information includes a TLS key between the second node and the third node, or the key information includes password (or also includes account number) information corresponding to the second node.

[0260] As a possible example, the authentication procedure performed between the second node and the third node belongs to the authentication procedure defined by the TLS-based EAP authentication protocol, and the key information includes a TLS master key.

[0261] As another possible example, the authentication procedure belongs to the authentication procedure defined by the account password-based EAP authentication protocol, and the key information includes a password corresponding to the second node. Further, the key information also includes an account number corresponding to the second node.

[0262] For example, the first key is calculated as follows: RK = KDF (key information), where RK represents the first key, and KDF in the formula represents the first KDF. In some schemes, the first key is a symmetric key or a shared key generated by the second node and the server respectively, which can be referred to as an authentication key (the name is only an example) in some scenarios.

[0263] In some possible implementation manners, other parameters can also be introduced into the process of determining the first key. For example, the parameters participating in generating the first key also include one or more of a first freshness parameter, a second freshness parameter, a third freshness parameter, an identifier of the first node, an identifier of the second node, and the like. Part of the parameters can be included in the security parameter. For ease of understanding, the following introduces several possible cases of generating the first key:

[0264] In case 1, the second node generates the first key based on the first KDF, the key information, the first freshness parameter, and the second freshness parameter. For example, the first key is calculated as follows: RK = KDF (key information, NONCEt, NONCEg), where RK represents the first key, KDF in the formula is the first KDF described above, NONCEt is the first freshness parameter from the second node, and NONCEg is the second freshness parameter from the first node. It should be understood that in the calculation method shown in the present application, the order between the inputs of the KDF and the number of parameters are only examples.

[0265] Optionally, the second node can form a multi-layer key derivation system when deriving the first key, and derive the first key through multiple times of derivation. Further, the second node uses the first KDF as the key derivation function in the process of multiple times of derivation.

[0266] As a possible implementation manner, the second node determines a second key (which can be regarded as an intermediate key) based on the first KDF, the key information, the first freshness parameter, and the second freshness parameter, and determines the first key based on the first KDF and the second key (which can optionally include additional input information).

[0267] Taking the identifier of the first node and the identifier of the second node as the additional input information as an example, the first key is calculated as follows:

[0268] MK = KDF (key information, NONCEt, NONCEg),

[0269] RK = KDF (MK, identifier of the first node, identifier of the second node).

[0270] MK represents the second key, and the other parameters can be referred to the foregoing description.

[0271] Taking the key information as the TLS master key, the identifier of the first node as the L2ID of the first node, and the identifier of the second node as the L2ID of the second node as an example, the first key is calculated as follows in combination with FIG. 11:

[0272] MK = KDF (TLS master key, NONCEt, NONCEg),

[0273] RK = KDF (MK, L2ID of the first node, L2ID of the second node).

[0274] Similarly, in combination with FIG. 12, taking the account number and password corresponding to the key information of the second node, the L2ID of the first node as the identity of the first node, and the L2ID of the second node as the identity of the second node as an example, the calculation method of the first key is as follows:

[0275] MK = KDF (account number, password, NONCEt, NONCEg),

[0276] RK = KDF (MK, L2ID of the first node, L2ID of the second node).

[0277] Alternatively, the above example is introduced in the case of using both the first fresh parameter and the second fresh parameter. In specific implementation, only the first fresh parameter or the second fresh parameter may be used in the process of deriving the first key. Alternatively, the first fresh parameter and the third fresh parameter can be used, or the second fresh parameter and the third fresh parameter can be used. This paper only exemplarily introduces the combinations used, and other possible combinations are not described one by one.

[0278] Case 2: The second node generates the first key based on the first key derivation function, the key information, and the third fresh parameter. The third fresh parameter can be determined by the third node. Further, the third node can send the third fresh parameter to the first node, which is forwarded to the second node, so that the second node obtains the third fresh parameter. Exemplarily, the calculation method of the first key is as follows: RK = KDF (key information, R AND), and RAND is the third fresh parameter from the first node, which is determined by the third node.

[0279] Alternatively, when deriving the first key, the second node can obtain the first key by multiple derivations. Further, in the process of multiple derivations, the second node uses the first KDF as the key derivation function.

[0280] As a possible implementation, the second node determines the second key (which can be regarded as an intermediate key) based on the first key derivation function, the key information, and the third fresh parameter, and then determines the first key based on the first KDF and the second key (which can optionally include additional input information).

[0281] Taking the identity of the first node and the identity of the second node as the additional input information, the calculation method of the first key is as follows:

[0282] MK = KDF (key information, RAND),

[0283] RK = KDF (MK, identity of the first node, identity of the second node).

[0284] Of course, the key information can be a TLS master key, or an account and / or a password. For related description, please refer to the description of the aforementioned case 1.

[0285] Step S505: The third node determines the first key based on at least the first KDF and the key information.

[0286] Optionally, the first KDF is a KDF determined by the first node and the second node in negotiation, and the first KDF is indicated by the first node to the third node. Alternatively, the first KDF is predefined for deriving the first key KDF. Alternatively, the first KDF is a KDF determined by the second node and the third node in negotiation.

[0287] As a possible example, the authentication procedure performed between the second node and the third node is an authentication procedure defined by the TLS-based EAP authentication protocol, and the key information includes a TLS master key.

[0288] As another possible example, the authentication procedure is an authentication procedure defined by the account and password-based EAP authentication protocol, and the key information includes a password corresponding to the second node. Further, the key information further includes an account corresponding to the second node.

[0289] Illustratively, the first key is calculated in the following manner: RK = KDF (key information), where RK represents the first key, and KDF in the formula is the aforementioned first KDF.

[0290] In some possible embodiments, other parameters can be introduced to participate in the process of determining the first key. Illustratively, the parameters participating in the generation of the first key further include one or more of a first fresh parameter, a second fresh parameter, a third fresh parameter, an identity of the first node, an identity of the second node, etc.

[0291] For related examples, please refer to the description of step S504.

[0292] Optionally, in some schemes, the communication method as shown in FIG. 5 further includes step S506, which is specifically as follows:

[0293] Step S506: The third node sends the first key to the first node.

[0294] Correspondingly, the first node receives the first key from the third node. In this way, the first node and the second node both obtain the first key.

[0295] Optionally, the first key can be sent in a message, for example, transmitted in an authentication key distribution message. The first message can be a key determined between the third node and the second node after performing an authentication procedure, and can be an authentication key. Of course, the names of the messages, keys, information, and messages shown in the present application are only for example, and in specific implementations, the names can be designed in other ways.

[0296] In a possible implementation, the first key is not used as a session key, which is used to secure the transmitted information, for example, one or more of encryption, integrity protection, or authentication encryption. Further, the session key between the first node and the second node can be determined by the first node and the second node, for example, in a security context negotiation procedure, the first node and the second node determine the session key between them by exchanging key negotiation parameters. Since the session key is negotiated between the two, without passing through other devices, using this way to determine the session key can further improve the security of communication between the first node and the second node.

[0297] In a possible implementation, the first key is used to verify information that has been transmitted by the first node and the second node. That is, the information verified by the first key is information transmitted before (for example, before receiving the first key, or before the first key is saved). By verifying the information that has been transmitted by the first key, it is beneficial to ensure the forward information security between the first node and the second node.

[0298] Exemplarily, the information that has been transmitted includes but is not limited to the following information: information transmitted in the process of negotiating the first KDF, information transmitted in the security context negotiation procedure (in the case of a security context negotiation procedure), information transmitted between the security context negotiation procedures (for example, broadcast messages).

[0299] As a possible verification example, the first node verifies the first key based on the first key and the first verification parameter of the first node and the first to be verified information, and sends the first verification parameter to the second node. Correspondingly, the second node receives the first verification parameter from the first node and verifies the first verification parameter. Wherein, the first to be verified information belongs to the information that has been transmitted between the first node and the second node.

[0300] As a possible example, the first to be checked information includes information sent by the second node to the first node at least partially in the security context negotiation procedure. The security context negotiation procedure can be found in the foregoing, and it can be understood that the security context negotiation procedure includes the procedure of negotiating the first KDF with the first node. Further, the first to be checked information further includes information sent by the first node to the second node partially in the security context negotiation procedure, and / or information sent by the first node in a broadcast message.

[0301] For example, the first check parameter HASHg is calculated as follows: HASHg = KDF(RK, NONCEg, message T1 content, message T3 content). Wherein, KDF is used to identify the first KDF, RK is the first key, NONCEg is the second fresh parameter (carried in the second message), message T1 content includes part or all of the content of message T1, and message T3 content includes part or all of the content of message T3. Further, the second node can determine the check value based on the same input parameters, and compare the check value with the first check parameter to verify whether the first check parameter is correct.

[0302] In some possible embodiments, HASHg is carried in message T6, which is a message sent by the first node to the second node. Optionally, message T6 also carries a third fresh parameter.

[0303] As another possible check example, the second node generates a second check parameter based on the first key and the second to be checked information, and sends the second check parameter to the first node. Wherein, the second to be checked information belongs to information that has been transmitted between the first node and the second node.

[0304] As a possible example, the second to be checked information includes information received from the first node at least partially in the security context negotiation procedure. It can be understood that the security context negotiation procedure includes the procedure of negotiating the first KDF with the first node. Further, the first to be checked information further includes information sent by the second node to the first node partially in the security context negotiation procedure, and / or information sent by the first node in a broadcast message.

[0305] For example, the second verification parameter HASHt is calculated as follows: HASHt = KDF (RK, key agreement algorithm capability of the first node, authentication mode indication, NONCEt, content of message T2, content of message T4), wherein KDF is used to indicate the KDF algorithm used, the input of KDF includes RK, key agreement algorithm capability of the first node, authentication mode indication, NONCE, content of message T2, and content of message T4, and the specific information is as follows: RK is the first key, the key agreement algorithm capability of the first node is optionally carried in the broadcast message, the authentication mode indication is optionally carried in the broadcast message, and NONCEt is the first fresh parameter.

[0306] In some possible implementation manners, HASHt is carried in message T7, which is a message sent by the second node to the first node.

[0307] In the embodiment shown in FIG. 5, the first node and the second node negotiate to determine KDF, and the second node and the third node can perform authentication key derivation based on the negotiated KDF, so that the second node with different security capabilities has the opportunity to associate with the first node and the opportunity to be authenticated, and the compatibility of the network is improved, and the user experience is improved.

[0308] There are various possible implementation manners in the embodiment shown in FIG. 5, and three possible implementation manners will be introduced below in combination with FIG. 13, FIG. 14, and FIG. 15. It should be understood that some concepts and logics in FIG. 13, FIG. 14, and FIG. 15 can be referred to the introduction of the embodiment shown in FIG. 5.

[0309] Please refer to FIG. 13, which is a flow diagram of another communication method provided by an embodiment of the present application. Optionally, the method can be applied to a communication system, for example, the communication system shown in FIG. 4. The communication method shown in FIG. 13 can include one or more steps in steps S1301 to S1315. It should be understood that, for the convenience of description, the steps S1301 to S1315 are described in this order, and it is not intended to limit the execution in the above order. The embodiment of the present application does not limit the execution order, execution time, execution times, etc. of the one or more steps. Steps S1301 to S1315 are as follows:

[0310] Step S1301: The first node sends a broadcast message.

[0311] Correspondingly, the second node can receive the broadcast message, for example, a communication domain system message. The broadcast message carries the key agreement algorithm capability of the first node and the authentication mode indication. The authentication mode indication is used to indicate the enterprise version-EAP authentication.

[0312] The second node can request association with the first node. In one possible implementation, when the authentication mode is enterprise version, for example, the authentication mode indicates the case of enterprise version - EAP authentication, the first node and the second node perform a security context negotiation procedure, but omit the calculation and verification process of the authentication parameter in the security context negotiation procedure. Optionally, in the security context negotiation procedure, the first node and the second node negotiate to generate a session key. Further, the session key includes a session key of a signaling plane and a session key of a user plane. In some schemes, the first node and the second node start encryption and integrity protection of the signaling plane.

[0313] In one possible instance, the first node performs the security context negotiation procedure as in steps S1302 and S1306. Specifically as follows:

[0314] Step S1302: The second node sends a message T1 to the first node. Accordingly, the first node receives the message T1 from the second node.

[0315] The message T1 carries the security capability of the second node and a first fresh parameter. The first fresh parameter is exemplarily represented as NONCEt. The security capability of the second node is used to indicate the cryptographic algorithm (including KDF) supported by the second node.

[0316] Step S1303: The first node sends a message T2 to the second node. Accordingly, the second node receives the message T2 from the first node.

[0317] The message T2 carries the cryptographic algorithm (including KDF) selected by the first node, i.e., the selected cryptographic algorithm used between the first node and the second node. Exemplarily, the message T2 carries the indication information of the first KDF.

[0318] Exemplarily, the message T2 also carries a second fresh parameter, which is exemplarily represented as NONCEg.

[0319] Step S1304: The second node sends a message T3 to the first node. Accordingly, the first node receives the message T3 from the second node.

[0320] The message T3 is used to respond to the message T2.

[0321] Step S1305: The first node sends a message T4 to the second node. Accordingly, the second node receives the message T4 from the first node.

[0322] The message T4 is used to indicate whether the association is established. For example, when the message T4 carries information such as the temporary ID allocated by the first node for the second node, it indicates that the association is established.

[0323] Step S1306: The second node sends a message T5 to the first node. Accordingly, the first node receives the message T5 from the second node.

[0324] The message T5 is used to indicate the association is completed.

[0325] As shown in FIG. 13, after the security context procedure, an authentication procedure is performed. The second node and the third node interact authentication messages, which are optionally forwarded by the first node.

[0326] Step S1307: The second node sends an authentication message- start to the first node.

[0327] Optionally, the authentication message- start also belongs to the authentication procedure.

[0328] Step S1308: The first node sends a security parameter reporting message to the third node.

[0329] Accordingly, the third node receives the security parameter reporting message. The security parameter reporting message carries the first KDF (denoted as KDF in FIG. 13), NONCEg, NONCEt, the L2 ID of the second node and the L2 ID of the first node, which are determined in the security context negotiation procedure.

[0330] Optionally, step S1308 can also be performed after step S1306 and before step S1307.

[0331] Step S1309: The second node and the third node perform an authentication procedure.

[0332] The authentication procedure is, for example, an EAP authentication procedure. Further, after the authentication procedure is passed, the second node and the third node each perform derivation of a key. As shown in steps S1310 and S1311:

[0333] Step S1310: The second node generates a second key and derives a first key.

[0334] The second node generates a second key, for example, an authentication master key.

[0335] For EAP authentication based on TLS, such as EAP-TLS, EAP-PEAP, EAP-TTLS and the like authentication protocols, the second node generates a second key MK based on a TLS key (such as a TLS master key) and a second fresh parameter NONCEg and a first fresh parameter NONCEt. For example, the second key is calculated as follows: MK = KDF (TLS master key, NONCEg, NONCEt).

[0336] For the EAP authentication based on the account password, the second node generates a second key MK based on the account, the password, and the second fresh parameter NONCEg, and the first fresh parameter NONCEt. For example, the second key is calculated as follows: MK = KDF (account, password, NONCEg, NONCEt).

[0337] Further, the second node derives a first key RK based on the second key MK. For example, the first key RK is calculated as follows: RK = KDF (MK, L2 ID of the second node, L2 ID of the first node).

[0338] Step S1311: The third node generates a second key and derives a first key.

[0339] See the description of step S1310.

[0340] Step S1312: The third node sends a key distribution message to the first node.

[0341] Correspondingly, the first node receives the key distribution message. The key distribution message includes the first key RK.

[0342] Further, the first node performs a session key confirmation procedure with the second node. As shown in steps S1313 and S1314:

[0343] Step S1313: The first node sends a message T6. Correspondingly, the second node receives the message T6 from the first node.

[0344] The message T6 carries a second check parameter (exemplarily represented by HASHg), which is calculated by the first node based on the second key and the information transmitted between the first node and the second node. For example, HASHg is calculated as follows:

[0345] HASHg = KDF (RK, NONCEg, content of message T1, content of message T3), and the related parameters are described above.

[0346] Optionally, the second node verifies HASHg. Further, in the case that HASHg is verified, the second node performs step S1311.

[0347] Step S1314: The second node sends a message T7. Correspondingly, the first node receives the message T7 from the second node.

[0348] The message T7 carries a first check parameter (exemplarily represented by HASHt), which is calculated by the second node based on the second key and the information transmitted between the first node and the second node. For example, HASHt is calculated as follows:

[0349] HASHt = KDF(RK, the key agreement algorithm capability of the first node, the authentication mode indication, NONCEt, the content of message T2, the content of message T4).

[0350] Optionally, the first node verifies HASHt. Further, in the case that HASHg is verified to be correct, the second node performs step S1315.

[0351] Step S1315: The first node opens a controlled port to allow the second node to access the allowed resources.

[0352] Optionally, the controlled port, for example, the first communication port, is based on which the second node can access the resources.

[0353] In the embodiment shown in FIG. 13, the second node and the third node use the first KDF determined through the negotiation between the first node and the second node to derive the first key, and use the first fresh parameter and the second fresh parameter exchanged between the first node and the second node to derive the first key, thus providing a new way of deriving the first key, being able to be compatible with the second node having different security capabilities, improving the compatibility of the network and enhancing the security of the first key.

[0354] Please refer to FIG. 14, which is a flow diagram of another communication method provided by an embodiment of the present application. Optionally, the method can be applied to a communication system, for example, the communication system shown in FIG. 4. The communication method shown in FIG. 14 can include one or more steps in steps S1401 to S1416. It should be understood that, for the convenience of description, the steps S1401 to S1416 are described in this order, and it is not intended to limit the execution of the steps in the above order. The embodiments of the present application do not limit the execution order, execution time, execution times, etc. of the one or more steps. The steps S1401 to S1416 are as follows:

[0355] Steps S1401 to S1407 can refer to the aforementioned steps S1301 to S1307. However, the message T1 can not carry the first fresh parameter NONCEt, and the message T2 can not carry the second fresh parameter NONCEg.

[0356] Step S1408: The first node sends a security parameter reporting message to the third node.

[0357] Correspondingly, the third node receives the security parameter reporting message. The security parameter reporting message carries the first KDF (denoted as KDF in FIG. 13) determined in the security context negotiation process, the L2ID of the second node, and the L2ID of the first node.

[0358] Optionally, step S1308 can also be performed after step S1306 and before step S1307.

[0359] Step S1409: The second node and the third node perform an authentication procedure.

[0360] Step S1410: The third node determines a third random number. The third random number is denoted as RAND, for example.

[0361] Step S1411: The third node generates a second key and derives a first key.

[0362] For a TLS-based EAP authentication, such as EAP-TLS, EAP-PEAP, EAP-TTLS, and the like, the third node generates a second key MK based on a TLS key (such as a TLS master key) and the third fresh parameter RAND, for example, in the following manner: MK = KDF (TLS master key, RAND).

[0363] For an account password-based EAP authentication, the third node generates a second key MK based on an account, a password, and the third fresh parameter, for example, in the following manner: MK = KDF (account, password, RAND).

[0364] Further, the third node derives a first key RK from the second key MK. For example, the first key RK is calculated in the following manner: RK = KDF (MK, L2ID of the second node, L2ID of the first node).

[0365] Step S1412: The third node sends a key distribution message to the first node.

[0366] Correspondingly, the first node receives the key distribution message. The key distribution message includes the first key RK and the third fresh parameter RAND.

[0367] Further, the first node performs a session key confirmation procedure with the second node. As shown in steps S1313 and S1314:

[0368] Step S1413: The first node sends a message T6. Correspondingly, the second node receives the message T6 from the first node.

[0369] The message T6 carries a second check parameter (such as HUSHg) and the third fresh parameter RAND. For details, see step S1313.

[0370] Step S1414: The second node generates a second key and derives a first key.

[0371] For details, see the description of step S1411.

[0372] The steps S1415 and S1416 can refer to the steps S1314 and S1315 in the embodiment shown in FIG. 13.

[0373] In the embodiment shown in FIG. 13, the second node and the third node use the first KDF determined by the negotiation between the first node and the second node to derive the first key, and use the third fresh parameter determined by the third node to derive the first key, which provides a new way of deriving the first key, can be compatible with the second node having different security capabilities, improves the compatibility of the network and improves the security of the first key.

[0374] As mentioned above, in some schemes, the KDF used when generating the first key is predefined. Next, a possible implementation is introduced. Please refer to FIG. 15, which is a flow diagram of another communication method provided by the embodiment of the present application, including one or more steps of steps S1501 to S1515. The related description of steps S1501 to S1515 can refer to the description of FIG. 13. The difference between the embodiment shown in FIG. 13 and the embodiment shown in FIG. 15 is that, in the embodiment shown in FIG. 15, the security parameters reported by the first node include the second fresh parameter and the first fresh parameter determined by the first node and the second node respectively, for example, NONCEg and NONCEt. However, the security parameters can not include the indication information of the first KDF. In other words, the security parameter report message sent in step S1508 includes the first fresh parameter NONCEt and the second fresh parameter NONCEg, but does not include the indication information of the first KDF. Further, when determining the first key, the second node and the third node can use the predefined KDF to determine the first key based on the first fresh parameter, the second fresh parameter and the key information.

[0375] In some schemes, the first node and the second node can continue to negotiate the key derivation function, but the key derivation function determined by the negotiation is not used to generate the first key by the second node and the third node.

[0376] The above describes the method of the embodiment of the present application in detail, and the device of the embodiment of the present application is provided below.

[0377] It should be understood that the division of units in the apparatus provided in the embodiments of the present application is only a logical functional division, and all or part of the units can be integrated into a physical entity or physically separated when actually implemented. In addition, the units in the apparatus can be implemented in the form of processor calling software. For example, the apparatus includes a processor, the processor is connected with a memory, the memory stores instructions, and the processor calls the instructions stored in the memory to implement any one of the above methods or to realize the functions of each unit of the apparatus, wherein the processor is, for example, a general processor such as a central processing unit (CPU) or a microprocessor, and the memory is an internal memory of the apparatus or an external memory of the apparatus.

[0378] Alternatively, the units in the apparatus can be implemented in the form of hardware circuit, and the functions of part or all of the units can be realized by the design of the hardware circuit, which can be understood as one or more processors. For example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC), and the functions of part or all of the units are realized by the design of the logical relationship of elements in the circuit. For another example, in another implementation, the hardware circuit is a programmable logic device (PLD), and the functions of part or all of the units are realized by the configuration of the connection relationship between the logic gate circuits.

[0379] In the embodiments of the present application, each unit in the apparatus can be one or more processors (or processing circuits) configured to implement the above methods, such as CPU, (graphics processing unit, GPU), neural network processing unit (NPU), tensor processing unit (TPU), deep learning processing unit (DPU), microprocessor unit (MPU), digital signal processor (DSP), ASIC, FPGA, or a combination of at least two of these processor forms.

[0380] In addition, all or part of each unit in the above apparatus can be integrated together or can be independently implemented. In one implementation, these units are integrated together to be implemented in the form of a system on a chip (SOC, or system-level chip). The SOC can include at least one processor for implementing the functions of any of the above methods or implementing the functions of each unit of the apparatus. The at least one processor can be of different types, such as including a CPU and an FPGA, or including a CPU and an artificial intelligence processor, or including a CPU and a GPU, and the like. The following lists several possible apparatuses.

[0381] Please refer to FIG. 16, which is a structural schematic diagram of a communication apparatus provided in an embodiment of the present application. Optionally, the communication apparatus 160 can be a standalone device, such as a node, etc. Alternatively, the communication apparatus 160 can also be a component, such as a chip or an integrated circuit, etc., in a standalone device (such as a node). The communication apparatus 160 is configured to implement the communication method described above, such as the communication method and possible implementation manners thereof shown in the embodiments of FIG. 5, FIG. 13, FIG. 14, FIG. 15, etc.

[0382] For example, the communication apparatus 160 includes a processing unit 1601 and a communication unit 1602. The processing unit 1601 is configured to implement one or more operations of authentication, negotiation, processing, determination, generation, calculation, encryption, decryption, etc., and the communication unit 1602 is configured to implement one or more operations of sending and receiving, etc. It should be understood that the division of units here is only schematic, and in specific implementation, part of the units can be combined together, or one unit can be split into multiple units. For example, the processing unit 1601 can include an acquisition unit and a calculation unit, the acquisition unit is configured to acquire data from an upper layer, and the calculation unit is configured to perform a calculation process.

[0383] In one possible design, the communication apparatus 160 is configured to implement the method on the second node side in the foregoing communication method.

[0384] In one possible implementation manner, the processing unit 1601 and the communication unit 1602 are configured to: negotiate with the first node to determine a first KDF, and perform an authentication process with the third node. The processing unit 1601 is further configured to determine a first key based at least on the first KDF and key information in a case where the authentication process passes.

[0385] In another possible implementation manner, the processing unit 1601 is configured to interact with the first node a first authentication message, and the first node is configured to interact with an authentication service a second authentication message.

[0386] In another possible implementation manner, the processing unit 1601 is configured to determine the first key based on the first KDF and the key information, and an identifier of the first node and / or an identifier of the second node. In another possible implementation manner, the processing unit 1601 is configured to determine the first key based on the first KDF and the key information, and an identifier of the first node and / or an identifier of the second node.

[0387] In a further possible implementation, the processing unit 1601 is configured to determine the first key based on the first KDF and the key information, and a first freshness parameter and / or a second freshness parameter. The first freshness parameter is generated by the second node, and the second freshness parameter is from the first node.

[0388] In a further possible implementation, the processing unit 1601 is configured to determine the second key based on the first KDF, the key information, the first freshness parameter and the second freshness parameter, and determine the first key based on the first KDF and the second key.

[0389] Further, the processing unit is specifically configured to determine the first key based on the first KDF, the second key, the identity of the first node and the identity of the second node.

[0390] In a further possible implementation, the communication unit 1602 is further configured to receive a third freshness parameter from the first node, the third freshness parameter being determined by a third node. The processing unit 1601 is configured to determine the first key based on the first KDF, the key information and the third freshness parameter.

[0391] In a further possible implementation, the processing unit 1601 is configured to determine the second key based on the first KDF, the key information and the third freshness parameter, and determine the first key based on the first KDF and the second key.

[0392] Further, the processing unit is specifically configured to determine the first key based on the first KDF, the second key, the identity of the first node and the identity of the second node.

[0393] In a possible implementation, the communication unit 1602 is further configured to receive an authentication mode indication from the first node, the authentication mode indication being used to indicate an authentication mode. The authentication mode is related to an authentication procedure.

[0394] In a further possible implementation, the processing unit 1601 and the communication unit 1602 are configured to perform a security context negotiation procedure with the first node. In the security context negotiation procedure, the second node negotiates with the first node to determine the first KDF.

[0395] In a further possible implementation, the communication unit 1602 is configured to send a first message to the first node, and receive a second message from the first node. The first message comprises a security capability of the second node, the security capability of the second node being used to indicate security algorithms supported by the second node, the security algorithms comprising the KDF. The second message comprises indication information of the first KDF.

[0396] In yet another possible implementation, the communication unit 1602 is further configured to send a third message to the first node, and receive a fourth message from the first node. The third message is used to respond to the second message, and the fourth message is used to indicate whether the association between the first node and the second node is established.

[0397] In yet another possible implementation, the communication unit 1602 is further configured to receive a first check parameter from the first node, and the processing unit 1601 is further configured to verify the first check parameter. The first check parameter is related to the first key and information that has been transmitted between the first node and the second node.

[0398] In yet another possible implementation, the processing unit 1601 is further configured to generate a second check parameter based on the first key and information that has been transmitted between the first node and the second node, and the communication unit 1602 is further configured to send the second check parameter to the first node.

[0399] In yet another possible design, the communication apparatus 160 is configured to implement the method described above, on the side of the first node.

[0400] In one possible implementation, the processing unit 1601 and the communication unit 1602 are configured to determine the first KDF by negotiation with the second node. The communication unit 1602 is further configured to send the security parameter to the third node. The communication unit 1602 is further configured to interact with the second node a first authentication message and with the third node a second authentication message, and receive the first key from the third node.

[0401] In yet another possible implementation, the communication unit 1602 is further configured to receive a third freshness parameter from the third node, and send the third freshness parameter to the second node.

[0402] In yet another possible implementation, the communication unit 1602 is further configured to send an authentication mode indication. The authentication mode indication is used to indicate the authentication mode.

[0403] In yet another possible implementation, the processing unit 1601 and the communication unit 1602 are configured to perform a security context negotiation procedure with the second node. In the security context negotiation procedure, the first node can determine the first key derivation function by negotiation with the second node.

[0404] In yet another possible implementation, the security context negotiation procedure with the first node includes: receiving a first message from the second node, and sending a second message to the second node. The first message includes security capabilities of the second node, and the security capabilities of the second node are used to indicate security algorithms supported by the second node, and the security algorithms include the KDF. The second message includes indication information of the first KDF.

[0405] In a further possible implementation form of the second aspect, the communication unit 1602 is further configured to receive a third message from the second node and to transmit a fourth message to the second node. The third message is configured to be responsive to the second message and the fourth message is configured to indicate whether the association between the first node and the second node is established.

[0406] In a further possible implementation form of the second aspect, the communication unit 1602 is further configured to receive a second check parameter from the second node and the processing unit 1601 is further configured to verify the second check parameter. The second check parameter is related to the first key and information that has been transmitted between the first node and the second node.

[0407] In a further possible implementation form of the second aspect, the processing unit 1601 is further configured to generate a first check parameter based on the first key and information that has been transmitted between the first node and the second node and the communication unit 1602 is further configured to transmit the first check parameter to the second node.

[0408] In a further possible implementation form of the second aspect, the communication unit 1602 is further configured to receive a third message from the second node and to transmit a fourth message to the second node. The third message is configured to be responsive to the second message and the fourth message is configured to indicate whether the association between the first node and the second node is established.

[0409] In a possible implementation form of the second aspect, the communication unit 1602 is configured to receive a security parameter from the first node. The processing unit 1601 and the communication unit 1602 are configured to perform an authentication procedure with the second node. The processing unit 1601 is further configured to determine the first key based on at least the first KDF and the key information.

[0410] In a further possible implementation form of the second aspect, the communication unit 1602 is further configured to interact with the first node a second authentication message, the first node being configured to interact with the second node a first authentication message.

[0411] In a further possible implementation form of the second aspect, the communication unit 1602 is further configured to transmit the first key to the first node.

[0412] In a further possible implementation form of the second aspect, the processing unit 1601 is further configured to determine the first key based on the first KDF, the key information, the first freshness parameter and / or the second freshness parameter.

[0413] In a further possible implementation form of the second aspect, the processing unit 1601 is further configured to determine the second key based on the first KDF, the key information, the first freshness parameter and the second freshness parameter, and to determine the first key based on the first KDF and the second key.

[0414] In a further possible implementation form of the second aspect, the processing unit 1601 is further configured to determine a third freshness parameter and to determine the first key based on the first KDF, the key information and the third freshness parameter.

[0415] In yet another possible implementation, the processing unit 1601 is further configured to determine the second key based on the first KDF, the key information and a third fresh parameter, and determine the first key based on the first KDF and the second key.

[0416] Further, the processing unit 1601 is further configured to determine the first key based on the first KDF, the second key, the identity of the first node and the identity of the second node.

[0417] In yet another possible implementation, the communication unit 1602 is further configured to send the third fresh parameter to the first node.

[0418] Referring to FIG. 17, FIG. 17 is a structural schematic diagram of a communication device provided in an embodiment of the present application. The communication device 170 can be a standalone device, for example, a node, a third node, etc., or a component included in a standalone device, for example, a chip, a software module, or an integrated circuit, etc. The communication device 170 can include at least one processor 1701 and a memory 1703. Optionally, it can also include a communication interface 1702. Further optionally, it can also include a connection line 1704, wherein the processor 1701, the communication interface 1702 and / or the memory 1703 are connected through the connection line 1704, and / or communicate with each other through the connection line 1704 to transfer control signals and / or data signals.

[0419] wherein:

[0420] The processor 1701 is a module that performs arithmetic operations and / or logical operations, and can specifically include one or more of the following modules: a filter, a modem, a power amplifier, a low noise amplifier (LNA), a baseband processor, a radio frequency processor, a radio frequency circuit, a central processing unit (CPU), an application processor (AP), a microcontroller unit (MCU), an electronic control unit (ECU), a graphics processing unit (GPU), a microprocessor unit (MPU), an application specific integrated circuit (ASIC), an image signal processor (ISP), a digital signal processor (DSP), a field programmable gate array (FPGA), a complex programmable logic device (CPLD), or a co-processor, etc.

[0421] The communication interface 1702 can be configured to provide information input or output for at least one processor, or to receive a signal transmitted from an external device and / or transmit a signal to an external device. For example, the communication interface 1702 can include an interface circuit. For example, the communication interface 1702 can include a wired link interface such as an Ethernet cable, and can also be a wireless link (Wi-Fi, Bluetooth, universal wireless transmission, vehicle-mounted short-range communication technology, and other short-range wireless communication technologies) interface. Optionally, the communication interface 1702 can also include a radio frequency transmitter, an antenna, etc. In the case where the communication interface 1702 includes an antenna, the number of antennas can be one or more.

[0422] As a possible design, if the communication device 170 is a standalone device, the communication interface 1702 can include a receiver and a transmitter. The receiver and the transmitter can be the same component or different components. When the receiver and the transmitter are the same component, the component can be referred to as a transceiver.

[0423] As yet another possible design, if the communication device 170 is a chip or a circuit, the communication interface 1702 can include an input interface and an output interface, which can be the same interface, or can be different interfaces.

[0424] Optionally, the functions of the communication interface 1702 can be implemented by a transceiver circuit or a dedicated chip of transceiver.

[0425] The memory 1703 is configured to provide a storage space, in which data such as an operating system and a computer program can be stored. The memory 1703 can be one or a combination of a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or a compact disc read-only memory (CD-ROM).

[0426] It should be noted that the functions and actions of the modules or units in the above communication device 170 are only exemplary.

[0427] The functional units in the communication device 170 can be configured to implement the communication method described above, such as the communication method and possible implementation manners thereof shown in the embodiments of FIG. 5, FIG. 13, FIG. 14, and the like. For example, the communication device 170 is configured to perform the method performed by the first node, the second node, or the third node.

[0428] Optionally, the processor 1701 can be a processor specially configured to perform the above method (for the sake of distinction, referred to as a special-purpose processor), or can be a processor configured to perform the above method by invoking a computer program (for the sake of distinction, referred to as a special-purpose processor). Optionally, the at least one processor can include both a special-purpose processor and a general-purpose processor.

[0429] Optionally, in the case where the communication device 170 includes at least one memory 1703, if the processor 1701 implements the above communication method by invoking a computer program, the computer program can be stored in the memory 1703.

[0430] The embodiments of the present disclosure further provide a chip, which includes a logic circuit and a communication interface. The communication interface is configured to receive a signal or send a signal. The logic circuit is configured to receive a signal or send a signal through the communication interface. The chip is configured to implement the communication method described above, such as the communication method and possible implementation manners thereof shown in the embodiments of FIG. 5, FIG. 13, FIG. 14, and FIG. 15.

[0431] The embodiments of the present application further provide a computer readable storage medium, wherein instructions are stored in the computer readable storage medium, and when the instructions are run on at least one processor (or a communication device), the communication method described above, for example, the communication method and possible implementation manners shown in the embodiments of FIG. 5, FIG. 13, FIG. 14, FIG. 15 and the like, is implemented.

[0432] The embodiments of the present application further provide a computer program product, which comprises computer instructions for implementing the communication method described above, for example, the communication method and possible implementation manners shown in the embodiments of FIG. 5, FIG. 13, FIG. 14, FIG. 15 and the like.

[0433] The embodiments of the present application further provide a terminal, which comprises the communication device 160 and / or the communication equipment 170 described above.

[0434] As a possible implementation manner, the terminal comprises a terminal node. Further, the terminal further comprises a first management node and / or a second management node. Further, the terminal further comprises a control node.

[0435] Exemplarily, the terminal can comprise an intelligent terminal or a vehicle such as a vehicle, a robot, a drone, a ship, a ship, etc. Among them, the vehicle is a vehicle in a broad sense, which can be a vehicle (such as a commercial vehicle, a passenger vehicle, a motorcycle, a flying vehicle, a train, etc.), an industrial vehicle (such as a forklift, a trailer, a tractor, etc.), an engineering vehicle (such as an excavator, a bulldozer, a crane, etc.), an agricultural equipment (such as a mower, a harvester, etc.) and the like. For example, the robot can be an automated guided vehicle (AGV), a walkable conversational robot, a service robot, etc.

[0436] It should be noted that in the embodiments of the present application, the words such as "exemplarily" or "for example" are used to represent an example, illustration or description. Any embodiment or design scheme described as "exemplarily" or "for example" in the present application should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. Rather, the words such as "exemplarily" or "for example" are intended to present the relevant concept in a specific manner.

[0437] In the embodiments of the present application, the names of information and devices are exemplarily named for the convenience of understanding the contents of the present application, and in the specific implementation, the names thereof can be designed in other manners. In addition, the names of the same thing can also be designed differently in different scenarios (for example, different communication layers).

[0438] The "at least one" mentioned in the embodiments of the present application refers to one or more, and "multiple" refers to two or more. "At least one of the following" or the like refers to any combination of these items, including any combination of single or multiple items.

[0439] For example, at least one of a, b, or c can represent: a, b, c, (a and b), (a and c), (b and c), or (a and b and c), where a, b, and c can be single or multiple. "And / or" describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent three cases of A alone, A and B together, and B alone, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects before and after it.

[0440] In addition, unless otherwise stated, the ordinal numbers "first", "second", "T1", "T2" and the like used in the embodiments of the present application are used to distinguish a plurality of objects, and are not used to limit the order, time sequence, priority or importance of the plurality of objects. For example, the first node and the second node are only used to facilitate the description of the nodes in different embodiments, and do not mean that their operation, importance, structure, etc. are different.

[0441] In the above embodiments, according to the context, the term "when" can be interpreted as meaning "if", "after" or "in response to determining" or "in response to detecting". The above is only an optional embodiment of the present application and does not limit the present application. Any modification, equivalent replacement, improvement, etc. within the concept and principle of the present application shall be included in the protection scope of the present application.

[0442] A person of ordinary skill in the art can understand that all or part of the steps of the above-mentioned embodiments can be completed by hardware, or by a program instructing relevant hardware to complete, and the program can be stored in a computer readable storage medium, and the storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk.

Claims

1. A communication method characterized by comprising: The method comprises: negotiating a first key derivation function (KDF) with a first node, the first node being a node requested by a second node for association; performing an authentication procedure with a third node, the third node being the same device as the first node or being communicatively connected to the first node; determining a first key based at least on the first KDF and key information, in a case that the authentication procedure is passed.

2. The method of claim 1, wherein, The performing of the authentication procedure with the third node comprises: the second node interacting with the first node a first authentication message, the first node interacting with the authentication service a second authentication message.

3. The method according to claim 1 or 2, characterized in that, The determining of the first key based at least on the first KDF and key information comprises: determining the first key based on the first KDF, the key information, an identity of the first node and an identity of the second node.

4. The method according to any one of claims 1 to 3, characterized in that, The determining of the first key based at least on the first KDF and key information comprises: determining the first key based on the first KDF, the key information, a first freshness parameter and a second freshness parameter; the first freshness parameter being generated by the second node, and the second freshness parameter being from the first node.

5. The method of claim 4, wherein, The determining of the first key based on the first KDF, the key information, a first freshness parameter and a second freshness parameter comprises: determining a second key based on the first KDF, the key information, a first freshness parameter and a second freshness parameter; determining the first key based on the first KDF, the second key, an identity of the first node and an identity of the second node.

6. The method according to any one of claims 1 to 3, characterized in that, Before the determining of the first key based at least on the first KDF and key information, the method further comprises: receiving a third freshness parameter from the first node, the third freshness parameter being determined by the third node; The determining of the first key based at least on the first KDF and key information comprises: determining the first key based on the first KDF, the key information and the third freshness parameter.

7. The method of claim 6, wherein, The determining of the first key based on the first KDF, the key information and the third freshness parameter comprises: determining a second key based on the first KDF, the key information and the third freshness parameter; determining the first key based on the first KDF, the second key, an identity of the first node and an identity of the second node.

8. The method of any of claims 1-7, wherein: the authentication procedure is an authentication procedure defined by an Extensible Authentication Protocol (EAP) authentication protocol based on a Transport Layer Security (TLS) protocol, and the key information comprises a TLS master key; or, the authentication procedure is an authentication procedure defined by an EAP authentication protocol based on a username and password, and the key information comprises a username and a password corresponding to the second node.

9. The method according to any one of claims 1 to 8, characterized in that, Before the performing of the authentication procedure with the third node, the method further comprises: receiving an authentication mode indication from the first node, the authentication mode indication indicating an EAP authentication, and the authentication procedure being a procedure defined by an authentication protocol of the EAP authentication.

10. The method according to any one of claims 1 to 9, characterized in that, The first key is used to verify information that has been transmitted by the first node and the second node.

11. The method according to any one of claims 1 to 10, characterized in that, The method further comprises: receiving a first check parameter from the first node, the first check parameter being related to the first key and first to-be-checked information, the first to-be-checked information including information sent to the first node at least partially in a security context negotiation process, the security context negotiation process including a process of negotiating the first KDF with the first node; verifying the first check parameter.

12. The method according to any one of claims 1 to 11, characterized in that, The method further comprises: generating a second check parameter based on the first key, the first node, and second to-be-checked information, the second to-be-checked information including information received from the first node at least partially in a security context negotiation process, the security context negotiation process including a process of negotiating the first KDF with the first node; sending the second check parameter to the first node.

13. A method of communication, comprising: The method comprises: negotiating a first key derivation function KDF with a second node, the second node being a node requesting association with the first node; sending a security parameter to a third node, the security parameter including indication information of the first KDF; interacting a first authentication message with the second node and a second authentication message with the third node, the third node being used for authentication; receiving a first key from the third node, the first key (RK) being related to the first KDF and key information.

14. The method of claim 13, wherein, The security parameter further includes a first freshness parameter and a second freshness parameter, the first freshness parameter being from the second node, and the second freshness parameter being generated by the first node; The first key is further related to the first freshness parameter and the second freshness parameter.

15. The method of claim 13, wherein, The first key is further related to a third freshness parameter, and the method further comprises: receiving the third freshness parameter from the third node; sending the third freshness parameter to the second node.

16. The method according to any one of claims 13-15, characterized in that, The first key is further related to an identity of the first node and an identity of the second node.

17. The method of any of claims 13-16, wherein The first authentication message and the second authentication message are messages defined by an Extensible Authentication Protocol EAP authentication protocol based on a Transport Layer Security TLS, and the key information includes a TLS master key. Alternatively, the first authentication message and the second authentication message are messages defined by an EAP authentication protocol based on an account password, and the key information includes an account and a password corresponding to the second node.

18. The method of claim 17, wherein, The method further comprises: sending an authentication mode indication, the authentication mode indication being used to indicate an EAP authentication, and the first authentication message and the second authentication message being messages defined by an authentication protocol of the EAP authentication.

19. The method according to any one of claims 13-18, characterized in that, The first key is used to check information that has been transmitted by the first node and the second node.

20. The method according to any one of claims 13-19, characterized by, The method further comprises: receiving a second check parameter from the second node, the second check parameter being related to the first key and information that has been transmitted between the first node and the second node; verifying the second check parameter.

21. The method according to any one of claims 13-20, characterized in that, The method further comprises: generating a first check parameter based on the first key, information that has been transmitted between the first node and the second node; sending the first check parameter to the second node.

22. A method of communication, comprising: The method comprises: receiving a security parameter from a first node, the second node being communicatively connected with the first node, the security parameter comprising an indication of a first key derivation function KDF; performing an authentication procedure with the second node; determining a first key based on at least the first KDF and key information, if the authentication procedure is passed.

23. The method of claim 22, wherein, The performing an authentication procedure with the second node comprises: interacting with the first node a second authentication message, the first node being configured to interact with the second node a first authentication message.

24. The method of claim 22 or 23, wherein, After the determining a first key based on at least the first KDF and key information, the method further comprises: sending the first key to the first node.

25. The method of any one of claims 22-24, wherein, The security parameter further comprises a first freshness parameter and a second freshness parameter; The determining a first key based on at least the first KDF and key information comprises: determining the first key based on the first KDF, the key information, the first freshness parameter and the second freshness parameter.

26. The method of claim 25, wherein, The security parameter further comprises an identity of the first node and an identity of the second node; The determining a first key based on the first KDF, the key information, the first freshness parameter and the second freshness parameter comprises: determining a second key based on the first KDF, the key information, the first freshness parameter and the second freshness parameter; determining the first key based on the first KDF, the second key, the identity of the first node and the identity of the second node.

27. The method of any one of claims 22-24, wherein, The determining a first key based on at least the first KDF and key information comprises: determining a third freshness parameter; determining the first key based on the first KDF, the key information and the third freshness parameter.

28. The method of claim 27, wherein, The security parameter further comprises an identity of the first node and an identity of the second node; The determining a first key based on the first KDF, the key information and the third freshness parameter comprises: determining a second key based on the first KDF, the key information and the third freshness parameter; determining the first key based on the first KDF, the second key, the identity of the first node and the identity of the second node.

29. The method of claim 27 or 28, wherein, After the determining a third freshness parameter, the method further comprises: sending the third freshness parameter to the first node.

30. The method of any of claims 22-29, wherein the authentication procedure is an authentication procedure defined by an Extensible Authentication Protocol EAP authentication protocol based on a Transport Layer Security TLS, and the key information comprises a TLS master key; or, the authentication procedure is an authentication procedure defined by an EAP authentication protocol based on a username and password, and the key information comprises a username and a password corresponding to the second node.

31. A communications device, characterized by The communication device comprises a processing unit and a communication unit, the communication device is configured to implement the method of any of claims 1-12, or for implementing the method of any of claims 13-21, or for implementing the method of any of claims 22-30.

32. A node, characterized by The node comprises at least one processor and at least one memory, The at least one memory is configured to store computer instructions, The at least one processor is configured to invoke the computer instructions stored in the memory so that the method of any of claims 1-12 is performed, or so that the method of any of claims 13-21 is performed.

33. A node, characterized by The node comprises a processor and a memory, The memory is configured to store computer instructions, The processor is configured to invoke the computer instructions stored in the memory so that the method of any of claims 22-30 is performed.

34. A communication system, characterized by The communication system comprises a first node and a second node, The first node is configured to perform the method of any of claims 1-12, The second node is configured to perform the method of any of claims 13-21.

35. The communication system of claim 34, wherein, The communication system further comprises a third node configured to perform the method of any of claims 22-30.

36. A computer-readable storage medium, characterized in that, The computer readable storage medium is configured to store computer instructions; The instructions, when executed by a processor, cause the method of any of claims 1-12 to be performed, or the method of any of claims 13-21 to be performed, or the method of any of claims 22-30 to be performed.

Citation Information

Patent Citations

  • Hologram generation device and method capable of two-way interaction using 3D data

    KR102231649B1

  • Secure key authentication method for communication network

    US20110167270A1

  • Method, UE, and network for providing KDF negotiation

    US20210409939A1

  • Pairing method and apparatus

    US20240023175A1