var counter: Int32
var delay: Int32
var type: HIDApproveLockType
class HIDApproveDelayLockPolicy
An exponential delay is added for each failed authentication attempt using that credential. In other words, a throttling mechanism in which the user has to wait a short time before attempting another try to prevent a potential attacker from guessing the password.
For each failed attempt a counter is incremented. The delay doubles for each failed attempt, but to avoid creating too much delay the counter value is capped at {@link #counter}. This counter is reset on the next successful authentication attempt.
For example, with an initial delay of 2 seconds and a maxcounter of 6 attempts we have the following:
Attempts | Seconds Delay |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
An attacker trying to brute force the password after the 6th attempt will incur a 1 minute delay for each password attempt. Therefore based on minimum length 6 with a numeric password policy this could mean 10^6 minutes to find the right password (2 years)
var counter: Int32
var delay: Int32
var type: HIDApproveLockType
protocol HIDApproveLockPolicy
class HIDApproveNoLockPolicy
class HIDApproveCounterLockPolicy
class HIDApproveSilentLockPolicy