core: add SSK fingerprint to FS RPC for storage key change detection

Introduce CFG_CORE_SEND_FS_KEY_FINGERPRINT to enable sending a
128-bit non-secret fingerprint of the Secure Storage Key (SSK)
to the Normal World during File System RPC calls.

When enabled, the first successful FS RPC call will append a
parameter containing the fingerprint and a magic number ('FPSK').
This allows the REE to detect if the secure storage key has changed.

The fingerprint is generated by performing an HMAC on the SSK
using a 'fingerprint' domain separation string.

BUG=b:480172687
TEST=Detect secure storage key change

Change-Id: Ia3798312bd69ec2ff2e634be1de2b36f4764f16f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/OP-TEE/optee_os/+/7596087
Reviewed-by: Nathan Hebert <nhebert@chromium.org>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Tested-by: Hirokazu Honda <hiroh@chromium.org>
4 files changed
tree: 463490b5cd0d3218b24184f61a2334b3a3b55a5a
  1. .github/
  2. core/
  3. keys/
  4. ldelf/
  5. lib/
  6. mk/
  7. scripts/
  8. ta/
  9. .checkpatch.conf
  10. .gitattributes
  11. .gitignore
  12. CHANGELOG.md
  13. DIR_METADATA
  14. LICENSE
  15. MAINTAINERS
  16. Makefile
  17. OWNERS
  18. README.md
  19. typedefs.checkpatch
README.md

OP-TEE Trusted OS

This git contains source code for the secure side implementation of OP-TEE project.

All official OP-TEE documentation has moved to http://optee.readthedocs.io.

// OP-TEE core maintainers