8.1.0: Difference between revisions

Secure Monitor: full diff
Line 22: Line 22:
The Secure Monitor was updated.
The Secure Monitor was updated.


<check back later for diff>
* The SE key read disable function no longer writes zero to AES_KEY_READ_DISABLE/RSA_KEY_READ_DISABLE.
* Functions for locking/checking PMC secure scratch now have additional bitmasks 0x40/0x80 for locking more secure scratch registers.
* NVDEC/TSECB access to the kernel carveout was removed.
* On suspend (SC7 Entry), SWR_USBD_RST is now checked, and AHB arbitration disable is now checked to be COP, ARC, USB, USB2.
** This further mitigates against Deja Vu.
* TZ/SE context save logic has been changed.
** The context save function now first generates 16 random bytes, and securely saves them to scratch (using the usual write-writelock-check-readlock-checklocked pattern).
** It then generates a random aes-256 key, and derives an actual encryption/MAC key by decrypting the random data with that key.
*** Previously, it generated a random aes-256 key and used it directly.
*** This prevents attacks that might coerce the usage of a specific aes-256 key instead of a random one.
** Calls into the check scratch locked/lock scratch function which previously passed one bitmask at a time now pass multiple
*** Accordingly, the lock/check locked functions now support multiple bitmasks instead of single bitmasks at a time.
* The function that initializes the SE/derives keys now sets flag 0x100 on AES keyslots 8-15, and RSA keyslots 0-1.


====Kernel====
====Kernel====