Kerberos 5 at DESY Andreas Haupt Wolfgang Friebel.

Slides:



Advertisements
Similar presentations
ISA 662 Internet Security Protocols Kerberos Prof. Ravi Sandhu.
Advertisements

Single Sign-On with GRID Certificates Ernest Artiaga (CERN – IT) GridPP 7 th Collaboration Meeting July 2003 July 2003.
Kerberos: An Authentication Service for Open Network Systems Jennifer G. Steiner, Clifford Neuman, and Jeffrey I. Schiller Massachusetts Institute of Technology.
AUTHENTICATION AND KEY DISTRIBUTION
Overview Network security involves protecting a host (or a group of hosts) connected to a network Many of the same problems as with stand-alone computer.
Kerberos Mark Sidnam.
Chapter 10 Real world security protocols
> Nicolas FISCHBACH Senior IP&Security Engineer - Professional Services Team - > Sébastien LACOSTE-SERIS.
Security Protocols Sathish Vadhiyar Sources / Credits: Kerberos web pages and documents contained / pointed.
KERBEROS LtCdr Samit Mehra (05IT 6018).
KERBEROS A NETWORK AUTHENTICATION PROTOCOL Nick Parker CS372 Computer Networks.
Authentication Applications
Windows 2000 Security --Kerberos COSC513 Project Sihua Xu June 13, 2014.
Active Directory and NT Kerberos Rooster JD Glaser.
SCSC 455 Computer Security
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
SSH Operation and Techniques - © William Stearns 1 SSH Operation and Techniques The Swiss Army Knife of encryption tools…
Authenticated QoS Signaling William A. (Andy) Adamson Olga Kornievskaia CITI, University of Michigan.
Cross Platform Single Sign On using client certificates Emmanuel Ormancey, Alberto Pace Internet Services group CERN, Information Technology department.
Using Kerberos the fundamentals. Computer/Network Security needs: Authentication Who is requesting access Authorization What user is allowed to do Auditing.
UNIX & W2K A single sign-on solution for a Kerberos V based AFS cell Enrico M.V. Fasanelli & Fulvio Ricciardi I.N.F.N. – Sezione di Lecce.
The Kerberos Authentication System Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
1 Lecture 12: Kerberos terms and configuration phases –logging to network –accessing remote server replicated KDC multiple realms message privacy and integrity.
Password?. Project CLASP: Common Login and Access rights across Services Plan
Kerberos and PKI Cooperation Daniel Kouřil, Luděk Matyska, Michal Procházka Masaryk University AFS & Kerberos Best Practices Workshop 2006.
ACCESS CONTROL MANAGEMENT Project Progress (as of March 3) By: Poonam Gupta Sowmya Sugumaran.
HEPNT/HEPiX meeting Oct 6, Securing mail access with Kerberos and SSL Wolfgang Friebel DESY.
(Remote Access Security) AAA. 2 Authentication User named "flannery" dials into an access server that is configured with CHAP. The access server will.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
KerberSim CMPT 495 Fall 2004 Jerry Frederick. Project Goals Become familiar with Kerberos flow Create a simple Kerberos simulation.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
Authentication June 24/2003. Overview Terminology Local Passwords Early Password Services Kerberos Basics Tickets Ticket Acquisition Kerberos Authentication.
TAM STE Series 2008 © 2008 IBM Corporation WebSEAL SSO, Session 108/2008 TAM STE Series WebSEAL SSO, Session 1 Presented by: Andrew Quap.
AFS & Kerberos Best Practices Workshop 2008 Design Goals Functions that require authentication Solution Space Kerberos, GSSAPI or SASL (Decide on your.
Information Security Depart. of Computer Science and Engineering 刘胜利 ( Liu Shengli) Tel:
Authenticating Users Chapter 6. Learning Objectives Understand why authentication is a critical aspect of network security Describe why firewalls authenticate.
Kerberos: An Authentication Service for Open Network Systems Jennifer G. Steiner Clifford Neuman Jeffrey I. Schiller.
Designing Authentication for a Microsoft Windows 2000 Network Designing Authentication in a Microsoft Windows 2000 Network Designing Kerberos Authentication.
Authentication Applications Unit 6. Kerberos In Greek and Roman mythology, is a multi-headed (usually three-headed) dog, or "hellhound” with a serpent's.
Windows NT ® Single Sign On Cross Platform Applications (Part II) John Brezak Program Manager Windows NT Security Microsoft Corporation.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
ACCESS CONTROL MANAGEMENT Project Progress (as of March 3) By: Poonam Gupta Sowmya Sugumaran.
Introduction to AFS IMSA Intersession 2003 AFS Servers and Clients Brian Sebby, IMSA ‘96 Copyright 2003 by Brian Sebby, Copies of these.
Key Management. Given a computer network with n hosts, for each host to be able to communicate with any other host would seem to require as many as n*(n-1)
Henry B. HotzKerberos 5 Upgrade JPL’s Kerberos 5 Upgrade Henry B. Hotz Jet Propulsion Laboratory California Institute of Technology.
ACCESS CONTROL MANAGEMENT Poonam Gupta Sowmya Sugumaran PROJECT GROUP # 3.
1 KERBEROS: AN AUTHENTICATION SERVICE FOR OPEN NETWORK SYSTEMS J. G. Steiner, C. Neuman, J. I. Schiller MIT.
Kerberos By Robert Smithers. History of Kerberos Kerberos was created at MIT, and was named after the 3 headed guard dog of Hades in Greek mythology Cerberus.
Kerberos Guilin Wang School of Computer Science 03 Dec
W2K Integration in the Kerberos5 based AFS cell le.infn.it Enrico M. V. Fasanelli I.N.F.N. – Sezione di Lecce Catania,
1 Kerberos n Part of project Athena (MIT). n Trusted 3rd party authentication scheme. n Assumes that hosts are not trustworthy. n Requires that each client.
Kerberos 5 for DESY Wolfgang Friebel. Sep 20, Useful URL’s K5 protocol: FAQ:
Kerberos in an ISP environment
Advanced Authentication Campus-Booster ID: Copyright © SUPINFO. All rights reserved Kerberos.
KERBEROS SYSTEM Kumar Madugula.
Kerberos Miha Pihler MVP – Enterprise Security Microsoft Certified Master | Exchange 2010.
1 Example security systems n Kerberos n Secure shell.
What is Kerberos? Network authentication protocol Developed at MIT in the mid 1980s Kerberos is a three-headed dog Available as open source or in supported.
Dr. Nermi hamza.  A user may gain access to a particular workstation and pretend to be another user operating from that workstation.  A user may eavesdrop.
Kerberos OLC Training What is it? ● A three-headed dog that guards the entrance to Hades. ● A network authentication protocol that also.
Radius, LDAP, Radius used in Authenticating Users
Authentication Protocol
Kerberos: An Authentication Service for Open Network Systems
Network Security – Kerberos
Kerberos in an ISP environment
Kerberos Part of project Athena (MIT).
Presentation transcript:

Kerberos 5 at DESY Andreas Haupt Wolfgang Friebel

May 20, Motivation Work started at CERN to use Kerberos5 with AFS Kerberos4 used internal to AFS no easy replacement available is superseded by Kerberos5 has security weaknesses Kerberos5 is a supported standard lots of tools are K5 enabled (or prepared) token extension in LSF, SGEEE, UW-imap server, lprNG, Cisco Routers,… AFS can be configured to work with K5 K5 offers desired features missing in K4 K5 comes with an implementation of the GSS-API (another one is the GSI from Globus)

May 20, Kerberos Terminology Kerberos is a protocol to authenticate users and services (= principals) The Key Distribution Center (KDC) issues proofs of identity (= tickets, containing short living session keys) Identity is checked by exchanging messages (challenge - response) using a short lived session key, no passwords are sent over the network A key is a bit string used to en- or decrypt messages Services use randomly generated keys instead of passwords

May 20, Kerberos Keys and Tickets The KDC('s) have keys for all principals Services need access to (permanent) keys to authenticate against the KDC. They are stored in a file (usually in krb5.keytab) User passwords are transformed into keys by selectable (predefined) algorithms Authenticated users have a Ticket Granting Ticket (TGT), that is a service ticket for the Ticket Granting Service (TGS) stored in a file An AFS token is a service ticket for the service 'afs' and cached in kernel memory

May 20, Features of a ticket Valid for a limited time period (e.g. 25h) Can be renewed if valid and within the allowed time period for renewal (e.g. 14d) Can be made invalid initially Can be made forwardable to other hosts (TGT) can be used to obtain further (service) tickets Can be destroyed if not longer needed Is usually stored in a file (/tmp/...)

May 20, Getting a Service Ticket KDCClientTGSServer

May 20, Kerberos auth (simplified) Step 1: Requesting a ticket a) Client requests a ticket for the ticket granting service (TGS) b) Server returns ticket (contains newly generated session key encrypted with user key) c) Further communication is encrypted (session key) Step 2: User Authentication a) User types password b) Client converts password into key and sends a request for a Ticket granting Ticket c) Server issues TGT Step 3: Request service tickets with the TGT

May 20, Preauthentication (K5 only) In Keberos4 Users can request a TGT for arbitrary principals KDC sends a response which is encrypted with the principals key can be used for offline password attack Kerberos5 adds Preauthentication already at step 1a the user has to type a password, which is converted to a key timestamp encrypted with that key is sent with the initial request (or smart card data)

May 20, Kerberos Realms and AFS All principals stored in the KDC database belong to a common realm AFS assumes that a user in afs cell my.cell maps to a K4 principal There is documentation stating that a K5 realm different from K4 is possible, but it is harder to get and we have been unable to make it work K4 credentials cache supports multiple principals (different realms) – K5 does not

May 20, Available Software Kerberos Servers: MIT distribution Heimdal distribution DCE A KDC comes with Windows 2000 Kerberos Clients Collection of clients contained in all server packs At least 5 different PAM implementations Standalone Software that is Kerberos enabled through the use of GSS-API (useful for Grid) or through native Kerberos calls (MIT and Heimdal differ!)

May 20, Kerberos Servers Heimdal Integrated Kerberos4 and AFS support Easy conversion of the K4 user database Incremental propagation of database changes Comes precompiled with SuSE Fewer applications available which successfully build against Heimdal K5 libs than against MIT libraries Poor documentation Some features still unimplemented KDC does not implement ka_maintenance_service database administration with kas will not work CLI differs from MIT and from W2000 ones

May 20, Kerberos Servers (2) MIT A separate daemon needed for AFS, otherwise AFS-K5 integration provided Complicated procedure to convert AFS users to K5 Comes precompiled with Linux (Redhat) Some applications ready to use MIT libraries only No integrated server replication, it is done dumping the full database regularly (e.g for CERN > 10MB each time) Used by many US sites (Fermilab)

May 20, Kerberos Servers (3) W2000 No way to run it on AFS DB servers No smooth migration of AFS accounts to W2000, users without W2000 accounts need to get new account and password Authentication for AFS with Windows password Separate daemon required to obtain AFS tokens (tested and working: gssklog) Almost no Windows applications known that use the Kerberos protocol TGT contains data internal to W2000, this rules out to use non W2000 KDC's

May 20, Kerberos Servers (4) W2000 (cont.) No source code available, no chance to fix bugs quickly and no guarantee that K5 will survive There is a recipe to crash (reboot) W2000 KDC's, W2003 server disables a command to prevent it Other errors seem to be known for a long time but not fixed (some telnet core dumps) Only subset of K5 standard implemented Administration of K5 interwoven with W2000 internals and very different from both MIT and Heimdal administration

May 20, Design decisions Slow migration from K4 to K5 Start with a limited number of hosts (PAM configured for K5) Free choice between K4 and K5 for users All changes in the user base must be in K4 Use Heimdal for the following reasons: Incremental and synchronous K5 DB propagation One daemon only for K5, K4, AFS Sync of K4 and K5 without service interrupt possible, could be triggered by K4 DB change Use PAM to get Tickets and AFS token Transparent for the users No change in PAM aware applications

May 20, Implementation Built Kerberos 5 realm IFH.DE (heimdal) Master KDC is on Solaris 8 Two slave servers (Solaris 8, Solaris 6) Software compiled for Linux + Solaris Server and clients Heimdal Heimdal compliant PAM

May 20, Implementation (2) Client and server configuration using cfengine for that purpose krb5setuphd (ksh script) available as well Synchronization of K4 and K5 DB heimdal_sync (perl script), only required in migration phase when still kaserver running Init scripts to start KDC and slaves Needed only during test phase Maintained by cfengine (deployment to hosts) In production phase KDC is controlled by OpenAFS bosserver

May 20, Implementation (3) Ticket lifetimes Need to be short for security reasons Need to be renewable for a long time for batch jobs (now from AFS ka database converted accounts unlimited, new accounts: 30d) Users could make use of it to refresh AFS tokens almost forever without typing a password (security concerns?) Default ticket lifetime now in sync with AFS (25h)

May 20, Problems solved Set up production environment at DESY Zeuthen with 3 servers First integrated Realm with Heimdal and AFS in HEP(?) OpenAFS kaserver replaced by Heimdal KDC Compliance of KDC with old kaserver Patched KDC not to check addresses in K4 tickets (kaserver does not do this either) Heimdal provides a global option only for disabling both K4 and K5 address checking

May 20, Problems solved (2) Working PAM configuration including K4 ticket and AFS token handling Solaris8, Linux in production, Solaris6 with minor problems on individual machines OpenSSH version 3.6.1p1 with heimdal-patch does K5, K4, AFS token forwarding (with patch also with older version of OpenSSH) kas no longer available replaced kas commands in user and password management using Heimdal-Kadm5 perl module IMAP server and Client (pine) with K4/5

May 20, Problems solved (3) Login with one time passwords Host with special PAM configuration Provides K5, K4 and AFS token Users generate S/Key list after K5 authentication Keys of users stored in keytab (are copied nightly to login server) PAM modules used: Pam-skey S/Key authentication Pam-krb5keytab (own development) Ticket generation from keytab Looked at FNAL solution, came up with this one

May 20, Differences to old scheme Master/slave concept for KDC No load balancing of KDC requests No DB manipulation if master is down No counter for unsuccessful Kerberos authentication attempts Locking of users can be done at the K5 level When using kinit tickets for foreign cells/realms get destroyed (AFS tokens in memory survive)

May 20, No cross realm trust Needed to do mutual authentication between different sites (e.g CERN-DESY) or on site Unix and Windows realms Realms share a common secret stored in keys User from realm A is trusted in realm B after obtaining ticket from realm A User has also in realmB only a ticket AFS ACL's in realm B will not be honored and the user is not in system:authuser Needs to be handled by extra PTS entries

May 20, Next steps Provide a native K5 arc server and client Working version available from SLAC Tighter integration with Windows 2003 server Planned for June in collaboration with CASPUR

May 20, Conclusions K5 deployment is fairly easy Real switch took less than an hour Very short service interruption (authentication) Porting of existing scripts a bigger problem K5 integration with services was more tedious PAM configuration, ssh, IMAP Not yet finished: batch (SGEEE), other potentially Kerberos5 aware services W2000 interoperability is possible harder and less useful than thought

May 20, Conclusions (2) Users did not notice a difference in behaviour (except e.g. different output of klist) No multi realm support with kinit (AFS users will prefer K4 klog) Sessions with long living AFS tokens will become possible (without storing passwords), not yet used

May 20, Useful URL's Patches and tools:ftp://ftp.ifh.de/pub/unix/kerberos K5 protocol: FAQ: -faq.html MIT K5: KTH K4: Heimdal K5: Kerberos Projects: Heimdal PAM: GSS-API: (search for GSSAPI) gssklog:ftp://achilles.ctd.anl.gov/pub/DEE