Conditional Authentication for Code Signing Certificates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional code signing certificate based authentication mechanisms are inadequate in preventing misuse and rogue developers, as they rely solely on the security of private keys and do not protect against attackers or malicious apps signed with stolen certificates.
Innovation Solution
Implementing a conditional authentication method that uses a software application's identity to obtain and authenticate a public key and associated installation/operation conditions, which are used to control the installation and operation of the application, thereby enhancing security by limiting trust based on specified conditions such as package names, permissions, prevalence, installation patterns, and binary structure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional code signing certificate authentication is used, then app installation is simplified and trusted sources are recognized, but the system cannot protect against attackers or rogue developers who obtain stolen certificates
Solution Approach 1:
The patent segments the authentication process into multiple independent verification stages: initial certificate-based authentication, followed by conditional authentication requiring additional verification methods (such as re-signing with updated certificates or providing proof of authorization). This segmentation allows the system to maintain ease of operation for legitimate apps while adding security layers that activate only when needed to prevent certificate misuse.
Solution Approach 2:
The system performs preliminary authentication using the code signing certificate before allowing app installation and execution. This preliminary action establishes a baseline trust level, and only after this initial verification does the system proceed to further conditional checks if required, ensuring that no unverified code can execute on the device.
2Reliability
If additional authentication mechanisms are implemented, then security against rogue developers is improved, but the complexity of the authentication system increases
Solution Approach 1:
The authentication system is designed to be dynamic rather than static. It adapts its verification requirements based on the specific app and developer context. For well-established developers with clean records, the system may require only standard certificate verification. For unknown or suspicious developers, additional conditional authentication steps are automatically triggered. This dynamic approach maintains security while minimizing unnecessary complexity for legitimate applications.
Solution Approach 2:
The patent introduces an intermediary authentication layer that acts as a mediator between the initial certificate verification and full app installation. This intermediary stage can require additional proofs of authorization, re-signing with updated certificates, or verification through trusted third parties. By inserting this intermediary layer, the system adds security without making the entire authentication process inherently complex, as the additional steps are only activated when needed.
3Productivity
If code signing certificates are used to minimize AV scanning, then computational load is reduced and device performance improves, but the system becomes vulnerable to malware signed with stolen certificates
Solution Approach 1:
The system applies partial AV scanning based on the authentication outcome. Apps that pass both initial certificate authentication and conditional verification receive full trust and are exempt from scanning, maintaining high device performance. However, apps that fail conditional authentication or come from unverified sources undergo partial or full AV scanning, providing excessive security action where needed. This selective approach balances performance optimization with malware protection.
Solution Approach 2:
The authentication system incorporates feedback loops where the results of initial certificate verification influence subsequent scanning decisions. If an app's certificate and conditional authentication succeed, the system receives positive feedback and skips intensive scanning. If verification fails or raises suspicions, negative feedback triggers additional AV scanning. This feedback mechanism allows the system to dynamically adjust security measures based on real-time verification outcomes, optimizing both performance and security.
Data Source
AI summary
A method of authenticating or controlling a software application on an end user device. The method includes, at the end user device, downloading software application data from a remote server, the data including application code, a cryptographically derived signature obtained using said application code, and an identity of an application developer. The identity is then used as a look-up key to obtain or authenticate a public key of the application data, and to obtain one or more associated installation and/or operation conditions. The cryptographically derived signature is authenticated using said application code and said public key, and, in the event that authentication is successful, authentication of the application code is performed and/or installation and/or operation of the application controlled using said conditions.


