I'm really excited about this type of technology.<p>I don't think I would boot an entire separate OS in the secure world, but rather a small, simple OS with secure key storage ability, secure display ability, and the ability to boot Android as the insecure OS.<p>This gives the ability for applications, running on Android in the insecure world, to store keys in the secure world, making them inaccessible to applications in the insecure world. For example, one could create a new secret key, residing in the in the secure would, and specify that it must only be read by code that hashes to a certain hash (running the secure world).<p>So, a Bitcoin wallet, for example, could create a new key in the key store, and -- upon creation of the key -- specify that it can only be read by a piece of ECDSA signature code which hashes to a certain value, and runs in the secure world. So the only thing the wallet can do is send an unsigned Bitcoin transaction to a program running in the secure world, which then parses the transaction, displays the amount and destination address(es) securely on the display (not modifiable by Android running the insecure world), and then the user can accept or deny on the display. Upon accepting, the ECDSA signature code running in the secure world will sign the transaction (inputs), and deliver a signed transaction to the Bitcoin wallet software running in the insecure world.<p>Assuming this small "secure key storage" OS is implemented securely, and protected by a password (with exponentially increasing waiting period after each unsuccessful attempt), it wouldn't be possible for software running in Android -- even kernel-level code -- to steal Bitcoin wallet private keys, or any other keys protected by this mechanism. If this key storage OS is kept small enough, it should be possible to create something that can be audited for a reasonable sum of money.<p>Perhaps it could even be written in a language with superior type safety like Haskell, to make it easier to reason about its security.<p>This would be a really big leap in information security -- providing we do it right. It would mean other hardware key storage devices like SIM cards and credit card chips would become less necessary, as secure phone apps would be able to replace these. A VISA card could become an app on a phone, that can securely sign transactions, thus reducing credit card fraud significantly.<p>The secret keys stored on a SIM card could be stored on the phone instead -- using a Diffie-Hellman key exchange between a program running in the secure world and a server run by the cell tower operator. No more receiving SIM cards in the mail.