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.sub.-- Mobile) including a mobile public key (Pub.sub.-- 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.sub.-- Mobile, and if said Cert.sub.-- Mobile is valid, said second data processing device transmitting a second message including: a Base Certificate (Cert.sub.-- Base) including a base public key (Pub.sub.-- 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.sub.-- Base, and if said Cert.sub.-- Base is valid, said first data processing device validating said second signature of said Cert.sub.-- Base using said Pub.sub.-- 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.sub.-- Mobile, RN1) using a private key of said first data processing device (Priv.sub.-- Mobile); (d) said first data processing device generating a value RN2 and a first session key having the value (RN1.sym.RN2), said first data processing device encrypting the value of RN2 using said base public key (Pub.sub.-- Base), and sending a third message to said second data processing device including said encrypted RN2 and the value of E(Pub.sub.-- 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.sub.-- Mobile obtained from said Cert.sub.-- Mobile, and if said signature of said first data processing device is verified, said second data processing device decrypting the value of E(Pub.sub.-- Base, RN2) using a private key of said second data processing device (Priv.sub.-- Base), said second data processing device using said first session key having the value of (RN1.sym.RN2); (f) said first and second data processing devices transferring data using encrypted data which is decrypted using said first session key.