Key management/Crypto operations
I looked through the ISA and somethings I work with on a regular basis are not there. I guess ISA can be used to implement a secure element? But then, how does it beat a Javacard? The instruction set is too rich for a standard Javacard. Some of the things I do regularly:
1. Secure keys stores including One Time Programmable key stores
2. Secure boot
3. Cryptographic operations
4. Secure elements for operating on sensitive data with sensitive keys. The moment you pul keys into regular memory you are toast; just freeze the DRAM and read it out. Or rely on a software bug.
5. Handling large numbers of keys (i.e. a key-chain).
6. Introduce new cryptographic algorithms.
7. Optimizing energy consumption/peak performance/speed depending upon use-case.
Just protecting address spaces hasn't worked: most applications will need to pull keys from somewhere to use them and therein lies the problem.