66
Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net www.tunitas.com 925-631-1244

Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net 925-631-1244

Embed Size (px)

Citation preview

Page 1: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Healthcare PKI Workshop Session 2

Using Certificates Controlling Access to Servers

Ann Geyer - Bill Pankeytunitas @ earthlink.net

www.tunitas.com925-631-1244

Page 2: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Session Goals

Focus: Certificate based access control for web servers

Understand Secure Socket Layer (SSL) Protocol– What services SSL does and does not provide

– How SSL uses certificates for authentication

– How SSL interacts with application processes

Understand certificate mapping– Server specific communication of client certificate information

– How to relate client certificate information to directory data

Construct access control rules based on client certificate info– User and role based access control

– Multi-level access control

Page 3: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Session Take Away

Ability to design access control schemes using certificates– Evaluate the value of role information in a certificate

Ability to articulate technical requirements for– Application developers

– Vendors

Ability to construct a stronger PKI business case based on access control simplification – Reduced cost

– Greater scope and reach

– Greater user acceptance

Worksheet

Page 4: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Agenda

Overview of web security– Access control for healthcare situations

Secure Socket Layer (SSL) protocol and its use

Web server access control– “Layered” architecture of web servers

– Communicating certificate information to HTTP server

– Access control logic Internet Information Server (Microsoft) Enterprise Server (Netscape) SSLeay & Apache-SSL (Stronghold)

Multi-level access control – Communicating user information to legacy application

Costs and Risks

Page 5: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

OverviewWeb Security

Page 6: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Components of Internet Security

Focus: Message security over open network– Confidentiality

Encryption

– Authenticity Digital signature

– Authorization Access control mechanisms

Server security is a matter of resource protection– Internet increases exposure

– some requirements are not Internet specific Intruder prot ection Availability Audit

– Sever security is beyond the scope of Workshop

Page 7: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Locus of Message Protection Protections can be applied at different protocols levels

– Different “objects” are encrypted

– Different “entities” are being authenticated

Hardware Interface

IP

TCP or UDP

Transport layer security (Eg: SSL )

HTTP SMTP IIOP...

Application layer security (Eg: sHTTP or S/mime)

FTP

Network layer security (Eg: IPSec)

End Users

POP3

Page 8: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Application Layer Security Application objects are encrypted

– Eg: MIME type: application/x- EDI-X12– Eg: MIME type: application/ x-pkcs7-signature– Eg: MIME type: text/ html

Direct authentication of end users

Advantage– Tight binding of application access control logic with end user action– End user interacts directly with security mechanism

Disadvantage– Requires application development to manage security of download applic

ation data Eg: S/mime mail clients or RACER-like application specific browser

– Higher cost to maintain security because of limited applicability All the risks of the Internet, but smaller user community to allocate security c

osts

Next Workshop session deals with Application Level Security

Page 9: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Network Layer Security

Typically implemented in hardware to support VPN– VPNs use public key crypto for authentication & key exchange

IP packet “payload” is encrypted

IP address authentication– Usually identifies a device such as router

Advantage– Transparent to end user and applications

– Potentially very fast with hardware based crypto

Disadvantage– Transparent to end user; cannot authenticate end user without binding end

user to specific device or IP address

– Products not well standardized which limits interoperability

– Requires hardware

Network Layer Security is beyond scope of Workshop

Page 10: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Transport Layer Security

Intended to encrypt messages between TCP/IP clients and servers – Eg: browser clients and HTTP servers

– Does not distinguish between application objects

Authenticates TCP/IP hosts – Application layer protocol server

– Machine at IP address

Advantage– Transparent to end users

– Application protocol transparency

– Simple software implementation keeps costs low

Disadvantage– Authentication of end user is not direct; special challenges in multi-user

environments

– Performance penalties

Page 11: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Transport Layer Security for Web Based Applications

Transport layer security implemented in Internet browsers

Provides transport security autonomy between client & server– For browser, server transparency

Lets browser be a “universal” client for any TCP/IP exchange

– For server, browser transparency Depending on application, minimizes user support requirements

Software only implementation reduces costs

High level of robustness– Multiple application protocol support optimizes the effort to maintain

security mechanism

– Deployment scale potential motivates vendor to support transport layer security

Page 12: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

But ...Transport Layer Security is not a complete solution

Not sufficient to just authenticate the client (or server) – Disclosure must be authorized

Subject to diligence based on role

– Rules for authorization undefined by regulators and industry Potential for strict rules in forthcoming privacy legislation / regulation Generally limited to support of patient care or provisioning of care

– Access control implements the authorization processes

Failure to disclose can result in significant loss– Treatment delays

– Patient & trading partner aggravation

– Authorization processes extend to large user groups

Must maintain system of records– Authorization decisions & history of disclosure

Transport layer security has to be implemented as part of a broader access control solution

Page 13: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Secure Socket Layer(SSL / TLS)

Protocol

Page 14: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Secure Socket LayerStatus - SSL is a core technology for the web

SSL provides transport security for open networks– Privacy and authenticity

– Independent of application layer protocols

Major vendor support – SSL client support assumed for web applications (browsers)

– SSL server support also commonplace

– Toolkits available to embed SSL into applications

SSL does works– Most eCommerce sites use SSL

– Currently more than 35,000 SSL protected domains in US

SSL is secure– Any encryption weakness immediately addressed by core vendors a

nd researchers: RSA, Netscape, IBM, Microsoft

Page 15: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL /TLS Standards

SSL created by Netscape – SSL3.0 introduced client authentication

TLS protocol is an IETF standard track draft– Based on SSL 3.0

– Does not strictly interoperate with SSL TLS includes mechanism to “backdown” to SSL

– TLS streamlines the SSL handshake

– TLS provides more flexibility for encryption choices SSL 3.0 is RSA dependent TLS supports DSS and Diffie-Hellman

– TLS written as “standard”

TLS will ecome imppotant as browser manufactures implement it– IE5 purports to implement TLS

Page 16: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL is a Transport Layer Security Service Secures TCP/IP connections

– Protects HTTP, NNTP, POP3, SMTP, IIOP (Corba) data streams Telnet and FTP protection is less clear but implementations do exist

– Some unresolved issues with multiple data ports– There is a FTP/SSL IETF draft

SSL provides transport layer security & is independent of application layer protocol

Hardware Interface

IPTCP or UDP

SSL Security Services

HTTP SMTP IIOP

Link Layer

Network Layer

Transport Layer

Application LayerPOP3

End Users

Page 17: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Software Implementation

SSL is generally implemented after transport layer interface ( ie. WinSock) – Use conventional unprotected socket connections

– Apply the SSL negotiated security services to data streams

SSL is not usually implemented as free standing code– However, toolkits are available from RSA, Netscape, IBM

On the client side, SSL is usually implemented as code in the browser– Logically it becomes part of the HTTPs or other application layer pro

tocol There is some clientside support for POP3/SSL

SSL is usually implemented in server code– HTTPs for webservers

– Separate code module allows plug & play replacement

Page 18: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Negotiated Services

Handshake Phase– Server & client authentication

– Determination of cipher parameters Algorithms (bulk encryption, symmetric key) Symmetric keys State maintenance

– Often overlooked but may have security implications

Data Transfer Phase– Encryption

– Integrity checks

All SSL communications takes place over an SSL “Record Level Protocol”– Defines an SSL “Record” which includes a MAC

Page 19: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Handshake

1. Client Hello

2. Server Hello

3. Client Master Key

4. Client Finished

5. Server Verify

6. Request Certificate

7. Client Certificate

8. Server Finished

} Optional components

Page 20: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Handshake - 1. Client Hello

SSL is initiated by client– Triggered by an HTTPs request by browsers

– But is NOT part of HTTP

Client Hello is a cleartext message which includes– SSL version

– Client encryption capabilities Algorithms, key lengths, digests

– Session ID Allows for “reuse” of an existing secure channel Set to “Zero” if no session ID in client’s cache

– Client Challenge A randomly generated data stream

Page 21: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Handshake - 2. Server Hello

Responds to Client Hello

If Server is establishing a new secure channel, Server Hello is a cleartext message which includes– Encryption capabilities

Which of the client options will server support Allows resource to enforce encryption policy (Eg: strong encryption)

– Server Connection ID Randomly generated

– Server Certificate Passed to client

If Server is re-using existing channel, then server only needs to generate new connection IDand can reuse encryption settings and server certificate

Page 22: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Handshake - 3. Client Master Key

When a new session is being established, the Client sends

Client first validates server certificate– May check for revocation although not routinely supported by

browsers

– If certificate root is not installed in browser, then typically end user is presented with dialogs to explicitly accept certificate

Client sends final encryption parameters– Final Encryption Choice

Selected from among the server supported options

– Server can force choice of encryption parameters

– Encrypted Session Key Randomly generated by client Used for bulk encryption of application level data & messages Encrypted with server’s public key

Page 23: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Handshake - 4. Client Finished

Indicates client’s readiness to activate channel and send or receive application data

Encrypted Server Session ID is sent to server– Encrypted using selected option and session key

Page 24: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Handshake - 5. Server Verify

Server encrypts client challenge using negotiated encryption options and client generated session key– Authenticates server

Session key is only available to the legitimate server Requires private key corresponding to server certificate

to decrypt Client Master Secret and obtain session key

At this point, an encrypted session has been established

Page 25: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Handshake - 6. Request Certificate

Server initiated phase to support client authentication– Server configuration option not usually implemented without PKI

– Requires SSL version 3.0

– Takes place after server authentication and does not affect stages 1-5

Server sends Request over encrypted session– Certificate Challenge Data

Randomly generated string

– Authentication Type Client procedure - typically MD5_WITH_RSA_ENCRYPTION Requires that client use its private key to digitally sign

– Session key

– Certificate Challenge Data

– Server Certificate

– List of acceptable CA (SSL 3.1)

Page 26: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Handshake - 7. Client Certificate

Client response to Server authentication challenge

Sent encrypted with session cipher– Client certificate

– Challenge response data

Note: if client does not have a certificate issued by an acceptable CA, SSL session fails

Page 27: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Handshake - 8. Server Finished

Encrypted message which includes– Session ID

Used to identify session ciphers and Client Master Key kept in cache by client and server

Allows session to be efficiently re-established by reducing the authentication steps

Message indicates Server’s readiness to proceed with transmission/reception of the application layer protocol data

Page 28: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Data Transfer

ALL application layer protocol data is encrypted using the session key and the SSL negotiated encryption options

SSL data transfer implementation is integrated into server platforms– Netscape Enterprise Server, Microsoft IIS, Domino

– Netscape SSLeay reference implementation as freeware Integrated with Apache server in StrongHold

Page 29: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Computation Costs

SSL costs are primarily silicon

Encryption costs for the data transfer are function of which encryption options are selected– Symmetric algorithms are generally linear in the message length

For RC5, the proportionality constant is less than 10

– If performance is an issue, typically upgrade to faster processor and more memory or special purpose accelerators

Healthcare resources are typically low volume compared to EC servers EC sites support millions of users with simple transactions (e.g credit card pu

rchase) Healthcare transactions involve larger application objects with simpler transa

ctions (getData)

Per HIPAA, encryption costs not optional – Architect web site to minimize encryption costs

– Factor in application complexity and meta data maintenance

Page 30: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Computational Costs Authentication can be expensive

– RSA signature is computationally complex, but is required to Exchange of some CLIENT_MASTER_KEY data Perform client authentication

– There are reports of poor performance using SSL Transaction processing reduced by a factor of 100 Look at SSL overhead compared to amount of data transmitted Overhead can be relatively high if transactions involve small datasets

Use hardware accelerators for RSA signatures IBM card processes 800 RSA signatures a second

Server configuration controls when authentication is required– How long does session remain “alive” in cache?

Reauthentication required when session expires Independent of HTTP 1.1 “time to live” parameter

– Excessive re-authentication results from short-lived sessions Long-lived session creates potential security weakness

Page 31: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Demo

Illustrate – Client Configuration

Required end user responses

– Server SSL Configuration

– Server Logs

Page 32: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

What can go wrong?

Failure to negotiate common encryption options

– HCFA Internet Policy biases implementation toward exclusive use of strong encryption

– Browsers must be upgraded for strong encryption

– SSL error messages sent to browser are not user friendly HTTP process does not have access to failure status or the error messag

es

– SSL fails and so no HTTP request object created Resources may consider some sort of redirection with server plug-in to giv

e users better instructions

– Best defense is at the time certificate is installed by CA Ensure that suitable encryption options are installed to browser (or other c

lients) Require highgrade encryption keys before issuing certificate

Page 33: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Risk ParametersIncomplete End User Authentication

SSL authenticates TCP/IP client and NOT the enduser– Server does not directly challenge enduser

Contrast with “basic” HTTP authentication where Server prompts for entry of login / pswd

– Browser code responds to certificate_request per browser config Server relies upon configuration which ensures enduser action

Validity of enduser authentication is subject to browser configuration of private key protection– Enduser authentication requires private key control appropriate to brow

ser setting, eg: Prompt for password with every use Prompt for password with first use in browser session No explicit control, rely upon physical access control to PC

– Server cannot confirm or manage private key configuration this would be an activity of an application level protocol (ie, manging end u

ser interactions). If build this into browser then limit reach of security solution.

Page 34: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Risk ParametersIncomplete End User Authentication (cont) Authentication depends upon subscriber (enduser) diligence

– Subscriber will be identified as the “authenticated user”– Subscriber is held responsible under:

Subscriber agreement per Model Certificate Policy HIPAA required Certification and/or Chain of Trust Agreement Electronic trading partner agreement

– In some contexts, enterprise can manage browser configuration for enterprise intranet users

Programmatically: Netscape Mission Control, IE Administration Kit Personnel and user policy Desk audits

More reliable authentication available when private keys are installed to hardware tokens– Private key is not exportable, so token must be present– Model Policy supports use of tokens

For very sensitive applications, can restrict access to certificates installed in tokens ( having strong private key protection)

securityHardware extension used to indicate where private key is installed

Page 35: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Risk ParametersIncomplete Server Authentication Enduser typically relies upon “Browser Trust” model

– Browsers come with many pre-installed certificate roots

– Users not educated about purpose or function of these roots Dialogs controlling acceptance of “Untrusted” certificates subject to browser de

sign and manufacture’s bias How does resource owner influence this decision? bootstrap problem

– in order to inlfuence enduser action, enduser must “trust” resource For better security management, enterprise will want to remove unwarranted r

oots and install approved CA roots

– Authenticating an unknown server is complicated by presence of intermediaries or arcane machine names on certificates

machine or domain name may not accurately reflect ownership

Currently browsers only support simple certificate chains

Currently browsers typically do not check revocation status of server certificates– Not particularly problematical, health info servers are maintained in secure

environment, revocation should rarely be required

Page 36: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

SSL Risk ParametersExcessively long lived sessions Clients will generally attempt to re-use session parameters

stored in cache– Circumvents client authentication

– Little documentation about how browser cache maintains SSL session information

Is cached SSL session data routinely flushed with termination of browser session?

– Does not appear to be configurable by enduser

Some risk for misauthentication– Multi-user environments & particularly those with static IP address

SSL Server has some flexibility in cache configuration– Principally with respect to session life

– Little programmatic control of cache - no flush_SSL_cache() directive

Performance - security tradeoff – Excessive & unnecessary re-authentication versus inappropriate reus

e of session information

Page 37: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Controlling Access

Page 38: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Access Control Requirement

Access to health information requires Authorization– Privileges can be defined at different levels of granularity

Application level where the privilege is defined across data sets

– eg: data entry for a hospital billing application Data set level where the privilege is limited to specific fields or records

– eg: clinical record access

– Privileges can be assigned to specific users on a per user basis to classes of users in which case users inherit privileges assigned to the

classes of which they are members

Access control enforces Authorization by limiting access to applications or datasets only to users with appropriately assigned privileges

SSL handshake identifies users, but does not validate their authorizations

Page 39: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

*

S S L H andshake

E nd U ser

U S E R C E R TIF IC A TE

H TTP S erverP rocess

H TTP / S S L

U ser D B(D irectory)

A pplica tion P rocess(cg i, A S P , S S JS , o ther)

P atien tD ata

U ser In fo

*

*

*

*A C I

U serIn fo

U ser In fo

v A ccess C ontro l P o in ts*

Access Control Components

1

2

34

5

Page 40: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Points of Access Control

SSL Handshake– Identify authenticated users with authorized users

Custom server plug-ins (filters) executed prior to HTTP process– Programatic control based on certificate contents

– More scalable & cost effective, but more difficult to implement

Standard access control mechanisms of HTTP server platforms– Simplest to implement, but greater administrative components

Programatic control within business application – Allows for fine grained control restricting access to particular record

s and data elements

Database Control– Controls implemented at data tier

5

4

3

2

1

Controls can be applied at multiple levels to reduce overall risk

Page 41: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Access Control Using SSL Handshake

SSL Handshake can be used to gate access– Restrict access to users successfully authenticated with

an appropriate digital certificate

Provides very coarse access control– May be complete a access control solution

When subscriber class is identified with class of authorized users And access audit log by user identity is maintained And subscriber class is subject to sanctions for inappropriate use of access p

rivilege can use coarser control

May be supplemented with added controls at the application level

This approach provides protection against dictionary attack on logon/password

Users are identified before being presented the logon/password challenge

– SSL client authentication effectively non-spoofable, so can identify a party responsible for the attack

Page 42: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Scenario: Access Control Using SSL Handshake

State of California CDR (Communicable Disease Reporting)– State requires that physicians report patient encounters that indicated cert

ain communicable diseases

– CMA creates a certificate class restricted to California licensed physicians

– SSL used as the access control solution for CDR Resource

– Access only if user can be authenticated by a CMA issued physician certificate

Advantage– Simple, inexpensive implementation

Disadvantage– There may be other user classes that need access but for which there is no

corresponding certificate class

– Eg: the state labs which also must report to CDR

Risk– Subject to the third part CA practices and integrity

Page 43: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

HTTP Server Access Control Mechanisms All commercial HTTP servers support some type of access contr

ol– Best understood method and easiest to work with

– Access control is applied before using any scripts, cgi, or download of data objects

A Resource Access Control List (ACL) contains– A collection of ACE (access control entries), each describing

Account name (for user, group or system logon account)

– users inherit from group(s) to which user belongs Access privileges

– allow, deny, audit

– read, write, execute

– Resources can be described in terms of directories, files -- HTML or scripts -- and files can inherit privileges from directories

Client makes data request, Server validates ACE to determine access

Page 44: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

ImplementingHTTP Server Access Control

First create user or group accounts – Each account is assigned a logon/password

– Microsoft IIS administration ~ user admin for an NT domain Use NT User Manager to manually establish accounts Win2000 will support account management w/ Active Directory (LDAP)

– Netscape supports multiple administration tools Manual entry with Netscape Administrator Console Inherit NT user accounts Manage with LDAP directory entries

Then use Certificate Mapping to associate a client certificate with an account– Client requests data, Server checks whether a mapping for the client

certificate exists

– If yes, Server impersonates the account linked to the certificate and executes the request on behalf of the account

Page 45: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Certificate MappingAssigning Certificates to Accounts

Certificate Mapping – Establishes a relationship between the certificate presented during t

he SSL Handshake and the application user account

Two types of Mapping Rules– 1-1 -- Assigns a certificate to a user account– N-1 -- Assigns multiple certificates to either a user or group account

Many users have a common set of privileges User has more than one certificate

Mapping rules can be based on:– The entire certificate (certificate hash)

If exact match, associate certificate with account Usually applicable for 1-1 Mapping

– Match specific certificate fields eg: match if issuer = AMS.org and Subject DN:CN =Bob Jones eg: match if Subject DN: OU=STAFF, O=SierraHospital eg: match if Subject DN: O=SierraHospital and Role=Billing Clerk

Page 46: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

One to One Mapping Rules Certificate Mapping

– Establish the user accounts– User acquire an appropriate certificate– Server receives and stores client certificate– Server configured for certificate mapping

Manual certificate acquisition– Microsoft requires pkcs #7 to import certificate file– Netscape allows certificate to be imported to directory

Programatic certificate acquisition– User assigned account with login and password– User accesses site and authenticates over SSL with client certificate– If no client certificate in server store, Server prompts User for login/ ps

wd– Server action depends on particular platform

Microsoft: use CreateMapping method of CertMapper object to assign certificate to the login account (easily done with active server script)

Netscape: set cert2User directive in the obj.conf file

Page 47: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Case Study:Password Replacement Resource owners incur significant cost in maintaining pswds

– Estimated to be 40% of all help desk calls

Certificate Mapping lets users authenticate using certificate instead of password– Version of Direct Trust model

Certificate is accepted because logon/pswd is accepted

– Without Trusted CA, must require user to notify when certificate is revoked or reissued

Trusted CA increase the solution robustness

– User diligence for private key protection replaces diligence for password maintenance (“refreshing”, remembering & keeping secret)

Protecting single private key more palatable than maintaining lists of passwords

Risk– Authentication is no stronger than the procedure used to issue the user

account and password

– Certificate compromised without Resource being notified

Page 48: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Many to One Mappings (N-1)

Used for role based authorization– Where authentication credentials carry sufficient information to deter

mine authorization

First, establish a user account for group/role – Create a shared logon/ pswd for group/role

– Assign appropriate ACE to set privilege for account

Determine Mapping Rules – Using entire certificate

Implement the password replacement scenario where all members of the group/role share the same password

Once mapped, certificate uniquely identifies a group member Group password can be changed by group administrator

– Using certificate fields As previously defined

Page 49: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Case Study: Extending Access to Affiliated Provider Staff

Certificates provide a method to uniquely identify staff while linking access privileges to the provider – From a resource perspective, staff are interchangeable personnel ha

ving no direct association to the resource owner

Create a group account -- DrBobOfficeStaff– Assign logon/pswd to staff administrator

– Each staff acquires an individual certificate from a Trusted CA

– Use Password Replacement strategy Each staff authenticates to resources using common group account lo

gon/pswd All staff certificates become bound to the same account Administrator changes password after staff use

– Provider rescinds staff privilege by revoking individual certificate Resource removes certificate mapping

Page 50: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Case Study: Extending Access to Affiliated Provider Staff

Advantage– Shifting of administration for staff authentication to provider

– Provider has greater flexibility in managing staff access

– Much higher degree of user accountability Unique individual authentication Staff level authorizations Staff administrator manages account password and initiates the

certificate mapping

– Lowered support requirements Access managed by certificate mapping and certificate revocation Same certificate can be used for any number of trading partners

Risks– Staff administrator diligence

Accountability increases consequences of not being diligent Process must be simple to administer

Page 51: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Programmatic Controls Applied at the Application Level

If using scripts, active server pages, server side includes, then some additional access control may be appropriate

Often want multiple levels of access control– eg: Where an HTTP process controls access to billing application

Access to claims submission for provider A restricted to users whose certificate contains the same OU field as provider A

– eg: Where an HTTP process controls access to medical records application

Access privileges differ as a function of the user’s department, role, or license type

Application gets data from certificate fields– The implementation is server specific – Servers generally do not completely parse certificates

Usually just subject and issuer DN, validity dates There are shareware utilities that can be used to parse

Build appropriate access control using the application layer logic

Page 52: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

How Application Layer Gets Certificate Content

Microsoft IIS – Creates a HTTP Request ActiveServerPage Object

– Request includes a request.clientCertificate field containing subject DN (parsed), issuer DN (parsed), validity dates, serial number BER encoded client certificate

– must parse the BER to get information in other fields

– IIS maps certificate data into COM objects which are then available to the MS tools

Page 53: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

How Application Layer Gets Certificate Content

Netscape

– Exposes the certificate information to cgi process by setting environmental variables:

– CLIENT_CERT_SUBJECT_DN (subject DN) Parses into various DN fields, Eg:. CLIENT_CERT_SUBJECT_OU

– CLIENT_CERT_ISSUER_DN (issuer DN) Parses into various DN fields as above

– CLIENT_CERT (BER encoded certificate) Use C code utilities to obtain added certificate information

– Can use getRequestInfo for Netscape Server applications Serverside javascript or web application interface (WAI)

Page 54: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Certificate Access Control for DBMS

DBMS (Eg: Oracle, EPIC) provide very fine grained access control and extensive audits

Certificates can support the implementation of database access control– User is assigned logon/pswd credentials for the database

– Index the stored DB credentials using one of the certificate fieldseg. DN, issuer + cert serial number,certificate hash Access the user’s DB credentials using the appropriate certificate field

– Pass the user’s DB credentials as part of an application request from data tier

eg: as part of a SQL DatabaseOpen statement or LDAP bind

Advantage– Build applications using data from many sources – Leverage existing database security and audit logs– Simplifies the user credential requirements – Application can function as sort of single sign on (SSO) solution

Page 55: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Custom Access Control Modulesusing Server API

For situations where access control logic is complex and where the other mechanisms don’t provide the necessary logic– eg: access based on directory attributes (LDAP)– eg: access without a pre-existing user account

Commercial servers support server Plug-ins– Development tools and architecture are platform dependent

Netscape Enterprise Server API (NSAPI) & Access Control API Microsoft Internet Server API (ISAPI)

– Custom code modules execute “in-process” as part of server execution Requires very careful design and coding.

Faulty Plugin may crash server, not just terminate session Plugin offer the potential to optimal system performance

(complied c code)

Plugins generally execute prior to invocation of HTTP server session– Therefore if access is not authorized, the HTTP session isn’t started

Page 56: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Custom Access Control Modulesusing Server API (cont)

Expertise in the specific server architecture is required – NSAPI request and session variables are maintained in “block” hash table

of name-value pairs, API provides critical read/write functions

– ISAPI allows direct invocation of system COM objects

Server specific execution– NSAPI server application functions (SAF) execute in a fixed sequence dete

rmined by server configuration file ( obj.conf )

– ISAPI extensions or filters register to be notified of and are invoked by system events (HTTP request)

NSAPI Access Control API & Certificate Mapping API– Allows a high degree of customization

Read / manipulate access control lists (ACE) Customize how certificates are mapped onto ACL and how additional user inf

ormation is acquired

– Designed to optimize use of LDAP directories

Page 57: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Case Study:Supporting Access by PPO Providers

Scenario

– PPO generally include a large numbers of providers who only occasionally treat plan members

– PPO resources are infrequently used by the low volume providers

– Traditional account setup is unwarranted for these providers having taking up too much overhead

– Infrequent usage leads to provider confusion Each use is effectively a first time use. Providers generally call to find out access methods and userid/pswd

– Provider’s PPO status changes frequently

– PPO resources are effectively utilized by only the most prolific providers

– Overall PPO to provider connectivity remains unbalanced

Page 58: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Case StudySupporting Access by PPO Providers

Approach– Plan maintains provider directory including name, license info,

practice profile and contract details

– Provider requests access and authenticates with a trusted certificate containing medical license info

– Server plug-in parses certificate to obtain subject name & license info

– Plug-in queries the provider directory to check status (using LDAP or SQL with name & license info as key)

– Provider status is used by Plug-in to manipulate Server ACL If first time use by current provider, create new account and map

certificate IF provider status not active, can revoke existing account, and/or

redirect provider to information on status If certificate mapping already existing, apply the normal ACL procedure

Page 59: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Case StudySupporting Access by PPO Providers

Advantage– Simpler administration

– Eliminates unnecessary or unused user accounts

– Better security without passwords that float around

– Faster service for infrequent providers

Cost– Non-trivial development costs

– Finding developers with the right level of server expertise

Page 60: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Third Party Access Control Solutions Set of fairly new products

– Offer extranet security management

– Simplify access control for very larger extranets

– All distributed administration of persons, roles, groups, & resources

– Typically support SSL with client certificates

Registry Model – Maintain a set of access privileges for a number of different resources

– User authenticates to a site “Navigator” or “security server” over SSL with client certificate and makes a resource access request

– Navigator passes authorized user an “access token”

– User presents token to the resource to gain access

Products – getAccess (enCommerce)

– Keon (Security Dynamics)

– DomainGuard (HP)

Page 61: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Audit Logs Audit is component of access control solution

– audit capability necessary to evaluate ACL protections, investigate breaches, and /or improve processes

– HIPAA requirement for access control logs

Audit logs can be created at different levels– HTTP server events – Application processes– Legacy systems and databases

All web server platforms support event logging– There is a W3C standard for event logging

Date / time, operation (Eg: GET, POST), target (resource), parameters UserName & client IP address

– May be insufficient for some purposes eg: DrBobOfficeStaff account using n-1 certificate mapping will want to identify t

he individual certificate eg: Record of application level events such a query against medical records for

a particular patient’s data

Page 62: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Audit Logs

Server support for logging of certificate info– Netscape supports log customization with flex-init and AddLog serv

er directives Set directive with manual entry into server configuration file (obj.conf) Can include any server or request variable in log, in particular

– client.user_dn (CLIENT_CERT_SUBJECT_DN)

– client.issuer_dn (CLIENT_SERT_ISSUER_DN)

– Microsoft supports logging of certificate variables only programmatically

Implement IlogPlugin interface and set variables to be logged with QueryExtraLoggingFields method

– Eg: request.clientCertificate.subject for subject DN Register custom log module with server

Page 63: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Certificate Status Checking

Support for certificate status checking is currently limited– Reflects the maturity of PKI and availability of CRL, OCSP, etc

Ideally would like certificate status checking to be incorporated into certificate validation during SSL Handshake

Can indirectly support status checking with certificate mapping– Remove mapped certificate from directory or userDB when you receive

a revocation notice Make this routine part of account administration

– LDAP directories will probably support some sort of referral to check certificate status

– The problem is greatest when working with dynamic access authorization

If this is critical, then you will need to develop custom module using server plugin for certificate status checking

– Can expect improvement as Win2000 raises the stakes for certificate based access control

Page 64: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Certificate Based Access ControlCost / Benefit Summary

Benefits– Explicitly separate authentication from authorization process

Eliminates the need to have a User authorization procedure performed prior to allowing access

Increases User accountability Makes distribution or delegation of issuing authentication credentials fe

asible– More secure than login/ password based access control

Certificates are not subject to guessing, dictionary attack, or similar threats (very important for resources exposed to Internet)

– Reduced support requirement Passwords are either one-time or always under user control

(per private key protection) Single signon benefits and carry over usage for email

– Scalability With an appropriate PKI, can support very large user community

Page 65: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Certificate Based Access ControlCost / Benefit Summary

Costs– Some performance penalty

Certificate authentication vs login/ password

– Some development costs Need to understand how SSL servers are configured Development usually needed to support atypical capabilities such as p

arsing the certificate extensions Can cost justify these separately for funding purposes

– Client certificates More up-front support costs for user training on certificate use and priv

ate key protection Certificates are expected to have smaller maintenance costs than do p

asswords ( has to be tested) Certificate costs can be allocated across multiple applications and for i

nternal and external use

Page 66: Healthcare PKI Workshop Session 2 Using Certificates Controlling Access to Servers Ann Geyer - Bill Pankey tunitas @ earthlink.net  925-631-1244

Certificate Based Access ControlRisks

Trusted CA – Certificates are inappropriately issued

– Minimize risk by inspecting the CPS and requiring audits to determine whether certificates conform to your Policy

– Minimize risk when certificates are issued by a healthcare organization who has equivalent requirements for authentication and authorization

Certificate revocation data is untimely – Collorary to above

Private Key Protection– User fails to understand the importance of or the mechanism for protec

ting the private key

– Risk decreases over time through experience and greater PKI deployment

– Lower risk by requiring smart cards or tokens

User resistance to increased accountability