Repository navigation
Add entertainment-only fake report (2.0.5) - #25
Open
RGWS-LiuLai wants to merge 1 commit into
Open
RGWS-LiuLai wants to merge 1 commit into
RGWS-LiuLai wants to merge 1 commit into
Conversation
Add an entertainment-only fake report that changes what is shown on screen without touching the parsed attestation, the certificate chain, the keystore or any revocation data. - Menu entry "Fake report (fun)" plus a separate options item; the state lives in memory only and is restored when the app is closed. - Root certificate / keybox can be spoofed with every status the app can really produce (Google, Google RKP, AOSP, Knox, OEM, unknown, untrusted chain, RKP failure). - Bootloader state can be spoofed independently with all four KM_VERIFIED_BOOT_* values plus the missing-root-of-trust case. - Certificate status and revocation list can be spoofed on their own. - The whole report can be spoofed as one of the AttestationException error pages (unparsable chain, out of keys, keys not provisioned, RKP failure, StrongBox/DeviceID unavailable, ...). - Every spoofable item defaults to following the real result, so changing one item never drags the others into an abnormal state.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an entertainment-only fake report that changes what is shown on screen without touching the parsed attestation, the certificate chain, the keystore or any revocation data. Everything lives in memory and is restored when the app is closed.
What can be spoofed
RootPublicKey.Statusthe app can really produce: Google, Google RKP, AOSP, Knox, OEM, unknown root, untrusted chain, RKP failure.RootOfTrust.KM_VERIFIED_BOOT_*plus the "no root of trust" case, so all four real states can be reproduced distinctly.AttestationExceptionerror pages: unparsable chain, out of keys, keys not provisioned, RKP failure, StrongBox/DeviceID unavailable, and so on.Design notes
Note I could only build this on an aarch64 host, so I had to work around local toolchain limits there; the branch itself keeps the standard Gradle setup (AIDL,
generateLocaleConfig, original resources) untouched. It has not been built on a standard x86_64 host yet, so the CI result is worth watching.