CA1197588A - Encryption system key distribution method and apparatus - Google Patents
Encryption system key distribution method and apparatusInfo
- Publication number
- CA1197588A CA1197588A CA000429915A CA429915A CA1197588A CA 1197588 A CA1197588 A CA 1197588A CA 000429915 A CA000429915 A CA 000429915A CA 429915 A CA429915 A CA 429915A CA 1197588 A CA1197588 A CA 1197588A
- Authority
- CA
- Canada
- Prior art keywords
- terminal
- information
- key
- center
- session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61F—FILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
- A61F7/00—Heating or cooling appliances for medical or therapeutic treatment of the human body
- A61F7/12—Devices for heating or cooling internal body cavities
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61M—DEVICES FOR INTRODUCING MEDIA INTO, OR ONTO, THE BODY; DEVICES FOR TRANSDUCING BODY MEDIA OR FOR TAKING MEDIA FROM THE BODY; DEVICES FOR PRODUCING OR ENDING SLEEP OR STUPOR
- A61M31/00—Devices for introducing or retaining media, e.g. remedies, in cavities of the body
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61F—FILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
- A61F7/00—Heating or cooling appliances for medical or therapeutic treatment of the human body
- A61F2007/0001—Body part
- A61F2007/0018—Trunk or parts thereof
- A61F2007/0028—Rectum
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61F—FILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
- A61F7/00—Heating or cooling appliances for medical or therapeutic treatment of the human body
- A61F2007/009—Heating or cooling appliances for medical or therapeutic treatment of the human body with a varying magnetic field acting upon the human body, e.g. an implant therein
Abstract
ENCRYPTION SYSTEM KEY DISTRIBUTION
METHOD AND APPARATUS
Abstract Encryption systems typically rely on the distribution of cipher keys between terminals for scrambling and unscrambling transmitted messages.
Elaborate security precautions are necessary to protect the cipher keys since a compromise of the key could result in a compromise of the transmission. There is disclosed a key distribution method and apparatus which uses a channel from identified terminals to a central key distribution center for the establishment, on a one-session basis, of the key which is to be used for the next session between those terminals. The key establishing link is itself encoded using a cipher key which changes after each usage.
Provision is made to verify, for each new connection, that a compromise has not priorly occurred
METHOD AND APPARATUS
Abstract Encryption systems typically rely on the distribution of cipher keys between terminals for scrambling and unscrambling transmitted messages.
Elaborate security precautions are necessary to protect the cipher keys since a compromise of the key could result in a compromise of the transmission. There is disclosed a key distribution method and apparatus which uses a channel from identified terminals to a central key distribution center for the establishment, on a one-session basis, of the key which is to be used for the next session between those terminals. The key establishing link is itself encoded using a cipher key which changes after each usage.
Provision is made to verify, for each new connection, that a compromise has not priorly occurred
Description
ENCRYPTION SYSTEM KEY DISTRIBUTION
METHOD AND APPARATUS
Background of the Invention This invention relates to the establishrnent and distribution of cipher keys in a cryptographic system.
Cryptographic systems are now gaining favor, both for voice as well as data transmission. In such systems it is typically necessary that the parties to a particular transmission each have cryptographic keys to encrypt and decrypt the cipher transMissions It follows that a compromise to a cryptographic key will in turn reduce the security of subsequent transmissions involving that key.
Thus, great precautions must be taken to distribute the cryptographic keys among the system users. Such distribution, for example, using secure couriers to manually update the keys may be possible when the community of users is priorly known but becomes increasingly more difficult when either the number of parties is large or parties who seldom communicate with each other wish to do so. The responsibility for keeping ~he cryptographic key secure after distribution rests with each user and the longer the key remains effective the greater the risk of it becoming compromised.
Thus, from a practical point of view it is desirable to have the cryptographic key effective for a single session, requiring a new key for each new session.
When couriers are used, however, this becomes costly and time consuming, especially when a party wishes to place many secure calls or have many secure sessions.
Attempts have been made to electronically distribute cryptographic keys between users from a key distribution centerO One such example is shown in Rosenblum Pat:ent No. 4,182,933, issued January 8, 1980.
While such attempts have found some degree of success they all suffer from the problem that they ar0 subject to ..'~'' ~3~
compromise because they usually rely on the security of the transmission media between ~he key distribution center and the terminal ~or the distribution of session key information~ Thus, an intruder need only compromise the key distribution channel to obtain subsequent session keysO
Elaborate systems have sometimes been established to detect such a compromise, all of which are either costly or minimally effective.
Another problem with key distribution centers i5 that the center can derive the information used to decrypt the secure data exchange between users and thus could theoretically monitor the secure session transmission.
Summary of the Invention We have solved the above-identifled problems by arranging a key distribution center (KDC) which communicates over a channel with the individual terminalsO
The channel, or data link, can be a dial-up telephone line, a packet-switched data network, dedicated lines, or other communications channel types, over which secure 2Q communication is possible. The terminals operate in conjunction w;-th the KDC to establish a session key for secure transmission between two or more terminals. The session key at a terminal is constructed from information generated at that terminal in conjunction with information communicated from the KDC and is known fully only to the terminals involved in the session and not to the KDC.
Thus~ when two terminals have established a session key, they may securely communicate with each other for the duration of that session.
At the conclusions of the secure data exchange, the session keys should be destroyed, and when either station wishes to establish additional secure communication either between themselves or to other stations, a new session key will be established in cooperation with the KDC.
Both the terminal~KDC channel and the KDC~
terminal channel, as mentioned above, are secure links in that they are protected by cryptographic key information which is unique to each terminal and to the KDC on a one-call-only basis ~ccordingly, whenever a connection is established between a terminal and the KDC, each has information previously stored, referred to as terminal-unique key information, and this priorly stored information is used to es~ablish both new KDC-terminal link keys, referred to as call-setup key inEormation, and new session key information. During the establishment of the session keys~ the terminal and the KDC each modify their respective terminal-unique key information so that on a next call between the KDC and the same terminal, this new key information must be used in order to establish a secure communication path~ The precise manner in which this happens will be discussed hereinafter. In this manner, an intruder on the key distribution between a terminal and the KDC must be adding and substituting information on the channel from the beginning and must stay on the channel throughout several calls, since once the intruder leaves it is possible to detect, at least by hindsight, that a compromise has occurred. This is a result of the fa¢t that the intruder is substituting random information that may be monitored.
In accordance with one aspect of the invention there is provided a key distribution method for communicating cipher keys between two terminals via a key distribution CenteL~ KDC r said method comprising establishing between any one terminal and said key distribution center a terminal-unique cipher key, cooperating between said KDC and said one terminal on a subsequent connection between said KDC and said one terminal to establish a session key for use by said one terminal in a subsequent secure transmission between said one terminal and a second terminal, and changing in response to said subsequent connection between said one terminal and said KDC said priorly established terminal-unique cipher key.
- 3a -In accordance with another aspect of the invention there is provided a key distribution center for controlling the dissemination of session cipher keys between remotely located terminals, said center arranged for switched access to a plurali~y of said terminals, said center comprising means for establishing communicaticn cipher keys between said center and each said terminal having access thereto, each cipher key unique to each said terminal, means operative when one of said terminals accesses said center for bidirectional as~nmetrically exchan~ing information with said accessed terminal using, as a foundation for said exchange, said priorly es~ablished communica~ion cipher keys, and means responsive to said exchanged informa~ion for communicating to said ~erminal information allowing said terminal to establish a session cipher key for use with an identified other terminal also having access to said center.
One aspect of our system is that an intruder, in order to obtain useful information exchanged between two valid users of the system, must gain the terminal-unique information that is stored at the terminal, and he must also gain the terminal-unique information that is stored in the key distribution center for that specific terminal. The intruder then, on the very next key exchange involving that terminal and the key distributing center~ must actively participate, i.e., substitute his own generated key information on that channel. Then the intruder must also substitute information on the channel between the two communicating terminals, and also must continue the above substitutions on the channels for an indefinite period of time or risk detection.
' '`, Brief Description of the Drawing These attributes of our invention, together ~i-th the operation and utilization of the invention in a specific embodiment, will be more fully apparent from the illustrative embodiment shown in conjunction w;th the drawing which:
FIG~ 1 shows an overall system using a KDC and several terminals;
FIG. 2 shows an implementation oE the initial establishment of information in both the KDC and the terminal within a secure area;
E~IGSo 3 and 4 show a flow chart detailing what occurs within each terminal;
FIG. 5 shows a flow chart detailing wha~ occurs within the KDC;
FIGS. 6-19 show, in sequence, an implementation of the establishment of key information and control data within each terminal; and FIGS. ~a 28 show, in sequence, an implementation of the establishment of key information and control data within the KDC. In this system we have a variety of terminals.
General Description FIG. 1 shows a number of terminals, A~ B and X, connectable to each other and to KDC 10 via some transport network (e.g., public switched network). These terminals should be able to set up a secure channel between themselves in order to exchange secure information. In this process they must both communicate with the KDC. The transmission line 12 from terminal A is connected through link 16 to transmission line 13 to initiate a secure call to terminal B. Once the users decide to initiate a secure data exchange, each terminal sets up a transmission line, such as link 14 for terminal A, to the KDC.
An exchange of information will then occur from terminal A to the KDC and from terminal B to the KDC. Once the KDC has received both of these messages, it will ~ 5 ~
formulate two distinct messages that will be sent respectively to terminal A via link 14 and to terminal B
via link 15. I'hese individual messa~es will contain session key information, as well as other pertinent information described belowO This session key information has originated at terminal A and at terminal B and is exchanged through the KDC. Once the exchange has taken place between the two terminals and the KDC, link 14, which is the key distribution link between terminal A and the KDC, is then taken down, and key distribution link 15 between the KDC and terminal B is taken down~ Link 16, which is the session link between terminals A and B, is re--establishedO Further key information is exchanged based on the prior partial exchanges so as to derive independently at both terminals the session key~ and finally using that session key information/ data (i.e., digital data or digital voice) can be transmitted in secure fashion on data link 16O
Since further session information was derived be~ween terminals A and B independent o~ the KDC, a malicious operator of the KDC cannot derive the key information need to decrypt the secure messages sent between terminals A and s without actively substituting information on the session channel.
Also, at this point, as will be seen, contained within the messages that were sent between the KDC and the terminals was new terminal~unique key informa~ion to secure the next key distribution between the terminals and the KDC. This new information is independent of the previous information and therefore is unique to it.
Detailed Description Turning now to FIG. 2 the initial setup between the terminal and the KDC must be made in an authentic manner such that the information transported to the terminals from the KDC is not modified. One implementation is where the transport is made wi-thin a secured area, such as secured area 23. Since subsequent communications between the KDC and each terminal depend upon the prior communication, it is important that at some period in time they both contain the proper information for start up, and ideally this is done in the secured area so that there can be no breach of security.
On the initial system setup ~based on the secured area implementation shown in FIG. 2) the terminals are brought within the secured area 23~ and the KDC can genera~e terminal-unique key pairs for each terminal. The exact function of ~hese key pairs will be described later.
The KDC will generate a terminal~unique decryption key for each terminal and the corresponding encryption key. This enceyption key must be placed in the terminal-unique key storage for each terminal with the corresponding decryption key stored in the terminal-unique key storage at the KDC
under the address of that terminal. In addition, a random number, Ua for terminal A, unique to each terminal is stored in the verification information storage at the KDC
also at the address of this terminal. This same random number must be loaded and stored in the verification information storage in the terminals and will be used for a verification check on the first call setup to the KDCo FIGS~ 3 and 4 are flow charts representing the action that occurs within a terminal, for example, terminal A.
FIG. 5 is a flow chart representing what actions occur within the key distribution center.
The discussion which will follow is a discussion with respect to a time sequence between -the terminal and the KDC to i:Llustrate both how terminal-unique keys are updated, and how call-setup and session keys are distributed. This discussion will occur with respect to FIGS. 6 through 280 FIGS. 6 through 19 show the apparatus within the terminal and show on a step-by step basis how the call-setup keys and the session keys are established.
FIGS~ 20 through 28 show the apparatus within the KDC~ each figure showing a specific operational aspect of the establishment of the keys.
Turning now to FIG. 6, we will discuss the specific apparatus used in the terminals. The actual generation of the numbers will be discussed hereinafter.
Apparatus 72 is a random number generator which is a device or algorithm that produces bits (æeros and ones) that are equally likely to occur~ This generation may be based upon a noisy diode and any number of algorithms can be used to attain statistically independent output of 0's and l's.
The more equally likely these random number generators are, i.e., the more random this func-tion is~ the higher the security level will beO The output of the random number generator is a serial stream of zeroes and ones where the correlation between one or a group of bits is ~ero. The bidirectional asymmetric key generator, apparatus 73, takes as input a eandom number from random number generator 72 and will compute an encryption key and the matchiny decryption key such that the encryption key cannot be derived from the decryption key and vice versa. The generation of these keys as an example could be done in accordance with the RSA algorithm, as described by Rivest~
Shamir, and Adleman in a paper entitled, "A Method for Obtaining Digital Signatures and Public Key Crypto Systems~" which appeared in CACM~ Vol. 21, No. 2, February~
1978, on pages 120~126.
Apparatus 74 implements a bidirectional asymmetric cryptoyraphic algorith~n (e.gO, the RSA
algorithm) that is, a cryptographic algorithm based on two distinct keys where the encryption key cannot be derived from the decryption key and vice versa. Apparatus 74 has two inputs (l and K) and one output (O)O The input I is the bits to be encrypted or decrypted. The input K is the key, either encryption or decryption (the R~A algorithm performs the same function regardless of encryption or decryption). Ihe output will be the inputted bits encrypted or decrypted with the supplied key. This algorithrn is also described in the aforementioned paper.
Functionally, apparatus 75 is the embodiment of two functions f and g such that: given f(R, P) and P, one cannot determine R; g(Rl, f(R2, P)l P) = g(R2, f(Rl, P), P); and given f(Rl, P)~ f(R2, P), and P one cannot determine ~ 2, or g(Rl, f(R2, P), P)~
Ap~aratus 75 performs the above functions via, for example, the DiEfie~Hellman algorithm, which is described in a paper by DifEie and Hellman entitled "New Directions in Cryptography," published by the IEER
Transactions on Information Theory, Vol. IP-~2~ Novemberl 1976, on pages 644-655. The input to this algorithm i5 a base Y, a modulus Q and an exponent EXP. The output is Y
raised to the EXP power modulus the Q. The functions f and g are the same as discussed above in this e~ample.
The storage requirements are depicted by registers 71, 70 and 76 These are the semi~permanen-t register 71 which contains both the verification information Va and the terminal-unique key information Eak used to encrypt messages to the KDC. Temporary register 70 can be in any state initially and is used during the interaction with the KDC on a secure call setup. The address register permanently contains the address ~i.e., a public piece of information that uniquely identifies A to the KDC) of the terminal (terminal A in this case) where it is locat~d. During a secure session (or call) setup, the address register will also contain the address of the terminal which is being called~ The registers containing verification information and encryption and decryption information may vary in size depending upon the specific algorithm used but in this example should be on the order of 1,000 bits each. Information pertaining to the symmetric session key and the random number should be on the order of 100 bits, and the address information will be dependent upon a terminal numbering plan both unique and known to the KDC. For example, it could be the telephone 7~
~ 9, number of the specific terminal or lt could be the serial number of the terminal.
Turning to FIG~ 20, we will now discuss the working of the modules within the key distribution unit.
The address register at the KDC, register 200, performs the same function as the address register at the terminal. The RSA function at the KDC, apparatus 210, performs the same Eunction as the RSA function at: the terminal, as previously described The random number generator~ apparatus 211, performs the same function as the random number generator at the terminal previously mentioned. The generator of the encryption and decryption keys apparatus 212 has the same function as described praviously in the terminalO
Apparatus 213 is a generator of the parameters used as inputs to the apparatus 75 described previously~ For this particular example these parameters are the base and modulus for the Diffie ~ellman algorithm. It requires as input the output of the random number generator, apparatus 211. The method of generation is described in the aforementioned paper by Diffie.
There is a semi permanent storage at the KDC, registers 214 and 216l which stores verification information Va and terminal unique decryption key information Dak between calls. Semi-permanent registers 215 and 217 are used to store information during the call setup progress. These registers have the same functions as described previously for the terminal.
System Operation The operation of the system will now be explained beginning with FIG. 3. Initially tha key management equip~ent in the terminal will be in the wait state until a request is received from the terminal controller processor to initiate a secure call. At this point, as discussed, there is stored in the terminal the terminal-unique encryption key that will be used to encrypt information that is sent to the KDC. Also storad is the verification information. These two pieces of information were stored .
~ 10 --froM the last call (or from the initial setup) that was made by this terminal~ This is shown in FIG. 6 as Va and Eak.
Once a request is received to initiate a secure call, the address of the called party must be given to the key management equipment via the controller processor.
This is seen in FIG~ 3t box 31D At this point, there are generated new call-setup keys. This is shown in box 32 and in FIG. 7 as Eka and Dka~ In bOX 33 there is shown the generation of partial session keys that will be used to encrypt data on the link from terminal B to terminal A~
This is shown in FIGo 8 as Eba and Dba.
At this point, ~he verification information is updated using the keys that were just generatedO The update function is specified as follows:
Val' = f (Val, El) and Va2' = f (Va2, E2) where 5 denotes updated and ValVa2 = Va. Va is the stored verification information and the E's are the just-generated encryption keysO The properties of f are as follows:
(1) for every V, El, E2: f(V, El) ~ f(V, E2) where El~E2;
METHOD AND APPARATUS
Background of the Invention This invention relates to the establishrnent and distribution of cipher keys in a cryptographic system.
Cryptographic systems are now gaining favor, both for voice as well as data transmission. In such systems it is typically necessary that the parties to a particular transmission each have cryptographic keys to encrypt and decrypt the cipher transMissions It follows that a compromise to a cryptographic key will in turn reduce the security of subsequent transmissions involving that key.
Thus, great precautions must be taken to distribute the cryptographic keys among the system users. Such distribution, for example, using secure couriers to manually update the keys may be possible when the community of users is priorly known but becomes increasingly more difficult when either the number of parties is large or parties who seldom communicate with each other wish to do so. The responsibility for keeping ~he cryptographic key secure after distribution rests with each user and the longer the key remains effective the greater the risk of it becoming compromised.
Thus, from a practical point of view it is desirable to have the cryptographic key effective for a single session, requiring a new key for each new session.
When couriers are used, however, this becomes costly and time consuming, especially when a party wishes to place many secure calls or have many secure sessions.
Attempts have been made to electronically distribute cryptographic keys between users from a key distribution centerO One such example is shown in Rosenblum Pat:ent No. 4,182,933, issued January 8, 1980.
While such attempts have found some degree of success they all suffer from the problem that they ar0 subject to ..'~'' ~3~
compromise because they usually rely on the security of the transmission media between ~he key distribution center and the terminal ~or the distribution of session key information~ Thus, an intruder need only compromise the key distribution channel to obtain subsequent session keysO
Elaborate systems have sometimes been established to detect such a compromise, all of which are either costly or minimally effective.
Another problem with key distribution centers i5 that the center can derive the information used to decrypt the secure data exchange between users and thus could theoretically monitor the secure session transmission.
Summary of the Invention We have solved the above-identifled problems by arranging a key distribution center (KDC) which communicates over a channel with the individual terminalsO
The channel, or data link, can be a dial-up telephone line, a packet-switched data network, dedicated lines, or other communications channel types, over which secure 2Q communication is possible. The terminals operate in conjunction w;-th the KDC to establish a session key for secure transmission between two or more terminals. The session key at a terminal is constructed from information generated at that terminal in conjunction with information communicated from the KDC and is known fully only to the terminals involved in the session and not to the KDC.
Thus~ when two terminals have established a session key, they may securely communicate with each other for the duration of that session.
At the conclusions of the secure data exchange, the session keys should be destroyed, and when either station wishes to establish additional secure communication either between themselves or to other stations, a new session key will be established in cooperation with the KDC.
Both the terminal~KDC channel and the KDC~
terminal channel, as mentioned above, are secure links in that they are protected by cryptographic key information which is unique to each terminal and to the KDC on a one-call-only basis ~ccordingly, whenever a connection is established between a terminal and the KDC, each has information previously stored, referred to as terminal-unique key information, and this priorly stored information is used to es~ablish both new KDC-terminal link keys, referred to as call-setup key inEormation, and new session key information. During the establishment of the session keys~ the terminal and the KDC each modify their respective terminal-unique key information so that on a next call between the KDC and the same terminal, this new key information must be used in order to establish a secure communication path~ The precise manner in which this happens will be discussed hereinafter. In this manner, an intruder on the key distribution between a terminal and the KDC must be adding and substituting information on the channel from the beginning and must stay on the channel throughout several calls, since once the intruder leaves it is possible to detect, at least by hindsight, that a compromise has occurred. This is a result of the fa¢t that the intruder is substituting random information that may be monitored.
In accordance with one aspect of the invention there is provided a key distribution method for communicating cipher keys between two terminals via a key distribution CenteL~ KDC r said method comprising establishing between any one terminal and said key distribution center a terminal-unique cipher key, cooperating between said KDC and said one terminal on a subsequent connection between said KDC and said one terminal to establish a session key for use by said one terminal in a subsequent secure transmission between said one terminal and a second terminal, and changing in response to said subsequent connection between said one terminal and said KDC said priorly established terminal-unique cipher key.
- 3a -In accordance with another aspect of the invention there is provided a key distribution center for controlling the dissemination of session cipher keys between remotely located terminals, said center arranged for switched access to a plurali~y of said terminals, said center comprising means for establishing communicaticn cipher keys between said center and each said terminal having access thereto, each cipher key unique to each said terminal, means operative when one of said terminals accesses said center for bidirectional as~nmetrically exchan~ing information with said accessed terminal using, as a foundation for said exchange, said priorly es~ablished communica~ion cipher keys, and means responsive to said exchanged informa~ion for communicating to said ~erminal information allowing said terminal to establish a session cipher key for use with an identified other terminal also having access to said center.
One aspect of our system is that an intruder, in order to obtain useful information exchanged between two valid users of the system, must gain the terminal-unique information that is stored at the terminal, and he must also gain the terminal-unique information that is stored in the key distribution center for that specific terminal. The intruder then, on the very next key exchange involving that terminal and the key distributing center~ must actively participate, i.e., substitute his own generated key information on that channel. Then the intruder must also substitute information on the channel between the two communicating terminals, and also must continue the above substitutions on the channels for an indefinite period of time or risk detection.
' '`, Brief Description of the Drawing These attributes of our invention, together ~i-th the operation and utilization of the invention in a specific embodiment, will be more fully apparent from the illustrative embodiment shown in conjunction w;th the drawing which:
FIG~ 1 shows an overall system using a KDC and several terminals;
FIG. 2 shows an implementation oE the initial establishment of information in both the KDC and the terminal within a secure area;
E~IGSo 3 and 4 show a flow chart detailing what occurs within each terminal;
FIG. 5 shows a flow chart detailing wha~ occurs within the KDC;
FIGS. 6-19 show, in sequence, an implementation of the establishment of key information and control data within each terminal; and FIGS. ~a 28 show, in sequence, an implementation of the establishment of key information and control data within the KDC. In this system we have a variety of terminals.
General Description FIG. 1 shows a number of terminals, A~ B and X, connectable to each other and to KDC 10 via some transport network (e.g., public switched network). These terminals should be able to set up a secure channel between themselves in order to exchange secure information. In this process they must both communicate with the KDC. The transmission line 12 from terminal A is connected through link 16 to transmission line 13 to initiate a secure call to terminal B. Once the users decide to initiate a secure data exchange, each terminal sets up a transmission line, such as link 14 for terminal A, to the KDC.
An exchange of information will then occur from terminal A to the KDC and from terminal B to the KDC. Once the KDC has received both of these messages, it will ~ 5 ~
formulate two distinct messages that will be sent respectively to terminal A via link 14 and to terminal B
via link 15. I'hese individual messa~es will contain session key information, as well as other pertinent information described belowO This session key information has originated at terminal A and at terminal B and is exchanged through the KDC. Once the exchange has taken place between the two terminals and the KDC, link 14, which is the key distribution link between terminal A and the KDC, is then taken down, and key distribution link 15 between the KDC and terminal B is taken down~ Link 16, which is the session link between terminals A and B, is re--establishedO Further key information is exchanged based on the prior partial exchanges so as to derive independently at both terminals the session key~ and finally using that session key information/ data (i.e., digital data or digital voice) can be transmitted in secure fashion on data link 16O
Since further session information was derived be~ween terminals A and B independent o~ the KDC, a malicious operator of the KDC cannot derive the key information need to decrypt the secure messages sent between terminals A and s without actively substituting information on the session channel.
Also, at this point, as will be seen, contained within the messages that were sent between the KDC and the terminals was new terminal~unique key informa~ion to secure the next key distribution between the terminals and the KDC. This new information is independent of the previous information and therefore is unique to it.
Detailed Description Turning now to FIG. 2 the initial setup between the terminal and the KDC must be made in an authentic manner such that the information transported to the terminals from the KDC is not modified. One implementation is where the transport is made wi-thin a secured area, such as secured area 23. Since subsequent communications between the KDC and each terminal depend upon the prior communication, it is important that at some period in time they both contain the proper information for start up, and ideally this is done in the secured area so that there can be no breach of security.
On the initial system setup ~based on the secured area implementation shown in FIG. 2) the terminals are brought within the secured area 23~ and the KDC can genera~e terminal-unique key pairs for each terminal. The exact function of ~hese key pairs will be described later.
The KDC will generate a terminal~unique decryption key for each terminal and the corresponding encryption key. This enceyption key must be placed in the terminal-unique key storage for each terminal with the corresponding decryption key stored in the terminal-unique key storage at the KDC
under the address of that terminal. In addition, a random number, Ua for terminal A, unique to each terminal is stored in the verification information storage at the KDC
also at the address of this terminal. This same random number must be loaded and stored in the verification information storage in the terminals and will be used for a verification check on the first call setup to the KDCo FIGS~ 3 and 4 are flow charts representing the action that occurs within a terminal, for example, terminal A.
FIG. 5 is a flow chart representing what actions occur within the key distribution center.
The discussion which will follow is a discussion with respect to a time sequence between -the terminal and the KDC to i:Llustrate both how terminal-unique keys are updated, and how call-setup and session keys are distributed. This discussion will occur with respect to FIGS. 6 through 280 FIGS. 6 through 19 show the apparatus within the terminal and show on a step-by step basis how the call-setup keys and the session keys are established.
FIGS~ 20 through 28 show the apparatus within the KDC~ each figure showing a specific operational aspect of the establishment of the keys.
Turning now to FIG. 6, we will discuss the specific apparatus used in the terminals. The actual generation of the numbers will be discussed hereinafter.
Apparatus 72 is a random number generator which is a device or algorithm that produces bits (æeros and ones) that are equally likely to occur~ This generation may be based upon a noisy diode and any number of algorithms can be used to attain statistically independent output of 0's and l's.
The more equally likely these random number generators are, i.e., the more random this func-tion is~ the higher the security level will beO The output of the random number generator is a serial stream of zeroes and ones where the correlation between one or a group of bits is ~ero. The bidirectional asymmetric key generator, apparatus 73, takes as input a eandom number from random number generator 72 and will compute an encryption key and the matchiny decryption key such that the encryption key cannot be derived from the decryption key and vice versa. The generation of these keys as an example could be done in accordance with the RSA algorithm, as described by Rivest~
Shamir, and Adleman in a paper entitled, "A Method for Obtaining Digital Signatures and Public Key Crypto Systems~" which appeared in CACM~ Vol. 21, No. 2, February~
1978, on pages 120~126.
Apparatus 74 implements a bidirectional asymmetric cryptoyraphic algorith~n (e.gO, the RSA
algorithm) that is, a cryptographic algorithm based on two distinct keys where the encryption key cannot be derived from the decryption key and vice versa. Apparatus 74 has two inputs (l and K) and one output (O)O The input I is the bits to be encrypted or decrypted. The input K is the key, either encryption or decryption (the R~A algorithm performs the same function regardless of encryption or decryption). Ihe output will be the inputted bits encrypted or decrypted with the supplied key. This algorithrn is also described in the aforementioned paper.
Functionally, apparatus 75 is the embodiment of two functions f and g such that: given f(R, P) and P, one cannot determine R; g(Rl, f(R2, P)l P) = g(R2, f(Rl, P), P); and given f(Rl, P)~ f(R2, P), and P one cannot determine ~ 2, or g(Rl, f(R2, P), P)~
Ap~aratus 75 performs the above functions via, for example, the DiEfie~Hellman algorithm, which is described in a paper by DifEie and Hellman entitled "New Directions in Cryptography," published by the IEER
Transactions on Information Theory, Vol. IP-~2~ Novemberl 1976, on pages 644-655. The input to this algorithm i5 a base Y, a modulus Q and an exponent EXP. The output is Y
raised to the EXP power modulus the Q. The functions f and g are the same as discussed above in this e~ample.
The storage requirements are depicted by registers 71, 70 and 76 These are the semi~permanen-t register 71 which contains both the verification information Va and the terminal-unique key information Eak used to encrypt messages to the KDC. Temporary register 70 can be in any state initially and is used during the interaction with the KDC on a secure call setup. The address register permanently contains the address ~i.e., a public piece of information that uniquely identifies A to the KDC) of the terminal (terminal A in this case) where it is locat~d. During a secure session (or call) setup, the address register will also contain the address of the terminal which is being called~ The registers containing verification information and encryption and decryption information may vary in size depending upon the specific algorithm used but in this example should be on the order of 1,000 bits each. Information pertaining to the symmetric session key and the random number should be on the order of 100 bits, and the address information will be dependent upon a terminal numbering plan both unique and known to the KDC. For example, it could be the telephone 7~
~ 9, number of the specific terminal or lt could be the serial number of the terminal.
Turning to FIG~ 20, we will now discuss the working of the modules within the key distribution unit.
The address register at the KDC, register 200, performs the same function as the address register at the terminal. The RSA function at the KDC, apparatus 210, performs the same Eunction as the RSA function at: the terminal, as previously described The random number generator~ apparatus 211, performs the same function as the random number generator at the terminal previously mentioned. The generator of the encryption and decryption keys apparatus 212 has the same function as described praviously in the terminalO
Apparatus 213 is a generator of the parameters used as inputs to the apparatus 75 described previously~ For this particular example these parameters are the base and modulus for the Diffie ~ellman algorithm. It requires as input the output of the random number generator, apparatus 211. The method of generation is described in the aforementioned paper by Diffie.
There is a semi permanent storage at the KDC, registers 214 and 216l which stores verification information Va and terminal unique decryption key information Dak between calls. Semi-permanent registers 215 and 217 are used to store information during the call setup progress. These registers have the same functions as described previously for the terminal.
System Operation The operation of the system will now be explained beginning with FIG. 3. Initially tha key management equip~ent in the terminal will be in the wait state until a request is received from the terminal controller processor to initiate a secure call. At this point, as discussed, there is stored in the terminal the terminal-unique encryption key that will be used to encrypt information that is sent to the KDC. Also storad is the verification information. These two pieces of information were stored .
~ 10 --froM the last call (or from the initial setup) that was made by this terminal~ This is shown in FIG. 6 as Va and Eak.
Once a request is received to initiate a secure call, the address of the called party must be given to the key management equipment via the controller processor.
This is seen in FIG~ 3t box 31D At this point, there are generated new call-setup keys. This is shown in box 32 and in FIG. 7 as Eka and Dka~ In bOX 33 there is shown the generation of partial session keys that will be used to encrypt data on the link from terminal B to terminal A~
This is shown in FIGo 8 as Eba and Dba.
At this point, ~he verification information is updated using the keys that were just generatedO The update function is specified as follows:
Val' = f (Val, El) and Va2' = f (Va2, E2) where 5 denotes updated and ValVa2 = Va. Va is the stored verification information and the E's are the just-generated encryption keysO The properties of f are as follows:
(1) for every V, El, E2: f(V, El) ~ f(V, E2) where El~E2;
(2) for every V21, V2, E: f(Vl, E) ~ f(V2r E) where Vl~V2;
(3~ given V and V' ~ f(V, E) it is difficult to determine E; and (4) in the case where E is an asymmetric encryption keyy D cannot be determined from E.
For this example, Va' = Val'lVa2' where Va = VallVa2, Val' is equal to Val encrypted with Eka, and Va2' is equal to Va2 encrypted with Eba. This update process is depicted in FIG. 9O The first half of the verification information Val is read Erom storage and provided as an input to the RSA
algorithm. The key that is used to encrypt this information is the call-setup key, Eka, that was just generated. This becomes Val' and overwrites Val as seen in FIG. 10. Next, the second half of the verification information Va2 is encrypted using Eba just generatedA The result Va2' overwrites Va2 in the storage register~ This is shown in FIG~ 3, box 34, and in summary, the updated verification information Va" is the verification information stored from the previous call, or given to the terminal on the initial setup from the ~DC, where ha]f is encrypted using the encryption part of the partial session key generated on this call and the other half is encrypted using the call-setup key for that call.
At this point, as shown in box 36, FIG. 3, and in FIG~ 11, the message can be formatted to the KDC9 The contents of this message are the encryption parts of the two keys that were just generated. Both the partial session key to be established between terminal A and B, Eba, and the new call-setup key Eka are encrypted using the terminal-unique encryption key Eak stored from the previous call from the KDC to the terminal or yiven to the terminal on the initial setup. At this point, the information that can be destroyed from the terminal is the terminal unique encryption key, Eak, stored at the terminal from the previous call, and both the call-setup encryption key~ Eka, and the partial session encryption key, Eba, that were generated by the terminalO The encrypted message is then appended to the addresst A, of the originating terminal followed by the address, B, of the called terminal. This message is now sent to the KDC.
The terminal now will enter a wait state waiting for the information to be received from the KDC. This is depicted in box 37 of FIG~ 3.
As shown in FIG. 5, the KDC will be in a wait state until a message is received from terminal A~ This is shown in FIG. 5, box 50. Once the message is received, the KDC reads the address information within the message into the address register which gives it the index of the decryption key that must be used to decrypt the message.
The KDC has in its storage from the previous call the matching verification information for each terminal and the terminal unique decryption key for each terminalO This is depicted in FIG. 20, boxes 214 and 216.
The message from terminal A i5 decrypted using the terminal-unique decryption key corresponding to that terminal, Dak. The keys, both the new call setup key Eka and the partial session key Eba ~to be distributed to terminal B) is temporarily stored in the KDC memory as depicted in FIG. 21.
At this point, as shown in FIG. 22, the KDC can update its verification information in the exact same manner as the terminalO This is done by encrypting each half of the stored verification information Va with the received session key inEormation Eba and the received call-setup key information Eka, shown in FIG. 23. This produces the upda~e verification information Va".
The key distribution center, as shown in FIG. 24, will now generate a bidirectional asymmetric encryption/decryption key pair, Eak', Dak'. The primes denote updated informationO Eak' will be distributed to terminal A to be used on the next call setup to the key distribution center. The decryption key Dak' overwrites the decryption key Dak that was stored from the previous call.
Two other pieces of information are also generated at this time. These are the parameters that will be used by the terminals to create symmetric session keys;
in this case they are the parameters of the Diffie-Hellman algorithm. One is the base Y and the other is the modulus Q as previously described. Functionally, the amount of infor~nation that is generated at the KDC and sent to each terminal may vary depending upon the precise algorithmO This information is stored in temporary storage and will be used as part of the message sent back to both terminal A and terminal B. This generation process is depicted in FIG. 25 and reEers to the Elow chart box 55, FIG. 5. By this point, as shown in FIG~ 26, the KDC ~ust have received a message from terminal B in order to complete the call to terminal A. If not t the KDC process for terminal A must wait until the process for terminal B
has reached this point. This is so it can give terminal the partial session key information Eab generated at terminal B and also to be able to give terminal B the partial session key Eba generated at terminal A.
Coordination between the processes must take place so that the same parameters generated by one process overwrites the parameters generated by the other process. This insures that the parameters sent to the terminals for the purpose of generating symme~ric session keys are the same.
Once the internal exchange is made between the A
registers and the B registers to coordinate the information inside the key distribution center, the messages can now be formatted for ths terminals7 This is shown in FIG. 27 The message to terminal A will consist of the new terminal unique key information Eak' that will be used on a subsequent call to the KDC. It will also consist of the partial session key information Eab which it received from terminal B. It will also consist of the verification information Va" or a known reduction of Va" in terms of the numbar of bits. It will also consist of the base Y and the modulus Q of ~he Diffie~Hellman algorithm. These five pieces of information will be encrypted using the call setup key Eka received in the message from terminal A. The KDC destroys Eka, Eba, Eak', Y, and Q corresponding to terminal A and destroys Ekb, Eab, ~bk', Y, and Q
corresponding to terminal B. The KDC will then send this output message back to terminal A. An analogous encrypted message is sent from the KDC to terminal 8. At this point the KDC is inished with its processing.
FIG. 23 shows the configuration of the KDC aEter the call to terminal A has been dropped~ The KDC has updated verification information Va" and updated terminal~
unique decrypt key information Dak' which will be used on a subsequent call between terminal A and the KDC.
1 ~
Referring back to the flow chart, FIC. 3, for terminal A, the key management equipment at the terminal has been in a wait state while the KDC has been functioning~ FIGo 12 shows the key information stored at the terminal during this wait state. It is -the updated verification Va" information and both decrypt keys Dka and ~ba corresponding to the previously generated encryption keysO
FIG~ 13 shows how the information received from the KDC is used in accordanc& with the box 38, FIG. 3. The call-setup decryption key Dka is used to decrypt the message received from the KDC. The five values (previously discussed) sent from the KDC are now used in the following way. The first piece of information is the new distrihution key Eak' that is stored in the semi-permanent register 71 and will be used on a following call made from this terminal to the KDC. It is the updated terminal-unique encryption key. The second piece of inormation is the partial session key Eab which was generated at B and sent through the KDC to terminal A. The third piece of information is the updated verification information Va", which can now be compared with the verification information stored at terminal A. The fourth and fifth pieces of information are the parameters to the Diffie~Hellman algorithm, the base Y and the modulus Q~ which terminal A
stores in temporary storage.
Referring to FIG~ 4, box 40, at this point the terminal will compare the verification information it received from the KDC and either the verification information which is presently stored or some known reduction of that verification information - FIG. 140 If this matches, then the process will continue as normal. If this does not match, an alarm could be given to the terminal controller processor of a potential intruder threat on a previous call.
Assuming a success of the compared verification, the terminal can now take down the channel to the KDC and 7~
establish a channel to terminal B, if not already establishedO At this point, terminal A and terminal B can communicate data securely using the asymmetric session keys Eab and Eba. If a symmetric session key is needed, the ollowing steps can be taken. The calculation of the message to be sent to terminal B is shown in FIG. 15.
First, the base Y and modulus Q of the Diffie-Hellman algorithm are used along with a random number Ra generated by the random number generator 72. These inputs are given to the Diffie~Hellman algorithm 75 and the output is then an input to the RSA function 73. The random number Ra is also stored in temporary storage. Eab is used as the key to the RSA function 73. At this point the session key information Eab received from terminal B and the base number Y may be destroyed. The output of the RSA algorithm is sent to terminal e.
Terminal A' key management equipment wil] now enter a wait state shown in FIGo 4, box 44, waiting for a message to be returned from terminal B. The idle state is depicted in FIG. 16 and in storage is the decrypt session key Dab which terminal A generated, the modulus Q of the Diffie-Hellman algorithm generated by the KDC and the random Ra number that was generated by terminal A.
As shown in FIG. 17, upon receipt of the message from terminal B, terminal A will decrypt the messaye using its decryption key Dba stored from the initial generation of the partial session key. Dba can now be destroyed. The output of this will be fed into the Diffie~Hellman algorithm as the base. The exponent will be the random number Ra which was priorly generated and the modulus Q is also input into the algorithmO The output of the Diffie-Hellman algorithm will be symmetric session key information which will equal the session key information that terminal B has calculated. Q and Ra can now be destroyed.
At this point, terminals A and B have established symmetric session key information between themselves that is not derivable by the KDC. This key information may be S8~
- 16 ~
wsed in a symmetric key algorithm like the Data Encryption Standard (DES) to encrypt data. What is stored now in the terminal until the next request for a secure session (or call), as shown in FIG. 18, is the updated verification information Va" and the terminal-unique key Eakl which it received from the KDC to be used to encrypt the next message to the KDC~
It should be noted that the actual generation of the desired data at the terminal and at the KDC is operative under control of a computer processor and is programmed in accordance with t:he flow charts shown in FIGS. 3-5 to perform the sequence of data transfers detailed herein. Such a processor, while not shown, can be any one of several well known microprocessors, such as for 1~ example, the Intel 8086 microprocessor, working in conjunction with the terminal and KDC apparatus shown and detailed herein above.
It should also be noted that one skilled in the art could use different encryption algorithms and different equipments to achieve the same results disclosed herein without departin~ from the spirit and scope of our invention.
(3~ given V and V' ~ f(V, E) it is difficult to determine E; and (4) in the case where E is an asymmetric encryption keyy D cannot be determined from E.
For this example, Va' = Val'lVa2' where Va = VallVa2, Val' is equal to Val encrypted with Eka, and Va2' is equal to Va2 encrypted with Eba. This update process is depicted in FIG. 9O The first half of the verification information Val is read Erom storage and provided as an input to the RSA
algorithm. The key that is used to encrypt this information is the call-setup key, Eka, that was just generated. This becomes Val' and overwrites Val as seen in FIG. 10. Next, the second half of the verification information Va2 is encrypted using Eba just generatedA The result Va2' overwrites Va2 in the storage register~ This is shown in FIG~ 3, box 34, and in summary, the updated verification information Va" is the verification information stored from the previous call, or given to the terminal on the initial setup from the ~DC, where ha]f is encrypted using the encryption part of the partial session key generated on this call and the other half is encrypted using the call-setup key for that call.
At this point, as shown in box 36, FIG. 3, and in FIG~ 11, the message can be formatted to the KDC9 The contents of this message are the encryption parts of the two keys that were just generated. Both the partial session key to be established between terminal A and B, Eba, and the new call-setup key Eka are encrypted using the terminal-unique encryption key Eak stored from the previous call from the KDC to the terminal or yiven to the terminal on the initial setup. At this point, the information that can be destroyed from the terminal is the terminal unique encryption key, Eak, stored at the terminal from the previous call, and both the call-setup encryption key~ Eka, and the partial session encryption key, Eba, that were generated by the terminalO The encrypted message is then appended to the addresst A, of the originating terminal followed by the address, B, of the called terminal. This message is now sent to the KDC.
The terminal now will enter a wait state waiting for the information to be received from the KDC. This is depicted in box 37 of FIG~ 3.
As shown in FIG. 5, the KDC will be in a wait state until a message is received from terminal A~ This is shown in FIG. 5, box 50. Once the message is received, the KDC reads the address information within the message into the address register which gives it the index of the decryption key that must be used to decrypt the message.
The KDC has in its storage from the previous call the matching verification information for each terminal and the terminal unique decryption key for each terminalO This is depicted in FIG. 20, boxes 214 and 216.
The message from terminal A i5 decrypted using the terminal-unique decryption key corresponding to that terminal, Dak. The keys, both the new call setup key Eka and the partial session key Eba ~to be distributed to terminal B) is temporarily stored in the KDC memory as depicted in FIG. 21.
At this point, as shown in FIG. 22, the KDC can update its verification information in the exact same manner as the terminalO This is done by encrypting each half of the stored verification information Va with the received session key inEormation Eba and the received call-setup key information Eka, shown in FIG. 23. This produces the upda~e verification information Va".
The key distribution center, as shown in FIG. 24, will now generate a bidirectional asymmetric encryption/decryption key pair, Eak', Dak'. The primes denote updated informationO Eak' will be distributed to terminal A to be used on the next call setup to the key distribution center. The decryption key Dak' overwrites the decryption key Dak that was stored from the previous call.
Two other pieces of information are also generated at this time. These are the parameters that will be used by the terminals to create symmetric session keys;
in this case they are the parameters of the Diffie-Hellman algorithm. One is the base Y and the other is the modulus Q as previously described. Functionally, the amount of infor~nation that is generated at the KDC and sent to each terminal may vary depending upon the precise algorithmO This information is stored in temporary storage and will be used as part of the message sent back to both terminal A and terminal B. This generation process is depicted in FIG. 25 and reEers to the Elow chart box 55, FIG. 5. By this point, as shown in FIG~ 26, the KDC ~ust have received a message from terminal B in order to complete the call to terminal A. If not t the KDC process for terminal A must wait until the process for terminal B
has reached this point. This is so it can give terminal the partial session key information Eab generated at terminal B and also to be able to give terminal B the partial session key Eba generated at terminal A.
Coordination between the processes must take place so that the same parameters generated by one process overwrites the parameters generated by the other process. This insures that the parameters sent to the terminals for the purpose of generating symme~ric session keys are the same.
Once the internal exchange is made between the A
registers and the B registers to coordinate the information inside the key distribution center, the messages can now be formatted for ths terminals7 This is shown in FIG. 27 The message to terminal A will consist of the new terminal unique key information Eak' that will be used on a subsequent call to the KDC. It will also consist of the partial session key information Eab which it received from terminal B. It will also consist of the verification information Va" or a known reduction of Va" in terms of the numbar of bits. It will also consist of the base Y and the modulus Q of ~he Diffie~Hellman algorithm. These five pieces of information will be encrypted using the call setup key Eka received in the message from terminal A. The KDC destroys Eka, Eba, Eak', Y, and Q corresponding to terminal A and destroys Ekb, Eab, ~bk', Y, and Q
corresponding to terminal B. The KDC will then send this output message back to terminal A. An analogous encrypted message is sent from the KDC to terminal 8. At this point the KDC is inished with its processing.
FIG. 23 shows the configuration of the KDC aEter the call to terminal A has been dropped~ The KDC has updated verification information Va" and updated terminal~
unique decrypt key information Dak' which will be used on a subsequent call between terminal A and the KDC.
1 ~
Referring back to the flow chart, FIC. 3, for terminal A, the key management equipment at the terminal has been in a wait state while the KDC has been functioning~ FIGo 12 shows the key information stored at the terminal during this wait state. It is -the updated verification Va" information and both decrypt keys Dka and ~ba corresponding to the previously generated encryption keysO
FIG~ 13 shows how the information received from the KDC is used in accordanc& with the box 38, FIG. 3. The call-setup decryption key Dka is used to decrypt the message received from the KDC. The five values (previously discussed) sent from the KDC are now used in the following way. The first piece of information is the new distrihution key Eak' that is stored in the semi-permanent register 71 and will be used on a following call made from this terminal to the KDC. It is the updated terminal-unique encryption key. The second piece of inormation is the partial session key Eab which was generated at B and sent through the KDC to terminal A. The third piece of information is the updated verification information Va", which can now be compared with the verification information stored at terminal A. The fourth and fifth pieces of information are the parameters to the Diffie~Hellman algorithm, the base Y and the modulus Q~ which terminal A
stores in temporary storage.
Referring to FIG~ 4, box 40, at this point the terminal will compare the verification information it received from the KDC and either the verification information which is presently stored or some known reduction of that verification information - FIG. 140 If this matches, then the process will continue as normal. If this does not match, an alarm could be given to the terminal controller processor of a potential intruder threat on a previous call.
Assuming a success of the compared verification, the terminal can now take down the channel to the KDC and 7~
establish a channel to terminal B, if not already establishedO At this point, terminal A and terminal B can communicate data securely using the asymmetric session keys Eab and Eba. If a symmetric session key is needed, the ollowing steps can be taken. The calculation of the message to be sent to terminal B is shown in FIG. 15.
First, the base Y and modulus Q of the Diffie-Hellman algorithm are used along with a random number Ra generated by the random number generator 72. These inputs are given to the Diffie~Hellman algorithm 75 and the output is then an input to the RSA function 73. The random number Ra is also stored in temporary storage. Eab is used as the key to the RSA function 73. At this point the session key information Eab received from terminal B and the base number Y may be destroyed. The output of the RSA algorithm is sent to terminal e.
Terminal A' key management equipment wil] now enter a wait state shown in FIGo 4, box 44, waiting for a message to be returned from terminal B. The idle state is depicted in FIG. 16 and in storage is the decrypt session key Dab which terminal A generated, the modulus Q of the Diffie-Hellman algorithm generated by the KDC and the random Ra number that was generated by terminal A.
As shown in FIG. 17, upon receipt of the message from terminal B, terminal A will decrypt the messaye using its decryption key Dba stored from the initial generation of the partial session key. Dba can now be destroyed. The output of this will be fed into the Diffie~Hellman algorithm as the base. The exponent will be the random number Ra which was priorly generated and the modulus Q is also input into the algorithmO The output of the Diffie-Hellman algorithm will be symmetric session key information which will equal the session key information that terminal B has calculated. Q and Ra can now be destroyed.
At this point, terminals A and B have established symmetric session key information between themselves that is not derivable by the KDC. This key information may be S8~
- 16 ~
wsed in a symmetric key algorithm like the Data Encryption Standard (DES) to encrypt data. What is stored now in the terminal until the next request for a secure session (or call), as shown in FIG. 18, is the updated verification information Va" and the terminal-unique key Eakl which it received from the KDC to be used to encrypt the next message to the KDC~
It should be noted that the actual generation of the desired data at the terminal and at the KDC is operative under control of a computer processor and is programmed in accordance with t:he flow charts shown in FIGS. 3-5 to perform the sequence of data transfers detailed herein. Such a processor, while not shown, can be any one of several well known microprocessors, such as for 1~ example, the Intel 8086 microprocessor, working in conjunction with the terminal and KDC apparatus shown and detailed herein above.
It should also be noted that one skilled in the art could use different encryption algorithms and different equipments to achieve the same results disclosed herein without departin~ from the spirit and scope of our invention.
Claims (18)
1. A key distribution method for communicating cipher keys between two terminals via a key distribution center, KDC, said method comprising establishing between any one terminal and said key distribution center a terminal-unique cipher key, cooperating between said KDC and said one terminal on a subsequent connection between said KDC and said one terminal to establish a session key for use by said one terminal in a subsequent secure transmission between said one terminal and a second terminal, and changing in response to said subsequent connection between said one terminal and said KDC said priorly established terminal-unique cipher key.
2. The invention set forth in claim 1 wherein said session key is generated from the asymmetric exchange of information between said one terminal and said KDC plus the subsequent exchange of information between said first and second terminals.
3. The invention set forth in claim 2 wherein said session key at said one terminal is random with respect to information at said KDC.
4. The invention set forth in claim 2 wherein said session key at said one terminal is underivable with respect to any information at said KDC.
5. A key distribution center for controlling the dissemination of session cipher keys between remotely located terminals, said center arranged for switched access to a plurality of said terminals, said center comprising means for establishing communication cipher keys between said center and each said terminal having access thereto, each cipher key unique to each said terminal, means operative when one of said terminals accesses said center for bidirectional asymmetrically exchanging information with said accessed terminal using, as a foundation for said exchange, said priorly established communication cipher keys, and means responsive to said exchanged information for communicating to said terminal information allowing said terminal to establish a session cipher key for use with an identified other terminal also having access to said center.
6. The invention set forth in claim 5 wherein said key distribution center further comprising means for changing said established communication cipher keys as a result of said exchanged information.
7. The invention set forth in claim 5 wherein said cipher key establishing means uses information from a prior transmission from a particular terminal for establishing said cipher keys to said particular terminal.
8. The invention set forth in claim 5 wherein said exchanged information includes information generated in part at said center for the random generation of said session key allowing said session key to be underivable with respect to any information at said center.
9. A key distribution center for controlling the distribution of cipher control information among a number of terminals, said center comprising means for individually exchanging encoded information between any of said terminals, said exchange for any particular terminal based partially upon a last information exchange between said particular terminal and said center, means for identifying at least two terminals where encrypted session information is to be exchanged and for accepting from said identified terminals certain encryption control information, and means for modifying, according to a pre-established pattern, accepted information from said identified terminals and for communicating said modified information to the other of said terminals so as to allow each of said terminals to thereafter establish, independent of any information available at said center, a cipher key allowing said session information to be encrypted.
10. An encryption terminal operable for communicating with other said terminals for the exchange of encrypted information, said encryption occurring under control of a session encryption key, said terminal including means for establishing between said terminal and a key distribution center a unique cipher key for exchanging information between said terminal and said center, means for storing information pertaining to established exchanged cipher keys with said center, means for comparing said stored information against information received from said center during an information exchange for verifying that the information on the last exchange to said center was not modified, and session means for enabling a secure transmission with a selected other terminal, said session means controlled in part by said accepted exchanged information.
11. The invention set forth in claim 10 wherein said terminal also includes means for modifying said unique cipher key after each said information exchange with said center.
12. The invention set forth in claim 10 wherein said exchanged cipher keys are based, in part, on a bidirectional asymmetric information exchange with said center.
13. The invention set forth in claim 10 wherein said session means includes the establishment of symmetric session keys with said selected other terminal, said session keys derived by information from said center, said terminal and said other terminal.
14. An encryption terminal operable for communicating with other said terminals for the exchange of encrypted information, said encryption occurring under control of a session encryption key, said terminal including means for establishing between said terminal and a key distribution center a unique cipher key for exchanging information between said terminal and said center, means for storing information pertaining to established exchanged cipher keys with said center, means for exchanging information with said center, said information exchange enabled by said stored cipher key information, session means for enabling a secure transmission with a selected other terminal, said session means controlled in part by said information exchange, and means for modifying said unique cipher key after each said information exchange with said center.
15. The invention set forth in claim 14 wherein said exchanged cipher keys are based, in part, on a bidirectional asymmetric information exhange with said center.
16. The invention as set forth in claim 14 wherein session means includes the establishment of symmetric session keys with said selected other terminal, said session keys derived by information from said center, said terminal and said other terminal.
17. A cipher key distribution method for controlling the dissemination of session cipher keys between remotely located terminals and a key distribution center, said center arranged for switched access to a plurality of said terminals, said method comprising establishing pairs of communication cipher keys between said center and each said terminal having access thereto, each said pair being unique to each said terminal, exchanging, when one of said terminals accesses said center, information with said accessed terminal using, as a foundation for said exchange, said priorly established communication cipher key, communicating to said terminal, in response to said exchanged information, other information allowing said terminal to establish a session cipher key for use with an identified other terminal also having access to said center, said information exchanged between said center and said terminal includes receiving from said center the base Y and modulus Q of a Diffie-Hellman algorithm.
18. The invention set forth in claim 14 further including the step of modifying said communication cipher keys during each said information exchange.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US386,805 | 1982-06-09 | ||
US06/386,805 US4578531A (en) | 1982-06-09 | 1982-06-09 | Encryption system key distribution method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1197588A true CA1197588A (en) | 1985-12-03 |
Family
ID=23527123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000429915A Expired CA1197588A (en) | 1982-06-09 | 1983-06-08 | Encryption system key distribution method and apparatus |
Country Status (8)
Country | Link |
---|---|
US (1) | US4578531A (en) |
EP (1) | EP0111489B1 (en) |
JP (1) | JPS59501037A (en) |
AU (1) | AU546156B2 (en) |
CA (1) | CA1197588A (en) |
DE (1) | DE3366798D1 (en) |
IT (1) | IT1196687B (en) |
WO (1) | WO1983004461A1 (en) |
Families Citing this family (137)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4776011A (en) * | 1983-10-24 | 1988-10-04 | Sony Corporation | Recursive key schedule cryptographic system |
DE3439120A1 (en) * | 1984-10-25 | 1986-05-07 | Philips Kommunikations Industrie AG, 8500 Nürnberg | Method for identifying a subscriber station of a telecommunications network |
US4672533A (en) * | 1984-12-19 | 1987-06-09 | Noble Richard G | Electronic linkage interface control security system and method |
US4972472A (en) * | 1985-03-15 | 1990-11-20 | Tandem Computers Incorporated | Method and apparatus for changing the master key in a cryptographic system |
NL8501211A (en) * | 1985-04-29 | 1986-11-17 | Philips Nv | KEY STORAGE AND DISTRIBUTION SYSTEM FOR CRYPTOGRAPHICALLY SECURE COMMUNICATION. |
US4731840A (en) * | 1985-05-06 | 1988-03-15 | The United States Of America As Represented By The United States Department Of Energy | Method for encryption and transmission of digital keying data |
DE3682432D1 (en) * | 1985-05-28 | 1991-12-19 | Siemens Ag | METHOD AND CIRCUIT FOR CHECKING THE AUTHORIZATION OF ACCESS TO A SIGNAL PROCESSING SYSTEM. |
US4885777A (en) * | 1985-09-04 | 1989-12-05 | Hitachi, Ltd. | Electronic transaction system |
GB2191661B (en) * | 1985-12-11 | 1989-03-30 | Plessey Co Plc | Method of secured communications in a telecommunications system |
US4790012A (en) * | 1985-12-20 | 1988-12-06 | General Electric Co. | Encryption-decryption system |
US4731841A (en) * | 1986-06-16 | 1988-03-15 | Applied Information Technologies Research Center | Field initialized authentication system for protective security of electronic information networks |
US4771461A (en) * | 1986-06-27 | 1988-09-13 | International Business Machines Corporation | Initialization of cryptographic variables in an EFT/POS network with a large number of terminals |
GB8704920D0 (en) * | 1987-03-03 | 1987-04-08 | Hewlett Packard Co | Secure messaging system |
US4829589A (en) * | 1987-06-02 | 1989-05-09 | Kabushiki Kaisha Toshiba | Anti-tapping system |
US4881263A (en) * | 1987-09-25 | 1989-11-14 | Digital Equipment Corporation | Apparatus and method for secure transmission of data over an unsecure transmission channel |
US4924513A (en) * | 1987-09-25 | 1990-05-08 | Digital Equipment Corporation | Apparatus and method for secure transmission of data over an unsecure transmission channel |
US4888801A (en) * | 1988-05-02 | 1989-12-19 | Motorola, Inc. | Hierarchical key management system |
US4935961A (en) * | 1988-07-27 | 1990-06-19 | Gargiulo Joseph L | Method and apparatus for the generation and synchronization of cryptographic keys |
US5048087A (en) * | 1989-02-03 | 1991-09-10 | Racal Data Communications Inc. | Key management for encrypted packet based networks |
US4965804A (en) * | 1989-02-03 | 1990-10-23 | Racal Data Communications Inc. | Key management for encrypted packet based networks |
US5081678A (en) * | 1989-06-28 | 1992-01-14 | Digital Equipment Corporation | Method for utilizing an encrypted key as a key identifier in a data packet in a computer network |
US5404403A (en) * | 1990-09-17 | 1995-04-04 | Motorola, Inc. | Key management in encryption systems |
US5146497A (en) * | 1991-02-27 | 1992-09-08 | Motorola, Inc. | Group rekey in a communication system |
US5150408A (en) * | 1991-02-27 | 1992-09-22 | Motorola, Inc. | Key distribution communication system |
US5164986A (en) * | 1991-02-27 | 1992-11-17 | Motorola, Inc. | Formation of rekey messages in a communication system |
US5185795A (en) * | 1991-02-27 | 1993-02-09 | Motorola, Inc. | Authentication of rekey messages in a communication system |
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
DE4142964C2 (en) * | 1991-12-24 | 2003-05-08 | Gao Ges Automation Org | Data exchange system with verification of the device for authentication status |
US5272752A (en) * | 1992-03-16 | 1993-12-21 | Scientific-Atlanta, Inc. | Authorization code lockout mechanism for preventing unauthorized reception of transmitted data |
US5237611A (en) * | 1992-07-23 | 1993-08-17 | Crest Industries, Inc. | Encryption/decryption apparatus with non-accessible table of keys |
US7401286B1 (en) * | 1993-12-02 | 2008-07-15 | Discovery Communications, Inc. | Electronic book electronic links |
US7849393B1 (en) | 1992-12-09 | 2010-12-07 | Discovery Communications, Inc. | Electronic book connection to world watch live |
US8073695B1 (en) | 1992-12-09 | 2011-12-06 | Adrea, LLC | Electronic book with voice emulation features |
US5990927A (en) | 1992-12-09 | 1999-11-23 | Discovery Communications, Inc. | Advanced set top terminal for cable television delivery systems |
US7336788B1 (en) | 1992-12-09 | 2008-02-26 | Discovery Communicatoins Inc. | Electronic book secure communication with home subsystem |
US7298851B1 (en) * | 1992-12-09 | 2007-11-20 | Discovery Communications, Inc. | Electronic book security and copyright protection system |
US7835989B1 (en) * | 1992-12-09 | 2010-11-16 | Discovery Communications, Inc. | Electronic book alternative delivery systems |
US7509270B1 (en) * | 1992-12-09 | 2009-03-24 | Discovery Communications, Inc. | Electronic Book having electronic commerce features |
US5335281A (en) * | 1992-12-15 | 1994-08-02 | Motorola, Inc. | Network controller and method |
US5341426A (en) * | 1992-12-15 | 1994-08-23 | Motorola, Inc. | Cryptographic key management apparatus and method |
DE4496863T1 (en) * | 1993-09-14 | 1996-12-05 | Chantilley Corp Ltd | Device for key distribution in an encryption system |
US7865567B1 (en) | 1993-12-02 | 2011-01-04 | Discovery Patent Holdings, Llc | Virtual on-demand electronic book |
US5455862A (en) * | 1993-12-02 | 1995-10-03 | Crest Industries, Inc. | Apparatus and method for encrypting communications without exchanging an encryption key |
US8095949B1 (en) | 1993-12-02 | 2012-01-10 | Adrea, LLC | Electronic book with restricted access features |
US9053640B1 (en) | 1993-12-02 | 2015-06-09 | Adrea, LLC | Interactive electronic book |
US7861166B1 (en) | 1993-12-02 | 2010-12-28 | Discovery Patent Holding, Llc | Resizing document pages to fit available hardware screens |
US5465300A (en) * | 1993-12-27 | 1995-11-07 | Motorola, Inc. | Secure communication setup method |
US6058478A (en) * | 1994-09-30 | 2000-05-02 | Intel Corporation | Apparatus and method for a vetted field upgrade |
TW250616B (en) * | 1994-11-07 | 1995-07-01 | Discovery Communicat Inc | Electronic book selection and delivery system |
JPH08263438A (en) | 1994-11-23 | 1996-10-11 | Xerox Corp | Distribution and use control system of digital work and access control method to digital work |
US6963859B2 (en) | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
US5625692A (en) * | 1995-01-23 | 1997-04-29 | International Business Machines Corporation | Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing |
US5680456A (en) * | 1995-03-31 | 1997-10-21 | Pitney Bowes Inc. | Method of manufacturing generic meters in a key management system |
US5661803A (en) * | 1995-03-31 | 1997-08-26 | Pitney Bowes Inc. | Method of token verification in a key management system |
US5742682A (en) * | 1995-03-31 | 1998-04-21 | Pitney Bowes Inc. | Method of manufacturing secure boxes in a key management system |
US5812666A (en) * | 1995-03-31 | 1998-09-22 | Pitney Bowes Inc. | Cryptographic key management and validation system |
US5615266A (en) * | 1995-07-13 | 1997-03-25 | Motorola, Inc | Secure communication setup method |
US5812669A (en) * | 1995-07-19 | 1998-09-22 | Jenkins; Lew | Method and system for providing secure EDI over an open network |
US5754646A (en) * | 1995-07-19 | 1998-05-19 | Cable Television Laboratories, Inc. | Method for protecting publicly distributed software |
US5761306A (en) | 1996-02-22 | 1998-06-02 | Visa International Service Association | Key replacement in a public key cryptosystem |
US5835595A (en) * | 1996-09-04 | 1998-11-10 | At&T Corp | Method and apparatus for crytographically protecting data |
US6181803B1 (en) | 1996-09-30 | 2001-01-30 | Intel Corporation | Apparatus and method for securely processing biometric information to control access to a node |
US6578146B2 (en) | 1996-11-19 | 2003-06-10 | R. Brent Johnson | System, method and article of manufacture to remotely configure and utilize an emulated device controller via an encrypted validation communication protocol |
US6499108B1 (en) | 1996-11-19 | 2002-12-24 | R. Brent Johnson | Secure electronic mail system |
US5970149A (en) * | 1996-11-19 | 1999-10-19 | Johnson; R. Brent | Combined remote access and security system |
US5818939A (en) * | 1996-12-18 | 1998-10-06 | Intel Corporation | Optimized security functionality in an electronic system |
US5875296A (en) * | 1997-01-28 | 1999-02-23 | International Business Machines Corporation | Distributed file system web server user authentication with cookies |
US6233684B1 (en) | 1997-02-28 | 2001-05-15 | Contenaguard Holdings, Inc. | System for controlling the distribution and use of rendered digital works through watermaking |
US6151678A (en) * | 1997-09-09 | 2000-11-21 | Intel Corporation | Anti-theft mechanism for mobile computers |
US5974143A (en) * | 1997-09-30 | 1999-10-26 | Intel Corporation | Virus-resistent mechanism for transaction verification to confirming user |
US6275855B1 (en) | 1997-11-02 | 2001-08-14 | R. Brent Johnson | System, method and article of manufacture to enhance computerized alert system information awareness and facilitate real-time intervention services |
US6738907B1 (en) | 1998-01-20 | 2004-05-18 | Novell, Inc. | Maintaining a soft-token private key store in a distributed environment |
JPH11275068A (en) * | 1998-03-20 | 1999-10-08 | Fujitsu Ltd | Key management server, terminal equipment for chat system, chat system and recording medium |
DE19816344C2 (en) * | 1998-04-01 | 2000-08-10 | Francotyp Postalia Gmbh | Procedure for secure key distribution |
AU761317B2 (en) | 1999-01-29 | 2003-06-05 | General Instrument Corporation | Self-generation of certificates using a secure microprocessor in a device for transferring digital information |
US6571335B1 (en) | 1999-04-01 | 2003-05-27 | Intel Corporation | System and method for authentication of off-chip processor firmware code |
US6587947B1 (en) | 1999-04-01 | 2003-07-01 | Intel Corporation | System and method for verification of off-chip processor code |
US6684331B1 (en) | 1999-12-22 | 2004-01-27 | Cisco Technology, Inc. | Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure |
US7103185B1 (en) | 1999-12-22 | 2006-09-05 | Cisco Technology, Inc. | Method and apparatus for distributing and updating private keys of multicast group managers using directory replication |
US7434046B1 (en) | 1999-09-10 | 2008-10-07 | Cisco Technology, Inc. | Method and apparatus providing secure multicast group communication |
US7013389B1 (en) | 1999-09-29 | 2006-03-14 | Cisco Technology, Inc. | Method and apparatus for creating a secure communication channel among multiple event service nodes |
US7260716B1 (en) | 1999-09-29 | 2007-08-21 | Cisco Technology, Inc. | Method for overcoming the single point of failure of the central group controller in a binary tree group key exchange approach |
US6987855B1 (en) * | 1999-09-10 | 2006-01-17 | Cisco Technology, Inc. | Operational optimization of a shared secret Diffie-Hellman key exchange among broadcast or multicast groups |
US7181014B1 (en) | 1999-09-10 | 2007-02-20 | Cisco Technology, Inc. | Processing method for key exchange among broadcast or multicast groups that provides a more efficient substitute for Diffie-Hellman key exchange |
US7089211B1 (en) * | 2000-01-12 | 2006-08-08 | Cisco Technology, Inc. | Directory enabled secure multicast group communications |
US20020003776A1 (en) * | 2000-04-28 | 2002-01-10 | Gokhale Dilip S. | Interworking unit for integrating terrestrial ATM switches with broadband satellite networks |
US6941457B1 (en) | 2000-06-30 | 2005-09-06 | Cisco Technology, Inc. | Establishing a new shared secret key over a broadcast channel for a multicast group based on an old shared secret key |
AU7182701A (en) | 2000-07-06 | 2002-01-21 | David Paul Felsher | Information record infrastructure, system and method |
US7743259B2 (en) | 2000-08-28 | 2010-06-22 | Contentguard Holdings, Inc. | System and method for digital rights management using a standard rendering engine |
US7269735B2 (en) | 2000-08-28 | 2007-09-11 | Contentgaurd Holdings, Inc. | Instance specific digital watermarks |
US7343324B2 (en) | 2000-11-03 | 2008-03-11 | Contentguard Holdings Inc. | Method, system, and computer readable medium for automatically publishing content |
US6912294B2 (en) | 2000-12-29 | 2005-06-28 | Contentguard Holdings, Inc. | Multi-stage watermarking process and system |
US8069116B2 (en) | 2001-01-17 | 2011-11-29 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights associated with an item repository |
US7028009B2 (en) | 2001-01-17 | 2006-04-11 | Contentguardiholdings, Inc. | Method and apparatus for distributing enforceable property rights |
US7774279B2 (en) | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
US7181017B1 (en) | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
US6876984B2 (en) | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US7725401B2 (en) | 2001-05-31 | 2010-05-25 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US6895503B2 (en) | 2001-05-31 | 2005-05-17 | Contentguard Holdings, Inc. | Method and apparatus for hierarchical assignment of rights to documents and documents having such rights |
US8001053B2 (en) | 2001-05-31 | 2011-08-16 | Contentguard Holdings, Inc. | System and method for rights offering and granting using shared state variables |
US8099364B2 (en) | 2001-05-31 | 2012-01-17 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US8275716B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Method and system for subscription digital rights management |
US8275709B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US7774280B2 (en) | 2001-06-07 | 2010-08-10 | Contentguard Holdings, Inc. | System and method for managing transfer of rights using shared state variables |
CN1539117A (en) | 2001-06-07 | 2004-10-20 | ��̹�е¿عɹɷ�����˾ | Method and apparatus for supporting multiple trust zones in digital rights management system |
US7293179B2 (en) * | 2001-08-01 | 2007-11-06 | Johnson R Brent | System and method for virtual tape management with remote archival and retrieval via an encrypted validation communication protocol |
US7974923B2 (en) | 2001-11-20 | 2011-07-05 | Contentguard Holdings, Inc. | Extensible rights expression processing system |
WO2003044716A2 (en) | 2001-11-20 | 2003-05-30 | Contentguard Holdings, Inc. | An extensible rights expression processing system |
US7840488B2 (en) | 2001-11-20 | 2010-11-23 | Contentguard Holdings, Inc. | System and method for granting access to an item or permission to use an item based on configurable conditions |
US7334125B1 (en) | 2001-11-27 | 2008-02-19 | Cisco Technology, Inc. | Facilitating secure communications among multicast nodes in a telecommunications network |
US7805371B2 (en) | 2002-03-14 | 2010-09-28 | Contentguard Holdings, Inc. | Rights expression profile system and method |
AU2003225804A1 (en) | 2002-03-14 | 2003-09-29 | Contentguard Holdings, Inc. | System and method for expressing usage rights using modulated signals |
CN1666207A (en) | 2002-04-29 | 2005-09-07 | 康坦夹德控股股份有限公司 | Rights management system using legality expression language |
US7062048B2 (en) | 2003-01-27 | 2006-06-13 | Wegener Communications, Inc. | Apparatus and method for single encryption with multiple authorization of distributed content data |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
KR100520116B1 (en) * | 2003-05-16 | 2005-10-10 | 삼성전자주식회사 | A method for discributing the key to mutual nodes to code a key on mobile ad-hoc network and network device using thereof |
FR2855400B1 (en) * | 2003-05-30 | 2006-03-17 | R & D Pharma | RECTAL DEVICE, IN PARTICULAR FOR THE TREATMENT OF HEMORRHOIDS |
US7206411B2 (en) | 2003-06-25 | 2007-04-17 | Wegener Communications, Inc. | Rapid decryption of data by key synchronization and indexing |
US7685642B2 (en) | 2003-06-26 | 2010-03-23 | Contentguard Holdings, Inc. | System and method for controlling rights expressions by stakeholders of an item |
CA2438357A1 (en) * | 2003-08-26 | 2005-02-26 | Ibm Canada Limited - Ibm Canada Limitee | System and method for secure remote access |
KR100677152B1 (en) * | 2004-11-17 | 2007-02-02 | 삼성전자주식회사 | Method for transmitting content in home network using user-binding |
US8660961B2 (en) | 2004-11-18 | 2014-02-25 | Contentguard Holdings, Inc. | Method, system, and device for license-centric content consumption |
US7627125B2 (en) * | 2005-06-23 | 2009-12-01 | Efunds Corporation | Key loading systems and methods |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US7720767B2 (en) | 2005-10-24 | 2010-05-18 | Contentguard Holdings, Inc. | Method and system to support dynamic rights and resources sharing |
WO2010004584A2 (en) * | 2008-07-09 | 2010-01-14 | Asis Datta | Process for production of anti-diabetic compound in root culture of catharanthus roseus |
DE102011116489A1 (en) * | 2011-10-20 | 2013-04-25 | Giesecke & Devrient Gmbh | A mobile terminal, transaction terminal and method for performing a transaction at a transaction terminal by means of a mobile terminal |
WO2013152383A1 (en) * | 2012-04-13 | 2013-10-17 | Department Of Industry, Innovation, Science, Research And Tertiary Education | System and method for facilitating secure communication of data over a communications network |
ES2707533T3 (en) | 2014-03-16 | 2019-04-03 | Haventec Pty Ltd | Persistent authentication system that incorporates one-time access codes |
SE538279C2 (en) | 2014-09-23 | 2016-04-19 | Kelisec Ab | Secure node-to-multinode communication |
JP6341047B2 (en) * | 2014-10-03 | 2018-06-13 | ティアック株式会社 | Audio equipment |
SE542460C2 (en) | 2014-10-09 | 2020-05-12 | Kelisec Ab | Improved security through authenticaton tokens |
SE539271C2 (en) | 2014-10-09 | 2017-06-07 | Kelisec Ab | Mutual authentication |
SE538304C2 (en) | 2014-10-09 | 2016-05-03 | Kelisec Ab | Improved installation of a terminal in a secure system |
SE539602C2 (en) | 2014-10-09 | 2017-10-17 | Kelisec Ab | Generating a symmetric encryption key |
SE540133C2 (en) | 2014-10-09 | 2018-04-10 | Kelisec Ab | Improved system for establishing a secure communication channel |
US11210654B2 (en) * | 2018-10-23 | 2021-12-28 | Capital One Services, Llc | Systems and methods for multicomputer data transferring to activate contactless communication |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4182933A (en) * | 1969-02-14 | 1980-01-08 | The United States Of America As Represented By The Secretary Of The Army | Secure communication system with remote key setting |
US4200770A (en) * | 1977-09-06 | 1980-04-29 | Stanford University | Cryptographic apparatus and method |
US4203166A (en) * | 1977-12-05 | 1980-05-13 | International Business Machines Corporation | Cryptographic file security for multiple domain networks |
US4238853A (en) * | 1977-12-05 | 1980-12-09 | International Business Machines Corporation | Cryptographic communication security for single domain networks |
US4218738A (en) * | 1978-05-05 | 1980-08-19 | International Business Machines Corporation | Method for authenticating the identity of a user of an information system |
US4418275A (en) * | 1979-12-07 | 1983-11-29 | Ncr Corporation | Data hashing method and apparatus |
US4386233A (en) * | 1980-09-29 | 1983-05-31 | Smid Miles E | Crytographic key notarization methods and apparatus |
DE3036804A1 (en) * | 1980-09-30 | 1982-05-13 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | SECURITY SYSTEM TO PREVENT UNAUTHORIZED MANIPULATIONS IN ELECTRONIC TEXT TRANSFER IN NEWS NETWORKS |
US4417338A (en) * | 1981-04-13 | 1983-11-22 | Wisconsin Alumni Research Foundation | Cryptographic key sharing circuit and method using code correction |
-
1982
- 1982-06-09 US US06/386,805 patent/US4578531A/en not_active Expired - Lifetime
-
1983
- 1983-01-11 WO PCT/US1983/000030 patent/WO1983004461A1/en active IP Right Grant
- 1983-01-11 JP JP58500495A patent/JPS59501037A/en active Granted
- 1983-01-11 EP EP83900456A patent/EP0111489B1/en not_active Expired
- 1983-01-11 AU AU11094/83A patent/AU546156B2/en not_active Ceased
- 1983-01-11 DE DE8383900456T patent/DE3366798D1/en not_active Expired
- 1983-06-08 CA CA000429915A patent/CA1197588A/en not_active Expired
-
1984
- 1984-03-02 IT IT67201/84A patent/IT1196687B/en active
Also Published As
Publication number | Publication date |
---|---|
EP0111489B1 (en) | 1986-10-08 |
US4578531A (en) | 1986-03-25 |
EP0111489A1 (en) | 1984-06-27 |
IT8467201A1 (en) | 1985-09-02 |
WO1983004461A1 (en) | 1983-12-22 |
IT8467201A0 (en) | 1984-03-02 |
JPS59501037A (en) | 1984-06-07 |
IT1196687B (en) | 1988-11-25 |
AU1109483A (en) | 1983-12-30 |
JPH0448009B2 (en) | 1992-08-05 |
AU546156B2 (en) | 1985-08-15 |
DE3366798D1 (en) | 1986-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1197588A (en) | Encryption system key distribution method and apparatus | |
US5517567A (en) | Key distribution system | |
US5202921A (en) | Method and apparatus for authenticating users of a communication system to each other | |
EP0695056B1 (en) | A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method | |
US4850017A (en) | Controlled use of cryptographic keys via generating station established control values | |
US5870475A (en) | Facilitating secure communications in a distribution network | |
CA2579259C (en) | Key agreement and transport protocol with implicit signatures | |
US6487661B2 (en) | Key agreement and transport protocol | |
EP0660565B1 (en) | A method and network for communicating between a group of entities a text encrypted using an encryption key intrinsic to the group of entities in a network having a plurality of entities and a center | |
CN101464932B (en) | Cooperation method and system for hardware security units, and its application apparatus | |
CN101515319B (en) | Cipher key processing method, cipher key cryptography service system and cipher key consultation method | |
CA2371137A1 (en) | Secure distribution and protection of encryption key information | |
CN101465732B (en) | Method and terminal for ensuring digital certificate safety | |
JPH08234658A (en) | Method for generation of encoding key | |
JPH0669915A (en) | Apparatus and method for control of code key | |
US20210105136A1 (en) | Method for securing a data exchange in a distributed infrastructure | |
JP2862141B2 (en) | Identification number-based key management device using conventional encryption | |
CN1783777B (en) | Enciphering method and system for fixing communication safety and data and fixing terminal weight discriminating method | |
CA1255769A (en) | Secured message transfer system and method using updated session code | |
US7970135B1 (en) | Method for the secure, distributed generation of an encryption key | |
WO1998027517A1 (en) | A method and a system for the encryption of codes | |
JPH0522283A (en) | Privacy communication system | |
JPH09130376A (en) | User password authentication method | |
JP2003309544A (en) | Cipher key delivery apparatus | |
JPS6346028A (en) | Cryptographic key distribution system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEC | Expiry (correction) | ||
MKEX | Expiry |