Method and communication system for automatically pairing two devices for wireless communication

By using the device-C in the existing authentication session to generate and transmit the key material, the device-A and device-B independently calculate the confirmation function, the complex problem of the device pairing process is solved, and automated and secure wireless communication between devices is realized.

CN115038085BActive Publication Date: 2025-08-15GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111597118.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-04
Filing Date
2021-12-24
Publication Date
2025-08-15
Estimated Expiration
2041-12-24

AI Technical Summary

Technical Problem

The device pairing process in the prior art is complex and not simplified, especially in wireless communication between the vehicle infotainment system and other devices, where users need to manually share the key or keep the device close to establish the connection, resulting in confusion and inconvenience.

Method used

Using the existing pairing between device-C and device-A and device-B in the existing authentication session, the key material TK' is generated through device-C and transmitted to device-B and device-A, device-A and device-B through a trusted link to independently calculate the confirmation function to match the key material, simplifying the device pairing process.

Benefits of technology

It realizes automation and security of device pairing, reduces user interaction steps, and improves wireless communication efficiency and security between devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115038085B_ABST
    Figure CN115038085B_ABST
Patent Text Reader

Abstract

A method for automatically pairing two devices for wireless communication includes detecting, by a first device, that a second device is within a communication range of the first device, wherein the first device has not yet been paired with the second device for wireless communication. The method may include determining, by the first device, that the second device is paired with the third device by communicating with a third device. The first and third devices are also previously paired. The method may include transmitting, by the third device, key material to the second device. The method may include confirming, by the first and second devices, that the key material matches. The method may include establishing, by the first device, a communication link with the second device for wireless communication, in response to the key material matching.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The subject disclosure relates to electronic communication devices and, in particular, to automated lightweight and secure device pairing that leverages existing authentication sessions. Background Art

[0002] Wireless communication technologies such as Bluetooth Wireless communication has become a common feature in vehicles. Many vehicles now include the ability for drivers or passengers to wirelessly connect personal consumer electronic devices to the vehicle's embedded entertainment and communication systems using this communication technology. An example of this is using the vehicle's microphone and speaker system to operate the driver's mobile phone in a hands-free manner. Another example is playing music from a personal music player through the vehicle's stereo system.

[0003] Therefore, it is desirable to provide methods and systems for pairing a device with a vehicle's infotainment system.Furthermore, other desirable features and characteristics of the innovations described herein will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the technical field and background. Summary of the Invention

[0004] One aspect of the present disclosure relates to a method for automatically pairing two devices for wireless communication. The method may include detecting, by a first device, a second device within a communication range of the first device, where the first device has not yet been paired with the second device for wireless communication. The method may include determining, by the first device, that the second device is paired with the third device by communicating with a third device. The first and third devices are also previously paired. The method may include transmitting, by the third device, key material to the second device. The method may include confirming, by the first device and the second device, that the key material matches. The method may include establishing, by the first device, a communication link with the second device for wireless communication, in response to the key material matching.

[0005] In one or more embodiments, confirming that the key material matches at the first device and the second device includes computing a predetermined function using the key material as a parameter by the first device and the second device, and comparing respective outputs of the predetermined function. The predetermined function includes one of out-of-band pairing confirmation, digital comparison pairing confirmation, and key input confirmation.

[0006] In one or more embodiments, a prompt is displayed to a user to notify the user that the first device and the second device have been paired. The prompt includes a user interaction element for deleting the pairing between the first device and the second device. In one or more embodiments, the prompt is displayed on the first device.

[0007] In one or more embodiments, the first device is a vehicle infotainment system and the third device is a vehicle key controller.

[0008] In another aspect, a system is described that includes a first device, a second device, and a third device paired for communication with the first device. The first device detects that the second device is within communication range of the first device and that the first device is not paired with the second device for wireless communication. The first device determines that the second device is paired with the third device by communicating with the third device. Furthermore, the first device causes the third device to transmit key material to the second device. Furthermore, the first device confirms with the second device that the key material matches. Furthermore, in response to the key material matching, the first device establishes a communication link with the second device for wireless communication.

[0009] In one or more embodiments, confirming that the key material matches at the first device and the second device includes computing a predetermined function using the key material as a parameter by the first device and the second device, and comparing respective outputs of the predetermined function. The predetermined function includes one of out-of-band pairing confirmation, digital comparison pairing confirmation, and key input confirmation.

[0010] In one or more embodiments, a prompt is displayed to the user to notify the user that the first device and the second device have been paired. The prompt includes a user interaction element for deleting the pairing between the first device and the second device. In one or more embodiments, the prompt is displayed on the first device.

[0011] In one or more embodiments, the first device is a vehicle infotainment system and the third device is a vehicle key controller.

[0012] In yet another aspect, a vehicle includes a first device comprising a computer-readable storage device having instructions executable by one or more processors to perform a method. The method includes detecting, by the first device, a second device within a communication range of the first device, wherein the first device has not yet been paired with the second device for wireless communication. Furthermore, the method includes determining, by the first device, that the second device is paired with a third device by communicating with the third device, wherein the first device and the third device have previously been paired. Furthermore, the method includes causing the third device to transmit key material to the second device. Furthermore, the method includes confirming, by the first device and the second device, that the key material matches. Furthermore, the method includes establishing, by the first device, a communication link with the second device for wireless communication in response to the key material matching.

[0013] In one or more embodiments, confirming that the key material matches at the first device and the second device includes computing a predetermined function using the key material as a parameter by the first device and the second device, and comparing respective outputs of the predetermined function. The predetermined function includes one of out-of-band pairing confirmation, digital comparison pairing confirmation, and key input confirmation.

[0014] In one or more embodiments, a prompt is displayed to the user to notify the user that the first device and the second device have been paired. The prompt includes a user interaction element for deleting the pairing between the first device and the second device. In one or more embodiments, the prompt is displayed on the first device.

[0015] In one or more embodiments, the first device is a vehicle infotainment system and the third device is a vehicle key controller.

[0016] The above features and advantages and other features and advantages of the present disclosure will become apparent from the following detailed description when taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Additional features, advantages, and details appear by way of example only in the following detailed description, which refers to the accompanying drawings, in which:

[0018] Figure 1 is a block diagram depicting pairing between two devices according to one or more embodiments;

[0019] Figure 2 A flowchart depicting a method for automating pairing of lightweight and secure devices utilizing an existing authentication session in accordance with one or more embodiments;

[0020] Figure 3 is an example confirmation check performed by two devices that are paired according to one or more embodiments; and

[0021] Figure 4 is a block diagram of a computer system according to one embodiment. DETAILED DESCRIPTION

[0022] The following description is merely exemplary in nature and is not intended to limit the present disclosure, its application or use. It should be understood that throughout the drawings, corresponding reference numerals indicate similar or corresponding parts and features. As used herein, the term "module" refers to a processing circuit, which may include an application-specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated or grouped) and a memory that executes one or more software or firmware programs, a combinational logic circuit and / or other suitable components that provide the functionality.

[0023] The technical solution facilitates practical applications to improve device pairing between two communicating devices, thereby facilitating wireless communication between the two devices by simplifying and automating device pairing. The specific embodiments described herein present an exemplary use case for such pairing in a vehicle.

[0024] As used herein, "pairing" two devices includes establishing a secure wireless connection between the two devices. Existing technologies for pairing two devices to communicate using wireless communication protocols, such as Bluetooth Bluetooth Low Energy etc., are cumbersome and create obstacles for users. The technical challenges that lead to such difficulties include the security measures used to prevent access by unknown or unauthorized devices when establishing a communication connection between two devices. For example, such security measures include sharing encryption keys between the two devices and comparing alphanumeric sequences between the two devices using out-of-band methods. This exchange leads to a process that is often confusing or problematic for device users. The same problem exists when establishing certain types of WIFI connections, for example, using a wireless local area network (LAN) connection between two devices. The technical solutions described herein address such technical challenges and help maintain the security of the connection established between two devices while simplifying the pairing process for device users.

[0025] Figure 1 is a block diagram illustrating pairing between two devices according to one or more embodiments. In the depicted scenario, device-A 102 is paired with device-B 104. Here, device-A 102 can be a user device, such as a phone, media player, personal digital assistant, headset, speaker, navigation system, tablet, laptop, or any other communication device. In the example scenario, device-A 102 is used to access one or more operations facilitated by device-B 104. For example, device-B 104 can be a home theater system, a television, a computer, a vehicle infotainment system, a vehicle key controller, an engine control unit (ECU), or any other communication device. It should be understood that the above list is only a few examples of device-A 102 and device-B 104, and various other types of devices can be used in one or more embodiments. Furthermore, in one or more embodiments, device-A 102 and device-B 104 are interchangeable.

[0026] User 105 desires that two devices, Device-A 102 and Device-B 104, be paired with each other to enable communication. For example, such communication may enable Device-B 104 to control one or more functions of Device-A 102, such as playing back media, sending / receiving phone calls, sending / receiving text messages, accessing navigation data / routes, etc. Alternatively or additionally, communication between the two devices may enable Device-A 102 to control one or more functions of Device-B 104. For example, one or more user interface elements, such as buttons, a touch screen, etc., of Device-B 104 may be used to control media playback, calls, navigation, etc., on Device-A 102.

[0027] As previously mentioned, pairing device-A 102 and device-B 104 using existing techniques is cumbersome. For example, a user may have to manually share a key between the two devices or hold one device near the other (e.g., hold device-A 102 near device-B 104 for at least a few seconds). The technical solution described herein reduces the manual steps a user must perform and instead uses an existing trusted session that devices 102, 104 have with a common device (e.g., device-C 106) to automate pairing between device-A 102 and device-B 104.

[0028] like Figure 1 As shown, device-A 102 has been paired with device-C 106 via a first pairing 110 . Additionally, device-B 104 has been paired with device-C 106 via a second pairing 112 .

[0029] For example, in the case of a vehicle 100, device-C 106 can be a vehicle key controller that facilitates user 105 to lock / unlock the doors of vehicle 100 using device-A 102 (e.g., a phone). Device-A 102 (phone) can be pre-registered with device-C 106 (vehicle key controller) in a secure manner. For example, device-A 102 (phone) and device-C 106 (virtual key controller) can be paired when the vehicle 100 is purchased or when device-A 102 (phone) is purchased. Device-B 104 and device-C 106 can be paired with each other when the vehicle 100 is manufactured. In one or more embodiments, device-B 104 and device-C 106 can be paired in a wired manner, for example using a controller area network (CAN) bus.

[0030] It should be noted that Device-A 102, Device-B 104, and Device-C 106 are not limited to the aforementioned device groups and can be any other type of device. For example, in another embodiment, Device-A 102 is a headset to be paired with Device-B 104 (a vehicle infotainment system), and Device-C 106 (a phone) is already paired with both the headset and the vehicle infotainment system. In yet another embodiment, Device-A 102 is a phone to be paired with Device-B 104 (a home theater system), while Device-C 106 (a television) is paired with both the phone and the home theater system. In another example, Device-C 106 is an ECU. Various other such examples are possible, and the embodiments herein do not limit the types of devices paired using the techniques described herein. Furthermore, it should be understood that in one or more embodiments, Device-A 102, Device-B 104, and Device-C 106 can interchange roles. For example, Device-A 102 or Device-B 104 can be the device that is already paired with the other two devices being attempted to pair.

[0031] Figure 2 A flow chart depicts a method for automated lightweight and secure device pairing utilizing an existing authentication session in accordance with one or more embodiments. The method 200 includes, at block 202, detecting by device-B 104 that device-A 102 is within a communication range of device-B 104. Device-B 104 further determines that device-B 104 has not previously paired with device-A 102 for wireless communication. In one or more embodiments, device-B 104 continuously detects any device that is compatible with wireless communication with device-B 104 and within such wireless communication range. For example, in a Bluetooth During communication, the wireless radio (not shown) of Device-B 104 may continuously scan for any other Bluetooth compatible devices within a predetermined range of the wireless radio at a predetermined frequency.

[0032] At block 204, Device-B 104 determines that Device-A 102 is paired with Device-C 106 by communicating with Device-C 106. As described above, Device-B 104 and Device-C 106 were previously paired. It should be noted that the pairing between Device-B 104 and Device-C 106 can be wireless or wired. The pairing between Device-B 104 and Device-C 106 facilitates secure communication between Device-B 104 and Device-C 106. In one or more embodiments, such secure communication may include encrypted communication.

[0033] In one or more embodiments, device-C 106, which has been paired with device-A 102 and device-B 104, generates key material TK' for pairing device-A 102 and device-B 104. At block 262, device-C 106 generates key material TK' by establishing a new communication session with device-A 102 (using the existing pairing). Device-C 106 establishes session key TK with device-A 102 to generate a new secure communication session. The secure communication session may be established using any communication protocol, such as Bluetooth. Etc., using the communication protocol, Device-A 102 and Device-C 106 are paired. In one or more embodiments, once a secure communication session is established, Device-C 106 and Device-A 102 use the session key TK to encrypt the communication exchange.

[0034] At block 264, device-C generates key material TK' for pairing device-A 102 and device-B 104 based on TK. In some embodiments, device-C 106 uses TK as key material for pairing device-A 102 and device-B 104 (i.e., TK'=TK). Alternatively, device-C 106 generates TK' based on TK using a key derivation function (KDF) (i.e., TK'=KDF(TK)). In cryptography, a KDF is a cryptographic hash function that uses a pseudorandom function to generate a "derived key" from a secret value such as a master key, password, or passphrase. A keyed cryptographic hash function is a common example of a pseudorandom function used for key derivation; however, the technical solutions described herein are not limited by the type of key derivation function used in one or more embodiments.

[0035] Method 200 also includes, at block 206, transmitting key material (TK') by device-C 106 to device-B 104. In some embodiments, device-C 106 may also transmit TK' to device-A 102. In some embodiments, device-C 106 does not transmit TK' to device-A 102 because device-A 102 and device-C 106 are already using TK using an existing pairing. When device-B 104 initiates pairing with device-A 102, device-A 102 locally derives TK' using the expression TK'=KDF(TK), and uses TK' to pair with device-B 104 and authenticate and decrypt messages received from device-B 104. In embodiments where device-C 106 uses TK itself as shared key material (i.e., TK'=TK), device-A 102 may also use the existing TK without requiring device-C 106 to transmit key material to device-A 102. Device 106 notifies Device-A 102 that TK' has been shared with Device-B 104. In response, Device-A 102 either calculates TK' using the KDF or sets TK' to the value of TK.

[0036] In embodiments where Device-C 106 derives TK' from TK (i.e., TK'=KDF(TK)), Device-A 102 also independently calculates TK' based on TK using a KDF. In this case, by using the derived key material TK' (which is different from TK), the security of the communication session between Device-A 102 and Device-C 106 is maintained. For example, pairing Device-A 102 and Device-C 106 using TK; and TK'=KDF(TK) for pairing Device-A 102 and Device-B 104 ensures independent secure communication protocols with different encryption keys.

[0037] Typically, in existing solutions, Device-A 102 and Device-B use cryptographic algorithms such as Diffie-Hellman (DH), Elliptic-Curve Diffie-Hellman (ECDH), Rivest Shamir Adleman (RSA), or any other such algorithms to generate the TK. Such protocols require several rounds of communication between the two devices, thereby incurring delays. As can be seen, the technical solution described herein reduces this complexity and delay by avoiding the use of these protocols when pairing Device-A 102 and Device-B 104.

[0038] In an embodiment of the technical solution described herein, instead of running DH, ECDH or other such protocol between Device-A 102 and Device-B 104 , Device-C 106 provides key material TK′ based on the pairing established between Device-A 102 and Device-C 106 .

[0039] Here, "key material" is a non-overlapping binary string required to maintain a key relationship when using a secure communication session between two (or more) devices. The key material TK can be used as a parameter to establish a secure communication session.

[0040] The method 200 may include, at block 208, confirming, by device-B 104 and device-A 102, that the key material TK′ matches. The comparison is performed based on how the pairing between device-A 102 and device-B 104 is performed. For example, if an out-of-band pairing function is to be used to perform the pairing, the key material TK′ is used to independently calculate a confirmation function by both device-A 102 and device-B 104. The confirmation function is a predetermined function that may accept other inputs in addition to TK′. For example, in one or more embodiments, the confirmation function may use information about the device addresses (e.g., MAC addresses, communication port addresses, etc.) of the two devices being paired, information about the pairing command, etc. In one or more embodiments, device-A 102 and device-B 104 each generate a random string for use in calculating the corresponding confirmation function.

[0041] Figure 3 Depicted is an example confirmation check 300 performed by two devices that are paired, in accordance with one or more embodiments. Figure 3 A typical process performed using the prior art with a dotted box is also described. From the description, one or more improvements provided by the technical solution described herein over the prior art will be apparent to those skilled in the art. Figure 3 Two devices, designated as a master device 302 and a slave device 304, are depicted, wherein the master device 302 detects the slave device 304 within its communicable range and, in response, facilitates pairing with the slave device 304. Alternatively, the master device 302 initiates pairing in response to a request to begin the pairing process from the slave device 304. It should be noted that the master device 302 and the slave device 304 may each be replaced by any one of the device-A 102 and the device-B 104.

[0042] As described in further detail, the master device 302 calculates the value of MConfirm (by running a known confirmation function on a set of input parameters (including TK')). The master device 302 then sends the input parameters used to calculate MConfirm (except TK'), along with the resulting MConfirm, to the slave device 304. The slave device 304 uses the received input parameters and the value of TK' it has, and locally calculates the value of MConfirm and compares it with the value received from the master device. If the two values match, authentication is successful and pairing continues. Otherwise, pairing is aborted. Independently, the slave device 304 calculates SConfirm using a predetermined confirmation function and then sends the resulting value along with the input parameters (except TK') to the master device 302. The master device 302 locally calculates the value of SConfirm and compares the result with the value of SConfirm received from the slave device 304. If they match, pairing continues; if they do not match, pairing is aborted.

[0043] According to prior art, in one or more embodiments, the two devices, master device 302 and slave device 304, exchange their respective pairing characteristics at block 306. The pairing characteristics of the first device inform the other device of the pairing capability of the first device, and vice versa.

[0044] At block 308, the two devices select a pairing algorithm based on the pairing characteristics exchanged by the two devices. For example, if one of the master device 302 (or slave device 304) is a legacy device, the selected pairing algorithm is an algorithm that can be executed by both the legacy device and the slave device 304 (or master device 302). In one or more embodiments, other factors, such as processing power, communication network capabilities, etc., may also be considered when selecting a pairing algorithm.

[0045] In block 310, the two devices independently calculate or select parameter values for the confirmation calculation. For example, each device calculates a random string. In addition, each device selects a value for the key material. For example, in one or more embodiments, when using out-of-band pairing, the two devices independently generate values for the key material. Alternatively, in the prior art, the master device 302 can generate or receive key material and then share the key material with the slave device 304. Alternatively, each device independently receives different key material and exchanges them. In some cases, the master device 302 and the slave device 304 wait for user input of a key that will later be used as the key material. In this case, the user 105 must enter the same key into both devices. In other cases where pairing is performed using numeric comparison, a public key exchange, such as a Diffie-Hellman key exchange, is performed. The exchanged public keys are then used to confirm the calculation.

[0046] At block 312, a confirmation calculation is performed independently by each device, master device 302 and slave device 304. As previously described, the confirmation calculation is performed using a predetermined function having one or more parameters in addition to the key material.

[0047] In contrast, in one or more embodiments of the technical solutions described herein, at block 314, the same key material is provided by device-C 106 to both the master device 302 and the slave device 304. As described herein, device-C 106 transmits the key material to device-B 104, while device-A 102 already has access to the key material. In some embodiments, device-C 106 transmits the key material to both device-A 102 and device-B 104. Device-C 106 is paired with both the master device 302 and the slave device 304 (that is, device-C 106 has a secure connection with both devices). As previously described, device-C 106 generates new key material shared with both devices. Both the master device 302 and the slave device 304 use this shared key material for confirmation calculations. Therefore, compared to the prior art, device-C 106 automatically sharing the key material speeds up the pairing process and also reduces user interaction with the master device 302 and / or the slave device 304 during the pairing process.

[0048] In addition, in box 316, the two devices exchange and compare confirmation values that are the output of the confirmation calculation. If the confirmation values do not match, pairing does not continue. If necessary, the two devices can restart the pairing process. Alternatively, if the confirmation values match, a secure communication link / session is established between the two devices. In one or more embodiments, the devices can take additional steps before establishing a secure communication link. For example, in one or more embodiments, the two devices share a random string generated for the confirmation calculation. Each device then performs another confirmation calculation using the exchanged random string and compares the results of the second confirmation calculation. If these second confirmation values also match, a secure communication link is established (i.e., the two devices are paired).

[0049] Return Reference Figure 2 Method 200 further includes, at block 210, in response to the confirmation value match, establishing, by device-B 104, a communication link with device-A 102 for wireless communication. Establishing the communication link may include generating a long-term key by each of the two devices. Alternatively, one of the devices may calculate a long-term key and share it with the other device. The long-term key may be generated using known techniques and one or more previously exchanged parameters, such as a random string, key material, device address, etc. The long-term key may be used to encrypt data communicated between the two devices using the communication link during further communication. The two devices are now considered paired.

[0050] Embodiments of the technical solutions described herein provide practical applications related to computing technology. In particular, they improve the pairing of two devices to securely facilitate wireless communication between the two devices. The embodiments described herein eliminate or minimize user interaction during the pairing process while maintaining the security of the pairing process. According to one or more embodiments, the technical challenges of existing pairing technologies are overcome by utilizing cryptographic key material (shared session keys) established in an out-of-band protocol to automate the secure pairing process and eliminate or minimize user intervention.

[0051] The technical solution described herein can be applied, for example, to the following scenario, where device-A 102 is a user's phone, device-C 106 is a vehicle's access module (which enables door and engine unlocking), and device-B 104 is a vehicle's infotainment system. For example, the user's phone establishes a secure session with device-C 106 (e.g., using the CCC digital key authentication protocol or any other key exchange protocol). Device-C 106 can derive a new key, TK', from its session key with the user's phone (e.g., using a key derivation function). Device-C 106 shares the result with device-B 104 via a trusted link between it and device-B 104 (e.g., an encrypted authentication message sent over the CAN bus). The phone uses the same key derivation to derive the key, TK', from its session key with device-C 106. Both the phone and device-B 104 use the shared secret, TK', to simplify and automate the secure pairing method described herein.

[0052] Thus, embodiments of the technical solution described herein facilitate using an existing out-of-band session key between a client and a first device to derive key material and use it to initiate pairing between the client and a second device having a trusted link to the first device. By using the derived key material, pairing between the client and the second device can be performed such that user intervention (e.g., typing in a key) is completely eliminated, or in some cases, user intervention is kept to a minimum (e.g., pressing a yes / no button). Embodiments of the technical solution thus extend secure pairing to IoT (Internet of Things) devices that have limited (or no) I / O (input / output) capabilities required to type in a key.

[0053] Now go to Figure 4, a computer system 700 is generally shown according to one embodiment. Computer system 700 may represent one or more devices used in one or more embodiments described herein. Computer system 700 may be an electronic computer framework that includes and / or employs any number of computing devices and networks utilizing various communication technologies, as well as combinations thereof, as described herein. Computer system 700 may be easily expandable, scalable, and modular, with the ability to change to different services or reconfigure some features independently of other features. Computer system 700 may be, for example, a server, a desktop computer, a laptop computer, a tablet computer, or a smartphone. In some examples, computer system 700 may be a cloud computing node. Computer system 700 may be described in the general context of computer system-executable instructions (e.g., program modules) executed by the computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types. Computer system 700 may be practiced in a distributed cloud computing environment, where tasks are performed by remote processing devices linked via a communication network. In a distributed cloud computing environment, program modules may be located in local and remote computer system storage media, including memory storage devices.

[0054] like Figure 4 As shown, computer system 700 has one or more central processing units (CPUs) 701a, 701b, 701c, etc. (collectively referred to as processor 701). Processor 701 can be a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. Processor 701, also known as processing circuitry, is connected to system memory 703 and various other components via system bus 702. System memory 703 may include read-only memory (ROM) 704 and random access memory (RAM) 705. ROM 704 is connected to system bus 702 and may include a basic input / output system (BIOS) that controls certain basic functions of computer system 700. RAM is a read-write memory connected to system bus 702 for use by processor 701. System memory 703 provides temporary storage space for the execution of instructions during operation. System memory 703 may include random access memory (RAM), read-only memory, flash memory, or any other suitable storage system.

[0055] Computer system 700 includes an input / output (I / O) adapter 706 and a communications adapter 707 coupled to system bus 702. I / O adapter 706 may be a small computer system interface (SCSI) adapter that communicates with hard disk 708 and / or any other similar components. I / O adapter 706 and hard disk 708 are collectively referred to herein as mass storage 710.

[0056] Software 711 for execution on the computer system 700 may be stored in the mass storage 710. The mass storage 710 is an example of a tangible storage medium readable by the processor 701, wherein the software 711 is stored as instructions executed by the processor 701 to cause the computer system 700 to operate as described below with reference to the various figures. Examples of computer program products and execution of such instructions are discussed in more detail herein. The communications adapter 707 interconnects the system bus 702 with the network 712, which may be an external network that enables the computer system 700 to communicate with other such systems. In one embodiment, a portion of the system memory 703 and the mass storage 710 together store an operating system, which may be a coordinating Figure 4 The various components shown function as any suitable operating system.

[0057] Additional input / output devices are shown connected to the system bus 702 via a display adapter 715 and an interface adapter 716. In one embodiment, adapters 706, 707, 715, and 716 may be connected to one or more I / O buses that are connected to the system bus 702 through an intermediate bus bridge (not shown). A display 719 (e.g., a screen or display monitor) is connected to the system bus 702 via a display adapter 715, which may include a graphics controller and a video controller for improving the performance of graphics-intensive applications. A keyboard, mouse, touch screen, one or more buttons, speakers, and the like may be interconnected to the system bus 702 via an interface adapter 716, which may include, for example, a super I / O chip that integrates multiple device adapters into a single integrated circuit. Suitable I / O buses for connecting peripheral devices such as hard disk controllers, network adapters, and graphics adapters typically include common protocols such as Peripheral Component Interconnect (PCI). Thus, as Figure 4 As shown, computer system 700 includes processing capability in the form of processor 701 , storage capability including system memory 703 and mass storage 710 , input devices such as buttons and a touch screen, and output capability including speakers 723 and a display 719 .

[0058] In some embodiments, the communication adapter 707 can use any suitable interface or protocol to transmit data, such as an Internet Small Computer System Interface. The network 712 can be a cellular network, a radio network, a wide area network (WAN), a local area network (LAN), or the Internet. An external computing device can be connected to the computer system 700 via the network 712. In some examples, the external computing device can be an external network server or a cloud computing node.

[0059] It should be understood that Figure 4 The block diagram does not imply that the computer system 700 includes Figure 4 Instead, the computer system 700 may include all components shown. Figure 4 700 (e.g., additional memory components, embedded controllers, modules, additional network interfaces, etc.). Furthermore, the embodiments described herein with respect to computer system 700 may be implemented using any suitable logic, where in various embodiments, the logic referred to herein may include any suitable hardware (e.g., a processor, an embedded controller, or an application specific integrated circuit, etc.), software (e.g., an application, etc.), firmware, or any suitable combination of hardware, software, and firmware.

[0060] Embodiments of the technical solutions described herein facilitate algorithmically combining grayscale images with higher resolution and narrower FOV that are captured from a sweep camera with lower resolution and wider FOV images of a color camera. The color camera is static (that is, has a fixed FOV), while the sweep camera is used to capture multiple images with a narrower FOV, but captures (or overlaps) the entire FOV of the color camera. The image resulting from this combination is a color, high-resolution, wide FOV, low-distortion combined image. The resulting image can be used in various AV / ADAS applications. By using such a combination, embodiments of the technical solutions described herein facilitate low-cost, high-resolution, wide FOV cameras.

[0061] Unless explicitly described as "direct", when describing the relationship between a first and a second element in the above disclosure, the relationship may be a direct relationship in which there are no other intervening elements between the first and the second elements, but may also be an indirect relationship in which there are one or more intervening elements (spatially or functionally) between the first and the second elements.

[0062] It should be understood that one or more steps in a method or process can be performed in a different order (or simultaneously) without changing the principles of the present disclosure. In addition, although each embodiment is described above as having certain features, any one or more of those features described with respect to any embodiment of the present disclosure can be implemented in any other embodiment and / or combined with the features of any other embodiment, even if the combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and the permutation of one or more embodiments with each other is still within the scope of the present disclosure.

[0063] Although the above disclosure has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope thereof. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present disclosure without departing from the basic scope of the present disclosure. Therefore, it is intended that the present disclosure is not limited to the particular embodiments disclosed, but is intended to include all embodiments falling within its scope.

Claims

1. A computer-implemented method for automatically pairing two devices for wireless communication, the computer-implemented method comprising: detecting, by a first device, a second device within a communication range of the first device, wherein the first device has not yet been paired with the second device for wireless communication; determining, by the first device, that the second device is paired with a third device by communicating with the third device, wherein the first device and the third device were previously paired; transmitting key material by the third device to the second device; Confirming, by the first device and the second device, that the key materials match; and In response to the key materials matching, the first device establishes a communication link with the second device for wireless communication; wherein confirming that the key materials match at the first device and the second device includes: the first device and the second device calculate a predetermined function using the key materials as parameters, and comparing the corresponding outputs of the predetermined function. 2 . The computer-implemented method of claim 1 , wherein the predetermined function comprises one of an out-of-band pairing confirmation, a numeric comparison pairing confirmation, and a key entry confirmation. 3 . The computer-implemented method of claim 1 , further comprising displaying a prompt to a user to notify that the first device and the second device have been paired. 4 . The computer-implemented method of claim 3 , wherein the prompt comprises a user interaction element for deleting the pairing between the first device and the second device. The computer-implemented method of claim 3 , wherein the prompt is displayed on the first device. 6 . The computer-implemented method of claim 1 , wherein the first device is a vehicle infotainment system and the third device is a vehicle key controller.

7. A communication system comprising: First device; Second device; and a third device paired to communicate with the first device, wherein: The first device is configured to: detecting that the second device is within a communication range of the first device and that the first device has not yet been paired with the second device for wireless communication; determining, by communicating with a third device, that the second device is paired with the third device; causing the third device to transmit key material to the second device; confirming with the second device that the key material matches; and In response to the key materials matching, establishing a communication link with the second device for wireless communication; Confirming at the first device and the second device that the key material matches includes: calculating a predetermined function by the first device and the second device using the key material as a parameter, and comparing corresponding outputs of the predetermined function.

8. The communication system of claim 7, wherein the predetermined function comprises one of an out-of-band pairing confirmation, a digital comparison pairing confirmation, and a key entry confirmation.

Citation Information

Patent Citations

  • Secure wireless link between two devices using probes

    CN102387501A

  • Lightweight encrypted communication protocol

    US20190097982A1