Patent US4933971A successfully refreshed from Google Patents.
US4933971A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for encrypting transmitted data using a unique key
Assignee: Hewlett Packard Development Co LP
•
Filing: 1989-03-14
•
Granted: 1990-06-12
•
Expires: 2009-03-14
Abstract
Abstract The invention comprises a method for encrypting data for communication between a host computer and each of a plurality of remote terminals in a network. A method is provided for periodically generating a unique dynamic encryption key for each of said plurality of terminals using a system seed key residing only in the host computer. The dynamic encryption key generated for use by said terminal in encrypting data transmitted to said host computer and for decrypting data received from said host computer. The method includes storing at said terminal the dynamic key previously generated by said host for said terminal.
Inventors
- 👤 Ralph R. Bestock
- 👤 Jae-Young Kim
- 👤 Webster D. Hopkins
- 👤 Martin M. Atalla
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-26 09:11
CPC Classifications
H; H04; H04L; H04L63/00; H04L63/06; G; G06; G06Q; G06Q20/00; G06Q20/38; G06Q20/382; G06Q20/3829; G07; G07F; G07F7/00; G07F7/08; G07F7/10; G07F7/1016; H04L63/08; H04L63/083; H04L9/00; H04L9/08; H04L9/0816; H04L9/0819; H04L9/0822; H04L9/0891; H04L2209/00; H04L2209/56
Claims Analysis
Total Claims: 39
Claim 1
Independent Claim
291 words
A method of encrypting data for on-line data communication between a host computer and each of a plurality of remote terminals, wherein a unique dynamic key is periodically generated for each said terminal using a system seed key residing only in the host computer, said dynamic key being for use by said terminal in encrypting data transmitted to said host computer and for decrypting data received from said host computer, each said terminal further including means for storing a previously generated dynamic key for said terminal, said method comprising the steps of: a. receiving at said host computer a new dynamic key request from one of said terminals, said new dynamic key request including a predetermined terminal identifier for said terminal; b. determining in said host computer the dynamic key previously generated for said terminal by said host wherein said dynamic key previously generated by said host is currently stored in said terminal; c. generating in said host computer a new dynamic key for said terminal as a function of said seed key and said predetermined terminal identifier for said terminal; d. encrypting said new dynamic key in said host computer using said dynamic key previously generated by said host computer; e. transmitting said encrypted new dynamic key from said host computer to said terminal; f. decrypting said new dynamic key at said terminal using said dynamic key previously generated by said host currently stored in said terminal; g. encrypting data at said terminal using said new dynamic key and transmitting said encrypted data to said host; h. decrypting said encrypted data at said host using said new dynamic key; and i. storing said new dynamic key in said terminal in place of said dynamic key previously generated by said host.
Claim 2
Independent Claim
291 words
A method of encrypting data for on-line data communication between a host computer and each of a plurality of remote terminals, wherein a unique dynamic key is periodically generated for each said terminal using a system seed key residing only in the host computer, said dynamic key being for use by said terminal in encrypting data transmitted to said host computer and for decrypting data received from said host computer, each said terminal further including means for storing a previously generated dynamic key for said terminal, said method comprising the steps of: a. receiving at said host computer a new dynamic key request from one of said terminals, said new dynamic key request including a predetermined terminal identifier for said terminal; b. determining in said host computer the dynamic key previously generated for said terminal by said host wherein said dynamic key previously generated by said host is currently stored in said terminal; c. generating in said host computer a new dynamic key for said terminal as a function of said seed key and said predetermined terminal identifier for said terminal; d. encrypting said new dynamic key in said host computer using said dynamic key previously generated by said host computer; e. transmitting said encrypted new dynamic key from said host computer to said terminal; f. decrypting said new dynamic key at said terminal using said dynamic key previously generated by said host currently stored in said terminal; g. encrypting data at said terminal using said new dynamic key and transmitting said encrypted data to said host; h. decrypting said encrypted data at said host using said new dynamic key; and i. storing said new dynamic key in said terminal in place of said dynamic key previously generated by said host.
Claim 3
Dependent Claim
15 words
The method of claim 1 wherein steps a through i are repeated for each transaction.
Claim 4
Dependent Claim
63 words
The method of claim 1 including generating at said host computer and said terminal a plurality of transaction data encryption keys using a plurality of variants, wherein said plurality of variants are common to said host system and said of terminal, and wherein said plurality of variants generate said plurality of transaction data encryption keys as a function of said new dynamic key.
Claim 5
Dependent Claim
29 words
The method of claim 3 wherein transaction data transmitted between said host computer and said one of said plurality of terminals is encrypted with said transaction data encryption keys.
Claim 6
Dependent Claim
23 words
The method of claim 4 wherein said transaction data encryption keys include at least a key encryption key and a PIN encryption key.
Claim 7
Dependent Claim
36 words
The method of claim 5 wherein said variant generating means includes a plurality of variant numbers, each of said plurality of variant numbers corresponding to one of each of said plurality of transaction data encryption keys.
Claim 8
Dependent Claim
39 words
The method of claim 6 wherein said variant generating means includes means for exclusively or-ing each of said plurality of variant numbers with said first dynamic key wherein each of said corresponding plurality of transaction data keys is formed.
Claim 9
Dependent Claim
54 words
The method of claim 7 wherein said variant numbers are comprised of a 4 bit data input and wherein said means for exclusively or-ing said variant numbers with said first dynamic key exclusively or's said 4 bit input with a selected 4 bits in the first 8 bits of said dynamic key input string.
Claim 10
Dependent Claim
15 words
The method of claim 3 wherein steps a through i are repeated for each transaction.
Claim 11
Dependent Claim
16 words
The method of claim 3 wherein steps a through i are selectively repeated at predetermined intervals.
Claim 12
Dependent Claim
23 words
The method of claim 3 wherein one of said plurality of transaction encryption keys is used to encrypt said data at said terminal.
Claim 13
Dependent Claim
19 words
The method of claim 1 wherein said new dynamic key request further includes a transaction number for said terminal.
Claim 14
Dependent Claim
37 words
The method of claim 12 wherein said new dynamic key is generated by said host as a function of said seed key and said predetermined terminal identifier for said terminal, and said transaction number for said terminal.
Claim 15
Dependent Claim
22 words
The method of claim 1 wherein said host computer and said plurality of terminals comprises a card activation and pin selection system.
Claim 16
Dependent Claim
25 words
The method of claim 1 wherein said host computer and said plurality of terminals comprises an Electronic Funds Transfer System with Point of Sale Terminals.
Claim 17
Dependent Claim
19 words
The method of claim 1 wherein said host computer and said plurality of terminals comprises an Automated Teller Network.
Claim 18
Dependent Claim
18 words
The method of claim 1 wherein said dynamic key is comprised of a 64 bit data input string.
Claim 19
Dependent Claim
29 words
The method of claim 1 including one or more additional seed keys and wherein said one or more additional seed keys are used to generate said new dynamic key.
Claim 20
Dependent Claim
20 words
The method of claim 1 further including a plurality of seed keys for use in generating said new dynamic key.
Claim 21
Dependent Claim
21 words
The method of claim 19 wherein each of said seed keys is selectively variable through input means of the host computer.
Claim 22
Dependent Claim
67 words
The method of claim 1 including generating at said host computer and said terminal a plurality of transaction data encryption keys using a plurality of variants, wherein said plurality of variants are common to said host system and said one of said plurality of terminals, and wherein said plurality of variants generate said plurality of transaction data encryption keys as a function of said new dynamic key.
Claim 23
Dependent Claim
304 words
In a network comprising a host computer and a plurality or remote terminals, a method for safeguarding the on-line transmission of data between said host computer and any one of said plurality of remote terminals wherein a unique encryption key is used for each transmission of data between said host computer and said one of said plurality of terminals, said unique encryption key being derived as function of a unique dynamic key generated using a system seed key residing only in said host computer wherein a plurality of unique dynamic keys may be generated as a function of said seed key, and wherein N is a finite integer greater than or equal to 1 that defines the number of unique dynamic keys generated as a function of said seed key, said generation of said unique dynamic keys being programmable to occur at preselected intervals, comprising the steps of: a. generating in said host computer an nth dynamic key for said one of said plurality of terminals, wherein said nth dynamic key is a function of said seed key and a predetermined terminal identifier for said one of said plurality of terminals; b. encrypting said nth dynamic key in said host computer using the (n-1) th dynamic key, wherein said (n-1) th dynamic key is also stored at said one of said plurality of terminals; c. transmitting said encrypted nth dynamic key from said host computer to said one of said plurality of terminals; d. decrypting said nth dynamic key at said terminal using said (n-1) th dynamic key stored at said one of said plurality of terminals; e. encrypting data at said one of said plurality of terminals using said nth dynamic key and transmitting said encrypted data to said host; f. decrypting said encrypted data at said host using said nth dynamic key.
Claim 24
Dependent Claim
304 words
In a network comprising a host computer and a plurality or remote terminals, a method for safeguarding the on-line transmission of data between said host computer and any one of said plurality of remote terminals wherein a unique encryption key is used for each transmission of data between said host computer and said one of said plurality of terminals, said unique encryption key being derived as function of a unique dynamic key generated using a system seed key residing only in said host computer wherein a plurality of unique dynamic keys may be generated as a function of said seed key, and wherein N is a finite integer greater than or equal to 1 that defines the number of unique dynamic keys generated as a function of said seed key, said generation of said unique dynamic keys being programmable to occur at preselected intervals, comprising the steps of: a. generating in said host computer an nth dynamic key for said one of said plurality of terminals, wherein said nth dynamic key is a function of said seed key and a predetermined terminal identifier for said one of said plurality of terminals; b. encrypting said nth dynamic key in said host computer using the (n-1) th dynamic key, wherein said (n-1) th dynamic key is also stored at said one of said plurality of terminals; c. transmitting said encrypted nth dynamic key from said host computer to said one of said plurality of terminals; d. decrypting said nth dynamic key at said terminal using said (n-1) th dynamic key stored at said one of said plurality of terminals; e. encrypting data at said one of said plurality of terminals using said nth dynamic key and transmitting said encrypted data to said host; f. decrypting said encrypted data at said host using said nth dynamic key.
Claim 25
Dependent Claim
16 words
The method of claim 22 wherein steps a through f are selectively repeated at predetermined intervals.
Claim 26
Dependent Claim
29 words
The method of claim 22 including one or more additional seed keys and wherein said one or more additional seed keys are used to generate said (n+1) dynamic key.
Claim 27
Independent Claim
238 words
A method of encrypting data for on-line data communication between a host computer and each of a plurality of remote terminals, wherein a unique dynamic key is periodically generated for each said terminal using a system seed key residing only in the host computer, said dynamic key being for use by said terminal in encrypting data transmitted to said host computer and for decrypting data received from said host computer, each said terminal further including means for storing a previously generated dynamic key for said terminal, said method comprising the steps of: a. receiving at said host computer a new dynamic key request from one of said terminals, said new dynamic key request including a predetermined terminal identifier for said terminal; b. determining in said host computer the dynamic key previously generated for said terminal by said host wherein said dynamic key previously generated by said host is currently stored in said terminal; c. generating in said host computer a new dynamic key for said terminal as a function of said seed key and said predetermined terminal identifier for said terminal; d. encrypting said new dynamic key in said host computer using said dynamic key previously generated by said host computer; e. transmitting said encrypted new dynamic key from said host computer to said terminal; f. decrypting said new dynamic key at said terminal using said dynamic key previously generated by said host currently stored in said terminal;
Claim 28
Independent Claim
238 words
A method of encrypting data for on-line data communication between a host computer and each of a plurality of remote terminals, wherein a unique dynamic key is periodically generated for each said terminal using a system seed key residing only in the host computer, said dynamic key being for use by said terminal in encrypting data transmitted to said host computer and for decrypting data received from said host computer, each said terminal further including means for storing a previously generated dynamic key for said terminal, said method comprising the steps of: a. receiving at said host computer a new dynamic key request from one of said terminals, said new dynamic key request including a predetermined terminal identifier for said terminal; b. determining in said host computer the dynamic key previously generated for said terminal by said host wherein said dynamic key previously generated by said host is currently stored in said terminal; c. generating in said host computer a new dynamic key for said terminal as a function of said seed key and said predetermined terminal identifier for said terminal; d. encrypting said new dynamic key in said host computer using said dynamic key previously generated by said host computer; e. transmitting said encrypted new dynamic key from said host computer to said terminal; f. decrypting said new dynamic key at said terminal using said dynamic key previously generated by said host currently stored in said terminal;
Claim 29
Dependent Claim
67 words
The method of claim 25 including generating at said host computer and said terminal a plurality of transaction data encryption keys using a plurality of variants, wherein said plurality of variants are common to said host system and said one of said plurality of terminals, and wherein said plurality of variants generate said plurality of transaction data encryption keys as a function of said new dynamic key.
Claim 30
Dependent Claim
29 words
The method of claim 26 wherein said plurality of transaction data encryption keys are used to encode data transmitted between said host and one of said plurality of terminals.
Claim 31
Dependent Claim
16 words
The method of claim 27 wherein steps a through f are selectively repeated at predetermined intervals.
Claim 32
Dependent Claim
29 words
The method of claim 25 including one or more additional seed keys and wherein said one or more additional seed keys are used to generate said first dynamic key.
Claim 33
Dependent Claim
21 words
The method of claim 29 wherein each of said seed keys is selectively variable through input means of the host computer.
Claim 34
Independent Claim
245 words
A method of encrypting data for on-line data communication between a host computer and each of a plurality of remote terminals, wherein a unique dynamic key is periodically generated for each said terminal using a system seed key residing only in the host computer, said dynamic key being for use by said terminal in encrypting data transmitted to said host computer and for decrypting data received from said host computer, each said terminal further including means for storing a previously generated dynamic key for said terminal, said method comprising the steps of: a. sending a new dynamic key request to said host computer, said new dynamic key request comprising at least a terminal identification number for said terminal and a terminal transaction number for said terminal; b. receiving from said host computer an encrypted new dynamic key, wherein said new dynamic key is generated as a function of said new dynamic key request and said new dynamic key is encrypted by said host with a previously generated dynamic key; c. decrypting said new dynamic key at said terminal using said dynamic key previously generated by said host currently stored in said terminal; d. encrypting data at said terminal using said new dynamic key and transmitting said encrypted data to said host; e. decrypting said encrypted data at said host using said new dynamic key; and f. storing said new dynamic key in said terminal in place of said dynamic key previously generated by said host.
Claim 35
Independent Claim
245 words
A method of encrypting data for on-line data communication between a host computer and each of a plurality of remote terminals, wherein a unique dynamic key is periodically generated for each said terminal using a system seed key residing only in the host computer, said dynamic key being for use by said terminal in encrypting data transmitted to said host computer and for decrypting data received from said host computer, each said terminal further including means for storing a previously generated dynamic key for said terminal, said method comprising the steps of: a. sending a new dynamic key request to said host computer, said new dynamic key request comprising at least a terminal identification number for said terminal and a terminal transaction number for said terminal; b. receiving from said host computer an encrypted new dynamic key, wherein said new dynamic key is generated as a function of said new dynamic key request and said new dynamic key is encrypted by said host with a previously generated dynamic key; c. decrypting said new dynamic key at said terminal using said dynamic key previously generated by said host currently stored in said terminal; d. encrypting data at said terminal using said new dynamic key and transmitting said encrypted data to said host; e. decrypting said encrypted data at said host using said new dynamic key; and f. storing said new dynamic key in said terminal in place of said dynamic key previously generated by said host.
Claim 36
Dependent Claim
67 words
The method of claim 31 including generating at said host computer and said terminal a plurality of transaction data encryption keys using a plurality of variants, wherein said plurality of variants are common to said host system and said one of said plurality of terminals, and wherein said plurality of variants generate said plurality of transaction data encryption keys as a function of said new dynamic key.
Claim 37
Dependent Claim
29 words
The method of claim 32 wherein said plurality of transaction data encryption keys are used to encode data transmitted between said host and one of said plurality of terminals.
Claim 38
Dependent Claim
29 words
The method of claim 31 including one or more additional seed keys and wherein said one or more additional seed keys are used to generate said first dynamic key.
Claim 39
Dependent Claim
21 words
The method of claim 34 wherein each of said seed keys is selectively variable through input means of the host computer.
References Cited (Backward Citations)
US4182933A
Cited
US4386234A
Cited
US4193131A
Cited
US4203166A
Cited
US4227253A
Cited
US4238853A
Cited
US4238854A
Cited
US4259720A
Cited
US4408203A
Cited
US4218738A
Cited
US4365110A
Cited
US4369332A
Cited
US4423287A
Cited
US4578530A
Cited
US4488001A
Cited
US4605820A
Cited
US4850017A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1993-06-11 | 1993-12-11 | 1994-06-12 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1997-06-11 | 1997-12-11 | 1998-06-12 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2001-06-11 | 2001-12-11 | 2002-06-12 | $7700.00 | Window Closed / Lapsed |