Authorization Authorization in Object-oriented Databases Anna Vapen

advertisement
Authorization
Authorization in
Object-oriented Databases
Anna Vapen
David Hall
December 2008
• ”the permission or power given to sb to do sth:
enter a security area without authorization”
Oxford Advanced Learner's Dictionary
• authorization is the concept of allowing access to
resources only to those permitted to use them.
“Authorization.” Wikipedia, The Free Encyc
Real world example
Real world example
Manager
Roles: Manager, researcher, PR person, employee
Manager
Documents
Researcher
Strategic documents
Secret
Can read/write any document
Research
S1
S2
Can read public PR-material and
read/write research material
Researcher
R1
R2
PR
PR
Employee
PR material
Public PR material
Employee
P1
Future ads
P2
Can read/write public PR material and
non-public PR material (work in progress)
Can only read public PR material
Object orientation
Authorization model in relational DBs
• Coarse-grained
• Units of authorization:
– Relation (record)
– Attribute (field)
•
•
•
•
Classes (composite*)
Objects
Inheritance
Versions
* leads to class-composition hierarchy
F1
F2
Objects
•
•
•
•
Class-composition
Unique id.
State (values of attributes)
Behavior (methods)
Instance of a class (may be a primitive)
Rim
Car
Tire
Composite class
Inheritance
Station
wagon
Boat
Sedan
• Authorize users to call methods within a class.
• Also must check any operations performed by
the method (e.g. reading/writing attribute
values)
Car
Amphibious
vehicle
Component classes
Methods
• Class hierarchy (single inheritance)
• Class lattice (multiple inheritance)
Car
Wheel
Sedan
Instances
• Want to read all instances of a class except
one or a few?
Employee
• Employees shouldn’t be able to see future
ads.
Database granularity hierarchy
Rabitti, F., Bertino, E., Kim, W., Woelk, D. 1991
Basic authorization concepts
• (s,o,a)
s∈S
o∈O
a∈A
F: S×O×A →(True, false)
• Subject (an user or group of users)
• Authorization object (single object, group of
objects, entire database)
• Authorization type (read, update, create, …)
Role lattice
Rabitti, F., Bertino, E., Kim, W., Woelk, D. 1991
grants
Object lattice
Type lattice
Rabitti, F., Bertino, E., Kim, W., Woelk, D. 1991
Rabitti, F., Bertino, E., Kim, W., Woelk, D. 1991
Implicit authorization
•
•
•
•
Rabitti, Woelk, Kim 1988
Rabitti, Bertino, Woelk, Kim 1991
Explicit setting <s,o,a> triplets
The rest of <s,o,a> combinations are implicitly
defined
Implicit authorization
Rabitti, F., Bertino, E., Kim, W., Woelk, D. 1991
Weak authorization
Strong authorization
Rabitti, F., Bertino, E., Kim, W., Woelk, D. 1991
Rabitti, F., Bertino, E., Kim, W., Woelk, D. 1991
Implicit authorization
• Pros:
– No need to store all combinations
– No need to set all combinations
• Cons:
– Sometimes hard to grasp why a specific
authorization is determined as it is
– Conflicts
– Computational overhead
Positive/negative authorization
Rabitti, F., Bertino, E., Kim, W., Woelk, D. 1991
Applied real world example
Applied real world example
Researcher: Can read public PR-material and read/write research material
Manager: Can read/write any document
Documents
Strategic
Secret
Documents
Strategic
PR material
Research
Secret
Public PR material
Explicit, strong, positive auth
PR material
Research
Public PR material
Future ads
Future ads
Explicit, strong, negative auth
Implicit, strong, negative auth
Explicit, weak, positive auth
Implicit, weak, positive auth
Implicit, strong, positive auth
Applied real world example
PR person: Can read/write public PR material and non-public PR material
Applied real world example
Employee: Can only read public PR material
Documents
Strategic
Documents
Strategic
PR material
Secret
Research
Secret
Public PR material
PR material
Research
Future ads
Explicit, strong, negative auth
Implicit, strong, negative auth
Explicit, weak, positive auth
Implicit, weak, positive auth
Public PR material
Future ads
Explicit, strong, negative auth
Implicit, weak, positive auth
Explicit, weak, negative auth
Implicit, weak, negative auth
Explicit, weak, positive auth
Alternatives
• Access policies implemented by methods
– Guard functions and proxy functions
– Method implementor and method principal
• Media access control (MAC)
– Single-level models
– Multilevel models
Versions
Object lattice for versions of objects
Rabitti, F., Bertino, E., Kim, W., Woelk, D. 1991
Discuss
• Papers:
1. Franzoni, S; Mazzoleni, P; Valtolina, S; Bertino,
E., Towards a Fine-Grained Access Control Model
and Mechanisms for Semantic Databases
2. Jajodia, R.; Samarati, P.; Subrahmanian, V. S.;
Bertino, E., A Unified Framework for Enforcing
Multiple Access Control Policies
3. Bertino, E.; Bettini, C.; Ferrari, E.; Samarati, P., A
Temporal Access Control Mechanism for
Database Systems
Discuss
• Questions:
– What problem are they trying to solve?
– What solution do they suggest?
– What are the limitations of this solution?
Exercise scenario
Exercise scenario
In this scenario there is a bank where there are
employees and a manager. The bank has
several customers that have one or several
accounts each. There are two types of
accounts: savings accounts and fund
accounts. A savings account can be either a
salary account or a long-time savings
account, while a fund account can be equity
fund account or a fixed-income fund account.
Every sub-type of account has an interest that
can only be changed by the manager.
Customers can withdraw money from their
salary account and see their account balance
on any of their accounts.
Exercise scenario
Exercise tasks
The employees at the bank can see the account
balance of the customers and they can also
open and close accounts, but opening and
closing of accounts (together with viewing of
the balance done by the employees on other
accounts than their own) can only be done
between 9 and 15 Monday to Friday.
1. Draw a graph that shows the different
account types, their variables and methods.
Show the access rights for a manager, an
employee and a customer by marking explicit
/ implicit, weak / strong and positive /
negative authorization in the graph.
2. Draw a role lattice showing shared and nonshared rights of managers, employees and
customers.
Download