Conversation

Batch keys aren't unique largely for privacy reasons. Ideally, they would generate a internal key for the app when it requests attestation, and use that as an extra link in the signing chain for all the attestations by the app. The key would get cleared when app data is cleared.
1
1
Then, this extra internal key would be pinned as part of the pairing, and allows strongly verifying future attestations from the app. Even if an attacker compromises the batch key on another device, attestation with a Trust On First Use pairing system would still remain secure.
1
1
It pins the certificate chain used to sign the persistent key and then enforces that future attestations have the same certificate chain. It discards the temporary keys created to generate the future attestations but it's actually convenient for it to work like the initial one.
1