Lecture11 - The University of Texas at Dallas
Download
Report
Transcript Lecture11 - The University of Texas at Dallas
Access Control in Data
Management Systems
Dr. Bhavani Thuraisingham
The University of Texas at Dallas
Access Control and Policies in
Data Management Systems
June 2015
Outline
Discretionary Access Control in Relational Databases
Mandatory Access Control in Relational Databases
- Security Constraints
Types of Access Control
- Inference problem, Role-based, Temporal, Usage
Access Control in Other Databases
- Objects, Federated
Current Trends in Access Control
- Date Warehousing, Semantic Web, Privacy Control
Next Steps in Access Control
Access Control in Relational Databases:
1975 - Present
Access Control policies were developed initially for file systems
- E.g., Read/write policies for files
Access control in databases started with the work in System R and
Ingres Projects
- Access Control rules were defined for databases, relations,
tuples, attributes and elements
- SQL and QUEL languages were extended
GRANT and REVOKE Statements
Read access on EMP to User group A Where
EMP.Salary < 30K and EMP.Dept <> Security
- Query Modification:
Modify the query according to the access control rules
Retrieve all employee information where salary < 30K and
Dept is not Security
Query Modification Algorithm
Inputs: Query, Access Control Rules
Output: Modified Query
Algorithm:
- Given a query Q, examine all the access control rules relevant to
the query
- Introduce a Where Clause to the query that negates access to
the relevant attributes in the access control rules
Example: rules are John does not have access to Salary in
EMP and Budget in DEPT
Query is to join the EMP and DEPT relations on Dept #
Modify the query to Join EMP and DEPT on Dept # and
project on all attributes except Salary and Budget
- Output is the resulting query
Mandatory Access Control (MAC) in
Databases: 1982- Present
Bell and LaPadula Policy adapted for databases
-
Read at or below your level and Write at your level; Granularity of
classification: Databases, Relations, Tuples, Attributes, Elements
Security Architectures
-
Operating system providing mandatory access control and DBMS is
untrusted with respect to MAC (e.g., SRI’s SeaView)
-
Trusted Subject Architecture where DBMS is trusted with respect to
MAC (e.g., TRW’s ASD and ASD Views)
-
Integrity Lock where Trusted front-end computes checksums (e.g.,
MITRE’s MISTRESS Prototype)
-
Distributed Architecture where data is distributed according to security
levels and access through trusted front-end (e.g., NRL’s SINTRA)
Extended Kernel for Security Policy Enforcement such as constraints
(e.g., Honeywell’s Lock Data Views)
Security Policies / Access Control Rules
Simple Constraint: John cannot access the attribute Salary of
relation EMP
Content-based constraint: If relation MISS contains information
about missions in the Middle East, then John cannot access MISS
Association-based Constraint: Ship’s location and mission taken
together cannot be accessed by John; individually each attribute can
be accessed by John
Release constraint: After X is released Y cannot be accessed by
John
Aggregate Constraints: Ten or more tuples taken together cannot be
accessed by John
Dynamic Constraints: After the Mission, information about the
mission can be accessed by John
Enforcement of Security Policies/Constraints
User Interface Manager
Security
Constraints
Constraint
Manager
Query Processor:
Constraints during
query and release
operations
Update
Processor:
Database Design
Tool
Constraints during
database design
operation
Constraints
during
update
operation
Relational DBMS
Database
Other Developments in Access Control
Inference Problem and Access Control
- Inference problem occurs when users pose queries and deduce
unauthorized information from the legitimate responses
- Security constraint processing for controlling inferences
- More recently there is work on controlling release information
instead of controlling access to information
Temporal Access Control Models
- Incorporates time parameter into the access control models
Role-based access control
- Controlling access based on roles of people and the activities
they carry out; Implemented in commercial systems
Positive and Negative Authorizations
- Should negative authorizations be explicitly specified? How can
conflicts be resolved?
Some Examples
Temporal Access Control
- After 1/1/05, only doctors have access to medical records
Role-based Access Control
- Manager has access to salary information
- Project leader has access to project budgets, but he does not
have access to salary information
- What happens is the manager is also the project leader?
Positive and Negative Authorizations
- John has write access to EMP
- John does not have read access to DEPT
- John does not have write access to Salary attribute in EMP
- How are conflicts resolved?
Access Control in Other Types of Databases
Object Databases
- Controlling access to classes, object instances, instance
variables, method execution etc.
- E.g., MCC’s ORION model both for discretionary security and
mandatory security
Distributed Databases
- Extend access control for relational databases to a distributed
environment across the nodes
Federated Databases
- Integrate security policies exported by the component database
systems and form a federated policy
Deductive Databases
- Logic for secure data and knowledge base systems – e.g., NTML
Non-monotonic Typed Multilevel Logic
Access Control in Databases: Current Trends
(1996 – Present)
Data Warehousing
- Controlling access to aggregate information in the Warehouse
Multimedia Database Systems
- Geospatial Information Systems
Web Databases
- E-Commerce and Knowledge Management,
Collaboration/Workflow
Semantic Web
- XML, RDF, Information Integration
Dependable Databases
- Real-time/Embedded Database Systems
- Sensor/Stream Database Systems
Policies
Need to Know to Need to Share
RBAC
UCON
Dissemination
Risk based access control
Trust Management/Credential/Disclosure
Directions
Major conferences for Policy and Access Control:
- IEEE Policy Workshop
- ACM SACMAT
Need to Know to Need to Share
Need to know policies during the cold war; even if the user has
access, does the user have a need to know?
Pose 9/11 the emphasis is on need to share
- User may not have access, but needs the data
Do we give the data to the user and then analyze the
consequences
Do we analyze the consequences and then determine the
actions to take
Do we simply not give the data to the user
What are risks involved?
RBAC
Access to information sources including structured and
unstructured data both within the organization and external to the
organization
Access based on roles
Hierarchy of roles: handling conflicts
Controlled dissemination and sharing of the data
RBAC (Sandhu)
UCON
RBAC model is incorporated into UCON and useful for
various applications
- Authorization component
Obligations
Obligations are actions required to be performed before
an access is permitted
- Obligations can be used to determine whether an
expensive knowledge search is required
Attribute Mutability
- Used to control the scope of the knowledge search
Condition
- Can be used for resource usage policies to be relaxed or
tightened
-
UCON (Sandhu)
Dissemination Policies
Release policies will determine to whom to release the data
- What is the connection to access control
- Is access control sufficient
- Once the data is retrieved from the information source (e.g.,
database) should it be released to the user
Once the data is released, dissemination policies will determine who
the data can be given to
- Electronic music, etc.
Risk Based Data Sharing/Access Control
What are the risks involved in releasing/disseminating the data
Risk modeling should be integrated with the access control model
Simple method: assign risk values
Higher the risk, lower the sharing
What is the cost of releasing the data?
Cost/Risk/Security closely related
Trust Management
Trust Services
- Identify services, authorization services, reputation
services
Trust negotiation (TN)
Digital credentials, Disclosure policies
TN Requirements
- Language requirements
Semantics, constraints, policies
System requirements
Credential ownership, validity, alternative negotiation
strategies, privacy
Example TN systems
KeyNote and Trust-X (U of Milan), TrustBuilder (UIUC)
-
-
Trust Management
The problem: establishing trust in open
systems
Interactions between strangers
- In conventional systems user identity is known in advance
and can be used for performing access control
- In open systems partecipants may have no pre-existing
relationship and may not share a common security domain
Mutual authentication
-
Assumption on the counterpart honesty no longer holds
Both participants need to authenticate each other
Trust Negotiation
model
A promising approach for open systems where most of the interactions
occur between strangers
The goal: establish trust between parties in order to exchange sensitive
information and services
The approach: establish trust by verifying properties of the other party
Trust negotiation: the approach
Interactions between strangers in open systems
are different from traditional access control models
Policies and mechanisms developed in conventional
systems need to be revised
USER ID’s
VS.
SUBJECT PROPERTIES
ACCESS CONTROL
POLICIES
VS.
DISCLOSURE POLICIES
Subject properties: digital credentials
Assertion about the credential owner issued and certified by a Certification
Authority.
Each entity has an associated set of credentials,
describing properties and attributes of the owner.
CA
CA
CA
CA
Use of Credentials
Digital Credentials
Issuer
-Julie
-3 kids
Alice
-Married
Check
-American
-Julie
- American
Credential
Check
-Julie
- Married
Company B
Want to know marital status
Company A
Want to know citizenship
Referenced from http://www.credentica.com/technology/overview.pdf
Credentials
Credentials can be expressed through the Security Assertion
Mark-up Language (SAML)
SAML allows a party to express security statements about a
given subject
Authentication statements
- Attribute statements
- Authorization decision statements
-
Disclosure policies
Disclosure policies govern:
Disclosure
policies
Access to protected resources
Access to sensitive information
Disclosure of sensitive credentials
Disclosure policies express trust requirements by means of credential
combinations that must be disclosed to obtain authorization
Disclosure policies - Example
Suppose NBG Bank offers loans to students
To check the eligibility of the requester, the Bank asks the
student to present the following credentials
The student card
- The ID card
- Social Security Card
- Financial information – either a copy of the Federal Income Tax
-
Return or a bank statement
Disclosure policies - Example
p1= ({}, Student_Loan Student_Card());
p2= ({p1}), Student_Loan Social_Security_Card());
p3= ({p2}, Student_Loan Federal_Income_Tax_Return());
p4= ({p2}, Student_Loan Bank_Statement());
P5=({p3,p4}, Student_Loan DELIV);
These policies result in two distinct “policy chains” that lead to disclosure
[p1, p2, p3, p5]
[p1, p2, p4, p5]
Directions
Policies are of much interest to many organizations and
applications
- Financial, Medical, Retail, Manufacturing etc
Roles and responsibilities
Flexible policies
RBAC, UCON, RBUC, Trust Negotiation, Dissemination
Policies
Need to Know to Need to Share
IEEE POLICY and ACM SACMAT