A private key may be securely distributed to a user of a remote client
computer over an insecure channel. The user's private key is transmitted
to the client from a remote server in an encrypted format. A first hash of
the user's password is transmitted to the remote server and is used to
authenticate the user. A second hash of the user's password remains with
the client computer and is used to decrypt the user's private key. The
user only has to remember one login name and a single associated password.
Thus, the private key can be securely distributed from the remote server
to the client computer system. The distribution does not require the user
to carry any special hardware devices and only requires a single password.
Because the private key is not permanently stored at the client computers,
even if an unauthorized user has access to the client computers, they are
not likely to be able to obtain the private key. Similarly, because the
remote server only has access to an encrypted version of the private key,
and because the remote server does not store and has no way of uncovering
the user's password, the remote server, even if broken in to, is not
likely to compromise the user's private key.