Patent ID: 8799657

Claim:
A method for constructing a secret code in a processing unit when in communication with a portable security unit, wherein the processing unit and portable security unit each contain respective volatile and non-volatile memory, and wherein the processing unit uses the security code to perform a secure operation, the method comprising the steps of: linking the portable security unit with the processing unit; exchanging mutual authentication messages between the portable security unit and the processing unit as a condition to continuing the method; communicating a first portion of the secret code stored in the non-volatile memory of the portable security unit to the processing unit; combining a second portion of the secret code stored in the non-volatile memory of the processing unit with the first portion of the secret code; storing at least the first portion of the secret code in a volatile memory of the processing unit; performing the secure operation using the secret code; splitting the combined secret code into two parts and storing a first part in the non-volatile memory of the portable security unit and a second part in the non-volatile memory of the processing unit; de-linking the portable security unit from the processing unit, the first part of the secret code being stored in the non volatile memory of the portable security unit prior to de-linking the portable security unit from the processing unit; and deleting at least a portion of the secret code from the volatile memory of the processing unit.