USRE36946EExpiredUtility

Method and apparatus for privacy and authentication in wireless networks

Assignee: SUN MICROSYSTEMS INCPriority: Nov 2, 1993Filed: Dec 5, 1996Granted: Nov 7, 2000
Est. expiryNov 2, 2013(expired)· nominal 20-yr term from priority
H04W 12/50H04L 9/0844H04L 2209/80H04L 63/205H04L 63/0823H04L 9/0891H04W 12/06H04L 9/3268
91
PatentIndex Score
174
Cited by
43
References
33
Claims

Abstract

A method and apparatus is disclosed for providing a secure wireless communication link between a mobile nomadic device and a base computing unit. A mobile sends a host certificate (Cert -- Mobile) to the base along with a randomly chosen challenge value (CH1) and a list of supported shared key algorithms ("SKCS"). The base determines if the Cert -- Mobile is valid. If the Cert -- Mobile is not valid, then the base unit rejects the connection attempt. The base then sends a Cert -- Base, random number (RN1) encrypted in mobile's public key and an identifier for the chosen SKCS to the mobile. The base saves the RN1 value and adds the CH1 value and the chosen SKCS to messages sent to the base. The mobile unit then validates the Cert -- Base, and if the certificate is valid, the mobile verifies under the public key of the base (Pub -- Base) the signature on the message. The signature is verified by taking the base message and appending it to CH1 and the list of shared key algorithms that the mobile provided in the first message. If the base signature is not valid, then the communication attempt is aborted. In the event that the base signature is valid, the mobile determines the value of RN1 by decrypting Pub -- Mobile, RN1 under the private key of the mobile. The mobile then generates RN2 and the session key, and encrypts RN2 under the Pub -- Base. The mobile sends the encrypted RN2 and E(Pub -- Mobile, RN1) to the base. The base then verifies the mobile signature using the Pub -- Mobile obtained from the Cert -- Mobile. If the mobile signature is verified, the base decrypts E(Pub -- Base, RN2) using its private key. The base then determines the session key. The mobile and base may then enter a data transfer phase using encrypted data which is decrypted using the session key which is RN1 ⊕RN2.

Claims

exact text as granted — not AI-modified
We claim: 
     
       1. An improved method for providing secure communications between. a first data processing device and a second data processing device, comprising the steps of: (a) said first data processing device transmitting a first message including: a Mobile Certificate (Cert --  Mobile) including a mobile public key (Pub --  Mobile), a chosen challenge value (CH1), and a list of supported shared key algorithms (SKCS), to said second data processing device;   (b) said second data processing device receiving said first message and verifying a first signature of a first certificate authority (CA), said second data processing device validating said received Cert --  Mobile, and if said Cert --  Mobile is valid, said second data processing device transmitting a second message including: a Base Certificate (Cert --  Base) including a base public key (Pub --  Base), a second digital signature, a random number (RN1), and an identifier of one of said SKCS chosen from said list of supported shared key algorithms, to said first data processing device;   (c) said first data processing device receiving said second message and validating said Cert --  Base, and if said Cert --  Base is valid, said first data processing device validating said second signature of said Cert --  Base using said Pub --  Base, such that if said second signature is valid, said first data processing device determining the value of RN1 by decrypting the value of E(Pub --  Mobile, RN1) using a private key of said first data processing device (Priv --  Mobile);   (d) said first data processing device generating a value RN2 and a first session key having the value (RN1⊕RN2), said first data processing device encrypting the value of RN2 using said base public key (Pub --  Base), and sending a third message to said second data processing device including said encrypted RN2 and the value of E(Pub --  Mobile, RN1) along with a digital signature corresponding to said first data processing device;   (e) said second data processing device receiving said third message and verifying said digital signature of said first data processing device using Pub --  Mobile obtained from said Cert --  Mobile, and if said signature of said first data processing device is verified, said second data processing device decrypting the value of E(Pub --  Base, RN2) using a private key of said second data processing device (Priv --  Base), said second data processing device using said first session key having the value of (RN1⊕RN2);   (f) said first and second data processing devices transferring data using encrypted data which is decrypted using said first session key.   
     
     
       2. The method as defined by claim 1 wherein said Cert --  Mobile comprises the expression: Signed(Priv --  CA, Certificate contents).   
     
     
       3. The method as defined by claim 2 wherein said Certificate contents comprises: {Serial Number, Validity Period, Machine Name, Machine Public Key, CA name}.   
     
     
       4. The method as defined by claim 3 wherein said MD is signed by said CA by encrypting said MD under said private key of said CA, such that the content of said Cert --  Mobile are authenticated. 
     
     
       5. The method as defined by claim 4 wherein said CH1 comprises a randomly generated number. 
     
     
       6. The method as defined by claim 5 wherein said step of validating said received Cert --  Mobile of step (b) includes the steps of: said second data processing device independently computing said MD function on the contents of Cert --  Mobile;   said second data processing device comparing said independently computed MD function with the decryption under said public key of said CA of said MD signed by said CA in Step (b) of claim 1, such that if said MDs match said Cert --  Mobile is valid.   
     
     
       7. The method as defined by claim 6 wherein said RN1 value is encrypted using said Pub --  Mobile of said first data processing device. 
     
     
       8. The method as defined by claim 7 wherein said second data processing device stores said RN1 value, and includes said CH1 value and said identifier of said chose SKCS in messages between said second and said first day processing devices. 
     
     
       9. The method as defined by claim 8 wherein said second message comprises the expression: {Cert --  Base, E(Pub --  Mobile, RN1), Chosen SKCS, Sig(Priv --  Base,{E(Pub --  Mobile, RN1), Chosen SKCS, CH1, List of SKCSs})}.   
     
     
       10. The method as defined by claim 9 wherein said second digital signature is verified in Step (b) of claim 1 by appending said second message to CH1 and said list of SKCSs. 
     
     
       11. The method as defined by claim 10 wherein said value RN2 comprises a random number. 
     
     
       12. The method as defined by claim 11 wherein said third message comprises the expression: {E(Pub --  Base, RN2), Sig{Priv --  Mobile, {E(Pub --  Base,RN2), E(Pub --  Mobile,   
     
     
       13. The method as defined by claim 12 wherein said CH1 value comprises a 128 bit number. 
     
     
       14. The method as defined by claim 12 further including a key change method to define a New Key, comprising the steps of: (a) said second data processing device sending a forth message comprising: Signed(Priv --  Base), {E(Pub --  Mobile, New --  RN1), E(Pub --  Mobile, RN1)});   (b) said first data processing device receiving said forth message and send a fifth message to said second data processing device comprising: Signed(Priv --  Mobile, {E(Pub --  Base, New --  RN2), E(Pub --  Base, RN2)}); wherein the value of RN2⊕RN1 is used as the New Key.     
     
     
       15. The method as defined by claim 12 further including a key change method to define a New Key, comprising the steps of: (a) said first data processing device sending a forth message to said second data processing device comprising the expression: Signed(Priv --  Mobile, {E(Pub --  Base, New --  RN2), E(Pub --  Base, RN2)});   (b) said second data processing device receiving said forth message and sending a fifth message to said first data processing device comprising the expression: Signed(Priv --  Base, {E(Pub --  Mobile, New --  RN1), E(Pub --  Mobile, RN1)}); wherein the value of RN2 ⊕RN1 is used as the New Key.     
     
     
       16. The method as defined by claim 1 further including a plurality of CAs, and wherein said second message is defined by the expression: {Cert --  Path, List of CRLs, E(Pub --  Mobile, RN1), chosen SKCS, Sig(Priv --  Base, {E(Pub --  Mobile, RN1), Chosen SKCS, CH1, List of SKCSs})}and wherein:   CRL comprises a certificate revocation list for each of said CAs.   
     
     
       17. In a network having a first data processing device in communication with a second data processing device, an apparatus for providing a secure data transfer between said first data processing device and said second data processing device, comprising: a first message generation and transmission/receiving circuit coupled to said first data processing device for transmitting a first message including: a Mobile Certificate (Cert --  Mobile) having a mobile public key (Pub --  Mobile), a chosen challenge value (CH1), and a list of supported shared key algorithms (SKCS), to said second data processing device;   second message generation and transmission/receiving circuit coupled to said second data processing device for receiving said first message, said second data processing device validating said receiving Cert --  Mobile, and if said Cert --  Mobile is valid, said second data processing device transmitting a second message including: a Base Certificate (Cert --  Base) including a base public key (Pub --  Base), a second digital signature, a random number (RN1), and an identifier of one of said SKCS chosen from said list of supported shared key algorithms, to said first data processing device;   said first data processing device receiving said second message using said first message and transmission/receiving means and validating said Cert --  Base, and if said Cert --  Base is valid, said first data processing device validating said second signature of said message using said Pub --  Base, such that if said second signature is valid, said first data processing device determines the value of RN1 by decrypting the value of E(Pub --  Mobile, RN1) using a private key of said first data processing device (Priv --  Mobile);   said first data processing device generating a value RN2 and a first session key having the value (RN1⊕RN2), said first data processing device encrypting the value of RN2 using said base public key (Pub --  Base), and sending a third message to said second data processing device including said encrypted RN2 and the value of E(Pub --  Mobile, RN1) along with a digital signature corresponding to said first data processing device;   said second data processing device receiving said third message using said second message and transmission/receiving means and verifying said digital signature of said first data processing device using Pub --  Mobile obtained from said Cert --  Mobile, and if said signature of said first data processing device is verified, said second data processing device decrypting the value of E(Pub --  Base, RN2) using a private key of said second data processing device (Priv --  Base), said second data processing device using said first session key having the value of (RN1⊕RN2);   said first and second data processing devices transferring data using encrypted data which is decrypted using said first session key.   
     
     
       18. The apparatus as defined by claim 17 wherein said Cert --  Mobile comprises the expression: Signed(Priv --  CA, Certificate contents).   
     
     
       19. The apparatus as defined by claim 18 wherein said Certificate contents comprises: {Serial Number, Validity Period, Machine Name, Machine Public Key, CA name}.   
     
     
       20. The apparatus as defined by claim 19 wherein said MD is signed by said CA by encrypting said MD under said private key of said CA, such that the content of said Cert --  Mobile are authenticated. 
     
     
       21. The apparatus as defined by claim 20 wherein said CH1 comprises a randomly generated number. 
     
     
       22. The apparatus as defined by claim 21 wherein said step of validating said received Cert --  Mobile is determined by: said second data processing device independently computing said MD function on the contents of Cert --  Mobile;   said second data processing device comparing said independently computed MD function with the decryption under said public key of said CA of said MD signed by said CA, such that if said MDs match said Cert --  Mobile is valid.   
     
     
       23. The apparatus as defined by claim 22 wherein said RN1 value is encrypted using said Pub --  Mobile of said first data processing device. 
     
     
       24. The apparatus as defined in claim 23 wherein said second data processing device stores said RN1 value, and includes said CH1 value and said identifier of said chosen SKCS in messages between said second and said first data processing devices. 
     
     
       25. The apparatus as defined in claim 24 wherein said second message comprises the expression: {Cert --  Base, E(Pub --  Mobile, RN1), Chosen SKCS, Sig(Priv --  Base,{E(Pub --  Mobile, RN1), Chosen SKCS, CH1, List of SKCSs))}.   
     
     
       26. The apparatus as defined by claim 25 wherein said second digital signature is verified by appending said second message to CH1 and said list SKCSs. 
     
     
       27. The apparatus as defined in claim 26 wherein said value RN2 comprises a random number. 
     
     
       28. The apparatus as defined by claim 27 wherein said third message comprises the expression: {E(Pub --Base , RN 2), Sig{Priv --  Mobile, {E(Pub --  Base,RN2), E(Pub --  Mobile,   
     
     
       29. The apparatus as defined by claim 28 wherein said CH1 value comprises a 128 bit number. 
     
     
       30. The apparatus as defined by claim 29 wherein a New Key may be defined: said second data processing device using said second message and transmission/receiving means sends a forth message comprising: Signed(Priv --  Base, {E(Pub --  Mobile, New --  RN1), E(Pub --  Mobile, RN1)}) to said first data processing device;   said first data processing device using said first message and transmission/receiving means receives said forth message and sends a fifth message to said second data processing device comprising: Signed(Priv --  Mobile, {E(Pub --  Base, New --  RN2), E(Pub --  Base, RN2)});   wherein the value of RN2⊕RN1 is used as the New Key.   
     
     
       31. The apparatus as defined by claim 30 wherein a New Key may be defined: said first data processing device using said first message and transmission/receiving means sends a forth message to said second data processing device comprising the expression: Signed(Priv --  Mobile, {E(Pub --  Base, New --  RN2), E(Pub --  Base, RN2)});   said second data processing device receiving said forth message using said second message and transmission/receiving means and sends a fifth message to said first data processing device comprising the expression: Signed(Priv --  Base, {E(Pub --  Mobile, New --  RN1), E(Pub --  Mobile, RN1)});   wherein the value of RN2 if) RN1 is used as the New Key.   
     
     
       32. The apparatus as defined by claim 17 further including a plurality of CAs, and wherein said second message is defined by the expression: {Cert --  Path, List of CRLs, E(Pub --  Mobile, RN1), Chosen SKCS, Sig(Priv --  Base, {E(Pub --  Mobile, RN1), Chosen SKCS, CH1, List of SKCSs})} and wherein:     CRL comprises a certificate revocation list for each of said CAs. .Iadd.   
     
     
       33.  A method for a first data processing device to communicate securely with a second data processing device comprising the steps of: exchanging authenticatable identification information with the second data processing device; and   in conjunction with exchanging identification information, negotiating the selection of an encryption algorithm with the second data processing device for use in communicating securely with said second data processing device. .Iaddend..Iadd.34. The method of claim 33 wherein said identification information comprises session key establishment information. .Iaddend..Iadd.35. The method of claim 34 wherein the step of negotiating an encryption algorithm comprises the steps of:   conveying an offer message to the second data processing device, the offer message including information identifying encryption algorithms supported by said first data processing device; and   receiving in response to the offer message a selection message from the second data processing device, the selection message including information identifying a selection of at least one of said encryption algorithms. .Iaddend..Iadd.36. The method of claim 35 further comprising the steps of:   receiving authentication information with said selection message; and   determining the authenticity of the selection message from the second data   
     
     
        processing device. .Iaddend..Iadd.37.  The method of claim 36 wherein said authentication information includes a message authentication code or digital signature for authenticating session keying information, wherein said message authentication code or said digital signature incorporates information from said offer and selection messages. .Iaddend..Iadd.38. The method of claim 33 wherein said identification information comprises authenticatable data and public key information associated with said first and second data processing devices. .Iaddend..Iadd.39. The method of claim 33 wherein said exchanging identification information comprises the steps of: conveying a first message to said second data processing device, the first message including a first public key wherein said first public key is associated with said first data processing device; and   receiving a second message from said second data processing device, said second message including a second public key wherein said second public key is associated with said second data processing device. .Iaddend..Iadd.40. The method of claim 39 wherein said first message includes a first certificate, the first certificate verifiable by a certificate authority and said second message includes a second certificate, the second certificate verifiable by a certificate authority.   
     
     
        .Iaddend..Iadd.41.  A method for establishing a secure data communications exchange between a first data processing device and a second data processing device comprising the steps of: transmitting a first message to said second data processing device, said first message including authenticatable identification information corresponding to the identity of said first data processing device and including information identifying encryption algorithms supported by said first data processing device; and   receiving a second message from said second data processing device, said second message including authenticatable identification information corresponding to the identity of said second data processing device and including information identifying at least a selected one of said encryption algorithms which is supported by said second data processing device. .Iaddend..Iadd.42. A method for establishing a secure data communications exchange between a first data processing device and a second data processing device comprising the steps of:   receiving a first message from said first data processing device, said first message including authenticatable identification information corresponding to the identity of said first data processing device and including information identifying encryption algorithms supported by said first data processing device; and   transmitting a second message to said first data processing device, said second message including authenticatable identification information corresponding to the identity of said second data processing device and including information identifying at least a selected one of said encryption algorithms which is supported by said second data processing device. .Iaddend..Iadd.43. An apparatus for providing a secure data transfer between a first data processing device and a second data processing device comprising:   message generating circuitry for assembling a first message including authenticatable identification information corresponding to the identity of said first data processing device including information identifying encryption algorithms supported by said first data processing device;   a transmission circuit in communication with said message generating circuit for transmitting said first message to said data processing device; and   receiving circuitry for receiving a second message from said second data processing device, said second message including authenticatable identification information corresponding to the identity of said second data processing device and including information identifying at least a selected one of said encryption algorithms which is supported by said second data processing device. .Iaddend.

Join the waitlist — get patent alerts

Track USRE36946E — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.