← Back to Patent Explorer
US5412723A Expired / Lapsed US ⏱️ 0.0 years remaining

Mechanism for keeping a key secret from mobile eavesdroppers

Assignee: International Business Machines Corp
•
Filing: 1994-03-01
•
Granted: 1995-05-02
•
Expires: 2014-03-01
📄 Original PDF 🌐 Google Patents

Abstract

Abstract A method is provided which allows a set of servers to maintain a set of keys, shared with a client, in the presence of mobile eavesdroppers that occasionally break into servers and learn the entire contents of their memories. Static and dynamic schemes maintain secret keys common to the user and each of several servers in the presence of a mobile, transient adversary that occasionally breaks into servers in order to gather information on the users' secret keys. The schemes use periodic "refreshments" of every user's private keys. In each round the servers involve in a computation in which each server computes a new private key to be shared with the user, in a way that allows the user to keep track of the changing keys without any communication with the servers. The schemes are very efficient. In particular, a user has to interact only with one server in order to obtain a session key. The user may choose the server with whom it wants to interact. The method may be used to securely generate random numbers (i.e., using the keys as random numbers).

Inventors

  • 👤 Ran Canetti
  • 👤 Amir Herzberg

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 06:24
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/08; H04L9/0891; H04L9/0816; H04L9/0819; H04L9/0827; H04L9/0861; H04L9/0866; H04L9/0894; H04L9/32; H04L9/3226; H04L9/3234

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 161 words
A method that allows a set of servers in a distributed data processing system to maintain a set of keys securely secret, shared with a client, in the presence of mobile eavesdroppers that occasionally break into servers and learn the entire contents of their memories, the method being performed by each server in the set of servers and comprising the steps of: reading a current secret key from storage for a server; computing messages for each other server in said set of servers based on the current secret key read from storage; transmitting the computed messages to a corresponding server in said set of servers; receiving messages from other servers in said set of servers; using the received messages to compute a new secret key; storing the computed new secret key in said storage for the processor; and then erasing the current secret key from storage, whereby keys are periodically changed by and among the servers in said set of servers.
Claim 2
Independent Claim 161 words
A method that allows a set of servers in a distributed data processing system to maintain a set of keys securely secret, shared with a client, in the presence of mobile eavesdroppers that occasionally break into servers and learn the entire contents of their memories, the method being performed by each server in the set of servers and comprising the steps of: reading a current secret key from storage for a server; computing messages for each other server in said set of servers based on the current secret key read from storage; transmitting the computed messages to a corresponding server in said set of servers; receiving messages from other servers in said set of servers; using the received messages to compute a new secret key; storing the computed new secret key in said storage for the processor; and then erasing the current secret key from storage, whereby keys are periodically changed by and among the servers in said set of servers.
Claim 3
Dependent Claim 101 words
The method recited in claim 1 wherein the servers are synchronized, meaning that communication proceeds in rounds, and the current secret key is denoted as k i ,l-1 and the new secret key as k i ,l, where i is a number identifying the processor and l is a round, said step of computing intermediate values being performed according to ##EQU5## where j is a number identifying another server in the set of servers j=1, . . . ,n, n being a total number of servers in the set of servers, and f being a function of the current secret key.
Claim 4
Dependent Claim 41 words
The method recited in claim 2 wherein the step of computing a new secret key, N i , for the server is performed according to ##EQU6## where the sum operation is the exclusive OR or the modular addition of all elements.
Claim 5
Independent Claim 116 words
A method for updating secret values by two or more processors connected by a communication system, the method being performed by each processor and comprising the steps of: locally computing at each processor, using current secret values, messages for each of the other processors in the communication system; transmitting the computed messages to the other processors; upon receiving transmitted messages from the other processors, computing new secret values at each processor as a function of the received messages and the current secret value; and at each processor, storing the computed new secret value and then erasing the current secret value, whereby secret values are periodically updated by and among the processors connected in the communication system.
Claim 6
Independent Claim 116 words
A method for updating secret values by two or more processors connected by a communication system, the method being performed by each processor and comprising the steps of: locally computing at each processor, using current secret values, messages for each of the other processors in the communication system; transmitting the computed messages to the other processors; upon receiving transmitted messages from the other processors, computing new secret values at each processor as a function of the received messages and the current secret value; and at each processor, storing the computed new secret value and then erasing the current secret value, whereby secret values are periodically updated by and among the processors connected in the communication system.
Claim 7
Dependent Claim 27 words
The method of claim 4 wherein the step of locally computing messages includes computing messages for each processor by each processor using the processor's current secret value.
Claim 8
Dependent Claim 26 words
The method of claim 5 wherein the step of computing new secret values at each processor is performed as the exclusive OR of the received messages.
Claim 9
Dependent Claim 93 words
The method of claim 5 wherein the processors are synchronized, meaning that communication proceeds in rounds, and the current secret value is denoted as k i ,l-1 and the new secret value as k i ,l, where i is a number identifying the processor and l is a round, said step of computing messages being performed according to ##EQU7## where j is a number identifying another processor in the communication system j=1, . . . , n, n being a total number of processors, and being a function of the current secret value.
Claim 10
Dependent Claim 40 words
The method of claim 7 wherein the step of computing a new secret value, N i , for the processor is performed according to ##EQU8## where the sum operation is the exclusive OR or the modular addition of all elements.
Claim 11
Independent Claim 202 words
A method of authenticating users of a distributed data processing system comprising a plurality of servers connected by a communications network, comprising the steps of: entering, by a user, a user identification to an input device to the distributed data processing system, said input device being attached to one of the servers of the system; computing by the input device a round key based on the user identification and time, said round key being a key which is valid for a specific time and server; using the computed round key to communicate with the server attached to the input device; reading by the server current secret key from storage within said server; computing by the server messages for each other server of the system based on the current secret key read from storage; transmitting the computed messages to a corresponding server in said data processing system; receiving messages from other servers in said data processing system; using the received messages to compute a new secret key; storing the computed new secret key in said storage for the server; and then erasing the current secret key from storage, whereby keys are periodically changed by and among the servers in said data processing system.
Claim 12
Independent Claim 202 words
A method of authenticating users of a distributed data processing system comprising a plurality of servers connected by a communications network, comprising the steps of: entering, by a user, a user identification to an input device to the distributed data processing system, said input device being attached to one of the servers of the system; computing by the input device a round key based on the user identification and time, said round key being a key which is valid for a specific time and server; using the computed round key to communicate with the server attached to the input device; reading by the server current secret key from storage within said server; computing by the server messages for each other server of the system based on the current secret key read from storage; transmitting the computed messages to a corresponding server in said data processing system; receiving messages from other servers in said data processing system; using the received messages to compute a new secret key; storing the computed new secret key in said storage for the server; and then erasing the current secret key from storage, whereby keys are periodically changed by and among the servers in said data processing system.
Claim 13
Dependent Claim 37 words
The method recited in claim 9 wherein the user identification is a personal identification number (PIN) or a password and the step of computing a round key includes a server location as a variable in the computation.
Claim 14
Dependent Claim 29 words
The method recited in claim 9 wherein the input device is a workstation and the user enters a user identification by means of a keyboard attached to the workstation.
Claim 15
Dependent Claim 30 words
The method recited in claim 9 wherein the input device is a smart card having a processor and a secure memory, the user identification being embedded in the secure memory.

References Cited (Backward Citations)

US4182933A Cited
US4972472A Cited
US4876716A Cited
US5081677A Cited
US5146498A Cited
US5208859A Cited
US5177791A Cited
US5325432A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-05-01 1998-10-31 1999-05-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-05-01 2002-10-31 2003-05-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-05-01 2006-10-31 2007-05-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag