Thread-Specific User Impersonation in Multi-Threaded Backup Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-threaded backup applications face issues with network user access impersonation due to operating systems forcing all threads to impersonate the same user, leading to improper access, privilege escalation, and privilege diminishment, and requiring cumbersome serialization of system calls, while also failing to execute as a root user when invoked by an end user or application service.
Innovation Solution
A backup application receives user identities for secure backup files and directly applies the network file system protocol to enable specific threads to impersonate specific users without disrupting unrelated threads, removing the need for the backup application's host operating system to execute as a root user by eliminating the call to the network file system service.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the operating system forces all threads to impersonate the same user, then user access control is simplified, but multi-threaded backup applications experience improper access, privilege escalation, and privilege diminishment
Solution Approach 1:
The patent segments the user impersonation function by thread, allowing each thread to have its own impersonated user identity. This is achieved by modifying the operating system's thread management to store and apply user identity mappings on a per-thread basis, rather than forcing all threads to share a single user identity. This segmentation resolves the contradiction by maintaining simple access control mechanisms while enabling reliable thread-specific access to different backup files.
Solution Approach 2:
The patent applies local quality by allowing different threads to have different user identities tailored to their specific needs. Each thread can impersonate the user who created the backup file it needs to access, providing locally optimized access rights for each thread's specific task rather than a blanket user identity for all threads.
2Reliability
If the backup application serializes system calls to manage user impersonation, then access control is maintained, but application performance and productivity deteriorate
Solution Approach 1:
The patent introduces dynamics by making user identity assignment flexible and adaptive to each thread's needs. Instead of static serialization, the system dynamically assigns the appropriate user identity to each thread based on the backup file it needs to access. This dynamic approach maintains access control integrity while allowing parallel execution of multiple backup operations, thereby preserving productivity.
3Adaptability or versatility
If the backup application executes as a root user, then access to secure backup files is enabled, but security risks and compliance issues increase
Solution Approach 1:
The patent extracts the root user requirement by implementing a mechanism where the backup application does not need to execute as root. Instead, individual threads impersonate the appropriate users when accessing backup files, removing the need for the entire application to run with elevated root privileges. This extraction of the root user dependency maintains backup file accessibility while reducing security risks associated with root execution.
Solution Approach 2:
The patent introduces user impersonation as an intermediary mechanism between the backup application and the backup files. Rather than the application directly accessing files as root, each thread uses an impersonated user identity as an intermediary to access the files it needs, thereby maintaining accessibility while avoiding the security hazards of root execution.
4Adaptability or versatility
If the operating system requires root user execution for user impersonation, then user identity switching is enabled, but the application cannot execute as a regular user when invoked by end users
Solution Approach 1:
The patent implements self-service by enabling the backup application to perform user impersonation without requiring root privileges. The application itself manages the creation and application of user identity mappings for its threads, making the user impersonation function self-sufficient and independent of root user execution requirements. This allows the application to be flexibly invoked by end users while still maintaining the capability to switch user identities as needed.
Data Source
AI summary
Network user access impersonation for multi-threaded backup applications is described. A backup application receives a first user identity and a second user identity of a set of user identities. The backup application calls a network file system service. The network file system service applies the first user identity to a first thread of a set of threads of a backup application. The network file system service applies the second user identity to a second thread of the set of threads of the backup application. The network file system service enables the first thread to access a first backup file on a first network storage device based on the first user identity. The network file system service enables the second thread to access a second backup file on a second storage device based on the second user identity.

