As always, this kind of innovation is always based on a balance of comfort / convenience and level of security. Programmable keys with the ability to synchronize time, from attacks over the network (phishing, a man in the middle, etc. - in most cases our clients use TOTP tokens to protect against such attacks) are not an exception, they will certainly protect to the full, but This feature assumes a minor and purely
theoretical probability of an attack by replay (attack) with the condition that attackers can:
- Get the first factor (password).
- Have physical access to the hardware key without the knowledge of the owner for quite a long time (see step 3.).
- Using the application, through NFC, transfer the time on the key forward to a specific date, and record a sufficient number of generated codes. The script will not implement this, since to generate codes, you need to press a physical button, and the current code is only peeked on the screen (it is not transmitted via NFC).
- Return time back ( so that the owner did not guess anything ).
- And finally, log in using the password (step 1) and one of the codes obtained in step 3.
This risk, as we see, can arise only if there is a physical access to the device, for example, the attack can be carried out by a colleague sitting next to and for some reason also knowing the password. But under these conditions, using classic TOTP tokens will lead to the same risk. By the way, the risk of compromising tokens with the time synchronization function is comparable to the risk of fido u2f devices - if an attacker temporarily and imperceptibly got access to the u2f key while having a password, he can log in with this key and add another (his) key and then, also imperceptibly, return the initial key to the owner — according to the specification, one account can have more than one u2f key, and any one can be used for parallel input. Factors like
Perfect paper passwords are subject to the same risk.
As you can see, the attack is quite complex and unlikely, and in general, the risk level of using such tokens can be compared to using an application like Google Authenticator on a smartphone without a pin code, not having access to the network and which the user always carries with them.
For customers who still consider even this risk to be big enough, our recommendations on this matter are as follows:
- Restricting physical access to this type of keys is approximately the same as to bank cards (by the way, our keys are in the format of bank cards).
- Use programmable keys without time synchronization ( miniOTP-1 )
- Use programmable keys with the function of time synchronization, combined with the removal of the secret key. That is, when the time of the token changes, the seed will be reset and you will need to re-enter it (miniOTP-3, the model release date will be announced later)