Hierarchical Document Access Control in Distributed Key-Value Stores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Big Data storage solutions, such as Apache Accumulo, face challenges in seamlessly integrating with existing enterprise authentication and authorization systems and enforcing internal information security policies for secure, real-time database access.
Innovation Solution
A method for secure access to hierarchical documents in a sorted, distributed key-value data store using n-tuple structured keys with key-value access control, where fieldnames and visibility labels are derived and applied to control data access, integrating with enterprise authentication systems and enforcing security policies through a labeling engine and policy engine.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fine-grained security controls are implemented at the data level in Apache Accumulo, then data security and access control capability are improved, but integration complexity with existing enterprise authentication and authorization systems increases
Solution Approach 1:
The patent introduces an intermediary layer that translates between enterprise authentication/authorization systems and Apache Accumulo's fine-grained security model. This mediator handles the complexity of integration by converting enterprise security policies into Accumulo's visibility labels and security tags, allowing both systems to work together without direct complex integration
Solution Approach 2:
The patent creates a universal security framework that can work with multiple different enterprise authentication and authorization systems while maintaining Apache Accumulo's fine-grained security capabilities. This multi-functional approach allows the same security infrastructure to support various enterprise systems (e.g., Active Directory, LDAP, custom systems) without requiring separate integration solutions for each
2Reliability
If hierarchical documents with multiple protection levels are stored in the data store, then data confidentiality and security control are improved, but processing and query complexity increase
Solution Approach 1:
The patent segments hierarchical documents into discrete fields, each with its own protection level and visibility label. This segmentation allows the system to apply fine-grained security controls to individual fields rather than treating entire documents as single units, making security management more manageable and queries more efficient by allowing selective access to only the fields needed
Solution Approach 2:
The patent applies security labels and protection levels to document fields during the ingestion process rather than during query processing. This preliminary action pre-configures the security metadata, allowing the query engine to efficiently filter and retrieve only authorized fields without complex runtime security evaluations
3Measurement precision
If fieldname and visibility label pairs are derived and applied for each field in hierarchical documents, then access control precision is improved, but computational overhead during data ingestion increases
Solution Approach 1:
The patent derives and applies visibility labels to document fields during the data ingestion process rather than during query execution. This preliminary action ensures that security metadata is pre-computed and stored with the data, eliminating the need for complex computational overhead during query processing while maintaining precise access control
Solution Approach 2:
The patent implements a self-service mechanism where the system automatically derives visibility labels from the hierarchical document structure and protection level definitions without requiring manual configuration for each field. This automation reduces the computational burden by using rule-based derivation rather than requiring extensive manual security policy configuration
Data Source
AI summary
Policy-based, cell-level access control is provided in association with a sorted, distributed key-value data store. As data representing a hierarchical document is ingested into the data store, the data is interpreted to identify fields and any sub-fields in the document, each identified field and its associated protection level as identified are translated into a set of one or more fieldname and visibility label pairs. Each fieldname and visibility label pair has a fieldname identifying a field and its zero or more sub-fields, together with a visibility label that is a function of the associated protection levels of the field and any sub-fields therein. At query time, and in response to receipt of a query including an authorization label, the fieldname and visibility labels are applied against the authorization label in the query to control which fields in the document are retrieved and used to generate the response to the query.


