Information processing method, apparatus, and device

The method generates acknowledgment codes using passwords and random numbers with cryptographic algorithms and public keys to address the lack of effective password authentication in wireless communication, improving security and efficiency.

JP7747261B2Active Publication Date: 2025-10-01HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024506628
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-03
Publication Date
2025-10-01
Estimated Expiration
2041-08-03

AI Technical Summary

Technical Problem

Existing wireless communication technologies lack effective password authentication mechanisms, leading to inadequate communication security and inefficient authentication processes.

Method used

A method involving generating acknowledgment codes based on passwords and random numbers, using cryptographic algorithms and public keys, to enhance authentication efficiency and security by increasing the difficulty of cracking these codes.

Benefits of technology

The proposed method improves authentication efficiency and accuracy by ensuring both nodes can trust the acknowledgment codes, thereby enhancing communication security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007747261000029
    Figure 0007747261000029
  • Figure 0007747261000030
    Figure 0007747261000030
  • Figure 0007747261000031
    Figure 0007747261000031
Patent Text Reader

Abstract

The present application provides an information processing method, an apparatus, and a device. The method includes: obtaining a first password and a first random number; generating a first acknowledgment code of a first node based on the first password and the first random number; and sending the first acknowledgment code and the first random number to a second node. The above method supports password authentication and improves authentication efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application relates to the field of communications, and in particular to information processing methods, apparatus, and devices. [Background technology]

[0002] Wireless communication technology relates to the transmission of information between nodes by using radio waves. When the transmission distance is limited to a relatively short range (e.g., tens of meters), it can be referred to as short-range wireless communication.

[0003] Information security is very important for wireless communication technology, and particularly requires authentication of two communication parties, such as identity authentication. Passwords can be used in common identity authentication. However, the prior art does not provide a password authentication method. As a result, communication security cannot be effectively guaranteed. Therefore, a password authentication mechanism is urgently needed to improve authentication efficiency and guarantee communication performance. Summary of the Invention

[0004] To solve the above problems, this application provides an information processing method, apparatus and device for supporting password authentication, thereby improving authentication efficiency.

[0005] According to a first aspect, there is provided an information processing method, the method comprising: obtaining a first password and a first random number; generating a first acknowledgment code for the first node based on the first password and the first random number; transmitting the first acknowledgment code and the first random number to a second node.

[0006] In the above solution, a first acknowledgment code of a first node is generated based on a first password and a first random number, and then the first acknowledgment code and the first random number are sent to a second node for authentication, thereby implementing password authentication in the communication.

[0007] In some possible designs, the method further includes receiving a second acknowledgment code and a second random number from the second node; generating a third acknowledgment code corresponding to the second node based on the second random number; and determining that the second acknowledgment code is correct if the second acknowledgment code is the same as the third acknowledgment code.

[0008] In the aforementioned solution, the computational workload in the authentication process is low, thereby effectively improving the authentication efficiency.

[0009] In some possible designs, generating a first acknowledgment code for the first node based on the first password and the first random number comprises: generating the first acknowledgment code based on the first password and the first random number according to a cryptographic algorithm.

[0010] In some possible designs, generating a first acknowledgment code for the first node based on the first password and the first random number includes generating a first obfuscated code based on the first password, and generating a first acknowledgment code for the first node based on the first password and the first obfuscated code.

[0011] In the above solution, the first acknowledgment code is generated through two calculations: in the first calculation, a first obfuscated code is first generated based on a first password, and then in the second calculation, a first acknowledgment code is generated based on the first obfuscated code and a first random number, which increases the difficulty of cracking the first acknowledgment code.

[0012] In some possible designs, generating a first acknowledgment code for the first node based on the first password and the first random number includes generating the first acknowledgment code based on the first random number, the first password, a public key of the first node, and a public key of the second node.

[0013] In the above solution, the first acknowledgment code is generated based on a public key from the first node and a public key from the second node, so that both the first node and the second node can trust the first acknowledgment code.

[0014] In some possible designs, if the second acknowledgment code is correct, the method further includes generating a first verification code based on a first key, and determining that the second verification code is correct if the first verification code is the same as the second verification code from the second node.

[0015] In the aforementioned solution, the second confirmation code and the second verification code are verified separately, and the first node and the second node can be paired only after the two verifications are successful, thereby improving authentication accuracy.

[0016] In some possible designs, generating the first verification code based on the first key includes generating a first key verification code based on the first key, and generating a first verification code based on the first key verification code.

[0017] In the above solution, the first verification code is generated through two calculations: in the first calculation, a first key verification code is generated based on a first key, and then in the second calculation, a first verification code is generated based on the first key verification code, which increases the difficulty of cracking the first verification code.

[0018] In some possible designs, generating a first verification code based on a first key includes generating the first verification code according to the cryptographic algorithm and based on one or more of the first key, at least two random numbers, an address of the first node, an address of the second node, input / output capabilities of the first node, input / output capabilities of the second node, a first authentication scheme, or a cryptographic algorithm type.

[0019] In the above solution, information from multiple aspects, including information about the first node (the address of the first node and the input / output capabilities of the first node), information about the second node (the address of the second node and the input / output capabilities of the second node), and information negotiated between the first node and the second node (the first authentication method or encryption algorithm type), can be used to generate the first verification code, thereby increasing the difficulty of cracking the first verification code.

[0020] In some possible designs, the method further includes transmitting first information to the second node, the first information indicating the encryption algorithm.

[0021] In some possible designs, the cryptographic algorithm belongs to a cryptographic algorithm set, and the method further includes sending second information to the second node, the second information indicating the cryptographic algorithm set, and receiving third information from the second node, the third information indicating the cryptographic algorithm set.

[0022] In the aforementioned solution, the first node and the second node may negotiate, through interaction, a set of cryptographic algorithms that may be used to ensure that the first node and the second node may have more cryptographic algorithms to choose from to adapt to different application scenarios.

[0023] In some possible designs, the method further includes transmitting fourth information to the second node, the fourth information indicating that the first authentication method is password authentication.

[0024] According to a second aspect, there is provided an information processing apparatus, the apparatus including an acquisition module, a processing module, and a transceiver module, wherein: the obtaining module is configured to obtain a first password and a first random number; the processing module is configured to generate a first acknowledgment code for the first node based on the first password and the first random number; and The transceiver module is configured to transmit the first acknowledgment code and the first random number to a second node.

[0025] In some possible designs, the transceiver module is configured to receive a second acknowledgment code and a second random number from the second node, the processing module is further configured to generate a third acknowledgment code corresponding to the second node based on the second random number, and the processing module is further configured to determine that the second acknowledgment code is correct if the second acknowledgment code is the same as the third acknowledgment code.

[0026] In some possible designs, the processing module is further configured to generate a first acknowledgment code based on the first password and the first random number according to a cryptographic algorithm.

[0027] In some possible designs, the processing module is further configured to generate a first obfuscated code based on the first password, and to generate a first acknowledgment code for the first node based on the first random number and the first obfuscated code.

[0028] In some possible designs, the processing module is further configured to generate a first acknowledgment code based on the first random number, the first password, the public key of the first node, and the public key of the second node.

[0029] In some possible designs, the processing module is further configured to generate a first verification code based on the first key if the second acknowledgment code is correct, and to determine that the second verification code is correct if the first verification code is the same as a second verification code from the second node.

[0030] In some possible designs, the processing module is further configured to generate a first key verification code based on the first key, and to generate a first verification code based on the first key verification code.

[0031] In some possible designs, the processing module is further configured to generate a first verification code according to a cryptographic algorithm and based on one or more of the first key, the at least two random numbers, the address of the first node, the address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, the first authentication scheme, or the cryptographic algorithm type.

[0032] In some possible designs, the transceiver module is further configured to transmit first information to the second node, where the first information indicates a cryptographic algorithm.

[0033] In some possible designs, the cryptographic algorithm belongs to a cryptographic algorithm set, and the transceiver module is further configured to send second information to a second node, where the second information indicates the cryptographic algorithm set, and to receive third information from the second node, where the third information indicates the cryptographic algorithm set.

[0034] In some possible designs, the transceiver module is further configured to send fourth information to the second node, where the fourth information indicates that the first authentication scheme is password authentication.

[0035] According to a third aspect, there is provided a method of verification, the method comprising: generating a first verification code based on a first key; and determining that the second verification code is correct if the first verification code is the same as the second verification code from a second node.

[0036] In some possible designs, generating a first verification code based on the first key includes generating a first key verification code based on the first key, and generating a first verification code based on the first key verification code.

[0037] In some possible designs, generating the first verification code based on the first key includes generating the first verification code based on one or more of the first key, the at least two random numbers, the address of the first node, the address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, the first authentication scheme, or the cryptographic algorithm type according to a cryptographic algorithm.

[0038] In some possible designs, the method further includes obtaining a first password and a first random number; generating a first acknowledgment code for the first node based on the first password and the first random number; and sending the first acknowledgment code and the first random number to the second node.

[0039] In some possible designs, generating a first acknowledgment code for the first node based on the first password and the first random number includes generating a first obfuscated code based on the first password, and generating a first acknowledgment code for the first node based on the first random number and the first obfuscated code.

[0040] In some possible designs, the method further includes receiving a second acknowledgment code and a second random number from the second node; generating a third acknowledgment code corresponding to the second node based on the second random number; and determining that the second acknowledgment code is correct if the second acknowledgment code is the same as the third acknowledgment code.

[0041] In some possible designs, generating a first acknowledgment code for the first node based on the first password and the first random number includes generating the first acknowledgment code based on the first password and the first random number according to a cryptographic algorithm.

[0042] In some possible designs, generating a first acknowledgment code for the first node based on the first password and the first random number includes generating the first acknowledgment code based on the first random number, the first password, a public key of the first node, and a public key of the second node.

[0043] In some possible designs, the method further includes transmitting the first information to the second node, the first information indicating the cryptographic algorithm.

[0044] In some possible designs, the cryptographic algorithm belongs to a cryptographic algorithm set, and the method further includes sending second information to the second node, the second information indicating the cryptographic algorithm set, and receiving third information from the second node, the third information indicating the cryptographic algorithm set.

[0045] In some possible designs, the method further includes transmitting fourth information to the second node, the fourth information indicating that the first authentication method is password authentication.

[0046] According to a fourth aspect, there is provided a verification apparatus, the apparatus including a processing module, wherein: The processing module is configured to generate a first verification code based on a first key, and determine that the second verification code is correct if the first verification code is the same as a second verification code from a second node.

[0047] In some possible designs, the processing module is further configured to generate a first key verification code based on the first key, and to generate a first verification code based on the first key verification code.

[0048] In some possible designs, the processing module is further configured to generate a first verification code based on one or more of the first key, the at least two random numbers, the address of the first node, the address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, the first authentication scheme, or the cryptographic algorithm type according to a cryptographic algorithm.

[0049] In some possible designs, the apparatus further includes an acquiring module and a transmitting module, where the acquiring module is configured to acquire a first password and a first random number, the processing module is further configured to generate a first acknowledgment code for the first node based on the first password and the first random number, and the transmitting module is configured to transmit the first acknowledgment code and the first random number to the second node.

[0050] In some possible designs, the processing module is further configured to generate a first obfuscated code based on the first password, and to generate a first acknowledgment code for the first node based on the first random number and the first obfuscated code.

[0051] In some possible designs, the transceiver module is further configured to receive a second acknowledgment code and a second random number from the second node, the processing module is further configured to generate a third acknowledgment code corresponding to the second node based on the second random number, and the processing module is further configured to determine that the second acknowledgment code is correct if the second acknowledgment code is the same as the third acknowledgment code.

[0052] In some possible designs, the processing module is further configured to generate a first acknowledgment code based on the first password and the first random number according to a cryptographic algorithm.

[0053] In some possible designs, the processing module is further configured to generate a first acknowledgment code based on the first random number, the first password, the public key of the first node, and the public key of the second node.

[0054] In some possible designs, the transceiver module is further configured to transmit first information to the second node, where the first information indicates a cryptographic algorithm.

[0055] In some possible designs, the cryptographic algorithm belongs to a cryptographic algorithm set, and the transceiver module is further configured to send second information to a second node, where the second information indicates the cryptographic algorithm set, and the transceiver module is further configured to receive third information from the second node, where the third information indicates the cryptographic algorithm set.

[0056] In some possible designs, the transceiver module is further configured to send fourth information to the second node, where the fourth information indicates that the first authentication scheme is password authentication.

[0057] According to a fifth aspect, there is provided a chip including at least one processor and an interface circuit, wherein the at least one processor retrieves a program or instruction by using the interface circuit, and the at least one processor executes the program or instruction to perform a method according to any one of the first aspect or a method according to any one of the third aspect.

[0058] According to a sixth aspect, there is provided a terminal device, the terminal device including a processor and a memory, wherein the processor and the memory are in communication with each other, the memory storing instructions, and the processor executing the instructions to perform a method according to any one of the first aspect or any one of the third aspect.

[0059] According to a seventh aspect, an embodiment of the present application provides a computer software product, the computer program software product including program instructions, which, when executed by an apparatus, causes the apparatus to perform a method according to any one of the possible embodiments according to the first aspect or any one of the possible embodiments according to the third aspect. The computer software product may be a software installation package. When the method according to any one of the first aspect or any one of the methods according to the third aspect needs to be used, the computer software product may be downloaded and executed on the apparatus to perform the method according to the first aspect or any one of the possible embodiments according to the first aspect, or the method according to the third aspect or any one of the possible embodiments according to the third aspect.

[0060] According to an eighth aspect, an embodiment of the present application provides a computer-readable storage medium having stored thereon program code executed by the apparatus, the program code including instructions used to perform a method according to any one of the first aspect or a method according to any one of the third aspect.

[0061] According to a ninth aspect, an embodiment of the present application provides an apparatus, the apparatus including at least one processor and a communication interface, wherein the communication interface is configured to provide information input and / or information output to the at least one processor. The apparatus may be a chip or an integrated circuit. Alternatively, the apparatus may be an apparatus according to the second aspect, configured to perform a method according to the first aspect or any one of the possible embodiments according to the first aspect, or an apparatus according to the fourth aspect, configured to perform a method according to the first aspect or any one of the possible embodiments according to the first aspect, or a method according to the third aspect or any one of the possible embodiments according to the third aspect. [Brief explanation of the drawings]

[0062] In order to more clearly describe the technical solutions in the embodiments or background art of the present application, the following describes the accompanying drawings used in the embodiments or background art of the present application. [Figure 1] FIG. 1 is a schematic diagram of a short-range communication application scenario according to the present application. [Figure 2] FIG. 2 is a schematic diagram of a protocol-based interaction procedure for performing short-range communication between nodes according to the present application. [Figure 3A] FIG. 3A is a schematic flow chart of two specific protocol-based interaction procedures for performing short-range communication between nodes in accordance with the present application. [Figure 3B] FIG. 3B is a schematic flow chart of two specific protocol-based interaction procedures for performing short-range communication between nodes in accordance with the present application. [Figure 4A] FIG. 4A is a schematic diagram of information structures used in two specific protocol-based interaction procedures for performing short-range communication between nodes according to the present application. [Figure 4B]FIG. 4B is a schematic diagram of information structures used in two specific protocol-based interaction procedures for performing short-range communication between nodes according to the present application. [Figure 4C] FIG. 4C is a schematic diagram of information structures used in two specific protocol-based interaction procedures for performing short-range communication between nodes according to the present application. [Figure 4D] FIG. 4D is a schematic diagram of information structures used in two specific protocol-based interaction procedures for performing short-range communication between nodes according to the present application. [Figure 4E] FIG. 4E is a schematic diagram of information structures used in two specific protocol-based interaction procedures for performing short-range communication between nodes according to the present application. [Figure 5] FIG. 5 is a schematic flow chart of a negotiation procedure between a first node and a second node according to the present application. [Figure 6] FIG. 6 is a schematic flow chart of a password verification process between a first node and a second node according to the present application. [Figure 7] FIG. 7 is a schematic flow chart of a verification code verification process between a first node and a second node according to the present application. [Figure 8] FIG. 8 is a schematic diagram of a process for generating a first key verification code in accordance with the present application. [Figure 9] FIG. 9 is a schematic diagram of a process for generating a first verification code according to the present application. [Figure 10] FIG. 10 is a schematic diagram of the structure of the device according to one embodiment of the present application. [Figure 11] FIG. 11 is a schematic diagram of the structure of the device according to one embodiment of the present application. [Figure 12] FIG. 12 is a schematic diagram of the structure of the device according to one embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION

[0063] For ease of understanding, the application scenario of short-range communication in this application will be described in detail first.

[0064] As shown in FIG. 1 , after short-range communication is established between nodes, data transmission can be freely performed between the nodes. Technologies used in short-range communication can be Bluetooth technology, ZigBee technology, Wireless Local Area Network (WLAN) technology, ultra-wideband (UWB) technology, etc. A node is an electronic device that can transmit and receive data. For example, a node can be a vehicle cockpit domain device or a module within a vehicle cockpit domain device, such as one or more of modules such as a cockpit domain controller (CDC), a camera, a display, a microphone, a speaker, an electronic key, and a keyless entry or start system controller. A node can be a data transfer device. For example, it may be a router, a repeater, a bridge, or a switch, or it may be a terminal device, such as any type of user equipment (UE), a mobile phone, a tablet computer (pad), a desktop computer, earphones, or a speaker, or it may include a machine intelligence device such as a self-driving device, a transportation safety device, a virtual reality (VR) terminal device, an augmented reality terminal device, a machine type communication (MTC) device, an industrial control device, a remote medical device, a smart grid device, or a smart city device, or it may include a wearable device (e.g., a smart watch, a smart band, or a pedometer), etc.In a specific embodiment, the node may include an in-vehicle system and a mobile terminal, i.e., short-range communication may be performed between the in-vehicle system and the mobile terminal. In some scenarios, devices having similar data transmission / reception capabilities may alternatively not be referred to as nodes. However, for ease of explanation, electronic devices having data transmission / reception capabilities are collectively referred to as nodes in the embodiments of the present application. It should be understood that the embodiments in this specification are described by using a short-range communication application scenario as an example. However, in actual applications, other communication application scenarios may also be applicable, and this is not particularly limited in this specification.

[0065] Before short-range communication between nodes can be performed, a pairing procedure and an authentication process must be performed between the nodes. FIG. 2 is used as an example. First, a pairing procedure is performed between a first node and a second node. Then, a negotiation procedure is performed between the first node and the second node. In the following, a scenario in which a password is verified is used as an example for detailed description. The scenario in which a password is verified refers to a scenario in which a user presets a password, and then inputs the password into the first node and the second node in a pairing procedure after a first login, and identity authentication is performed based on the password, so that identity authentication does not need to be performed repeatedly in subsequent logins.

[0066] In a scenario where the password is verified, the pairing procedure between the first node and the second node can be performed in two ways:

[0067] In the first method, the pairing procedure is triggered by the second node. As shown in Figure 3A, the second node sends a security request to the first node to trigger the pairing procedure. The first node sends a pairing request to the second node. The second node sends a pairing response to the first node. The first node sends a pairing acknowledgment to the second node. The second node: Pairing first time period feeling The information is sent to the first node.

[0068] In the second method, the pairing procedure is triggered by the first node. As shown in FIG. 3B, the pairing procedure between the first node and the second node may include the first node sending a pairing request to the second node to trigger the pairing procedure. The second node sends a pairing response to the first node. The first node sends a pairing acknowledgement to the second node. The second node: Pairing first time period feeling The information is sent to the first node.

[0069] It should be understood that the above two implementations are merely specific examples, which are not specifically limited herein.

[0070] In a specific implementation, as shown in Figure 4A, the security request includes a command code (e.g., 0X01), an authentication request, etc. The authentication request includes security attributes, an anti-man-in-the-middle attack (MitM) indication bit, a key prompt, a reserved bit, etc.

[0071] In one implementation, the security attributes may be those shown in Table 1. [Table 1] Table 1 Security Attributes

[0072] It will be understood that Table 1 is merely used as an example to reflect the correspondence between the value of a security attribute and the description of the security attribute. In actual applications, the storage method of the text content and the correspondence may alternatively be in another form, which is not particularly limited in this specification. All of the following tables are presented as examples, and the correspondence may be represented or stored in any possible way. Details will not be described below.

[0073] In one implementation, the MitM may be as shown in Table 2. [Table 2] Table 2 MitM

[0074] In one implementation, the key prompts may be those shown in Table 3. [Table 3] Table 3 Key prompts

[0075] In a specific implementation, as shown in FIG. 4B, the pairing request may include a command code (e.g., 0X02), input / output capabilities, an out-of-band (OOB) data identifier, an authentication request, a maximum encryption key length, security information distribution information, an encryption algorithm set, etc.

[0076] In one implementation, the input / output capabilities may be as shown in Table 4. [Table 4] Table 4. Input / Output Capabilities

[0077] In one implementation, the OOB data identifier may be as shown in Table 5. [Table 5] Table 5. OOB Data Identifiers

[0078] In one implementation, the authentication request is described above in detail in the authentication request section, and the details will not be described again here.

[0079] In one implementation, the maximum encryption key length is used to indicate the maximum key length that can be supported by a node. For example, the minimum key length is limited to 7 bytes.

[0080] In one implementation, the security information distribution information may be as shown in Table 6. [Table 6] Table 6. Security information distribution information

[0081] In one implementation, the cryptographic algorithm set may include encryption algorithms, integrity protection algorithms, key derivation functions, key agreement algorithms, etc. The cryptographic algorithm set may be as shown in Table 7. [Table 7] Table 7. Cryptographic Algorithm Set

[0082] In one implementation, the cryptographic algorithms may include the following, as shown in Table 8: [Table 8] Table 8. Encryption Algorithms

[0083] In one implementation, the set of cryptographic algorithms (which can also be security functions) is listed in Table 9. [Table 9] Table 9. Cryptographic Algorithm Set

[0084] It will be understood that the cryptographic algorithm set may also include other types of cryptographic algorithms, and the contents of the cryptographic algorithm, the integrity protection algorithm, the key derivation function, and the key agreement algorithm are not simply the contents described in the embodiment shown in Table 8. This is not particularly limited herein.

[0085] 4C, the pairing response may include a command code (e.g., 0X03), an input / output capability, an OOB data identifier, an authentication request, a maximum encryption key length, security information distribution information, an encryption algorithm type, etc. In practice, for descriptions of the input / output capability, the OOB data identifier, the authentication request, the maximum encryption key length, the security information distribution information, and the encryption algorithm set, please refer to the related content above. The details will not be described again in this specification.

[0086] In a specific implementation, the pairing acknowledgment information may include an authentication type and an encryption algorithm type to be used by the second node to perform subsequent pairing and encryption. The authentication type may be determined according to an optimal pairing method, which may be determined by the first node according to the input / output capabilities of the second node. The encryption algorithm type may be determined based on the encryption algorithm set supported by the second node. Optionally, the pairing acknowledgment information may further include a random number N1 used to later generate a link encryption key and a public key used for key agreement. As shown in FIG. 4D , the pairing acknowledgment may include a command code (e.g., 0X04), a key length, an authentication type, an encryption algorithm type, the first node's public key, and the random number N1.

[0087] In one implementation, the key length is the key length finally determined by the first node.

[0088] In one implementation, the authentication types may be those shown in Table 10. obtain. [Table 10] Table 10. Authentication Types

[0089] In one implementation, the cryptographic algorithm may be one or more algorithms in a cryptographic algorithm set.

[0090] In one implementation, the random number N1 is the random number that needs to be used to generate the link encryption key.

[0091] In a specific implementation, as shown in FIG. 4E, the pairing initial information may include a command code (for example, 0X05), the public key of the second node, and a random number N2.

[0092] In one implementation, the random number N2 is the random number that needs to be used to generate the link encryption key.

[0093] It will be appreciated that in the above pairing procedure, the cryptographic algorithm type is conveyed and the password authentication method is added to the authentication type, so that the negotiation procedure in a password verification scenario can be supported.

[0094] When the first node sends the fourth information to the second node, where the fourth information indicates that the authentication method is password authentication, a password verification scenario is entered. The fourth information may be the pairing acknowledgment shown in FIG. 4D or similar information. In the password verification scenario, as shown in FIG. 5, the negotiation process between the first node and the second node may include the following steps: a password verification process is performed between the first node and the second node; and a verification code verification process is performed between the first node and the second node.

[0095] 6 is a schematic flowchart of a password verification process between a first node and a second node according to the present application. The password verification process in this embodiment includes the following steps:

[0096] S101A: The first node obtains a first password and a first random number.

[0097] In a specific implementation, the first password may be a combination of numbers, letters, and symbols preset by a user, and may be entered by the user on a user interface of the first node or obtained in another manner.

[0098] In a specific implementation, the first random number is a number randomly generated by the first node.

[0099] S102A: The first node generates a first acknowledgment code of the first node based on the first password and the first random number.

[0100] In a specific implementation, generating a first acknowledgment code of the first node based on the first password and the first random number may be generating a first acknowledgment code based on the first random number, the first password, the public key of the first node, and the public key of the second node. The public key of the first node may be a public key sent by the first node to the second node and included in the pairing acknowledgment, as shown in FIG. 4D. The public key of the second node may be a public key sent by the second node to the first node and included in the pairing initial information, as shown in FIG. 4E. Hereinafter, the meaning of "based on" may be understood to be "at least based on," instead of "merely based on." For example, generating a first acknowledgment code of the first node based on the first password and the first random number may be understood as generating a first acknowledgment code of the first node based on more parameters, such as the public key of the first node and the public key of the second node, in addition to the first password and the first random number.

[0101] In a specific implementation, generating a first acknowledgment code for the first node based on the first password and the first random number may be generating a first obfuscation code based on the first password, and generating a first acknowledgment code for the first node based on the first random number and the first obfuscation code.

[0102] In a specific implementation, generating a first acknowledgment code for the first node based on the first password and the first random number may be generating the first acknowledgment code based on the first password and the first random number according to a cryptographic algorithm. The cryptographic algorithm may be one or more cryptographic algorithms in a cryptographic algorithm set. For example, the cryptographic algorithm set may include the cryptographic algorithms shown in Table 8 above. The cryptographic algorithm may be an AES-CMAC algorithm, an HMAC-SM3 algorithm, etc. The cryptographic algorithm may be specified by the first node and notified to the second node. For example, the first node may send first information indicating the cryptographic algorithm to the second node, so that both the first node and the second node use the cryptographic algorithm. Here, the first information may be the pairing acknowledgment in FIG. 4D or similar information sent by the first node to the second node. The cryptographic algorithm set may be negotiated between the first node and the second node. For example, the first node may transmit second information indicating the cryptographic algorithm set to the second node, and the second node may transmit third information indicating the cryptographic algorithm set to the first node to negotiate the cryptographic algorithm set. Here, the second information may be the pairing request or similar information of FIG. 4B transmitted by the first node to the second node. The third information may be the pairing response or similar information of FIG. 4C transmitted by the second node to the first node.

[0103] In a more specific implementation, generating a first acknowledgment code of the first node based on the first password and the first random number may be generating a first obfuscated code based on the first password according to an AES-CMAC algorithm and / or an HMAC-SM3 algorithm. For example, the value of the first obfuscated code satisfies any one of the following:

number

[0104] Then, a first acknowledgment code is generated based on the first random number, the public key of the first node, the public key of the second node, and the first obfuscation code according to an AES-CMAC algorithm and / or an HMAC-SM3 algorithm. For example, the value of the first acknowledgment code satisfies any one of the following:

number

[0105] S101B: The second node obtains a second password and a second random number.

[0106] In a specific implementation, the second password may be a combination of numbers, letters, and symbols preset by a user, and may be entered by the user on a user interface of the second node or obtained in another manner.

[0107] In a specific implementation, the second random number is a number randomly generated by the second node.

[0108] S102B: The second node generates a second acknowledgment code of the second node based on the second password and the second random number.

[0109] In a specific implementation, generating a second confirmation response code of the second node based on the second password and the second random number may be generating a second confirmation response code based on the second random number, the second password, the public key of the first node, and the public key of the second node.

[0110] In a specific implementation, generating a second confirmation response code for the second node based on the second password and the second random number may be generating a second obfuscated code based on the second password, and generating a second confirmation response code for the second node based on the second random number and the second obfuscated code.

[0111] In a specific implementation, generating a second acknowledgment code for the second node based on the second password and the second random number may be a step of generating a second acknowledgment code based on the second password and the second random number according to a cryptographic algorithm.

[0112] In a more specific implementation, generating a second acknowledgment code for the second node based on the second password and the second random number may be generating a second obfuscated code based on the second password according to the AES-CMAC algorithm and / or the HMAC-SM3 algorithm. For example, the value of the second obfuscated code satisfies any one of the following:

number

[0113] Then, a second acknowledgment code is generated based on the second random number, the public key of the first node, the public key of the second node, and the second obfuscation code according to the AES-CMAC algorithm and the HMAC-SM3 algorithm. For example, the value of the second acknowledgment code satisfies any one of the following:

number

[0114] S103: The second node sends a second acknowledgment code and a second random number to the first node, and in response, the first node receives the second acknowledgment code and the second random number sent by the first node.

[0115] S104: The first node generates a third acknowledgment code corresponding to the second node based on the second random number.

[0116] In a specific implementation, generating a third confirmation response code of the second node based on the second random number may be generating the third confirmation response code based on the second random number, the first password, the public key of the first node, and the public key of the second node.

[0117] In a specific implementation, generating a third confirmation response code of the second node based on the second random number may be: generating a third obfuscated code based on the first password; and generating a third confirmation response code of the second node based on the second random number and the third obfuscated code.

[0118] In a specific implementation, generating the third acknowledgment code of the second node based on the second random number may be generating the third acknowledgment code of the second node based on the second random number according to a cryptographic algorithm.

[0119] In a more specific implementation, generating a third acknowledgment code of the second node based on the second random number according to a cryptographic algorithm may be generating a third obfuscated code based on the first password according to an AES-CMAC algorithm and / or an HMAC-SM3 algorithm. For example, the value of the third obfuscated code satisfies any one of the following:

number

[0120] Then, a third acknowledgment code is generated based on the second random number, the public key of the first node, the public key of the second node, and the third obfuscation code according to the AES-CMAC algorithm and / or the HMAC-SM3 algorithm. For example, the value of the third acknowledgment code satisfies any one of the following:

number

[0121] S105: The first node compares the second confirmation code with the third confirmation code. If the second confirmation code is the same as the third confirmation code, the second confirmation code is determined to be correct, and the pairing between the first node and the second node may continue, and step S106 is executed. Alternatively, if the second confirmation code is different from the third confirmation code, the second confirmation code is determined to be incorrect, and the pairing between the first node and the second node is terminated, and the process ends.

[0122] S106: The first node sends a first acknowledgment code and a first random number to the second node, and in response, the second node receives the first acknowledgment code and the first random number sent by the first node.

[0123] S107: The second node generates a fourth acknowledgment code corresponding to the first node based on the first random number.

[0124] In a specific implementation, generating a fourth acknowledgment code corresponding to the first node based on the first random number may be a step of generating the fourth acknowledgment code based on the first random number, the second password, the public key of the first node, and the public key of the second node.

[0125] In a specific implementation, generating a fourth acknowledgment code corresponding to the first node based on the first random number may include generating a fourth obfuscated code based on the second password, and generating a fourth acknowledgment code for the first node based on the first random number and the fourth obfuscated code.

[0126] In a specific implementation, generating a fourth acknowledgment code corresponding to the first node based on the first random number may be generating the fourth acknowledgment code based on the second password and the first random number according to a cryptographic algorithm.

[0127] In a more specific implementation, generating a fourth acknowledgment code corresponding to the first node based on the second password and the first random number according to a cryptographic algorithm may be generating a fourth obfuscated code based on the second password according to an AES-CMAC algorithm and / or an HMAC-SM3 algorithm. For example, the value of the fourth obfuscated code satisfies any one of the following:

number

[0128] Then, a fourth acknowledgment code is generated based on the first random number, the public key of the first node, the public key of the second node, and the fourth obfuscation code according to the AES-CMAC algorithm and / or the HMAC-SM3 algorithm. For example, the value of the fourth acknowledgment code satisfies any one of the following:

number

[0129] S108: The second node compares the first acknowledgment code with the fourth acknowledgment code. If the first acknowledgment code is the same as the fourth acknowledgment code, the first acknowledgment code is determined to be correct, and pairing between the first node and the second node may continue. For example, the verification code verification process shown in FIG. 7 may continue, or it may be determined that the first node and the second node are successfully paired, and the process ends. If the first acknowledgment code is different from the fourth acknowledgment code, the first acknowledgment code is determined to be incorrect, and pairing between the first node and the second node is terminated, and the process ends.

[0130] It will be understood that the names of processes (e.g., password verification process) and names of information (e.g., pairing confirmation response and pairing initial information) used in this embodiment are merely examples and can be replaced with any possible names in actual applications.

[0131] In the above embodiment, steps S101A and S102A are performed independently of steps S101B and S102B. Therefore, possible execution orders include steps S101A and S101B being performed simultaneously, steps S102A and S102B being performed simultaneously, step S101A being performed before or after step S101B, step S102A being performed before or after step S102B, etc. This is not particularly limited in this specification. Steps S103 to S105 are performed independently of steps S106 to S108. Thus, possible execution sequences include steps S103 and S106 being performed simultaneously, steps S104 and S107 being performed simultaneously, steps S105 and S108 being performed simultaneously, step S103 being performed before or after step S106, step S104 being performed before or after step S107, step S105 being performed before or after step S108, etc.

[0132] 7 is a schematic flowchart of a verification code verification process between a first node and a second node according to the present application. The verification code verification process in this embodiment includes the following steps:

[0133] S201A: The first node obtains the first key.

[0134] In a particular implementation, the first key may be a first DH key. The first DH key at the first node may be generated based on a key agreement algorithm and the public key of the second node.

[0135] S202A: The first node generates a first verification code based on the first key.

[0136] In a specific implementation, generating a first verification code based on a first key includes generating the first verification code based on the first key according to a cryptographic algorithm.

[0137] In a specific implementation, generating a first verification code based on the first key includes generating the first verification code based on one or more of the first key, at least two random numbers, the address of the first node, the address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, the first authentication method, or the cryptographic algorithm type. The at least two random numbers may include a third random number and a fourth random number. The third random number may be transmitted by the first node to the second node. Specifically, the first node may transmit a pairing confirmation response (see FIG. 4D) including the third random number to the second node. The fourth random number may be transmitted by the second node to the first node. Specifically, the second node may transmit pairing initial information (see FIG. 4E) including the fourth random number to the first node. The addresses of the first node and the second node may be obtained through an exchange before pairing or through an exchange in the pairing request and the pairing response.

[0138] In a specific implementation, generating a first verification code based on a first key includes generating the first verification code based on one or more of the first key, at least two random numbers, a first parameter, a second parameter, an address of the first node, an address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, a first authentication scheme, or a cryptographic algorithm type. The first parameter may be the second random number, etc., and the second parameter may be the input / output capabilities of the first node || the input / output capabilities of the second node || the first authentication scheme, the cryptographic algorithm, etc. The input / output capabilities of the first node may be transmitted by the first node to the second node. For example, the first node transmits a pairing request (see FIG. 4B) including the input / output capabilities of the first node to the second node. The input / output capabilities of the second node may be transmitted by the second node to the first node. For example, the second node transmits a pairing response (see FIG. 4C) including the input / output capabilities of the second node to the first node. It will be understood that the second parameter is obtained by connecting four parameters in series. In practical applications, the second parameter may be obtained by connecting more or fewer parameters in series. This is not particularly limited in this specification.

[0139] In a more specific implementation, generating a first verification code based on the first key includes generating a first key verification code based on the first key, and generating the first verification code based on the first key verification code.

[0140] 8, generating a first key verification code based on the first key may include generating the first key verification code based on the first key, the third random number, the fourth random number, the address of the first node, and the address of the second node. For example, the value of the first key verification code satisfies any one of the following:

number

[0141] 9, generating a first verification code based on the first key verification code may include generating the first verification code based on the first key verification code, the first parameter, the second parameter, the third random number, the fourth random number, the address of the first node, and the address of the second node. For example, the value of the first verification code satisfies any one of the following:

number

[0142] S201B: The second node obtains the second key.

[0143] In a specific implementation, the second key may be a second DH key. The second DH key of the second node may be generated according to a key agreement algorithm and the public key of the first node.

[0144] S202B: The second node generates a second verification code based on the second key.

[0145] In a specific implementation, generating the second verification code based on the second key includes generating the second verification code based on the second key according to a cryptographic algorithm.

[0146] In a specific implementation, generating the second verification code based on the second key includes generating the second verification code based on one or more of the second key, at least two random numbers, the address of the first node, the address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, the first authentication method, or a cryptographic algorithm.

[0147] In a specific implementation, generating the second verification code based on the second key includes generating the second verification code based on one or more of the second key, at least two random numbers, a third parameter, a fourth parameter, an address of the first node, an address of the second node, an input / output capability of the first node, an input / output capability of the second node, a first authentication scheme, or a cryptographic algorithm type. The third parameter may be the first random number, etc., and the fourth parameter may be the input / output capability of the first node, the input / output capability of the second node, the first authentication scheme, the cryptographic algorithm, etc.

[0148] In a more specific implementation, generating a second verification code based on the second key includes generating a second key verification code based on the second key, and generating a second verification code based on the second key verification code.

[0149] Generating the second key verification code based on the second key may include generating the second key verification code based on the second key, the third random number, the fourth random number, the address of the first node, and the address of the second node. For example, the value of the second key verification code satisfies any one of the following:

number

[0150] Generating the second verification code based on the second key verification code may include generating the second verification code based on the second key verification code, the third parameter, the fourth parameter, the third random number, the fourth random number, the address of the first node, and the address of the second node. For example, the value of the second verification code satisfies any one of the following:

number

[0151] S203: The first node sends a first verification code to the second node, and in response, the second node receives the first verification code sent by the first node.

[0152] S204: The second node generates a third verification code based on the second key.

[0153] In a specific implementation, generating a third verification code based on the second key includes generating the third verification code based on the second key according to a cryptographic algorithm.

[0154] In a specific implementation, generating a third verification code based on the second key includes generating the third verification code based on one or more of the second key, at least two random numbers, the address of the first node, the address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, the first authentication method, or the cryptographic algorithm type.

[0155] In a specific implementation, generating the third verification code based on the second key includes generating the third verification code based on one or more of the second key, the at least two random numbers, the first parameter, the address of the first node, the address of the second node, the input / output capability of the first node, the input / output capability of the second node, the first authentication method, or the cryptographic algorithm type. See Table 11 for values ​​of the first parameter, the address of the first node, the address of the second node, the input / output capability of the first node, the input / output capability of the second node, and the first authentication method. [Table 11-1] [Table 11-2] Table 11. Parameter values ​​for different nodes under different authentication schemes

[0156] In a more specific implementation, generating a third verification code based on the second key includes generating a third key verification code based on the second key, and generating a third verification code based on the third key verification code.

[0157] Generating the third key verification code based on the second key may include generating the third key verification code based on the second key, the third random number, the fourth random number, the address of the first node, and the address of the second node. For example, the value of the third key verification code satisfies any one of the following:

number

[0158] Generating the third verification code based on the third key verification code may include generating the third verification code based on the third key verification code, the first parameter, the second parameter, the third random number, the fourth random number, the address of the first node, and the address of the second node. For example, the value of the third verification code satisfies any one of the following:

number

[0159] S205: The second node compares the first verification code with the third verification code. If the first verification code is the same as the third verification code, the first verification code is determined to be correct, and pairing between the first node and the second node is permitted, and step S206 is executed. Alternatively, if the first verification code is different from the third verification code, the first verification code is determined to be incorrect, and pairing between the first node and the second node is not permitted, and the process ends.

[0160] S206: The second node sends a second verification code to the first node, and in response, the first node receives the second verification code sent by the second node.

[0161] S207: The first node generates a fourth verification code based on the first key.

[0162] In a specific implementation, generating the fourth verification code based on the first key includes generating the fourth verification code based on the first key according to a cryptographic algorithm.

[0163] In a specific implementation, generating the fourth verification code based on the first key includes generating the fourth verification code based on one or more of the first key, at least two random numbers, the address of the first node, the address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, the first authentication method, or the cryptographic algorithm type.

[0164] In a specific implementation, generating the fourth verification code based on the first key includes generating the fourth verification code based on one or more of the first key, at least two random numbers, the first parameter, the second parameter, the address of the first node, the address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, the first authentication method, or the cryptographic algorithm type.

[0165] In a more specific implementation, generating a fourth verification code based on the first key includes generating a fourth key verification code based on the first key, and generating a fourth verification code based on the fourth key verification code.

[0166] Generating the fourth key verification code based on the first key may include generating the fourth key verification code based on the first key, the third random number, the fourth random number, the address of the first node, and the address of the second node. For example, the value of the fourth key verification code satisfies any one of the following:

number

[0167] Generating the fourth verification code based on the fourth key verification code may include generating the fourth verification code based on the fourth key verification code, the third parameter, the fourth parameter, the third random number, the fourth random number, the address of the first node, and the address of the second node. For example, the value of the fourth verification code satisfies any one of the following:

number

[0168] S208: The first node compares the second verification code with the fourth verification code. If the second verification code is the same as the fourth verification code, the second verification code is determined to be correct. The first If the second verification code is different from the fourth verification code, the second verification code is determined to be incorrect and pairing between the first node and the second node is not permitted, and the process ends.

[0169] It will be understood that the names of procedures (e.g., verification code verification process) and information (e.g., pairing request and pairing response) used in this embodiment are merely examples and can be replaced with any possible names in actual applications.

[0170] In the above embodiment, step S201A and step S202A are executed independently of step S201B and step S202B. Therefore, possible execution orders include: step S201A and step S201B are executed simultaneously; step S202A and step S202B are executed simultaneously; step S201A is executed before or after step S201B; step S202A is executed before or after step S202B; etc. This is not particularly limited in this specification.

[0171] It will be understood that the first pairing procedure may include the password verification process shown in Fig. 6, may include the verification code verification process shown in Fig. 7, or may include both the password verification process shown in Fig. 6 and the verification code verification process shown in Fig. 7. For example, the password verification process shown in Fig. 6 is performed first, and then the verification code verification process shown in Fig. 7 is performed. Alternatively, the verification code verification process shown in Fig. 7 is performed first, and then the password verification process shown in Fig. 6 is performed. This is not particularly limited in the present specification.

[0172] FIG. 10 is a schematic diagram of a device structure according to one embodiment of the present application. The device 10 includes at least a processor 110, a memory 111, a receiver 112, and a transmitter 113. The receiver 112 and the transmitter 113 may be replaced with a communication interface and configured to provide information input and / or information output for the processor 110. Optionally, the memory 111, the receiver 112, the transmitter 113, and the processor 110 are connected or coupled via a bus. Optionally, in some possible embodiments, the device 10 further includes a display 114, and the display 114 is connected to the processor 110 via the bus. The device 10 may be a cockpit domain controller (CDC) of a vehicle or an element within a CDC or device, such as a chip or integrated circuit. The CDC may also be referred to as a head unit. Here, the head unit may be used as an example to describe the hardware of the device 10.

[0173] The receiver 112 is configured to receive data, for example, an audio signal or an image signal, from at least one terminal device.

[0174] The transmitter 113 is configured to transmit data, for example, audio or image signals, to at least one terminal device.

[0175] The receiver 112 and the transmitter 113 may include an antenna and a chipset configured to communicate with a terminal device, a sensor, or another physical device using a signal transmission entity such as an optical fiber or using an air interface. The transmitter 113 and the receiver 112 constitute a communications module. The communications module may be configured to receive and transmit information through one or more other types of wireless communications (e.g., protocols). Wireless communications include Bluetooth, IEEE 802.11 communications protocols, cellular technologies, worldwide interoperability for microwave access (WiMAX), long term evolution (LTE), ZigBee protocols, dedicated short term evolution (DSRC), radio frequency identification (RFID) communications, universal short-range communications technologies, in-vehicle universal short-range communications technologies, and any other short-range communications technologies that may exist.

[0176] Display 114 is configured to receive user input and display to the user information entered by the user and information provided to the user by the head unit. Display 114 can be a liquid crystal display (LCD), an organic or inorganic light-emitting diode (OLED), an active matrix / organic light-emitting diode (AMOLED) panel, etc.

[0177] Processor 110 may include one or more general-purpose processors, such as a central processing unit (CPU), or a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0178] The memory 111 may include volatile memory, such as random access memory (RAM). Alternatively, the memory 111 may include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid-state drive (SSD). Alternatively, the memory 111 may include a combination of the aforementioned types of memory. The memory 111 may store programs and data. The stored programs include a program corresponding to a password verification process, a program corresponding to a verification code verification process, etc. The stored data includes a first password, a second password, the first to fourth random numbers, a first parameter, a second parameter, an address of a first node, an address of a second node, a cryptographic algorithm, etc. The memory 111 may exist independently or may be integrated into the processor 110.

[0179] In an embodiment of the present application, the processor 110 is specifically configured to call up the program codes and data in the memory 111 to execute the methods associated with the first node or the second node described in the embodiments of Figures 2, 3A-3B, 5, 6, and 7.

[0180] 11 is a schematic diagram of a device structure according to one embodiment of the present application. The device 20 includes at least a processor 210, a memory 211, a receiver 212, a transmitter 213, an audio circuit 214, and a microphone 215. The receiver 212 and the transmitter 213 may be replaced with a communication interface and configured to provide information input and / or information output to the processor 210. Optionally, the memory 211, the receiver 212, the transmitter 213, the audio circuit 214, the microphone 215, and the processor 210 are connected or coupled via a bus. The device 20 may be an in-vehicle device (e.g., a speaker, a microphone, a camera, or a display), a non-in-vehicle device (e.g., a mobile phone or a headset), another device capable of communicating with the device 20, or an element within the aforementioned device, such as a chip or integrated circuit. Here, an in-vehicle device may be used as an example to describe the hardware of the device 20.

[0181] The receiver 212 is configured to receive data, for example, an audio or voice signal.

[0182] The transmitter 213 is configured to transmit data, for example, audio or voice signals, to the CDC.

[0183] The receiver 212 and the transmitter 213 may include an antenna and a chipset configured to communicate with the CDC or another physical device in the vehicle, either directly or via an air interface. The receiver 212 and the transmitter 213 comprise a communications module. The communications module may be configured to receive and transmit information through one or more other types of wireless communications (e.g., protocols). Wireless communications include Bluetooth, IEEE 802.11 communications protocols, cellular technologies, worldwide interoperability for microwave access (WiMAX), long term evolution (LTE), ZigBee protocols, dedicated short term evolution (DSRC), radio frequency identification (RFID) communications, universal short range communications technologies, in-vehicle universal short range communications technologies, any other short range communications technologies that may exist, etc.

[0184] The microphone 215 converts collected audio data (for example, a voice signal) into an electrical signal corresponding to the audio data, and then outputs the electrical signal to the audio circuit 214.

[0185] Audio circuitry 214 converts the received electrical signals output by microphone 215 into corresponding audio data and outputs the audio data to processor 210 for further processing.

[0186] Processor 210 may include one or more general-purpose processors, such as a central processing unit (CPU), or a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0187] The memory 211 may include volatile memory, such as random access memory (RAM). Alternatively, the memory 211 may include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid-state drive (SSD). Alternatively, the memory 211 may include a combination of the aforementioned types of memory. The memory 211 may store programs and data. The stored programs include a program corresponding to a password verification process, a program corresponding to a verification code verification process, etc. The stored data includes a first password, a second password, the first to fourth random numbers, a first parameter, a second parameter, the address of the first node, the address of the second node, a cryptographic algorithm, etc. The memory 211 may exist independently or may be integrated into the processor 210.

[0188] In an embodiment of the present application, the processor 210 is specifically configured to call up the program codes and data in the memory 211 to execute the methods associated with the first node or the second node described in the embodiments of Figures 2, 3A-3B, 5, 6, and 7.

[0189] 12 is a schematic diagram of the structure of an apparatus 30 according to an embodiment of the present application. The apparatus 30 includes a processing unit 310, a sending unit 311, and a receiving unit 312. The apparatus 30 can be implemented by using hardware, software, or a combination of software and hardware.

[0190] The processing unit 310 is configured to obtain a first password and a first random number, and to generate a first acknowledgment code for the first node based on the first password and the first random number. The sending unit 311 is configured to send the first acknowledgment code and the first random number to the second node. The receiving unit 312 is configured to receive a second acknowledgment code and the second random number from the second node. The processing unit 310 is further configured to generate a third acknowledgment code corresponding to the second node based on the second random number. The processing unit 310 is further configured to determine that the second acknowledgment code is correct if the second acknowledgment code is the same as the third acknowledgment code.

[0191] The functional modules of the apparatus 30 may be configured to perform the first-node-side method described in the embodiment of Fig. 6. In this case, the processing unit 310 may be configured to perform S101A, S102A, S104, and S105 in the embodiment of Fig. 6, the sending unit 311 may be configured to perform S106, and the receiving unit 312 may be configured to perform S103. The functional modules of the apparatus 30 may be configured to perform the second-node-side method described in the embodiment of Fig. 6. In this case, the processing unit 310 may be configured to perform S101B, S102B, S107, and S108 in the embodiment of Fig. 6, the sending unit 311 may be configured to perform S103, and the receiving unit 312 may be configured to perform S106.

[0192] The functional modules of the apparatus 30 may be configured to perform the first-node-side method described in the embodiment of FIG. 7. In this case, the processing unit 310 may be configured to perform S201A, S202A, S207, and S208 in the embodiment of FIG. 7, the sending unit 311 may be configured to perform S203, and the receiving unit 312 may be configured to perform S206. The functional modules of the apparatus 30 may be configured to perform the second-node-side method described in the embodiment of FIG. 7. In this case, the processing unit 310 may be configured to perform S201B, S202B, S204, and S205 in the embodiment of FIG. 7, the sending unit 311 may be configured to perform S206, and the receiving unit 312 may be configured to perform S203. For the sake of brevity, the details will not be described again in this application.

[0193] All or part of the above-described embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When software is used to implement an embodiment, all or part of the embodiment may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the procedures or functions according to the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or another programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, optical fiber, or digital subscriber line) or wireless (e.g., infrared, radio, or microwave) methods. The computer-readable storage medium may be any available medium accessible by a computer, or a data storage device, such as a server or a data center, that integrates one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a storage disk, or a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state storage disk, SSD).

Claims

1. 1. An information processing method, the method comprising: obtaining, by a processor, a first password and a first random number; generating, by the processor, a first acknowledgment code for the first node based on the first password and the first random number; transmitting, by the processor, the first acknowledgment code and the first random number to a second node; receiving, by the processor, a second acknowledgment code and a second random number from the second node; generating, by the processor, a third acknowledgment code corresponding to the second node based on the second random number; and determining, by the processor, that the second acknowledgment code is correct if the second acknowledgment code is the same as the third acknowledgment code; A method comprising:

2. generating a first acknowledgment code for the first node based on the first password and the first random number, generating the first acknowledgment code based on the first password and the first random number according to a cryptographic algorithm; The method of claim 1 , comprising:

3. generating a first acknowledgment code for the first node based on the first password and the first random number, generating the first acknowledgment code based on the first random number, the first password, the public key of the first node, and the public key of the second node; 3. The method of claim 1 or 2, comprising:

4. If the second acknowledgment code is correct, the method generating, by the processor, a first verification code based on a first key; determining, by the processor, that the second verification code is correct if the first verification code is the same as a second verification code from the second node; The method of claim 2 , comprising:

5. generating a first verification code based on a first key; generating the first verification code according to the cryptographic algorithm and based on one or more of the first key, at least two random numbers, the address of the first node, the address of the second node, the input / output capabilities of the first node, the input / output capabilities of the second node, a first authentication scheme, or a cryptographic algorithm type; The method of claim 4, comprising:

6. The method further comprises: transmitting, by the processor, first information to the second node, the first information indicating the encryption algorithm; The method of claim 2 or 5, comprising:

7. The cryptographic algorithm belongs to a cryptographic algorithm set, and The method further comprises: transmitting, by the processor, second information to the second node, the second information indicating the cryptographic algorithm set; receiving, by the processor, third information from the second node, the third information indicating the cryptographic algorithm set; The method of claim 6, comprising:

8. The method further comprises: transmitting, by the processor, fourth information to the second node, the fourth information indicating that the first authentication method is password authentication; The method of claim 5 , comprising:

9. An apparatus comprising a processing unit and a transmitting unit, the processing unit is configured to obtain a first password and a first random number; the processing unit is configured to generate a first acknowledgment code for the first node based on the first password and the first random number; the transmitting unit is configured to transmit the first acknowledgment code and the first random number to a second node; The apparatus further includes a receiving unit; the receiving unit is configured to receive a second acknowledgment code and a second random number from the second node; the processing unit is further configured to generate a third acknowledgment code corresponding to the second node based on the second random number, and to determine that the second acknowledgment code is correct if the second acknowledgment code is the same as the third acknowledgment code. Device.

10. the processing unit is further configured to generate the first acknowledgment code based on the first password and the first random number according to a cryptographic algorithm.

10. The apparatus of claim 9.

11. the processing unit is further configured to generate the first acknowledgment code based on the first random number, the first password, a public key of the first node, and a public key of the second node.

11. Apparatus according to any one of claims 9 or 10.

12. The processing unit further comprises: If the second acknowledgment code is correct, generating a first verification code based on a first key; If the first verification code is the same as the second verification code from the second node, the second verification code is determined to be correct.

10. The device of claim 9, configured to:

13. The processing unit further comprises: generating the first verification code according to a cryptographic algorithm and based on one or more of the first key, at least two random numbers, an address of the first node, an address of the second node, an input / output capability of the first node, an input / output capability of the second node, a first authentication scheme, or a cryptographic algorithm type; 13. The apparatus of claim 12, configured to:

14. The transmitting unit further comprises: configured to transmit first information to the second node, the first information indicating the cryptographic algorithm; 14. Apparatus according to claim 10 or 13.

15. The cryptographic algorithm belongs to a cryptographic algorithm set, and The transmitting unit further comprises: configured to transmit second information to the second node, the second information indicating the cryptographic algorithm set; and The receiving unit further comprises: and receiving third information from the second node, the third information indicating the cryptographic algorithm set.

11. The apparatus of claim 10.

16. The transmitting unit further comprises: and transmitting fourth information to the second node, the fourth information indicating that the first authentication method is password authentication.

14. The apparatus of claim 13.

17. 1. A computer-readable storage medium, comprising: the computer-readable storage medium storing computer programs or instructions; The computer program or the instructions, when executed by a communication device, perform the method according to any one of claims 1 to 8. A computer-readable storage medium.

18. A terminal device comprising an apparatus according to any one of claims 9 to 16.

Citation Information

Patent Citations

  • Bluetooth node pairing method and related device

    CN112640506A

  • Authentication method, authentication system, web server, user terminal, authentication program, and recording medium

    JP2015114715A

  • Communication system, control method for communication system, and relay device

    JP2019097027A

  • Remote control system

    WO2020166405A1