Abstract | ||
---|---|---|
In this paper we present a novel approach to ensure that no malicious code can be executed on resource constraint devices such as sensor nodes or embedded devices. The core idea is to encrypt the code and to decrypt it after reading it from the memory. Thus, if the code is not encrypted with the correct key it cannot be executed due the incorrect result of the decryption operation. A side effect of this is that the code is protected from being copied. In addition we propose to bind instructions to their predecessors by cryptographic approaches. This helps us to prevent attacks that reorder authorized code such as return-oriented programming attacks. We present a thorough security analysis of our approach as well as simulation results that prove the feasibility of our approach. The performance penalty as well as the area penalty depend mainly on the cipher algorithm used. The former can be as small as a single clock cycle if Prince a latency optimized block cipher is used, while the area overhead is 45 per cent for a commodity micro controller unit (MCU). |
Year | Venue | Field |
---|---|---|
2015 | SecureComm | Unreachable code,Cipher,Block cipher,Cryptography,Computer science,Redundant code,Encryption,Cycles per instruction,Embedded system,Dead code |
DocType | Citations | PageRank |
Conference | 3 | 0.39 |
References | Authors | |
24 | 5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Oliver Stecklina | 1 | 50 | 6.05 |
Peter Langendörfer | 2 | 185 | 37.01 |
Frank Vater | 3 | 19 | 3.67 |
Thorsten Kranz | 4 | 13 | 1.25 |
Gregor Leander | 5 | 1287 | 77.03 |