HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Brian Tung is a computer scientist at the University of Southern California's Information Sciences Institute, where he is currently designing and implementing public key extensions to Kerberos. An acknowledged Kerberos expert, Mr. Tung is the author and keeper of the much-respected and often-visited Kerberos Web page The Moron's Guide to Kerberos.
This handbook is a complete step-by-step guide to working with Kerberos, one of the most popular network authentication systems used by network administrators and programmers. Kerberos provides a clear explanation of network security principles and basic concepts, while taking you through each element of the Kerberos system.
Written by a network security professional who has worked with Kerberos extensively, this practical guide reveals the experience-based tips that will help you avoid pitfalls and maximize the system's capabilities. The text shows you how to obtain, install, optimize, use, and administer Kerberos, and covers important information for developing Kerberized applications.
You will find thorough explanations of such key topics as:
In addition to these topics, Kerberos also discusses the effect of public key cryptography on the Kerberos protocol, its incorporation into Windows NT 5.0, and its use with smart cards and PC cards.
With this book in hand, the security, flexibility, and convenience of Kerberos is brought within easy reach of today's time-constrained administrator.
Click below for Web Resources related to this title:
The Moron's Guide to Kerberos
Preface xi.
1. Overview: A Kerberos FAQ.
What Is Kerberos?
What Is Kerberos Good For?
What Versions Are Available?
Where Can I Get Kerberos?
What On-Line Information Is There?
How Is Kerberos Used for Security?
Using Kerberos.
Manipulating Credentials.
Changing Your Kerberos Password.
Performing Basic Kerberos Operations.
Using MIT-Kerberized Applications.
Encrypting Your Session.
Forwarding Tickets.
Specifying the User.
Knowing When Something Isn't Right.
Using the Windows 95/NT Interface.
Using Eudora.
Knowing What You're Trying to Protect.
Building the Kerberos Distribution.
Installing the KDC.
The krb5.conf Configuration File.
The kdc.conf Configuration File.
Creating the Kerberos Database.
Setting Up the Administrative Principals.
Starting the KDC and the Admin Server.
Accessing the Database.
Adding a New Principal.
Deleting a Principal.
Modifying a Principal.
Changing a Password.
Retrieving a Principal's Database Entry.
Listing the Database Entries.
Compiling a Keytab File.
Removing Principals from a Keytab File.
Finding Out What Commands Are Available.
Quitting.
Setting Up Cross-Realm Authentication.
Administering an Application Server.
Contents of a Kerberized Application.
Example of a Kerberized Application.
The Client.
The Server.
Extensible Function Calls.
Error Handling.
Replay Caches.
A Password-Changing Program.
Other Kerberos API Calls.
GSS-API.
Understanding How the GSS-API Calls Work.
Taking Advantage of GSS-API.
The Origins of Kerberos.
Principals.
A Primer on Cryptography.
Ciphers.
One-Way Hashes.
Authentication with Kerberos.
The (High-Level) Details.
Mutual Authentication.
KDC = AS + TGS.
Cross-Realm Authentication.
The Kerberos Environment.
A Note about Passwords.
Local Security.
Pre-V5 and Commercial Versions.
Kerberos V1, V2, V3.
Kerberos V4.
Bones, E-Bones, and Heimdal.
TrustBroker.
V4 and V5 Operational Differences.
kinit.
klist.
kdestroy.
V4 and V5 Anatomical Differences.
Byte Ordering.
Ticket Lifetimes.
Delegation.
Password Hashing.
Preauthentication.
Cryptographic Algorithms.
Public Key Cryptography.
The Basics of Public Key Cryptography.
The Strength of Public Key Cryptography.
Public Key Certification.
Effect on the Kerberos Protocol.
Use in Cross-Realm Authentication.
Public Key Kerberos Today.
Kerberos and Windows 2000.
Smart Cards and Other Portable Devices.
Smart Cards and PC Cards.
PC Cards and the Kerberos Protocol.
Books.
Papers.
Internet Specifications.
On-Line References.
Kerberos is a security product--specifically, an authentication system--that verifies who you are. Authentication is used for a wide range of security services: authorization, privacy, auditing, and so forth. Freely available, Kerberos has gained in popularity. With its recent addition as part of the security support in Windows 2000 (previously known as Windows NT 5.0), Kerberos is sure to gain importance in the coming years.
Kerberos was developed as open software. That is, its development was open to review, and many individuals contributed to it. Open development has ensured that a wide variety of viewpoints and needs are addressed in Kerberos.
Unfortunately, its open history is also curiously lacking documentation. Although the developers of Kerberos have been careful to log its changes and evolution, no general text on Kerberos has existed. This book fills that void.
This book is for any user of Kerberos. A user could mean someone who has to go through Kerberos in order to access his or her login account or to read e-mail. Another user might be an administrator who uses Kerberos to protect a computer network. Another user might be someone developing applications that use Kerberos to secure file transfers and transactions. Parts of this book are of interest to all of those users.
This book is divided into two parts. The first part explains how to set up Kerberos V5 and how to use it. Chapter 1 is an introduction to Kerberos, and gives some pointers to other sources of information. Chapter 2 is a Kerberos user's manual; users and system administrators alike are urged to read this chapter. The chapter explains how to manage your Kerberos identity, defines the various options, explains how to use "Kerberized" applications, and discusses differences in the various user interfaces.
Chapter 3 describes Kerberos from the system administrator's perspective. The chapter covers making sure that Kerberos is the right tool for the job; installing the Kerberos servers; setting them up so that you'll be able to manage them easily; adding, modifying, and removing users from the Kerberos database; making optimizations; and configuring your server to talk to other Kerberos servers.
Chapter 4, for developers, explains how to get applications to use Kerberos to authenticate users and servers. A step-by-step example explains how to make use of the Kerberos API (application programmer's interface). The chapter also explains how to write an application so that it can make use of any one of a number of security systems, not just Kerberos.
The second part of this book describes the basic principles behind Kerberos and is recommended reading for anyone with an interest in how network security works. Chapter 5 describes the algorithms and protocols of Kerberos: how it started, what its basic parts are, how they work together, and so forth. The chapter is designed to give you a working knowledge of what goes on inside Kerberos--what Kerberos can and cannot do.
Chapter 6 describes the various versions of Kerberos--how earlier versions differ from V5, in terms of how they work and what the user interface looks like. System administrators should download and use the latest version of Kerberos, but because many sites still use an older version, a brief user's manual is provided.
Finally, Chapter 7 explores some new areas of research into expanding Kerberos and its capabilities. The use of public key cryptography and smart-card and related technology are discussed as ways to expand and to facilitate the use of Kerberos.
This book has something of a curious history. I first came in contact with Kerberos a little more than four years ago, when I began work at the USC Information Sciences Institute. I had heard of Kerberos before but didn't know much about it, and I suddenly found myself, fresh out of graduate school, working for one of Kerberos's principal developers, Clifford Neuman. Armed with a handful of technical papers, I tried to make sense of the security system I would soon be helping to extend.
I soon discovered that if I didn't keep careful notes, I got confused among all the various notations used to describe the algorithms that Kerberos uses. Kerberos deals with encryption keys and electronic messages sent back and forth on a computer network, and I found it easier to understand the mechanism if I viewed it in terms of messages written on real paper, locked in real boxes with real keys and handed back and forth by a possibly unreliable courier. After I felt that I had a sufficiently good grasp of Kerberos, I thought that my notes might be useful to others, so I neatened them up a little and put them on the Web under the offhand title The Moron's Guide to Kerberos. The Moron in the title referred to me during those first few days when I was struggling to understand Kerberos.
That work became a minor hit, at least to my own eyes, and I am admittedly not overburdened with modesty. A few dozen people sent e-mail to thank me for providing them with an accessible introduction to Kerberos, and there are links to The Moron's Guide from a number of general security clearinghouses.
In late 1997, I got a call from Mary Hart, an editor at Addison-Wesley. Apparently, she had seen my Web page, found it provocative, and asked whether I would be interested in expanding the material into a technical book. Certainly I would. The outline of the book was duly proposed and approved, and I spent a year or so working at completing the book. And so, here it is.
They say that success has many fathers; they mean that many people are ready to claim credit for anything that goes well, but in this particular case the credit is due. First, I have to thank Mary Hart, without whom this book would never even have been conceived, let alone undertaken. She has been extremely understanding and forgiving of my lapses and delays in delivering chapters of this book.
I would also like to thank the Information Sciences Institute, and Clifford Neuman in particular, for giving me the opportunity to work on Kerberos; the MIT development team, for making a sophisticated security system freely available and thereby giving me something to write about; and the companies, past and present, that provided extra functionality to Kerberos.
I would like to thank Don Knuth and Leslie Lamport for developing the TeX and LaTeX typesetting languages, respectively, without which typesetting this book would have been significantly more difficult; and William Cheng, who wrote TGiF, which is responsible for some of the figures in this book.
I also have to thank the following reviewers of this book for correcting my errors, updating me on new developments, and improving the overall usability of this book: Jeffrey Altman, Derrick Brashear, Tom Damon, Christopher Hylands, Joe Kovara, Carrie Ledford, Dave McGuire, Clifford Neuman, and Tom Yu.
Finally, I want to thank my wife, Debby. This book has taken a large chunk of my time over the past year, and without her patience, love, and understanding, I probably would never have finished it. Indeed, that the book has seen the light of day at all surely owes a lot to her gentle but persistent motivation during those times when I didn't think I had the time to work on it. It has been worth it.
--Brian Tung
Santa Monica, California