  With the rise of attacks on online accounts in the past years, more and more
services offer two-factor authentication for their users. Having factors out of
two of the three categories something you know, something you have and
something you are should ensure that an attacker cannot compromise two of them
at once. Thus, an adversary should not be able to maliciously interact with
one's account. However, this is only true if one considers a weak adversary. In
particular, since most current solutions only authenticate a session and not
individual transactions, they are noneffective if one's device is infected with
malware. For online banking, the banking industry has long since identified the
need for authenticating transactions. However, specifications of such
authentication schemes are not public and implementation details vary wildly
from bank to bank with most still being unable to protect against malware. In
this work, we present a generic approach to tackle the problem of malicious
account takeovers, even in the presence of malware. To this end, we define a
new paradigm to improve two-factor authentication that involves the concepts of
one-out-of-two security and transaction authentication. Web authentication
schemes following this paradigm can protect security-critical transactions
against manipulation, even if one of the factors is completely compromised.
Analyzing existing authentication schemes, we find that they do not realize
one-out-of-two security. We give a blueprint of how to design secure web
authentication schemes in general. Based on this blueprint we propose FIDO2
With Two Displays (FIDO2D), a new web authentication scheme based on the FIDO2
standard and prove its security using Tamarin. We hope that our work inspires a
new wave of more secure web authentication schemes, which protect
security-critical transactions even against attacks with malware.
