Run-time Signature Verification for Secure Function Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software systems face security vulnerabilities due to reliance on credential/key-based techniques, which can be compromised by rogue programs, and anti-virus software often leads to false positives and user errors, while load-time authentication and credential-based security systems are inadequate for protecting data integrity and digital rights management.
Innovation Solution
A method and apparatus that utilize a signature verification engine to authenticate target functions at run-time, ensuring only authorized functions execute, and a programmable register set to enforce secure access policies, including signature verification and policy-based management of register access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If credential/key-based techniques are used to ensure security, then data encryption/decryption capability is improved, but the system becomes vulnerable to rogue programs with viable credentials
Solution Approach 1:
The patent segments the authentication process into two independent components: credential verification (signature verification engine) and access right verification (policy enforcement mechanism). This segmentation ensures that having valid credentials alone is insufficient for data access, as the system separately verifies both the signature and the calling function's authorized access rights to the target function's data
Solution Approach 2:
The patent introduces an intermediary authentication mechanism that mediates between the calling function and target function. This intermediary verifies both the signature of the target function and the access rights of the calling function, preventing rogue programs from directly accessing encrypted data even with valid credentials
2Reliability
If anti-virus software is used to protect against malicious programming attacks, then system protection capability is improved, but false positives lead to removal of innocent software code
Solution Approach 1:
The patent performs preliminary authentication of software code signatures during the secure boot process and at function call boundaries. By verifying signatures before execution and at critical transition points, the system prevents malicious code from executing without needing to rely on post-execution anti-virus detection, thereby avoiding false positives
3Reliability
If load-time authentication is used during secure boot process, then initial system security is improved, but the system remains susceptible to programming attacks at run-time
Solution Approach 1:
The patent implements continuous signature verification throughout the system's operation, not just at load-time. The signature verification engine authenticates target functions at function call boundaries during run-time, maintaining continuous security protection against programming attacks throughout the system's operational lifecycle
4Adaptability or versatility
If credential-based security systems are used to enforce data access policy, then access control capability is improved, but the system can only enforce one data-access policy and is vulnerable to credential compromise
Solution Approach 1:
The patent segments the security verification process into distinct signature verification and policy enforcement stages. This allows the system to implement multiple different access policies for different target functions while maintaining a unified signature verification mechanism, thereby supporting diverse access control requirements without relying solely on credential verification
Data Source
AI summary
The device and accompanying apparatus and method provides security among a calling function, such as an any executable code, and at least one target function, such as any executable code that the calling function wishes to have execute. In one example, the device includes an engine operative to perform run-time verification of the signatures of secure interrupt handler code and at least one target function before allowing execution of the at least one target function. If both the secure interrupt handler code's signature and the at least one target function's signature are successfully verified, the at least one target function is allowed to execute.


