A client device, system, and method for constructing a two-factor password
utilized by an authentication device to authenticate an accessing
computer. The client device connects to the accessing computer through an
input/output (I/O) port such as a USB connection. When a user desires to
access a network, he enters a user ID, which is sent from the accessing
computer to the client device. The client device includes a client
application, which retrieves a second factor from an internal database,
and combines the user ID and the retrieved second factor to form the
two-factor password. The two-factor password is sent to the accessing
computer, which transmits it to the authentication device. The accessing
computer is authenticated only if both the user ID and the second factor
match a user ID and second factor stored in the authentication device.