Kerberized Credential Translation Olga Kornievskaia Peter Honeyman Bill Doster

advertisement
Kerberized Credential Translation
Olga Kornievskaia
Peter Honeyman
Bill Doster
Kevin Coffman
Center for Information Technology Integration
University of Michigan, Ann Arbor
Two worlds

Kerberos is a widely used authentication
mechanism


SSL is used to establish secure connections
on the Web


login, AFS, mail, LDAP
https, SSL-enabled Telnet
Need interoperability mechanisms
Webs Access Control

Example: access AFS content via the Web



AFS is Kerberos protected, not SSL
Web Server needs user’s Kerberos creds
Candidate solutions



World-readable files
file://afs/citi.umich.edu/u/...
Other problems requiring web access control


Kerberized X.500 directory via Web
Kerberized IMAP/POP mail servers via Web
Existing solutions and related work

Accessing Kerberized services via the Web

Send id and password (securely) to the Web
Server


Kerberos authentication in TLS with support for
delegation



Grants Web Server broad powers to impersonate the
user
Not supported by browsers
No mechanism for fine-grained delegation
Perform access control at the Web Server
The best of both worlds




Leverage Kerberos to solve PKI key
management problem
Use strong authentication over the Web
Provide Web Interface for Kerberized
services through the Web Server
Use existing infrastructures
Design Components



KX.509 creates short-lived certificates
Web Server acquires Kerberos credentials on
client’s behalf
Kerberized Credential Translator (KCT):


Translates client’s PK credentials to Kerberos
WebAFS prototype
KX.509 (junk keys)



Client acquires a service ticket for KCA
Then generates a public-private key pair
And sends the public key to KCA for signing


KCA generates a certificate



Service ticket, public key, MACsk(PK)
Uses X.500 to map client identification
Expiry of the certificate is set to that of the
Kerberos creds
KCA sends the certificate back to the client

X.509 cert, MACsk(cert)
KX.509
Client stores certificate in Kerberos
ticket cache
 Netscape manages its own certificates
and is unaware of KX.509 certs

Added a cryptographic module to Netscape
 Netscape calls our module when SSL client
authentication is requested

Web Server





Authenticates client with SSL
Records transcript of SSL handshake
Sends SSL transcript to KCT
Receives and caches Kerberos credentials
Authenticates to a backend service (say,
AFS) with received credentials
Kerberized Credential Translator


Kerberos authenticates the Web Server
Receives and verifies an SSL transcript





Verifies client/server certs
Verifies client’s signature in CLIENT_VERIFY
Matches server identities in server cert and
server ticket
Assures freshness of the transcript
Issues a service ticket for the client to the
Web Server
KCT



Requires access to KDC database
Needs the same physical security
In practice, runs on the same machine


Avoids challenge of consistent replication
Achieves physical security requirement
Performance


End-to-end delays
First access to
index.html
Subsequent access to
server
4.040 s
Accesses within a page
(e.g, images)
0.022 s
1.252 s
133 MHz Pentium, Red Hat 6.2 (2.2 kernel)
Summary




A solution for Web Access Control
KX.509 provides single sign-on capability
Illustrated how an SSL handshake can be
used as a delegation mechanism
Introduced a new mechanism to translate PK
credentials to Kerberos
Any questions?
Extra slides from here on….
Discussion

KX.509


KCT



anonymous certificates
More powerful authorization model
Different (not KX.509) PK – Kerberos identity mapping
Extensions

Any SSL-enabled server (telnet): no more passwords
Overview of Kerberos

Initial authentication


Request for a service ticket


Request for a Ticket Granting Ticket
Request for a service ticket
Authentication to a Kerberized server
Overview of SSL

Provides secure connections

Entity authentication

Public key challenge-response protocol + X.509 certs


Message confidentiality


DES, 3DES, RC2, RC4, IDEA
Message integrity


RSA, DH, Fortezza
MD5, SHA
Consists of 2 protocols: record and handshake
SSL handshake
ClientHello
Certificate
ClientKeyExchange
CertificateVerify
Finished
ServerHello
Certificate
CertificateRequest
ServerHelloDone
Finished
Inside SSL handshake

ClientHello


Certificate


X.509 certificate, CA chain
ClientKeyExchange


version, timestamp, random, session id, cipher
suite
[Key material]WSPK (in RSA)
ClientVerify

[HMACMK(handshake msgs)]CPR
Important in SSL handshake

Timestamp serves as a nounce



Used as a replay guard
SSL renegotiation establishes a new key
Session ID allows for reuse of previously
established session keys

Partial handshakes improve performance
Implementation issues

Netscape starts with an SSLv2 ClientHello

Requires an SSL renegotiation or a request to KCT
for a nounce


Chose to renegotiate
SSLv3 ClientVerify uses master secret

Must reveal the secret to KCT

Requires an SSL renegotiation
Performance piece by piece

Components delays
1 handshake
1.252 s
2 handshakes
2.495 s
TGT/KCT_TKT
0.029 s
KCT request
0.255 s
Partial handshake
0.022 s
Download