Thread-Specific User Impersonation in Multi-Threaded Backup Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveuser access control complexityVSAvoidbackup access reliability
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

2Reliability

If the backup application serializes system calls to manage user impersonation, then access control is maintained, but application performance and productivity deteriorate

Engineering Contradiction:
Improveaccess control integrityVSAvoidbackup operation speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvebackup file accessibilityVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveuser identity switching capabilityVSAvoidapplication invocation flexibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9361310B1Method and system for network user access impersonation for multi-threaded backup applications
Publication Date: 2016.06.07 EMC IP HLDG CO LLC
  • US9361310B1 patent drawing
  • US9361310B1 patent drawing

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.