A software-based security token that resides on a device, such as a computer hard drive, a Trusted Platform Module (TPM), or a biometric sensor. The software token generates a numeric code (called a tokencode).