Liveness Settings
Liveness Configuration
Keyless SDK provides three officially-supported configurations for the liveness detection (antispoofing component), listed below from the lowest to the highest level of security:
PASSIVE_STANDALONE_MEDIUM
- for testing purposes onlyPASSIVE_STANDALONE_HIGH
- for most production use (SDK default)PASSIVE_STANDALONE_HIGHEST
- for higher security production use
Increasing the security level increases the ability of the system to reject spoof attempts (true positive rate, or TPR). A higher security level also increases the genuine reject rate (false positive rate, or FPR) and the time required by the anti-spoofing module to make a decision.
For most production scenarios, Keyless recommends the use of PASSIVE_STANDALONE_HIGH
. This setting offers a good tradeoff between TPR, FPR, and time-to-decision. For scenarios that require a higher security level, we recommend increasing this setting to PASSIVE_STANDALONE_HIGHEST
.
Liveness Awareness
You can also specify a livenessEnvironmentAware
that is by default se to true
to enhance liveness detection. This parameters helps to ensure the user is in a suitable setting for verification.
Note that we have observed that this may prevent some users on a very limited set of devices from authenticating with Keyless. In this case the SDK will return an 20021
error.
The livenessEnvironmentAware
feature enforces stricter environmental checks during the liveness verification process. We recommend keeping this setting enabled, and it defaults to true
for enhanced security. Users migrating from SDK versions earlier than v5.0.5
might experience a higher rate of liveness rejections, as this stricter validation is now automatic.
To provide flexibility, we have also included the option to disable this check but please contact us if you want to discuss the potential impact of doing so.
Relax liveness checks for testing purposes
Below follows a liveness configuration example for testing pruposes only should facilitate testing the happy path of "passing the liveness checks".
// ONLY FOR TEST
// Authentication Configuration
val authConfig = BiomAuthConfig(
livenessConfiguration = LivenessSettings.LivenessConfiguration.PASSIVE_STANDALONE_MEDIUM,
livenessEnvironmentAware = false
)
// Enrollment Configuration
val enrollConfig = BiomEnrollConfig(
livenessConfiguration = LivenessSettings.LivenessConfiguration.PASSIVE_STANDALONE_MEDIUM,
livenessEnvironmentAware = false
)
// De-Enrollment Configuration
val deEnrollConfig = BiomDeEnrollConfig(
livenessConfiguration = LivenessSettings.LivenessConfiguration.PASSIVE_STANDALONE_MEDIUM,
livenessEnvironmentAware = false
)
Last updated
Was this helpful?