| Kerberos is one of the most prominent authentication methods and is available on several platforms, including many different versions of UNIX, Linux, Sun Solaris and Apple Mac OS X, as well as Microsoft Windows. Many people probably do not realize that they are using Kerberos whenever they log on to their computer. Because of its openness, Kerberos gives organizations the flexibility to establish cross-platform, single sign-on network environments.
For most of the major operating systems, Kerberos is the technology of choice for single sign-on because it is more secure than other authentication methods. Originally developed by the Massachusetts Institute of Technology (MIT), Kerberos does not send plain text passwords over the network and instead uses encrypted tickets. Also, passwords are never cached on the local machine.
The end-user and server are mutually authenticated, which prevents server attacks and malicious programs that try to impersonate the server to get the end-users private information.
Despite its benefits, Kerberos does have its drawbacks, such as requiring the availability of a central server (the KDC - Key Distribution Center) and not working properly if the clocks of the hosts involved are not synchronized. Also, since users secret keys are stored on the central server, if that server is compromised, the users secret keys will be compromised as well. In his article, Kerberos: Authentication with Some Drawbacks, Bill Brenner of searchsecurity.com points out that the MIT Kerberos Consortium does acknowledge the drawbacks. He quotes its chief technologist as saying, Unless youre using smart cards, Kerberos is vulnerable if the local machine is compromised and malware captures the password."
To learn about replacing passwords with a smart card single sign-on implementation using Kerberos, check out the article, Achieving Single Sign-On via Smart Card Using Kerberos A Customer Case Study, also featured in this newsletter.
Get the full lowdown on Kerberos strengths and dominance as an authentication solution in this recently published white paper by the MIT Kerberos Consortium.
Kerberos on Mac OS X
Kerberos is Apple's choice for system-wide single sign-on and addressing the risk of unauthorized users gaining access to protected data. Kerberos has served as the default authentication technology within Apples Mac OS X since its introduction and now has an extended role in the latest 10.5 release, also known as Leopard.
Kerberos was first introduced in Mac OS X v10.2 Jaguar. In its first Mac OS X release, enabling Kerberos required a manual configuration process. Since the release of Mac OS X v10.3 Panther, Kerberos authentication has been integrated into Open Directory, which can be easily set up to automatically enable that server as a Kerberos KDC. With the Mac OS X 10.5 Leopard, utilizing Kerberos makes it easier to share services with other Macs.
When end-users connect to a Mac supporting Kerberos, there is no need to authenticate to each service individually. End-users enter their password only once at login to prove their identity to the Kerberos KDC, which issues the strongly encrypted tickets that are used to assure all participating applications and services that they have been authenticated securely. The ticket permits end-users to continue to use services on that machine without re-authenticating until the ticket expires. Kerberized applications and services on the Mac include NFSv3, Safari, SSH, SMB, Mail, Telnet, VPN client, and the AFP (Apple Filing Protocol) client.
Kerberos on Linux
With Linux, the Kerberos KDC runs two important Kerberos daemons. These daemons are kadmind and krb5kdc. kadmind is the administrative daemon for the Kerberos server and is used by a program named kadmin to maintain the database of principals (end-users/client) and policy configuration. If remote logins via SSH are not allowed on your Kerberos hardware, kadmin will permit you to remotely administer the Kerberos components of the server.
krb5kdc is the workhorse of the Kerberos server and responsible for performing the role of the trusted third party authority. The request for authentication is sent to the krb5kdc, which looks up the end-user/client (the principal) to authenticate in the principal database. It reads the end-users secret key from this database and encrypts the ticket sent back to the end-user.
The end-user receives this encrypted ticket, which contains a session key. If the end-user knows the password (the secret key stored in the principal database) and can successfully decrypt the ticket, it can present the ticket encrypted with the enclosed session key to a Ticket Granting Service (TGS). The TGS will then issue a subsequent ticket which authenticates the end-user to use a specific system or service. Time stamp information is included in the tickets to prevent replay attacks as a result of fraudulent use of a previously issued ticket.
Kerberos on Windows
Kerberos has been the default authentication mechanism with the Windows family of client and server operating systems since the introduction of Windows 2000 Professional and Windows 2000 server.
The Kerberos KDC in Windows is any Microsoft Active Directory domain controller and the end-user authenticates to the KDC using an Active Directory domain account.
Since Kerberos is deeply and seamlessly integrated with Microsoft Windows and Active Directory, it enables users on Windows 2000, XP and Vista to just logon to a Windows domain at the start of their workday. Therefore, when the end-user wants to access a server for which they use Kerberos authentication, their browser retrieves the service ticket from the KDC and sends it to the server automatically.
For more specifics on how Kerberos operates on Windows and info on how it works in general, see the article Kerberos: How Does it Work? which is also contained in this newsletter.
|