Secure wireless communication
View Patent ↗A method in accordance with one embodiment of the invention may include receiving a first encryption key. A second encryption key may be generated, and a first data packet containing the second encryption key may be generated and at least part of the first data packet encrypted using the first encryption key. A second data packet may be generated and at least part of the second data packet encrypted using the second encryption key.
1. A method comprising:
sending a request for a public key from a remote node to a host;
receiving the public key at the remote node, wherein the public key corresponds to a private key that is kept at the host;
encrypting a session key into an encrypted session key at the remote node using the public key;
sending the encrypted session key from the remote node to the host; and
using the session key at the remote node in encrypted wireless communication with the host.
2. The method of claim 1 , further comprising generating the session key at the remote node.
3. The method of claim 1 , further comprising receiving an acknowledgement at the remote node that the encrypted session key was successfully decrypted at the host.
4. The method of claim 1 , wherein using the session key at the remote node comprises:
encrypting first data using the session key, wherein the first data is to be sent to the host; and
decrypting second data using the session key, wherein the second data is received from the host.
5. The method of claim 1 , further comprising performing a binding process to enable the remote node to communicate with the host.
6. The method of claim 5 , wherein sending the request for the public key is performed during the binding process.
7. The method of claim 1 , wherein sending the request for the public key is performed in response to a change of state at the remote node.
8. The method of claim 1 , wherein sending the request for the public key is performed in response to an event at the remote node.
9. The method of claim 1 , wherein the remote node is a wireless device.
10. The method of claim 1 , wherein the remote node comprises a wireless transceiver.
11. A method comprising:
receiving at a host a request for a public key from a remote node;
generating at the host the public key and a private key that corresponds to the public key in response to the request;
sending the public key from the host to the remote node;
receiving at the host an encrypted session key from the remote node;
decrypting the encrypted session key at the host using the private key; and
using the decrypted session key at the host in encrypted wireless communication with the remote node.
12. The method of claim 11 , wherein using the decrypted session key at the host comprises:
encrypting first data using the decrypted session key, wherein the first data is to be sent to the remote node; and
decrypting second data using the decrypted session key, wherein the second data is received from the remote node.
13. The method of claim 11 , further comprising performing a binding process to enable the host to communicate with the remote node.
14. The method of claim 13 , wherein receiving at the host the request for the public key is performed during the binding process.
15. The method of claim 11 , wherein one or more operations of the method are performed by a driver operating on the host.
16. The method of claim 11 , wherein the host comprises a wireless transceiver.
17. The method of claim 11 , wherein the host is one of a computer system, a portable computing device, a set-top box, a television set, a computing device, and a laptop computer.
18. A method comprising:
sending a request for a public key from a remote node to a host;
receiving the request for the public key at the host;
generating at the host the public key and a private key that corresponds to the public key in response to the request;
sending the public key from the host to the remote node;
receiving the public key at the remote node;
encrypting a session key into an encrypted session key at the remote node using the public key;
sending the encrypted session key from the remote node to the host;
receiving the encrypted session key at the host;
decrypting the encrypted session key at the host using the private key to obtain the session key; and
using the session key in encrypted wireless communication between the host and the remote node.
19. The method of claim 18 , further comprising:
generating the session key at the remote node; and
sending an acknowledgement from the host to the remote node that the encrypted session key was successfully decrypted at the host.
20. The method of claim 18 , wherein the session key is a randomly-generated number.