WO2015172329A1 - 一种终端配对方法及配对终端 - Google Patents
一种终端配对方法及配对终端 Download PDFInfo
- Publication number
- WO2015172329A1 WO2015172329A1 PCT/CN2014/077444 CN2014077444W WO2015172329A1 WO 2015172329 A1 WO2015172329 A1 WO 2015172329A1 CN 2014077444 W CN2014077444 W CN 2014077444W WO 2015172329 A1 WO2015172329 A1 WO 2015172329A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- terminal
- peer
- pairing
- secret value
- peer end
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 230000004044 response Effects 0.000 claims description 30
- 238000012795 verification Methods 0.000 claims description 19
- 230000033001 locomotion Effects 0.000 claims description 17
- 230000001934 delay Effects 0.000 claims description 7
- 108010001267 Protein Subunits Proteins 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000003993 interaction Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 101000893549 Homo sapiens Growth/differentiation factor 15 Proteins 0.000 description 9
- 101000692878 Homo sapiens Regulator of MON1-CCZ1 complex Proteins 0.000 description 9
- 102100026436 Regulator of MON1-CCZ1 complex Human genes 0.000 description 9
- 102000008482 12E7 Antigen Human genes 0.000 description 7
- 108010020567 12E7 Antigen Proteins 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000000523 sample Substances 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W4/21—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
Definitions
- the present invention relates to the field of communications technologies, and in particular, to a terminal pairing method and a pairing terminal. Background technique
- NFC Near Field Communication
- the present invention provides a terminal pairing method and a pairing terminal, which can accurately achieve terminal pairing without using an NFC interface.
- the technical solution adopted by the present invention is:
- the present invention provides a terminal pairing method, where the method includes:
- the terminal uses the pairing secret value of the terminal itself to implement pairing with the peer end.
- the terminal when the terminal detects a preset pairing trigger event, acquiring, by the terminal, the pairing secret value of the terminal itself associated with the pairing trigger event, including:
- the terminal When the terminal detects a preset pairing trigger event, the terminal acquires the duration of the terminal itself obtained from the peer based on the common reference time point relative to the occurrence time of the event; and/or
- the terminal When the terminal detects a preset pairing trigger event, the terminal acquires a motion direction value of the terminal itself.
- the terminal when the terminal detects a preset pairing trigger event, the terminal acquires a common reference time with the peer end
- the duration of the terminal itself relative to the time of occurrence of the event includes: when the terminal detects a preset pairing trigger event, acquiring an occurrence time of the pairing trigger event as the first of the terminal itself Time point
- the terminal acquires the duration of the terminal itself, and the duration of the terminal itself is a time interval between the first time point of the terminal itself and the second time point of the terminal itself.
- the terminal further includes:
- the terminal randomly delays the time r after detecting the pairing trigger event, and sends a discovery request message to the peer through the wireless interface.
- the terminal randomly delays the time r after detecting the pairing trigger event, and sends the discovery to the peer end by using a wireless interface. After requesting the message, it also includes:
- the terminal receives the discovery response message from the peer end, and the discovery response message is sent after the delay time R is received by the peer end after receiving the discovery request message, and the R is greater than the r.
- the terminal acquires, according to any message that interacts with the peer end, the location that is based on the message with the peer end.
- the second time point of the terminal itself is specifically:
- the terminal acquires, according to any message that interacts with the peer end on the preset channel, a second time point of the terminal itself based on the message according to the peer end.
- the terminal acquires a duration of the terminal itself, and the duration of the terminal itself is a first time point of the terminal itself. After the time interval from the second time point of the terminal itself, the method further includes:
- the terminal adopts a preset regularization method to regulate the duration of the terminal itself.
- the terminal uses the terminal itself
- the pairing secret value is paired with the peer, including:
- the terminal uses the pairing secret value of the terminal itself and the information from the peer end to obtain the public key of the peer end, and the information from the peer end includes the pairing secret value of the peer end;
- the terminal generates a shared key of the terminal by using the public key of the peer end and the private key of the terminal itself;
- the terminal performs pairing with the peer by verifying the shared key of the terminal itself and the shared key of the peer.
- the method further includes:
- the terminal obtains a public key of the peer end by using a pairing secret value of the terminal itself and information from the peer end, where The information from the peer includes the pairing secret value of the peer, including:
- the terminal uses the pairing secret value of the terminal itself and the random number of the peer end to decrypt the first secret value to obtain the public key of the opposite end.
- the terminal obtains a public key of the peer end by using a pairing secret value of the terminal itself and information from the peer end.
- the information from the peer includes the pairing secret value of the peer, including:
- the terminal receives a first secret value and a first operation value that are sent by the peer end, where the first secret value includes a value obtained by encrypting the public key of the peer end by using a pairing secret value of the peer end, where the first operation value is obtained.
- the terminal obtains a pairing secret value of the peer end by using a first operation value from the peer end and a pairing secret value of the terminal itself;
- the terminal uses the pairing secret value of the peer to decrypt the first secret value from the peer to obtain the public key of the peer.
- the terminal uses the terminal itself Pairing the hidden value to achieve pairing with the peer, including:
- the terminal uses the information from the peer end and the information of the terminal itself to obtain a pairing secret value of the peer end, where the information from the peer end includes the public key of the peer end and the pairing secret value, and the information of the terminal itself includes The private key of the terminal itself;
- the terminal performs pairing with the peer by comparing the pairing secret value of the terminal itself with the pairing secret value of the peer.
- the terminal by using information from the peer end and the information of the terminal itself, obtain a pairing secret value of the peer end,
- the information from the peer end includes the public key and the pairing secret value of the peer end, and the information of the terminal itself includes the private key of the terminal itself, including:
- the terminal receives the first message from the peer end, the first message from the peer end includes a public key and a second secret value of the peer end, and the second secret value of the peer end includes a preset key that uses the peer end Encrypting the value obtained by pairing the hidden value of the opposite end;
- the terminal generates a shared key of the terminal by using the private key of the terminal and the public key of the peer;
- the first message from the peer end further includes a first message integrity code of the peer end, where the peer end
- the first message integrity code includes a value obtained by the peer end encrypting the digest information of the first message from the peer end by using a pairing secret value of the peer end;
- the terminal After the terminal decrypts the second secret value of the peer end by using the preset key of the peer end to obtain the pairing secret value of the peer end, the terminal further includes:
- the terminal verifies the first message integrity code of the peer by using the pairing secret value of the peer.
- the terminal performs pairing with the peer end by comparing the pairing secret value of the terminal itself with the pairing secret value of the peer end, including:
- the terminal implements pairing with the opposite end.
- the second message from the peer end further includes a second message integrity code of the peer end,
- the second message integrity code of the peer end includes a value obtained by the peer end encrypting the digest information of the second message from the peer end by using the shared key of the peer end;
- the terminal After receiving the second message from the peer, the terminal further includes:
- the present invention provides a pairing terminal, where the terminal includes a detecting unit, an acquiring unit, and a pairing unit;
- the detecting unit is configured to detect an event that triggers pairing with the peer end
- the acquiring unit is configured to: when the detecting unit detects the event that the trigger is paired with the peer end, acquire a pairing secret value of the terminal itself associated with the event that is triggered to be paired with the peer end; And a pairing unit, configured to implement pairing with the peer end by using a pairing secret value of the terminal itself.
- the acquiring unit includes: a first acquiring subunit, configured to acquire, when the detecting unit detects an event that is paired with the peer end, The length of the terminal itself obtained relative to the occurrence time of the event based on a common reference time point;
- a second acquiring subunit configured to acquire a motion direction value of the terminal itself when the detecting unit detects an event that triggers pairing with the peer end.
- the first acquiring subunit includes: a third obtaining sub-unit, configured to: when the detecting unit detects an event that triggers pairing with the peer end, acquire an occurrence time of the event that the triggering pair is paired with the peer end, as the first time point of the terminal itself;
- a fourth obtaining subunit configured to acquire, according to any message that interacts with the peer, a second time point of the terminal itself based on the message with the peer end;
- the fifth obtaining sub-unit is configured to acquire the duration of the terminal itself, and the duration of the terminal itself is a time interval between the first time point of the terminal itself and the second time point of the terminal itself.
- the first acquiring sub-unit further includes:
- the first sending subunit is configured to: after detecting the event that the trigger is paired with the peer, randomly delay the time r, and send a discovery request message to the peer through the wireless interface.
- the first acquiring sub-unit further includes:
- a first receiving subunit configured to receive a discovery response message from the peer end, where the discovery response message is sent by the peer end after receiving the discovery request message, and the R is greater than the r.
- the fourth acquiring sub-unit is specifically, according to any message that interacts with the peer end on a preset channel. And acquiring, by the peer, a unit of the second time point of the terminal itself based on the message.
- the terminal further includes:
- the regular subunit is used to adjust the duration of the terminal itself by using a preset regularization method.
- the pairing unit includes: a sixth acquiring subunit, configured to obtain the public end of the peer by using a pairing secret value of the terminal itself and information from the peer end Key, the information from the peer includes a pairing secret value of the peer; a first generating subunit, configured to generate a shared key of the terminal by using a public key of the peer and a private key of the terminal itself;
- the first pairing subunit is configured to implement pairing with the peer end by verifying the shared key of the terminal itself and the shared key of the peer end.
- the terminal further includes a sending unit
- the sending unit is configured to send, to the peer end, a pairing secret value of the terminal itself, so that the peer end implements pairing with the terminal.
- the sixth acquiring subunit includes:
- a second receiving subunit configured to receive a first secret value and any random number sent by the peer end, where the first secret value is used to encrypt the public key of the peer end and the random number by using a pairing secret value of the peer end Get
- the first decryption subunit is configured to use the pairing secret value of the terminal itself and the random number of the peer end to decrypt the first secret value to obtain the public key of the opposite end.
- the sixth acquiring subunit includes:
- a third receiving subunit configured to receive a first secret value and a first operation value sent by the peer end, where the first secret value includes a value obtained by encrypting the public key of the peer end by using a pairing secret value of the peer end, where The first operation value includes a value obtained by using a pairing secret value of the terminal itself and a pairing secret value of the peer end by a preset budget method;
- a second generating subunit configured to obtain a pairing secret value of the peer end by using a first operation value from the peer end and a pairing secret value of the terminal itself;
- a second decryption subunit configured to use the pairing secret value of the peer to decrypt the first secret value from the peer to obtain the public key of the peer.
- the pairing unit includes: a third generating subunit, configured to use the information from the peer end and the information of the terminal itself to obtain the pairing secret of the peer end a value, the information from the peer includes a public key and a pairing secret value of the peer, and the information of the terminal itself includes a private key of the terminal itself;
- a second pairing subunit configured to perform pairing with the peer end by comparing a pairing secret value of the terminal itself with a pairing secret value of the peer end.
- the third generating subunit includes:
- a fourth receiving subunit configured to receive a first message from the peer end, where the first message from the peer end includes a public key and a second secret value of the peer end, and the second secret value of the peer end includes a usage center Determining, by the opposite terminal, a value obtained by encrypting the paired secret value of the opposite end;
- a fourth generation subunit configured to generate a shared key of the terminal by using a private key of the terminal itself and a public key of the peer end;
- a fifth receiving subunit configured to receive a second message from the peer end, where the second message from the peer end includes a third secret value of the peer end, and the third secret value of the peer end includes using the peer end
- the shared key encrypts the value obtained by the peer's preset key
- a third decryption subunit configured to decrypt the third secret value of the peer by using the shared key of the terminal to obtain a preset key of the peer, and decrypt the pair by using the preset key of the peer.
- the first message from the peer end further includes a first message integrity code of the peer end, where the peer end
- the first message integrity code includes a value obtained by the peer end encrypting the digest information of the first message from the peer end by using a pairing secret value of the peer end;
- the third generation subunit further includes a first verification subunit
- the first verification subunit is configured to verify the first message integrity code of the peer by using a pairing secret value of the peer.
- the second pairing subunit includes:
- a determining subunit configured to determine whether a difference between the pairing secret value of the terminal itself and a pairing secret value of the peer end is within a preset allowable error range
- a third pairing subunit configured to: when the difference is within a preset allowable error range and the first message integrity code of the peer end passes verification, the terminal implements pairing with the peer end.
- the second message from the peer end further includes a second message integrity code of the peer end,
- the second message integrity code of the peer end includes a value obtained by the peer end encrypting the digest information of the second message from the peer end by using the shared key of the peer end;
- the third generation subunit further includes a second verification subunit
- the second verification subunit is configured to verify the second message integrity code of the peer by using the shared key of the terminal itself.
- the terminal when the terminal detects a pairing trigger event that is paired with the peer, the terminal first First, the pairing secret value of the terminal itself associated with the pairing trigger event is obtained, and then the pairing secret value of the terminal itself is used to implement a pairing process with the peer end.
- the present invention can accurately achieve pairing without using an NFC interface, thereby saving the cost of the terminal.
- FIG. 1 is a flowchart of a terminal pairing method according to an embodiment of the present invention
- FIG. 2 is a schematic structural view of a first terminal and a second terminal mounted with two Hall devices and two magnets according to an embodiment of the present invention
- FIG. 3 is a flowchart of a method for implementing a terminal to acquire a duration based on a preset pairing trigger event according to an embodiment of the present invention
- FIG. 4 is a method interaction diagram for implementing a method for acquiring, by a terminal, a duration based on a preset pairing trigger event according to an embodiment of the present invention
- FIG. 5 is an interaction diagram of a terminal pairing method according to an embodiment of the present invention.
- FIG. 6 is an interaction diagram of a terminal pairing method according to an embodiment of the present invention.
- FIG. 7 is an interaction diagram of a terminal pairing method according to an embodiment of the present invention.
- FIG. 8 is a schematic structural diagram of a pairing terminal according to an embodiment of the present invention.
- FIG. 9 is a schematic structural diagram of a paired terminal according to an embodiment of the present invention.
- FIG. 10 is a schematic structural diagram of a paired terminal according to an embodiment of the present invention.
- FIG. 12 is a schematic structural diagram of a pairing terminal according to an embodiment of the present invention.
- FIG. 1 is a flowchart of a terminal pairing method according to an embodiment of the present disclosure.
- the method includes: S101: When a terminal detects a preset pairing trigger event, acquiring a pairing trigger event The associated pairing secret value of the terminal itself.
- S102 The terminal uses the pairing secret value of the terminal to implement pairing with the peer.
- the terminals that need to be paired are the first terminal and the second terminal respectively, and the pairing trigger event is set in the first terminal and the second terminal respectively, for example, the first terminal and the second terminal are touched. Pair trigger events, etc.
- the first terminal and the second terminal perform the touch
- the first terminal and the second terminal respectively record the pairing secret value of the terminal itself associated with the pairing trigger event
- the pairing secret value of the terminal itself may be The duration of the terminal itself obtained by the first terminal and the second terminal based on a common reference point with respect to the time when the pairing trigger event occurs, and may also be the first terminal and the second terminal when the pairing trigger event occurs.
- Direction of movement value is the duration of the terminal itself obtained by the first terminal and the second terminal based on a common reference point with respect to the time when the pairing trigger event occurs.
- the first terminal and the second terminal may respectively record the motion direction value of the terminal itself, for example, the CPU may periodically read the three-axis accelerometer and the gravity sensor.
- Sensing data of a sensing device such as an electronic compass, when detecting that the terminal moves rapidly in one direction, and then the moving speed drops to zero in the moving direction or suddenly changes to a reverse motion, it is determined that a touch event occurs.
- the motion direction is analyzed according to a series of sensor data previously read. For example, the first terminal detects that the motion direction is 5 degrees north to the east and 3 degrees above, and the motion direction of the second terminal is 5 degrees south and south. When the angle is 3 degrees, the directions of motion of the two terminals are opposite. There are some errors in the angle of the motion direction allowed in the actual judgment.
- the following describes the specific content of the terminal to obtain the duration based on the point in time when the pairing trigger event occurs:
- the first is to get the point in time when the touch event occurs.
- an accelerometer can be used to determine the timing of the occurrence of a touch event.
- the usual practice is to periodically read the acceleration value of the accelerometer by the CPU (central processing unit). If the acceleration value changes drastically and a significant inflection point occurs, such as A direction moves faster and then stops, indicating that a touch event has occurred on the terminal.
- the terminal in this embodiment records the system time when the touch event occurs, for example, the CPU system time, accurate to microseconds, after determining the touch event according to the change in the acceleration value.
- the time difference between the two devices detecting the occurrence of a touch event by an inductor such as an accelerometer may be between 1 and 20 milliseconds.
- the occurrence time of the touch event can also be detected by using Hall sensing.
- at least one Hall device and one magnet need to be installed in each terminal, wherein the magnet can be an electromagnet.
- each terminal can also be installed with two Hall devices and two magnetic Iron, as shown in Fig. 2,
- Fig. 2 is a schematic view showing the structure of a first terminal and a second terminal in which two Hall devices and two magnets are mounted.
- the Hall device 1 of the first device detects that the magnet 2 of the second terminal is close, and sends a signal to the CPU of the first terminal to generate a touch event, and at the same time, the second terminal
- the Hall device 2 detects that the magnet 1 of the first terminal is approaching, and signals the occurrence of a touch event to the CPU of the second terminal.
- the Hall devices of the two devices simultaneously detect the touch event, and the time point error of the two touch events can be as small as several milliseconds or less. .
- the present embodiment can also detect a touch event by using other techniques, and the present invention does not limit the technical implementation method for detecting a touch event.
- the very small time error can be recorded as D, and the unit of D can be taken as microseconds, and the smaller the value of D, the better, for example, 100 microseconds.
- the second is to obtain the duration based on a common reference point.
- the common reference point is a time point obtained by the two terminals through a message exchanged by the first wireless communication interface, and the time elapsed from the time point when the touch event occurs to the common reference point is the duration.
- the first wireless communication interface can be opened before the pairing trigger event occurs, for example, a program for sharing content opens the first wireless communication interface at runtime and waits for the occurrence of a pairing trigger event.
- the first wireless communication interface may also be opened after the pairing trigger event occurs, that is, the first wireless communication interface is opened after detecting the pairing trigger event.
- the first wireless communication interface may be a wireless communication technology such as WiFi or Bluetooth.
- the first wireless communication interface may be the same or different from the second wireless interface that transmits the shared content after the pairing succeeds, for example, the first wireless communication interface and the second wireless communication interface are both WiFi interfaces, or before the pairing trigger event occurs.
- Open the BLE English: Bluetooth Low Energy, Chinese: Bluetooth low energy
- complete the pairing process through the BLE interface and then open the WiFi interface to complete the content transmission, which can save the terminal's power consumption.
- FIG. 3 is a flowchart of a method for the terminal to obtain a duration of an event occurrence time based on a preset trigger and a peer pairing according to the embodiment, where the method may include:
- S302 The terminal obtains, according to any message that interacts with the peer, the The second time point of the terminal itself of the message.
- the terminal acquires the duration of the terminal itself, and the duration of the terminal itself is a time interval between the first time point of the terminal itself and the second time point of the terminal itself.
- the two terminals that need to be paired first trigger a preset pairing trigger event, such as touching two terminals.
- the two terminals respectively record the time point of the pairing trigger event, and the time of occurrence is The point is determined as the first point in time of the terminal itself.
- the two terminals respectively record the second time point of the terminal itself based on the message. Since the message travels at the speed of light, and the distance between the two terminals is very close, it may be assumed that the two devices leave 1 meter away after the touch, and the time required for the signal to reach from one terminal to the other terminal is only 3.3 nanoseconds, which is negligible.
- the transmitting terminal of the message in this embodiment records the system time as the second time point when the message is sent, and the receiving terminal of the message records the system time as the second time point when receiving the message, It is considered that the second time points recorded by the two terminals are the same, or very close.
- the two terminals since the first time point and the second time point respectively recorded by the two terminals in the pairing trigger event are the same, the two terminals respectively obtain the respective durations in the embodiment, and the duration is the respective The time interval between a time point and a second time point, it can be understood that the duration of the two terminals in which the pairing trigger event occurs should theoretically be the same.
- FIG. 4 is a method interaction diagram for implementing a terminal to obtain a duration based on a preset pairing trigger event, where the paired terminals are respectively the first terminal. And the second terminal, the method includes:
- a pairing trigger event occurs in the first terminal and the second terminal, such as a touch event.
- the first message is sent through a wireless interface such as WiFi or Bluetooth, and the first message is usually a discovery request (English: Discovery Request) message.
- the discovery request message may be a probe request frame defined in IEEE 802.11.
- the purpose of sending the first message after the first terminal randomly delays the time r is to prevent the attacker from guessing the time point when the touch event occurs by intercepting the first message, and the counterfeit second terminal and the first terminal are paired.
- the first terminal can quickly send the first message three times. Second, and it is best to ensure that the last time the first message is sent must be completed before the preset time.
- the first terminal may be configured to send the discovery request message only on a preset specific wireless channel, and the second terminal only listens to the discovery request message on the specific wireless channel. It is worth noting that since the first terminal usually does not know the address of the second terminal, the discovery request message is usually broadcast.
- the second terminal After receiving the discovery request message, the second terminal sends a response message to the first terminal to the first terminal, that is, a discovery response message. At the same time, the second terminal records the system time as the second time point when the discovery response message is sent, and the first terminal records the system time as the second time point when receiving the discovery response message.
- the second terminal records the system time as the second time point when starting to send the discovery response message
- the first terminal records the system time as the second time point when starting to receive the discovery response message.
- the first terminal may record a third time point when determining that the discovery response message is received, and subtract a time required to receive the discovery response message to determine a second time point of the first terminal.
- both terminals record the transmission time points at the beginning of the same message.
- Their error is the time when the message originating end propagates in the air plus the delay of possible circuit processing. This error can be very small.
- the method of obtaining the actual second time point may also adopt other methods.
- both devices record the transmission time point of the end of the discovery response message, that is, the time point at which the second device completes sending the discovery response message and the first device completes receiving.
- the point in time at which the discovery response message is sent It is also possible to obtain a second point in time based on the discovery request message or a subsequent message of the discovery response message.
- R is the preset fixed time value
- r can be set to be less than or equal to R.
- the response message to the first message is usually a discovery response message.
- the discovery response message may be a probe response frame defined in IEEE 802.11.
- the purpose of sending the discovery response message after the second terminal delays the time R is to prevent the attacker from sending the discovery request message to trigger the second terminal to issue the discovery response message immediately after the pairing trigger event occurs, thereby making it easier for the attacker to guess.
- the counterfeit first terminal and the second terminal are paired.
- the S403 and S404 probing processes that is, the Probe Request and Probe Response procedures, may also have an 802.11 authentication frame (English: Authentication frames) and an association process (English: Association frames), which are not described here.
- S405 The first terminal and the second terminal respectively calculate a duration, where the duration is a time interval between the first time point and the second time point of each of the first terminal and the second terminal.
- the duration is a duration of a time point at which the first terminal and the second terminal occur based on a common reference point relative to the touch event.
- This common reference point in this embodiment is implemented by a certain message, such as a discovery request message or a discovery response message.
- the time point at which the terminal records the transmission or reception of a wireless interface frame needs to be implemented in the wireless interface chip, because if the CPU knows that the wireless interface chip sends or receives a wireless interface frame, Reading the system time will result in a large error.
- the program in the wireless interface chip such as the WiFi chip cannot read the system time of the CPU, and the program running in the CPU can read the time stamp information in the WiFi chip, so the first time point and the second time are acquired.
- the terminal directly reads the timestamp in the iFi chip as the first time point when detecting the pairing trigger event.
- the time stamp information of the WiFi chip can be directly obtained as a second time point by using a program in the WiFi chip, and then the obtained second time point is transmitted to the program in the CPU.
- the first time point of each terminal can be run through the CPU.
- the program obtains the current system time Tal of the CPU as the first time point, and when the WiFi interface is completed, the CPU system time Ta2 and the time stamp information TSFal of the WiFi chip are acquired by the program running in the CPU (English: timing synchronization function, Chinese: Time synchronization function), the time count after the iFi chip is started, in microseconds.
- the first terminal and the second terminal can use a communication technology such as BLE (English: Bluetooth Low Energy, Chinese: Bluetooth low energy) to complete the device after the pairing trigger event.
- BLE Bluetooth Low Energy
- the discovery process and the acquisition of the duration are completed, and the subsequent authentication process using the duration or the data transmission of the shared content may use another communication technology such as WiFi.
- WiFi Wireless Fidelity
- Due to the existence of the error the lengths of the first terminal and the second terminal respectively are actually difficult to be equal. This error mainly comes from the possible time when the two terminals detect the pairing trigger event after the pairing trigger event occurs, and the subsequent time-acquisition process based on the common reference time point also generates an error.
- the error between the durations of the first terminal and the second terminal must be eliminated as much as possible, so that the durations of the two devices are equal in value. Or closer, in order to calculate.
- the present invention adopts a preset regularization method, and the regularization is described.
- the duration that is, the time length is converted into a value of a larger time unit. Specifically, the time length can be converted into a value in units of 200 microseconds.
- the two original values within the allowable error range must obtain the same value after being calculated by the above conversion method, and are not within the allowable error range.
- the original values must be different after each calculation by this conversion method.
- the two original values are indeed within the allowable error range, but their values are not equal after the error is eliminated, and / Or in other cases, the error of the two original values exceeds the allowable error range, but the same value is obtained after the error is eliminated. In this case, we call the allowable error inaccurate and the inaccurate value interval. It is called the allowable error and the interval is not allowed.
- the allowable error is 1000 microseconds
- the possibility of misjudgment is large, and when it is converted into units of 200 microseconds, the misjudgment is The possibility is smaller.
- the allowed error itself is small, for example, only 1 microsecond (the obtained unit of time is also microseconds), there is no need for regularity at all, and there is no misjudgment.
- the allowed error refers to the maximum error that actually exists due to technical factors.
- the duration can be normalized by dividing the duration by "D/S" (D divided by S).
- D/S is actually to take a suitable unit of regular duration.
- D is the maximum error allowed by the duration of the first terminal and the second terminal, and the unit is microsecond.
- D is the maximum error allowed by the duration of the first terminal and the second terminal, and the unit is microsecond.
- D is the maximum error allowed by the duration of the first terminal and the second terminal, and the unit is microsecond.
- D the maximum error allowed by the duration of the first terminal and the second terminal, and the unit is microsecond.
- the regular length of the two terminals allows the difference to be between 0 and S.
- the uncertainty interval still exists, but the value of S is larger. The smaller the interval, the less likely the misjudgment is.
- S should be controlled within the appropriate range, S is too large, and the calculation process is more computationally intensive.
- the terminal when the terminal detects the preset pairing trigger event, the pairing secret value of the terminal itself associated with the pairing trigger event is obtained, and the pairing secret value of the terminal itself is used to achieve pairing with the peer end. process.
- the present invention can accurately achieve pairing without using an NFC interface, thereby saving the cost of terminal pairing.
- the terminal uses the pairing secret value of the terminal itself and the information from the peer to obtain the public key of the peer, and the information from the peer includes the pairing secret value of the peer;
- the terminal generates a shared key of the terminal by using the public key of the peer and the private key of the terminal itself.
- the terminal verifies the shared key of the terminal and the shared secret of the peer by verifying the shared key of the terminal itself.
- the key implements pairing with the peer.
- FIG. 5 is an interaction diagram of a terminal pairing method according to an embodiment of the present disclosure, where the paired terminals are respectively a first terminal and a second terminal, and the method includes:
- the first terminal and the second terminal acquire a pairing secret value of the terminal itself based on a preset pairing trigger event occurrence time, where the pairing secret value may be a duration.
- the first terminal and the second terminal respectively receive the first secret value and any random number sent by the peer end, where the first secret value of the second terminal received by the first terminal may be used by the second terminal by using the second
- the regular length of the terminal encrypts the key exchange algorithm public key (the public key of the second terminal) of the second terminal and the random number of the second terminal.
- the second terminal receives the first secret value from the first terminal, and the first terminal encrypts the key exchange algorithm public key of the first terminal by using the regular duration of the first terminal.
- the key) and the random number of the first terminal are obtained. It can be seen that the first secret value of the first terminal and the first secret value of the second terminal are generally not the same.
- ⁇ may be used to indicate the pairing secret value of the first terminal
- ⁇ 3 ⁇ 4 represents the pairing secret value of the second terminal
- ⁇ and ⁇ 3 ⁇ 4 are the results after the DS method described in the first embodiment, wherein S is taken
- the value is 5.
- the random number of the first terminal may be represented by Na, the random number of the second terminal by Nb, the public key of the first terminal by PKa, and the public key of the second terminal by PKb.
- the first secret value of the first terminal may be represented by AT a (PKa, Na)
- the first secret value of the second terminal may be represented by Tb (PKb, Nb).
- the sending of the first secret value and the random number may not be performed in the same message.
- the first secret value may be sent first, and the peer sends the random number after receiving the first secret value. It can be understood that the embodiment does not specifically limit the order in which the first secret value and the random number are transmitted.
- the random number in this embodiment may be related to the current time of the terminal generating the random number, the specific counter, etc., but in general its value is random.
- this step can use DH (English: Diffie - Hellman key exchange, Chinese: Diffie-Hellman key exchange) key exchange algorithm. It allows the parties to establish a key over the unsecured channel without any prior information from the other party. This key can be used as a symmetric key to encrypt the communication content in subsequent communications. Since the process of exchanging public keys by DH may be attacked by a middleman, this embodiment uses ⁇ and ⁇ 3 ⁇ 4 to protect the process of exchanging public keys, so that an attacker must guess ⁇ or ⁇ 3 ⁇ 4 to perform a man-in-the-middle attack, and the attacker is not easy. Guess the value of ⁇ or ⁇ 3 ⁇ 4, so that man-in-the-middle attacks are difficult to implement.
- DH English: Diffie - Hellman key exchange, Chinese: Diffie-Hellman key exchange
- the above DH key exchange algorithm may also be replaced by other key exchange algorithms, for example, using the enhanced DH algorithm ECDH algorithm, which is not limited in the present invention.
- S503 The first terminal and the second terminal respectively decrypt the received first secret value by using the pairing secret value and the received random number, thereby obtaining the public key of the opposite end.
- the received first secret value is decrypted by trial and error.
- the decrypted public key PKa, and the random number Na', A a' can be taken as integer values from ATb-5 to ATb+5. If the random number Na' calculated by the decryption is the same as the received Na, it is proved that the public key PKa calculated at this time is the public key PKa of the first terminal, and at this time, the value of ⁇ is the value of ATa. If the second terminal tries to calculate all ⁇ and does not successfully decrypt and obtains Na' equal to Na, then the process is terminated, the second terminal may not respond, or send a message to the first terminal, for feeding back the pairing to the first terminal. The result of the failure.
- PKa' , Na' AT a' (ATa(PKa,Na)), use Vl to decrypt VTa(PKa, Na) to get PKa' and Na,
- the operation of the first terminal is the same as that of the second terminal, and details are not described herein again.
- the step of decrypting the first secret value may be performed by a terminal first. If the terminal can obtain the public key of the peer end, then the random number or the first secret value is sent to the opposite end, so that the peer end performs the key again. Get. This can improve the pairing efficiency, so that the incorrectly paired terminal gets the result of the pairing failure faster.
- the first terminal and the second terminal respectively generate a shared key by using the decrypted public key of the peer end and the private key of the peer end.
- the first terminal calculates the DH shared key DHKeya using the private key Ka corresponding to the public key PKa and the public key PKb of the second terminal obtained by decryption, and the second terminal uses the public key PKb corresponding thereto.
- the private key Kb, the public key PKa of the first terminal calculates the DH shared key DHKeyb. According to the characteristics of the DH algorithm, DHKeya and DHKeyb should be equal.
- the calculation of the shared key can also be combined with Na and Nb so that the shared key calculated in the case where the public key exchanged each time between the first terminal and the second terminal is not fixed.
- the attacker cannot guess T a and/or ⁇ 3 ⁇ 4 in S502 at one time, the attack is unsuccessful. Even if the attacker obtains the plaintext Na and Nb and then calculates T a and ⁇ 3 ⁇ 4 offline, thus obtaining PKa and PKb, but this is not useful for the attacker, because the attacker cannot know the private key corresponding to PKa and PKb, and thus cannot obtain The shared key between the first terminal and the second terminal, and thus the secret data of the subsequent interaction between the first terminal and the second terminal cannot be obtained. In this embodiment, the accuracy of the pairing is further ensured by sharing the key.
- the first terminal and the second terminal respectively determine pairing with the peer by verifying the shared key.
- the first terminal and the second terminal calculate the shared key, it is necessary to verify whether the shared keys of the two parties are consistent. If they are consistent, the terminal is successfully paired. Otherwise, it may be an abnormal situation such as a man-in-the-middle attack.
- the first terminal can protect the subsequent data interaction with the shared key obtained by directly exchanged the public key with the second terminal.
- the subsequent message includes a message integrity code, where the message integrity code is a shared key.
- the summary information of the message is encrypted. If data interaction can be completed between the first terminal and the second terminal, both parties hold the same shared key.
- the two terminals can also verify whether the other party holds a shared key that is consistent with itself.
- the four-step handshake process in the 802.11 specification can be performed, and the shared key DHKey is regarded as the PMK defined in the 802.11 specification.
- Pairwise Master Key Chinese: The master key between a pair of nodes
- the temporary session key PTK will be generated after a successful four-step handshake (English: Pairwise Transient Key, Chinese: temporary key between a pair of nodes) , use PTK to protect subsequent data interactions.
- both parties can successfully obtain a new key, the pairing is successful.
- the two parties can also exchange the business card under the protection of the shared key or the session key, including the user's identifier such as the user's name, so that the terminal user can further determine that the pairing of the device is successful.
- the present invention is not limited.
- FIG. 5 is only a specific implementation manner of terminal pairing, and the execution order of each step in FIG. 5 is not unique for implementing terminal pairing.
- Embodiment 2
- FIG. 6 is an interaction diagram of a terminal pairing method according to the embodiment, where the paired terminals are respectively a first terminal and a second terminal, and the method includes:
- the first terminal and the second terminal acquire a pairing secret value of the terminal itself based on a preset pairing trigger event occurrence time, and the pairing secret value may be a duration.
- the second terminal After acquiring the pairing secret value and the public key of the first terminal, the second terminal obtains the first operation value by using a preset pairing secret value and the pairing secret value of the first terminal by using a preset operation method.
- the method for the second terminal to obtain the pairing secret value and the public key of the first terminal may be referred to the second embodiment, and details are not described herein again.
- the operation method preset in this embodiment may be a reversible operation, and the operator may be represented by an arithmetic addition, a subtraction, a multiplication, or the like.
- the first terminal parses the first operation value by using its own pairing secret value, and obtains a pairing secret value of the second terminal.
- the first terminal uses the pairing secret value of the second terminal to decrypt the first secret value from the second terminal, and obtains the public key of the second terminal, where the first secret value of the second terminal may be utilized.
- the pairing secret value of the second terminal encrypts its public key.
- the first secret value received by the first terminal from the second terminal may be obtained by encrypting the public key by the pairing secret value, or may be obtained by encrypting the public key and the random number by the pairing secret value.
- the first terminal calculates ⁇ 3 ⁇ 4 according to dT and its own ⁇
- the first secret value from the second terminal can be decrypted directly by using ⁇ 3 ⁇ 4 to obtain the public key of the second terminal.
- the first terminal and the second terminal respectively generate a shared key by using the private key of the peer and the public key of the peer.
- S606 The first terminal and the second terminal respectively determine the pairing with the peer by verifying the shared key.
- S605 and S606 reference may be made to the description in Embodiment 1, and details are not described herein again.
- the order of execution of the respective steps in the embodiment may not be limited.
- FIG. 7 is an interaction diagram of a terminal pairing method according to an embodiment, where The terminals are the first terminal and the second terminal, respectively, and the method includes:
- the first terminal and the second terminal acquire a pairing secret value of the terminal itself based on a preset pairing trigger event occurrence time, and the pairing secret value may be a duration and a motion direction value.
- the first terminal and the second terminal respectively receive the first message from the peer end, where the first message includes a public key and a second secret value of the DH key exchange algorithm of the opposite end, where the second secret value includes using The peer's preset key encrypts the value obtained by the peer's pairing secret value.
- the first terminal encrypts ⁇ and/or Ma with a key SKA of an encryption/decryption algorithm that is preset or randomly generated by itself to obtain a second secret value SKA (ATa and/or Ma), and ATa indicates the duration of the first terminal.
- SKA secret value
- Ma is used to indicate the direction of motion of the first terminal.
- the encrypted information and the public key PKa are combined to form a first message to the second terminal.
- the second terminal sends the first message to the first terminal, and the specific implementation is the same as the first terminal.
- the first message sent by the two terminals may further include a first message integrity code MIC1.
- the MIC1 is used by the sender to calculate the summary information of the first message by using the ATa and/or the Ma, for example, Encryption operations, etc.
- the generation of MIC1 can also participate in SKA.
- the SKA can be a symmetric key or an asymmetric key. If it is an asymmetric key, the SKA here actually refers to the private key part used for encryption, which can be recorded as SKAe, so the second secret and the secret value are actually Is SKAe ( ⁇ and / or Ma).
- S703 The first terminal and the second terminal respectively generate a shared key by using the private key of the peer and the public key of the peer.
- the first terminal and the second terminal may combine their own private key and the public key of the opposite end (for example, the second terminal uses the private key Kb corresponding to its own PKb and the first terminal.
- the public key PKa) generates the shared key DHKey.
- this embodiment can also use other key exchange algorithms to obtain a shared key, which should be understood by those skilled in the art, and is not enumerated here.
- S704 The first terminal and the second terminal respectively receive the second message from the peer end, where the second message includes a third secret value, where the third secret value includes the peer end encrypting the pair by using the shared key of the opposite end The value obtained by the encryption and decryption key of the end.
- the first terminal encrypts its own key SKA using the generated shared key DHKey.
- a third secret value DHKey (SKA) is obtained, and a second message is generated and sent to the second terminal.
- the first terminal may also encrypt the SKA by using the first derived key of the shared key DHKey.
- the implementation process of the second terminal is the same as that of the first terminal, and the third secret value generated by the second terminal may be DHKey (SKB). If the SKA is an asymmetric key, the public key part of the SKA is encrypted and sent here, SKA. The public key portion can be written as SKAd, so the third secret value is actually DHKey (SKBd).
- the second message sent by the two terminals may further include a second message integrity code MIC2.
- the MIC2 is obtained by the sender using the generated DHKey to perform the operation of the digest information of the second message, such as an encryption operation.
- the MIC2 is obtained by the sender calculating the digest information of the second message by using the second derived key of the generated DHKey.
- S705 The first terminal and the second terminal respectively decrypt the third secret value by using the shared key of the peer to obtain the key of the opposite end, and use the key of the opposite end to decrypt the second secret value to obtain the Paired secret value of the opposite end.
- the first terminal decrypts the third secret value DHKey (SKB) in the second message by using the generated shared key DHKey to obtain the preset key SKB of the second terminal. If the first terminal is capable of decrypting the third secret value from the second terminal, it is proved that the second terminal has the same shared key DHKey as itself. The first terminal further decrypts the second secret value by using the obtained key SKB of the second terminal to obtain the pairing secret value ⁇ 3 ⁇ 4 and/or Mb of the second terminal. Similarly, the implementation process of the second terminal is the same as that of the first terminal.
- S705 may be performed after a terminal completes S705 and proves that the same shared key exists as the peer end, that is, as shown in FIG. 5.
- the first terminal can not only prove that the second terminal has the same shared key DHKey as itself, but also needs to verify the second message if the second message further includes the second message integrity code MIC2.
- the integrity code MIC2 is used to prove that the second terminal has the same DHKey as itself. Since the second message integrity code MIC2 is obtained by the peer end encrypting the digest information of the second message by using the shared key of the peer end, the embodiment may use the shared key of the peer to verify the second message integrity code MIC2. If it passes the verification, it proves that the peer has the same DHKey as itself.
- S706 The first terminal and the second terminal respectively determine pairing with the peer according to the pairing secret value of the pair and the pairing secret value of the peer end.
- the pairing of the opposite end is hidden.
- the secret value is compared to its own paired secret value. If the difference between the durations of the two is within the allowable error range, it is proved that the opposite end has a pairing trigger event with itself; or if the direction of motion of the two indicates that the direction of motion of the two is opposite within the error range, the opposite end is proved.
- a pairing trigger event occurs with itself; or, if both cases are satisfied at the same time, it proves that the peer end has a pairing trigger event with itself. If the terminal finds that the peer end is not the terminal that triggers the pairing trigger event with itself, the terminal may end the processing, that is, no more messages are sent to the peer end.
- the embodiment further needs to verify the first message integrity code MIC1.
- the first message integrity code MIC1 in the first message received is obtained by using the pairing secret value of the peer end and combined with the digest information of the first message, which may be obtained by using the pairing secret value as the key encryption summary information.
- the paired secret value of the peer end is not immediately known when the first message is received. Therefore, the embodiment can verify the MIC1 after obtaining the pairing secret value of the peer end in S705.
- the first message integrity code MIC1 is verified and the pairing secret values of the two terminals are also within the allowable error range, it can be proved that the two terminals are paired. If the MIC1 fails to pass the verification, it indicates that there may be an exception such as a man-in-the-middle attack. The terminal can end the process and no longer interact with the peer.
- FIG. 8 is a schematic structural diagram of a pairing terminal according to the embodiment, where the terminal includes a detecting unit 801, an obtaining unit 802, and a pairing unit 803;
- the detecting unit 801 is configured to detect a preset pairing trigger event
- the acquiring unit 802 is configured to acquire, when the detecting unit detects a preset pairing trigger event, a pairing secret value of the terminal itself associated with the pairing trigger event;
- the pairing unit 803 is configured to implement pairing with the peer by using the pairing secret value of the terminal itself.
- the obtaining unit 802 includes:
- a first acquiring subunit configured to: when the detecting unit detects a preset pairing trigger event, acquire, with respect to an occurrence time of the event obtained by the peer based on a common reference time point Describe the duration of the terminal itself;
- a second acquiring subunit configured to acquire a motion direction value of the terminal itself when the detecting unit detects a preset pairing trigger event.
- the first acquiring subunit includes:
- a third acquiring sub-unit configured to: when the detecting unit detects a preset pairing triggering event, obtain an occurrence time of the preset pairing trigger event, as a first time point of the terminal itself; a sub-unit, configured to acquire, according to any message that interacts with the peer, a second time point of the terminal itself based on the message by the peer end;
- the fifth obtaining sub-unit is configured to acquire the duration of the terminal itself, and the duration of the terminal itself is a time interval between the first time point of the terminal itself and the second time point of the terminal itself.
- the first acquiring subunit further includes:
- a first sending subunit configured to send a discovery request message to the peer end by using a wireless interface after detecting the preset pairing trigger event:
- a first receiving subunit configured to receive a discovery response message from the peer end, where the discovery response message is sent by the peer end after receiving the discovery request message, and the R is greater than the r.
- the fourth acquiring sub-unit may be configured to acquire, according to any message that interacts with the peer end on the preset channel, the second time of the terminal itself based on the message by the peer end.
- the unit of the point may be configured to acquire, according to any message that interacts with the peer end on the preset channel, the second time of the terminal itself based on the message by the peer end. The unit of the point.
- the terminal may further include:
- FIG. 9 and FIG. 10 are respectively schematic structural diagrams of a paired terminal according to an embodiment of the present disclosure, where the terminal includes a detecting unit 801, an obtaining unit 802, and a pairing unit 803, where the pairing is performed.
- Unit 803, comprising:
- the sixth obtaining sub-unit 901 is configured to obtain the public key of the peer end by using the pairing secret value of the terminal itself and the information from the peer end, where the information from the peer end includes a pairing secret value of the peer end;
- a first generating subunit 902 configured to use the public key of the peer end and the private key of the terminal itself Forming the shared key of the terminal itself;
- the first pairing subunit 903 is configured to perform pairing with the peer by verifying the shared key of the terminal itself and the shared key of the peer.
- the terminal further includes a sending unit,
- the sending unit is configured to send, to the peer end, a pairing secret value of the terminal itself, so that the peer end implements pairing with the terminal.
- the sixth obtaining subunit 901 may include:
- the second receiving subunit 1001 is configured to receive a first secret value and any random number sent by the peer end, where the first secret value is used to encrypt the public key of the peer end and the random number by using a pairing secret value of the peer end Number obtained;
- the first decryption subunit 1002 is configured to use the pairing secret value of the terminal itself and the random number of the peer end to decrypt the first secret value to obtain the public key of the opposite end.
- the sixth obtaining subunit 901 may include:
- the third receiving subunit 1101 is configured to receive a first secret value and a first operation value that are sent by the peer end, where the first secret value includes a value obtained by encrypting the public key of the peer end by using a pairing secret value of the peer end, where The first operation value includes a value obtained by using a pairing secret value of the terminal itself and a pairing secret value of the peer end by a preset budget method;
- a second generating subunit 1102 configured to obtain a pairing secret value of the peer by using a first operation value from the peer end and a pairing secret value of the terminal itself;
- the second decryption sub-unit 1103 is configured to use the pairing secret value of the peer to decrypt the first secret value from the peer to obtain the public key of the peer.
- FIG. 11 is a schematic structural diagram of a paired terminal according to another embodiment.
- the terminal includes a detecting unit 801, an obtaining unit 802, and a pairing unit 803.
- the pairing unit 803 includes:
- a third generation sub-unit 1201 configured to use the information from the peer end and the information of the terminal itself to obtain a pairing secret value of the peer end, where the information from the peer end includes the public key of the opposite end and a pairing secret value.
- the information of the terminal itself includes the private key of the terminal itself;
- the second pairing sub-unit 1202 is configured to implement pairing with the peer end by comparing the pairing secret value of the terminal itself with the pairing secret value of the peer end.
- the third generation subunit 1201 includes:
- a fourth receiving subunit 1301 configured to receive a first message from a peer end, where the first message from the peer end includes a public key and a second secret value of the peer end, and the second secret value of the peer end includes using the The preset key of the peer end encrypts the value obtained by the paired secret value of the peer end;
- a fourth generation sub-unit 1302 configured to generate a shared key of the terminal itself by using a private key of the terminal itself and a public key of the peer end;
- a fifth receiving sub-unit 1303, configured to receive a second message from the peer end, where the second message from the peer end includes a third secret value of the peer end, and the third secret value of the peer end includes using the pair The shared key of the end encrypts the value obtained by the preset key of the peer end;
- a third decryption sub-unit 1304 configured to decrypt the third secret value of the peer end by using the shared key of the terminal itself to obtain a preset key of the peer end, and decrypt the The second secret value of the peer end obtains the pairing secret value of the peer.
- the first message from the peer end further includes a first message integrity code of the peer end, where the first message integrity code of the peer end includes the peer end encrypting the source with the pairing secret value of the peer end The value obtained from the summary information of the first message of the peer;
- the third generation subunit 1201 further includes a first verification subunit 1305;
- the first verification subunit 1305 is configured to verify the first message integrity code of the peer by using a pairing secret value of the peer.
- the second pairing subunit 1202 includes:
- the determining subunit 1401 is configured to determine whether the difference between the pairing secret value of the terminal itself and the matching secret value of the peer end is within a preset allowable error range;
- the third pairing subunit 1402 is configured to: when the difference is within a preset allowable error range and the first message integrity code of the peer end passes verification, the terminal implements pairing with the peer end.
- the second message from the peer end further includes a second message integrity code of the peer end, where the second message integrity code of the peer end includes the peer end using the shared key of the peer end Encrypting the value obtained from the digest information of the second message of the peer end;
- the third generation subunit 1201 further includes a second verification subunit 1306;
- the second verification subunit 1306 is configured to verify the second message integrity code of the peer by using the shared key of the terminal itself.
- this embodiment when the terminal detects a preset pairing trigger event, acquiring the preset with the preset Pairing the secret value of the terminal itself associated with the triggering event, and using the pairing secret value of the terminal itself to implement a pairing process with the peer. Compared with the prior art, this embodiment does not need to use the NFC interface to accurately implement pairing, which saves the cost of terminal pairing.
- One less processor such as a CPU
- at least one wireless network interface such as a Wi-Fi Protected Access Memory
- a pairing trigger event detecting device such as a Wi-Fi Protected Access Memory
- the processor is for executing executable modules stored in the memory, such as a computer program.
- the memory may include a high speed random access memory (RAM: Random Access Memory) and may also include a non-volatile memory such as at least one disk memory.
- program instructions are stored in the memory, and the program instructions may be executed by the processor, wherein the program instructions may include an obtaining unit 802 and a pairing unit 803.
- the program instructions may include an obtaining unit 802 and a pairing unit 803.
- the program instructions may include an obtaining unit 802 and a pairing unit 803.
- an optical disk, etc. comprising instructions for causing a computer device (which may be a personal computer, a server, or a network communication device such as a media gateway, etc.) to perform the various embodiments of the present invention or portions of the embodiments described herein. method.
- a computer device which may be a personal computer, a server, or a network communication device such as a media gateway, etc.
- the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from the other embodiments.
- the device and the system embodiment since it is basically similar to the method embodiment, it is described in a relatively simple manner, and the relevant parts can be referred to the description of the method embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480004670.9A CN105359154B (zh) | 2014-05-14 | 2014-05-14 | 一种终端配对方法及配对终端 |
JP2016568093A JP6249428B2 (ja) | 2014-05-14 | 2014-05-14 | 端末ペアリング方法およびペアリング端末 |
PCT/CN2014/077444 WO2015172329A1 (zh) | 2014-05-14 | 2014-05-14 | 一种终端配对方法及配对终端 |
US15/111,525 US10574637B2 (en) | 2014-05-14 | 2014-05-14 | Terminal pairing method and pairing terminal |
EP14892077.0A EP3082058B1 (en) | 2014-05-14 | 2014-05-14 | Terminal matching method and matched terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/077444 WO2015172329A1 (zh) | 2014-05-14 | 2014-05-14 | 一种终端配对方法及配对终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015172329A1 true WO2015172329A1 (zh) | 2015-11-19 |
Family
ID=54479152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/077444 WO2015172329A1 (zh) | 2014-05-14 | 2014-05-14 | 一种终端配对方法及配对终端 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10574637B2 (zh) |
EP (1) | EP3082058B1 (zh) |
JP (1) | JP6249428B2 (zh) |
CN (1) | CN105359154B (zh) |
WO (1) | WO2015172329A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109906561A (zh) * | 2017-08-31 | 2019-06-18 | 华为技术有限公司 | 一种配对方法、取消配对方法、终端设备及外接设备 |
CN113691975A (zh) * | 2021-08-24 | 2021-11-23 | 公安部第三研究所 | 针对蓝牙设备实现安全配对隐身连接的方法、装置、处理器及其计算机可读存储介质 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9779596B2 (en) | 2012-10-24 | 2017-10-03 | Apple Inc. | Devices and methods for locating accessories of an electronic device |
TWI536197B (zh) * | 2015-08-28 | 2016-06-01 | 匿名性身分識別方法與系統 | |
US10135964B2 (en) * | 2016-08-22 | 2018-11-20 | Adobe Systems Incorporated | Touch and device orientation-based device pairing |
JP2018067854A (ja) * | 2016-10-21 | 2018-04-26 | 株式会社プラットフィールド | 情報通信システム |
CN108886685B (zh) * | 2016-12-31 | 2021-02-09 | 华为技术有限公司 | 一种终端匹配方法、装置 |
US10764738B2 (en) * | 2017-03-14 | 2020-09-01 | Huawei Technologies Co., Ltd. | Wireless communication connection method and terminal |
US9949124B1 (en) * | 2017-04-24 | 2018-04-17 | Zihan Chen | Method and device for authenticating wireless pairing and/or data transfer between two or more electronic devices |
US11641563B2 (en) | 2018-09-28 | 2023-05-02 | Apple Inc. | System and method for locating wireless accessories |
CN109462846B (zh) * | 2018-12-27 | 2022-03-18 | 飞天诚信科技股份有限公司 | 一种实现蓝牙设备安全配对的方法、系统及蓝牙设备 |
CN113812175A (zh) * | 2019-04-17 | 2021-12-17 | 苹果公司 | 为无线附件共享密钥 |
US11863671B1 (en) | 2019-04-17 | 2024-01-02 | Apple Inc. | Accessory assisted account recovery |
US10893385B1 (en) | 2019-06-07 | 2021-01-12 | Snap Inc. | Detection of a physical collision between two client devices in a location sharing system |
CN115104283A (zh) * | 2020-02-10 | 2022-09-23 | 三星电子株式会社 | 电子设备和用于在电子设备中执行对等服务的方法 |
US11889302B2 (en) | 2020-08-28 | 2024-01-30 | Apple Inc. | Maintenance of wireless devices |
US12073705B2 (en) | 2021-05-07 | 2024-08-27 | Apple Inc. | Separation alerts for notification while traveling |
US20230208633A1 (en) * | 2021-12-28 | 2023-06-29 | Munro Design & Technologies, Llc | Methods for creating secret keys with a chief device and systems thereof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255896A (zh) * | 2010-06-22 | 2011-11-23 | 微软公司 | 联网设备认证、配对以及资源共享 |
CN102461128A (zh) * | 2009-05-04 | 2012-05-16 | 苹果公司 | 基于接近而配对移动设备的方法和装置 |
US20120317409A1 (en) * | 2001-10-03 | 2012-12-13 | Daniel Revel | Mobile Printing |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307936B1 (en) * | 1997-09-16 | 2001-10-23 | Safenet, Inc. | Cryptographic key management scheme |
US6801924B1 (en) * | 1999-08-19 | 2004-10-05 | National Semiconductor Corporation | Formatting denormal numbers for processing in a pipelined floating point unit |
US7427926B2 (en) * | 2006-01-26 | 2008-09-23 | Microsoft Corporation | Establishing communication between computing-based devices through motion detection |
US9843351B2 (en) * | 2007-07-26 | 2017-12-12 | Nokia Technologies Oy | Gesture activated close-proximity communication |
JP2012500403A (ja) * | 2008-08-18 | 2012-01-05 | ベックマン コールター, インコーポレイテッド | 正規化された10進相当システムおよび方法 |
US8260261B2 (en) * | 2009-08-31 | 2012-09-04 | Qualcomm Incorporated | Securing pairing verification of devices with minimal user interfaces |
US20110126014A1 (en) * | 2009-11-24 | 2011-05-26 | Sony Ericsson Mobile Communications Ab | Event Triggered Pairing of Wireless Communication Devices Based on Time Measurements |
US8762715B2 (en) | 2009-11-24 | 2014-06-24 | Sony Corporation | Event triggered pairing of wireless communication devices based on time measurements |
US8260269B2 (en) * | 2009-11-25 | 2012-09-04 | Visa International Service Association | Input device with an accelerometer |
US20120128154A1 (en) * | 2010-11-23 | 2012-05-24 | Intuit Inc. | Establishing a secure proximity pairing between electronic devices |
US9813920B2 (en) * | 2012-09-19 | 2017-11-07 | Qualcomm, Incorporated | Systems and methods for transmitting and receiving discovery messages |
US9635603B2 (en) * | 2012-11-21 | 2017-04-25 | Intel Corporation | Systems and methods for implementing multiple band service discovery |
KR101314717B1 (ko) | 2013-02-08 | 2013-10-08 | 주식회사 씽크풀 | 애플리케이션 시스템, 제어시스템, 및 사용자 단말기 제어방법 |
US10244459B2 (en) * | 2013-03-08 | 2019-03-26 | Qualcomm Incorporated | Systems and methods for synchronization within a neighbor aware network |
US8994498B2 (en) * | 2013-07-25 | 2015-03-31 | Bionym Inc. | Preauthorized wearable biometric device, system and method for use thereof |
US10726018B2 (en) * | 2014-02-10 | 2020-07-28 | Microsoft Technology Licensing, Llc | Semantic matching and annotation of attributes |
KR102196245B1 (ko) * | 2014-02-10 | 2020-12-29 | 삼성전자주식회사 | 무선 통신 시스템에서 단말 탐색을 위한 채널 구조와 전력 제어 방법 및 장치 |
-
2014
- 2014-05-14 CN CN201480004670.9A patent/CN105359154B/zh active Active
- 2014-05-14 JP JP2016568093A patent/JP6249428B2/ja active Active
- 2014-05-14 US US15/111,525 patent/US10574637B2/en active Active
- 2014-05-14 WO PCT/CN2014/077444 patent/WO2015172329A1/zh active Application Filing
- 2014-05-14 EP EP14892077.0A patent/EP3082058B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120317409A1 (en) * | 2001-10-03 | 2012-12-13 | Daniel Revel | Mobile Printing |
CN102461128A (zh) * | 2009-05-04 | 2012-05-16 | 苹果公司 | 基于接近而配对移动设备的方法和装置 |
CN102255896A (zh) * | 2010-06-22 | 2011-11-23 | 微软公司 | 联网设备认证、配对以及资源共享 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3082058A4 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109906561A (zh) * | 2017-08-31 | 2019-06-18 | 华为技术有限公司 | 一种配对方法、取消配对方法、终端设备及外接设备 |
US11310848B2 (en) | 2017-08-31 | 2022-04-19 | Huawei Technologies Co., Ltd. | Pairing method, unpairing method, terminal device, and externally-connected device |
CN113691975A (zh) * | 2021-08-24 | 2021-11-23 | 公安部第三研究所 | 针对蓝牙设备实现安全配对隐身连接的方法、装置、处理器及其计算机可读存储介质 |
CN113691975B (zh) * | 2021-08-24 | 2024-04-09 | 公安部第三研究所 | 针对蓝牙设备实现安全配对隐身连接的方法、装置、处理器及其计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3082058A1 (en) | 2016-10-19 |
EP3082058A4 (en) | 2016-11-23 |
JP2017511083A (ja) | 2017-04-13 |
US20160344712A1 (en) | 2016-11-24 |
JP6249428B2 (ja) | 2017-12-20 |
EP3082058B1 (en) | 2018-02-28 |
CN105359154B (zh) | 2018-06-26 |
CN105359154A (zh) | 2016-02-24 |
US10574637B2 (en) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015172329A1 (zh) | 一种终端配对方法及配对终端 | |
US10462115B2 (en) | System and method for non-replayable communication sessions | |
US11101999B2 (en) | Two-way handshake for key establishment for secure communications | |
US11502816B2 (en) | Generating new encryption keys during a secure communication session | |
CN109314705B (zh) | 使用组加密密钥的用于大规模可伸缩动态多点虚拟私有网络的系统、装置和方法 | |
CN107438230B (zh) | 安全无线测距 | |
EP2416524B1 (en) | System and method for secure transaction of data between wireless communication device and server | |
US8750512B2 (en) | Authenticating an ephemeral Diffie-Hellman using a trusted third party | |
US20150326547A1 (en) | Method for secure communication using asymmetric & symmetric encryption over insecure communications | |
EP2491672A2 (en) | Low-latency peer session establishment | |
US10778432B2 (en) | End-to-end encryption during a secure communication session | |
US20190273612A1 (en) | Password based key derivation function for ntp | |
CN109309566B (zh) | 一种认证方法、装置、系统、设备及存储介质 | |
CN111654481B (zh) | 一种身份认证方法、装置和存储介质 | |
Niu et al. | A novel user authentication scheme with anonymity for wireless communications | |
WO2018076798A1 (zh) | 一种传输数据的方法和装置 | |
CN116455561A (zh) | 用于轻量装置的嵌入式tls协议 | |
TWI761243B (zh) | 群組即時通訊的加密系統和加密方法 | |
CN112887375B (zh) | 一种基于区块链的消息验证方法及设备 | |
Mayrhofer et al. | An authentication protocol using ultrasonic ranging | |
CN114765595B (zh) | 聊天消息的显示方法、发送方法、装置、电子设备及介质 | |
Zhao et al. | Security analysis and enhancement for three‐party password‐based authenticated key exchange protocol | |
Wu et al. | An improved authentication and key agreement scheme for session initial protocol | |
TWI514189B (zh) | 網路認證系統及其方法 | |
CN116458110A (zh) | 用于支持用于物联网的密钥管理系统的设备和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201480004670.9 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14892077 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014892077 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014892077 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15111525 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2016568093 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |