+ All Categories
Home > Documents > Using Kerberos for Web Authentication -...

Using Kerberos for Web Authentication -...

Date post: 07-Mar-2018
Category:
Upload: dodien
View: 235 times
Download: 5 times
Share this document with a friend
36
Wesley Craig University of Michigan Using Kerberos for Web Authentication
Transcript
Page 1: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

Wesley CraigUniversity of Michigan

Using Kerberos for Web Authentication

Page 2: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

Outline

• Basic Auth

• WebSSO

• SASL & HTTP

• Kerberos & TLS

• SPNEGO

• PKI, PKI, PKI

For each technology, a brief over view, drawbacks, and benefits. All informed by our work for University of Michigan on CoSign.

Page 3: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

Proxy Authentication

Web Server

Browser

Kerberized Service

Three sorts of proxy: web server enforces authZ; web server uses, e.g. SASL, to authN as itself authZ as user, application enforces authZ; web server authN as user for applications that don’t support split authN/Z, e.g., AFS.

Page 4: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

Basic Auth

• Defined in RFC 2617

• Most browsers & web servers implement it

Page 5: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

mod_auth_kerb Basic

Web Server

Browser KDC

Browser: GETServer: 401 WWW-Authenticate: Basic realm="some text"Browser GET Authorization: Basic base64(user:password)

Page 6: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

mod_auth_kerb Basic

Web Server

Browser KDC

Browser: GETServer: 401 WWW-Authenticate: Basic realm="some text"Browser GET Authorization: Basic base64(user:password)

Page 7: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

Basic Auth Risks

• User gives password to every web server

Breaks single sign-on

Trains users to freely give their password

Is the server secure?

• Every web server needs SSL (or not)

• Every web server needs a keytab (or not)

Should I be sending my password to this server? Has this server been compromised?

Page 8: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

Basic Auth Benefits

• Widely supported & well understood

• Works with WebDAV

Page 9: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

WebSSO

• Typically “Form & Cookie”

• Typically only single sign-on for web services

• Examples: CoSign, WebAuth, CAS, etc.

Typically, because WebSSO’s can also leverage “true” SSO

Page 10: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

CoSign Design

• Compartmentalized Security

• Kerberos V

• Proxy Kerberos Tickets

http://filedrawers.org

• High Availability

• Global Logout

Page 11: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

CoSign Extensions

• Centralized Guest Accounts

• Proxy CoSign Cookies

• Re-Authentication

• Multi-Factor

• Apache Authentication Modules

• X.509

Page 12: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

CoSign

Web Server

Browser KDC

CoSign Server

Page 13: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

CoSign

Web Server

Browser KDC

CoSign Server

Page 14: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

CoSign

Web Server

Browser KDC

CoSign Server

Page 15: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

CoSign

Web Server

Browser KDC

CoSign Server

Page 16: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

CoSign Risks

• Requires cookies, which can be stolen

• May use passwords, which can be stolen

Page 17: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

CoSign Benefits

• Broad browser support

• Can leverage: Basic Auth, SPNEGO, Shib, PKI, other WebSSOs, etc.

• Simple for users to understand

• Simple for CoSign-protected services

Page 18: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

Kerberos over HTTP

• Kerberos over TLS (aka SSL)

RFC 2712

lynx, curl, stunnel

• SASL over HTTP

draft-nystrom-http-sasl-12.txt (expired)

No support for graphical browsers.

Page 19: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

SPNEGO

• Defined in RFC 4178

• Simple and Protected Generic Security Service Application Program Interface Negotiation Mechanism

HTTP Negotiate: draft-brezak-spnego-http-05.txtHTTP Negotiate: draft-jaganathan-kerberos-http-01.txt (expired in January)

Page 20: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

mod_auth_kerb SPNEGO

Web Server

Browser KDC

Page 21: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

mod_auth_kerb SPNEGO

Web Server

Browser KDC

Page 22: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

SPNEGO Risks

• Limited browser support and/or complex configuration

• Web server support

• Kerberos client support

Browsers don’t necessarily behave as expected or in a friendly way. Some don’t support delegation. Supporting “Kerberos” might mean supporting AD on some platforms.

Page 23: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

SPNEGO Benefits

• True SSO

• “Delegation” works for tiered/proxied services

• Active community

Page 24: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

SSL Client Authentication

• Distribute X.509 client certificates to users

• What about Kerberos?

Page 25: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

PKI - client certificates

Web Server

Browser KDC KCT

Web server sends transcript of SSL handshake to credential translator and gets back kerberos credentials.

Page 26: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

PKI - client certificates

Web Server

Browser KDC KCT

Web server sends transcript of SSL handshake to credential translator and gets back kerberos credentials.

Page 27: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

PKI - pkinit & SPNEGO

Web Server

Browser KDC

Page 28: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

PKI - pkinit & SPNEGO

Web Server

Browser KDC

Page 29: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

PKI - junk certificates

Web Server

Browser KDC KCT

KCA

Page 30: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

PKI - junk certificates

Web Server

Browser KDC KCT

KCA

Page 31: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

PKI - junk certificates

Web Server

Browser KDC KCT

KCA

Page 32: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

PKI - junk certificates

Web Server

Browser KDC KCT

KCA

Page 33: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

SSL Client Authentication Risks

• Need either PKI or client software

• Hard for users to understand

• Certificates can be stolen

• More complex solutions inherit all the problems of their underlying components

• Not widely adopted

Page 34: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

SSL Client Authentication Benefits

• True SSO

• PKI is useful outside of browsers

• PKI is useful beyond authentication

Page 35: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

University of Michigan

• Deploy Multi-Factor AuthN in CoSign

• Deploy Client Certificates in CoSign

• Deploy SPNEGO in CoSign

• Deploy WebDAV with Basic Auth

Page 36: Using Kerberos for Web Authentication - OpenAFSworkshop.openafs.org/afsbpw06/talks/wes-kerberos-on-web.pdf · Using Kerberos for Web Authentication. Outline • Basic Auth

Q & A

http://weblogin.org

[email protected]

[email protected]


Recommended