The use of single-factor authentication can lead to unnecessary
risk of compromise when compared with the benefits of a dual-factor
authentication scheme.
Time of Introduction
Architecture and Design
Applicable Platforms
Languages
All
Common Consequences
Scope
Effect
Authentication
If the secret in a single-factor authentication scheme gets
compromised, full authentication is possible.
String plainText = new String(plainTextIn) MessageDigest encer =
MessageDigest.getInstance("SHA"); encer.update(plainTextIn);
byte[] digest = password.digest();
if (digest==secret_password()) //log me in
Potential Mitigations
Phase
Description
Architecture and Design
Use multiple independent authentication schemes, which ensures that --
if one of the methods is compromised -- the system itself is still
likely safe from compromise.
Other Notes
While the use of multiple authentication schemes is simply piling on more
complexity on top of authentication, it is inestimably valuable to have such
measures of redundancy. The use of weak, reused, and common passwords is
rampant on the internet. Without the added protection of multiple
authentication schemes, a single mistake can result in the compromise of an
account. For this reason, if multiple schemes are possible and also easy to
use, they should be implemented and required.