Trust Management
Trust
Management is an approach to distributed access control and authorization based
on the following concepts:
Policies
determine when an entity or members of some group may perform an action on some
object, such as a document, database, or purchase order. Deduction determines
the consequences of a policy and produces “proofs” that can be enforced locally
by access monitors. Digital signatures provide cryptographic security and
eliminate the need for passwords and replicated password files.
.
Policy Language A policy language allows individuals to define
interdependent information sharing and trust policies locally, referring to
policies of other individuals or corporate hierarchies. Central concepts in
role-based trust management are:
-
Authorization, granting a permission to all individuals
occupying a certain role,
-
Delegation, allowing an individual to trust others to
make specified decisions,
-
Roles, grouping individuals into categories for
easy policy definition,
-
Revocation, terminating permission.
Access
policies can be simple statements allowing all employees of a company to access
all company documents, or complex policies that specify how different classifications
of employees may read or update different parts of a complex database. Policies
may further specify what kind of database updates are allowed by each kind of
each employee, or give specific limits on how many times a right may be
delegated.
Here
is an example illustrating authorization and delegation. In this example, a
hospital establishes the policy that the primary physician of any patient may
access the patient’s records, where the association between patient and
physician is determined by the clinic where the doctor normally sees the
patient outside the hospital. When a doctor is not available, she may delegate
her role as primary physician to another doctor:
Hospital policy
allow access(medical_record(Y)) if
clinic says primary_physician(Y)
define role clinic :
Oak_Medical, Central_Clinic, …
Central_Clinic policy
define role primary_physician(Nancy):
Susan allow
delegation
define role primary_physician(Albert):
Susan
allow delegation
define role primary_physician(Tony):
Susan
allow delegation
Susan policy when off-duty
delegate Central_Clinic.primary_physician(Nancy) to
Bob
In the condition, “clinic says primary_physician(Y)”, the word says is interpreted as meaning that a clinic must sent a digitally signed certificate stating that the individual requesting access is the primary physician of the patient. Access requests come with digitally signed certificates that allow the source of the request to be identified.
Another example illustrates the use of policy logic in a peer-to-peer application, where
Richard shares snapshots with his friends and family over the network:
Richard’s policy
allow access(photos) if
photo_friends or family
define role photo_friends:
Edith, John, Fernando
define role family:
Vivi, Larry allow delegation
Vivi’s policy
delegate Richard.family to
Meredith
In this example, Richard identifies his brother and sister as members of his family and allows them to name other members of his family. However, he does not allow his photography friends to transfer their access to others.
Deduction. When an
access request is received, the deduction engine uses deductive inference
to determine whether the request should be granted or denied. If the engine
determines that the request should be granted, then the engine can produce a
sequence of signed policy statements that can be verified by a simple access
guard. This allows a trust management engine to be located separately from an
access guards. Since access guards do not need to perform deduction or search
policy files, an access guard may be installed on an embedded or handheld
computing device with limited computing power or limited network bandwidth.
The
same deduction process that determines access can search distributed policy logic
for conflicts. The deduction engine can also answer administrative queries,
such as a request to display all employees who can sign purchase orders.
Distributed policies.
In a distributed computing environment, policy statements
governing a single resource may by stored at many locations. In addition,
delegation allows one policy statement to refer to others. For example,
Barbara, the owner of one folder, may allow Greg to delegate access to any file
in this folder. Greg may then delegate access to anyone that Susan says is a
member of her family. In this example, Greg trusts individuals that Susan
trusts. Interrelated policy statements can be maintained using a peer-to-peer
architecture, eliminating the need for a centralized server that contains all
policy statements. By referring to each other, individuals may establish a “web
of trust,” relying on each other to certify individuals and organizations.
Definitions
Keys. Public-key
cryptography allows users to generate key pairs, each consisting of a private signing key
and a public verification key that may be distributed freely without
compromising the secrecy of the signing key. The owner of a signing key may
digitally sign a document by carrying out a cryptographic calculation. Once
signed, anyone in possession of the verification key can check the signature.
Public-key
infrastructure (PKI) refers to key-generation algorithms and
certificate authorities that generate cryptographic keys, distribute them
securely, and provide a record of who received specific keys.
Authentication is the
process of identifying an individual or process. Password authentication asks a
user to type in a user name and password. If the name-password combination
matches an entry in the password file, the user is considered authenticated.
Key-based authentication relies on key pairs and digital signatures instead of
passwords; cryptography allows the same user key to be used for many
applications. The X.509 certificate format is an industry standard format for
presented certificates that tie a cryptographic key to a specific individual or
device.
Access request. Web access requests and peer-to-peer access requests may be presented using different network protocols. In a web environment, the owner of a cryptographic key may establish a secure web connection using https, a secure version of the standard protocol http, augmented with steps that transmit the client’s key to the web server.
Authentication. Traditional
access decisions have been based on a combination of authentication and access
control. For example, in order to determine whether to answer a database query,
a system may determine who sent the request and whether that person is allowed
to ask that query. Traditionally, authentication is achieved using passwords.
In a simple password-based system, a server may ask a client to transmit a
password across the network. In Kerberos-based authentication, a
challenge-response protocol is used that avoids sending passwords on the
network, increasing security. The X.509 standard is a modern example of a
mechanism for certifying identity. The X.509 standard specifies a format for
digital certificates, but does not have associated policy logic or other
decision-making aspect.
Access control. Traditional access control decisions are made using access control lists. For example, a secure web site may contain a list of authorized users and their passwords. If a client tries to access the site, the server asks for a user name and password. Access control lists are cumbersome to install and maintain, since a complete list of all authorized users must be installed at every site. If an employee leaves the company suddenly, then many access control lists must be updated.
SDSI,
A Simple Distributed Security Infrastructure], combines public-key
infrastructure design with a means of defining groups and issuing group
membership certificates. SDSI groups provide a basis for access-control lists
and security policies, SDSI does not address the general problem of
formulating, testing , following, or enforcing policies. However, a SDSI key
can delegate to a group the authority to sign certificates on behalf of the
key. SDSI certificates can time out, and they can be reconfirmed by an on-line
agent acting for the issuer.
The Simple Public Key Infrastructure group has goals similar to the SDSI effort and now subsumes SDSI. The goals of the SPKI group are to develop Internet standards for an IETF sponsored public key certificate format, associated signature and other formats, and key acquisition protocols. An SPKI Certificate is intended to provide assurance if a public key is authorized to perform some action, e.g., access a system or spend money from a given account, grant or revoke authorizations , delegate authority to temporary , associate a public key with a name , and to disseminate useful information, secure from tampering (e.g., one's own preferred e-mail address or name). SPKI certificates do not directly address the specification of complex policies or the distribution of keys and certificates.
Scenario:
Hi-Tech Sports designs and markets golf clubs and
tennis rackets. Hi-Tech Sports is a cut-throat business that guards its
intellectual property and competitive advantages carefully.
Problem: CEO Ralph
sees a new opportunity marketing a redesigned line of clubs to women. He asks
VP of Marketing Susan to prepare a description of the new line of clubs, to be
endorsed by a prominent woman golfer. Susan asks a manager, Bill, in the Golf
Club Marketingdivision to coordinate the project and keep her and Ralph
informed. Bill contacts Alice in the Golf Club Engineering division to
determine technical specifications of the clubs and work out compromises
between appearance, performance, and price. Bill and Alice delegate certain
responsibilities to their staff and ask their staffs to collaborate closely.
Document collaboration: Several
kinds of documents will provide the basis for collaboration on this project,
including planning charts, cost spreadsheets, CAD drawings, and so on. Ralph
believes in delegating responsibility, so he would like read permission for all
documents related to the project, but not write permission. Susan is a
micromanager so she wants read and write permission for all marketing
documents. Bill would like to share some marketing documents with Alice and her
team, and reserve control of others. Alice works under the engineering division
policy that all team members share documents, but no one outside engineering is
allowed to modify any engineering document without explicit permission from
engineering personnel.
Traditional Access Control Lists: The access
control lists for the Hi-Tech Sports project are shown in this table. There are
two folders for marketing documents, one for the documents Bill chooses to
allow Alice to modify and one for marketing-only documents.
Folder |
Read Access |
Write Access |
Project management |
Ralph, Susan |
Susan |
Marketing
Shared with engineering
Unshared documents |
Ralph, Susan, Bill, Alice Ralph, Susan, Bill,Alice |
Susan, Bill, Alice Susan, Bill |
Engineering |
Ralph, Susan, Bill, Alice |
Alice |
·
IT will set up folders and establish
permissions for each folder. If different divisions have separate file servers,
this will involve folders shared between servers.
·
Since documents will be created without
IT, all documents in a folder will have same permission. It is too cumbersome
to maintain ACLs on a per-file basis.
·
Most policies can be implemented
o
CEO Ralph can read all files
o
VP Marketing Susan can read and write
project management and marketing files; she cannot write files in the
engineering folder.
o
Martketing project manager Bill can read
and write marketing files and read engineering files.
o
Bill can move files between the shared
and unshared marketing folders to control which files Alice can modify.
o
Engineering project manager Alice can
read and write engineering files and can read marketing files.
·
Some policies cannot or will not be
implemented
o
Engineering policy allows Bill to make
changes to engineering files if Alice approves them, but there is no way for
Alice to grant Bill permission
o
If Bill and Alice allocated some staff to
the project initially, IT can add these employees to the access control lists.
If Bill and Alice reassign staff, the access control lists must be changed.
Access
control policies can be implemented at the file level instead of the folder
level, at a cost of producing and maintaining a larger number of access control
lists.
The
TM solution uses local policy logic, combined by a deduction engine. Each
employee has a cryptographic key, installed in their computer, that identifies
them. File access can be described by policy logic statements. Sample Hi-Tech
Sports policy statements that apply to the golf project are shown in this
table:
Name |
Policy Logic |
CEO Ralph |
allow read(anyfile)
if CEO allow set_policy(mktg_file)
if VP_mktg allow set_policy(engr_file)
if VP_engr |
VP Mktg Susan |
allow readwrite(mktg_file)
if VP_mktg allow create(mktg_file)
if mktg_division |
Golf Mktg Mgr Bill |
allow readwrite(golf_proj_file)
if golf_prof or shared(golf_proj_file) |
VP Engr |
allow readwrite(eng_file)
if VP_mktg or authorized(eng_file) |
Golf Engr
Mgr Alice |
|
·
The policy logic describes company
policy, not individual files and folders. The same corporate policies will be
applied to all folders when they are created; no basic policy changes are
necessary for this project, or any other
project!
·
The VP of Engineering can set a policy
for all engineering files. This policy can allow engineers to delegate
authority over files. No IT action is needed.
·
Golf Engineering manager Alice does not
have to specify any policy; the deduction engine knows that Alice is in Golf
Engineering and applies the policy established by the VP of Engineering.
Policy
statements, written in policy logic, can be tested using the deduction engine.
Some examples are:
·
List all of the individuals that are
authorized to perform a given action,
·
Make sure no person is authorized to
review his own purchase orders,
·
Find any conflicts in the policy.
The
first example is the simplest. When someone tries to perform an action, the
deduction engine decides whether this action is allowed. Since the policy
determines the permitted set of person-action pairs, the deduction engine can
also determine the set of people who are allowed to do a certain action. More
generally, the deduction engine can answer a set of SQL-like queries about the
policy logic within an organization or distributed among members of an interest
group.
The
second example illustrates an unintended consequence of a policy. More
specifically, a company may have a policy about how purchase orders are
reviewed. After this policy is written in policy logic, the logic designer may
wish to test the policy for unintended properties. If the set of policy rules
allow someone to approve his own purchase order, the deduction engine can
determine this.
Policy
conflicts can occur if policy logic with negation is used. For example, suppose
Inez’s policy says that Janice cannot access any file she creates. However,
Inez’s supervisor might have a policy that allows Janice’s supervisor to
delegate access to anyone in her group. Then it may be possible for Janice to
read Inez’s files, in violation of Inez’s policy. Policy conflicts can be avoided
by assigning a priority to each statement. If a supervisor’s policy takes
priority, then every policy is logically consistent. Even though priority is
used to avoid logical inconsistency, it is valuable to use the deduction engine
to find conflicting policy statements.
This example shows a conference registration site, on the right, with a pricing policy that distinguishes academic participants from regular industrial participants. In particular, a student may register for the conference for $100. This pricing policy reflects the registration costs for the RSA Data Security Conference, for example.
The left column of the figure shows a root certificate authority (CA), which could be Verisign or similar site. The CA issues a certificate to Stanford University and identifies Stanford as an accredited university.
Stanford University issues a certificate to Prof. Mitchell, identifying him as a faculty member. Stanford also has a policy that faculty can identify their students.
Mitchell issues a certificate to Ajay Chander identifying him as a PhD student in the Computer Science department.
When student Ajay Chander registers for the conference, he registers as a student and sends payment for the $100 fee. The registration site can verify that he is a student by combining the information from the four certificates. The process of retrieving and combining certificates to answer a query (such as, “Is Chander a registered student at an accredited university?”) is a function of the certificate and policy infrastructure.
Comparison with access control: In the traditional approach based on access control lists, the registration site would either have to have a complete list of all students at all universities, or decide not to verify that student registrants are truly students.