The present disclosure relates to voice encryption devices and methods for securing voice communication, and more particularly to voice encryption devices and methods for securing voice communication of cellular phones.
Voice communication is typically easy to intercept. For example, voice communication over standard land-lines (e.g., plain old telephone service (POTS)) can be intercepted by clipping onto the wires or path of wires between two callers. Voice communication over cordless phones can be intercepted by using radio frequency scanners. Also, voice communication over early generation cell phones was capable of being intercepted by using radio frequency scanners. Cell phones have however evolved to provide some encryption of voice communication transmitted between the cell phones and the cell service provider. Voice over internet protocol (VOIP) systems have been developed that enable voice communication over the internet, and various approaches have been developed to encrypt the voice communication transmitted over VOIP systems.
In the case of cell phone encryption, algorithms, equipment and methods of attack are known and readily available which enable interception and decryption of voice communication. Additionally, there is no standard encryption method to protect voice communication between cellular service providers. Meaning, that while the voice communication between the cell phone and the service provider may be encrypted, the cellular service provider of the calling party forwards a decrypted version of the voice communication in real-time across an SS7 (Signaling System No. 7) network to the cellular service provider of the called party, thus exposing the voice communication when transported across the SS7 network.
Although VOIP systems initially may have provided improved voice communication security as compared to regular cellular networks, due to poor implementation over time the encryption provided by the VOIP systems has been broken. Additionally, VOIP systems operate only on computers or smart phones, making VOIP applications vulnerable to viruses and trojans that can intercept voice communication before it has been encrypted.
At present, the best commercial attempts at securing voice communication leave the voice communication unprotected when moving between cellular networks and vulnerable to viruses and trojans at each device. Although military and government applications may include special equipment to secure voice communication, the equipment is bulky and difficult to utilize.
Embodiments of the inventive concepts provide a voice encryption device including a pseudorandom number generator configured to generate a key data stream responsive to a cryptographic key; a shift register configured to sequentially store a sequence of voice data as a block of voice data; a selector configured to select pieces of voice data from among the block of voice data stored by the shift register and provide a rearranged block of voice data including the selected pieces of voice data as initial pieces of voice data in the rearranged block of voice data responsive to a key data value from among the key data stream; and a combiner configured to combine the rearranged block of voice data provided from the selector with the block of voice data to generate an encrypted block of voice data.
Embodiments of the inventive concepts further provide a voice encryption device including a pseudorandom number generator configured to generate a key data stream responsive to a cryptographic key; a shift register configured to sequentially store a sequence of voice data as a block of voice data; a selector configured to select pieces of voice data from among the block of voice data stored by the shift register and provide a rearranged block of voice data including the selected pieces of voice data as initial pieces of voice data in the rearranged block of voice data responsive to a key data value from among the key data stream; and a combiner configured to combine the rearranged block of voice data provided from the selector with a previous block of voice data received prior to the block of voice data to generate an encrypted block of voice data.
Embodiments of the inventive concepts still further provide a method of securing voice communication between first and second cellular phones using a first voice encryption device paired with the first cellular phone. The method includes determining by the first voice encryption device whether a call has been initiated by the first cellular phone to the second cellular phone; sending by the first cellular phone first identifier tones to the second cellular phone via a network responsive to the first voice encryption device, upon determination that the call has been initiated by the first cellular phone, the first identifier tones indicative that the first cellular phone is paired with the first voice encryption device; determining by the first voice encryption device whether second identifier tones have been received by the first cellular phone from the second cellular phone via the network responsive to the sending the first identifier tones, the second identifier tones indicative that a second voice encryption device is paired with the second cellular phone; setting by the first and second voice encryption devices a secure cryptographic key, upon determining that the second identifier tones have been received; encrypting by the first voice encryption device first voice data using the secure cryptographic key to provide encrypted first voice data; encrypting by the second voice encryption device second voice data using the secure cryptographic key to provide encrypted second voice data; and communicating by the first and second cellular phones the encrypted first and second voice data respectively to the second and first cellular phones via the network.
Embodiments of the inventive concepts will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings in which:
Embodiments of the inventive concepts will be described as follows in detail with reference to accompanying drawings.
As is traditional in the field of the inventive concepts, embodiments may be described and illustrated in terms of blocks which carry out a described function or functions. These blocks, which may be referred to herein as units or modules or the like, are physically implemented by analog and/or digital circuits such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits and the like, and may optionally be driven by firmware and/or software. The circuits may, for example, be embodied in one or more semiconductor chips, or on substrate supports such as printed circuit boards and the like. The circuits constituting a block may be implemented by dedicated hardware, or by a processor (e.g., one or more programmed microprocessors and associated circuitry), or by a combination of dedicated hardware to perform some functions of the block and a processor to perform other functions of the block. Each block of the embodiments may be physically separated into two or more interacting and discrete blocks without departing from the scope of the inventive concepts. Likewise, the blocks of the embodiments may be physically combined into more complex blocks without departing from the scope of the inventive concepts.
Device 110 as shown in
Voice encryption device 120 wirelessly communicates with device 110 and cellular phone 130 using short-link transmission. Voice encryption device 120 wirelessly receives the voice data from device 110 using transceiver 122, encrypts the voice data, and wirelessly transmits the encrypted voice data to cellular phone 130 using transceiver 124. Voice encryption device 120 also wirelessly receives encrypted voice data from cellular phone 130 using transceiver 124, decrypts the encrypted voice data, and transmits the decrypted voice data to device 110 using transceiver 122. Voice encryption device 120 includes various circuitry (not shown) other than transceivers 122 and 124, as will be subsequently described.
Cellular phone 130 wirelessly transmits the encrypted voice data provided from voice encryption device 120 to a called cellular phone (not shown) via a network, and also wirelessly transmits encrypted voice data received from the called cellular phone via the network to voice encryption device 120. The short-link transmission may be for example wireless transmission such as Bluetooth, Zigbee, ultrasound, or the like. The network may be a cellular network or a voice over internet protocol (VOIP) network. As will be subsequently described, voice encryption device 120 may be configured to operate in a pass-through mode in which voice data is not modified (e.g., encrypted or decrypted) in any way, and is merely passed between device 110 and cellular phone 130.
The following description will be made assuming that device 110 including microphone 112 and speaker 114 is a wearable device such as a headset that is enabled for short-link transmission, and that the user of the headset has initiated a phone call via cellular phone 130 and has spoken into microphone 112. Transceiver 310 (which corresponds to transceiver 122 described with respect to
For example, in an embodiment of the inventive concepts, the block of voice data output to selector 340 may include 8 pieces of voice data (or in other words 8 bands). For example, as shown in
Under control of controller 380, cryptographic key generator 360 generates and outputs a cryptographic key to pseudorandom number generator 370. Although not shown, cryptographic key generator 360 may include a memory that stores a key or user installed keys that define which encryption domains of various encryption domains are supported by voice encryption device 120. Primary domain level keys may be installed into the memory of cryptographic key generator 360 “over-the-air” via a transport mechanism (not shown) such as BLE (Bluetooth low energy), WIFI, or other wireless protocols. Cryptographic key generator 360 may be configured to support installation of the keys via the transport medium. Cryptographic key generator 360 may validate the authenticity of the received key using common cryptographic methods such as for example verification of a digital signature or hash. Cryptographic key generator 360 may be configured to enable user selection of installed keys for a particular call by use of an application running on a desktop or mobile device that communicates with cryptographic key generator 360 via a wireless protocol. The key may also be selected by moving voice encryption device 120 in a specific direction or pattern that switches the device between various keys whereby the result of the change may be confirmed through a flashing light (not shown) on voice encryption device 120 or a display (not shown) on voice encryption device 120 that may indicate the name or identification of the selected key.
Pseudorandom number generator 370 optionally generates a key data stream responsive to the cryptographic key output by cryptographic key generator 360. The key data stream is output to selector 340 and combiner 320. Pseudorandom number generator 370 may utilize a common encryption algorithm such as the American encryption standard (AES), although other algorithms may be used. Pseudorandom number generator 370 generates the key data stream on the basis of the cryptographic key selected and output by cryptographic key generator 360.
In particular, voice encryption device 120 as paired with cellular phone 130 as shown in
Selector 340 is configured to rearrange pieces of voice data in the block of voice data provided from shift register 350 responsive to a key data value from among the key data stream generated by pseudorandom number generator 370, and to output the rearranged pieces of voice data in parallel as a rearranged block of voice data to combiner 320. For example, responsive to a byte or key data value of the key data stream having a first particular value, selector 340 may be configured to select the eighth and first pieces of voice data from among the block of voice data output from shift register 350 respectively as the first two (initial) pieces of voice data of the rearranged block of voice data. As a further example, responsive to a byte or key data value of the key data stream having a second particular value, selector 340 may be configured to select the fourth through seventh pieces of voice data from among the block of voice data output from shift register 350 respectively as the first four (initial) pieces of voice data. As a still further example, responsive to a byte or key data value of the key data stream having a third particular value, selector 340 may be configured to select the second, fifth and eighth pieces of voice data from among the block of voice data output from shift register 350 respectively as the first three (initial) pieces of voice data of the rearranged block of voice data. That is, selector 370 may be configured to select any combination of any number n pieces of voice data from among m pieces of voice data of the block of voice data output from shift register 350 as the initial pieces of voice data of the rearranged block of voice data, responsive to particular key data value. Subsequent to selecting the n pieces of voice data from among the block of voice data responsive to the particular key data value, the remaining (i.e., m−n) pieces of the voice data from among the block of voice data other than the selected pieces of voice data are then sequentially provided in order after the initial pieces of voice data of the rearranged block of voice data, further responsive to the particular key data value. That is, all the pieces of voice data from among the block of voice data corresponding to the sequence of voice data are output in rearranged order as the rearranged block of voice data responsive to a particular key data value, the rearranged block of voice data including in sequential order the selected initial pieces of the voice data followed by the remaining pieces of voice data. In this case, n and m are positive integers, and m>n.
For example, in the case where the byte or key data value of the key data stream is the aforementioned third value so that selector 340 selects the second, fifth and eighth pieces of voice data from among the block of voice data output from shift register 350 respectively as the first three pieces of voice data, the rearranged block of voice data as rearranged by selector 340 would be as illustrated in
In some embodiments of the inventive concepts, in addition to rearranging an order or sequence of the voice data in the block of voice data output from shift register 350 to provide the rearranged block of voice data, selector 340 may be further configured responsive to a byte or key data value of the key data stream to invert the amplitude of some of the voice data in the block of voice data output from shift register 350 and/or to change the amplitude of some of the voice data in the block of voice data output from shift register 350. In some embodiments of the inventive concepts, in addition to selector 340 rearranging an order or sequence of the voice data in the block of voice data received from shift register 350 and/or inverting the amplitude of some of the voice data in the block of voice data and/or changing the amplitude of some of the voice data in the block of voice data to provide the rearranged block of voice data, combiner 320 may be configured to insert bands from previous blocks of voice data into empty buckets of the rearranged block of voice data output from selector 340 responsive to a byte or key data value of the key data stream. In this way, pauses or gaps in voice spoken into microphone 112 (see
Under control of controller 380, in addition to providing the sequence of voice data to shift register 350, transceiver 310 at the same time provides the sequence of voice data to combiner 320. Also under control of controller 380, combiner 320 stores received pieces of the voice data in sequential order in a shift register (not shown) similar to shift register 350, and holds the stored pieces of voice data provided from transceiver 310 as the block of voice data. Combiner 320 is synchronized under control of controller 380 to hold a same corresponding block of voice data as the block of voice data stored and output from shift register 350. That is, under control of controller 380, combiner 320 holds a same block of voice data as the block of voice data that is stored in shift register 350 and that is used to generate the rearranged block of voice data. Combiner 320 may for example include shift registers including buckets B1 through B8 similar to shift register 350 for example. Combiner 320 may then combine the block of voice data held therein with the rearranged block of voice data generated from the corresponding same block of voice data output from shift register 350, to generate and output encrypted voice data to transceiver 330 responsive to a byte or key data value of the key data stream having a particular value. That is, combiner 320 may generate an encrypted block of voice data by combining a block of voice data with a rearranged version of the same block of voice data.
Also, in addition to holding a same block of voice data as the block of voice data that is stored in shift register 350 and that is used to generate the rearranged block of voice data, combiner 320 under control of controller 380 may also hold for example four blocks of voice data received prior to the block of voice data that is stored in shift register 350 and that is used to generate the rearranged block of voice data. Combiner 320 may thus include a plurality of shift registers that cache for example five sequential blocks of voice data. Combiner 320 may combine any one of the four blocks of voice data received prior to the block of voice data that is stored in shift register 350 and that is used to generate the rearranged block of voice data, with the rearranged block of voice data output from selector 340, to generate and output encrypted voice data responsive to a byte or key data value of the key data stream having a particular value. That is, combiner 320 may generate an encrypted block of voice data by combining a rearranged version of a block of voice data with a block of voice data received prior to the block of voice data that is used to generate the rearranged block of voice data. It should be understood that in the case of a first initial block of voice data in the sequence of received voice data, an encrypted block of voice data can be generated by combining the first initial block of voice data with a rearranged version of the same first initial block of voice data and not a previous block of voice data.
It should be understood that
Transceiver 330 is configured to wirelessly transmit the encrypted voice data to cellular phone 130 shown in
Controller 380 as shown in
As shown in
The bytes or key data values of the key data stream are sequentially provided from pseudorandom number generator 370 to selector 340 and combiner 320. Under control of controller 380, selector 340 first changes the amplitude and/or inverts the amplitude of the encrypted block of voice data output from shift register 350 responsive to the received bytes or key data values of the key data stream. The encrypted block of voice data having changed or inverted amplitude is output from selector 340 to combiner 320. Under control of controller 380, combiner 320 then subtracts the encrypted block of voice data having changed or inverted amplitude from a corresponding decrypted block of voice data held in the aforementioned shift registers of combiner 320 responsive to the received bytes or key data values of the key data stream, to provide an intermediate block of voice data. Thereafter under control of controller 380, combiner 320 rearranges the bands or pieces of voice data of the intermediate block of voice data responsive to the received bytes or key data values of the key data stream to generate a decrypted block of voice data. The decrypted block of voice data is output to transceiver 310. Under control of controller 380, transceiver 310 transmits the decrypted block of voice data as original voice data to transceiver 116 of device 110 (see
For example, under control of controller 380, responsive to a first byte or key data value of the key data stream, combiner 320 rearranges four bands or pieces of voice data of the intermediate block of voice data to generate a decrypted block of voice data. Under control of controller 380, responsive to the following second byte or key data value of the key data stream, selector 340 determines which bands are to have their amplitude modified or adjusted. Under control of controller 380, responsive to the following third byte or key data value of the key data stream, selector 340 adjusts the amplitude of the band selected based on the second byte or key data value. Under control of controller 380, responsive to the fourth byte or key data value of the key data stream, selector 340 adjusts the amplitude of the next selected band of audio data. This process continues until the amplitude of all selected bands are adjusted. The amplitude is adjusted by adding the value of the corresponding byte or key data value to the existing band amplitude.
As described previously, combiner 320 includes plural shift registers, and in the case of voice encryption device 120 being used for decryption, the shift registers maintain a circular queue of previous decrypted blocks of voice data for the specific audio channel, for example 5 to 10 seconds of voice data. Typically, voice encryption device 120 includes two audio channels, although in some embodiments more than two audio channels may be included. One audio channel is for outgoing voice data and the other channel is for incoming voice data. The two channels are managed separately in that the utilization of keys and data stored in the shift registers are specific to the channel.
As the decryption process proceeds, under control of controller 380, responsive to a next following byte or key data value of the key data stream, combiner 320 selects a previous decrypted block of voice data held in the shift registers that maintain the circular queue of previous decrypted blocks of voice data and adds it to the encrypted block of voice data having changed or inverted amplitude as output from selector 340 to provide the intermediate block of voice data. Of note, initially the shift registers in combiner 320 contain no previous decrypted blocks of voice data, but once a first decrypted block of voice data is generated it is cached in the aforementioned shift registers of combiner 320. It should be understood that for the case of a first initial encrypted block of voice data in combiner 230, decryption is performed based on adjusting the amplitude of the bands of the encrypted block of voice data and then rearranging the bands of the encrypted block of voice data based on the value from the key stream.
Accordingly, during the decryption process voice encryption device 120 of
In some embodiments of the inventive concept, voice encryption device 120 of
In some embodiments of the inventive concepts, accelerometer 240 may be disposed on circuit board 237 as shown in
Processor 515 may be a digital signal processor driven by software stored in non-volatile flash memory 517 to carry out the functions or functionality of combiner 320, selector 340, shift register 350, pseudorandom number generator 370, cryptographic key generator 360 and controller 380 described with respect to
Short-link transceiver 521 as coupled to first antenna 523 may together provide the functionality of transceiver 310 of
In S610, processor 515 determines whether the first voice encryption device of the first cellular phone is on (i.e., all components as shown in
When the voice encryption device is determined not to be on (No in S610), operation proceeds to S612 and processor 515 determines whether the voice encryption device is connected to an external power supply (e.g., through a port such as port 239) or is being inductively charged.
When the voice encryption device is determined to be connected to an external power supply and/or is being charged (Yes in S612), operation proceeds to S614 and the voice encryption device is turned on.
When the voice encryption device is determined not to be connected to an external power supply and/or is not being charged (No in S612), operation returns to S610. In embodiments, a device may be programmably transitioned into an Off state for purposes of safely shipping or transporting the device, since it may contain a lithium ion battery which necessitates that certain regulations be complied with during transport.
When the voice encryption device is determined to be on (Yes in S610) or is turned on at S614, operation proceeds to S616. In S616 processor 515 performs a system check of the voice encryption device by confirming for example that RAM memory is accessible, key domain information is available, and the transceiver is responsive to commands, and operation thereafter proceeds to S618.
In S618 processor 515 determines if configuration commands have arrived via wireless or other communication methods and are pending to be processed.
When configuration commands are available (Yes in S618), operation proceeds to S620 and processor 515 executes or stores the configuration commands. The configuration commands may include for example the transfer and storage of key domain keys and device serial number. After completion of execution of the configuration commands in S620, operation returns to S618.
When configuration commands are not available, or have already been executed and thus are no longer available, (No in S618), operation proceeds to S622.
In S622 processor 515 determines whether personalization commands are available.
When personalization commands are available (Yes in S622), operation proceeds to S624 and processor 515 executes or stores the personalization commands. The personalization commands may include the user name of a person assigned the device, or other customer specific information. After completion of the personalization commands, operation proceeds to S618.
When personalization commands are not available (No is S622), operation proceeds to S626 and processor 515 determines whether a call has been initiated. The call may be initiated by user command provided through device 110 (see
When a call has been initiated (Yes in S626), processor 515 controls the paired first cellular phone to send first identifier tones to the second cellular phone via the network. For example, processor 515 may send commands to the paired first cellular phone via short-link transceiver 521 and antenna 525, the commands instructing the paired first cellular phone to send the first identifier tones to second cellular phone via the network. The first identifier tones are indicative that the first cellular phone is paired with the first voice encryption device. Operation then proceeds to S630.
In S630, processor 515 determines whether the paired first cellular phone has received second identifier tones from the second cellular telephone responsive to the sent first identifier tones. Processor 515 may receive from the paired first cellular phone via short-link transceiver 521 and antenna 525 notice that the second identifier tones have been received. The second identifier tones are indicative that the second cellular phone is paired with a second voice encryption device.
When the second identifier tones have been received (Yes in S630), processor 515 consequently confirms that the second cellular phone includes the paired second voice encryption device and is capable of communication of encrypted voice data. Operation then proceeds to S632.
In S632 processor 515 completes a secure cryptographic key setup, so that the cryptographic key generator (e.g., cryptographic key generator 360 in
In S634, processor 515 controls the first encryption device to generate encrypted voice data using the corresponding cryptographic key in a manner such as described with reference to
In S636 processor 515 determines whether encrypted communication between the first cellular phone and the second cellular phone is not synchronized. Due to errors along the network transmission path, it is possible that the encrypted voice data may be corrupted in such a way that it can not be decrypted. When the received encrypted voice data can not be properly decrypted, a synchronization process must thereafter be initiated to re-establish secure communication.
When it is determined that encrypted communication is out of synchronization (Yes in S636), operation proceeds to S638. In S638 processor 515 completes a secure cryptographic key setup such as described with respect S632. Thereafter operation proceeds to S634. When it is determined that encrypted communication is not out of synchronization, operation returns back to S618.
When the second identifier tones have not been received (No in S630), operation proceeds to S640. When the first voice encryption device paired with the first cellular phone has not received the second identifier tones from the second cellular phone in S630 subsequent to sending the first identifier tones to the second cellular phone in S628, processor 515 of the first voice encryption device determines that the second cellular phone is not paired with a voice encryption device and is not capable of secure encrypted voice communication. Consequently, in S640 processor 515 of the first voice encryption device passes the voice data received from device 110 (see
When a call has not been initiated at the first cellular phone (No in S626), operation proceeds to S642. In S642, processor 515 determines if an incoming call has been received by the first cellular phone.
When an incoming call has been received (Yes in S642) by the first cellular phone (e.g., from the second cellular phone), processor 515 of the first voice encryption device determines in S644 whether identifier tones (which may for example be characterized as the aforementioned second identifier tones received from a second cellular phone for the purpose of maintaining consistent description) have been received via the network. Processor 515 of the first encryption device may receive indication from the first cellular phone upon reception of the second identifier tones. The received second identifier tones indicate that the second cellular phone (the calling phone) is paired with a second encryption device and is capable of encrypted voice communication.
When reception of the second identifier tones is determined (Yes in S644), operation proceeds to S646. In S646, processor 515 of the first encryption device controls the paired first cellular phone to send identifier tones (which may for example be characterized as the aforementioned first identifier tones for the purpose of consistency) to the second cellular phone via the network, as indication that the first cellular phone is paired with the first encryption device and is capable of encrypted voice communication. Operation thereafter proceeds to S632 to complete the secure key setup as previously described.
When reception of the second identifier tones is not determined (No in S644), operation proceeds to S640. Since the second identifier tones have not been received from the second cellular phone, in step S640 processor 515 of the first voice encryption device passes the voice data received from device 110 (see
If the determination in S618, S622, S626, and S642 are all No, operation proceeds to S648 and processor 515 determines if the system is presently engaged in a secure call. If the system is not engaged in a secure call (No in S648), operation proceeds to S640 and voice data is transmitted to the second cellular phone without encryption, and thereafter operation returns to S618. When it is determined in S648 that a secure call is in progress or currently being carried out (Yes in S648), operation proceeds to S634 and encryption or decryption as described with respect to
In
In some embodiments, laptop 1000 as described with respect to
Accordingly, in some embodiments of the inventive concepts, the core elements and functionality of the voice encryption device may be integrated directly within existing headsets, speakerphones, car phones, laptops, notebooks, mobile devices and various other portable electronic devices for example, such that a separate device as described with respect to
Additionally, in some embodiments of the inventive concepts, the core elements and functionality of the voice encryption device may be integrated within a device that attaches directly to a mobile device such as for example a battery pack, a camera, or a biometric authentication device for example. The system and functionality may be integrated by wireless communication as previously described or by utilizing a direct wired connection or plugged interface adapter.
In embodiments of the inventive concepts, a first cellular phone paired with a first voice encryption device may communicate encrypted voice data with a second cellular phone paired with a second voice encryption device. In a pass-through mode when both the first and second voice encryption devices do not support a same encryption domain, the first and second cellular phones may communicate non-encrypted voice data.
Existing technology typically utilizes software operating on a computer or mobile device to encrypt voice data. However, a computer or mobile device may be exposed to viruses or trojans that enable unauthorized persons to obtain encryption keys, or to more simply acquire the incoming unencrypted audio from the microphone or from the mobile device when the decrypted audio is sent to the speaker or headset. According to embodiments of the inventive concepts, the encryption and decryption of voice data may be performed separate from the computer or mobile device to prevent an unauthorized person from using a virus or trojan installed in the computer or mobile device from obtaining unencrypted voice data.
As described above, example embodiments have been disclosed in the drawings and specification. While the embodiments have been described herein with reference to specific terms, it should be understood that they have been used only for the purpose of describing technical ideas of the inventive concepts and not for limiting the scope of the inventive concepts. Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the inventive concepts.
Number | Date | Country | |
---|---|---|---|
62747698 | Oct 2018 | US |