Radium: Race-free On-demand Integrity Measurement Architecture
Hardware based root-of-trust provides a foundation for trustworthy computing platform. Trust in a computing platform is derived from verifying the state of the computing platform. To assert that a computing platform is trustworthy, the state of the computing platform is measured and the measurement is compared to previously recorded known-good state of the computing platform. This exercise of verifying the state of the application is also known as integrity measurement. Existing trusted computing solutions measure the trustworthiness of applications at the time of boot or reset. If the applications are in a known good state at the time of launch, they are implicitly trusted for any usage at a later point of time. This approach leads to the Time Of Check To Time Of Use (TOCTTOU) race condition. This race condition invalidates the trust in an application at the time of use and implies that any transaction with such an application as inherently insecure. To alleviate this problem, we propose Race-free on-demand integrity measurement (Radium) architecture, which will be used to ensure the trustworthiness of an entity at the time of use. We have built a prototype of Radium architecture using Xen hypervisor, and use hypervisor to measure the application at the time of use rather than at the time of boot or reset. By using hypervisor as the root-of-trust for measurements, we are able to achieve on-demand integrity measurements without resetting or rebooting the platform. We also observed that by using hypervisor's virtual machine introspection interface, more efficient and semantically rich measurements can be performed.