authentication scheme as a prototype for evaluation
and further studies. This implementation uses
ubiquitous cell phones as security tokens storing the
encrypted OTP list, similar to many commercially
available solutions.
The web-based authentication server and the
client software components were developed in the
the Java programming language, using the Java EE
and Java ME frameworks for the server-side and
cell-phone components, respectively. The service
server calls the authentication server by means of a
web service. The OTP list is generated by the
authentication server and encrypted using a strong
encryption algorithm, e.g. Twofish (Schneier et al.,
1998).
Since almost every business person today uses a
Java-enabled cell phone, this approach to 2FA a
does not require additional equipment for users, thus
creating no additional costs. Therefore, also some
commercially available 2FA solutions now offer a
cell phone-based software replacement of the smart
card.
3 SECURITY ANALYSIS
In the security analysis of the prototype
implementation for the described authentication
scheme, different typical attacks are considered (Lin,
2001).
Since the algorithm for generating the OTP lists
is not needed to be defined within the authentication
scheme and its implementation needs to reside only
on the authentication server and not the security
tokens, any known algorithm for generating a
sequence of random numbers may be used. It is also
possible to easily switch the generation scheme
regularly or to use different versions at the same
time. Therefore, assuming that always a state-of-the-
art algorithm is used, an intruder may not predict or
forge the OTP list.
E.g., the HMAC-based OTP algorithm (HOTP)
may be used (M'Raihi et al., 2005), which generates
OTP values by using keyed hashed message
authentication code (HMAC). With the HOTP
algorithm, the only thing that has to kept secret is the
so-called secret key (not necessarily identical with
the user's OTP list decryption key). Any iterative
cryptographic hash function could be used within the
HOTP algorithm. Since the proposed scheme allows
to use arbitrary secret keys and hash functions for
the OTP list generation, the difficulty of forgery and
prediction attacks is additionally increased. Thus,
the authentication scheme is resistant against these
attacks as well as an eavesdropping of the sequence
number send to the user during the authentication-
and-login phase.
If an intruder eavesdrops a valid authentication
message during the login process to the service
server, the attempt to perform a replay attack will
fail in the verification phase since every OTP is
invalidated by the authentication server after used
once. This is similar for all approaches using an
OTP.
However, a major security threat for the scheme
is the possible disclosure of the encrypted OTP list
from a user's security token. In case the security
token (i.e. a cell phone) is stolen or lost, and the user
realizes the loss, the stored list may easily be
invalidated on the authentication server and replaced
by a new one. However, if the user does not realize
the loss of the device or only the OTP list is copied
from the device, the list may be disclosed by an
offline password guessing attack. Although the
stored OTP list is encrypted using a strong
encrypting algorithm (e.g. Twofish), there is still the
danger that an intruder might decrypt it within its
period of validity. Depending on the length and the
strength of the used password, the encryption might
be broken by a password guessing attack. Thus, it is
important to use sufficiently strong passwords for
the OTP list encryption.
In the future, an interesting solution for this
might be the use of self-destructing digital data to
prevent copying of the list. E.g., the research project
Vanish (Geambasu et al., 2009), conducted by
University of Washington, intends to develop such a
digital data.
Additionally, the OTP lists should be exchanged
frequently. However, this increases the
administrative overhead of distributing the OTP lists
to the security tokens. Thus, a suitable automation
solution for this should be considered.
In summary, any solution implementing the
described 2FA scheme, following the stated open
design principles and fulfilling the above
requirements, in the authors' opinion is not less
secure than the frequently used OTP number
generation inside the security token.
4 CONCLUSIONS
In conclusion, we presented our opinion on how
2FA should be implemented using an open design
approach. We claimed that the recently reported
security issue once again demonstrated the
SECRYPT 2011 - International Conference on Security and Cryptography
420