Client Device Integrity Verification via Periodic Service Replacement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems fail to effectively verify the integrity and authenticity of client devices, as applications and libraries can be compromised by reverse-engineering, rootkits, and masquerading, leading to untrusted communication with headend servers.
Innovation Solution
An integrity checking system that generates uniquely identifiable services to perform checks on client devices, downloads these services, receives and analyzes results, and replaces them periodically to ensure continuous verification of the client's integrity, using a headend server, EPI server, and EPI services factory over a secure network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If integrity checking services are downloaded to the client device, then the ability to verify client integrity is improved, but the risk of services being compromised or tampered with increases
Solution Approach 1:
The system implements periodic replacement of integrity checking services by generating new uniquely identifiable services at predetermined intervals. This temporal segmentation ensures that even if one service is compromised, the damage is limited to a specific time window, and subsequent services will detect the compromise when they are deployed and executed.
Solution Approach 2:
The integrity checking functionality is divided into multiple discrete, replaceable services rather than a single persistent service. Each service is uniquely identifiable and can be independently downloaded, executed, and replaced. This segmentation isolates potential compromises to individual service instances rather than the entire integrity checking system.
2Reliability
If multiple integrity checking services are deployed to the client, then the comprehensiveness of integrity verification is improved, but the complexity of managing and tracking these services increases
Solution Approach 1:
Each integrity checking service reports back to the headend server with information about its execution results and the state of the client device. This feedback mechanism allows the headend to track which services have been deployed, executed, and what integrity issues were detected, providing visibility into the complexity of managing multiple services without requiring direct headend involvement in each service's operational details.
Solution Approach 2:
The system introduces an intermediary layer where the headend server generates and manages the service lifecycle (download, replacement) while the services autonomously execute on the client and report results. This intermediary architecture distributes the management complexity, allowing the headend to focus on service deployment while the client handles service execution and reporting.
3Reliability
If integrity services are frequently replaced on the client device, then the resistance to compromise is improved, but the overhead of downloading and executing new services increases
Solution Approach 1:
The system treats integrity checking services as temporary, disposable objects with limited lifetimes. Each service is designed to be downloaded, executed, and then replaced rather than maintained long-term. This approach accepts the overhead of frequent replacement as a necessary cost to maintain compromise resistance, similar to using single-use security tokens or temporary verification mechanisms.
Solution Approach 2:
The system changes the temporal parameter of service lifetime, making services short-lived by design. By adjusting the replacement frequency and service duration parameters, the system balances compromise resistance against replacement overhead, optimizing the time window for service effectiveness while limiting exposure to potential compromises.
Data Source
AI summary
Integrity checking a remote client includes generating integrity services configured to perform integrity checks on the client when executed thereon, and downloading a set of the generated services to the client. The integrity checking also includes receiving respective integrity check results from the downloaded services and performing respective integrity tests on each downloaded service based in part on the integrity check results received from that service. The integrity checking further includes replacing the set of downloaded services with a new set of services that perform same integrity tests as the replaced set of downloaded services if any downloaded service fails the respective integrity test performed thereon.


