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.sub.-- 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.sub.--
Mobile is valid. If the Cert.sub.-- Mobile is not valid, then the base
unit rejects the connection attempt. The base then sends a Cert.sub.--
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.sub.-- Base, and if the
certificate is valid, the mobile verifies under the public key of the base
(Pub.sub.-- 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.sub.-- Mobile, RN1 under the private key of the
mobile. The mobile then generates RN2 and the session key, and encrypts
RN2 under the Pub.sub.-- Base. The mobile sends the encrypted RN2 and
E(Pub.sub.-- Mobile, RN1) to the base. The base then verifies the mobile
signature using the Pub.sub.-- Mobile obtained from the Cert.sub.--
Mobile. If the mobile signature is verified, the base decrypts
E(Pub.sub.-- 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
.sym.RN2.
Un metodo e un apparecchio è rilevato per fornire un collegamento di comunicazione senza fili sicuro fra un dispositivo nomade mobile e un'unità di calcolo bassa. Un mobile trasmette un certificato ospite (Cert.sub. - - mobile) alla base con un valore a caso scelto di sfida (CH1) e una lista delle procedure chiave comuni sostenute ("SKCS"). La base determina se i Cert.sub. - - Il mobile è valido. Se i Cert.sub. - - Il mobile è non valido, allora gli scarti dell'unità bassa il tentativo del collegamento. La base allora trasmette un Cert.sub. - - Base, numero casuale (RN1) cifrato nella chiave pubblica del mobile e un contrassegno per lo SKCS scelto al mobile. La base conserva il valore RN1 ed aggiunge il valore CH1 e lo SKCS scelto ai messaggi trasmessi alla base. L'unità mobile allora convalida il Cert.sub. - - La base e se il certificato è valido, il mobile verifica sotto la chiave pubblica della base (Pub.sub. - - base) la firma sul messaggio. La firma è verificata prendendo il messaggio basso e collegando esso a CH1 e la lista delle procedure chiave comuni quelle il mobile fornito nel primo messaggio. Se la firma bassa è non valida, quindi il tentativo di comunicazione è abbandonato. Nel caso in cui la firma bassa sia valida, il mobile determina il valore di RN1 da Pub.sub decrypting. - - Mobile, RN1 sotto la chiave riservata del mobile. Il mobile allora genera RN2 e la chiave di sessione e cifra RN2 sotto il Pub.sub. - - Base. Il mobile trasmette il RN2 ed il E(Pub.sub cifrati. - - Mobile, RN1) alla base. La base allora verifica la firma mobile usando il Pub.sub. - - Mobile ottenuto dal Cert.sub. - - Mobile. Se la firma mobile è verificata, la base decrypts E(Pub.sub. - - Base, RN2) che usando la relativa chiave riservata. La base allora determina la chiave di sessione. Il mobile e la base possono allora entrare in una fase di trasferimento di dati usando i dati cifrati che decrypted usando la chiave di sessione che è sym.RN2 RN1.