EP0651533B1

Method and apparatus for privacy and authentication in a mobile wireless network

Abstract

This record has no abstract on file.

EP0651533B1, drawing sheet 1
Sheet 1 of 29

Term

Term ended

Expired 22 July 2014, 12.2 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

32 claims: 30 independent, 2 dependent

  1. 1
    A method for providing secure communications between a first data processing device (100) and a second data processing device (105), characterized by the steps of:(a) said first data processing device (100) transmitting a first message including: a Mobile Certificate (Cert_Mobile) including a mobile public key (Pub_Mobile), a chosen challenge value (CHI), and a list of supported shared key algorithms (SKCS), to said second data processing device (105);(b) said second data processing device (105) receiving said first message and verifying a first signature of a first certificate authority (CA), said second data processing device (105) validating said received Cert_Mobile, and if said Cert_Mobile is valid, said second data processing device (105) 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 (100);(c) said first data processing device (100) receiving said second message and validating said Cert_Base and if said Cert_Base is valid, said first data processing device (100) 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 (100) determining the value of RN1 by decrypting the value of E (Pub_Mobile, RN1) using a private key of said first data processing device (100) (Priv_Mobile);(d) said first data processing device (100) generating a value RN2 and a first session key having the value (RN1 ⊕ RN2), said first data processing device (00) encrypting the value of RN2 using said base public key (Pub_Base), and sending a third message to said second data processing device (105) including said encrypted RN2 and the value of E(Pub_Mobile, RN1) along with a digital signature corresponding to said first data processing device (100);(e) said second data processing device (105) receiving said third message and verifying said digital signature of said first data processing device (100) using Pub_Mobile obtained from said Cert_Mobile and if said signature of said first data processing device (100) is verified, said second data processing device (105) decrypting the value of E (Pub_Base, RN2) using a private key of said second data processing device (105) (Priv_Base), said second data processing device (105) using said first session key having the value of (RN1 ⊕ RN2);(f) said first and second data processing devices (100, 105) transferring data using encrypted data which is decrypted using said first session key.
  2. 2
    The method as defined by Claim 1 wherein said Cert_Mobile comprises the expression:Signed (Priv_CA, Certificate contents).
  3. 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. 4
    The method as claimed 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. 5
    The method as defined by Claim 4 wherein said CH1 comprises a randomly generated number.
  6. 7
    The method as defined by Claim 6 wherein said RN1 value is encrypted using said Pub_Mobile of said first data processing device (100).
  7. 8
    The method as defined by Claim 7 wherein said second data processing device (105) 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.
  8. 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})}.
  9. 11
    The method as defined by Claim 10 wherein said value RN2 comprises a random number.
  10. 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, RN1)}}}.
  11. 13
    The method as defined by Claim 12 wherein said CHI value comprises a 128 bit number.
  12. 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 (105) sending a fourth message comprising: Signed(Priv_Base, {E(Pub_Mobile New_RN1), E(Pub_Mobile RN1)});(b) said first data processing device (100) receiving said fourth message and send a fifth message to said second data processing device (105) 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.
  13. 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 (100) sending a fourth message to said second data processing device (105) comprising the expression: Signed(Priv_Mobile, {E(Pub_Base, New_RN2), E(Pub_Base, RN2)});(b) said second data processing device (105) receiving said fourth message and sending a fifth message to said first data processing device (100) 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.
  14. 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.
  15. 17
    An apparatus for use in a network including a first data processing device (100) in communication with a second data processing device (105), the apparatus for providing a secure data transfer between said first data processing device and said second data processing device (105), the apparatus characterized by :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 list of supported shared key algorithms (SKCS), to said second data processing device (105), second message generation and transmission/receiving circuit coupled to said second data processing device (105) for receiving said first message, said second data processing device (105) validating said received Cert_Mobile, and if said Cert_Mobile is valid, said second data processing device (105) being adapted to transmit 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 (100);said first data processing device (100) being adapted to receive said second message using said first message and transmission/receiving means and to validate said Cert Base, and if said Cert_Base is valid, said first data processing device (100) validating said second signature of said message using said Pub_Base, such that if said second signature is valid, said first data processing device (100) is adapted to determine the value of RN1 by decrypting the value of E(Pub_Mobile, RN1) using a private key of said first data processing device (100) (Priv_Mobile);said first data processing device (100) being adapted to generate a value RN2 and first session key having the value (RN1 ⊕ RN2), said first data processing device (100) being adapted to encrypt the value of RN2 using said base public key (Pub_Base), and to send a third message to said second data processing device (105) including said encrypted RN2 and value of E(Pub_Mobile RN1) along with a digital signature corresponding to said first data processing device (100);said second data processing device (105) being adapted to receive said third message using said second message and transmission/receiving means and to verify said digital signature of said first data processing device (100) using Pub_Mobile obtained from said Cert_Mobile, and if said signature of said first data processing device (100) is E(Pub_Base, RN2) using a private key of said second data processing device (105) (Priv_Base), said second data processing device (105) using said first session key having the value of (RN1 ⊕ RN2);said first and second data processing devices (105) being adapted to transfer data using encrypted data which is decrypted using said first session key.
  16. 18
    The apparatus as defined by Claim 17 wherein said Cert_Mobile comprises the expression:Signed(Priv_CA, Certificate contents).
  17. 19
    The apparatus as defined by Claim 18 wherein said Certificate contents comprises:{Serial Number, Validity Period, Machine Name, Machine Public Key, CA name}.
  18. 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.
  19. 21
    The apparatus as defined by Claim 20 wherein said CH1 comprises a randomly generated number.
  20. 22
    The apparatus as defined by Claim 21 wherein the validation of said received Cert_Mobile is determined by:said second data processing device (105) being adapted to independently compute said MD function of the contents of Cert_Mobile;said second data processing device (105) being adapted to compare 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.
  21. 23
    The apparatus as defined by Claim 22 wherein said RN1 value is encrypted using said Pub_Mobile of said first data processing device.
  22. 24
    The apparatus as defined by Claim 23 wherein said second data processing device (105) is adapted to store said RN1 value, and to include said CH1 value and said identifier of said chosen SKCS in messages between said second and said first data processing devices (100).
  23. 25
    The apparatus as defined by 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})}.
  24. 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 of SKCSs.
  25. 27
    The apparatus as defined by Claim 26 wherein said value RN2 comprises a random number.
  26. 28
    The apparatus as defined by Claim 27 wherein said third message comprises the expression:{E(Pub_Base, RN2), Sign{Priv_Mobile, {E(Pub_Base, RN2), E(Pub_Mobile, RN1)}}}.
  27. 29
    The apparatus as defined by Claim 28 wherein said CH1 value comprises as 128 bit number.
  28. 30
    The apparatus as defined by Claim 29 wherein a New Key may be defined:said second data processing device (105) being adapted to use said second message and transmission/receiving means being adapted to send a fourth message comprising: Signed(Priv_Base, {E(Pub_Mobile, New_RN1), E(Pub_Mobile, RN1)}) to said first data processing device (100);said first data processing device (100) being adapted to use said first message and transmission/receiving means being adapted to receive said fourth message and to send a fifth message to said second data processing device 105 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.
  29. 31
    The apparatus as defined by Claim 30 wherein a New Key may be defined:said first data processing devices (100) being adapted to use said first message and transmission/receiving means being adapted to send a fourth message to said second data processing device (105) comprising the expression: Signed(Priv_Mobile, {E(Pub_Base New_RN2), E(Pub_Base RN2)});said second data processing device 105 being adapted to receive said fouth message using said second message and transmission/receiving means being adapted to send a fifth message to said first data processing device 100 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.
  30. 32
    The apparatus as defined by Claim 17 further includes 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.
Independent claims30