Call encryption systems and methods
First Claim
1. A method comprising:
- detecting, by an encryption relay device, a call associated with a user device that is in communication with the encryption relay device, the call further being associated with another user device that is in communication with another encryption relay device;
authenticating, by the encryption relay device, the other encryption relay device, the authenticating including;
sending audio Completely Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA) information to the other encryption relay device;
receiving, from the other encryption relay device, an audio response to the audio CAPTCHA information;
presenting, to the user device, the received audio response;
receiving, from the user device, confirmation that the received audio response matches the audio CAPTCHA information; and
authenticating the other encryption relay device based on receiving the confirmation;
inserting, by the encryption relay device, audio signals within the call, the audio signals encoding information used to perform a key exchange with another encryption relay device, to exchange one or more encryption keys for the call,wherein at least one encryption key, of the one or more encryption keys, is based on a dial code physically programmed by a user of the user device;
storing, in a local memory of the encryption relay device, the at least one encryption key;
receiving, by the encryption relay device and from the user device, encrypted incoming call information corresponding to the call;
decrypting, by the encryption relay device, the encrypted incoming call information based on the one or more encryption keys, to obtain a decrypted version of the incoming call information;
outputting the decrypted version of the incoming call information to an external communication device that is communicatively coupled to the encryption relay device;
receiving, by the encryption relay device and from the external communication device, outgoing call information;
encrypting, by the encryption relay device and based on the one or more encryption keys, the received outgoing call information;
communicating, by the encryption relay device, the encrypted outgoing call information to the user device to relay the outgoing encrypted call information as part of the call;
detecting, by the encryption relay device, that the call has ended; and
in response to detecting that the call has ended, automatically erasing the at least one encryption key from the local memory of the encryption relay device.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques described herein may be used to encrypt a telephone call between users. User devices (e.g., smart phones) may be connected to encryption relay devices that operate as relays between headsets worn by the user and the user devices. As information passes from the headset toward a corresponding user device, an encryption relay device may encrypt the information before the information reaches the user device so that the user device transmits encrypted call information to the other user participating in the call. When encrypted information is received, and travels from the user device to the headset, the encryption relay device may decrypt the information before it reaches the headset. Thus, the techniques described herein provide an end-to-end encryption solution to telephone calls.
14 Citations
20 Claims
-
1. A method comprising:
-
detecting, by an encryption relay device, a call associated with a user device that is in communication with the encryption relay device, the call further being associated with another user device that is in communication with another encryption relay device; authenticating, by the encryption relay device, the other encryption relay device, the authenticating including; sending audio Completely Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA) information to the other encryption relay device; receiving, from the other encryption relay device, an audio response to the audio CAPTCHA information; presenting, to the user device, the received audio response; receiving, from the user device, confirmation that the received audio response matches the audio CAPTCHA information; and authenticating the other encryption relay device based on receiving the confirmation; inserting, by the encryption relay device, audio signals within the call, the audio signals encoding information used to perform a key exchange with another encryption relay device, to exchange one or more encryption keys for the call, wherein at least one encryption key, of the one or more encryption keys, is based on a dial code physically programmed by a user of the user device; storing, in a local memory of the encryption relay device, the at least one encryption key; receiving, by the encryption relay device and from the user device, encrypted incoming call information corresponding to the call; decrypting, by the encryption relay device, the encrypted incoming call information based on the one or more encryption keys, to obtain a decrypted version of the incoming call information; outputting the decrypted version of the incoming call information to an external communication device that is communicatively coupled to the encryption relay device; receiving, by the encryption relay device and from the external communication device, outgoing call information; encrypting, by the encryption relay device and based on the one or more encryption keys, the received outgoing call information; communicating, by the encryption relay device, the encrypted outgoing call information to the user device to relay the outgoing encrypted call information as part of the call; detecting, by the encryption relay device, that the call has ended; and in response to detecting that the call has ended, automatically erasing the at least one encryption key from the local memory of the encryption relay device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable medium containing program instructions for causing one or more processors to:
-
detect a call associated with a user device, in communication with an encryption relay device, the call further being associated with another user device that is in communication with another encryption relay device; authenticate the other encryption relay device, the authenticating including; sending an audible phrase to the other encryption relay device; receiving, from the other encryption relay device, an audio response to the audible phrase; presenting, to the user device, the received audio response; receiving, from the user device, confirmation that the received audio response matches the audible phrase sent to the other encryption relay device; and authenticating the other encryption relay device based on receiving the confirmation; insert audio signals within the call, the audio signals encoding information used to perform a key exchange with another encryption relay device, to exchange one or more encryption keys for the call, wherein at least one encryption key, of the one or more encryption keys, is based on a dial code physically inputted at the user device; store, in a local memory of the encryption relay device, the at least one encryption key; receive, from the user device, encrypted incoming call information corresponding to the call; decrypt the encrypted incoming call information based on the one or more encryption keys, to obtain a decrypted version of the incoming call information; output the decrypted version of the incoming call information to an external communication device that is communicatively coupled to the encryption relay device; receive, from the external communication device, outgoing call information; encrypt, based on the one or more encryption keys, the received outgoing call information; communicate the encrypted outgoing call information to the user device to relay the outgoing encrypted call information as part of the call; detect that the call has ended; and in response to detecting that the call has ended, automatically erase the at least one encryption key from the local memory of the encryption relay device. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computing device comprising:
-
a non-transitory computer-readable memory device storing processor-executable instructions; and one or more processors configured to execute processor-executable instructions to cause the one or more processors to; detect a call involving a user device in communication with the computing device, the call further being associated with another user device that is in communication with an encryption relay device; authenticate the encryption relay device, the authenticating including; sending an audible phrase to the encryption relay device; receiving, from the encryption relay device, an audio response to the audible phrase; presenting, to the user device, the received audio response; receiving, from the user device, confirmation that the received audio response matches the audible phrase sent to the encryption relay device; and authenticating the encryption relay device based on receiving the confirmation; insert audio signals within the call, the audio signals encoding information used to perform a key exchange, to exchange one or more encryption keys for the call, wherein at least one encryption key, of the one or more encryption keys, is based on a code dialed at the user device; store, in a local memory of the computing device, the at least one encryption key; receive, from the user device, encrypted incoming call information corresponding to the call; decrypt the encrypted incoming call information based on the one or more encryption keys, to obtain a decrypted version of the incoming call information; output the decrypted version of the incoming call information to an external communication device that is communicatively coupled to the computing device; receive, from the external communication device, outgoing call information; encrypt the received outgoing call information, based on the one or more encryption keys; communicate the encrypted outgoing call information, to the user device to relay the outgoing encrypted call information as part of the call; detect that the call has ended; and in response to detecting that the call has ended, automatically erase the at least one encryption key from the local memory of the computing device. - View Dependent Claims (17, 18, 19, 20)
-
Specification