U.S. patent application number 14/025533 was filed with the patent office on 2014-01-16 for method and device for secure phone banking.
This patent application is currently assigned to Qualcomm Incorporated. The applicant listed for this patent is Qualcomm Incorporated. Invention is credited to Jae-Hee Choi, Alexander GANTMAN, John W. Noerenberg, Gregory Gordon Rose.
Application Number | 20140016780 14/025533 |
Document ID | / |
Family ID | 39415221 |
Filed Date | 2014-01-16 |
United States Patent
Application |
20140016780 |
Kind Code |
A1 |
GANTMAN; Alexander ; et
al. |
January 16, 2014 |
Method and device for secure phone banking
Abstract
A small form-factor security device is provided that may be
inserted in series with a telephone line to encrypt dual tone
multi-frequency (DTMF) tones from a telephone to prevent
unauthorized disclosure of sensitive information. A receiving
device decrypts the encrypted DTMF tones to receive the original
information sent by the telephone. The security device acts as a
second factor in a two-factor authentication scheme with a
tele-services security server that authenticates the security
device.
Inventors: |
GANTMAN; Alexander; (Solana
Beach, CA) ; Rose; Gregory Gordon; (San Diego,
CA) ; Choi; Jae-Hee; (Fullerton, CA) ;
Noerenberg; John W.; (San Diego, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Qualcomm Incorporated |
San Diego |
CA |
US |
|
|
Assignee: |
Qualcomm Incorporated
San Diego
CA
|
Family ID: |
39415221 |
Appl. No.: |
14/025533 |
Filed: |
September 12, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11611825 |
Dec 15, 2006 |
8571188 |
|
|
14025533 |
|
|
|
|
Current U.S.
Class: |
380/257 |
Current CPC
Class: |
H04M 1/505 20130101;
H04L 9/00 20130101; H04M 3/16 20130101; H04M 11/00 20130101; H04M
2203/609 20130101; H04M 1/68 20130101 |
Class at
Publication: |
380/257 |
International
Class: |
H04L 9/00 20060101
H04L009/00 |
Claims
1. A method operational on a small form-factor telephone security
device, comprising: receiving dual tone multi-frequency (DTMF)
tones from a telephone over a first communication interface;
encrypting the DTMF tones received from the telephone; and sending
the encrypted DTMF tones to a security server over a second
communication interface.
2. The method of claim 1 further comprising: receiving an
activation signal from the security device; and placing the
security device into an active mode of operation once the
activation signal is received, wherein active mode the security
device is configured to encrypt DTMF tones received from the
telephone are, and allow voice signals to pass through the security
device unchanged.
3. The method of claim 1 further comprising: passing DTMF tones
from the telephone through unchanged between the first
communication interface to a second communication interface in a
passive mode of operation.
4. The method of claim 1 further comprising: powering the security
device upon a call being initiated between the telephone and the
security server.
5. The method of claim 1 further comprising: receiving an
authentication challenge from the security server; replying to the
authentication challenge with an authentication response; and
receiving a confirmation indicating that the security server has
successfully authenticated the security device.
6. The method of claim 1 further comprising: converting a first
DTMF tone received over the first communication interface into a
first symbol; pseudorandomly selecting a translation table from a
plurality of translation tables; translating the first symbol into
a second symbol using the selected translation table; converting
the second symbol into a second DTMF tone; and sending the second
DTMF tone as the encrypted DTMF tone.
7. The method of claim 6 further comprising: obtaining a
pseudorandom number from a keystream generated at the security
device; and shuffling symbols in a base translation table based on
the pseudorandom number to obtain the selected translation
table.
8. The method of claim 6 further comprising: converting DTMF tones
received over the first communication interface into associated
symbols within a set of symbols; pseudorandomly selecting an
associated translation table from a plurality of translation tables
for each DTMF tone received; and translating the associated symbol
for each DTMF tone received into an encrypted symbol based on its
associated translation table.
9. The method of claim 1 wherein the security device is positioned
proximate the telephone and coupled in series between the telephone
and the security server.
10. The method of claim 1 further comprising: detecting the
telephone number called by the telephone; encrypting DTMF tones
received from the telephone if the telephone number is recognized
as an associated secure institution; and passing DTMF tones
received from the telephone to the security server unchanged
otherwise.
11. A small form-factor telephone security device, comprising:
means for receiving dual tone multi-frequency (DTMF) tones from a
telephone over a first communication interface; means for
encrypting the DTMF tones received from the telephone; and means
for sending the encrypted DTMF tones to a security server over a
second communication interface.
12. The device of claim 11 further comprising: means for receiving
an activation signal from the security device; and means for
placing the security device into an active mode of operation once
the activation signal is received.
13. The method of claim 11 further comprising: means for passing
DTMF tones through unchanged between the first communication
interface to a second communication interface in a passive mode of
operation.
14. The device of claim 11 further comprising: means for converting
a first DTMF tone received over the first communication interface
into a first symbol; means for pseudorandomly selecting a
translation table from a plurality of translation tables; means for
translating the first symbol into a second symbol using the
selected translation table; means for converting the second symbol
into a second DTMF tone; and means for sending the second DTMF tone
as the encrypted DTMF tone.
15. The device of claim 14 further comprising: means for obtaining
a pseudorandom number from a keystream generated at the security
device; and means for shuffling symbols in a base translation table
based on the pseudorandom number to obtain the selected translation
table.
16. A small form-factor telephone security device, comprising: a
first communication interface for communicating with a telephone; a
second communication interface for communicating with a security
server; a processing circuit coupled between the first
communication interface and the second communication interface, the
processing circuit configured to: receive dual tone multi-frequency
(DTMF) tones from the telephone; encrypt the received DTMF tones;
and send the encrypted DTMF tones to the security server.
17. The device of claim 16 wherein the processing circuit is
further configured to receive an activation signal from the
security device; and place the security device into an active mode
of operation once the activation signal is received.
18. The device of claim 16 the processing circuit is further
configured to pass DTMF tones through unchanged between the first
communication interface to a second communication interface in a
passive mode of operation.
19. The device of claim 16 further comprising: a DTMF tone detector
coupled to the processing circuit to detect when a DTMF tone is
received over the first communication interface; and a DTMF
encryption module coupled to the processing circuit to assist the
processing circuit in converting a received DTMF tone into an
encrypted DTMF tone.
20. The device of claim 16 wherein the processing circuit is
further configured to convert a first DTMF tone received over the
first communication interface into a first symbol; pseudorandomly
select a translation table from a plurality of translation tables;
translate the first symbol into a second symbol by using the
selected translation table; convert the second symbol into a second
DTMF tone; and send the second DTMF tone as the encrypted DTMF
tone.
21. The device of claim 20 wherein the processing circuit is
further configured to obtain a pseudorandom number from a keystream
generated at the security device; and shuffle symbols in a base
translation table based on the pseudorandom number to obtain the
selected translation table.
22. A machine-readable medium having one or more instructions
operational on a security device for securing information
transmitted by a telephone, which when executed by a processor
causes the processor to: receive dual tone multi-frequency (DTMF)
tones from the telephone over a first communication interface;
encrypt the DTMF tones received from the telephone; and sending the
encrypted DTMF tones over a second communication interface.
23. The machine-readable medium of claim 22 having one or more
instructions which when executed by a processor causes the
processor to further: place the security device into an active mode
of operation if an activation signal is received, wherein
activation mode received DTMF tones are converted to encrypted DTMF
tones; and pass DTMF tones through unchanged between the first
communication interface to a second communication interface in a
passive mode of operation.
24. The machine-readable medium of claim 22 having one or more
instructions which when executed by a processor causes the
processor to further: authenticate the security device with a
receiving device coupled to the second communication interface.
25. The machine-readable medium of claim 22 having one or more
instructions which when executed by a processor causes the
processor to further: generate a pseudorandom number; select a
translation table from a plurality of translation tables based on
the pseudorandom number; and translate a first DTMF tone received
from the telephone into a second DTMF tone based on the selected
translation table.
26. The machine-readable medium of claim 25 having one or more
instructions which when executed by a processor causes the
processor to further: generate other pseudorandom numbers for
subsequent DTMF tones received from the telephone; select a
translation table from the plurality of translation tables for each
subsequent DTMF tone received based on the other pseudorandom
numbers; and translate each DTMF tone received from the telephone
into a other DTMF tones based on their selected translation
tables.
27. A method operational on a telephone security server,
comprising: receiving a call from a dual tone multi-frequency
(DTMF)-enabled telephone; sending an activation signal to a
security device associated with the DTMF-enabled telephone to
activate encryption of DTMF tones from the telephone; receiving
encrypted DTMF tones from the security device; and decrypting the
received DTMF tones to obtain information sent by the
telephone.
28. The method of claim 27 wherein the security device is
positioned proximate the telephone and coupled in series between
the telephone and the security server.
29. The method of claim 27 further comprising: sending an
authentication challenge to the security device; receiving an
authentication response from the security device; and sending a
confirmation to the security device if the authentication response
is valid for the authentication challenge.
30. The method of claim 27 wherein decrypting a received DTMF tone
results in obtaining part of a number entered by a user of the
telephone.
31. The method of claim 27 further comprising: synchronizing a
symbol encryption algorithm between the security server and the
security device.
32. The method of claim 27 wherein decrypting the received DTMF
tones includes converting a first DTMF tone into a first symbol;
translating the first symbol into a second symbol using a
pseudorandomly selected symbol-to-symbol reverse translation table;
and converting the second symbol into a second DTMF tone.
33. A telephone security server, comprising: means for receiving a
call from a dual tone multi-frequency (DTMF)-enabled telephone;
means for sending an activation signal to a security device
associated with the DTMF-enabled telephone to activate encryption
of DTMF tones from the telephone; means for receiving encrypted
DTMF tones from the security device; and means for decrypting the
received DTMF tones to obtain information sent by the
telephone.
34. The telephone security server of claim 33 further comprising:
means for sending an authentication challenge to the security
device; means for receiving an authentication response from the
security device; and means for sending a confirmation to the
security device if the authentication response is valid for the
authentication challenge.
35. The telephone security server of claim 33 further comprising:
means for converting a first DTMF tone into a first symbol; means
for translating the first symbol into a second symbol using a
pseudorandomly selected symbol-to-symbol reverse translation table;
and means for converting the second symbol into a second DTMF
tone.
36. A telephone security server, comprising: a communication module
for receiving telephone calls from dual tone multi-frequency (DTMF)
enabled telephones; a DTMF decryption module for decrypting
encrypted DTMF tones; and a processing circuit coupled to the
communication module and the DTMF decryption module, the processing
circuit configured to: receive encrypted DTMF tones from a security
device associated with a DTMF-enabled telephone; and decrypt the
received DTMF tones to obtain information sent by the
telephone.
37. The server of claim 36 wherein the processing circuit is
further configured to receive a call from the DTMF-enabled
telephone; and send an activation signal to the security device
associated with the DTMF-enabled telephone to activate encryption
of DTMF tones from the telephone.
38. The server of claim 36 further comprising: an authentication
module to authenticate the security device.
39. The server of claim 36 wherein the processing circuit is
further configured to convert a first DTMF tone into a first
symbol; translate the first symbol into a second symbol using a
pseudorandomly selected symbol-to-symbol reverse translation table;
and convert the second symbol into a second DTMF tone.
40. A machine-readable medium having one or more instructions
operational on a telephone security server for securing information
transmitted from a telephone as dual tone multi-frequency (DTMF)
tones, which when executed by a processor causes the processor to:
authenticate a security device associated with the telephone;
receive encrypted DTMF tones from the security device; and decrypt
the received DTMF tones to obtain information sent by the
telephone.
41. The machine-readable medium of claim 40 having one or more
instructions which when executed by a processor causes the
processor to further: receive a call from the telephone; and send
an activation signal to a security device associated with the
telephone to activate encryption of DTMF tones from the
telephone.
42. The machine-readable medium of claim 40 having one or more
instructions which when executed by a processor causes the
processor to further: convert the encrypted DTMF tones into digital
symbols; obtain a symbol-to-symbol reverse translation table for
each of the digital symbols; and translate each digital symbol
using the reverse translation table.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a divisional of prior application Ser.
No. 11/611,825, filed Dec. 15, 2006, which application is
incorporated by reference herein.
FIELD
[0002] Various examples relate generally to telephone accessory
devices and, more particularly, to a device and method for securing
dual tone multi-frequency (DTMF) tones during transmission from a
telephone.
BACKGROUND
[0003] In many countries, electronic banking is done by telephone,
where a customer calls the bank's automatic service number, and
uses the telephone keypad to respond to recorded prompts for menu
items, account numbers, private identification numbers (PINs),
amounts, and so on. Such information is often transmitted in dual
tone multi-frequency (DTMF) signals from the telephone to the bank
server. While such transactions over the Internet are often secured
using secure socket layer (SSL), but there is no corresponding
security for DTMF tones from telephones. In developing countries,
banks often make such telephone services available to their
customers. However, such services may be vulnerable to malicious
parties that tap into the telephone wires to discover or capture
sensitive information, such as customer account numbers and PINs,
and then use the information to transfer money out of the
accounts.
[0004] Therefore, it is desirable to provide a way to secure
transmissions of DTMF tones from a telephone. Possession of the
encryption device can simultaneously form a second factor of
authentication for the customer, further enhancing security.
SUMMARY
[0005] A method operational on a small form-factor telephone
security device is provided for securing DTMF tones during
transmission. Dual tone multi-frequency (DTMF) tones are received
from a telephone over a first communication interface. The DTMF
tones received from the telephone are encrypted and the encrypted
DTMF tones are sent to a security server over a second
communication interface. An activation signal may be received from
the security device, and as a result, the security device may be
placed into an active mode of operation. In active mode of
operation, the security device may be configured to encrypt DTMF
tones received from the telephone and allow voice signals to pass
through the security device unchanged. In a passive mode of
operation, the security device may pass DTMF tones from the
telephone through unchanged between the first communication
interface to a second communication interface.
[0006] The security device may be positioned proximate the
telephone and coupled in series between the telephone and the
security server and may be powered upon a call being initiated
between the telephone and the security server.
[0007] In order to provide authentication, an authentication
challenge may be received from the security server. In response, an
authentication response is formulated and sent to the security
server. A confirmation may be received from the security server
indicating that the security server has successfully authenticated
the security device.
[0008] In one example, a first DTMF tone received over the first
communication interface is converted into a first symbol. A
translation table is pseudorandomly selected from a plurality of
translation tables. The first symbol is converted into a second
symbol using the selected translation table and the second symbol
is, in turn, converted into a second DTMF tone. The second DTMF
tone is transmitted as the encrypted DTMF tone. In one example, the
selected translation table is generated by obtaining pseudorandom
number from a keystream generated at the security device and
shuffling symbols in a base translation table based on the
pseudorandom number to obtain the selected translation table.
[0009] In another example, DTMF tones received over the first
communication interface are converted into associated symbols
within a set of symbols. An associated translation table is
pseudorandomly selected from a plurality of translation tables for
each DTMF tone received. The associated symbol for each DTMF tone
received is then translated into an encrypted symbol based on its
associated translation table.
[0010] In one configuration, the security device may detect the
telephone number called by the telephone. If the telephone number
is recognized as an associated secure institution, the security
device encrypts DTMF tones received from the telephone. Otherwise,
DTMF tones received from the telephone are passed to the security
server unchanged.
[0011] A small form-factor telephone security device is also
provided including a first and second communication interfaces and
a processing circuit. The first communication interface allows the
security device to communicate with a telephone while the second
communication interface allows the security device to communicate
with a security server. The processing circuit is coupled between
the first communication interface and the second communication
interface and may be configured to (a) receive dual tone
multi-frequency (DTMF) tones from the telephone, (b) receive an
activation signal from the security device; (c) place the security
device into an active mode of operation once the activation signal
is received, (d) encrypt the received DTMF tones; and/or (e) send
the encrypted DTMF tones to the security server. In a passive mode
of operation, the security device passes DTMF tones through
unchanged between the first communication interface and a second
communication interface.
[0012] The security device may also include (a) a DTMF tone
detector coupled to the processing circuit to detect when a DTMF
tone is received over the first communication interface; and/or (b)
a DTMF encryption interface coupled to the processing circuit to
assist the processing circuit in converting a received DTMF tone
into an encrypted DTMF tone.
[0013] The processing circuit may be further configured to (a)
convert a first DTMF tone received over the first communication
interface into a first symbol; (b) pseudorandomly select a
translation table from a plurality of translation tables; (c)
translate the first symbol into a second symbol by using the
selected translation table; (d) convert the second symbol into a
second DTMF tone; and/or (e) send the second DTMF tone as the
encrypted DTMF tone. To select the translation table, the
processing circuit may be configured to (a) obtain a pseudorandom
number from a keystream generated at the security device; and/or
(b) shuffle symbols in a base translation table based on the
pseudorandom number to obtain the selected translation table.
[0014] Consequently, a small form-factor telephone security device
is provided comprising: (a) means for receiving dual tone
multi-frequency (DTMF) tones from a telephone over a first
communication interface; (b) means for receiving an activation
signal from the security device; (c) means for placing the security
device into an active mode of operation once the activation signal
is received. (d) means for encrypting the DTMF tones received from
the telephone; (e) means for sending the encrypted DTMF tones to a
security server over a second communication interface; and/or (f)
means for passing DTMF tones through unchanged between the first
communication interface to a second communication interface in a
passive mode of operation.
[0015] Additionally, the security device may include (a) means for
converting a first DTMF tone received over the first communication
interface into a first symbol; (b) means for pseudorandomly
selecting a translation table from a plurality of translation
tables; (c) means for translating the first symbol into a second
symbol using the selected translation table; (d) means for
converting the second symbol into a second DTMF tone; and/or (e)
means for sending the second DTMF tone as the encrypted DTMF
tone.
[0016] A machine-readable medium having one or more instructions
operational on a security device for securing information
transmitted by a telephone, which when executed by a processor
causes the processor to: (a) receive dual tone multi-frequency
(DTMF) tones from the telephone over a first communication
interface; (b) encrypt the DTMF tones received from the telephone;
and/or (c) sending the encrypted DTMF tones over a second
communication interface. The security device may be placed into an
active mode of operation if an activation signal is received,
wherein activation mode received DTMF tones are converted to
encrypted DTMF tones. Otherwise, the security device passes DTMF
tones through unchanged between the first communication interface
to a second communication interface in a passive mode of operation.
The security device may also be authenticated with a receiving
device coupled to the second communication interface.
[0017] To encrypt DTMF tones, a pseudorandom number is generated
and a translation table is selected from a plurality of translation
tables based on the pseudorandom number. A first DTMF tone received
from the telephone is translated into a second DTMF tone based on
the selected translation table.
[0018] A method operational on a telephone security server is also
provided for facilitating securing of DTMF signals during
transmission. A call is received from a dual tone multi-frequency
(DTMF)-enabled telephone. An activation signal is sent to a
security device associated with the DTMF-enabled telephone to
activate encryption of DTMF tones from the telephone. Encrypted
DTMF tones are received from the security device. The received DTMF
tones are then decrypted to obtain information sent by the
telephone. Decrypting a received DTMF tone may result in obtaining
part of a number entered by a user of the telephone.
[0019] The security device may be positioned proximate the
telephone and coupled in series between the telephone and the
security server.
[0020] To authenticate the security device, the security server may
send an authentication challenge to the security device. An
authentication response may be received from the security device. A
confirmation may then be sent to the security device if the
authentication response is valid for the authentication challenge.
A symbol encryption algorithm may be synchronized between the
security server and the security device.
[0021] Decrypting the received DTMF tones may include (a)
converting a first DTMF tone into a first symbol; (b) translating
the first symbol into a second symbol using a pseudorandomly
selected symbol-to-symbol reverse translation table; and/or
converting the second symbol into a second DTMF tone.
[0022] A telephone security server is also provided comprising a
communication module, a DTMF decryption module, and a processing
circuit. The communication module may allow receiving telephone
calls from dual tone multi-frequency (DTMF) enabled telephones. The
DTMF decryption module may serve to decrypt encrypted DTMF tones.
The processing circuit may be configured to (a) receive a call from
the DTMF-enabled telephone; (b) send an activation signal to the
security device associated with the DTMF-enabled telephone to
activate encryption of DTMF tones from the telephone; (c) receive
encrypted DTMF tones from a security device associated with a
DTMF-enabled telephone; and/or (d) decrypt the received DTMF tones
to obtain information sent by the telephone. Additionally, the
security server may also include an authentication module
configured to authenticate the security device. The processing
circuit may be further configured to (a) convert a first DTMF tone
into a first symbol; (b) translate the first symbol into a second
symbol using a pseudorandomly selected symbol-to-symbol reverse
translation table; and/or (c) convert the second symbol into a
second DTMF tone.
[0023] Consequently, a telephone security server is provided
comprising: (a) means for receiving a call from a dual tone
multi-frequency (DTMF)-enabled telephone; (b) means for sending an
activation signal to a security device associated with the
DTMF-enabled telephone to activate encryption of DTMF tones from
the telephone; (c) means for receiving encrypted DTMF tones from
the security device; and/or (d) means for decrypting the received
DTMF tones to obtain information sent by the telephone. The
security server may also include (a) means for sending an
authentication challenge to the security device; (b) means for
receiving an authentication response from the security device; (c)
means for sending a confirmation to the security device if the
authentication response is valid for the authentication challenge;
(d) means for converting a first DTMF tone into a first symbol; (e)
means for translating the first symbol into a second symbol using a
pseudorandomly selected symbol-to-symbol reverse translation table;
and/or (f) means for converting the second symbol into a second
DTMF tone.
[0024] A machine-readable medium is also provided having one or
more instructions operational on a telephone security server for
securing information transmitted from a telephone as dual tone
multi-frequency (DTMF) tones, which when executed by a processor
causes the processor to: (a) receive a call from the telephone; (b)
send an activation signal to a security device associated with the
telephone to activate encryption of DTMF tones from the telephone;
(c) authenticate a security device associated with the telephone;
(d) receive encrypted DTMF tones from the security device; and/or
(e) decrypt the received DTMF tones to obtain information sent by
the telephone. Additional instructions may (a) convert the
encrypted DTMF tones into digital symbols; (b) obtain a
symbol-to-symbol reverse translation table for each of the digital
symbols; and/or (c) translate each digital symbol using the reverse
translation table.
BRIEF DESCRIPTION OF THE DRAWINGS
[0025] FIG. 1 illustrates a system in which a security device may
be coupled along a communication line to a telephone to secure
certain communications between the telephone and a secure
server.
[0026] FIG. 2 is a flow diagram illustrating a method for securing
certain communications between the telephone and the security
server belonging to issuing institution of FIG. 1.
[0027] FIG. 3 illustrates a block diagram of one example of a
tele-services security server that may enable securing DTMF tones
during transmission.
[0028] FIG. 4 illustrates a method operational on a security server
for securing DTMF tones from a telephone device.
[0029] FIG. 5 illustrates a block diagram of one example of a
security device that may be configured to protect DTMF tones during
transmission.
[0030] FIG. 6 illustrates a method operational on a security device
for securing DTMF tones from a telephone device.
[0031] FIG. 7 is a block diagram of a mobile communication device
configured to authenticate itself with a security server.
[0032] FIG. 8 is a flow diagram illustrating a method for
authenticating a mobile communication device to a tele-services
station over a communication network.
[0033] FIG. 9 illustrates a block diagram of a combinational
combiner for securing plaintext symbols by pseudorandomly selecting
a translation table for each symbol to be encrypted.
[0034] FIG. 10 illustrates an example of a symbol-to-symbol
translation table for translating a plaintext symbol into an
encrypted symbol.
[0035] FIG. 11 illustrates one example of how plaintext symbols may
be encrypted using different translation tables to obtain encrypted
symbols.
[0036] FIG. 12 illustrates an algorithm for selecting a translation
table from a plurality of possible permutations for a set of n
symbols, where n is a positive integer.
[0037] FIG. 13 is a block diagram illustrating another encryption
scheme that may achieve symbol authentication by using multiple
translation tables to encrypt a single plaintext symbol.
[0038] FIG. 14 illustrates how multiple translation tables may be
used to encrypt each plaintext symbol to obtain a corresponding
encrypted symbol.
[0039] FIG. 15 illustrates an example of how two translation tables
may be employed to translate or encrypt a plaintext symbol into an
encrypted symbol.
[0040] FIG. 16 illustrates a method for performing plaintext
encryption according to one example.
[0041] FIG. 17 is a block diagram illustrating how encrypted
symbols may be decrypted by using one or more reverse translation
tables to obtain a single plaintext symbol.
[0042] FIG. 18 illustrates a method for performing plaintext
encryption according to one example.
[0043] FIG. 19 is a block diagram illustrating an encryption module
according to one example.
[0044] FIG. 20 is a block diagram illustrating a decryption module
according to one example.
DETAILED DESCRIPTION
[0045] In the following description, specific details are given to
provide a thorough understanding of the examples. However, it will
be understood by one of ordinary skill in the art that the examples
may be practiced without these specific details. For example,
circuits may not be shown in block diagrams in order not to obscure
the examples in unnecessary detail.
[0046] Also, it is noted that the examples may be described as a
process that is depicted as a flowchart, a flow diagram, a
structure diagram, or a block diagram. Although a flowchart may
describe the operations as a sequential process, many of the
operations can be performed in parallel or concurrently. In
addition, the order of the operations may be re-arranged. A process
is terminated when its operations are completed. A process may
correspond to a method, a function, a procedure, a subroutine, a
subprogram, etc. When a process corresponds to a function, its
termination corresponds to a return of the function to the calling
function or the main function.
[0047] Moreover, a storage medium may represent one or more devices
for storing data, including read-only memory (ROM), random access
memory (RAM), magnetic disk storage mediums, optical storage
mediums, flash memory devices, and/or other machine readable
mediums for storing information. The term "machine readable medium"
includes, but is not limited to portable or fixed storage devices,
optical storage devices, wireless channels, and various other
mediums capable of storing, containing, or carrying instruction(s)
and/or data.
[0048] Furthermore, various configurations may be implemented by
hardware, software, firmware, middleware, microcode, or a
combination thereof. When implemented in software, firmware,
middleware, or microcode, the program code or code segments to
perform the described tasks may be stored in a machine-readable
medium such as a storage medium or other storage means. A processor
may perform the defined tasks. A code segment may represent a
procedure, a function, a subprogram, a program, a routine, a
subroutine, a module, a software package, a class, or a combination
of instructions, data structures, or program statements. A code
segment may be coupled to another code segment or a hardware
circuit by passing and/or receiving information, data, arguments,
parameters, or memory contents. Information, arguments, parameters,
data, and the like, may be passed, forwarded, or transmitted via a
suitable means including memory sharing, message passing, token
passing, and network transmission, among others. The methods
disclosed herein may be implemented in hardware, software, or
both.
[0049] The various illustrative logical blocks, modules, circuits,
elements, and/or components described in connection with the
examples disclosed herein may be implemented or performed with a
general purpose processor, a digital signal processor (DSP), an
application specific integrated circuit (ASIC), a field
programmable gate array (FPGA) or other programmable logic
component, discrete gate or transistor logic, discrete hardware
components, or any combination thereof designed to perform the
functions described herein. A general purpose processor may be a
microprocessor, but in the alternative, the processor may be any
conventional processor, controller, microcontroller, or state
machine. A processor may also be implemented as a combination of
computing components, e.g., a combination of a DSP and a
microprocessor, a number of microprocessors, one or more
microprocessors in conjunction with a DSP core, or any other such
configuration.
[0050] The methods or algorithms described in connection with the
examples disclosed herein may be embodied directly in hardware, in
a software module executable by a processor, or in a combination of
both, in the form of processing unit, programming instructions, or
other directions, and may be contained in a single device or
distributed across multiple devices. A software module may reside
in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM
memory, registers, hard disk, a removable disk, a CD-ROM, or any
other form of storage medium known in the art. A storage medium may
be coupled to the processor such that the processor can read
information from, and write information to, the storage medium. In
the alternative, the storage medium may be integral to the
processor.
[0051] One feature provides a small form-factor security device
that may be inserted in series with a customer's phone line, which
acts as a second factor in a two-factor authentication scheme and
encrypts DTMF tones, thereby preventing disclosure of sensitive
information. The device does not interfere with the normal
operation of the phone. The device may include a small-form factor
enclosure which may also offer a branding opportunity for banks and
payment services with which they are associated. The device may be
powered from the phone line to which it is coupled. In one
configuration, a plurality of such devices may be chained or
cascaded along a phone line to provide secure communications with
multiple different parties (e.g., banks).
[0052] Another feature provides an efficient encryption method that
safeguards the security of encrypted symbols. Each plaintext symbol
is encrypted by using a separate pseudorandomly selected
translation table. Rather than pre-storing every possible
permutation of symbols as translation tables, the translation
tables may be efficiently generated on-the-fly based on a
pseudorandom number and a symbol shuffling algorithm. A receiving
device may similarly generate reverse translation tables on-the-fly
to decrypt received encrypted symbols.
Securing DTMF Tones
[0053] FIG. 1 illustrates a system in which a security device 102
may be coupled along a communication line to a telephone 104 to
secure certain communications between the telephone 104 and a
secure server 108. The security device 102 may be a small-form
factor device that can be connected in-line or in series on a
telephone line between a telephone 104 and a communication network
106. The security device 102 may be coupled to the telephone line
near or adjacent to a telephone 104.
[0054] In one example, the security device 102 may be associated
with an account and/or an issuing institution 108 (e.g., bank,
credit card company, etc.). For example, a bank may issue such
security device 102 to its customers, each security devices being
uniquely associated with a customer or a customer's account. The
issuing institution 108 may have a security server 110 that
facilitates telephonic transactions with customers.
[0055] FIG. 2 is a flow diagram illustrating a method for securing
certain communications between the telephone 104 and the security
server 110 belonging to issuing institution 108 of FIG. 1. The
security device 102 may have an active mode of operation and an
inactive (passive) mode of operation. When the security device 102
is used to call someone other than the issuing institution 108
(e.g., security server 110), it is inactive and the call just
passes through the security device 102, including DTMF tones,
unchanged. However, when the telephone 104 initiates a call to the
issuing institution 208, the security server 110 (e.g., security
server 110) sends an activation signal that wakes up the security
device 210. The activation signal may be sufficiently long and/or
unique (e.g., have enough digits or symbols) to be reasonably sure
that the security device 102 is not likely to be triggered by
coincidence. In one example, this activation signal may not
actually carry any information but merely triggers or activates the
security device 102 to switch from an inactive (passive) mode to
active mode. For instance, the activation signal may be a short
piece of music or tone that is recognized by the security device
102. The security device 102 listens for and recognizes the
activation signal (e.g., a unique set of DTMF tones) from the
security server 110 and changes to active mode 212. In one example,
upon receiving the activation signal, the security device 102 may
start encrypting all DTMF tones from the telephone to the security
server 110.
[0056] In one configuration, a challenge-response scheme may be
implemented between the security device 102 and security server
110. In addition to the activation signal, the security server 110
may send a random challenge to the security device 214. The
security device 102 receives the challenge, generates a reply
(e.g., identifier and response to challenge) 216, and sends the
reply to the security server 110. The reply may include an
identifier, associated with the security device 102, and a response
to the challenge. The security device 102 may also generate a
session key that may be used to encrypt subsequent DTMF tones from
the telephone 104 to the security server 110.
[0057] The reply informs the security server 110 that it is
communicating with an associated security device. The security
server 110 may use the identifier to look-up a particular
customer's accounts 220, thereby saving the customer the trouble of
identifying themselves manually (e.g., avoids having the customer
entering their account number). The security server 110 may also
verify that the response is correct based on the random challenge
and an authentication key 222, provisioned in both the security
device 102 and security server 110, to authenticate the user. Note
that since the security device 102 is located in close proximity to
the user's telephone (e.g., inside the user's home), an attacker
would have to steal it to initiate an attack.
[0058] By using the same challenge and response, the security
server 110 calculates the same session key 226 as the security
device 102 calculates 224. If the security server 110 disagrees
with the reply it receives from the security device 102 (or does
not receive a response at all), the call may be diverted to an
alternative path for more stringent identification and/or
authentication. That is, the security device 102 may calculate its
response based on the received random challenge and the
authentication key. The security server 110 can then verity the
received response by calculating a local response (based on the
random challenge and authentication key) and compares it to the
received response from the security device 102.
[0059] If the challenge-response is properly authenticated, the
security server 110 sends a confirmation that is authenticated 228
using the newly derived session key. This confirmation informs the
security device 102 to start encrypting DTMF tones coming from the
telephone 104. If there is a problem with the confirmation from the
security server (e.g., it is not received by the security device
102 within a certain maximum time, or the confirmation fails,
etc.), the security device 102 may generate a warning signal to the
user. For example, a light may flash (or come ON) or an alarm may
sound if the challenge-response authentication fails. Additionally,
a light (e.g., light emitting diode--LED) may glow to indicate the
security device 102 is active and/or the challenge-response is
successfully authenticated.
[0060] Once the challenge-response is successfully authenticated,
in one example the session key may be used by the security device
102 to encrypt transmissions from telephone 104 to the security
server. Once encryption begins, the security device intercepts DTMF
tones coming from the telephone 232 and transmits encrypted DTMF
tones instead 234. In one example of such encryption of DTMF tones,
DTMF tones from the telephone 104 may be translated into different
DTMF tones which are then sent to the security server 110. In
another configuration, DTMF tones may be converted to digital
symbols by the security device 102 which are then encrypted and
sent to the security server 110. The security device 102 also
passes anything else (non-DTMF tones or signals) in both directions
without modifying or encrypting it. Since one of the first things
the user may be asked is to enter a PIN number associated with
their account, the DTMF tones associated with this PIN number is
encrypted and may form a second factor for authentication.
Similarly, the security server 110 can use the session key to
decrypt DTMF tones received from the telephone via the security
device 236.
[0061] In an alternative configuration, the security device 102 may
be configured to recognize a particular telephone number(s)
associated with a particular issuing institution 108. When the
security device 102 recognizes that the telephone has dialed the
particular telephone number, it may automatically switch to active
mode and/or encrypt all DTMF tones from the telephone to the
security server 110.
[0062] The security device 102 may continue to encrypt DTMF tones
from the telephone 104 until the call is terminated, at which point
the security device 102 switches back to inactive mode where it
allows all DTMF tones to pass through unchanged.
[0063] Since the security device 102 may have a small form factor
and may be easily plugged into a telephone line. A user may have
multiple security devices, associated with a single institution or
account, to enable the user to securely access an account from
different locations (e.g., home, office, etc.). A user may also
have multiple security devices associated with various different
institutions and/or accounts. These multiple security devices may
be coupled in series along a telephone line. An inactive security
device in a chain merely passes signals to the next security device
in the chain. If a security device in the chain is activated by a
security server, then it encrypts DTMF tones from the
telephone.
[0064] In another example, a security device 102 may serve multiple
users from one telephone or location. In such case, the security
server may identify that the security device is associated with a
plurality of users or accounts. To distinguish between each user,
the security server may send a voice prompt requesting the user to
enter a PIN or other identifier that identifies a particular user
or account.
[0065] FIG. 3 illustrates a block diagram of one example of a
tele-services security server that may enable securing DTMF tones
during transmission. The security server 302 may include a
processing circuit 304, such as a small and/or low-power
microprocessor. The security server 302 may be include a first
communication module 306 used to couple the security server 302 to
a communication network. An authentication module 308 allows the
security server 302 to authenticate a security device with which it
communicates. A DTMF decryption module 308 allows the security
server 302 to decrypt encrypted DTMF tones received from the
security device.
[0066] FIG. 4 illustrates a method operational on a security server
for securing DTMF tones from a telephone device. A call is received
from a DTMF-enabled telephone 402. An activation signal is sent to
a security device associated with the DTMF-enabled telephone 404.
The security device may be located near in proximity to the
DTMF-enabled telephone. The security device is then authenticated
by the security server. For instance, a challenge signal is sent to
the security device 406. The security server determines whether a
response is received from a security device 408. If not, then it
may be assumed that no security device is present on the telephone
line 410. Otherwise, the security server determines whether the
received response can be successfully authenticated 412. If the
received response cannot be successfully authenticated, then
authentication fails 414. Otherwise, a session key is generated
416. A confirmation message authenticated by the session key is
sent to the security device 418. The security server may receive
encrypted DTMF tones from the security device 420. The security
server may then decrypt the received DTMF tones to obtain
information sent by the telephone 422. Such DTMF tones may
represent confidential information (e.g., account number, password,
PIN, etc.) that is protected from eavesdroppers during transmission
by encrypting the original DTMF tones.
[0067] FIG. 5 illustrates a block diagram of one example of a
security device that may be configured to protect DTMF tones during
transmission. The security device 502 may include a processing
circuit 504, such as a small and/or low-power microprocessor. The
security device 502 may be powered by a telephone line to which it
is coupled. A first communication interface A 506 may be used to
couple the security device 502 to a telephone. A second
communication interface B 508 may be used to couple the security
device 502 to a communication network. In a passive mode of
operation, the security device 502 lets all DTMF tones pass through
unchanged. The processing circuit 504 may be configured to listen
for an activation signal (e.g., from a security server). A DTMF
detector 510 may be configured to detect a DTMF activation signal
to switch the security device to an active mode of operation. In
active mode, the security device 502 may be configured to respond
to an authentication challenge from a security server.
[0068] In activation mode, the DTMF detector 510 may also be
configured to detect DTMF tones received via communication
interface A 506 (e.g., coming from a telephone). If one or more
DTMF tones are detected, the DTMF tones are encrypted or otherwise
modified by a DTMF encryption module 512. The encrypted DTMF tones
are then transmitted through the communication interface B 508 to a
security server.
[0069] FIG. 6 illustrates a method operational on a security device
for securing DTMF tones from a telephone device. The security
device is powered upon a call being initiated between a telephone
and a security server 602. That is, since the communication line is
energized when a call is made, the security device may draw its
power from the communication line. In a passive mode of operation,
the security device allows DTMF tones to pass through unchanged
between a first communication interface and a second communication
interface 604. For example, the first communication interface may
be coupled to the telephone and the second communication interface
may be coupled to a second communication interface. The security
device monitors transmissions to determine whether a (DTMF)
activation signal is received from a security server 606. The
security device continues operating in passive mode unless an
activation signal is received. If a DTMF activation signal is
received, the security device changes to an active mode of
operation 608. The security device may also listen for other
signals from the security server 610.
[0070] The security device may receive a challenge from the
security server 612. The security device replies with a response to
the challenge 614. If the response is valid, the security device
may receive a confirmation indicating that the security server has
successfully authenticated the security device 616.
[0071] Once activated and properly authenticated, the security
device listens for DTMF tones from the telephone. If DTMF tones are
received from the telephone (to which the security device is
coupled) over the first communication interface 618, the received
DTMF tones are encrypted into different DTMF tones 620. In one
example, DTMF tones from the telephone may be translated into
different DTMF tones which are then sent to the security server. In
another configuration, DTMF tones may be converted to digital
symbols by the security device 102 which are then encrypted and
sent to the security server. The encrypted DTMF tones are then sent
to the security server over the second communication interface 622.
The security device continues to encrypt DTMF tones from the
telephone until the call ends, at which time the security device
returns to passive mode 624. The security device 102 prevents
unencrypted DTMF tones from the telephone from passing to the
security server. In one example, the security device 102 may
disconnect all inputs (.e.g., transmissions) from the telephone the
network while active. In this case there may be some provision for
either the customer or the security server to reconnect the inputs
(e.g., allow transmissions from the security device 102), for
example, if the customer needs to talk to a representative.
Cellular Phone Security Scheme
[0072] FIG. 7 is a block diagram of a mobile communication device
configured to authenticate itself with a security server. The
mobile communication device 702 includes a processing circuit 704
coupled to a communication module 706 and a user input interface
708. The communication module 706 enables the mobile communication
device 702 to communicate over a wireless communication network
710. The processing circuit 704 may be configured to authenticate
itself with one or more security servers during a call. For
example, the mobile communication device may be configured with an
authentication key and/or a user identifier that allows a bank or
financial institution to authenticate the user of the mobile
communication device 702. The authentication key and/or user
identifier may be provided beforehand (e.g., during setup or
configuration) by the bank or financial institution. Additionally,
the processing circuit 704 may also request a PIN, password, and/or
other input from a user to complete an authentication
procedure.
[0073] FIG. 8 is a flow diagram illustrating a method for
authenticating a mobile communication device 802 to a tele-services
station 804 over a communication network. The mobile communication
device 802 may be a mobile phone and the tele-services station 804
may include a security server associated with a banking or
financial institution. The mobile communication device 802 and
tele-services station 804 may each have the same authentication
key.
[0074] The mobile communication device may initiate a call to an
issuing institution 806 associated with the tele-services station.
The issuing institution may be a bank or financial institution, for
example. The tele-services station sends a random authentication
challenge 808 to the mobile communication device. The mobile
communication device then generates a response based on the random
challenge and the authentication key 809 and sends the response and
(possibly) a user identifier to the tele-services station 810. The
tele-services station then verifies whether the response from the
mobile communication device is correct 812. This may be done by the
tele-services station calculating a verification value based on its
authentication key and the random authentication challenge and
comparing it to the response received from the mobile communication
device. If the response is successfully authenticated, an
authentication confirmation 814 may be sent to the mobile
communication device. The mobile communication device may request
sensitive information (e.g., bank account records, etc.) from the
tele-services station 816. If the mobile communication device is
successfully authenticated, the tele-services station then provides
the requested sensitive information to the mobile communication
device 818. In this manner, a mobile communication device (e.g.,
mobile phone) may be authenticated by a tele-services station to
secure the transmission of sensitive information during a call.
Threat Models
[0075] One type of threat addressed by the security device and/or
methods described herein is an eavesdropping attack. In such an
attack, an attacker may attach a recorder to the telephone wires to
listen to the DTMF tones associated with numbers entered by a user
on the telephone. These DTMF tones may identify the bank being
called, the user's customer and/or account numbers, private
identification number (PIN), social security number, among other
private and/or confidential information. The attacker may then use
this information to perform fraudulent transactions from the user's
account. The security device described herein defeats such an
attack by encrypting the DTMF tones and providing further
authentication. Since most institutions (e.g., banks, etc.) can use
two factors for authentication (e.g., possession of the security
device and knowledge of a PIN), it would rarely have to ask for
other sensitive information. Simply intercepting the encrypted DTMF
tones reveals nothing about the corresponding account numbers,
PINs, etc.
[0076] An attacker, to be successful would have to interfere with
the progress of the call by, for example, preventing the call from
going to the intended receiver (e.g., intended bank), pretend to
the intending receiver, asking the caller to enter all sensitive
information. To defeat such attack, the security device may turn On
a security indicator (e.g., light) after a "start encrypting"
signal (i.e., authenticated confirmation) is received from the
receiving institution. The caller (e.g., customer) merely checks
the security indicator to make sure that the security device is
encrypting its tones before entering any sensitive or confidential
information.
[0077] Another type of attack may be a session hijacking attack
where the attacker waits until the user has established
communications with the intended receiver (e.g., bank), thus
activating the security indicator, and then takes over the call.
The attacker may then pretend that something went wrong with the
call and ask the user to verbally provide sensitive information.
Alternatively, the attacker may ask the user to enter specific
responses (that are already known to the attacker) to try to
establish a tone-by-tone encryption pattern, and then use the
tone-by-tone conversions to encrypt their own response to the bank.
To address this type of attack, the tone-by-tone encryption may be
altered or modified on a pseudorandom basis, rotational basis,
and/or other basis that inhibits discovery of a number-to-tone
relationship.
Message and Session Authentication
[0078] The security device may be configured to perform message
authentication and session key derivation by using, for example, a
Message Authentication Code (MAC) function. For example, a security
server may authenticate a caller's security device by splitting the
output from a single invocation of MAC.sub.K (Challenge). For
instance, a typical MAC function may return 128 bits of output,
which may be represented as 32 DTMF tones. After the security
server and security device have calculated the MAC, the security
server may send the first 16 DTMF tones (representing part of the
MAC) to the security device, and, in response, the security device
sends back the other 16 DTMF tones (representing the other part of
the MAC). In this manner, both the security server and security
device may prove to each other that they are authorized or
legitimate.
[0079] Similarly, a session key may be calculated by each side such
that Session Key=MAC.sub.K (Authentication
Key.parallel.Challenge)), where the authentication key is
pre-loaded into the security device. In order to prevent the
session key from being discloses when the security device sends its
response to the security server, the response may include
additional information. For example, the response may be
Response=MAC.sub.K ("extra information
string".parallel.Authentication Key.parallel.Challenge).
Stream Encryption
[0080] Another feature provides an efficient cryptographic method
that safeguards the security of encrypted symbols. Each plaintext
symbol is encrypted by using a separate pseudorandomly selected
translation table. Rather than pre-storing every possible
permutation of symbols as translation tables, the translation
tables may be efficiently generated on-the-fly based on a
pseudorandom number and a symbol shuffling algorithm. A receiving
device may similarly generate reverse translation tables on-the-fly
to decrypt received encrypted symbols.
[0081] This cryptographic method may be implemented in various
configurations. For example, a telephone security device may
convert DTMF tones into digital values, encrypt the digital values
by using a pseudorandomly selected translation table for each
digital value. The encrypted digital values may then be transmitted
to a security server (e.g., tele-services station), either in
digital form or as DTMF tones associated with the encrypted digital
values.
[0082] Because the DTMF tones are represented by (or associated
with) digital symbols, they may be secured by, for example, stream
encryption. In various examples, stream encryption may use a
keystream generated by a block cipher, such as Advanced Encryption
Standard (AES) in counter mode, Output Feedback (OFB), or
Ciphertext Feedback (CFB) modes. For example, the MAC function may
be implemented with a block cipher in CBC-MAC mode. This may be
advantageous if, for example, the security device had AES
implemented in hardware.
[0083] If these functions are implemented in software, it may be
preferable to use a dedicated stream cipher such as Non-linear
SOBER (NLS). A stream cipher may also be used as a MAC function,
albeit with low efficiency, by using the data to be encrypted as a
key or nonce input, then generating an output keystream. Since the
length of the keystream generated may be as long as desired, both
the Response and Session Key may be generated in a single call.
[0084] Conventional stream encryption (whether using a true stream
cipher or a block cipher in streaming mode) usually proceeds by
generating a keystream of pseudo-random numbers and combining them
with the plaintext (i.e., digital representations of the DTMF
tones) to form an encrypted output or ciphertext. Normally, the
keystream and plaintext are combined using an Exclusive-OR (XOR)
operation, because it is self-inversive. However, a conventional
DTMF-enabled telephone has ten or more keys, each key having a
unique tone. Thus, XOR operations cannot be used to encrypt said
DTMF tones with a keystream. Instead, the DTMF tones associated
with telephone keys may be converted into (or associated with)
different digital symbols that may be added to pseudorandom
numbers/symbols obtained from the keystream to generate an
encrypted symbol or ciphertext. But an active attacker, knowing the
position of a particular digit may be able to change that number by
subtracting from the transmitted ciphertext number. For instance,
an attacker knowing that for a particular DTMF tone the input was a
"1" but the output was a "7", may determine that the pseudorandom
number generated for this tone was a "6" and can then correctly
encrypt any character of their choosing for that particular digit
position.
Combinational Combiner
[0085] One feature provides for using a keystream to obtain or
generate a pseudorandomly selected or generated translation table
for each plaintext symbol to be encrypted. Instead of taking a
pseudorandom number from the keystream and changing the plaintext
the same way (e.g., by adding modulo n), one feature provides for
translating each plaintext symbol in an input stream by
pseudorandomly selecting one of a plurality of translation tables.
Translation tables may provide different possible permutations of a
set of numbers or symbols. This is herein referred to as a
combinational combiner.
[0086] FIG. 9 illustrates a block diagram of a combinational
combiner for securing plaintext symbols by pseudorandomly selecting
a translation table for each symbol to be encrypted. A cipher
generator 902 is used to generate a keystream Si 904 of
pseudorandom numbers/symbols. The pseudorandom numbers of keystream
904 are used to generate or obtain a different translation table
906, from a plurality of possible translation tables, for each
plaintext input symbol Pi 908 in an input stream. By translating
the plaintext input symbol 908 into a pseudorandom output, an
encrypted output symbol Ci 910 is generated.
[0087] Such translation operation defines a permutation of the
plaintext input symbols 908 under the control of the keystream 904.
The translation table 906 may be represented as a vector of n
elements and the translation of a plaintext input symbol 908 may be
done by looking up the pth element of the translation table 906.
Given an encrypted output symbol Ci, the reverse translation may be
done either by creating a table of the inverse permutation, or by
searching the table for the entry containing symbol Ci, and
returning its index as p.
[0088] Generally speaking, for a set of n plaintext symbols, there
are n! (factorial) possible permutations. A permutation may be
chosen at random from the set of all such permutations, and used as
the translation table 906 to translate the plaintext input symbol
Pi 908 into the encrypted output symbol Ci 910 (also referred to as
ciphertext). For each plaintext symbol in an input stream, a
pseudorandomly selected translation table is selected. Then an
attacker who sees the encrypted symbol Ci 910 and knows that it
corresponds to a particular plaintext symbol still knows nothing
about the correspondence between other plaintext symbols and
corresponding encrypted symbols. That is, all the information that
an attacker can ascertain is that changing the encrypted symbol
will yield a different plaintext symbol from the one they know, but
not which other plaintext symbol that will be. Thus, the
pseudorandomly selected translation tables do not reveal a
relationship between the plaintext input symbols and encrypted
output symbols (ciphertext) and an attacker cannot exploit the
knowledge of any single plaintext symbol to ciphertext symbol
translation.
[0089] In one example for secure telephone banking, each DTMF tone
received by a security device from a telephone is converted to (or
associated with) a digital plaintext symbol. The plaintext symbol
is then translated by a translation table (obtained based on one or
more pseudorandom numbers from the keystream) to obtain an
encrypted symbol. The encrypted symbol is then transmitted to a
security server (either in digital form or as a DTMF tone
corresponding to the encrypted symbol) where it is decrypted by a
reverse translation table. The reverse translation table may be
generated or obtained by having synchronized cipher generators at
both the security device and security server that generate the same
keystream. In one example, the cipher generators may be
synchronized by using the same seed (e.g., session key, etc.).
[0090] In one example, a plurality of translation tables may be
pre-generated and/or stored by the security device and/or security
server. Rather than generating a new translation table (i.e., a
permutation of the input symbols) on-the-fly, the translation
tables may be pre-generated and stored. The pseudorandom
values/symbols of the keystream 904 may be used to select one of
the pre-generated translation tables for each plaintext symbol to
be encrypted. The pre-generated translation tables may define every
permutation or a subset of permutations for a set of n plaintext
symbols.
[0091] In another example, the translation table used may be
generated on-the-fly by using the keystream and pseudorandomly
shuffling symbols to form the translation table. Note that these
solutions are equivalent, in the sense that it there will be n!
tables, and the amount of keystream needed to select one of these
tables is the same as the amount needed to create such a table by
shuffling.
[0092] FIG. 10 illustrates an example of a symbol-to-symbol
translation table 1002 for translating a plaintext symbol into an
encrypted symbol. In this example, sixteen (16) plaintext symbols
translate to a different encrypted symbol. The binary
representation is shown in this example to merely illustrate that
the sixteen plaintext symbols may be encrypted using four-bit
encrypted symbols. In other examples, were a greater or fewer
number of plaintext symbols are to be encrypted, a different number
of bits may be used for each symbol. For example, for up to two
hundred fifty-six (256) plaintext symbols, eight (8) bits may be
extracted from the keystream to generate each encrypted symbol.
[0093] Another feature provides for a one-to-one correspondence
between plaintext symbols and encrypted symbols within a particular
translation table. That is, no two plaintext symbols convert to the
same encrypted symbol within a particular translation table. This
allows a decrypting device to accurately decrypt an encrypted
symbol into its original plaintext symbol.
[0094] At a decrypting device, a symbol-to-symbol reverse
translation table may be generated to reverse the symbol-to-symbol
translation of an encryption device and thereby decrypt received
encrypted symbols.
[0095] FIG. 11 illustrates one example of how plaintext symbols
1102 may be encrypted using different translation tables 1104 to
obtain encrypted symbols 1106. For each plaintext symbol P0, P1,
P2, P3, . . . Pi different translation tables 1104, each with a
different permutation of symbols, is used to obtain encrypted
symbols C0, C1, C2, C3, . . . Ci.
[0096] For a small number of symbols in a set, it may be possible
to list (i.e., pre-generate) all the permutations of such symbols,
and use an index (from the keystream) to select a translation table
from the permutations. For example, for a set of twelve (12)
possible symbols, the number of possible permutations generated is
12! or 479,001,600. To adequately select a permutation, a
thirty-two (32) bit keystream may suffice to choose one permutation
as a translation table without bias. However, this approach becomes
inefficient as the number of symbols in a set increase. For
instance, for a set of 256 possible symbols, the number of possible
permutations generated is 256! or 8.5.times.10.sup.506 which would
take in excess of 1684 bits from the pseudorandom keystream to
select one of the permutations as a translation table.
[0097] FIG. 12 illustrates an algorithm for selecting a translation
table from a plurality of possible permutations for a set of n
symbols, where n is a positive integer. In this example, a cipher
generator may be used that provides pseudorandom keystream values k
bits long (e.g., 8 bits, 32 bits, etc.) uniformly distributed in
the range of 0 and 2.sup.k-1. The keystream is used to obtain a
pseudorandom number w 1202. Since n! may not divide evenly into
2.sup.k, the pseudorandom number w cannot be used directly without
introducing biases. For this reason, a maximum threshold Pmax is
defined as the largest multiple of n! that is less than 2.sup.k. If
the pseudorandom number w is less than this maximum threshold Pmax,
then it can be used without introducing a bias. Otherwise, if the
pseudorandom number w is greater than or equal to this maximum
threshold Pmax, it is discarded and a new pseudorandom number w is
selected until a pseudorandom number w is obtained that is less
than the maximum threshold Pmax 1204.
[0098] The pseudorandom number w is divided modulo n! so that w=w
modulo (n!) 1206. Thus, an unbiased pseudorandom number w is
obtained in the range of 0 to n! that can be used to obtain a
permutation (i.e., translation table).
[0099] Rather than storing pre-generated permutations and selecting
one such permutation by using the pseudorandom number w, one
feature provides for generating a permutation by shuffling symbols
of a base permutation to generate a translation table. A base
permutation vector P is initialized with all values of a symbol set
such that P=[0, 1, 2, . . . n-1] 1208. A symbol shuffling algorithm
1210 is then used to shuffle the symbols in the base permutation
vector P using pseudorandom number w.
[0100] One example of a symbol shuffling algorithm 1210 initializes
a counter i to n-1, where n is the number of symbols in a set.
While counter i>=0, pseudorandom number w=w/(i+1), a variable
j=w modulo (i+1) and the values of permutation vector P are
shuffled such that P.sub.t[i]=P.sub.t-1[j] and
P.sub.t[j]=P.sub.t-1[i]. Note that other symbol shuffling
algorithms may be used without departing from the present disclosed
feature.
[0101] Once the permutation vector P has been shuffled, it may be
provided 1212 to any application that can use it, for example, as a
translation table to encrypt an input symbol stream.
[0102] FIG. 13 is a block diagram illustrating another encryption
scheme that may achieve symbol authentication by using multiple
translation tables to encrypt a single plaintext symbol. That is, a
plaintext input symbol Pi 1302 is encrypted by a translation table
A1 1304, that may be generated or selected based on a first
keystream Si' 1306 obtained from a first cipher generator 1308, to
obtain a first encrypted output symbol Ci' 1310. The first
encrypted output symbol Ci' 1310 then serves as input to a second
translation table A2 1312, that may be generated or selected based
on a second keystream Si 1314 obtained from a second cipher
generator 1316, used to obtain a second encrypted output symbol Ci
1318. In this manner, redundancy may be used to authenticate the
first encrypted output symbol Ci' 1310. That is, by using symbols
Ci' 1310 and Ci 1318 together, symbol Ci 1318 authenticates Ci'
1310. Thus, if an attacker succeed in changing symbol Ci' 1310, for
example, it would not be properly authenticated by symbol Ci
1318.
[0103] FIG. 14 illustrates how multiple translation tables 1404 and
1406 may be used to encrypt each plaintext symbol 1402 to obtain a
corresponding pair of encrypted symbols 1408. It should be noted
that the translation tables 1404 and 1406 may be pseudorandomly
selected and/or generated to encrypt each plaintext symbol Pi into
a pair of symbols Ci'/Ci.
[0104] FIG. 15 illustrates an example of how two translation tables
may be employed to translate or encrypt a plaintext symbol Pn into
a pair of symbols Cn' and Cn. For example, for a first plaintext
symbol Pn=`5`, a first translation table A1 1502 provides a first
output symbol Cn'=8 (i.e., `5` translates to `8`). The first output
symbol `8` may then serve as input to a second translation table A2
1504 to obtain a second output symbol Cn=7 (i.e., `8` translates to
`7`). Because the second output symbol Cn was generated based on
the first output symbol Cn', the redundant symbols Cn and Cn' may
be used for authentication. If either or both symbols are changed
by an attacker during transmission, then authentication fails. For
example, if Cn' is modified from `8` to `4` by an attacker, a
recipient who receives symbols Cn' and Cn=`47` would discover that
Cn=`7` should mean that Cn'=`8` not `4`.
[0105] A second plaintext symbol P(n+1) may have completely
different translation tables even where the first plaintext symbol
and second plaintext symbol are the same. For example, for a second
plaintext symbol P(n+1)=`5`, a first translation table B1 1506
provides a third output symbol C(n+1)'=`*` (i.e., `5` translates to
`*`). The third output symbol C(n+1)'=`*` may then serve as input
to a second translation table B2 1508 to obtain a fourth output
symbol C(n+1)=`1` (i.e., `*` translates to `1`). As before, the
redundant use of symbol pair C(n+/)' and C(n+1) may serve as a form
of authentication.
[0106] FIG. 16 illustrates a method for performing plaintext
encryption according to one example. A plurality of input symbols
defined within a set of n symbols is obtained 1602. A
pseudorandomly selected translation table, from a plurality of
translation tables defining different symbol-to-symbol
permutations, is obtained for each of the input symbols to be
encrypted 1604. The input symbols are translated into corresponding
output symbols using their corresponding translation table for each
of the input symbols to individually encrypt each input symbol
1606. The output symbols may then be transmitted to a decrypting
device 1608.
[0107] In one example of such method a first plaintext symbol is
obtained, wherein the first plaintext symbol may be one of n
symbols in a set. A first translation table is obtained that
translates n symbols into a different permutation of the n symbols.
The first translation table may be pseudorandomly generated by
using a pseudorandom number to shuffle the n symbols. The first
plaintext symbol is then translated into a first output symbol
using the first translation table.
[0108] A second translation table may be obtained that translates n
symbols into a different permutation of the n symbols than the
first translation table. The first output symbol is translated into
a second output symbol using the second translation table. An
encrypted symbol is then transmitted based on the first and/or
second output symbols.
[0109] FIG. 17 is a block diagram illustrating how encrypted
symbols Ci may be decrypted by using one or more reverse
translation tables to obtain a single plaintext symbol. That is, an
encrypted input symbol Ci 1702 may be decrypted by a first reverse
translation table A1 1704, that may be generated or selected based
on a first keystream Si' 1706 obtained from a first cipher
generator 1708, to obtain a first decrypted output symbol Ci' 1710.
The first decrypted output symbol Ci' 1710 then serves as input to
a second reverse translation table A2 1712, that may be generated
or selected based on a second keystream Si 1714 obtained from a
second cipher generator 1716, used to obtain a plaintext output
symbol Pi 1718.
[0110] In alternative configurations, where Ci=(x,y) for example,
encrypted symbols x and y may be decrypted in the reverse order in
which they were encrypted to obtain the plaintext output symbol
Pi.
[0111] FIG. 18 illustrates a method for performing symbol
decryption according to one example. A plurality of (encrypted)
input symbols defined within a set of n symbols is obtained 1802. A
pseudorandomly selected reverse translation table is obtained, from
a plurality of reverse translation tables defining different
symbol-to-symbol permutations, for each of the input symbols to be
decrypted 1804. Translate the input symbols into corresponding
output symbols using their corresponding reverse translation table
for each of the input symbols to individually decrypt each input
symbol 1806.
[0112] In one example of such method a first encrypted symbol
(input symbol) is obtained, wherein the first encrypted symbol is
one of n symbols in a set. A first reverse translation table is
also obtained that translates n symbols into a different
permutation of the n symbols. The first reverse translation table
may be pseudorandomly generated by using a pseudorandom number to
shuffle the n symbols. The first encrypted symbol is translated
into a first output symbol using the first reverse translation
table. A second reverse translation table is obtained that
translates n symbols into a different permutation of the n symbols
than the first translation table. The first output symbol is
translated into a second output symbol using the second reverse
translation table. A plaintext symbol may then be obtained based on
the first and/or second output symbols.
[0113] FIG. 19 is a block diagram illustrating an encryption module
according to one example. The encryption module 1902 may be include
a processing circuit 1904 configured to provide a seed to a
keystream generator 1906. The keystream generator 1906 generates a
keystream of pseudorandom numbers or symbols which are sent to the
processing circuit 1904. An input interface 1908 coupled to the
processing circuit 1904 may receive a plaintext symbol stream. In
order to encrypt the plaintext symbol stream, the processing
circuit 1904 may be configured to use a pseudorandom number
obtained from the keystream to obtain a translation table from a
translation table generator 1910. The translation table generator
1910 may be configured to use the pseudorandom number to, for
example, shuffle and/or combine symbols of a base table in a
pseudorandom, non-biased, manner to provide a translation table.
The processing circuit 1904 then uses the translation table once to
translate a first plaintext symbol into a first encrypted symbol of
an encrypted symbol stream. The encrypted symbol stream may be
transmitted through an output interface 1912 coupled to the
processing circuit 1904. For each plaintext symbol in the plaintext
symbol stream, a different translation table may be generated and
used to translate that symbol.
[0114] FIG. 20 is a block diagram illustrating a decryption module
according to one example. The decryption module 2002 may be include
a processing circuit 2004 configured to provide a seed to a
keystream generator 2006. The keystream generator 2006 generates a
keystream of pseudorandom numbers or symbols which are sent to the
processing circuit 2004. An input interface 2008 coupled to the
processing circuit 2004 may receive an encrypted symbol stream. In
order to decrypt the encrypted symbol stream, the processing
circuit 2004 may be configured to use a pseudorandom number
obtained from the keystream to obtain a translation table from a
reverse translation table generator 2010. The reverse translation
table generator 2010 may be configured to use the pseudorandom
number to, for example, shuffle and/or combine symbols of a base
table in a pseudorandom, non-biased, manner to provide a
translation table. The processing circuit 2004 then uses the
reverse translation table once to translate a first encrypted
symbol into a first plaintext symbol of a plaintext symbol stream.
The plaintext symbol stream may be transmitted through an output
interface 2012 coupled to the processing circuit 2004.
[0115] In order for an encryption module 1902 and decryption module
2002 to properly encrypt and decrypt a symbol, respectively, they
may have the same keystream generator and have complementary
translation table generators. In order to synchronize the keystream
generators 1906 and 2006, a common seed may be established (e.g.,
by a secure authentication scheme) for a particular communication
session between the encryption module and decryption module. For
instance, a session key may be used as the seed for the keystream
generators 1906 and 2006.
[0116] While some of the examples described herein refer to
encryption of DTMF tones, the encryption methods described herein
may be implemented with many other types of communication systems
to secure transmitted information.
[0117] One or more of the components, steps, and/or functions
illustrated in FIGS. 1-18 may be rearranged and/or combined into a
single component, step, and/or function or in separated into
several components, steps, and/or functions without departing from
the invention. Additional elements, components, steps, and/or
functions may also be added without departing from the invention.
The apparatus, devices, and/or components illustrated in FIGS. 1,
2, 3, 5, 7, 9, 13, 17, 19 and/or 20 may be configured to perform
one or more of the methods, features, or steps described in FIGS.
2, 4, 6, 8, 10, 11, 12, 14, 15, 16 and/or 18.
[0118] Those of skill would further appreciate that the various
illustrative logical blocks, modules, circuits, and algorithm steps
described in connection with the examples disclosed herein may be
implemented as electronic hardware, computer software, or
combinations of both. To clearly illustrate this interchangeability
of hardware and software, various illustrative components, blocks,
modules, circuits, and steps have been described above generally in
terms of their functionality. Whether such functionality is
implemented as hardware or software depends upon the particular
application and design constraints imposed on the overall
system.
[0119] It should be noted that the foregoing configurations are
merely examples and are not to be construed as limiting the
invention. The description of these examples is intended to be
illustrative, and not to limit the scope of the claims. As such,
the present teachings can be readily applied to other types of
apparatuses and many alternatives, modifications, and variations
will be apparent to those skilled in the art.
* * * * *