I am new to Android development and I am trying to understand the rollback resistance feature of the keymaster functions. I don't quite understand the description in the android docs (). Unfortunately there is barely additional information about it online.
My understanding is:
- A Smartphone (without rollback resistance) creates a key which is stored in a TEE or dedicated secure chip.
- The return value is generated or imported key material (not the plain key, but some information about it).
- A malicious actor gets access to this key material.
- The key gets deleted.
- Now the attacker is somehow able to recreate the key in the TEE/chip by using the key material. This doesn't mean the attacker can infer the key with the help of the key material.
If the smartphone has rollback resistance:
An attacker is not able to recreate the key in the TEE/chip because there is an additional RPMB storage with metadata about the deleted key and thus the TEE/chip knows that this key must not be recreated.
Is my understanding correct?