Secure Computing e.iD Authenticator for Palm PIN Disclosure Vulnerability
Secure Computing's SafeWord is a system of authentication services that supports among other authentication methods one-time password. The one-time passwords are generated by the authenticating user via a hardware or software token device from the users PIN number and a Token Key stored in the device. During authentication, a user-generated one-time password, or tokencode, is sent to the authentication server and the user is authenticated if the tokencode was generated from a valid PIN and Token Key. In this sort of authentication system, the security of the shard secret (the user's PIN) is critical. Secure Computing's e.iD Authenticator for Palm is a software token device for the SafeWord system that runs on the Palm Pilot. e.iD Authenticator for Palm uses a palm database (PDB) file called "sceiddb.pdb" containing an encrypted version of the user's PIN as well as the Token Key. The encrypted version of the user's PIN is used when the user attempts to change his PIN. Before the PIN can be changed the user must enter their current PIN. The entered PIN is encrypted and compared to the encrypted PIN. If they don't match the device will display a warning and refuse to change the PIN. PINs are from 2 to 8 digits in length. The encrypted PIN is always 16 bytes. The encrypted PIN is found starting at address 0x7A to address 0x89 in the "sceiddb.pdb" file. As Palm Pilot and related devices are considered general purpose platforms and are not tamper-resistant devices there exist likely scenarios in which an attacker may obtain access to the "sceiddb.pdb" file. An attacker with access to the "sceiddb.pdb" file can obtain the user's PIN by encrypting every possible 8 digit PINs and comparing them with the encrypted PIN in the "sceiddb.pdb" file.