copyright © 1995-2000 clifford neuman - university of southern california - information sciences...

15
Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications and Distributed System Services B. Clifford Neuman University of Southern California Information Sciences Institute

Upload: roderick-nichols

Post on 18-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 1

Integrating Policy with Applicationsand Distributed System Services

B. Clifford Neuman

University of Southern California

Information Sciences Institute

Page 2: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 2

Today’s security deployment Most of the deployment of security services today

handles the easy stuff, implementing security at a single point in the network, or at a single layer in the protocol stack:– Firewalls, VPN’s– IPSec– SSL

Unfortunately, security isn’t that easy. It must be better integrated with the application.– At the level at which it must ultimately be specified, security

policies pertain to application level objects, and identify application level entities (users).

Page 3: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 3

Conclusion: Integration is hard to do The majority of applications were not being modified

to use security services. – In fact, the only widespread interoperable integration of

security services with applications was SSL integration with the web, and SSL is used primarily as a confidentiality mechanism and only rarely for user authentication.

The reason– Integration with applications involved many changes:

Multiple calls to GSS-API or other authentication interfaces Calls to decide what the user is authorized to do

– Home grown policy databases or protocol extensions requiring even more calls to complete.

Custom integration with other security services– Confidentiality, integrity, payment, audit

Page 4: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 4

Our focus for integration We chose to focus on authorization and the

management of policies used in the authorization decision. – Not really new - this is a reference monitor.– Applications shouldn’t care about

authentication or identity. Separate policy from mechanism

– Authorization may be easier to integrate with applications.

– Hide the calls to the key management and authentication functions.

Page 5: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 5

Generic Authorization and Access-control API

Allows applications to use the security infrastructure to implement security policies.

gaa_get_object_eacl function called before other GAA API routines which require a handle to object EACL to identify EACLs on which to operate. Can interpret existing policy databases.

gaa_check_authorization function tells application whether requested operation is authorized, or if additional application specific checks are required

Application

GAA API

input

output

gaa_get_ object_eacl

gaa_check_authorization

Yes,no,maybe

SC,obj_id,op

Page 6: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 6

Extended Access Control Lists

Conventional ACLs are extended with an optional field added to each ACL entry specifying restrictions on authorized rights. An EACL consists of a set of EACL entries. Each entry represents access control policies

associated with a particular subject. Subject may be a principal or group of principals. Each entry specifies rights & conditions on those rights.

subjects access rights conditions

Page 7: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 7

Specification of Conditions A condition is interpreted according to its type. Conditions

can be categorized as generic (interpreted by GAA API) or specific (interpreted by the application).

Conditions in credentials combined with local policy.

type : value [ , type : value ]

time_window : Monday-Friday ,sec_mech : Kerberos.V5connection_sec: Conf,Integ,128interpreter : PM, PM policies

Page 8: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 8

Credential transport (needed) The GAA-API gets user & connection info from

Security Context: Evaluated and unevaluated credentials Delegated authority Cross-calls to transport to retrieve additional creds

The security context is provided as:– Output from GSS-API (requires many calls)– Credentials from transport or session protocols

– SSL, ARDP– Other extensions are needed:

– IPSec, pulled from Kernel, other extensions

Page 9: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 9

Evaluation of credentials

POLICY

gaa_get_object_eacl

gaa_check_authorization

GAA API

App

EACL

. . .

GAA APISecurityContext

GSS-APILIBRARY

TransportMechanism

2 3

1 4

4a

6a

5

6

7

5a

6b

Page 10: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 10

Integrating security services

The GAA-API calls must be made by applications.– This is a major undertaking, but one which must be done

no matter how one chooses to do authorization.

These calls are at the control points in the app– They occur at auditable events, and this is where records

should be generated for ID systems– They occur at the places where one needs to consider

dynamic network threat conditions.– Adaptive policies use such information from ID systems.– They occur at the right point for billable events.

Page 11: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 11

Electronic commerce Some authorization policies do not require user

authentication at all - just that an item is paid for.– Policy specifies required payment.– Cross call to credential transport retrieves payment

credentials and grants access.– If application used GAA-API, no change to the application

is necessary, simply specify the payment policy instead of a more traditional identity based policy.

– To enable market based resource allocation– Set policies that require payment for consumption of

system resources and allocate quota to processes for expected levels of use.

Page 12: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 12

DEFCN objectives Allow definition of information and

resource access policies that adapt to network and situational threat conditions.

Enable intrusion detection and auditing mechanisms to adapt recorded detail based on suspicion and threat conditions.

Simplify integration of fine grained access control and related security services with applications.

Page 13: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 13

SECURITYAUDIT

RECORDS

ID and Audit relation to GAA-API

THREATCONDITION

UNDERATTACK

POLICY

gaa_get_object_eacl

gaa_check_authorization

GAA API

AppEACL

. . .

GAA APISecurityContextGSS-API

LIBRARY

TransportMechanism

2 3

1 4

4a

6a

5

6

7

5a

6b

Page 14: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 14

Application based ID Without the GAA-API

– Convince each application developer to add calls to audit functions in addition to all the other security calls they make (good luck). Of course it needs to do authentication too.

With the GAA-API– Get developers to use the GAA for authorization

decisions instead of making multiple calls to implement their own authorization database.

– Create module for GAA implementation that generates audit records according to policy.

– Write policy (inc. adaptive or credential based) that says when to generate audit records.

Page 15: Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE September 2000 1 Integrating Policy with Applications

Copyright © 1995-2000 Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

September 2000 15

Summary Integration of Security Services at the

Application Layer– Applied to application level objects– Credential transport integrated at lower layers

Conditional and extensible policies -EACLs– Most extensions do not require application cognizance– Simplification of policy representation

Can integrate many security mechanisms– Authorization and payment– Audit and Intrusion Detection– Quality of protection constraints