Visible to the public Temporal Consistency of Integrity-Ensuring Computations and Applications to Embedded Systems Security

TitleTemporal Consistency of Integrity-Ensuring Computations and Applications to Embedded Systems Security
Publication TypeConference Paper
Year of Publication2018
AuthorsCarpent, Xavier, ElDefrawy, Karim, Rattanavipanon, Norrathep, Tsudik, Gene
Conference NameProceedings of the 2018 on Asia Conference on Computer and Communications Security
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-5576-6
Keywordscomposability, embedded system security, Embedded systems, Metrics, pubcrawl, remote attestation, Resiliency, temporal consistency
AbstractAssuring integrity of information (e.g., data and/or software) is usually accomplished by cryptographic means, such as hash functions or message authentication codes (MACs). Computing such integrity-ensuring functions can be time-consuming if the amount of input data is large and/or the computing platform is weak. At the same time, in real-time or safety-critical settings, it is often impractical or even undesirable to guarantee atomicity of computing a time-consuming integrity-ensuring function. Meanwhile, standard correctness and security definitions of such functions assume that input data (regardless of its size) remains consistent throughout computation. However, temporal consistency may be lost if another process interrupts execution of an integrity-ensuring function and modifies portions of input that either or both: (1) were already processed, or (2) were not processed yet. Lack of temporal consistency might yield an integrity result that is non-sensical or simply incorrect. Such subtleties and discrepancies between (implicit) assumptions in definitions and implementations can be a source of inconsistenceies, which might lead to vulnerabilities. In this paper, we systematically explore the notion of temporal consistency of cryptographic integrity-ensuring functions. We show that its lack in implementations of such functions can lead to inconsistent results and security violations in protocols and systems using them, e.g., remote attestation, remote updates and secure resets. We consider several mechanisms that guarantee temporal consistency of implementations of integrity-ensuring functions in embedded systems with a focus on remote attestation. We also assess performance of proposed mechanisms on two commodity hardware platforms: I.MX6-SabreLite and ODROID-XU4.
URLhttp://doi.acm.org/10.1145/3196494.3196526
DOI10.1145/3196494.3196526
Citation Keycarpent_temporal_2018