Jacob Sorber, Minho Shin, Ron Peterson, David Kotz
Mobile computing and sensing technologies present exciting opportunities for healthcare. Prescription wireless sensors worn by patients can automatically deliver medical data to care providers, dramatically improving their ability to diagnose, monitor, and manage a range of medical conditions. Using the mobile phones that patients already carry to provide connectivity between sensors and providers is essential to keeping costs low and deployments simple. Unfortunately, software-based attacks against phones are also on the rise, and successful attacks on privacy-sensitive and safety-critical applications can have significant consequences for patients.
In this paper, we describe Plug-n-Trust (PnT), a novel approach to protecting both the confi dentiality and integrity of safety-critical medical sensing and data processing on vulnerable mobile phones. With PnT, a plug-in smart card provides a trusted computing environment, keeping data safe even on a compromised mobile phone. By design, PnT is simple to use and deploy, while providing a flexible programming interface amenable to a wide range of applications. We describe our implementation, designed for Java-based smart cards and Android phones, in which we use a split-computation model with a novel path hashing technique to verify proper
behavior without exposing confidential data. Our experimental evaluation demonstrates that PnT achieves its security goals while incurring acceptable overhead.
Public Review uploaded by UrsHengartner:
This public review was prepared by Urs Hengartner.
People wearing body sensors that gather health-related data and that upload these data, maybe in processed form, to a server for further analysis could be a commonplace scenario soon. The research challenge studied in this paper is to have a person's smartphone process and upload the gathered data despite the potential presence of malware, which may tamper with the data, on the phone. The proposed solution has a trusted smart card in microSD form, which is inserted into the phone, process the data. The smartphone remains responsible for uploading of the data, but sees only encrypted (and authenticated) data. Because a smart card may not be powerful enough to run entire applications, the smartphone also sends individual processing instructions, as required by an application, to the smart card.
Strong points of the paper are the idea of using a smart card for creating a trusted processing environment, which is different from the intuitive approaches based on TPMs or TrustZone, the existence of a prototype implementation on commercially available hardware, a hash-chain construction that allows the smart card to attach short tags to the processed data, enabling the server to verify whether the smartphone sent correct processing instructions to the smart card, and an exemplary description of the system and threat model, which any potential author of a security paper should take a look at.
A weak point of the paper is its omission to demonstrate the benefits of processing data locally on a smart card, instead of uploading raw data to the server and processing it there. The authors argue that their approach may have lower bandwidth and energy costs, but there is no evaluation that conclusively supports this argument. Furthermore, it remains unclear how much impact the limited processing model supported by the smart card (in particular, its need to execute both branches of a conditional statement to avoid timing attacks) has on its ability to execute the kind of processing required by real-world health applications.
In future work, it should be interesting to take another look at the performance of the proposed solution given that smart cards that offer higher processing throughputs should become available soon. In addition, the proposed solution should be deployed and evaluated with actual body sensors and health applications to conclusively demonstrate its suitability. Finally, in "Software Abstractions for Trusted Sensors", also appearing in MobiSys 2012, Liu et al. propose a competing approach that is based on TrustZone, so it will be interesting two see whether and which of the two approaches ultimately becomes widely adopted.
We appreciate the praise, helpful criticism, and suggestions that we have received in response to this paper, and we look forward to continuing this discussion at MobiSys.
As the review points out, we still have work to do on Plug-n-Trust. In the future, we plan to deploy and evaluate Plug-n-Trust in real medical sensing environments using newer smart cards that have recently been announced by manufacturers and promise improved performance.
We also expect the TrustZone-based approach, described by Liu et al., to provide a valuable opportunity to explore different points in this design space that balance security, performance, and cost in different ways. Having a TCB that is physically independent from the smartphone, allows Plug-n-Trust to provide security properties and deployability advantages that aren't feasible with a TrustZone or TPM-based system; however, having a secure element on the same chip as the application processor (as in TrustZone) can potentially provide better performance.