TEE off with your mobile: Trusted Execution Environments

Posted on November 9, 2012


No not golf, sorry.

You’ll have heard of the Mobile SIM in a GSM phone.  Well this is a special computing environment that can be trusted by the operator.  The SIM s used to compute the security keys and messages needed to allow the network and the phone to authenticate each other.
Well that’s all well and good for the network,  but we “Houston we have a problem” with trusting our phones for just about anything else.
What’s that I hear you say,  “I trust my phone”, well you might do,  however if you must guarantee an app is undamaged, and the use of it is strictly private, and not tampered with then a phone is not the best place.
The uses would be for mobile payments, secure email, keeping intellectual property or any other sensitive information,  but not just keeping data safe, but also the apps that use it are to be safe from outside interference too.
Here is a little picture I made to help show you what I mean
this is where the Trusted Execution Environment comes in.
I’ll not bore you with the technical details (unless I get asked ;-) but suffice to say the aim is to partition off a section of the phone that is secure.  How is it secure, and by this I mean that the contents of the environment cannot be discovered, read or otherwise used from outside the TEE, and apps that are running in the TEE are also not visible to any others. How is this done,  well the common thinking is to make it like a virtual machine.
Then restrict the apps that can be loaded to only those that have been verified and signed.
Some solutions also go to providing a secure network channel (think VPN) so that the integrity of the data to from the servers can be verified.
You’ll have noted the SE in the picture above this means Secure Element,  and this is a piece of secure code that is executed by the SIM.  By running in the SIM it is separated from the phone’s Os and so is safe from the risks that imposes.  Typically these are used to sign security tokens and the like.  Remember that the SIM is not a suitable place to run a full app,  and deploying a SE to the SIM is not an easy task,  however the result is a secure and trustable piece of code.
So in this way we can protect the apps within the TEE from those that are in the general part of the phone.
This is popular thinking with those enterprises that have important data to secure,  as well as the government and I suppose the banks and others.
If you think this is all just pie in the sky, well there are already some phones out there that have this facility
from the likes of  HTC, Motorola, Samsung, Huawei, and Sony-Ericsson,   and some tablets also have this facility.
It’s not a new idea (is anything ?) back in the day when phones had Java apps (remember them) well a lot of the features were restricted to apps that were signed by the Operator or the handset manufacturer, this was to prevent the hoipolloi from creating apps that could read your inbox, or contact, make calls without asking etc.
This TEE is like taking that to the next level,  and doing it with the power of Hardware Virtual Machines.
So be on the lookout for these over the coming years.
Couple of links for more details … there are many more but hey,  use you can use google …
Posted in: mobile