WO2022133949A1 - 一种安全接入方法及装置 - Google Patents

一种安全接入方法及装置 Download PDF

Info

Publication number
WO2022133949A1
WO2022133949A1 PCT/CN2020/139154 CN2020139154W WO2022133949A1 WO 2022133949 A1 WO2022133949 A1 WO 2022133949A1 CN 2020139154 W CN2020139154 W CN 2020139154W WO 2022133949 A1 WO2022133949 A1 WO 2022133949A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
key
parameter
ciphertext
psk
Prior art date
Application number
PCT/CN2020/139154
Other languages
English (en)
French (fr)
Inventor
李�泳
王勇
陈璟
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2020/139154 priority Critical patent/WO2022133949A1/zh
Priority to JP2023538932A priority patent/JP2024500489A/ja
Priority to CN202080004818.4A priority patent/CN112740733B/zh
Priority to EP20966521.5A priority patent/EP4254861A4/en
Publication of WO2022133949A1 publication Critical patent/WO2022133949A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Definitions

  • the present application relates to the field of communication technology and connected vehicles, and in particular, to the field of short-range communication technology, such as cockpit domain communication. Specifically, it relates to a secure access method and device.
  • the second node In order to ensure the security of communication, before two nodes (referred to as the first node and the second node for convenience) communicate, the second node will use the pairing mode to access the first node, or directly use the open mode to access the first node .
  • the second node accesses the first node, it usually first determines a shared key used by both parties for communication encryption, but in the existing access process, the generated shared key has low confidentiality. For example, when a Bluetooth headset is connected to a mobile phone, a link key can be generated by directly clicking on the name of the Bluetooth headset in the mobile phone, and then the association is successful, and then data can be sent and received between the first node of the mobile phone and the Bluetooth headset.
  • the embodiments of the present application disclose a secure access method and device, and provide a highly secure authentication and key agreement method, which can prevent a node from successfully associating with an attacker whose identity is untrustworthy.
  • an embodiment of the present application discloses a secure access method, including:
  • the first message includes a first ciphertext, and the first ciphertext is obtained according to the security parameter and the first key negotiation parameter;
  • the security parameter is the first node and the
  • the pre-shared key PSK between the second nodes is either the first password;
  • the first password is the agreed access password between the first node and the second node;
  • the PSK between is a secret value shared between the first node and the second node, and the first password can be regarded as the password for the second node to access the first node;
  • the first shared key is determined according to the first key agreement parameter and the key agreement algorithm.
  • the second node encrypts the first key negotiation parameter with a security parameter (the security parameter may be PSK or the first password) to obtain the first ciphertext, because the first node is preconfigured with Alternatively, the same security parameters can be obtained, so the first ciphertext can be decrypted to obtain the first key negotiation parameters, and the shared key can be generated based on the first key negotiation parameters subsequently. Since the shared key cannot be generated without obtaining the security parameters, the second node cannot access the first node, so it can prevent an attacker from accessing the first node through the second node and prevent the first node from successfully associating with an attacker whose identity is untrustworthy.
  • a security parameter the security parameter may be PSK or the first password
  • the method further includes:
  • first identity authentication information according to the first shared key and the PSK between the first node and the second node, where the first identity authentication information is used to authenticate the identity of the first node.
  • the first identity authentication information is obtained according to the first shared key and the PSK, and the first identity authentication information can be used to authenticate the identity of the first node.
  • This application exemplifies a method for authenticating the identity of the first node through the first identity information: the second node determines the first shared key, and generates verification information according to the first shared key and the PSK. If the identity authentication information is the same, it means that the first shared key and PSK between the first node and the second node are the same, so that the identity of the first node can be authenticated, the communication between the node and the attacker can be avoided, and the security of the node can be improved.
  • the acquiring the PSK between the first node and the second node includes:
  • the first node can store the corresponding relationship between the PSK and the second node in the form of a corresponding relationship. Therefore, the PSK between the first node and the second node can be obtained according to the corresponding relationship.
  • the PSK is determined according to the first password, the first shared key, the first random number and the second random number.
  • the PSK corresponding to the second node does not exist in the first node, so a new PSK can be determined.
  • determining the relationship between the first node and the first node according to the first password, the first shared key, the first random number and the second random number PSK between two nodes including:
  • the PSK between the first node and the second node is determined according to the first password, the second shared key, the first random number, and the second random number.
  • the first ciphertext is obtained according to a hash value of the security parameter and a first key negotiation parameter;
  • the first ciphertext is obtained, and the first key negotiation parameters are obtained, including:
  • the first ciphertext is obtained by adding a hash value of the security parameter and the first key agreement parameter through an elliptic curve point addition operation;
  • the first password decrypts the first ciphertext to obtain the first key negotiation parameters, including:
  • the first key agreement parameter is obtained through an elliptic curve point subtraction operation.
  • the decrypting the first ciphertext according to the security parameter to obtain the first key agreement parameter includes:
  • the obtaining the first identity authentication information according to the first shared key and the PSK between the first node and the second node further includes:
  • the first key is derived from the first shared key, the PSK, the first random number and the second random number;
  • the first identity authentication information is generated according to the first key, the first random number and the second random number, where the first identity authentication information is used to authenticate the identity of the first node.
  • the method further includes:
  • the second key negotiation parameter is used by the second node to determine the shared key. It can be seen that the second key negotiation parameter can be encrypted based on the security parameter, and the second key negotiation parameter can be decrypted to generate a shared key only after the security parameter is cracked, which prevents the attacker from disguising the second node to access the first node, The security of the key negotiation process is guaranteed.
  • the method further includes:
  • the PSK between the first node and the second node the first shared key and the second identity authentication information, it is determined that the identity authentication of the second node is passed.
  • the second identity authentication information is generated by the second node according to the PSK and the first shared key, so according to the PSK, the first shared key and the second identity authentication information can be It is determined whether the first shared key and PSK in the second node are the same as the first node side, so that the identity of the second node can be authenticated.
  • the foregoing first message may also be referred to as an access request message (or an association request message).
  • the second message may also be referred to as a security context request message (or an identity authentication request message).
  • the third message may also be referred to as a security context response message (or an authentication response message).
  • the method further includes:
  • a fourth message is sent to the second node, where the fourth message is used to indicate that the access is successful, or the fourth message is used to indicate that the association is completed. Further, the fourth message may be referred to as an association establishment message (or an access association complete message), an association complete message, and the like.
  • an embodiment of the present application discloses a secure access method, including:
  • Send a first message to the first node where the first message includes a first ciphertext, and the first ciphertext is obtained according to a security parameter and a first key negotiation parameter; the security parameter is the relationship between the first node and the first ciphertext.
  • the pre-shared key PSK between the two nodes is either the first password; the first password is the agreed access password between the first node and the second node;
  • the second message includes a second ciphertext
  • the second ciphertext is obtained by encrypting a second key negotiation parameter according to the security parameter
  • the first key negotiation parameter is encrypted by the security parameter (the security parameter may be PSK or the first password) and then sent to the first node.
  • the first node also passes The security parameter encrypts the second key agreement parameter.
  • the two communicating parties can decrypt the ciphertext through the security parameters, and generate a shared key based on the key negotiation parameters. Since the shared key cannot be generated without acquiring the security parameters, and the second node cannot access the first node, it is possible to prevent the second node from accessing the untrusted first node and improve the security of the second node.
  • the method before obtaining the second identity authentication information according to the first shared key and the PSK between the first node and the second node, the method further includes:
  • the acquiring the PSK between the first node and the second node includes:
  • the corresponding relationship between the PSK and the first node can be stored in the form of a corresponding relationship. Therefore, the PSK between the first node and the second node can be obtained according to the corresponding relationship.
  • the PSK is determined according to the first password, the first shared key, the first random number and the second random number.
  • the first node and the first node are determined according to the first password, the first shared key, the first random number and the second random number.
  • PSK between two nodes including:
  • the PSK between the first node and the second node is determined according to the first password, the second shared key, the first random number, and the second random number.
  • the method before sending the first message, the method further includes:
  • the first key agreement parameter is encrypted according to the security parameter to obtain the first ciphertext.
  • the encrypting the first key agreement parameter according to the security parameter to obtain the first ciphertext includes:
  • the first ciphertext is obtained by performing an elliptic curve point addition operation
  • the first key agreement parameter is encrypted according to the first intermediate key to obtain the first ciphertext.
  • the obtaining the second identity authentication information according to the first shared key and the PSK between the first node and the second node further includes:
  • the first key is derived from the first shared key, the PSK, the first random number and the second random number;
  • the second identity authentication information is generated according to the first key, the first random number and the second random number, where the first identity authentication information is used to authenticate the identity of the first node.
  • the second message further includes first identity authentication information; the method further includes:
  • the PSK between the first node and the second node the first shared key and the first identity authentication information, it is determined that the identity authentication of the first node is passed.
  • the above describes a method for authenticating the identity of the first node.
  • the first identity authentication information is generated by the first node according to the PSK and the first shared key. Therefore, according to the PSK, the first shared key and the first identity authentication information, the It is determined whether the first shared key and PSK in the first node are the same as the second node side, so that the identity of the first node can be authenticated.
  • the timing for authenticating the identity of the first node may be periodic or aperiodic, or the identity of the first node may also be authenticated before some important operations are performed, depending on the specific implementation.
  • the foregoing first message may also be referred to as an access request message (or an association request message).
  • the second message may also be referred to as a security context request message (or an identity authentication request message).
  • the third message may also be referred to as a security context response message (or an authentication response message).
  • the method further includes:
  • a fourth message is received from the first node, where the fourth message is used to indicate that the access is successful, or that the fourth message is used to indicate that the association is completed. Further, the fourth message may be referred to as an association establishment message (or an access association complete message), an association complete message, and the like.
  • an embodiment of the present application discloses a communication device, where the communication device includes a receiving unit and a processing unit.
  • the communication apparatus is configured to implement the secure access method described in the first aspect or any possible implementation manner of the first aspect.
  • an embodiment of the present application discloses a communication device, including a sending unit, a receiving unit, and a processing unit, and the foregoing communication device is used to implement the secure connection described in the second aspect or a possible implementation manner of the second aspect. enter method.
  • an embodiment of the present application discloses a communication device, including a processor and a communication interface, where the processor is configured to invoke a computer program stored in a memory to implement the first aspect or any possible possibility of the first aspect The method described in the embodiment.
  • an embodiment of the present application discloses a communication device, including a processor and a communication interface, where the processor is configured to call a computer program stored in a memory to implement the first aspect or any possibility of the first aspect Method to realize.
  • an embodiment of the present application further provides a chip system, where the chip system includes at least one processor and a communication interface, where the communication interface is used for sending and/or receiving data, and the at least one processor is used for calling at least one A computer program stored in a memory, so that the chip system implements the method described in the first aspect or any possible implementation manner of the first aspect; or implements the second aspect or any possible implementation manner of the second aspect The method described in the embodiment.
  • an embodiment of the present application further provides a communication system, the first node and the second node.
  • the first node includes the communication device described in the third aspect or any possible implementation manner of the third aspect; or includes the communication device described in the fifth aspect or any possible implementation manner of the fifth aspect communication device.
  • the second node includes the communication device described in the fourth aspect or any possible implementation manner of the fourth aspect; or includes the communication device described in the sixth aspect or any possible implementation manner of the sixth aspect device.
  • an embodiment of the present application discloses a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program runs on a computer, the computer is made to execute the first aspect or the method described in any possible implementation manner of the first aspect, or execute the method described in the second aspect or any possible implementation manner of the second aspect.
  • an embodiment of the present application discloses a computer program product, when the computer program product runs on one or more processors, executes the first aspect or any one of the possible implementations of the first aspect.
  • the method described, or the method described in the second aspect or any one possible implementation manner of the second aspect is performed.
  • an embodiment of the present application discloses a terminal, where the terminal may be a smart cockpit product, a vehicle, or the like, and the terminal includes a first node and/or a second node.
  • the second node for example, one or more of modules such as camera, screen, microphone, sound, radar, electronic key, keyless entry, starting system controller, and user equipment UE
  • the first node eg, a base station, a cockpit domain controller CDC, etc.
  • the above-mentioned vehicle may also be replaced with an intelligent terminal such as a drone, a robot, or a transportation tool.
  • Fig. 1 is a schematic diagram of the principle of a key agreement algorithm
  • FIG. 2 is a schematic diagram of a usage scenario of a key agreement algorithm
  • FIG. 3 is a schematic flowchart of a communication system provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a communication scenario provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of a communication method provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of determining a shared key provided by an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of another communication method provided by an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of still another communication method provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of a running scenario of a communication method provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a communication device provided by an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of another communication device provided by an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of still another communication apparatus provided by an embodiment of the present application.
  • At least one refers to one or more, and the “plurality” refers to two or more.
  • At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • at least one (a) of a, b, or c may represent: a, b, c, (a and b), (a and c), (b and c), or (a and b and c), wherein a, b, c can be single or multiple.
  • ordinal numbers such as “first” and “second” are used in the embodiments of the present application to distinguish multiple objects, and are not used to limit the order, sequence, priority, or importance of multiple objects degree.
  • first information and the second information are only for distinguishing different information, and do not indicate the difference in content, priority, transmission order, or importance of the two kinds of information.
  • a node is an electronic device with data processing and sending and receiving capabilities or a device in the electronic device (for example, a chip, or an integrated circuit, etc.), and the above-mentioned electronic device may include a terminal device or a network-side device.
  • a node may be a car cockpit domain device, or a module in a car cockpit device (such as a cockpit domain controller (CDC), camera, screen, microphone, audio, electronic key, keyless entry, or activation one or more of the modules such as the system controller).
  • CDC cockpit domain controller
  • the node can also be a data transfer device, such as a base station, router, repeater, bridge or switch; it can also be a terminal device, such as various types of user equipment (UE), mobile phone (mobile phone), tablet computer (pad), desktop computer, headset, stereo, etc.; can also include machine intelligence devices, such as self-driving (self-driving) devices, transportation safety (transportation safety) devices, smart home devices (such as audio one or more of video equipment, security equipment, intelligent lighting equipment, environmental monitoring equipment, etc.), virtual reality (VR) terminal equipment, augmented reality (AR) terminal equipment, machine type communication (machine type) communication, MTC) equipment, industrial control (industrial control) equipment, remote medical (remote medical) equipment, smart grid (smart grid) equipment, smart city (smart city) equipment; can also include wearable devices (such as smart watches, smart wristbands, pedometers, etc.) etc.
  • UE user equipment
  • mobile phone mobile phone
  • tablet computer tablet computer
  • desktop computer headset, stereo, etc.
  • the names of devices with similar data sending and receiving capabilities may not be called nodes, but for convenience of description, the electronic devices with data sending and receiving capabilities are collectively referred to as nodes in the embodiments of the present application.
  • Hash algorithm is also known as hash function, hash algorithm, hash algorithm can output a piece of data (such as string, number, file, etc.) as a preset length (such as 80 bits, or 128 bits, etc. ) of the hash value (the hash value can also be called hash value, digest value, etc.), and it is difficult to find the reverse rule.
  • hash algorithms mainly include secure hash algorithm 1 (SHA-1), message digest (MD) algorithm (such as MD2, MD4 or MD5, etc.).
  • Encryption algorithms are used to protect the confidentiality of data, usually by encrypting plaintext to obtain ciphertext.
  • the encryption algorithm may include encryption operations (eg, elliptic point addition operation, XOR operation, etc.), and may also include various mathematical functions with high security.
  • Common encryption algorithms mainly include XOR operation, data encryption standard (DES), triple data encryption algorithm (3DES), advanced encryption standard (AES), RSA encryption algorithm, data encryption algorithm Structural analysis algorithm (data structure analysis, DSA) and so on.
  • the key derivation algorithm is used to deduce (derivation, deriving) one or more secret values from a secret value, also known as the key derivation algorithm.
  • a secret value also known as the key derivation algorithm.
  • DK new secret value
  • Commonly used key derivation algorithms include password-based key derivation function (PBKDF), scrypt algorithm, etc.
  • PBKDF algorithm includes the first generation PBKDF1 and the second generation PBKDF2.
  • Some KDF algorithms use a hash algorithm to hash the input secret value in the process of deriving the key, so the KDF function can also receive the algorithm identifier as input to indicate which hash algorithm to use.
  • KDF is not only used in the process of deriving secret values, but also in generating authentication information and identity information.
  • an authentication algorithm (authentication function, AUF, or AUTH function) can also be used, and the authentication algorithm is used to obtain authentication information according to input parameters.
  • Key negotiation is a process in which two parties negotiate to obtain a key by exchanging some parameters.
  • the algorithm used for key agreement is called a key agreement algorithm, and it can also be called a key exchange algorithm.
  • key agreement algorithms include Diffie-Hellman key exchange (DH) algorithm, DH (ECDH) algorithm based on Elliptic Curve Cryptosystems (ECC), national secret algorithm (such as SM1 , SM2, SM3 and SM4), Oakley algorithm, etc.
  • the key agreement algorithm can also be regarded as a key agreement protocol, that is to say, for both parties in the communication, the key agreement algorithm defines the rules for key generation and exchange.
  • the key for encryption depends on other algorithms.
  • the DH algorithm allows both parties to create a key in an insecure channel, and this key can be used as a key to encrypt the communication content in subsequent communications.
  • FIG. 1 is a schematic diagram of the principle of a DH algorithm provided by an embodiment of the present application.
  • the first node and the second node obtain a definite prime number p and a random number g, and the two nodes exchange keys through the DH algorithm. as follows:
  • Step 1 The second node determines the random number a.
  • Step 3 The second node sends the first calculated value A to the first node.
  • Step 4 The first node determines the random number b.
  • Step 7 The first node sends the second calculated value B to the second node.
  • the elliptic curve algorithm is a security algorithm based on the mathematical theory of elliptic curves.
  • the curve equation of the elliptic curve we discuss is a two-dimensional cubic equation. It has many forms. The most commonly used one is the following general formula:
  • FIG. 2 is a schematic diagram of a possible point addition operation provided by the present application.
  • R is the point of symmetry of point-R. Since point-R is on the elliptic curve, the point R must also be on the elliptic curve, that is to say, The point obtained by P+Q is on the elliptic curve.
  • a point on the elliptic curve is continuously added for n times, and the result of adding points P for n times can be obtained, which is recorded as nP.
  • the number of additions n is an integer, which can be called a scalar.
  • the point multiplication operation of an elliptic curve can be called a scalar multiplication operation, and when multiple scalars are involved, it can be called a multi-scalar multiplication operation.
  • the point multiplication algorithm may have different definitions in different operation scenarios, and the implementation depends on the specific definition of the operation rule of the point multiplication algorithm.
  • the operation rule of the point multiplication algorithm is an example of a possible elliptic curve point multiplication. How the algorithm is calculated.
  • six parameters p, a, b, G, n, h) are combined to define an elliptic curve used by an elliptic curve algorithm.
  • K k ⁇ G
  • K and G are points on the elliptic curve Ep(a,b)
  • k is an integer less than n.
  • the elliptic curve algorithm in actual use makes p quite large in principle, and n is also quite large, it is a mathematical problem to calculate the n points one by one and compare them with K.
  • Step 3 Alice passes A to Bob.
  • the transmission of A can be made public, that is, the attacker can obtain A and G, but it is difficult to calculate a from A and G.
  • Step 4 Bob passes B to Alice.
  • the transmission of B can be made public, that is, the attacker can obtain B and G, but it is difficult to calculate a from B and G.
  • the freshness parameter is a parameter in the field of information security, which is used to generate keys and authentication parameters, etc. It can also be called freshness or freshness parameter.
  • the freshness parameter may include at least one of a random number (number once, NONCE), a counter value (counter), a serial number (serial number), a sequence number (sequence number), and the like.
  • the freshness parameters generated at different times are usually different. It is understandable that the specific value of the freshness parameter will change every time the freshness parameter is generated, so that the freshness parameter used for the key generation this time (or authentication parameters, etc.) Or the freshness parameter used in authentication parameters, etc.) is different, which can improve the security of the generated key.
  • NONCE is a (non-repeating) random value that is used only once.
  • a password can be understood as a pre-configured or pre-defined password for a node to allow other nodes to access, or a secret value agreed between two nodes.
  • the password may be a string composed of one or more of numbers, letters, symbols, etc. in form, and may be input by means of keyboard, voice, biological information, and the like.
  • the mobile phone terminal can use the "Wi-fi password" to access the router, and the "Wi-fi password” can be understood as the router password.
  • the password can be used in the following scenarios (take the second node requesting access to the first node as an example):
  • the first node is pre-defined or pre-configured with the first password
  • the user of the second node can input the first password in the second node.
  • the second node receives the first password input by the user, and may request to access the first node based on the first password.
  • the vehicle owner configures the first password for the vehicle through the administrator interface.
  • the new smart phone of the car owner needs to access the vehicle, the car owner can input the first password in the new smart phone, and the smart phone can request to access the vehicle according to the input password.
  • the first node predefines or preconfigures the first password.
  • the first password for accessing the first node is also preconfigured in the second node.
  • the second node can use the pre-configured first password to access.
  • the OEM can configure the first password in the CDC of the vehicle, and configure the first password of the CDC in the radar of the vehicle. In this way, when the radar is connected to the CDC of the vehicle, the first password of the CDC can be used. A password to access the CDC.
  • a third-party device (such as a network-side device, a certificate center, an authentication server, etc., which is trusted by the first node) can assign a contract value to the first node and the second node, and the contract value can be accepted by the second node. into the first node. Therefore, the agreed value can be regarded as the access password of the first node.
  • the "authentication”, “verification”, and “verification” mentioned in the various embodiments of this application may represent whether the inspection is correct or reasonable.
  • the “access” mentioned in the embodiments of this application indicates the process of establishing a connection between the first node and the second node. In some specific technical scenarios, "access” may also be described as "association”.
  • FIG. 3 is a schematic diagram of a possible communication system provided by an embodiment of the present application, where the communication system includes a first node 301 and a second node 302 .
  • the second node 302 may request to associate with the first node 301 , and after the association is successful, the first node 301 may communicate with the second node 302 .
  • the link for communication between the first node 301 and the second node 302 may include various types of connection media, including wired links (eg, optical fibers), wireless links, or a combination of wired and wireless links, etc. .
  • it can be a short-range connection technology including 802.11b/g, bluetooth (blue tooth), Zigbee (Zigbee), radio frequency identification technology (radio frequency identification, RFID), ultra wideband (ultra wideband, UWB) technology, wireless short distance technology Communication systems (such as in-vehicle wireless short-range communication systems), etc., and can also be long-distance connection technologies including long-term evolution (Long Term Evolution, long-term evolution)-based communication technologies, 5th generation mobile communication technologies (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 communications system (universal mobile telecommunications system, UMTS) and other wireless access type technologies.
  • 802.11b/g bluetooth (blue tooth), Zigbee (Zigbee), radio frequency identification technology (radio frequency identification, RFID), ultra wideband (ultra wideband, UWB) technology, wireless short distance technology Communication systems
  • the first node may also be called a G node, a control node or an access point
  • the second node may also be called a T node or a terminal.
  • the communication link from the G node to the T node may be referred to as a G link
  • the communication link from the T node to the G node may be referred to as a T link.
  • the first node 301 and the second node 302 may be devices of the same type, or may be devices of different types.
  • FIG. 4 is a schematic diagram of a possible communication scenario.
  • the cockpit domain controller (CDC) 401 of the vehicle is the control center in the intelligent cockpit device of the vehicle, and can be regarded as the first node 401 .
  • the smart phone 402 is a device capable of transmitting and receiving data, and can be regarded as the second node 402 .
  • the CDC 401 can be accessed through Bluetooth, and the smart phone 402 supports the Bluetooth function, so the smart phone 402 can request to access the CDC 401 .
  • Bluetooth technology usually uses digital pairing or direct work (justwork) mode for connection, in digital pairing mode, directly click the logo of CDC401 in smartphone 402, and confirm the pairing number with CDC401, then CDC401 can be connected via Bluetooth.
  • the attacker uses the identity of the smartphone 402 to connect to the CDC 401, it is difficult for the CDC 401 to identify the attacker, which will cause the attacker to successfully connect to the CDC 401, thus threatening the privacy and security of the vehicle.
  • only the scenario of Bluetooth access is taken as an example, and the specific access scenario may also include the case of accessing by other communication technologies.
  • the embodiment of the present application provides the secure access method shown in FIG. 5 .
  • FIG. 5 is a schematic flowchart of a secure access method provided by an embodiment of the present application. Further, the method can be implemented based on the architecture shown in FIG. 3 . The method includes at least the following steps:
  • Step S501 a first message sent by the second node to the first node.
  • the first message includes a first ciphertext, and the first ciphertext is obtained according to the first key negotiation parameter and the security parameter.
  • the key negotiation parameter is a parameter determined during the key negotiation process.
  • the key negotiation parameter sent by the second node to the first node is referred to as the first key negotiation parameter in each embodiment of the present application.
  • the first node and the second node perform key negotiation based on the DH algorithm, using the larger prime number p and random number g as the public key, and the second node according to its own private key (a) and public key (p and g) Determine the calculated value A.
  • the prime number p, prime number g, private key a, and calculated value A can all be regarded as parameters generated by the key negotiation process. Since the calculated value A is determined by the second node and sent to the first node, the calculation The value A can be regarded as the first key agreement parameter.
  • the security parameter is a parameter shared by the first node and the second node.
  • the shared key including pre-shared key, symmetric encryption key, etc.
  • the first password the pre-configured parameters between the first node and the second node, the defined parameters, etc.
  • the pre-shared key is a secret value shared between the first node and the second node.
  • the second node may obtain a PSK shared with the first node by means of pre-defined, pre-configured or generated through mutual negotiation, and the second node may use the PSK to encrypt the message.
  • the first password is an agreed access password between the first node and the second node, which can also be understood as a password preconfigured or pre-defined by the first node to allow the second node to access, or it can be understood as the first password.
  • the secret value agreed between the node and the second node agreed between the node and the second node.
  • Implementation method 1 The second node performs point addition operation on the PSK and the first key negotiation parameter to obtain the first ciphertext. Further, the first node may perform a hash operation on the PSK first, and then perform a point addition operation on the hash value of the PSK and the first key agreement algorithm to obtain the first ciphertext.
  • Points located on the elliptic curve can perform point addition operation, but in the specific implementation process, if the first key negotiation parameter is not a point on the elliptic curve, the first key negotiation parameter can also be first mapped to the point on the elliptic curve , and then perform the point addition operation. Other parameters, such as PSK, hash (PSK), etc., can also be mapped similarly.
  • the second node can use the hash (PSK) as the abscissa (if it exceeds the definition domain, the hash (PSK) can be modulo), and obtain the mapping point R (hash) on the elliptic curve (PSK), y1), perform elliptic curve point addition operation on point R and KEt to obtain point S(x2, y2).
  • the second node may take the abscissa x2 or the ordinate y2 of the point S as C1.
  • the condition that the y value needs to meet can be pre-determined (for example, one y value with the largest absolute value is selected), so as to determine the corresponding point.
  • the first ciphertext can be obtained by using the method of the first implementation.
  • the key agreement algorithm does not belong to the ECDH algorithm, the key agreement parameter can also be mapped to a point on the elliptic curve, so as to obtain the first ciphertext using the point addition operation.
  • Implementation method 2 The second node multiplies the PSK and the first key negotiation parameter to obtain the first ciphertext.
  • the first ciphertext can be obtained by using the method of implementation mode 2.
  • a multiplication operation can also be performed to obtain the first ciphertext.
  • Implementation method 3 The second node uses an encryption algorithm to encrypt the first key negotiation parameter according to the PSK or the hash value of the PSK to obtain the first ciphertext.
  • the second node may derive a key based on the PSK (referred to as a first intermediate key for convenience of description), and encrypt the first key negotiation parameter based on the first intermediate key to obtain the first ciphertext.
  • the freshness parameter (optional parameter, here is just an example).
  • the above-mentioned PSK can also be replaced with a first password, parameters pre-configured between the first node and the second node, parameters pre-defined in the communication protocol, etc., which will not be described one by one.
  • the second node obtains the first ciphertext based on the PSK and the first key agreement parameter. If there is no PSK between the second node and the first node, the second node obtains the first ciphertext according to the first password and the first key negotiation parameter.
  • the above-mentioned first message may further include a freshness parameter (fresh parameter).
  • freshness parameter included in the first message
  • the freshness parameter includes at least one of a random number, a count value, a serial number, and the like.
  • the first node may broadcast the message, and correspondingly, the second node may receive the broadcasted message of the first node.
  • the second node sends the first information to the first node based on the message broadcasted by the first node.
  • the message broadcasted by the first node may carry indication information of the key agreement algorithm supported by the first node (or referred to as the key agreement algorithm capability of the first node).
  • the second node may determine one of the key agreement algorithms supported by the first node as the algorithm used when performing key negotiation with the first node.
  • the first message may also carry the identifier of the key agreement algorithm selected by the second node.
  • the second node sends the first message to the first node.
  • the first node receives the first message from the second node.
  • the first message may also be referred to as an access request message (or access request information), and may also be referred to as an association request message (also referred to as association request information in a specific scenario).
  • an access request message or access request information
  • an association request message also referred to as association request information in a specific scenario.
  • the various embodiments of the present application do not limit the name of the message or the information, and only describe and express the content of the message exemplarily, and the name of the message can be arbitrarily replaced.
  • Step S502 The first node decrypts the first ciphertext according to the security parameter to obtain the first key negotiation parameter.
  • the first ciphertext is obtained based on the security parameter and the first key negotiation parameter
  • the security parameter is a parameter that can be obtained by both the first node and the second node. Therefore, the first node can decrypt the first ciphertext according to the security parameter. A ciphertext to obtain the first key negotiation parameter.
  • the present application exemplifies the following implementation manners for decrypting the first ciphertext:
  • Implementation mode 1 The first node performs an elliptic point subtraction operation on the first ciphertext and the PSK (or the hash value of the PSK) to obtain the first key negotiation parameter.
  • Implementation mode 2 The first node performs a division operation on the first ciphertext and the PSK (or the hash value of the PSK) to obtain the first key negotiation parameter.
  • Implementation mode 3 The first node uses an encryption algorithm, and uses the PSK or the hash value of the PSK as the input of the encryption algorithm to decrypt the first ciphertext.
  • the first node deduces the first intermediate key based on the PSK, decrypts the first ciphertext by using the first intermediate key, and obtains the first key negotiation parameter.
  • Step S503 The first node determines the first shared key according to the first key agreement parameter and the key agreement algorithm.
  • the key agreement algorithm is a key agreement algorithm pre-agreed by the first node and the second node, or the second node may carry the identifier of the key agreement algorithm in the first message to indicate which key to use Negotiation algorithm.
  • This application exemplifies several ways to determine the first shared key according to the first key agreement parameter and the key agreement algorithm:
  • the first node may determine the private key of the first node, and determine the exchange key according to the first key negotiation parameter and the private key of the first node based on the key agreement algorithm.
  • the exchange key can be used as the first shared key.
  • FIG. 6 is a schematic flowchart of determining an exchange key (first shared key) provided by an embodiment of the present application.
  • the first The node can input the first key negotiation parameter KEt into the DH algorithm.
  • the first node determines the random number b (as the private key of the first node), based on the random number b, the first key negotiation parameter
  • the exchange key KKE can be determined.
  • the first node may input the first key negotiation parameter KEt into the ECDH algorithm, and according to the flow of the ECDH algorithm, the first node determines the random number b (as the private key of the first node), The exchange key KKE is determined based on the random number b, the elliptic curve.
  • the key agreement algorithm may be encapsulated into a calculation process, the input is the first key agreement parameter, and the output is the first shared key.
  • the steps of determining the private key and calculating and exchanging the key may also be performed by different calculation processes.
  • the first node may determine the private key of the first node, and determine the exchange key according to the first key negotiation parameter and the private key of the first node based on the key agreement algorithm.
  • the first node determines the first shared key based on the exchange key and the freshness parameter.
  • the first node may determine the exchange key K KE based on the method described in the first manner, and determine the first shared key Kgt based on the exchange key K KE .
  • the exchange key since the first shared key (hereinafter referred to as the first shared key Kgt) obtained in the second way is determined based on the exchange key K KE , in the scheme described in the first way, the exchange key will be The key is used as the first shared key, so for the convenience of description, the first shared key kgt is described as the second shared key in the claims. It can be understood that “first” and “second” in this application are only for distinguishing parameters, and not as limitations on the names of specific parameters.
  • the secure access method shown in FIG. 5 includes one or more steps from step S504 to step S509, and steps S504 to S509 are specifically as follows:
  • Step S504 The first node obtains a pre-shared key (PSK) between the first node and the second node.
  • PSK pre-shared key
  • the PSK is a secret value shared between the first node and the second node.
  • Two possible situations in which the first node obtains the PSK between the first node and the second node are exemplified below:
  • Case 1 There is a corresponding relationship between the PSK and the identity of the second node in the first node. That is to say, in the first node, the PSK between the first node and the second node may correspond to the identity of the second node. The first node may obtain the corresponding PSK according to the corresponding relationship according to the identity identifier of the second node.
  • the identity identifier of the second node may be the ID of the second node, a media access control (media access control, MAC) address, a domain name, a domain address or other self-defined identifiers, also referred to as the device identifier of the second node.
  • the second node may carry the identity of the second node in the first message, so that the first node may obtain the identity of the second node.
  • the correspondence between the PSK and the identity of the second node may be a pre-configured and predefined correspondence in the first node, or the first node and the second node may generate a PSK through negotiation. The corresponding relationship saved later.
  • the form of the corresponding relationship may be one or more of a corresponding relationship set, a data table, a database, etc., which is not limited in this application.
  • Table 1 is a possible set of correspondences between PSKs and second node identities exemplified in the embodiments of the present application, and the correspondence set includes multiple identities of second nodes, corresponding PSKs, and PSKs type. For example, for the second node whose identity is "ID1", the first node may determine that its corresponding PSK is "PSK1" according to the temporary ID being "ID1.1". Further, the type of "PSK1" is pre-configured.
  • Table 1 The set of correspondence between PSK and the identity of the second node
  • PSK type ID1 (temporary ID1.1) PSK1 preconfigured ID2 (temporary ID2.1) PSK2 generate ID3 (temporary ID3.1) PSK3 generate
  • the pre-configured PSK in the first node is the same as the PSK pre-configured in the second node; in the case of saving the corresponding relationship after the PSK is generated, the first node and The method for generating the PSK by the second node and the parameters used are also the same.
  • the PSK and the identity of the second node in the first node it can indicate that the second node has accessed the first node before or that the first node is pre-configured with the first node. The PSK between the two nodes, so the first node can obtain the PSK according to the corresponding relationship.
  • step S504 can also be performed before step S502, and the PSK can be used to decrypt the first ciphertext.
  • the order of execution of other steps in this application can also be changed without affecting the implementation of the solution.
  • the first node generates a PSK with the second node.
  • the parameters for generating the PSK may include the first password, the first shared key (specifically, the exchange key K KE or the shared key kgt), the first freshness parameter, the second freshness parameter, the first node's One or more of an identity, an identity of the second node, and the like.
  • the parameters for generating PSK may include the first password, the first shared key (specifically, the exchange key K KE or the shared key kgt), the first freshness parameter, the second freshness parameter, the first node's One or more of an identity, an identity of the second node, and the like.
  • the first node determines a random number and uses the random number as the PSK between the first node and the second node.
  • the first message includes the first freshness parameter
  • the first node generates the PSK according to the first freshness parameter and the freshness parameter determined by the first node.
  • the first node generates a PSK according to the first password.
  • IDt, IDg, NONCEt, NONCE g, and Kgt are optional parameters, and Kgt may also be replaced by the aforementioned exchange key K KE .
  • the PSK generated by the first node can satisfy:
  • PSK KDF(pw, IDt, IDg, NONCEt, NONCEg, KDF(K KE , NONCEt, NONCEg).
  • the corresponding relationship between the PSK and the identity of the second node may be saved.
  • Step S505 the first node obtains the first identity authentication information according to the first shared key and/or the PSK.
  • the first identity authentication information is used to authenticate the identity of the first node.
  • the first node may send the first identity authentication information to other nodes (eg, the second node), and the other nodes may determine the identity of the first node according to the first identity authentication information.
  • This application exemplifies the following three implementations for obtaining the first identity authentication information:
  • Implementation manner 1 the first node determines the first identity authentication information according to the pre-shared key PSK.
  • the optional parameters participating in the generation of the first identity authentication information may also include the first shared key (which can be KKE or kgt ), the first message, and the second message where the first identity information is located (will be carried out hereinafter. description), the identifier of the key agreement algorithm supported by the first node (or called the key agreement algorithm capability of the first node), the identifier of the key agreement algorithm supported by the second node (or called the key of the second node) One or more of Negotiation Algorithm Capability).
  • the above message may be the entire message, or may be part of the parameters in the message. For example, the entire first message may be used as a parameter, or the first freshness parameter in the first message may be used as a parameter.
  • PSK the first message
  • the second message may be where the first identity authentication information is located message (described below).
  • other nodes such as the second node
  • Implementation mode 2 The PSK in implementation mode 1 may also be replaced with an exchange key K KE or a first shared key Kgt.
  • Implementation mode 3 The first node determines a first key (or called an identity authentication key) according to the first shared key and/or PSK, and generates the first identity authentication information according to the first key. Understandably, when generating the first identity authentication information, the PSK or the first shared key is not directly used, but the first key obtained based on the PSK and/or the first shared key is used, so that the PSK, the first shared key can be protected. The security of the first shared key improves the security of the PSK and the first shared key.
  • the first node may determine the first key (Kauth) according to the first shared key and/or PSK, and may have the following designs:
  • Kauth KDF(K KE , NONCEt, NOCNEg, IDg, IDt, "authentication")
  • authentication is an optional key identifier, which may be pre-configured or specified in the protocol as a key identifier during specific implementation.
  • NONCEt, NOCNEg, IDg, IDt, and “authentication” are optional parameters, and the specific meaning can refer to the foregoing description.
  • Kauth KDF(KKE
  • may represent string connection (only an example, and the connection may not be performed in the specific implementation process, for example, as two input parameters respectively).
  • NONCEt, NOCNEg, IDg, IDt, and “authentication” are optional parameters, and the specific meaning can refer to the foregoing description.
  • Design 3 K KE in designs 1 and 2 can also be replaced with Kgt derived from K KE . Further, the method of determining the first key Kauth satisfies:
  • Kauth KDF[KDF(K KE ,NONCEt,NONCEg)
  • the first node can also derive the encryption key and the integrity protection key through the method shown in Design 1-3.
  • the encryption key Kenc determined by the first node can satisfy:
  • Kenc KDF(KKE
  • the integrity protection key Kmac determined by the first node can satisfy:
  • Kmac KDF(KKE
  • Step S506 The first node sends a second message to the second node.
  • the second message includes a second ciphertext, and the second ciphertext is obtained according to the second key negotiation parameter and the security parameter.
  • the second message may further include first identity authentication information.
  • the key negotiation parameter sent by the first node to the second node is referred to as the second key negotiation parameter.
  • the second key negotiation parameter is usually determined by the first node according to the private key of the first node.
  • the security parameter is a parameter shared by the first node and the second node, for example, a shared key (including a pre-shared key, a symmetric encryption key, etc.) of the first node and the second node, the first node and the second node.
  • a shared key including a pre-shared key, a symmetric encryption key, etc.
  • Implementation method 1 The first node performs point addition operation on the PSK (or the hash value of the PSK) and the second key negotiation parameter to obtain the second ciphertext.
  • Implementation method 2 The first node multiplies the PSK (or the hash value of the PSK) and the second key negotiation parameter to obtain two ciphertexts.
  • Implementation method 3 The first node uses an encryption algorithm to encrypt the second key negotiation parameter according to the PSK or (or the hash value of the PSK) to obtain the second ciphertext.
  • the first node may deduce the first intermediate key based on the PSK or the hash value of the PSK, and use the first intermediate key to encrypt the second key negotiation parameter.
  • the above-mentioned PSK can also be replaced with a first password, parameters pre-configured between the first node and the second node, parameters pre-defined in the communication protocol, etc., which will not be described in detail.
  • the first node in the case that there is a PSK between the first node and the second node, the first node obtains the second ciphertext based on the PSK and the first key agreement parameter. If there is no PSK between the first node and the second node, the first node obtains the second ciphertext according to the first password and the second key negotiation parameter.
  • the first node if the second node uses a method to obtain the first ciphertext, the first node also uses a corresponding method to obtain the second ciphertext, which is convenient for encryption and decryption.
  • the second message may further include a freshness parameter (fresh parameter) determined by the second node.
  • freshness parameter freshness parameter
  • the freshness parameter included in the second message is referred to as the second freshness parameter.
  • the freshness parameter includes at least one of a random number, a count value, a serial number, and the like.
  • the second message may further include a message authentication code (message authentication code, MAC).
  • MAC message authentication code
  • the MAC is a message authentication code generated according to an integrity protection algorithm, and is used to protect the integrity of the second message.
  • the first node sends the second message to the second node.
  • the second node receives the second message from the first node.
  • the second message may also be referred to as authentication request message, security context request message, identity authentication request message, or authentication request information, security context request information, and identity authentication request information.
  • Step S507 The second node decrypts the second ciphertext according to the security parameters to obtain second key negotiation parameters.
  • the second ciphertext is obtained based on the security parameters and the first key negotiation parameters, so the second node can decrypt the second ciphertext according to the security parameters to obtain the second key negotiation parameters.
  • the present application exemplifies the following implementation manners to decrypt the second ciphertext:
  • Implementation mode 1 The second node performs a point subtraction operation on the second ciphertext and the PSK (or the hash value of the PSK) to obtain the second key negotiation parameter.
  • Implementation mode 2 The second node performs a division operation on the second ciphertext and the PSK (or the hash value of the PSK) to obtain the second key negotiation parameter.
  • Implementation mode 3 The second node uses an encryption algorithm, and uses the PSK (or the hash value of the PSK) as the input of the decryption algorithm to decrypt the second ciphertext.
  • the second node may deduce the first intermediate key based on the PSK, and use the first intermediate key to decrypt the second ciphertext.
  • Step S508 The second node determines the first shared key according to the second key agreement parameter and the key agreement algorithm.
  • the key agreement algorithm is a key agreement algorithm pre-agreed by the first node and the second node, or the second node may determine the key agreement process from one or more key agreement algorithms supported by the first node according to requirements. or the first node may carry the identifier of the key agreement algorithm in the message sent to the second node to indicate which key agreement algorithm to use.
  • This application exemplifies several ways to determine the first shared key according to the second key agreement parameter and the key agreement algorithm:
  • the second node determines the private key of the second node, and determines the exchange key according to the second key agreement parameter and the private key of the second node based on the key agreement algorithm.
  • the exchange key can be used as the first shared key.
  • the second node may determine the exchange key according to the second key negotiation parameter and the private key of the second node.
  • the second node determines the first shared key based on the exchange key and the freshness parameter.
  • Step S509 the second node obtains the second identity authentication information according to the first shared key and/or the PSK.
  • the PSK is a secret value shared between the first node and the second node.
  • the PSK may be generated based on the freshness parameter from the second node and the freshness parameter from the first node, or may be preconfigured and predefined in the first node and the second node.
  • the second node Before determining the second identity authentication information, the second node may first obtain the PSK with the first node. Two possible situations in which the second node obtains the PSK between the first node and the second node are exemplified below:
  • Case 1 There is a corresponding relationship between the PSK and the first node's identity in the second node, and the second node can obtain the corresponding PSK according to the corresponding relationship according to the identity of the first node.
  • the form of the corresponding relationship may be one or more of a corresponding relationship set, a data table, a database, etc., which is not limited in this application. For details, refer to the relevant description on the first node side in step S504, which is not repeated here.
  • step S509 may also be performed before step S501, and the PSK may be used to encrypt the first key negotiation parameter.
  • the second node generates a PSK with the first node.
  • the parameters for generating the PSK may include one of the first password, the first shared key, the first freshness parameter, the second freshness parameter, the identity of the first node, the identity of the second node, etc. or multiple.
  • the parameters for generating the PSK may include one of the first password, the first shared key, the first freshness parameter, the second freshness parameter, the identity of the first node, the identity of the second node, etc. or multiple.
  • the second node obtains the second identity authentication information according to the first shared key and/or the PSK, which may be implemented in at least the following three ways:
  • Implementation mode 1 the second node obtains the second identity authentication information according to the PSK.
  • the optional parameters participating in the generation of the second identity authentication information may also include the first shared key (which may be KKE or kgt ), the first message, the second message, and the third message where the second identity authentication information is located. (described below), one or more of the key agreement algorithm capability of the first node, and the key agreement algorithm capability of the second node.
  • the above message may be the entire message, or may be part of the parameters in the message. For example, the entire second message may be used as a parameter, or the second freshness parameter (NONCEt) in the second message may be used as a parameter.
  • other nodes such as the first node
  • AUTHg AUF (PSK, K KE , second message, NONCEt, key agreement algorithm capability of the first node).
  • Implementation mode 2 The PSK in implementation mode 1 may be replaced with the aforementioned exchange key K KE or the first shared key Kgt.
  • the second node determines a first key (or called an identity authentication key) according to the first shared key and/or PSK, and generates second identity authentication information according to the first key. That is to say, Kgt in the first implementation manner can be replaced with the first key Kauth.
  • the PSK or the first shared key is not directly used, but the first key obtained based on the PSK or the first shared key is used, so that the PSK and the first shared key can be improved. Security of keys.
  • AUTHt KDF(Kauth, the first message, the second message, some parameters in the third message, the key agreement algorithm capability of the first node)
  • the secure access method described in this embodiment of the present application may further include one or more steps from step S510 to step S514 shown in FIG. 7 , and step S510 to step S514 are specifically as follows:
  • Step S510 The second node authenticates the identity of the first node according to the first identity authentication information.
  • the second node can authenticate the identity of the first node according to the first identity information .
  • the second node should also use the same parameters to generate the verification information. If the verification information is the same as the first identity authentication information If the information is the same, the verification is considered to be passed.
  • the second node can authenticate the first node's identity authentication information according to the first shared key and/or PSK and the first identity authentication information. identity. Specifically, if the verification information generated by the second node according to the first shared key and/or the PSK is the same as the first identity authentication information, it is determined that the identity authentication of the first node has passed.
  • the second node may disconnect the communication connection with the first node or discard the second message, and further may re-send the first message to the first node.
  • the verification of the first identity authentication information fails, it means that the first shared key (PSK) in the second node is different from the first shared key (PSK) of the second node, so the identity of the first node is not credible,
  • the first node may be a node disguised by the attacker, so the second message is discarded and the first message is re-sent to the first node to avoid accessing an untrusted node.
  • step S510 may also be executed before step S509.
  • the order of execution of other steps in this application can also be changed without affecting the implementation of the solution.
  • Step S511 The second node sends a third message to the first node.
  • the third message carries the second identity authentication information.
  • the second identity authentication information may be the second identity authentication information determined in the foregoing step S509.
  • the second node sends the third message to the first node, and correspondingly, the first node receives the third message from the second node.
  • Step S512 The first node authenticates the identity of the second node according to the second identity authentication information.
  • the first node can also obtain the first shared key and/or PSK to verify the second identity Certification Information.
  • the first node should also use the same parameters to generate the verification information. If the verification information is the same as the second identity authentication information If the information is the same, the verification is considered to be passed.
  • the first node can authenticate the second node's identity authentication information according to the first shared key and/or PSK and the second identity authentication information. identity. Specifically, if the verification information generated by the first node according to the first shared key and/or the PSK is the same as the second identity authentication information, it is determined that the identity authentication of the first node has passed.
  • the first node may disconnect the communication connection with the first node. If the verification of the second identity authentication information is passed, it means that the identity of the second node is credible, and the first node can communicate with the second node.
  • Step S513 The first node sends a fourth message to the second node.
  • the fourth message is used to indicate that the second node association has been established, or to indicate that the second node has successfully accessed or to indicate that its identity has been successfully verified, and so on.
  • the second node may receive the fourth message from the first node.
  • the fourth message may be referred to as an association establishment message (also referred to as an association completion message in a specific scenario).
  • the second node encrypts the first key negotiation parameter through the security parameter (the security parameter may be PSK or the first password) to obtain the first ciphertext, because the first node is preconfigured with Alternatively, the same security parameters can be obtained, so the first node can decrypt the first ciphertext to obtain the first key negotiation parameters, and can subsequently generate the shared key based on the first key negotiation parameters. Since the shared key cannot be generated without obtaining the security parameters, the second node cannot access the first node, so it can prevent an attacker from accessing the first node through the second node and prevent the first node from successfully associating with an attacker whose identity is untrustworthy.
  • the security parameter may be PSK or the first password
  • FIG. 5 and FIG. 7 The method embodiments shown in FIG. 5 and FIG. 7 above include many possible implementation solutions. Some implementation solutions are illustrated below with reference to FIG. 8 . It should be noted that related concepts and operations not explained in FIG. 8 Or for the logical relationship, reference may be made to the corresponding descriptions in the embodiments shown in FIG. 5 and FIG. 7 .
  • FIG. 8 is a secure access method provided by an embodiment of the present application
  • FIG. 9 is a schematic diagram of the operation of a possible secure access method. The method may be based on the architecture shown in FIG. 3 . to fulfill.
  • the secure access method may include the following steps:
  • Step S801 The second node encrypts the first key negotiation parameter according to the security parameter to obtain the first ciphertext.
  • the first key negotiation parameter is determined according to the private key of the second node.
  • the second node may determine the first key agreement parameter KEt according to the private key a and the base point G.
  • the second node may encrypt the first key negotiation parameter KEt by using the security parameter 901 to obtain the first ciphertext C1.
  • the security parameter 901 may be used for the specific encryption method.
  • Step S802 The second node sends the first message to the first node.
  • the first message includes the identity identifier of the second node, the first ciphertext, and the first freshness parameter NONCEt.
  • Step S803 The first node decrypts the first ciphertext to obtain the first key negotiation parameter.
  • the first ciphertext is obtained based on the security parameters and the first key negotiation parameters, so the first node can decrypt the first ciphertext according to the security parameters to obtain the first key negotiation parameters.
  • the security parameter 901 is a parameter shared between the first node and the second node
  • the first node can decrypt the first ciphertext C1 according to the security parameter 901 to obtain the first key agreement parameter KEt.
  • the specific decryption method reference may be made to the detailed description in step S502, which will not be repeated here.
  • Step S804 The first node encrypts the second key negotiation parameter according to the security parameter to obtain the second ciphertext.
  • the second key negotiation parameter is determined according to the private key of the first node.
  • the first node may determine the second key agreement parameter KEg according to the private key b and the base point G.
  • the specific encryption method reference may be made to the detailed description in step S506, which will not be repeated here.
  • Step S805 The first node determines the first shared key according to the first key agreement parameter, the first freshness parameter and the second freshness parameter based on the key agreement algorithm.
  • the first node may determine the exchange key K KE according to the private key b of the first node and the first key negotiation parameter KEt.
  • the first shared key Kgt is determined according to the exchange key K KE , the first freshness parameter NONCEt and the second freshness parameter NONCEg.
  • the first freshness parameter NONCEt and the second freshness parameter NONCEg are optional parameters (parameters, steps, etc. shown with dotted lines in FIG. 9 are optional parameters and steps).
  • Step S806 The first node determines the identity authentication key according to the first shared key and/or the PSK between the first node and the second node.
  • step S504 please refer to the relevant description in step S504, which will not be repeated here.
  • the identity authentication key Kauth generated by the first node can satisfy:
  • can represent a string connection (only an example, the connection may not be performed in the specific implementation process, such as two input parameters respectively), Kgt is the first shared key, and NONCEt is the first freshness parameter.
  • NOCNEg is the second freshness parameter
  • IDg is the identity of the first node
  • IDt is the identity of the second node
  • authentication is a string (which may be predefined or configured, or specified by a protocol).
  • NONCEt, NOCNEg, IDg, IDt, and "authentication” are optional parameters, and the first shared key Kgt may also be replaced with an exchange key K KE .
  • Step S807 The first node determines the first identity authentication information according to the identity authentication key and at least one of the first message and the second message.
  • Step S808 The first node sends a second message to the second node.
  • the second message includes the second ciphertext, the second freshness parameter and the first identity authentication information.
  • Step S809 The second node decrypts the second ciphertext to obtain second key negotiation parameters.
  • the second ciphertext is obtained based on the security parameters and the second key negotiation parameters, so the second node can decrypt the second ciphertext according to the security parameters to obtain the second key negotiation parameters.
  • the security parameter 902 is a parameter shared between the first node and the second node
  • the first node can decrypt the first ciphertext C1 according to the security parameter 902 to obtain the second key agreement parameter KEt.
  • the specific decryption method reference may be made to the detailed description in step S507, which will not be repeated here.
  • the security parameter 901 and the security parameter 902 are usually the same parameter.
  • the second node uses the first password as the security parameter 901
  • the first node also uses the first password as the security parameter 902 .
  • the security parameter 901 and the security parameter 902 may not be the same parameter.
  • the first node uses the first public key as the security parameter 901
  • the second node uses the first private key as the security parameter 902
  • the first node uses the first public key as the security parameter 901.
  • a public key and a first private key are a public-private key pair.
  • Step S810 Based on the key agreement algorithm, the second node determines the first shared key according to the second key agreement parameter, the first freshness parameter and the second freshness parameter.
  • the second node may determine the exchange key K KE according to the private key a of the second node and the second key agreement parameter KEg.
  • the first shared key Kgt is determined according to the exchange key K KE , the first freshness parameter NONCEt and the second freshness parameter NONCEg.
  • the first freshness parameter NONCEt and the second freshness parameter NONCEg are optional parameters.
  • Step S811 The second node determines the identity authentication key according to the first shared key and the PSK between the first node and the second node.
  • step S504 please refer to the relevant description in step S504, which will not be repeated here.
  • Step S812 The second node verifies the first identity authentication information according to the identity authentication key and at least one of the first message and the second message.
  • step S510 For details, refer to the relevant description in step S510, which is not repeated here.
  • Step S813 The second node determines the second identity authentication information according to the identity authentication key and at least one of the first message, the second message and the third message.
  • Step S814 The second node sends a third message to the first node, where the third message includes the second identity authentication information.
  • the third message may be encrypted using the encryption key 903 .
  • the encryption key can be derived from the first shared key and the PSK.
  • the third message may also use an integrity protection key for integrity protection.
  • Step S815 The first node verifies the second identity authentication information according to the identity authentication key and at least one of the first message, the second message and the third message.
  • step S512 For details, please refer to the relevant description in step S512.
  • Step S816 The first node sends a fourth message to the second node.
  • the fourth message may be encrypted using the encryption key 903 .
  • the fourth message may also use an integrity protection key for integrity protection.
  • FIG. 10 is a schematic structural diagram of a communication apparatus 100 provided by an embodiment of the present application.
  • the apparatus 100 may be a node, which may be referred to as a first node for convenience of description.
  • the apparatus 100 may also be a device in the first node, such as a chip or an integrated circuit, and the apparatus 100 may include a receiving unit 1001 and a processing unit 1002 .
  • the communication device 100 is used to implement the aforementioned secure access method, for example, the secure access method of any one of the embodiments shown in FIG. 5 , FIG. 7 or FIG. 8 .
  • the receiving unit 1001 is configured to receive a first message from the second node, where the first message includes a first ciphertext, and the first ciphertext is based on the security parameter and the first ciphertext obtained from key negotiation parameters; the security parameter is the pre-shared key PSK between the first node and the second node or the first password; the first password is the password between the first node and the second node The agreed access password; wherein, the PSK between the first node and the second node is a secret value shared between the first node and the second node, and the first password can be regarded as the second node's access to the first node. password.
  • a processing unit 1002 configured to decrypt the first ciphertext according to the security parameter to obtain the first key agreement parameter
  • the processing unit 1002 is further configured to determine the first shared key according to the first key agreement parameter and the key agreement algorithm.
  • the second node encrypts the first key negotiation parameter by using a security parameter (the security parameter may be a PSK or a first password).
  • the security parameter may be a PSK or a first password.
  • the above-mentioned communication device may be pre-configured with the same security parameter or may obtain the same security parameter, so the first ciphertext may be decrypted to obtain the first key agreement parameter, and the shared key may be subsequently generated based on the first key agreement parameter. Since the shared key cannot be generated without obtaining the security parameters, the second node cannot access the first node, so it can prevent an attacker from accessing the first node through the second node and prevent the first node from successfully associating with an attacker whose identity is untrustworthy.
  • processing unit 1002 is further configured to:
  • first identity authentication information according to the first shared key and the PSK between the first node and the second node, where the first identity authentication information is used to authenticate the identity of the first node.
  • the above communication apparatus 100 may obtain first identity authentication information according to the first shared key and the PSK, where the first identity authentication information may be used to authenticate the identity of the first node.
  • This application exemplifies a method for authenticating the identity of the first node through the first identity information: the second node determines the first shared key, and generates verification information according to the first shared key and the PSK. If the identity authentication information is the same, it means that the first shared key and PSK between the first node and the second node are the same, so that the identity of the first node can be authenticated, the communication between the node and the attacker can be avoided, and the security of the node can be improved.
  • processing unit 1002 is specifically configured to:
  • the first node can store the corresponding relationship between the PSK and the second node in the form of a corresponding relationship. Therefore, the above communication apparatus 100 can obtain the PSK between the first node and the second node according to the first relationship.
  • the PSK is determined according to the first password, the first shared key, the first random number and the second random number.
  • the first node associates with the second node for the first time or the first node does not acquire the first correspondence, there is no PSK corresponding to the identity of the second node in the first node. Therefore, there is no PSK in the first node.
  • the above-described communication apparatus 100 can determine a new PSK.
  • processing unit 1002 is specifically configured to:
  • the PSK between the first node and the second node is determined according to the first password, the second shared key, the first random number, and the second random number.
  • the first ciphertext is obtained according to the hash value of the security parameter and the first key negotiation parameter; the processing unit 1002 is specifically configured to:
  • the first ciphertext is obtained by adding the hash value of the security parameter and the first key agreement parameter through an elliptic curve point addition operation; the processing unit 1002 is specifically configured to :
  • the first key agreement parameter is obtained through an elliptic curve point subtraction operation.
  • processing unit 1002 is specifically configured to:
  • processing unit 1002 is specifically configured to:
  • the first key is derived from the first shared key, the PSK, the first random number and the second random number;
  • the first identity authentication information is generated according to the first key, the first random number and the second random number, where the first identity authentication information is used to authenticate the identity of the first node.
  • the processing unit 1002 is further configured to encrypt a second key negotiation parameter according to the security parameter to obtain a second ciphertext;
  • the apparatus 100 further includes a sending unit 1003, configured to send a second message to the second node, where the second message includes the first identity authentication information and the second ciphertext; the second ciphertext uses The first shared key is determined at the second node.
  • a sending unit 1003 configured to send a second message to the second node, where the second message includes the first identity authentication information and the second ciphertext; the second ciphertext uses The first shared key is determined at the second node.
  • the second key negotiation parameter is used by the second node to determine the shared key. It can be seen that the above communication device 100 can encrypt the second key negotiation parameter based on the security parameter, and the second key negotiation parameter can be decrypted to generate the shared key only after the security parameter is cracked, so as to avoid the attacker disguising the access of the second node.
  • the above-mentioned apparatus 100 ensures the security of the key negotiation process.
  • the receiving unit 1001 is further configured to receive a third message from the second node, where the third message includes second identity authentication information;
  • the processing unit 1002 is further configured to determine the identity of the second node according to the PSK between the first node and the second node, the first shared key and the second identity authentication information Certification passed.
  • the above describes a method for authenticating the identity of the second node.
  • the second identity authentication information is generated by the second node according to the PSK and the first shared key. Therefore, the above communication device 100 according to the PSK, the first shared key and the second The identity authentication information can determine whether the first shared key and PSK in the second node are the same as those of the first node, so that the identity of the second node can be authenticated.
  • the foregoing first message may also be referred to as an access request message (or an association request message).
  • the second message may also be referred to as a security context request message (or an identity authentication request message).
  • the third message may also be referred to as a security context response message (or an authentication response message).
  • the sending unit 1003 is further configured to send a fourth message to the second node, where the fourth message is used to indicate that the access is successful or that the association is completed.
  • the fourth message may be referred to as an association establishment message (or an access association complete message), an association complete message, and the like.
  • each unit may also correspond to the corresponding description of the embodiment shown in FIG. 5 or FIG. 8 .
  • the communication apparatus 100 may be the first node in the embodiment shown in FIG. 5 or FIG. 8 .
  • the division of multiple units or modules is only a logical division based on functions, and is not a limitation on the specific structure of the apparatus.
  • some of the functional modules may be subdivided into more small functional modules, and some functional modules may also be combined into one functional module, but no matter whether these functional modules are subdivided or combined, the device 100 is in the safe connection.
  • the general process performed in the process of entering is the same.
  • the receiving unit 1001 and the sending unit 1003 in the above apparatus 100 may also be integrated into a communication unit, and the communication unit may implement the functions implemented by the receiving unit 1001 and the sending unit 1003 .
  • each unit corresponds to its own program code (or program instruction), and when the program code corresponding to each of these units runs on the processor, the unit is controlled by the processing unit to execute the corresponding process to realize the corresponding function.
  • FIG. 11 is a schematic structural diagram of a communication apparatus 110 provided by an embodiment of the present application.
  • the apparatus 110 may be a node, which may be referred to as a second node for convenience of description.
  • the apparatus 110 may also be a device in the first node, such as a chip or an integrated circuit, and the apparatus 110 may include a sending unit 1101 , a receiving unit 1102 and a processing unit 1103 .
  • the communication device 110 is configured to implement the aforementioned secure access method, for example, the secure access method of any one of the embodiments shown in FIG. 5 , FIG. 7 or FIG. 8 .
  • the sending unit 1101 is configured to send a first message to the first node, where the first message includes a first ciphertext, and the first ciphertext is based on a security parameter and a first key negotiated parameters;
  • the security parameter is the pre-shared key PSK between the first node and the second node or the first password;
  • the first password is the agreement between the first node and the second node access password;
  • a receiving unit 1102 configured to receive a second message from the first node, where the second message includes a second ciphertext; the second ciphertext is obtained by encrypting a second key negotiation parameter according to the security parameter ;
  • a processing unit 1103, configured to decrypt the second ciphertext according to the security parameter to obtain the second key negotiation parameter
  • the processing unit 1103 is further configured to determine the first shared key according to the second key agreement parameter and the key agreement algorithm
  • the processing unit 1103 is further configured to obtain second identity authentication information according to the first shared key and the PSK between the first node and the second node, where the second identity authentication information is used for authentication the identity of the second node.
  • the above-mentioned communication device 110 encrypts the first key negotiation parameter through the security parameter (the security parameter may be a PSK or a first password) before sending it to the first node, and the corresponding , the first node also encrypts the second key negotiation parameter through the security parameter.
  • the two communicating parties can decrypt the ciphertext through the security parameters, and generate a shared key based on the key negotiation parameters. Since the shared key cannot be generated without obtaining the security parameter, the second node cannot access the first node, so the access of the second node to the untrusted first node can be avoided, and the security of the second node can be improved.
  • processing unit 1103 is further configured to:
  • processing unit 1103 is specifically configured to:
  • the corresponding relationship between the PSK and the first node can be stored in the form of a corresponding relationship. Therefore, the above-mentioned communication apparatus 110 can obtain the PSK between the first node and the second node according to the corresponding relationship.
  • the PSK is determined according to the first password, the first shared key, the first random number and the second random number.
  • the above communication device 110 may determine the new PSK in the manner described above.
  • processing unit 1103 is specifically configured to:
  • the PSK between the first node and the second node is determined according to the first password, the second shared key, the first random number, and the second random number.
  • processing unit 1103 is further configured to:
  • the first key agreement parameter is encrypted according to the security parameter to obtain the first ciphertext.
  • processing unit 1103 is specifically configured to:
  • the first ciphertext is obtained by performing an elliptic curve point addition operation
  • the first key agreement parameter is encrypted according to the first intermediate key to obtain the first ciphertext.
  • processing unit 103 is specifically configured to:
  • the first key is derived from the first shared key, the PSK, the first random number and the second random number;
  • the second identity authentication information is generated according to the first key, the first random number and the second random number, where the first identity authentication information is used to authenticate the identity of the first node.
  • the second message further includes first identity authentication information; the processing unit 1103 is further configured to:
  • the PSK between the first node and the second node the first shared key and the first identity authentication information, it is determined that the identity authentication of the first node is passed.
  • the above describes a method for authenticating the identity of the first node.
  • the first identity authentication information is generated by the first node according to the PSK and the first shared key. Therefore, according to the PSK, the first shared key and the first identity authentication information, the It is determined whether the first shared key and PSK in the first node are the same as the second node side, so that the identity of the first node can be authenticated.
  • the timing for authenticating the identity of the first node may be periodic or aperiodic, or the identity of the first node may also be authenticated before some important operations are performed, depending on the specific implementation.
  • the foregoing first message may also be referred to as an access request message (or an association request message).
  • the second message may also be referred to as a security context request message (or an identity authentication request message).
  • the third message may also be referred to as a security context response message (or an authentication response message).
  • the receiving unit 1102 is further configured to receive a fourth message from the first node, where the fourth message is used to indicate that the access is successful or that the association is completed.
  • the fourth message may be referred to as an association establishment message (or an access association complete message), an association complete message, and the like.
  • each unit may also correspond to the corresponding description of the embodiment shown in FIG. 5 or FIG. 8 .
  • the communication apparatus 110 may be the second node in the embodiment shown in FIG. 5 or FIG. 8 .
  • FIG. 12 is a schematic structural diagram of a communication apparatus 120 provided by an embodiment of the present application.
  • the communication apparatus 120 may be a node or a device in a node, such as a chip or an integrated circuit.
  • the apparatus 120 may include at least one processor 1202 and a communication interface 1204. Further optionally, the communication apparatus may further include at least one memory 1201 . Further optionally, a bus 1203 may also be included, wherein the memory 1201 , the processor 1202 and the communication interface 1204 are connected through the bus 1203 .
  • the memory 1201 is used to provide a storage space, and data such as an operating system and a computer program can be stored in the storage space.
  • the memory 1201 may be random access memory (RAM), read-only memory (ROM), erasable programmable read only memory (EPROM), or portable read-only memory One or more combinations of memory (compact disc read-only memory, CD-ROM), etc.
  • the processor 1202 is a module that performs arithmetic operations and/or logical operations, and may specifically be a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (microprocessor unit, MPU), Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), Complex Programmable Logic Device (CPLD), Coprocessor (to assist the central processing unit to complete the corresponding One or more combinations of processing modules such as processing and application), Microcontroller Unit (MCU), etc.
  • CPU central processing unit
  • GPU graphics processing unit
  • MPU microprocessor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • CPLD Complex Programmable Logic Device
  • Coprocessor to assist the central processing unit to complete the corresponding One or more combinations of processing modules such as processing and application
  • MCU Microcontroller Unit
  • Communication interface 1204 may be used to provide information input or output to the at least one processor. And/or the communication interface can be used to receive externally sent data and/or send data externally, and can be a wired link interface such as an Ethernet cable, or a wireless link (Wi-Fi, Bluetooth, Universal wireless transmission, vehicle short-range communication technology, etc.) interface. Optionally, the communication interface 1204 may further include a transmitter (eg, a radio frequency transmitter, an antenna, etc.), or a receiver, etc., coupled with the interface.
  • a transmitter eg, a radio frequency transmitter, an antenna, etc.
  • the processor 1202 in the device 120 is configured to read the computer program stored in the memory 1201, to execute the aforementioned secure access method, such as the secure access method described in the embodiment shown in FIG. 5, FIG. 7 or FIG. 8. enter method.
  • the communication device 120 may be the first node in the embodiment shown in FIG. 5 , FIG. 7 or FIG. 8 .
  • the processor 1202 in the device 120 is configured to read the computer program stored in the memory 1201, to perform the following operations:
  • a first message from the second node is received through the communication interface 1204, the first message includes a first ciphertext, and the first ciphertext is obtained according to the security parameter and the first key negotiation parameter; the security parameter is The pre-shared key PSK between the first node and the second node is either a first password; the first password is an agreed access password between the first node and the second node; wherein the first node and The PSK between the second nodes is a secret value shared between the first node and the second node, and the first password may be regarded as a password for the second node to access the first node.
  • the first shared key is determined according to the first key agreement parameter and the key agreement algorithm.
  • the second node encrypts the first key negotiation parameter using the security parameter (the security parameter may be a PSK or a first password) to obtain the first ciphertext.
  • the security parameter may be a PSK or a first password
  • the above-mentioned communication device 120 may be preconfigured with or may obtain the same security parameters, so that the first ciphertext can be decrypted to obtain the first key negotiation parameters, and the shared key can be generated based on the first key negotiation parameters subsequently. Since the shared key cannot be generated without obtaining the security parameters, and the second node cannot access the first node, it can prevent an attacker from accessing the first node through the second node and prevent the first node from successfully associating with an attacker whose identity is untrustworthy. .
  • the processor 1202 is further configured to:
  • first identity authentication information according to the first shared key and the PSK between the first node and the second node, where the first identity authentication information is used to authenticate the identity of the first node.
  • the second node can obtain the first identity authentication information according to the first shared key and the PSK, and the first identity authentication information can be used to authenticate the identity of the first node.
  • This application exemplifies a method for authenticating the identity of the first node through the first identity information: the second node determines the first shared key, and generates verification information according to the first shared key and the PSK. If the identity authentication information is the same, it means that the first shared key and PSK between the first node and the second node are the same, so that the identity of the first node can be authenticated, the communication between the node and the attacker can be avoided, and the security of the node can be improved.
  • the processor 1202 is specifically configured to:
  • the first node can store the corresponding relationship between the PSK and the second node in the form of a corresponding relationship. Therefore, the above-mentioned communication apparatus 120 can obtain the PSK between the first node and the second node according to the first relationship.
  • the PSK is determined according to the first password, the first shared key, the first random number and the second random number.
  • the first node associates with the second node for the first time or the first node does not acquire the first correspondence, there is no PSK corresponding to the identity of the second node in the first node. Therefore, there is no PSK in the first node.
  • the communication device 120 described above may determine the new PSK.
  • the processor 1202 is specifically configured to:
  • the PSK between the first node and the second node is determined according to the first password, the second shared key, the first random number, and the second random number.
  • the first ciphertext is obtained according to the hash value of the security parameter and the first key negotiation parameter; the processor 1202 is specifically configured to:
  • the first ciphertext is obtained by adding the hash value of the security parameter and the first key agreement parameter through an elliptic curve point addition operation; the processor 1202 is specifically configured to :
  • the first key agreement parameter is obtained through an elliptic curve point subtraction operation.
  • the processor 1202 is specifically configured to:
  • the processor 1202 is specifically configured to:
  • the first key is derived from the first shared key, the PSK, the first random number and the second random number;
  • the first identity authentication information is generated according to the first key, the first random number and the second random number, where the first identity authentication information is used to authenticate the identity of the first node.
  • processor 1202 is further configured to:
  • the second key negotiation parameter is used by the second node to determine the shared key. It can be seen that the above-mentioned communication device 120 can encrypt the second key negotiation parameter based on the security parameter, and the second key negotiation parameter can be decrypted to generate the shared key only after the security parameter is cracked, so as to avoid the attacker disguising the access of the second node. The above device 120 ensures the security of the key negotiation process.
  • processor 1202 is further configured to:
  • the PSK between the first node and the second node the first shared key and the second identity authentication information, it is determined that the identity authentication of the second node is passed.
  • the above describes a method for authenticating the identity of the second node.
  • the second identity authentication information is generated by the second node according to the PSK and the first shared key. Therefore, the above-mentioned communication device 120 according to the PSK, the first shared key and the second The identity authentication information can determine whether the first shared key and PSK in the second node are the same as those of the first node, so that the identity of the second node can be authenticated.
  • the foregoing first message may also be referred to as an access request message (or an association request message).
  • the second message may also be referred to as a security context request message (or an identity authentication request message).
  • the third message may also be referred to as a security context response message (or an authentication response message).
  • processor 1202 is further configured to:
  • a fourth message is sent to the second node through the communication interface, where the fourth message is used to indicate that the access is successful, or the fourth message is used to indicate that the association is completed. Further, the fourth message may be referred to as an association establishment message (or an access association complete message), an association complete message, and the like.
  • the communication device 120 may be the second node in the embodiment shown in FIG. 5 , FIG. 7 or FIG. 8 .
  • the processor 1202 in the device 120 is configured to read the computer program stored in the memory 1201, to perform the following operations:
  • the first message includes a first ciphertext, and the first ciphertext is obtained according to the security parameter and the first key negotiation parameter; the security parameter is the first ciphertext.
  • the pre-shared key PSK between a node and the second node is either a first password; the first password is an agreed access password between the first node and the second node;
  • the second message includes a second ciphertext
  • the second ciphertext is obtained by encrypting a second key negotiation parameter according to the security parameter
  • the communication device 120 encrypts the first key negotiation parameter through the security parameter (the security parameter may be a PSK or a first password) and sends it to the first node.
  • the first key A node also encrypts the second key agreement parameter with the security parameter.
  • the two communicating parties can decrypt the ciphertext through the security parameters, and generate a shared key based on the key negotiation parameters. Since the shared key cannot be generated without obtaining the security parameter, the second node cannot access the first node, so the access of the second node to the untrusted first node can be avoided, and the security of the second node can be improved.
  • the processor 1202 is further configured to:
  • the processor is specifically configured to:
  • the corresponding relationship between the PSK and the first node can be stored in the form of a corresponding relationship. Therefore, the above-mentioned communication apparatus 120 can obtain the PSK between the first node and the second node according to the corresponding relationship.
  • the PSK is determined according to the first password, the first shared key, the first random number and the second random number.
  • the above communication device 120 may determine the new PSK in the manner described above.
  • the processor 1202 is specifically configured to:
  • the PSK between the first node and the second node is determined according to the first password, the second shared key, the first random number, and the second random number.
  • processor 1202 is further configured to:
  • the first key agreement parameter is encrypted according to the security parameter to obtain the first ciphertext.
  • the processor 1202 is specifically configured to:
  • the first ciphertext is obtained by performing an elliptic curve point addition operation
  • the first key agreement parameter is encrypted according to the first intermediate key to obtain the first ciphertext.
  • the processor 1202 is specifically configured to:
  • the first key is derived from the first shared key, the PSK, the first random number and the second random number;
  • the second identity authentication information is generated according to the first key, the first random number and the second random number, where the first identity authentication information is used to authenticate the identity of the first node.
  • the second message further includes first identity authentication information; the processor 1202 is further configured to:
  • the PSK between the first node and the second node the first shared key and the first identity authentication information, it is determined that the identity authentication of the first node is passed.
  • the above describes a method for authenticating the identity of the first node.
  • the first identity authentication information is generated by the first node according to the PSK and the first shared key. Therefore, according to the PSK, the first shared key and the first identity authentication information, the It is determined whether the first shared key and PSK in the first node are the same as the second node side, so that the identity of the first node can be authenticated.
  • the timing for authenticating the identity of the first node may be periodic or aperiodic, or the identity of the first node may also be authenticated before some important operations are performed, depending on the specific implementation.
  • the foregoing first message may also be referred to as an access request message (or an association request message).
  • the second message may also be referred to as a security context request message (or an identity authentication request message).
  • the third message may also be referred to as a security context response message (or an authentication response message).
  • processor 1202 is further configured to:
  • a fourth message from the first node is received through the communication interface 1204, where the fourth message is used to indicate that the access is successful, or that the fourth message is used to indicate that the association is completed.
  • the fourth message may be referred to as an association establishment message (or an access association complete message), an association complete message, and the like.
  • Embodiments of the present application further provide a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program is executed on one or more processors, FIG. 5 and FIG. 7 are implemented. Or the method described in the embodiment shown in FIG. 8 .
  • An embodiment of the present application further provides a chip system, where the chip system includes at least one processor and a communication interface, where the communication interface is used for sending and/or receiving data, and the at least one processor is used for calling at least one memory
  • the stored computer program implements the method described in the embodiment shown in FIG. 5 , FIG. 7 or FIG. 8 .
  • the at least one processor may include at least one of a CPU, an MPU, an MCU, or a coprocessor.
  • An embodiment of the present application further provides a terminal, where the terminal may be a smart cockpit product, a vehicle, or the like, and the terminal includes a first node and/or a second node, wherein the first node (for example, a camera, a screen, a One or more of the modules such as microphone, sound, radar, electronic key, keyless entry, starting system controller, and user equipment UE) are the first nodes in the embodiment shown in FIG. 5, FIG. 7 or FIG. 8, so
  • the second node (for example, a base station, a car cockpit domain controller CDC, etc.) is the second node in the embodiment shown in FIG. 5 , FIG. 7 or FIG. 8 .
  • the terminal may be a drone, a robot, a device in a smart home scenario, a device in an intelligent manufacturing scenario, or the like.
  • the embodiment of the present application further provides a computer program product, when the computer program product runs on one or more processors, the communication method described in the embodiment shown in FIG. 5 , FIG. 7 or FIG. 8 can be implemented .
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted over a computer-readable storage medium.
  • the computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes one or more available media integrated.
  • Useful media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state disks (SSDs)), and the like.
  • the modules in the device embodiments of the present application may be combined, divided, and deleted according to actual needs.

Landscapes

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

Abstract

本申请实施例提供一种安全接入方法及装置,应用于通信技术、网联车领域,方法包括:接收来自第二节点的第一消息,第一消息包含第一密文,该第一密文为根据安全参数和第一密钥协商参数得到的;根据安全参数解密第一密文,得到第一密钥协商参数;根据第一密钥协商参数和密钥协商算法确定第一共享密钥;根据第一共享密钥和第一节点与第二节点之间的PSK得到第一身份认证信息,该第一身份认证信息用于认证第一节点的身份。通过本申请实施例可以防止节点与身份不可信的攻击者关联成功。该方案进一步可用于提升自动驾驶或高级驾驶辅助系统ADAS能力,可应用于车联网V2X、车间通信长期演进技术LTE-V、车辆-车辆V2V等领域。

Description

一种安全接入方法及装置 技术领域
本申请涉及通信技术、网联车领域,尤其涉及短距离通信技术领域,例如座舱域通信。具体涉及一种安全接入方法及装置。
背景技术
在信息化飞速发展的今天,移动终端,手机、平板还是其他可携带式智能终端是我们不可缺少的重要个人智能工具,我们在享受着信息化带来的便利的同时,也面临着安全漏洞和隐私泄露的威胁。以智能汽车为例,随着车辆通信的广泛应用,无线通信也给汽车带来了一系列的安全隐患。例如,通过现有的距离通信技术,黑客可能入侵车载信息系统,获取车辆信息,甚至远程操控汽车,对用户隐私以及车辆安全具有极高的威胁性。
为了保证通信的安全,在两个节点(方便描述称为第一节点和第二节点)通信之前,第二节点会采用配对模式接入第一节点,或者直接使用开放的模式接入第一节点。第二节点在接入第一节点时,通常会先确定双方用于通信加密的共享密钥,但是现有的接入过程中,生成的共享密钥的机密性较低。例如,蓝牙耳机接入手机时,在手机中直接点击蓝牙耳机的名称,就可以生成链路密钥(linkkey)、进而关联成功,后续手机第一节点和蓝牙耳机之间即可进行数据收发。不难看出,这样的接入方式容易导致数据泄漏,容易使得用户隐私及安全受到威胁。对于通信系统来说,尤其对于车载通信系统,这种情况容易造成车辆受到不信任节点的接入,导致车辆与身份不可信的攻击者进行通信,危及驾乘人员的人身安全。
因此,如何避免不可信的攻击者接入、提高节点通信的安全性是本领域技术人员正在研究的技术问题。
发明内容
本申请实施例公开了一种安全接入方法及装置,提供一种高安全的认证与密钥协商方法,可以防止节点与身份不可信的攻击者关联成功。
第一方面,本申请实施例公开了一种安全接入方法,包括:
接收来自第二节点的第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;其中,第一节点和第二节点之间的PSK是第一节点与第二节点之间共享的一个秘密值,第一口令可以看作是第二节点接入第一节点的密码;
根据所述安全参数解密所述第一密文,得到所述第一密钥协商参数;
根据所述第一密钥协商参数和密钥协商算法确定第一共享密钥。
在本申请实施例中,第二节点将第一密钥协商参数通过安全参数(该安全参数可以是PSK或者第一口令)进行加密得到所述第一密文,由于第一节点中预先配置有或者可以获 取相同的安全参数,因此可以对第一密文进行解密得到第一密钥协商参数,后续可以基于该第一密钥协商参数生成共享密钥。由于没有获取安全参数不能生成共享密钥,第二节点无法接入第一节点,因此可以避免攻击者通过第二节点接入第一节点,防止第一节点与身份不可信的攻击者关联成功。
在第一方面的一种可能的实施方式中,所述方法还包括:
获取所述第一节点与所述第二节点之间的PSK;
根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
根据所述第一共享密钥和PSK得到第一身份认证信息,该第一身份认证信息可以用于认证第一节点的身份。本申请例举一种通过第一身份信息认证第一节点的身份的方法:第二节点确定第一共享密钥,根据第一共享密钥和PSK生成校验信息,若校验信息与第一身份认证信息相同,则说明第一节点与第二节点之间的第一共享密钥和PSK是相同的,从而可以认证第一节点的身份,避免节点与攻击者进行通信,提高节点的安全性。
在第一方面的又一种可能的实现方式中,所述获取所述第一节点与所述第二节点之间的PSK,包括:
根据第一对应关系得到所述第一节点与所述第二节点之间的PSK;
或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数。
可以看出,第一节点可以通过对应关系的形式来存储PSK与第二节点的对应关系。因此,可以根据对应关系得到第一节点与第二节点之间的PSK。
在一种可能的设计中,PSK是根据第一口令、第一共享密钥、第一随机数和第二随机数来确定的。在第一节点与第二节点第一次进行关联时或者第一节点中没有获取到第一对应关系的情况下,第一节点中不存在第二节点对应的PSK,因此可以确定新的PSK。
在第一方面的又一种可能的实现方式中,所述根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK,包括:
根据所述第一共享密钥、所述第一随机数和所述第二随机数,确定第二共享密钥;
根据所述第一口令、所述第二共享密钥、所述第一随机数、所述第二随机数确定所述第一节点与所述第二节点之间的PSK。
在第一方面的又一种可能的实现方式中,所述第一密文为根据所述安全参数的哈希值和第一密钥协商参数得到的;所述根据所述第一口令解密所述第一密文,得到所述第一密钥协商参数,包括:
根据所述安全参数的哈希值解密所述第一密文,得到所述第一密钥协商参数。
在第一方面的又一种可能的实现方式中,所述第一密文为所述安全参数的哈希值和第一密钥协商参数通过椭圆曲线点加运算得到的;所述根据所述第一口令解密所述第一密文,得到所述第一密钥协商参数,包括:
根据所述安全参数的哈希值和所述第一密文,通过椭圆曲线点减运算,得到所述第一密钥协商参数。
在第一方面的又一种可能的实现方式中,所述根据所述安全参数解密所述第一密文, 得到所述第一密钥协商参数,包括:
根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
根据所述第一中间密钥对所述第一密文进行解密,得到所述第一密钥协商参数。
在第一方面的又一种可能的实现方式中,所述根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第一身份认证信息,还包括:
根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
根据所述第一密钥、所述第一随机数和所述第二随机数,生成所述第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
在第一方面的又一种可能的实现方式中,所述方法还包括:
根据所述安全参数加密第二密钥协商参数,得到第二密文;
向第二节点发送第二消息,所述第二消息包括所述第一身份认证信息和所述第二密文;所述第二密文用于所述第二节点确定所述第一共享密钥。
其中,第二密钥协商参数用于第二节点确定共享密钥。可以看出,基于安全参数可以对第二密钥协商参数进行加密,只有破解了安全参数才能解密第二密钥协商参数生成共享密钥,避免了攻击者伪装第二节点接入第一节点,保证了密钥协商过程的安全性。
在第一方面的又一种可能的实现方式中,所述方法还包括:
接收来自所述第二节点的第三消息,所述第三消息包括第二身份认证信息;
根据所述第一节点与所述第二节点之间的PSK、所述第一共享密钥以及所述第二身份认证信息,确定所述第二节点的身份认证通过。
上述说明了一种认证第二节点的身份的方法,第二身份认证信息为第二节点根据PSK和第一共享密钥生成的,因此根据PSK、第一共享密钥和第二身份认证信息可以确定第二节点中的第一共享密钥和PSK是否与第一节点侧相同,从而可以认证第二节点的身份。
在第一方面的又一种可能的实现方式中,前述第一消息也可以称为接入请求消息(或者关联请求消息)。进一步的,第二消息也可以称为安全上下文请求消息(或者身份认证请求消息)。第三消息也可以称为安全上下文响应消息(或者身份认证响应消息)。
在第一方面的又一种可能的实施方式中,所述方法还包括:
向第二节点发送第四消息,所述第四消息用于指示接入成功,或者用于指示关联完成。进一步的,该第四消息可以称为关联建立消息(或者接入关联完成消息)、关联完成消息等。
第二方面,本申请实施例公开了一种安全接入方法,包括:
向第一节点发送第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;
接收来自所述第一节点的第二消息,所述第二消息包括第二密文;所述第二密文为根据所述安全参数加密第二密钥协商参数得到的;
根据所述安全参数解密所述第二密文,得到所述第二密钥协商参数;
根据所述第二密钥协商参数和密钥协商算法确定第一共享密钥;
根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证 信息,所述第二身份认证信息用于认证所述第二节点的身份。
在本申请实施例中,将所述第一密钥协商参数通过所述安全参数(该安全参数可以是PSK或者第一口令)进行加密再发送给第一节点,相应的,第一节点也通过安全参数加密第二密钥协商参数。通信双方可以通过安全参数对密文进行解密,基于该密钥协商参数生成共享密钥。由于没有获取安全参数不能生成共享密钥,第二节点无法接入第一节点,因此可以避免第二节点接入不可信的第一节点,提高第二节点的安全性。
在第二方面的一种可能的实施方式中,所述根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证信息之前,还包括:
获取所述第一节点与所述第二节点之间的PSK。
在第二方面的又一种可能的实施方式中,所述获取所述第一节点与所述第二节点之间的PSK,包括:
根据第二对应关系得到所述第一节点与所述第二节点之间的PSK;
或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数;其中,所述第一消息中包含所述第一随机数。
可以看出,可以通过对应关系的形式来存储PSK与第一节点的对应关系。因此,可以根据对应关系得到第一节点与第二节点之间的PSK。
在一种可能的设计中,PSK是根据第一口令、第一共享密钥、第一随机数和第二随机数来确定的。在第一节点与第二节点第一次进行关联时或者第一节点中没有获取到第一对应关系的情况下,第二节点中不存在与所述第一节点对应的PSK,因此可以通过上述方式确定新的PSK。
在第二方面的又一种可能的实施方式中,所述根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK,包括:
根据所述第一共享密钥、所述第一随机数和所述第二随机数,确定第二共享密钥;
根据所述第一口令、所述第二共享密钥、所述第一随机数、所述第二随机数确定所述第一节点与所述第二节点之间的PSK。
在第二方面的又一种可能的实施方式中,在发送第一消息之前,所述方法还包括:
根据所述安全参数加密所述第一密钥协商参数,得到所述第一密文。
在第二方面的又一种可能的实施方式中,所述根据所述安全参数加密所述第一密钥协商参数,得到所述第一密文,包括:
根据所述安全参数的哈希值加密所述第一密钥协商参数,得到所述第一密文;
或者,根据所述安全参数的哈希值和所述第一密钥协商参数,通过椭圆曲线点加运算,得到所述第一密文;
或者,根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
根据所述第一中间密钥加密所述第一密钥协商参数,得到所述第一密文。
在第二方面的又一种可能的实施方式中,所述根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证信息,还包括:
根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
根据所述第一密钥、第一随机数和第二随机数,生成所述第二身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
在第二方面的又一种可能的实施方式中,所述第二消息中还包括第一身份认证信息;所述方法还包括:
根据所述第一节点与所述第二节点之间的PSK、所述第一共享密钥以及所述第一身份认证信息,确定所述第一节点的身份认证通过。
上述说明了一种认证第一节点的身份的方法,第一身份认证信息为第一节点根据PSK和第一共享密钥生成的,因此根据PSK、第一共享密钥和第一身份认证信息可以确定第一节点中的第一共享密钥和PSK是否与第二节点侧相同,从而可以认证第一节点的身份。需要说明的是,认证第一节点的身份的时机可以是周期的,也可以是非周期的,或者还可以在执行某些重要操作之前,认证第一节点的身份,取决于具体实施时候的实现。
在第二方面的又一种可能的实现方式中,前述第一消息也可以称为接入请求消息(或者关联请求消息)。进一步的,第二消息也可以称为安全上下文请求消息(或者身份认证请求消息)。第三消息也可以称为安全上下文响应消息(或者身份认证响应消息)。
在第二方面的又一种可能的实施方式中,所述方法还包括:
接收来自第一节点的第四消息,所述第四消息用于指示接入成功,或者用于指示关联完成。进一步的,该第四消息可以称为关联建立消息(或者接入关联完成消息)、关联完成消息等。
第三方面,本申请实施例公开了一种通信装置,该通信装置包括接收单元和处理单元。该通信装置用于实现第一方面或者第一方面的任意一种可能的实施方式所描述的安全接入方法。
第四方面,本申请实施例公开了一种通信装置,包括发送单元、接收单元和处理单元,上述通信装置用于实现第二方面或者第二方面的一种可能的实施方式所描述的安全接入方法。
第五方面,本申请实施例公开了一种通信装置,包括处理器和通信接口,所述处理器用于调用存储器中存储的计算机程序,以实现第一方面或者第一方面的任意一种可能的实施方式所描述的方法。
第六方面,本申请实施例公开了一种通信装置,包括处理器和通信接口,所述处理器用于调用存储器中存储的计算机程序,以实现第一方面或者第一方面的任意一种可能的实现方式。
第七方面,本申请实施例还提供一种芯片系统,所述芯片系统包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,使得所述芯片系统实现第一方面或者第一方面的任意一种可能的实施方式所描述的方法;又或者实现第二方面或者第二方面的任意一种可能的实施方式所描述的方法。
第八方面,本申请实施例还提供一种通信系统,该第一节点和第二节点。其中,该第一节点包含上述第三方面或者第三方面的任意一种可能的实施方式所描述的通信装置;又 或者包含上述第五方面或者第五方面的任意一种可能的实施方式所描述的通信装置。该第二节点包含上述第四方面或者第四方面的任意一种可能的实施方式所描述的通信装置;又或者包含上述第六方面或者第六方面的任意一种可能的实施方式所描述的通信装置。
第九方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面或第一方面的任意一种可能的实施方式所描述的方法,又或者执行第二方面或第二方面的任意一种可能的实施方式所描述的方法。
第十方面,本申请实施例公开了一种计算机程序产品,当所述计算机程序产品在一个或多个处理器上运行时,执行第一方面或第一方面的任意一种可能的实施方式所描述的方法,又或者执行第二方面或第二方面的任意一种可能的实施方式所描述的方法。
第十一方面,本申请实施例公开了一种终端,所述终端可以为智能座舱产品、或者车辆等,所述终端包括第一节点和/或第二节点。其中,所述第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入、启动系统控制器以及用户设备UE等模块中的一个或者多个)包含上述第三方面或第三方面的任意一种可能的实施方式所描述的装置。所述第一节点(例如,基站、汽车座舱域控制器CDC等)包含上述第四方面或第四方面的任意一种可能的实施方式所描述的通信装置。
可替换的,上述车辆还可以替换为无人机、机器人等智能终端或者运输工具。
附图说明
以下对本申请实施例用到的附图进行介绍。
图1是一种密钥协商算法的原理示意图;
图2是一种密钥协商算法的使用场景示意图;
图3是本申请实施例提供的一种通信系统的流程示意图;
图4是本申请实施例提供的一种通信场景的示意图;
图5是本申请实施例提供的一种通信方法的流程示意图;
图6是本申请实施例提供的一种确定共享密钥的流程示意图;
图7是本申请实施例提供的又一种通信方法的流程示意图;
图8是本申请实施例提供的再一种通信方法的流程示意图;
图9是本申请实施例提供的一种通信方法的运行场景示意图;
图10是本申请实施例提供的一种通信装置的结构示意图;
图11是本申请实施例提供的又一种通信装置的结构示意图;
图12是本申请实施例提供的再一种通信装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优 选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中实施例提到的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b、或c中的至少一项(个),可以表示:a、b、c、(a和b)、(a和c)、(b和c)、或(a和b和c),其中a、b、c可以是单个,也可以是多个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A、同时存在A和B、单独存在B这三种情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
以及,除非有相反的说明,本申请实施例使用“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一信息和第二信息,只是为了区分不同的信息,而并不是表示这两种信息的内容、优先级、发送顺序或者重要程度等的不同。
下面先对本申请实施例中涉及的技术术语进行描述。
一、节点(node)
节点是具有数据处理收发能力的电子设备或者电子设备中的器件(例如芯片、或集成电路等),上述电子设备可以包括终端设备或网络侧设备。例如,节点可以为汽车座舱(cockpit domain)设备,或者汽车座舱设备中的一个模块(例如座舱域控制器(cockpitdomain controller,CDC)、摄像头、屏幕、麦克风、音响、电子钥匙、无钥匙进入或启动系统控制器等模块中的一个或者多个)。在具体实施过程中,节点还可以是数据中转设备,例如基站、路由器、中继器、桥接器或交换机;也可以是一个终端设备,例如各种类型的用户设备(user equipment,UE)、手机(mobile phone)、平板电脑(pad)、台式电脑、耳机、音响等;还可以包括机器智能设备,如无人驾驶(self-driving)设备、运输安全(transportationsafety)设备、智能家居设备(例如音视频设备、安防设备、智能照明设备、环境监测设备等等中的一个或者多个)、虚拟现实(virtualreality,VR)终端设备、增强现实(augmented reality,AR)终端设备、机器类型通信(machine type communication,MTC)设备、工业控制(industrial control)设备、远程医疗(remote medical)设备、智能电网(smart grid)设备、智慧城市(smart city)设备;还可以包括可穿戴设备(如智能手表,智能手环,计步器等)等等。
在某些技术场景中,具备相类似数据收发能力的设备的名称也可能不称为节点,但是为了方便描述,本申请实施例中将具有数据收发能力的电子设备统称为节点。
二、安全算法(密码算法)
(1)散列算法
散列算法又称为哈希(hash)函数、哈希算法,散列算法可以将一段数据(例如字符串、数字、文件等)输出为一段预设长度(例如80位、或者128位等等)的散列值(散列值也可以称为哈希值、摘要值等),且很难找到逆向规律。常见的散列算法主要有安全散列算法(secure hash algorithm 1,SHA-1)、信息摘要(message digest,MD)算法(如MD2、MD4或MD5等)等。
(2)加密(encryption)算法
加密算法用于保护数据的机密性(confidentiality),通常表现为对明文加密得到密文。加密算法既可以包括加密运算(例如椭圆点加运算、异或运算等),也可以包括安全性较高的各种数学函数。常见的加密算法主要有异或运算、数据加密标准(data encryption standard,DES)、三重数据加密算法(triple data encryption algorithm,3DES)、高级加密标准(advanced encryption standard,AES)、RSA加密算法、数据结构分析算法(data structure analysis,DSA)等。
(3)密钥派生算法
密钥派生算法用于从一个秘密值中推演(派生、导出)出一个或多个秘密值,又称为密钥导出算法。例如,通过秘密值Key派生的新的秘密值DK可以表示为:DK=KDF(Key)。常用的密钥派生算法有基于密码的密钥派生函数(password-based key derivation function,PBKDF)、斯克里普特(scrypt)算法等,其中PBKDF算法又包括第一代PBKDF1和第二代PBKDF2。一些KDF算法在派生密钥过程中,使用哈希算法对输入的秘密值进行哈希变化,因此KDF函数还可以接收算法标识作为输入,用于指示使用何种哈希算法。
需要说明的是,KDF不仅应用于派生得到秘密值得过程,在生成认证信息、身份信息等方面也可以应用。
当然,生成认证信息、身份信息时,也可以使用认证算法(authentication function,AUF,或者AUTH function),该认证算法用于根据输入参数得到认证信息。
(4)密钥协商算法
密钥协商是通信双方通过交互一部分参数,从而协商得到密钥的过程。用于密钥协商的算法称为密钥协商算法,也可以称为密钥交换算法。常用的密钥协商算法有迪菲赫尔曼密钥交换(Diffie–Hellman key exchange,DH)算法、基于椭圆曲线密码(Elliptic Curve Cryptosystems,ECC)的DH(ECDH)算法、国密算法(如SM1、SM2、SM3和SM4)、奥克利(Oakley)算法等。
需要说明的是,密钥协商算法也可以看做是一种密钥协商的协议,也即是说,对于通信的双方,密钥协商算法定义了密钥生成和交换的规则,至于如何用密钥进行加密取决于其他的算法。
三、DH算法
DH算法可以让双方在不安全信道创建起一个密钥,这个密钥可以在后续的通讯中作为密钥来加密通讯内容。
参见图1,图1是本申请实施例提供的一种DH算法的原理示意图,第一节点与第二节点中获取有确定素数p、随机数g,两个节点通过DH算法交换密钥的步骤如下:
步骤1:第二节点确定随机数a。
步骤2:第二节点生成第一计算值A,其中A=g a mod p。
步骤3:第二节点向第一节点发送第一计算值A。
步骤4:第一节点确定随机数b。
步骤5:第一节点计算得到第二计算值B,其中B=g b mod p。
步骤6:第一节点确定密钥s,其中s=A b mod p。
步骤7:第一节点向第二节点发送第二计算值B。
步骤8:第二节点确定密钥s,其中s=B a mod p。
由于s=A bmod p=(g amod p) bmod p=g abmod p=(g bmod p) amod p=B amod p,因此第一节点和第二节点计算出的密钥s是相同的。由于密钥s没有在消息中直接传输,因此攻击者无法直接获取密钥,只能通过暴力破解获取到a或者b才可以计算出协商得到的密钥s。在这种情况下,攻击者通过A、g、p,暴力破解计算得到a的公式为:a=log g Amodp,由于对数运算没有一个快速计算的算法,而且素数p和随机数g通常数值较大,因此攻击者很难通过A、素数p和随机数g通过对数运算和模运算得到a。因此通过DH算法得到的密钥K具有安全性。
四、椭圆曲线算法
椭圆曲线算法是基于椭圆曲线数学理论实现的一种安全算法,通常我们讨论的椭圆曲线的曲线方程是一个二元三次方程,它有多种形式,最常用的是如下的通用式:
E={(x,y)∈R|y 2=x 3+ax+b,4a 3+27b 2≠0}
从曲线方程和图像易知,椭圆曲线关于X轴对称。判定式(4a 3+27b 2)不等于零可以实现椭圆曲线不存在奇异点,即处处光滑可导,便于进行椭圆曲线上的加法运算。
(1)点加(point addition)运算(椭圆曲线加法运算)
参见图2,图2是本申请提供的一种可能的点加运算的示意图。参见图2的(a)部分,椭圆曲线的加法运算可以通过如下的方式表示:曲线(本文中以a=0,b=7的椭圆曲线为例,即:y 2=x 3+7)上标出点P和点Q;做一条经过点P和Q的直线与曲线相交于第三点–R;继续做点-R关于X轴的对称点R。R点就是点P和Q相加得到的点,记作P+Q=R。
需要说明的是,因为椭圆曲线是关于X轴对称的,因此R是点-R的对称点,由于点-R在椭圆曲线上,因此点R也必然也在椭圆曲线上,也即是说,P+Q所得到的点在椭圆曲线上。
参见图2的(b)部分,当P=Q时,则以点P作为切点做一条关于椭圆曲线的切线,切线将与椭圆曲线相交与另一点,记做点-R。同样,做点-R的关于X轴的对称点R。这个R点就是点P和P相加得到的点,记作P+P=2P=R。
(2)点减运算(椭圆曲线减法运算)
参见图2的(c)部分,因R-P=R+(-P),求(R-P)就是点R与点-P的加法运算。而点-P就是点P对称点。因此,做一条经过点R和-P的直线,由于椭圆曲线是关于X轴对称的,可以看出直线与椭圆曲线相切于点-P,因此做点-P关于X轴的对称点P,P点就是点R和点-P相加得到的点。
(3)点乘(point multiplication)运算
将椭圆曲线上的一个有点连续相加n次,就可以得到n次点P相加的结果,记为nP。其中,相加的次数n是一个整数,可以称之为标量。椭圆曲线的点乘运算可以称为标量乘(scalar multiplication)运算,在涉及多个标量时,可以称为多标量乘运算(multi-scalar multiplication)。
需要说明的是,点乘算法在不同的运算场景下可能有不同的定义,实现时取决于具体定义的点乘算法的运算规律为准,此处是例举的一种可能的椭圆曲线点乘算法的计算方式。
(4)ECDH密钥交换
椭圆曲线算法需要一个定义在有限域中的椭圆曲线的循环子群,需要的参数如下:一个质数p用于描述有限域的大小、椭圆曲线方程的参数a和b、一个用于生成循环子群的基点G、子群的阶数n、子群的协因子h(h=N/n,其中N是椭圆曲线群的阶数)。一般通过六个参数(p,a,b,G,n,h)联合起来定义一种椭圆曲线算法所用到的椭圆曲线。
ECDH算法主要基于如下等式来实现:K=k×G,其中K、G为椭圆曲线Ep(a,b)上的点,n为G的阶(nG=O∞,O∞指无穷远点),k为小于n的整数。在K=kG中,对于给定的k和G,根据加法法则,计算K很容易(例如使用点加运算累加)。但反过来,对于给定的K和G,求k就非常困难。因为实际使用中的椭圆曲线算法原则上把p取得相当大,n也相当大,要把n个点逐一算出来与K进行比较是数学难题。
在密钥交换的过程中,假设密钥交换双方为Alice、Bob,其有共享曲线参数(椭圆曲线E、阶N、基点G)。可以有如下交换步骤:
步骤1:Alice生成随机整数a,计算第一计算值A=a×G。
步骤2:Bob生成随机整数b,计算第二计算值B=b×G。
步骤3:Alice将A传递给Bob。A的传递可以公开,即攻击者可以获取A、G,但是难以通过A、G计算出a。
步骤4:Bob将B传递给Alice。同理,B的传递可以公开,即攻击者可以获取B、G,但是难以通过B、G计算出a。
步骤5:Bob收到Alice传递的A,计算Q=b×A=ab×G。
步骤6:Alice收到Bob传递的B,计算Q’=a×B=ab×G。
Alice、Bob双方即得Q=b×A=b×(a×G)=(b×a)×G=(a×b)×G=a×(b×G)=a×B=Q’(交换律和结合律),即双方得到一致的密钥Q。由于密钥Q没有直接传输,攻击者难以通过获取的A、B、G计算得到Q,因此通过ECDH算法交换得到的密钥Q具有安全性。
五、新鲜性参数
新鲜性参数是一种信息安全领域中的参数,用于生成密钥和认证参数等,也可以称为新鲜度或新鲜参数。新鲜性参数可以包括随机数(number once,NONCE)、计数值(counter)、序列号(serial number)、顺序号(sequence number)等等中的至少一个。不同时刻生成的新鲜性参数通常不同。可以理解的,新鲜性参数的具体取值,在每生成一次新鲜性参数时会发生变化,从而使得这一次生成密钥(或者认证参数等)所使用的新鲜性参数与上一次生成密钥(或者认证参数等)时所使用的新鲜性参数不同的,可以提高生成的密钥的安全性。
其中,NONCE是一个只被使用一次的(非重复的)随机数值。
六、口令
口令可以理解为节点为了让其他节点可以接入从而预先配置或者预先定义的密码,或者理解为两个节点之间约定的秘密值。可选的,口令在形式上可以为数字、字母、符号等其中的一个或者多个组成的字符串,可以是通过键盘、语音、生物信息等方式输入的。例如,手机终端接入支持无线保真(Wireless fidelity,Wi-fi)协议的路由器的场景中,手机终端可以使用“Wi-fi密码”接入路由器,该“Wi-fi密码”可以理解为路由器的口令。
可选的,口令可以有如下使用场景(以第二节点请求接入第一节点为例):
场景1:第一节点预先定义或者预先配置了第一口令,第二节点的用户可以在第二节点中输入第一口令。具体的,第二节点接收用户输入的第一口令,基于该第一口令可以请求接入第一节点。例如,车主通过管理员接口为车辆配置第一口令。当车主的新智能手机需要接入车辆时,车主可以在新智能手机中输入第一口令,智能手机根据输入的口令可以请求接入车辆。
场景2:第一节点预先定义或者预先配置了第一口令。同样的,第二节点中也预先配置了接入第一节点的第一口令。当需要接入第一节点时,第二节点可以使用预先配置的第一口令进行接入。例如,主机厂在装配车辆时,可以在车辆的CDC中配置第一口令,在车辆的雷达中配置CDC的第一口令,这样一来,雷达在接入车辆的CDC时,可以使用CDC的第一口令来接入CDC。
场景3:第三方设备(如网络侧设备、证书中心、认证服务器等等设备,受第一节点信任)可以给第一节点和第二节点分配一个约定值,该约定值可以供第二节点接入第一节点。因此该约定值可以看做是第一节点的接入口令。
可以理解的,前述的关于算法的解释只是用于简单叙述实现的原理,并不限定使用时一定使用相同的参数进行实现。算法具体实现过程中还可以有其他的改进和变体,本申请中提到算法可以为经过改进和变体后的算法,例如ECC可以结合在DSA算法中,称为ECDSA算法。
另外需要说明的是,本申请各实施例中提到的“认证”、“校验”、“验证”,可以表征检查是否正确或者合理的意思。本申请各实施例中提到的“接入”表明第一节点与第二节点建立连接的过程,在一些具体的技术场景中,也可以将“接入”描述为“关联”。
下面对本申请实施例的系统架构和业务场景进行描述。需要说明的是,本申请描述的系统架构及业务场景是为了更加清楚的说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
参见图3,图3是本申请实施例提供的一种可能的通信系统的示意图,该通信系统包括第一节点301和第二节点302。第二节点302可以请求关联第一节点301,关联成功后,第一节点301可以与第二节点302进行通信。其中,第一节点301与第二节点302之间通信的链路可以包括各种类型的连接介质,包括有线链路(例如光纤)、无线链路、或者有线链路和无线链路的组合等。例如可以为近距离连接技术包括802.11b/g、蓝牙(blue tooth)、紫蜂(Zigbee)、无线射频识别技术(radio frequency identification,RFID)、超宽带(ultra wideband,UWB)技术、无线短距通信系统(例如车载无线短距通信系统)等,再如还可以为远距离连接技术包括基于长期演进(Long Term Evolution,长期演进)的通信技术、第五代移动通信技术(5th generation mobile networks或5th generation wireless systems、5th-Generation,简称5G或5G技术)、全球移动通信系统(global System for mobile communications,GSM)、通用分组无线业务(general packet radio Service,GPRS)、通用移动通信系统(universal mobile telecommunications system,UMTS)等无线接入类型技术。
当然,还有其他无线通信技术可以用于支撑第一节点与第二节点进行通信。例如,在一些具体的实施场景中,第一节点也可以称为G节点、控制节点或者接入点(accesspoint),第二节点也可以称为T节点或者终端。G节点向T节点的通信链路可以称为G链路,T节点向G节点的通信链路可以称为T链路。
其中,第一节点301和第二节点302可以是相同类型的设备,也可以是不同类型的设备。例如,请参见图4,图4是一种可能的通信场景的示意图。车辆的座舱域控制器(cockpit domain controller,CDC)401是车辆的智能座舱设备中的控制中心,可以看作为第一节点401。智能手机402是具有数据收发能力的设备,可以看作为第二节点402。
其中,CDC401可以通过蓝牙接入,而智能手机402支持蓝牙功能,因此智能手机402可以请求接入该CDC401。由于蓝牙技术通常采用数字配对或者直接工作(justwork)模式进行连接,在数字配对模式下,在智能手机402中直接点击CDC401的标识,通过与CDC401确认配对数字,即可通过蓝牙连接CDC401。此时,若攻击者冒用智能手机402的身份来连接CDC401,CDC401难以辨认出攻击者,将导致攻击者成功接入CDC401,使得车辆的隐私及安全受到威胁。此处仅以蓝牙接入的场景作为示例,具体接入场景还可以包括其他通信技术进行接入的情况。类似的,在其他的一些场景中,节点通过传统方法进行接入的情况下,节点也往往难以避免与不明身份的攻击者的接入,从而影响通信的安全。
因此,为了提高安全性,本申请实施例提供了图5所示的安全接入方法。
请参见图5,图5是本申请实施例提供的一种安全接入方法的流程示意图。进一步的,该方法可以基于图3所示的架构来实现。该方法至少包括如下步骤:
步骤S501:第二节点向第一节点发送的第一消息。其中,第一消息包含第一密文,该第一密文为根据第一密钥协商参数和安全参数得到的。
具体的,密钥协商参数为密钥协商过程中确定的参数,为了方便描述,本申请各实施例中将第二节点发送给第一节点的密钥协商参数称为第一密钥协商参数。
例如,第一节点与第二节点基于DH算法进行密钥协商,将较大的素数p和随机数g作为公钥,第二节点根据自己的私钥(a)和公钥(p和g)确定计算值A,该素数p、素数g、私钥a、计算值A均可以看做密钥协商过程产生的参数,由于计算值A为第二节点确定后发送给第一节点的,则计算值A可以看做第一密钥协商参数。
再如,第一节点与第二节点基于ECDH算法进行密钥协商,以确定的椭圆曲线为Ep、基点为G为例,第二节点根据自己的私钥a和基点G得到计算值A(例如:A=a×G)发送给第一节点,则该计算值A可以看做第一密钥协商参数。
安全参数为第一节点与第二节点中共享的一个参数。例如,第一节点与第二节点的共享密钥(包括预共享密钥、对称加密密钥等)、第一口令、第一节点与第二节点之间的预先配置的参数、通信协议中预先定义的参数等。
其中,预共享密钥(pre-shared key,PSK)是第一节点与第二节点之间共享的一个秘密值。第二节点中可以预先定义、预先配置或者通过互相协商生成等方式得到与第一节点共享的PSK,第二节点可以使用该PSK对消息进行加密。
其中,第一口令为第一节点与第二节点之间的约定接入口令,也可以理解为第一节点 为了让第二节点可以接入从而预先配置或者预先定义的密码,或者理解为第一节点与第二节点之间约定的秘密值。此外,第一口令的相关描述还可以参见技术术语解释部分的描述,此处不再赘述。
下面以预共享密钥PSK为例,例举四种根据安全参数和第一密钥协商参数得到第一密文的实现方法:
实现方法一:第二节点将PSK和第一密钥协商参数进行点加运算,得到第一密文。进一步的,第一节点可以先将PSK进行哈希运算,然后将PSK的哈希值与第一密钥协商算法进行点加运算,得到第一密文。例如,第一密文C1满足如下式子:C1=hash(PSK)+KEt,其中,KEt为第一密钥协商参数,+为椭圆曲线点加运算,hash为哈希算法。
位于椭圆曲线上的点可以进行点加运算,但是在具体实施过程中,若第一密钥协商参数不是椭圆曲线上的点,也可以先将第一密钥协商参数映射为椭圆曲线上的点,然后再进行点加运算。其他参数,例如PSK、hash(PSK)等,也可以进行类似的映射。本申请例举一种可能的计算方法:第二节点可以将hash(PSK)作为横坐标(若超过定义域,则可以将hash(PSK)取模),在椭圆曲线上得到映射点R(hash(PSK),y1),将点R与KEt进行椭圆曲线点加运算,得到点S(x2,y2)。第二节点可以取将点S的横坐标x2或者纵坐标y2作为C1。相应的,在一个x值对应有多个y值时,可以预先约定y值需要满足的条件(例如选取绝对值最大的一个y值),从而确定对应的点。
可选的,在第一节点与第二节点直接使用的密钥协商算法属于ECDH算法的情况下,可以使用实现方式一的方法得到第一密文。当然,若密钥协商算法不属于ECDH算法,也可以将密钥协商参数映射为椭圆曲线上的一点,从而使用点加运算得到第一密文。
实现方法二:第二节点将PSK和第一密钥协商参数进行乘法运算,得到第一密文。例如,第一密文C1满足如下式子:C1=hash(PSK)*KEt,其中,KEt为第一密钥协商参数,*为乘法运算,hash为哈希算法。
可选的,在第一节点与第二节点直接使用的密钥协商算法属于DH算法的情况下,可以使用实现方式二的方法得到第一密文。当然,若密钥协商算法不属于DH算法,也可以进行乘法运算得到第一密文。
实现方法三:第二节点使用加密算法,根据PSK或者PSK的哈希值,对第一密钥协商参数进行加密得到第一密文。例如,得到的第一密文C1满足如下式子:C1=Enc(hash(PSK),KEt),其中,Enc为加密算法,具体可以为SM4算法、ZUC算法、AES算法等等中的一个或者多个的组合。
实现方法四:第二节点可以基于PSK推演密钥(便于描述,称为第一中间密钥),基于第一中间密钥对第一密钥协商参数进行加密,得到第一密文。例如,第一中间密钥K1满足如下式子:K1=KDF(Hash(PSK),NONCEd),其中,KDF为推演第一中间密钥时使用的推演算法,NONCEd为推演第一中间密钥使用的新鲜性参数(可选参数,此处仅为示例)。第二节点得到的第一密文C1满足:C1=Enc(K1,KEt)。
需要说明的是,这里是为了更清楚的阐述方案,所以上述实现方法四以多个步骤的方式解释如何得到第一密文,在实际的处理中,也可以是通过一个步骤完成,第一中间密钥K1只是一个中间的结果,即确定第一密文C1的方式满足: C1=Enc(KDF(Hash(PSK),NONCEd),KEt)。
可以理解的,上述的PSK也可以替换为第一口令、第一节点与第二节点之间的预先配置的参数、通信协议中预先定义的参数等,不在一一赘述。在一种可能的设计中,在第二节点中存在与第一节点之间的PSK的情况下,第二节点基于PSK和第一密钥协商参数得到第一密文。在第二节点中不存在与第一节点之间的PSK的情况下,则第二节点根据第一口令和第一密钥协商参数得到第一密文。
可选的,上述第一消息中还可以包含新鲜性参数(fresh parameter)。为了方便描述,本申请各实施例中,将第一消息中包含的新鲜性参数称为第一新鲜性参数。其中,新鲜性参数为包括随机数、计数值、序列号等等中的至少一个。
可选的,第一节点可以广播消息,相应的,第二节点可以接收第一节点的广播的消息。第二节点基于第一节点广播的消息,从而向第一节点发送该第一信息。进一步可选的,第一节点广播的消息中可以携带第一节点支持的密钥协商算法的指示信息(或者称为第一节点的密钥协商算法能力)。
进一步可选的,第二节点可以在第一节点支持的密钥协商算法中,确定其中一种算法作为与第一节点进行密钥协商时使用的算法。在这种情况下,第一消息中还可以携带第二节点选定的密钥协商算法的标识。
第二节点向第一节点发送第一消息。相应的,第一节点则接收来自第二节点的第一消息。
需要说明的是,第一消息也可以称为接入请求消息(或者接入请求信息),也可以被称为关联请求消息(具体场景中也可以称为关联请求信息)。本申请各个实施例中不对消息或者信息的名称进行限定,仅对消息内容进行示例性的说明和表达,消息的名称可以进行任意地替换。
步骤S502:第一节点根据安全参数解密第一密文,得到第一密钥协商参数。
具体地,第一密文为基于安全参数和第一密钥协商参数得到的,而安全参数是第一节点与第二节点中都可以获取的一个参数,因此第一节点可以根据安全参数解密第一密文,得到第一密钥协商参数。
对应于前述第二节点得到第一密文的实现方式,本申请例举以下几种解密第一密文的实现方式:
实现方式一:第一节点将第一密文和PSK(或者PSK的哈希值)进行椭圆点减运算,得到第一密钥协商参数。例如,第一密钥协商参数满足KEt如下式子:KEt=C1-hash(PSK),其中,C1为第一密文,+为椭圆曲线点减运算,hash为哈希算法。
实现方式二:第一节点将第一密文和PSK(或者PSK的哈希值)进行除法运算,得到第一密钥协商参数。例如,第一密钥协商参数KEt满足如下式子:KEt=C1÷hash(PSK),其中,C1为第一密文,÷为除法运算,hash为哈希算法。
实现方式三:第一节点使用加密算法,将PSK或者PSK的哈希值作为加密算法的输入,对第一密文进行解密。例如,第一密钥协商参数KEt满足如下式子:KEt=Dec(hash(PSK),C1),其中,Dec为加密算法Enc对应的解密算法(加密算法与解密算法一般为同一种算法,或者具体可以为算法中的不同计算流程,此处为了便于描 述使用不同的名称)。
实现方式四:第一节点基于PSK推演第一中间密钥,通过第一中间密钥对第一密文进行解密,得到第一密钥协商参数。例如,第一中间密钥K1满足如下式子:K1=KDF(Hash(PSK),NONCEd),其中,KDF为推演第一中间密钥时使用的推演算法,NONCEd为推演第一中间密钥使用的新鲜性参数。得到的第一密钥协商参数KEt满足如下式子:KEt=Dec(K1,C1)。
步骤S503:第一节点根据第一密钥协商参数和密钥协商算法确定第一共享密钥。
具体的,密钥协商算法为第一节点与第二节点预先约定的密钥协商算法,或者第二节点可以在第一消息中携带该密钥协商算法的标识,用于指示使用何种密钥协商算法。
本申请例举几种根据第一密钥协商参数和密钥协商算法确定第一共享密钥的方式:
方式一:第一节点可以确定第一节点的私钥,基于密钥协商算法根据第一密钥协商参数和第一节点的私钥,确定交换密钥。该交换密钥可以作为第一共享密钥。
参见图6,图6是本申请实施例提供的确定交换密钥(第一共享密钥)的流程示意图,参见图6的(a)部分说明了基于DH算法确定交换密钥的过程,第一节点可以将第一密钥协商参数KEt输入至DH算法中,根据DH算法的流程,第一节点确定随机数b(作为第一节点的私钥),基于随机数b、第一密钥协商参数可以确定交换密钥K KE
参见图6的(b)部分,第一节点可以将第一密钥协商参数KEt输入至ECDH算法中,根据ECDH算法的流程,第一节点确定随机数b(作为第一节点的私钥),基于随机数b、椭圆曲线以确定交换密钥K KE
可以理解的,在一些具体设计中,可以将密钥协商算法封装为一个计算流程,输入为第一密钥协商参数,输出为第一共享密钥。当然,在另一些可能的设计中,也可以将确定私钥、计算交换密钥的步骤分别由不同的计算流程执行。
方式二:第一节点可以确定第一节点的私钥,基于密钥协商算法根据第一密钥协商参数和第一节点的私钥,确定交换密钥。第一节点基于交换密钥和新鲜性参数确定第一共享密钥。
例如,第一节点可以基于方式一所描述的方法确定交换密钥K KE,基于交换密钥K KE确定第一共享密钥Kgt。例如,第一共享密钥Kgt满足如下公式:Kgt=KDF(K KE,NONCEt,NONCEg),其中,NONCEt为第一新鲜性参数(可选参数),NONCEg为第二新鲜性参数(可选参数)。
需要说明的是,由于方式二中得到的第一共享密钥(后续称为第一共享密钥Kgt)是基于交换密钥K KE来确定的,而在方式一所描述的方案中将交换密钥作为第一共享密钥,因此为了方便描述,故在权利要求中将第一共享密钥kgt描述为第二共享密钥。可以理解的,本申请的“第一”“第二”只是为了区分参数,不作为对具体参数名称的限定。
可选的,图5所示的安全接入方法包括步骤S504-步骤S509中的一个或者多个步骤,步骤S504-步骤S509具体如下:
步骤S504:第一节点获取第一节点与第二节点之间的预共享密钥(pre-shared key,PSK)。
具体地,PSK是第一节点与第二节点之间共享的一个秘密值。下面例举两种第一节点获取第一节点与第二节点之间的PSK的可能情况:
情况一:在第一节点中存在PSK与第二节点身份标识的对应关系。也即是说,在第一节点中,第一节点与第二节点之间的PSK可以对应于第二节点的身份标识。第一节点可以根据第二节点的身份标识,根据对应关系获取对应的PSK。
其中,第二节点的身份标识可以为第二节点的ID、媒体存取控制(media access control,MAC)地址、域名、域地址或其他自定义的标识,也称为第二节点的设备标识。进一步的,第二节点可以在第一消息中携带第二节点的身份标识,从而第一节点可以获取第二节点的身份标识。可选的,PSK与第二节点的身份标识之间的对应关系,可以是在第一节点中预先配置、预先定义的对应关系,也可以是第一节点与第二节点通过协商的方式生成PSK后保存的对应关系。该对应关系的形式可以是对应关系集合、数据表、数据库等中的一个或者多个,本申请对此不做限定。参见表1,表1是本申请实施例例举的一种可能的PSK与第二节点身份标识的对应关系集合,该对应关系集合包括多个第二节点的身份标识、对应的PSK以及PSK的类型。例如,对于身份标识为“ID1”的第二节点,第一节点根据临时ID为“ID1.1”,可以确定其对应的PSK为“PSK1”。进一步的,“PSK1”的类型是预先配置的。
表1 PSK与第二节点的身份标识的对应关系集合
身份标识 PSK 类型
ID1(临时ID1.1) PSK1 预先配置
ID2(临时ID2.1) PSK2 生成
ID3(临时ID3.1) PSK3 生成
这里需要说明的是,在预先配置对应关系的情况下,第一节点中预先配置的PSK与第二节点预先配置的PSK是相同的;在生成PSK后保存对应关系的情况下,第一节点与第二节点生成PSK的方法以及所使用的参数也是相同的。在一种可能的设计中,若第一节点中存在PSK与第二节点的身份标识的对应关系,可以说明该第二节点之前已经接入过第一节点或者该第一节点预先配置有与第二节点之间的PSK,因此第一节点可以根据对应关系获取PSK。
需要说明是,若第一节点通过情况一的方式来获取PSK,则步骤S504也可以在步骤S502之前执行,该PSK可以用于对第一密文进行解密。本申请中其他步骤的执行的先后顺序在不影响方案实现的情况下也可以进行改变。
情况二:第一节点生成与第二节点之间的PSK。具体的,生成PSK的参数可以包括第一口令、第一共享密钥(具体可以为交换密钥K KE或者共享密钥kgt)、第一新鲜性参数、第二新鲜性参数、第一节点的身份标识、第二节点的身份标识等等中的一项或者多项。下面例举几种生成PSK的参数的案例:
案例1,第一节点确定一个随机数,将该随机数作为第一节点与第二节点之间的PSK。
案例2,第一消息中包含第一新鲜性参数,第一节点根据第一新鲜性参数和第一节点确定的新鲜性参数生成PSK。例如,生成的PSK满足:PSK=KDF(NONCEt,NONCEg),其中,KDF为生成PSK的密码算法,NONCEt为第一新鲜性参数,NONCEg为第二新鲜性参数。
案例3,第一节点根据第一口令生成PSK。例如,生成的PSK满足:PSK=KDF(pw,IDg,IDt,NONCEt,NONCEg,Kgt),其中,pw为第一口令,IDg为第一节点的身份标识,ID t为第二节点的身份标识,NONCEt为第一新鲜性参数,NONCEg为第二新鲜性参数。需要说明的是,IDt、IDg、NONCEt、NONCE g、Kgt为可选参数,Kgt也可以替换为前述的交换密钥K KE
进一步的,在第一共享密钥Kgt为基于交换密钥K KE派生得到的情况下,第一节点生成的PSK可以满足:
PSK=KDF(pw,IDt,IDg,NONCEt,NONCEg,KDF(K KE,NONCEt,NONCEg)。
其中的各项参数可以参考前述的描述,此处不再赘述。
在一种可能的设计中,第一节点生成与第二节点之间的PSK后,可以保存PSK与第二节点的身份标识的对应关系。
步骤S505:第一节点根据第一共享密钥和/或PSK得到第一身份认证信息。
具体地,第一身份认证信息用于认证第一节点的身份。例如,第一节点可以将第一身份认证信息发送给其他节点(例如第二节点),其他节点可以根据第一身份认证信息确定第一节点的身份。
本申请例举以下三种得到第一身份认证信息的实现方式:
实现方式一:第一节点根据预共享密钥PSK确定第一身份认证信息。可选的,参与生成第一身份认证信息的可选参数还可以包括第一共享密钥(可以为K KE或者kgt)、第一消息、第一身份信息所在的第二消息(下文中会进行描述)、第一节点支持的密钥协商算法的标识(或者称为第一节点的密钥协商算法能力)、第二节点支持的密钥协商算法的标识(或者称为第二节点的密钥协商算法能力)中的一项或者多项。上述的消息可以为整条消息,也可以为消息中的部分参数。例如,可以使用整条第一消息作为参数,也可以使用第一消息中的第一新鲜性参数作为参数。
例如,在一种可能的设计中,第一身份认证信息AUTHg满足:AUTHg=KDF(PSK,第一消息,第二消息中的部分参数),其中,第二消息可以为第一身份认证信息所在的消息(下文中会进行描述)。这样一来,其他节点(例如第二节点)可以根据第一身份认证信息校验自身存储的PSK是否与第一节点中的PSK(若一致,则说明第一节点的身份可信),还可以校验第一消息、第二消息中的部分参数是否遭到了篡改。也即是说,第一身份认证信息不仅可以认证第一节点身份,还可以保护第一消息、第二消息的完整性。
再如,在另一种可能的设计中,第一身份认证信息AUTHg可以满足:AUTHg=AUF(PSK,K KE,第一消息,第二新鲜性参数)。各个参数可以参考前述的描述。
实现方式二:实现方式一中的PSK也可以替换为交换密钥K KE或者替换为第一共享密钥Kgt。
实现方式三:第一节点根据第一共享密钥和/或PSK确定第一密钥(或者称为身份认证密钥),根据第一密钥生成第一身份认证信息。可理解的,在生成第一身份认证信息时,不直接使用PSK或者第一共享密钥,而是使用基于PSK和/或第一共享密钥得到的第一密钥,这样可以保护PSK、第一共享密钥的安全,提高PSK和第一共享密钥的安全性。
可选的,第一节点生成的第一身份认证信息AUTHg满足:AUTHg=KDF(Kauth,第一消息,第二消息中的部分参数),各个参数的含义可以参考前述的定义。
进一步可选的,第一节点根据第一共享密钥和/或PSK确定第一密钥(Kauth)可以有如下几种设计:
设计1:第一节点确定的第一密钥Kauth满足:
Kauth=KDF(K KE,NONCEt,NOCNEg,IDg,IDt,“authentication”),
其中,“authentication”为一种可选的密钥标识,具体实施时可以预先配置或者协议规定一段字符串作为密钥标识。NONCEt、NOCNEg、IDg、IDt、“authentication”为可选参数,具体含义可以参考前述描述。
设计2:第一节点确定的第一密钥Kauth满足:
Kauth=KDF(K KE||PSK,NONCEt,NOCNEg,IDg,IDt,“authentication”),
其中,“||”可以表示字符串连接(仅为示例,具体实现过程中也可以不进行连接,例如分别作为两个输入参数)。NONCEt、NOCNEg、IDg、IDt、“authentication”为可选参数,具体含义可以参考前述描述。
设计3:设计1、2中的K KE也可以替换为根据K KE派生得到的Kgt。进一步的,确定第一密钥Kauth的方式满足:
Kauth=KDF[KDF(K KE,NONCEt,NONCEg)||PSK,NONCEt,NOCNEg,IDg,IDt,"authentication"],
其中,各个参数可以参考前述的定义。
类似地,第一节点也可以通过如设计1-3所示的方法,派生得到加密密钥和完整性保护密钥。
例如,第一节点确定的加密密钥Kenc可以满足:
Kenc=KDF(K KE||PSK,NONCEt,NOCNEg,IDg,IDt,“EncryptionKey”)。
再如,第一节点确定的完整性保护的密钥Kmac可以满足:
Kmac=KDF(K KE||PSK,NONCEt,NOCNEg,IDg,IDt,“MACKey”)。
步骤S506:第一节点向第二节点发送第二消息。其中,第二消息包含第二密文,第二密文为根据第二密钥协商参数和安全参数得到的。可选的,第二消息中还可以包括第一身份认证信息。
具体地,为了方便描述,将第一节点发送给第二节点的密钥协商参数称为第二密钥协商参数。
第二密钥协商参数通常为第一节点根据第一节点的私钥来确定的。
安全参数为第一节点与第二节点中共享的一个参数,例如,第一节点与第二节点的共享密钥(包括预共享密钥、对称加密密钥等)、第一节点与第二节点之间约定的口令、第一节点与第二节点之间的预先配置的参数、通信协议中预先定义的参数等。具体可以参考前述S501中的详细描述,此处不再赘述。
下面以PSK为例,例举四种第一节点根据安全参数和第二密钥协商参数得到第二密文的实现方法:
实现方法一:第一节点将PSK(或者PSK的哈希值)和第二密钥协商参数进行点加运 算,得到第二密文。例如,第二密文C2满足如下式子:C2=hash(PSK)+KEg,其中,KEg为第二密钥协商参数,+为椭圆曲线点加运算,hash为哈希算法。
实现方法二:第一节点将PSK(或者PSK的哈希值)和第二密钥协商参数进行乘法运算,得到二密文。例如,第二密文C2满足如下式子:C2=hash(PSK)*KEg,其中,KEg为第二密钥协商参数,*为乘法运算,hash为哈希算法。
实现方法三:第一节点使用加密算法,根据PSK或者(或者PSK的哈希值),对第二密钥协商参数进行加密得到第二密文。例如,得到的第二密文C2满足如下式子:C2=Enc(hash(PSK),KEg),其中,Enc为加密算法,具体可以为SM4算法、ZUC算法、AES算法等等中的一个或者多个。
实现方法四:第一节点可以基于PSK或者PSK的哈希值推演第一中间密钥,使用第一中间密钥对第二密钥协商参数进行加密。例如,第一中间密钥K1满足如下式子:K1=KDF(Hash(PSK),NONCEd),其中,KDF为推演密钥使用的推演算法,NONCEd为推演第一中间密钥使用的新鲜性参数(可选参数,此处仅为示例,若NONCEd为二节点确定的随机数,可以通过消息发送给第一节点)。第一节点得到的第二密文C2满足:C2=Enc(K1,KEg)。
KEg可以理解的,上述PSK也可以替换为第一口令、第一节点与第二节点之间的预先配置的参数、通信协议中预先定义的参数等,不在一一赘述。
在一种可能的设计中,在第一节点中存在与第二节点之间的PSK的情况下,第一节点基于PSK和第一密钥协商参数得到第二密文。在第一节点中不存在与第二节点之间的PSK的情况下,则第一节点根据第一口令和第二密钥协商参数得到第二密文。
在一种可能的设计中,根据协议规定,第二节点使用什么方式得到第一密文,则第一节点也使用相应的方式得到第二密文,便于进行加解密。
可选的,第二消息中还可以包含第二节点确定的新鲜性参数(fresh parameter)。为了方便描述,本申请各实施例中,将第二消息中包含的新鲜性参数称为第二新鲜性参数。其中,新鲜性参数为包括随机数、计数值、序列号等等中的至少一个。
进一步可选的,第二消息中还可以包括消息认证码(message authentication code,MAC)。其中,MAC是根据完整性保护算法生成的消息认证码,用于保护第二消息的完整性。
第一节点向第二节点发送第二消息。相应的,第二节点接收来自第一节点的第二消息。需要说明的是,具体实施过程中,第二消息也可以称为认证请求消息、安全上下文请求消息、身份认证请求消息,或者称为认证请求信息、安全上下文请求信息、身份认证请求信息。
步骤S507:第二节点根据安全参数解密第二密文,得到第二密钥协商参数。
具体地,第二密文为基于安全参数和第一密钥协商参数得到的,因此第二节点可以根据安全参数解密第二密文,得到第二密钥协商参数。
对应于前述第一节点得到第二密文的实现方式,本申请例举以下几种实现方式解密第二密文:
实现方式一:第二节点将第二密文和PSK(或者PSK的哈希值)进行点减运算,得到第二密钥协商参数。
实现方式二:第二节点将第二密文和PSK(或者PSK的哈希值)进行除法运算,得到第二密钥协商参数。
实现方式三:第二节点使用加密算法,将PSK(或者PSK的哈希值)作为解密算法的输入,对第二密文进行解密。例如,第一密钥协商参数KEt满足如下式子:KEg=Dec(hash(PSK),C2),其中,Dec为加密算法Enc对应的解密算法。
实现方式四:第二节点可以基于PSK推演第一中间密钥钥,使用第一中间密钥对第二密文进行解密。例如,第一中间密钥K1满足如下式子:K1=KDF(Hash(PSK),NONCEd),其中,KDF为推演第一中间密钥使用的推演算法,NONCEd为推演第一中间密钥使用的新鲜性参数。例如,第一密钥协商参数KEt满足如下式子:KEt=Enc(K1,C2)。
需要说明的是,上述各个实现方式具体可以参考步骤S502中第一节点侧的解密方式的详细描述。
步骤S508:第二节点根据第二密钥协商参数和密钥协商算法确定第一共享密钥。
具体的,密钥协商算法为第一节点与第二节点预先约定的密钥协商算法,或者第二节点可以根据需求从第一节点支持的一个或多个密钥协商算法中确定密钥协商过程中使用的算法,又或者第一节点可以在发送给第二节点的消息中携带该密钥协商算法的标识,用于指示使用何种密钥协商算法。
本申请例举几种根据第二密钥协商参数和密钥协商算法确定第一共享密钥的方式:
方式一:第二节点确定第二节点的私钥,基于密钥协商算法根据第二密钥协商参数和第二节点的私钥,确定交换密钥。该交换密钥可以作为第一共享密钥。
方式二:第二节点可以根据第二密钥协商参数和第二节点的私钥,确定交换密钥。第二节点基于交换密钥和新鲜性参数确定第一共享密钥。
需要说明的是,需要说明的是,上述各个实现方式具体可以参考步骤S503中第一节点侧的确定第一共享密钥的详细描述。
步骤S509:第二节点根据第一共享密钥和/或PSK得到第二身份认证信息。
具体地,PSK是第一节点与第二节点之间共享的一个秘密值。该PSK可以是基于来自第二节点的新鲜性参数和来自第一节点的新鲜性参数生成的,也可以是在第一节点与第二节点中预先配置、预先定义的。
在确定第二身份认证信息之前,第二节点可以先获取与第一节点之间的PSK。下面例举两种第二节点获取第一节点与第二节点之间的PSK的可能情况:
情况一:在第二节点中存在PSK与第一节点身份标识的对应关系,第二节点可以根据第一节点的身份标识,根据对应关系获取对应的PSK。该对应关系的形式可以是对应关系集合、数据表、数据库等中的一个或者多个,本申请对此不做限定。具体可以参见步骤S504中第一节点侧的相关描述,此处不再赘述。
需要说明是,若第二节点通过情况一的方式来获取PSK,则步骤S509也可以在步骤S501之前执行,该PSK可以用于对第一密钥协商参数进行加密。
情况二:第二节点生成与第一节点之间的PSK。具体的,生成PSK的参数可以包括第一口令、第一共享密钥、第一新鲜性参数、第二新鲜性参数、第一节点的身份标识、第二节点的身份标识等等中的一项或者多项。详细描述可以参见步骤S504中第一节点侧生成 PSK的具体说明,此处不再赘述。
可选的,第二节点根据第一共享密钥和/或PSK得到第二身份认证信息,至少可以有以下三种实现方式:
实现方式一:第二节点根据PSK得到第二身份认证信息。可选的,参与生成第二身份认证信息的可选参数还可以包括第一共享密钥(可以为K KE或者kgt)、第一消息、第二消息以及第二身份认证信息所在的第三消息(下文中会进行描述)、第一节点的密钥协商算法能力、第二节点的密钥协商算法能力中的一项或者多项。上述的消息可以为整条消息,也可以为消息中的部分参数。例如,可以使用整条第二消息作为参数,也可以使用第二消息中的第二新鲜性参数(NONCEt)作为参数。
例如,在一种可能的设计中,第二身份认证信息AUTHt满足:AUTHt=KDF(PSK,第一消息,第二消息,第三消息中的部分参数,第一节点的密钥协商算法能力)。这样一来,其他节点(例如第一节点)可以根据第二身份认证信息校验自身的PSK是否与第二节点中的PSK一致(若一致,则说明第二节点的身份可信),还可以校验第一消息、第二消息以及第三消息中的部分参数是否遭到了篡改。也即是说,第二身份认证信息不仅可以认证第二节点的身份,还可以保护第一消息、第二消息以及第三消息中的部分参数的完整性。
再如,在另一种可能的设计中,第二身份认证信息AUTHt可以满足:AUTHg=AUF(PSK,K KE,第二消息,NONCEt,第一节点的密钥协商算法能力)。各个参数可以参考前述的描述。
实现方式二:实现方式一中的PSK可以替换为前述的交换密钥K KE或者第一共享密钥Kgt。
实现方式三:第二节点根据第一共享密钥和/或PSK确定第一密钥(或者称为身份认证密钥),根据第一密钥生成第二身份认证信息。也即是说,实现方式一中的Kgt可以替换为第一密钥Kauth。
可理解的,在生成第二身份认证信息时,不直接使用PSK或者第一共享密钥,而是使用基于PSK或者第一共享密钥得到的第一密钥,从而可以提高PSK和第一共享密钥的安全性。
可选的,第二节点生成的第二身份认证信息AUTHt满足:AUTHt=KDF(Kauth,第一消息,第二消息,第三消息中的部分参数,第一节点的密钥协商算法能力),各个参数的含义可以参考前述的定义。
需要说明的是,第二节点生成第一密钥Kauth、加密密钥、完保密钥的具体情况,可以参见步骤S505中第一节点侧的描述,此处不再赘述。
可选的,本申请实施例所述的安全接入方法,还可以包括图7所示的步骤S510-步骤S514中的一个或者多个步骤,步骤S510-步骤S514具体如下:
步骤S510:第二节点根据第一身份认证信息,认证第一节点的身份。
具体的,在第一节点将第一身份信息发送给第二节点的情况下(例如第二消息中携带 有第一身份认证信息),第二节点可以根据第一身份信息认证第一节点的身份。
在一种可选的方案中,根据协议规定,第一节点使用什么参数生成第一身份认证信息,则第二节点也应当使用相同的参数生成校验信息,如果校验信息与第一身份认证信息相同,则认为验证通过。
例如,由于第一身份认证信息为根据第一共享密钥和/或PSK确定的,因此第二节点可以根据第一共享密钥和/或PSK,以及第一身份认证信息,认证第一节点的身份。具体的,若第二节点根据第一共享密钥和/或PSK生成的校验信息与第一身份认证信息相同,则确定第一节点的身份认证通过。
再如,若第一身份认证信息AUTHg满足:AUTHg=KDF(Kauth,第一消息,第二消息中的部分参数),则第二节点根据Kauth,则第二节点生成校验信息check1=KDF(Kauth,第一消息,第二消息中的部分参数),若校验信息check1与AUTHg相同,则确定第一节点的身份认证通过。
可选的,若第一身份认证信息验证不通过,第二节点可以断开与第一节点之间的通信连接或者丢弃第二消息,进一步的还可以重新向第一节点发送第一消息。例如,若第一身份认证信息验证不通过,说明第二节点中的第一共享密钥(PSK)与第二节点的第一共享密钥(PSK)不同,因此第一节点的身份不可信,第一节点可能是攻击者伪装的节点,故丢弃第二消息,重新向第一节点发送第一消息,避免接入不可信的节点。
需要说明是,步骤S510也可以在步骤S509之前执行。本申请中其他步骤的执行的先后顺序在不影响方案实现的情况下也可以进行改变。
步骤S511:第二节点向第一节点发送第三消息。
具体的,第三消息中携带有第二身份认证信息。其中,该第二身份认证信息可以为前述步骤S509中确定的第二身份认证信息。
可以理解的,第二节点向第一节点发送第三消息,相应的,第一节点则接收来自第二节点的第三消息。
步骤S512:第一节点根据第二身份认证信息,认证第二节点的身份。
具体的,由于第二身份认证信息为第二节点根据第一共享密钥和/或PSK确定的,因此第一节点中也可以获取第一共享密钥和/或PSK,从而校验第二身份认证信息。
在一种可选的方案中,根据协议规定,第二节点使用什么参数生成第二身份认证信息,则第一节点也应当使用相同的参数生成校验信息,如果校验信息与第二身份认证信息相同,则认为验证通过。
例如,由于第二身份认证信息为根据第一共享密钥和/或PSK确定的,因此第一节点可以根据第一共享密钥和/或PSK,以及第二身份认证信息,认证第二节点的身份。具体的,若第一节点根据第一共享密钥和/或PSK生成的所述校验信息与第二身份认证信息相同,则确定第一节点的身份认证通过。
再如,若第二身份认证信息AUTHt满足:AUTHt=KDF(Kauth,第一消息,第二消息,第三消息中的部分参数,第一节点的密钥协商算法能力)。在这种情况下,第一节点可以根据相同的参数和方式生成校验信息check2,即校验信息check2 满足:check2=KDF(Kauth,第一消息,第二消息,第三消息的部分参数,第一节点的密钥协商算法能力),若校验信息check2与第二身份认证信息AUTHt相同,则确定第二节点的身份认证通过。
可选的,若第二身份认证信息验证不通过,第一节点可以断开与第一节点之间的通信连接。若第二身份认证信息验证通过,则说明第二节点的身份可信,第一节点可以与第二节点进行通信。
步骤S513:第一节点向第二节点发送第四消息。
可选的,该第四消息用于指示第二节点关联已经建立、或者指示第二节点接入成功或者指示验证其身份成功等等。相应的,第二节点可以接收来自第一节点的第四消息。
进一步的,该第四消息可以称为关联建立消息(具体场景中也可以称为关联完成消息)。
在图5所示的实施例中,第二节点通过安全参数(该安全参数可以是PSK或者第一口令)将第一密钥协商参数加密得到第一密文,由于第一节点中预先配置有或者可以获取相同的安全参数,因此第一节点可以对第一密文进行解密得到第一密钥协商参数,后续可以基于该第一密钥协商参数生成共享密钥。由于没有获取安全参数不能生成共享密钥,第二节点无法接入第一节点,因此可以避免攻击者通过第二节点接入第一节点,防止第一节点与身份不可信的攻击者关联成功。
以上图5以及图7所示的方法实施例中包含了很多可能的实现方案,下面结合图8对其中的部分实现方案进行举例说明,需要说明的是,图8未解释到的相关概念、操作或者逻辑关系可以参照图5以及图7所示实施例中的相应描述。
请参见图8和图9,图8是本申请实施例提供的一种安全接入方法,图9为一种可能的该安全接入方法的运行示意图,该方法可以基于图3所示的架构来实现。该安全接入方法可以包括如下步骤:
步骤S801:第二节点根据安全参数加密第一密钥协商参数,得到第一密文。
具体的,一般来说,第一密钥协商参数为根据第二节点的私钥来确定的。参见图9,以密钥协商算法为ECDH算法为例,第二节点可以根据私钥a和基点G确定第一密钥协商参数KEt。
请参见图9,第二节点可以通过安全参数901对第一密钥协商参数KEt进行加密,得到第一密文C1。具体加密方式可以参考步骤S501中的详细描述,此处不再赘述。
步骤S802:第二节点向第一节点发送第一消息。第一消息中包含第二节点的身份标识、第一密文和第一新鲜性参数NONCEt。
步骤S803:第一节点解密第一密文,得到第一密钥协商参数。
具体的,第一密文为基于安全参数和第一密钥协商参数得到的,因此第一节点可以根据安全参数解密第一密文,得到第一密钥协商参数。参见图9,由于安全参数901是第一节点与第二节点之间共享的一个参数,因此第一节点可以根据安全参数901解密第一密文C1得到第一密钥协商参数KEt。具体解密方式可以参考步骤S502中的详细描述,此处不再赘述。
步骤S804:第一节点根据安全参数加密第二密钥协商参数,得到第二密文。
一般来说,第二密钥协商参数为根据第一节点的私钥来确定的。参见图9,以密钥协商算法为ECDH算法为例,第一节点可以根据私钥b和基点G确定第二密钥协商参数KEg。具体加密方式可以参考步骤S506中的详细描述,此处不再赘述。
步骤S805:第一节点基于密钥协商算法,根据第一密钥协商参数、第一新鲜性参数和第二新鲜性参数确定第一共享密钥。
具体的,例如,参见图9,第一节点可以根据第一节点的私钥b、第一密钥协商参数KEt确定交换密钥K KE。根据交换密钥K KE、第一新鲜性参数NONCEt和第二新鲜性参数NONCEg确定第一共享密钥Kgt。
在一些可能的场景中,第一新鲜性参数NONCEt和第二新鲜性参数NONCEg为可选参数(图9中用虚线示出的参数、步骤等为可选参数、步骤)。
步骤S806:第一节点根据第一共享密钥和/或第一节点与第二节点之间的PSK确定身份认证密钥。
具体可以参见步骤S504中的相关描述,此处不再赘述。
参见图9,第一节点生成的身份认证密钥Kauth可以满足:
Kauth=KDF(Kgt||PSK,NONCEt,NOCNEg,IDg,IDt,“authentication”),
其中,“||”可以表示字符串连接(仅为示例,具体实现过程中也可以不进行连接,例如分别作为两个输入参数),Kgt为第一共享密钥,NONCEt为第一新鲜性参数,NOCNEg为第二新鲜性参数,IDg为第一节点的身份标识,IDt为第二节点的身份标识,“authentication”为字符串(可以是预先定义或者配置的,又或者是协议规定的)。在一些可能的场景中,NONCEt、NOCNEg、IDg、IDt、“authentication”为可选参数,第一共享密钥Kgt也可以替换为交换密钥K KE
步骤S807:第一节点根据身份认证密钥,以及第一消息和第二消息中的至少一个确定第一身份认证信息。
具体可以参见步骤S505中的详细描述。
步骤S808:第一节点向第二节点发送第二消息。其中,第二消息中包含第二密文、第二新鲜性参数和第一身份认证信息。
步骤S809:第二节点解密第二密文,得到第二密钥协商参数。
具体的,第二密文为基于安全参数和第二密钥协商参数得到的,因此第二节点可以根据安全参数解密第二密文,得到第二密钥协商参数。参见图9,由于安全参数902是第一节点与第二节点之间共享的一个参数,因此第一节点可以根据安全参数902解密第一密文C1得到第二密钥协商参数KEt。具体解密方式可以参考步骤S507中的详细描述,此处不再赘述。
需要说明的是,具体实现过程中,安全参数901与安全参数902通常是同一个参数,例如,第二节点使用第一口令作为安全参数901,第一节点也使用第一口令作为安全参数902。但是,某些场景中安全参数901与安全参数902也可以不是同一个参数,例如,第一节点使用第一公钥作为安全参数901,第二节点使用第一私钥作为安全参数902,该第一公钥和第一私钥为一个公私钥对。
步骤S810:第二节点基于密钥协商算法,根据第二密钥协商参数、第一新鲜性参数和第二新鲜性参数确定第一共享密钥。
例如,参见图9,第二节点可以根据第二节点的私钥a、第二密钥协商参数KEg确定交换密钥K KE。根据交换密钥K KE、第一新鲜性参数NONCEt和第二新鲜性参数NONCEg确定第一共享密钥Kgt。其中,第一新鲜性参数NONCEt和第二新鲜性参数NONCEg为可选参数。
步骤S811:第二节点根据第一共享密钥和第一节点与第二节点之间的PSK确定身份认证密钥。
具体可以参见步骤S504中的相关描述,此处不再赘述。
步骤S812:第二节点根据身份认证密钥,以及第一消息和第二消息中的至少一个校验第一身份认证信息。
具体可以参见步骤S510中的相关描述,此处不再赘述。
步骤S813:第二节点根据身份认证密钥,以及第一消息、第二消息和第三消息中的至少一个确定第二身份认证信息。
具体可以参见步骤S509中的详细描述。
步骤S814:第二节点向第一节点发送第三消息,第三消息中包括第二身份认证信息。
具体可以参见步骤S511中的描述。可选的,参见图9,该第三消息可以使用加密密钥903进行加密。该加密密钥可以根据第一共享密钥和PSK推演得到的。
可选的,该第三消息还可以使用完整性保护密钥进行完整性保护。
步骤S815:第一节点根据身份认证密钥,以及第一消息、第二消息和第三消息中的至少一个校验第二身份认证信息。
具体可以参见步骤S512中的相关描述。
可选的,图8所示的实施例还可以包括步骤S816,具体如下
步骤S816:第一节点向第二节点发送第四消息。
可选的,参见图9,该第四消息可以使用加密密钥903进行加密。
可选的,该第四消息还可以使用完整性保护密钥进行完整性保护。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参见图10,图10是本申请实施例提供的一种通信装置100的结构示意图,该装置100可以为一个节点,为了便于描述可以称之为第一节点。当然,该装置100也可以为第一节点中的一个器件,例如芯片或者集成电路等,该装置100可以包括接收单元1001和处理单元1002。该通信装置100用于实现前述的安全接入方法,例如图5、图7或者图8所示的任意一个实施例的安全接入方法。
在一种可能的实施方式中,接收单元1001,用于接收来自第二节点的第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;其中,第一节点和第二节点之间的PSK是第一节点与第二节点之间共享的一个秘密值,第一口令可以看作是第二节点接入第一节点 的密码。
处理单元1002,用于根据所述安全参数解密所述第一密文,得到所述第一密钥协商参数;
所述处理单元1002,还用于根据所述第一密钥协商参数和密钥协商算法确定第一共享密钥。
在本申请实施例中,第二节点将第一密钥协商参数通过安全参数(该安全参数可以是PSK或者第一口令)进行加密。上述通信装置可以预先配置有或者可以获取相同的安全参数,因此可以对第一密文进行解密得到第一密钥协商参数,后续可以基于该第一密钥协商参数生成共享密钥。由于没有获取安全参数不能生成共享密钥,第二节点无法接入第一节点,因此可以避免攻击者通过第二节点接入第一节点,防止第一节点与身份不可信的攻击者关联成功。
在一种可能的实施方式中,所述处理单元1002,还用于:
获取所述第一节点与所述第二节点之间的PSK;
根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
上述通信装置100可以根据所述第一共享密钥和PSK得到第一身份认证信息,该第一身份认证信息可以用于认证第一节点的身份。本申请例举一种通过第一身份信息认证第一节点的身份的方法:第二节点确定第一共享密钥,根据第一共享密钥和PSK生成校验信息,若校验信息与第一身份认证信息相同,则说明第一节点与第二节点之间的第一共享密钥和PSK是相同的,从而可以认证第一节点的身份,避免节点与攻击者进行通信,提高节点的安全性。
在又一种可能的实现方式中,所述处理单元1002,具体用于:
根据第一对应关系得到所述第一节点与所述第二节点之间的PSK;
或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数。
可以看出,第一节点可以通过对应关系的形式来存储PSK与第二节点的对应关系。因此,上述通信装置100可以根据第一关系得到第一节点与第二节点之间的PSK。
在一种可能的设计中,PSK是根据第一口令、第一共享密钥、第一随机数和第二随机数来确定的。在第一节点与第二节点第一次进行关联时或者第一节点中没有获取到第一对应关系的情况下,第一节点中不存在与所述第二节点的身份标识对应的PSK,因此上述通信装置100可以确定新的PSK。
在又一种可能的实现方式中,所述处理单元1002,具体用于:
根据所述第一共享密钥、所述第一随机数和所述第二随机数,确定第二共享密钥;
根据所述第一口令、所述第二共享密钥、所述第一随机数、所述第二随机数确定所述第一节点与所述第二节点之间的PSK。
在又一种可能的实现方式中,所述第一密文为根据所述安全参数的哈希值和第一密钥协商参数得到的;所述处理单元1002,具体用于:
根据所述安全参数的哈希值解密所述第一密文,得到所述第一密钥协商参数。
在又一种可能的实现方式中,所述第一密文为所述安全参数的哈希值和第一密钥协商参数通过椭圆曲线点加运算得到的;所述处理单元1002,具体用于:
根据所述安全参数的哈希值和所述第一密文,通过椭圆曲线点减运算,得到所述第一密钥协商参数。
在又一种可能的实现方式中,所述处理单元1002,具体用于:
根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
根据所述第一中间密钥对所述第一密文进行解密,得到所述第一密钥协商参数。
在又一种可能的实现方式中,所述处理单元1002,具体用于:
根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
根据所述第一密钥、所述第一随机数和所述第二随机数,生成所述第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
在又一种可能的实现方式中,所述处理单元1002,还用于根据所述安全参数加密第二密钥协商参数,得到第二密文;
所述装置100,还包括发送单元1003,用于向第二节点发送第二消息,所述第二消息包括所述第一身份认证信息和所述第二密文;所述第二密文用于所述第二节点确定所述第一共享密钥。
其中,第二密钥协商参数用于第二节点确定共享密钥。可以看出,上述通信装置100可以基于安全参数对第二密钥协商参数进行加密,只有破解了安全参数才能解密第二密钥协商参数生成共享密钥,避免了攻击者伪装第二节点接入上述装置100,保证了密钥协商过程的安全性。
在又一种可能的实现方式中,所述接收单元1001,还用于接收来自所述第二节点的第三消息,所述第三消息包括第二身份认证信息;
所述处理单元1002,还用于根据所述第一节点与所述第二节点之间的PSK、所述第一共享密钥以及所述第二身份认证信息,确定所述第二节点的身份认证通过。
上述说明了一种认证第二节点的身份的方法,第二身份认证信息为第二节点根据PSK和第一共享密钥生成的,因此上述通信装置100根据PSK、第一共享密钥和第二身份认证信息可以确定第二节点中的第一共享密钥和PSK是否与第一节点侧相同,从而可以认证第二节点的身份。
在又一种可能的实现方式中,前述第一消息也可以称为接入请求消息(或者关联请求消息)。进一步的,第二消息也可以称为安全上下文请求消息(或者身份认证请求消息)。第三消息也可以称为安全上下文响应消息(或者身份认证响应消息)。
在又一种可能的实施方式中,所述发送单元1003,还用于向第二节点发送第四消息,所述第四消息用于指示接入成功,或者用于指示关联完成。进一步的,该第四消息可以称为关联建立消息(或者接入关联完成消息)、关联完成消息等。
需要说明的是,各个单元的实现还可以对应参照图5或者图8所示的实施例的相应描述。该通信装置100可以为图5或者图8所示实施例中的第一节点。
可以理解的,本申请各个装置实施例中,对多个单元或者模块的划分仅是一种根据功能进行的逻辑划分,不作为对装置具体的结构的限定。在具体实现中,其中部分功能模块 可能被细分为更多细小的功能模块,部分功能模块也可能组合成一个功能模块,但无论这些功能模块是进行了细分还是组合,装置100在安全接入的过程中所执行的大致流程是相同的。例如,上述装置100中的接收单元1001和发送单元1003也可以集成为通信单元,该通信单元可以实现接收单元1001和发送单元1003所实现的功能。通常,每个单元都对应有各自的程序代码(或者程序指令),这些单元各自对应的程序代码在处理器上运行时,使得该单元受处理单元的控制而执行相应的流程从而实现相应功能。
请参见图11,图11是本申请实施例提供的一种通信装置110的结构示意图,该装置110可以为一个节点,为了便于描述可以称之为第二节点。当然,该装置110也可以为第一节点中的一个器件,例如芯片或者集成电路等,该装置110可以包括发送单元1101、接收单元1102和处理单元1103。该通信装置110用于实现前述的安全接入方法,例如图5、图7或者图8所示的任意一个实施例的安全接入方法。
在一种可能的实施方式中,发送单元1101,用于向第一节点发送第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;
接收单元1102,用于接收来自所述第一节点的第二消息,所述第二消息包括第二密文;所述第二密文为根据所述安全参数加密第二密钥协商参数得到的;
处理单元1103,用于根据所述安全参数解密所述第二密文,得到所述第二密钥协商参数;
所述处理单元1103,还用于根据所述第二密钥协商参数和密钥协商算法确定第一共享密钥;
所述处理单元1103,还用于根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证信息,所述第二身份认证信息用于认证所述第二节点的身份。
在本申请实施例中,上述通信装置110将所述第一密钥协商参数通过所述安全参数(该安全参数可以是PSK或者第一口令)进行加密再发送给所述第一节点,相应的,所述第一节点也通过安全参数加密第二密钥协商参数。通信双方可以通过安全参数对密文进行解密,基于该密钥协商参数生成共享密钥。由于没有获取安全参数则不能生成共享密钥,第二节点无法接入第一节点,因此可以避免第二节点接入不可信的第一节点,提高第二节点的安全性。
在一种可能的实施方式中,所述处理单元1103,还用于:
获取所述第一节点与所述第二节点之间的PSK。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
根据第二对应关系得到所述第一节点与所述第二节点之间的PSK;
或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数;其中,所述第一消息中包含所述第一随机数。
可以看出,可以通过对应关系的形式来存储PSK与第一节点的对应关系。因此,上述 通信装置110可以根据对应关系得到第一节点与第二节点之间的PSK。
在一种可能的设计中,PSK是根据第一口令、第一共享密钥、第一随机数和第二随机数来确定的。在第一节点与第二节点第一次进行关联时或者第一节点中没有获取到第一对应关系的情况下,第二节点中不存在与所述第一节点对应的PSK,因此上述通信装置110可以通过上述方式确定新的PSK。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
根据所述第一共享密钥、所述第一随机数和所述第二随机数,确定第二共享密钥;
根据所述第一口令、所述第二共享密钥、所述第一随机数、所述第二随机数确定所述第一节点与所述第二节点之间的PSK。
在又一种可能的实施方式中,所述处理单元1103,还用于:
根据所述安全参数加密所述第一密钥协商参数,得到所述第一密文。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
根据所述安全参数的哈希值加密所述第一密钥协商参数,得到所述第一密文;
或者,根据所述安全参数的哈希值和所述第一密钥协商参数,通过椭圆曲线点加运算,得到所述第一密文;
又或者,根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
根据所述第一中间密钥加密所述第一密钥协商参数,得到所述第一密文。
在又一种可能的实施方式中,所述处理单元103,具体用于:
根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
根据所述第一密钥、第一随机数和第二随机数,生成所述第二身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
在又一种可能的实施方式中,所述第二消息中还包括第一身份认证信息;所述处理单元1103,还用于:
根据所述第一节点与所述第二节点之间的PSK、所述第一共享密钥以及所述第一身份认证信息,确定所述第一节点的身份认证通过。
上述说明了一种认证第一节点的身份的方法,第一身份认证信息为第一节点根据PSK和第一共享密钥生成的,因此根据PSK、第一共享密钥和第一身份认证信息可以确定第一节点中的第一共享密钥和PSK是否与第二节点侧相同,从而可以认证第一节点的身份。需要说明的是,认证第一节点的身份的时机可以是周期的,也可以是非周期的,或者还可以在执行某些重要操作之前,认证第一节点的身份,取决于具体实施时候的实现。
在又一种可能的实现方式中,前述第一消息也可以称为接入请求消息(或者关联请求消息)。进一步的,第二消息也可以称为安全上下文请求消息(或者身份认证请求消息)。第三消息也可以称为安全上下文响应消息(或者身份认证响应消息)。
在又一种可能的实施方式中,所述接收单元1102,还用于接收来自第一节点的第四消息,所述第四消息用于指示接入成功,或者用于指示关联完成。进一步的,该第四消息可以称为关联建立消息(或者接入关联完成消息)、关联完成消息等。
需要说明的是,各个单元的实现还可以对应参照图5或者图8所示的实施例的相应描述。该通信装置110可以为图5或者图8所示实施例中的第二节点。
请参见图12,图12是本申请实施例提供的一种通信装置120的结构示意图,该通信装置120可以为节点,也可以为节点中的一个器件,例如芯片或者集成电路等。该装置120可以包括至少一个处理器1202和通信接口1204。进一步可选的,所述通信装置还可以包括至少一个存储器1201。更进一步可选的,还可以包含总线1203,其中,存储器1201、处理器1202和通信接口1204通过总线1203相连。
其中,存储器1201用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器1201可以是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)等等中的一种或者多种的组合。
处理器1202是进行算术运算和/或逻辑运算的模块,具体可以是中央处理器(central processing unit,CPU)、图片处理器(graphics processing unit,GPU)、微处理器(microprocessor unit,MPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex programmable logic device,CPLD)、协处理器(协助中央处理器完成相应处理和应用)、微控制单元(Microcontroller Unit,MCU)等处理模块中的一种或者多种的组合。
通信接口1204可以用于为所述至少一个处理器提供信息输入或者输出。和/或所述通信接口可以用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(Wi-Fi、蓝牙、通用无线传输、车载短距通信技术等)接口。可选的,通信接口1204还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行前述的安全接入方法,例如图5、图7或者图8所示实施例所描述的安全接入方法。
在一种设计中,该通信装置120可以为图5、图7或者图8所示实施例中的第一节点。该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行以下操作:
通过通信接口1204接收来自第二节点的第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;其中,第一节点和第二节点之间的PSK是第一节点与第二节点之间共享的一个秘密值,第一口令可以看作是第二节点接入第一节点的密码。
根据所述安全参数解密所述第一密文,得到所述第一密钥协商参数;
根据所述第一密钥协商参数和密钥协商算法确定第一共享密钥。
在本申请实施例中,第二节点将所述第一密钥协商参数使用所述安全参数(该安全参数可以是PSK或者第一口令)进行加密得到所述第一密文。上述通信装置120可以预先配置有或者可以获取相同的安全参数,因此可以对所述第一密文进行解密得到第一密钥协商 参数,后续可以基于该第一密钥协商参数生成共享密钥。由于没有获取安全参数则不能生成共享密钥,第二节点无法接入第一节点,因此可以避免攻击者通过第二节点接入第一节点,防止第一节点与身份不可信的攻击者关联成功。
在一种可能的实施方式中,所述处理器1202,还用于:
获取所述第一节点与所述第二节点之间的PSK;
根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
第二节点可以根据所述第一共享密钥和PSK得到第一身份认证信息,该第一身份认证信息可以用于认证第一节点的身份。本申请例举一种通过第一身份信息认证第一节点的身份的方法:第二节点确定第一共享密钥,根据第一共享密钥和PSK生成校验信息,若校验信息与第一身份认证信息相同,则说明第一节点与第二节点之间的第一共享密钥和PSK是相同的,从而可以认证第一节点的身份,避免节点与攻击者进行通信,提高节点的安全性。
在又一种可能的实现方式中,所述处理器1202,具体用于:
根据第一对应关系得到所述第一节点与所述第二节点之间的PSK;
或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数。
可以看出,第一节点可以通过对应关系的形式来存储PSK与第二节点的对应关系。因此,上述通信装置120可以根据第一关系得到第一节点与第二节点之间的PSK。
在一种可能的设计中,PSK是根据第一口令、第一共享密钥、第一随机数和第二随机数来确定的。在第一节点与第二节点第一次进行关联时或者第一节点中没有获取到第一对应关系的情况下,第一节点中不存在与所述第二节点的身份标识对应的PSK,因此上述通信装置120可以确定新的PSK。
在又一种可能的实现方式中,所述处理器1202,具体用于:
根据所述第一共享密钥、所述第一随机数和所述第二随机数,确定第二共享密钥;
根据所述第一口令、所述第二共享密钥、所述第一随机数、所述第二随机数确定所述第一节点与所述第二节点之间的PSK。
在又一种可能的实现方式中,所述第一密文为根据所述安全参数的哈希值和第一密钥协商参数得到的;所述处理器1202,具体用于:
根据所述安全参数的哈希值解密所述第一密文,得到所述第一密钥协商参数。
在又一种可能的实现方式中,所述第一密文为所述安全参数的哈希值和第一密钥协商参数通过椭圆曲线点加运算得到的;所述处理器1202,具体用于:
根据所述安全参数的哈希值和所述第一密文,通过椭圆曲线点减运算,得到所述第一密钥协商参数。
在又一种可能的实现方式中,所述处理器1202,具体用于:
根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
根据所述第一中间密钥对所述第一密文进行解密,得到所述第一密钥协商参数。
在又一种可能的实现方式中,所述处理器1202,具体用于:
根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
根据所述第一密钥、所述第一随机数和所述第二随机数,生成所述第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
在又一种可能的实现方式中,所述处理器1202,还用于:
根据所述安全参数加密第二密钥协商参数,得到第二密文;
通过通信接口1204向第二节点发送第二消息,所述第二消息包括所述第一身份认证信息和所述第二密文;所述第二密文用于所述第二节点确定所述第一共享密钥。
其中,第二密钥协商参数用于第二节点确定共享密钥。可以看出,上述通信装置120可以基于安全参数对第二密钥协商参数进行加密,只有破解了安全参数才能解密第二密钥协商参数生成共享密钥,避免了攻击者伪装第二节点接入上述装置120,保证了密钥协商过程的安全性。
在又一种可能的实现方式中,所述处理器1202,还用于:
通过通信接口1204接收来自所述第二节点的第三消息,所述第三消息包括第二身份认证信息;
根据所述第一节点与所述第二节点之间的PSK、所述第一共享密钥以及所述第二身份认证信息,确定所述第二节点的身份认证通过。
上述说明了一种认证第二节点的身份的方法,第二身份认证信息为第二节点根据PSK和第一共享密钥生成的,因此上述通信装置120根据PSK、第一共享密钥和第二身份认证信息可以确定第二节点中的第一共享密钥和PSK是否与第一节点侧相同,从而可以认证第二节点的身份。
在又一种可能的实现方式中,前述第一消息也可以称为接入请求消息(或者关联请求消息)。进一步的,第二消息也可以称为安全上下文请求消息(或者身份认证请求消息)。第三消息也可以称为安全上下文响应消息(或者身份认证响应消息)。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口向第二节点发送第四消息,所述第四消息用于指示接入成功,或者用于指示关联完成。进一步的,该第四消息可以称为关联建立消息(或者接入关联完成消息)、关联完成消息等。
具体实现还可以参考图3或者图5所示实施例中的详细描述,此处不再赘述。
在一种设计中,该通信装置120可以为图5、图7或者图8所示实施例中的第二节点。该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行以下操作:
通过通信接口1204向第一节点发送第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;
通过通信接口1204接收来自所述第一节点的第二消息,所述第二消息包括第二密文;所述第二密文为根据所述安全参数加密第二密钥协商参数得到的;
根据所述安全参数解密所述第二密文,得到所述第二密钥协商参数;
根据所述第二密钥协商参数和密钥协商算法确定第一共享密钥;
根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证信息,所述第二身份认证信息用于认证所述第二节点的身份。
在本申请实施例中,上述通信装置120将所述第一密钥协商参数通过所述安全参数(该安全参数可以是PSK或者第一口令)进行加密再发送给第一节点,相应的,第一节点也通过安全参数加密所述第二密钥协商参数。通信双方可以通过安全参数对密文进行解密,基于密钥协商参数生成共享密钥。由于没有获取安全参数则不能生成共享密钥,第二节点无法接入第一节点,因此可以避免第二节点接入不可信的第一节点,提高第二节点的安全性。
在一种可能的实施方式中,所述处理器1202,还用于:
获取所述第一节点与所述第二节点之间的PSK。
在第六方面的又一种可能的实施方式中,所述处理器,具体用于:
根据第二对应关系得到所述第一节点与所述第二节点之间的PSK;
或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数;其中,所述第一消息中包含所述第一随机数。
可以看出,可以通过对应关系的形式来存储PSK与第一节点的对应关系。因此,上述通信装置120可以根据对应关系得到第一节点与第二节点之间的PSK。
在一种可能的设计中,PSK是根据第一口令、第一共享密钥、第一随机数和第二随机数来确定的。在第一节点与第二节点第一次进行关联时或者第一节点中没有获取到第一对应关系的情况下,第二节点中不存在与所述第一节点对应的PSK,因此上述通信装置120可以通过上述方式确定新的PSK。
在又一种可能的实施方式中,所述处理器1202,具体用于:
根据所述第一共享密钥、所述第一随机数和所述第二随机数,确定第二共享密钥;
根据所述第一口令、所述第二共享密钥、所述第一随机数、所述第二随机数确定所述第一节点与所述第二节点之间的PSK。
在又一种可能的实施方式中,所述处理器1202,还用于:
根据所述安全参数加密所述第一密钥协商参数,得到所述第一密文。
在又一种可能的实施方式中,所述处理器1202,具体用于:
根据所述安全参数的哈希值加密所述第一密钥协商参数,得到所述第一密文;
或者,根据所述安全参数的哈希值和所述第一密钥协商参数,通过椭圆曲线点加运算,得到所述第一密文;
或者,根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
根据所述第一中间密钥加密所述第一密钥协商参数,得到所述第一密文。
在又一种可能的实施方式中,所述处理器1202,具体用于:
根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
根据所述第一密钥、第一随机数和第二随机数,生成所述第二身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
在又一种可能的实施方式中,所述第二消息中还包括第一身份认证信息;所述处理器 1202,还用于:
根据所述第一节点与所述第二节点之间的PSK、所述第一共享密钥以及所述第一身份认证信息,确定所述第一节点的身份认证通过。
上述说明了一种认证第一节点的身份的方法,第一身份认证信息为第一节点根据PSK和第一共享密钥生成的,因此根据PSK、第一共享密钥和第一身份认证信息可以确定第一节点中的第一共享密钥和PSK是否与第二节点侧相同,从而可以认证第一节点的身份。需要说明的是,认证第一节点的身份的时机可以是周期的,也可以是非周期的,或者还可以在执行某些重要操作之前,认证第一节点的身份,取决于具体实施时候的实现。
在又一种可能的实现方式中,前述第一消息也可以称为接入请求消息(或者关联请求消息)。进一步的,第二消息也可以称为安全上下文请求消息(或者身份认证请求消息)。第三消息也可以称为安全上下文响应消息(或者身份认证响应消息)。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口1204接收来自第一节点的第四消息,所述第四消息用于指示接入成功,或者用于指示关联完成。进一步的,该第四消息可以称为关联建立消息(或者接入关联完成消息)、关联完成消息等。
具体实现还可以参考图5、图7或者图8所示实施例中的详细描述,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,实现图5、图7或者图8所示的实施例所述的方法。
本申请实施例还提供了一种芯片系统,所述芯片系统包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,实现图5、图7或者图8所示的实施例所述的方法。
进一步,所述至少一个处理器可以包含CPU、MPU、MCU或者协处理器中的至少一个。
本申请实施例还提供一种终端,所述终端可以为智能座舱产品、或者车辆等,所述终端包括第一节点和/或第二节点,其中所述第一节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入、启动系统控制器以及用户设备UE等模块中的一个或者多个)为图5、图7或者图8所示实施例中的第一节点,所述第二节点(例如,基站、汽车座舱域控制器CDC等)为图5、图7或者图8所示实施例中的第二节点。
进一步可选的,所述终端可以为无人机、机器人、智能家居场景中的设备、智能制造场景中的设备等。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在一个或多个处理器上运行时,可以实现如图5、图7或者图8所示的实施例所描述的通信方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。
当使用软件实现时,可以全部或部分地以计算机指令产品的形式实现。
在计算机上加载和执行该计算机指令时,可以全部或部分地实现本申请实施例所描述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程 装置。该计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请方法实施例中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请装置实施例中的模块可以根据实际需要进行合并、划分和删减。

Claims (43)

  1. 一种安全接入方法,其特征在于,所述方法包括:
    接收来自第二节点的第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;
    根据所述安全参数解密所述第一密文,得到所述第一密钥协商参数;
    根据所述第一密钥协商参数和密钥协商算法确定第一共享密钥;
    获取所述第一节点与所述第二节点之间的PSK;
    根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
  2. 根据权利要求1中所述的方法,其特征在于,所述获取所述第一节点与所述第二节点之间的PSK,包括:
    根据第一对应关系得到所述第一节点与所述第二节点之间的PSK;
    或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数。
  3. 根据权利要求1或2中所述的方法,其特征在于,所述第一密文为根据所述安全参数的哈希值和第一密钥协商参数得到的;所述根据所述第一口令解密所述第一密文,得到所述第一密钥协商参数,包括:
    根据所述安全参数的哈希值解密所述第一密文,得到所述第一密钥协商参数。
  4. 根据权利要求3中所述的方法,其特征在于,所述第一密文为所述安全参数的哈希值和第一密钥协商参数通过椭圆曲线点加运算得到的;所述根据所述第一口令解密所述第一密文,得到所述第一密钥协商参数,包括:
    根据所述安全参数的哈希值和所述第一密文,通过椭圆曲线点减运算,得到所述第一密钥协商参数。
  5. 根据权利要求3中所述的方法,其特征在于,所述根据所述安全参数解密所述第一密文,得到所述第一密钥协商参数,包括:
    根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
    根据所述第一中间密钥对所述第一密文进行解密,得到所述第一密钥协商参数。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第一身份认证信息,包括:
    根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
    根据所述第一密钥、所述第一随机数和所述第二随机数,生成所述第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
  7. 根据权利要求1-6任一项中所述的方法,其特征在于,所述方法还包括:
    根据所述安全参数加密第二密钥协商参数,得到第二密文;
    向第二节点发送第二消息,所述第二消息包括所述第一身份认证信息和所述第二密文;所述第二密文用于所述第二节点确定所述第一共享密钥。
  8. 根据权利要求7中所述的方法,其特征在于,所述根据所述安全参数加密第二密钥协商参数,得到第二密文,包括:
    根据所述安全参数的哈希值加密所述第二密钥协商参数,得到所述第二密文;
    或者,根据所述安全参数的哈希值和所述第二密钥协商参数,通过椭圆曲线点加运算,得到所述第二密文;
    或者,根据所述安全参数的哈希值和所述第二随机数,确定第二中间密钥;
    根据所述第二中间密钥加密所述第二密钥协商参数,得到所述第二密文。
  9. 根据权利要求7或8中所述的方法,其特征在于,所述方法还包括:
    接收来自所述第二节点的第三消息,所述第三消息包括第二身份认证信息;
    根据所述第一节点与所述第二节点之间的PSK、所述第一共享密钥以及所述第二身份认证信息,确定所述第二节点的身份认证通过。
  10. 一种安全接入方法,其特征在于,所述方法包括:
    向第一节点发送第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;
    接收来自所述第一节点的第二消息,所述第二消息包括第二密文;所述第二密文为根据所述安全参数加密第二密钥协商参数得到的;
    根据所述安全参数解密所述第二密文,得到所述第二密钥协商参数;
    根据所述第二密钥协商参数和密钥协商算法确定第一共享密钥;
    根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证信息,所述第二身份认证信息用于认证所述第二节点的身份。
  11. 根据权利要求10中所述的方法,其特征在于,所述根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证信息之前,还包括:
    获取所述第一节点与所述第二节点之间的PSK。
  12. 根据权利要求10或11中所述的方法,其特征在于,所述获取所述第一节点与所述第二节点之间的PSK,包括:
    根据第二对应关系得到所述第一节点与所述第二节点之间的PSK;
    或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数;其中,所述第一消息中包含所述第一随机数。
  13. 根据权利要求10-12任一项所述的方法,其特征在于,在发送第一消息之前,所述方法还包括:
    根据所述安全参数加密所述第一密钥协商参数,得到所述第一密文。
  14. 根据权利要求13中所述的方法,其特征在于,所述根据所述安全参数加密所述第一密钥协商参数,得到所述第一密文,包括:
    根据所述安全参数的哈希值加密所述第一密钥协商参数,得到所述第一密文;
    或者,根据所述安全参数的哈希值和所述第一密钥协商参数,通过椭圆曲线点加运算,得到所述第一密文;
    或者,根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
    根据所述第一中间密钥加密所述第一密钥协商参数,得到所述第一密文。
  15. 根据权利要求10-14任一项中所述的方法,其特征在于,所述第二密文为根据所述安全参数的哈希值和第二密钥协商参数得到的;所述根据所述安全参数解密所述第二密文,得到所述第二密钥协商参数,包括:
    根据所述安全参数的哈希值解密所述第二密文,得到所述第二密钥协商参数。
  16. 根据权利要求15中所述的方法,其特征在于,所述第一密文为所述安全参数的哈希值和第一密钥协商参数通过椭圆曲线点加运算得到的;根据所述安全参数的哈希值解密所述第二密文,得到所述第二密钥协商参数,包括:
    根据所述安全参数的哈希值和所述第二密文,通过椭圆曲线点减运算,得到所述第二密钥协商参数。
  17. 根据权利要求15中所述的方法,其特征在于,所述根据所述安全参数解密所述第二密文,得到所述第二密钥协商参数,包括:
    根据所述安全参数的哈希值和所述第二随机数,确定第二中间密钥;
    根据所述第二中间密钥对所述第二密文进行解密,得到所述第二密钥协商参数。
  18. 根据权利要求10-17任一项所述的方法,其特征在于,所述根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证信息,还包括:
    根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
    根据所述第一密钥、第一随机数和第二随机数,生成所述第二身份认证信息,所述第二身份认证信息用于认证所述第二节点的身份。
  19. 根据权利要求18中所述的方法,其特征在于,所述第二消息中还包括第一身份认证信息;所述根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证信息之前,所述方法还包括:
    根据所述第一身份认证信息、所述第一共享密钥和所述PSK确定所述第一节点的身份认证通过。
  20. 一种通信装置,其特征在于,包括:
    接收单元,用于接收来自第二节点的第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;
    处理单元,用于根据所述安全参数解密所述第一密文,得到所述第一密钥协商参数;
    所述处理单元,还用于根据所述第一密钥协商参数和密钥协商算法确定第一共享密钥;
    所述处理单元,还用于获取所述第一节点与所述第二节点之间的PSK;
    所述处理单元,还用于根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
  21. 根据权利要求20中所述的装置,其特征在于,所述处理单元,具体用于:
    根据第一对应关系得到所述第一节点与所述第二节点之间的PSK;
    或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数。
  22. 根据权利要求20或21中所述的装置,其特征在于,所述第一密文为根据所述安全参数的哈希值和第一密钥协商参数得到的;所述处理单元,具体用于:
    根据所述安全参数的哈希值解密所述第一密文,得到所述第一密钥协商参数。
  23. 根据权利要求22中所述的装置,其特征在于,所述第一密文为所述安全参数的哈希值和第一密钥协商参数通过椭圆曲线点加运算得到的;所述处理单元,具体用于:
    根据所述安全参数的哈希值和所述第一密文,通过椭圆曲线点减运算,得到所述第一密钥协商参数。
  24. 根据权利要求22中所述的装置,其特征在于,所述处理单元,具体用于:
    根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
    根据所述第一中间密钥对所述第一密文进行解密,得到所述第一密钥协商参数。
  25. 根据权利要求20-24任一项所述的装置,其特征在于,所述处理单元,具体用于:
    根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
    根据所述第一密钥、所述第一随机数和所述第二随机数,生成所述第一身份认证信息,所述第一身份认证信息用于认证所述第一节点的身份。
  26. 根据权利要求20-25任一项中所述的装置,其特征在于,所述处理单元,还用于:
    根据所述安全参数加密第二密钥协商参数,得到第二密文;
    向第二节点发送第二消息,所述第二消息包括所述第一身份认证信息和所述第二密文;所述第二密文用于所述第二节点确定所述第一共享密钥。
  27. 根据权利要求26中所述的装置,其特征在于,所述处理单元,具体用于:
    根据所述安全参数的哈希值加密所述第二密钥协商参数,得到所述第二密文;
    或者,根据所述安全参数的哈希值和所述第二密钥协商参数,通过椭圆曲线点加运算,得到所述第二密文;
    或者,根据所述安全参数的哈希值和所述第二随机数,确定第二中间密钥;
    根据所述第二中间密钥加密所述第二密钥协商参数,得到所述第二密文。
  28. 根据权利要求26或27中所述的装置,其特征在于,所述处理单元,具体用于:
    接收来自所述第二节点的第三消息,所述第三消息包括第二身份认证信息;
    根据所述第一节点与所述第二节点之间的PSK、所述第一共享密钥以及所述第二身份认证信息,确定所述第二节点的身份认证通过。
  29. 一种通信装置,其特征在于,包括:
    发送单元,用于向第一节点发送第一消息,所述第一消息包含第一密文,所述第一密文为根据安全参数和第一密钥协商参数得到的;所述安全参数为第一节点与第二节点之间的预共享密钥PSK或者为第一口令;所述第一口令为第一节点与所述第二节点之间的约定接入口令;
    接收单元,用于接收来自所述第一节点的第二消息,所述第二消息包括第二密文;所述第二密文为根据所述安全参数加密第二密钥协商参数得到的;
    处理单元,用于根据所述安全参数解密所述第二密文,得到所述第二密钥协商参数;
    所述处理单元,还用于根据所述第二密钥协商参数和密钥协商算法确定第一共享密钥;
    所述处理单元,还用于根据所述第一共享密钥和所述第一节点与所述第二节点之间的PSK得到第二身份认证信息,所述第二身份认证信息用于认证所述第二节点的身份。
  30. 根据权利要求29中所述的装置,其特征在于,所述处理单元,还用于:
    获取所述第一节点与所述第二节点之间的PSK。
  31. 根据权利要求29或30中所述的装置,其特征在于,所述处理单元,具体用于:
    根据第二对应关系得到所述第一节点与所述第二节点之间的PSK;
    或者,根据所述第一口令、所述第一共享密钥、第一随机数和第二随机数确定所述第 一节点与所述第二节点之间的PSK;其中,所述第一消息还包含所述第一随机数;其中,所述第一消息中包含所述第一随机数。
  32. 根据权利要求29-31任一项所述的装置,其特征在于,所述处理单元,还用于:
    根据所述安全参数加密所述第一密钥协商参数,得到所述第一密文。
  33. 根据权利要求32中所述的装置,其特征在于,所述处理单元,具体用于:
    根据所述安全参数的哈希值加密所述第一密钥协商参数,得到所述第一密文;
    或者,根据所述安全参数的哈希值和所述第一密钥协商参数,通过椭圆曲线点加运算,得到所述第一密文;
    或者,根据所述安全参数的哈希值和所述第一随机数,确定第一中间密钥;
    根据所述第一中间密钥加密所述第一密钥协商参数,得到所述第一密文。
  34. 根据权利要求29-33任一项中所述的装置,其特征在于,所述第二密文为根据所述安全参数的哈希值和第二密钥协商参数得到的;所述处理单元,具体用于:
    根据所述安全参数的哈希值解密所述第二密文,得到所述第二密钥协商参数。
  35. 根据权利要求34所述的装置,其特征在于,所述第一密文为所述安全参数的哈希值和第一密钥协商参数通过椭圆曲线点加运算得到的;所述处理单元,具体用于:
    根据所述安全参数的哈希值和所述第二密文,通过椭圆曲线点减运算,得到所述第二密钥协商参数。
  36. 根据权利要求34所述的装置,其特征在于,所述处理单元,具体用于:
    根据所述安全参数的哈希值和所述第二随机数,确定第二中间密钥;
    根据所述第二中间密钥对所述第二密文进行解密,得到所述第二密钥协商参数。
  37. 根据权利要求29-36任一项所述的装置,其特征在于,所述处理单元,还用于:
    根据所述第一共享密钥、所述PSK、所述第一随机数和第二随机数推演得到第一密钥;
    根据所述第一密钥、第一随机数和第二随机数,生成所述第二身份认证信息,所述第二身份认证信息用于认证所述第二节点的身份。
  38. 根据权利要求37中所述的装置,其特征在于,所述第二消息中还包括第一身份认证信息;所述处理单元,还用于:
    根据所述第一身份认证信息、所述第一共享密钥和所述PSK确定所述第一节点的身份认证通过。
  39. 一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储 的计算机程序,使得所述芯片系统实现如权利要求1-9中任一项所述的方法。
  40. 一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,使得所述芯片系统实现如权利要求10-19中任一项所述的方法。
  41. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-9中任一项所述的方法。
  42. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求10-19中任一项所述的方法。
  43. 一种安全接入系统,其特征在于,包括:
    第一节点,所述第一节点包含如权利要求20-28中任一项所述的通信装置;
    第二节点,所述第二节点包含如权利要求29-38中任一项所述的通信装置。
PCT/CN2020/139154 2020-12-24 2020-12-24 一种安全接入方法及装置 WO2022133949A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2020/139154 WO2022133949A1 (zh) 2020-12-24 2020-12-24 一种安全接入方法及装置
JP2023538932A JP2024500489A (ja) 2020-12-24 2020-12-24 セキュアアクセス方法および装置
CN202080004818.4A CN112740733B (zh) 2020-12-24 2020-12-24 一种安全接入方法及装置
EP20966521.5A EP4254861A4 (en) 2020-12-24 2020-12-24 SECURE ACCESS METHOD AND DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/139154 WO2022133949A1 (zh) 2020-12-24 2020-12-24 一种安全接入方法及装置

Publications (1)

Publication Number Publication Date
WO2022133949A1 true WO2022133949A1 (zh) 2022-06-30

Family

ID=75609498

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/139154 WO2022133949A1 (zh) 2020-12-24 2020-12-24 一种安全接入方法及装置

Country Status (4)

Country Link
EP (1) EP4254861A4 (zh)
JP (1) JP2024500489A (zh)
CN (1) CN112740733B (zh)
WO (1) WO2022133949A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992331A (zh) * 2021-11-15 2022-01-28 苏州挚途科技有限公司 车载以太网数据传输方法、装置及系统
CN115361230A (zh) * 2022-10-18 2022-11-18 江苏智能无人装备产业创新中心有限公司 一种车载以太网的车内安全信息通信方法、系统及介质
CN115599596A (zh) * 2022-09-16 2023-01-13 花瓣云科技有限公司(Cn) 数据处理方法、电子设备、系统及存储介质
CN116761167A (zh) * 2023-08-21 2023-09-15 北京领创医谷科技发展有限责任公司 一种数据加密传输方法、系统、电子设备及存储介质
CN117318940A (zh) * 2023-11-27 2023-12-29 山东师范大学 基于认证秘密分享的多方协同签名方法及系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023279283A1 (zh) * 2021-07-07 2023-01-12 华为技术有限公司 建立车辆安全通信的方法、车辆、终端及系统
CN115701724B (zh) * 2021-08-02 2024-05-03 华为技术有限公司 用于设备连接的方法、电子设备和系统
KR20240065291A (ko) * 2021-09-30 2024-05-14 후아웨이 테크놀러지 컴퍼니 리미티드 통신 방법, 장치, 및 시스템
WO2023230929A1 (zh) * 2022-05-31 2023-12-07 华为技术有限公司 通信方法及相关装置
WO2024036435A1 (zh) * 2022-08-15 2024-02-22 华为技术有限公司 通信方法、装置和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033518A1 (en) * 2001-08-08 2003-02-13 Faccin Stefano M. Efficient security association establishment negotiation technique
US20080313455A1 (en) * 2007-06-12 2008-12-18 Nokia Siemens Networks Oy Key support for password-based authentication mechanisms
CN104935426A (zh) * 2014-03-21 2015-09-23 华为技术有限公司 密钥协商方法、用户设备和近距离通信控制网元
CN108574569A (zh) * 2017-03-08 2018-09-25 中国移动通信有限公司研究院 一种基于量子密钥的认证方法及认证装置
CN110572800A (zh) * 2019-08-14 2019-12-13 中国人民解放军战略支援部队信息工程大学 面向机器到机器环境下设备身份认证方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8126145B1 (en) * 2005-05-04 2012-02-28 Marvell International Ltd. Enhanced association for access points
CN102035646B (zh) * 2010-12-24 2012-12-26 北京工业大学 一种增强保护的混合密钥协商方法
US9705859B2 (en) * 2015-12-11 2017-07-11 Amazon Technologies, Inc. Key exchange through partially trusted third party
CN106209369B (zh) * 2016-07-01 2019-04-12 中国人民解放军国防科学技术大学 一种基于身份密码系统的通信方法
CN107820239B (zh) * 2016-09-12 2021-11-19 中国移动通信有限公司研究院 信息处理方法及装置
CN110366176B (zh) * 2019-06-20 2021-08-06 北京邮电大学 一种车载自组织网络的密钥协商方法
CN111835752B (zh) * 2020-07-09 2022-04-12 国网山西省电力公司信息通信分公司 基于设备身份标识的轻量级认证方法及网关

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033518A1 (en) * 2001-08-08 2003-02-13 Faccin Stefano M. Efficient security association establishment negotiation technique
US20080313455A1 (en) * 2007-06-12 2008-12-18 Nokia Siemens Networks Oy Key support for password-based authentication mechanisms
CN104935426A (zh) * 2014-03-21 2015-09-23 华为技术有限公司 密钥协商方法、用户设备和近距离通信控制网元
CN108574569A (zh) * 2017-03-08 2018-09-25 中国移动通信有限公司研究院 一种基于量子密钥的认证方法及认证装置
CN110572800A (zh) * 2019-08-14 2019-12-13 中国人民解放军战略支援部队信息工程大学 面向机器到机器环境下设备身份认证方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4254861A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992331A (zh) * 2021-11-15 2022-01-28 苏州挚途科技有限公司 车载以太网数据传输方法、装置及系统
CN115599596A (zh) * 2022-09-16 2023-01-13 花瓣云科技有限公司(Cn) 数据处理方法、电子设备、系统及存储介质
CN115599596B (zh) * 2022-09-16 2023-07-18 花瓣云科技有限公司 数据处理方法、电子设备、系统及存储介质
CN115361230A (zh) * 2022-10-18 2022-11-18 江苏智能无人装备产业创新中心有限公司 一种车载以太网的车内安全信息通信方法、系统及介质
CN116761167A (zh) * 2023-08-21 2023-09-15 北京领创医谷科技发展有限责任公司 一种数据加密传输方法、系统、电子设备及存储介质
CN116761167B (zh) * 2023-08-21 2023-11-03 北京领创医谷科技发展有限责任公司 一种数据加密传输方法、系统、电子设备及存储介质
CN117318940A (zh) * 2023-11-27 2023-12-29 山东师范大学 基于认证秘密分享的多方协同签名方法及系统
CN117318940B (zh) * 2023-11-27 2024-02-23 山东师范大学 基于认证秘密分享的多方协同签名方法及系统

Also Published As

Publication number Publication date
EP4254861A4 (en) 2024-01-17
CN112740733A (zh) 2021-04-30
CN112740733B (zh) 2022-08-26
EP4254861A1 (en) 2023-10-04
JP2024500489A (ja) 2024-01-09

Similar Documents

Publication Publication Date Title
WO2022133949A1 (zh) 一种安全接入方法及装置
US20070055877A1 (en) Security in a communication network
CN108347404B (zh) 一种身份认证方法及装置
WO2022110083A1 (zh) 一种通信方法及装置
KR20080058460A (ko) 네트워크 엔티티들 사이에서 데이터 협정을 인증하기 위한시스템, 방법 및 컴퓨터 프로그램 제품
WO2018127118A1 (zh) 一种身份认证方法及装置
WO2021168860A1 (zh) 一种密钥更新方法及相关装置
WO2021022406A1 (zh) 一种身份验证方法及装置
WO2022021256A1 (zh) 一种关联控制方法及相关装置
WO2022021258A1 (zh) 一种通信方法及装置
Sinha et al. A Secure Three-Party Authenticated Key Exchange Protocol for Social Networks.
WO2023230929A1 (zh) 通信方法及相关装置
WO2022204888A1 (zh) 一种配对方法及装置
CN108429717B (zh) 一种身份认证方法及装置
WO2022041141A1 (zh) 一种通信方法及相关装置
US20230099065A1 (en) Key obtaining method and related apparatus
CN112640506B (zh) 一种蓝牙节点配对方法及相关装置
Zhang Authenticated Key Exchange Protocols with Unbalanced Computational Requirements
KR20170013141A (ko) 클라이언트 인증 방법, 클라이언트의 동작 방법, 서버, 및 통신 소프트웨어

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023538932

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 2020966521

Country of ref document: EP

Effective date: 20230630

NENP Non-entry into the national phase

Ref country code: DE