pVMs to use Sk for rollback protected secrets

To enable this, the patch does the following:
1. Get instance_id of the VM from guest DT. This is used as the SecretId
   for Secretkeeper operations.
2. Get the public key of Secretkeeper from Guest DT, this is required
   for session establishment with the expected Sk identity.
3. Disable Secretkeeper operations from non-protected VM. Rollback
   protection is not a guarantee we offer non-protected VM under AVF
   threat model. So far, non protected VM gave us good test coverage
   because they were tested against nonsecure instance, but that is no
   more required as we shift to the secure instance of Secretkeeper, nor
   is it possible since non protected VMs on CF do have instance_id due
   to limited support.

Test: atest MicrodroidTests#encryptedStorageIsPersistent on device with
default instance
Bug: 291213394

Change-Id: I303e8b9ec6e4fbca01864750a1a0f0bdd459a25c
2 files changed
tree: 3d0cf1daa56c0519b6d22855626ee51b5b0d9e82
  1. apex/
  2. apkdmverity/
  3. authfs/
  4. compos/
  5. demo/
  6. demo_native/
  7. docs/
  8. encryptedstore/
  9. java/
  10. launcher/
  11. libs/
  12. microdroid/
  13. microdroid_manager/
  14. pvmfw/
  15. rialto/
  16. service_vm/
  17. tests/
  18. virtualizationmanager/
  19. virtualizationservice/
  20. vm/
  21. vm_payload/
  22. vmbase/
  23. vmclient/
  24. zipfuse/
  25. .clang-format
  26. .gitignore
  27. Android.bp
  28. avf_flags.aconfig
  29. OWNERS
  30. PREUPLOAD.cfg
  31. README.md
  32. rustfmt.toml
  33. TEST_MAPPING
README.md

Android Virtualization Framework (AVF)

Android Virtualization Framework (AVF) provides secure and private execution environments for executing code. AVF is ideal for security-oriented use cases that require stronger isolation assurances over those offered by Android’s app sandbox.

Visit our public doc site to learn more about what AVF is, what it is for, and how it is structured. This repository contains source code for userspace components of AVF.

If you want a quick start, see the getting started guideline and follow the steps there.

For in-depth explanations about individual topics and components, visit the following links.

AVF components:

AVF APIs:

How-Tos: