Patent ID: 7302703

Claim:
A method for initializing and distributing hardware tokens to a plurality of unknown users through insecure channels comprising the steps of: initializing a hardware token processor with non-user specific certificates, said initializing performed in a trusted server that comprises a certificate authority; after completion of said initializing step, distributing the hardware token processors to a plurality of potential users; allowing a new user to register a hardware token processor together with his specific user identification information; wherein said hardware token processor further comprises an instruction unit for performing a calculation; generating new certificates for the new user; and storing said new certificates for said new user in the hardware token processor submitted for registration by said new user; wherein the non-user specific certificates comprise at least: a user certificate that is a private decryption key used by the hardware token processor to decrypt messages received from said certificate authority and a user certification number that is a public key used by the certificate authority to encrypt messages that are to be sent to the hardware token processor; wherein the step of initializing a hardware token processor further comprises the steps of: creating a unique identifier for the hardware token processor; generating a personal identification number for a potential user in a random manner; generating a personal identification number for an administrative user in a random manner; generating a user certificate and a user certification number key pair for the hardware token processor; generating a server certificate and a server certification number key pair for the hardware token processor; storing said unique identifier, said personal identification numbers for both a potential user and an administrative user, and said user and server key pairs in a recognition database; storing said unique identifier, said personal identification numbers for both a potential user and an administrative user in the hardware token processor; storing said user certificate in the hardware token processor; and storing said server certification number in the hardware token processor.