Function Call Authorization Tokens Against Fault Injection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing systems are vulnerable to fault injection attacks that can alter system behavior and expose sensitive information or execute unauthorized code, compromising security features.
Innovation Solution
Implement function call authorization by associating each function with a unique authorization token, comparing it with a stored value in a register before execution, and raising exceptions for unauthorized access, thereby preventing unauthorized jumps and executions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If function call authorization checks are implemented by comparing immediate values with stored authorization values, then security against fault injection attacks is improved, but device complexity increases due to additional comparison operations and exception handling mechanisms
Solution Approach 1:
The patent applies preliminary action by embedding function call authorization checks at the entry points of functions before the actual function execution begins. The comparison between the immediate value from the branch/jump instruction and the stored function call authorization value occurs preemptively, allowing the system to prevent unauthorized function calls before they can execute malicious code or access sensitive data.
Solution Approach 2:
The patent introduces an intermediary mechanism in the form of function call authorization values that are stored alongside function definitions. These authorization values act as mediators between the control flow instructions and the function execution, requiring that any branch or jump instruction must present a matching authorization value to gain access to the function, thereby preventing fault injection attacks.
2Reliability
If authorization checks are performed at function entry points, then protection against unauthorized execution is improved, but processing time increases due to additional comparison operations
Solution Approach 1:
The patent applies partial action by implementing authorization checks only at critical function entry points rather than uniformly across all functions. The system selectively places function call authorization checks where they are most needed to prevent fault injection attacks and unauthorized execution, avoiding the overhead of checking every single function call in the system.
Data Source
AI summary
This document discloses aspects of function call authorization for program flow control. In some aspects, a processor encounters a first instruction to initiate or call a function. The processor compares an immediate value of a second instruction at an entry point of the function to a function call authorization value stored in a register. In response to the immediate value of the second instruction matching the function call authorization value stored in the register the process transfers control flow to the function. Alternatively, if the values do not match, an exception or fault may be raised to halt execution of the function or other code. By so doing, these and other aspects of function call authorization may prevent fault injection attacks, execution of unauthorized instructions, or access to sensitive data.


