Kerberos: The Definitive Guide 177
Kerberos: The Definitive Guide | |
author | Jason Garman |
pages | 272 |
publisher | O'Reilly and Associates |
rating | 7/10 |
reviewer | Jose Nazario |
ISBN | 0596004036 |
summary | A comprehensive, cross platform guide to Kerberos |
I got started using Kerberos many moons ago, at my university. This is probably how many people got to know about it. While I didn't use it very much, it's there that I learned the basics and experimented a bit with Kerberos. Interest in it took off after Microsoft incorporated Kerberos authentication mechanisms into Windows 2000. Suddenly it wasn't such arcane knowledge.
Two open source Kerberos implementations exist, the MIT reference implementation, and the Heimdal Kerberos implementation. Even then, there are two main versions which you can find, Kerberos IV and Kerberos V. Kerberos IV went away for most environments with the passing of the Y2K mark, but some legacy apps need support. So, you still have to deal with it on occasion.
In writing Secure Architectures with OpenBSD, I got a lot more intimate with Kerberos, and even set up a decently sized realm in my house. Hence, I got to experience the turmoil of setup and debugging. A book like Kerberos: The Definitive Guide (K:TDG) would have been very welcome. Instead, I slogged my way through it, and got it to work for the most part.
K:TDG will help you set up your Kerberos world by introducing you to the complex subject, terminology, and the pieces. Once you learn the basics, you recognize that a simple realm is actually somewhat easy to set up. The author, Jason Garman, uses a mixed Mac OS X, UNIX, and Windows environment, focusing on UNIX most of the time. The bulk of the examples deal with MIT Kerberos 5 version 1.3 (krb5-1.3) but should work for most versions. Some attention is given to the Heimdal implementation (which is integrated with BSD, for example), and for the most part you'll be OK. Windows examples are also pretty copious but always come second. If you're comfortable with UNIX, you'll easily be able to translate these into Windows examples to help bridge the Windows gaps.
Chapter 1 is an obligatory Introduction, a short chapter that introduces the key concepts of Kerberos and what the book will cover. A very quick comparison of Kerberos to DCE, SESAME, and earlier versions of Kerberos is given. This chapter serves as a nice selling point for the book, it's the type of thing you'd flip through in the book store to decide if you should buy the book or not.
Chapter 2 is a decent overview for the new user of Kerberos to the system and how it works. Kerberos is placed into its role in a AAA infrastructure - authentication, authorization, and accounting - as well as some caveats that are commonly made. You'll learn about core Kerberos features like tickets, realms, principles, instances, ticket granting tickets, and the ticket cache. A decent overview for practical purposes is given, but you will definitely want another resource if you're interested in diving headlong into Kerberos.
These pieces come together in Chapter 3, where the actual protocols are described. They're laid out for a non-cryptographer, so go elsewhere if you want to learn the real formal material behind the system. Understanding the protocols is important to understanding the service as a whole. For someone new to Kerberos, you'll probably want to spend a little more time reading this to get oriented in the Kerberos world. The chapter doesn't mess around too much and delivers a fair treatment of the material.
Chapter 4 is the meat of the book's material, setting up your implementation. It all starts with the KDC (key distribution center) and realm initialization. Again, the bulk of the treatment is on the MIT implementation on UNIX, with the Heimdal and then Windows sections following next. Slave KDCs are also introduced, which is useful for large environments. An OS X server is missing, but Kerberos clients for all three (UNIX, Windows and OS X) is given. The role of DNS is also explained well, a useful touch that's missing in some Kerberos documents I've used in the past. This chapter will get you started, and with some of the supplied documentation you should be up and running in no time.
Chapter 5 is devoted to troubleshooting, an all too familiar task for a new Kerberos administrator. Common problems, their diagnosis, and resolution are discussed. I like the presentation of this chapter and think it will be useful for most real-world situations you'll encounter.
Security concerns with Kerberos are covered in Chapter 6, which discusses concrete and abstract attacks on the Kerberos scheme. Since all of the security in Kerberos resides in your KDC hosts, obviously this covers some of the material. However, the clients can exposes your Kerberos realm to attacks, as well, and how to circumvent these problems is covered. A decent and practical chapter, and covered on both UNIX and Windows.
In Chapter 7 a number of Kerberos enabled applications are discussed. After all, you can do more than just log on locally with Kerberos, you can use remote login programs like SSH, remote access scenarios like printing, and even control X via Kerberos. While not every application that I would have liked was covered, the treatment was fair and should get you started with a number of Kerberos enabled tools in your new realm.
A strong selling point of the book is given in Chapter 8, titled Advanced Topics. Three main topics are discussed. The first is cross-realm authentication, where you have more than one separate Kerberos realm on your network but you want to have users switch between the two without creating accounts in the other. This can get tricky, and the book does a decent job of introducing it, but it's not as complete as it could be. The second main topic in this chapter is Kerberos 4 and 5 interoperability, which is relatively straightforward. Most Kerberos 5 implementations come with tools to process Kerberos 4 ticket scenarios to handle legacy applications. And finally, a really valuable section covers UNIX and Windows Kerberos interoperability, a hairy issue. Again, incomplete but strong enough that you should be able to get it working with some elbow grease. This is probably the most valuable chapter of the book, which does a decent job at the introductory level, but you'll be left to tie up a few loose ends on your own.
An obligatory case study is given in Chapter 9, where you can see a number of configuration samples and even a mixed Windows-UNIX environment. Not terribly useful when compared to chapters 4 and 8, but overall worthwhile. It may answer some of your questions, even. Chapter 10 wraps up the book with looking at Kerberos futures, which isn't all that useful, honestly. What gets more useful is the appendix, which gives an administration reference. Lots of commands are given for MIT, Heimdal and even for Windows, so you can quickly jump there to refresh your memory on a topic.
Overall this book is recommended if you need a place to start working on Kerberos, especially in a mixed environment. The MIT and Heimdal documents are a fair place to start for a UNIX only Kerberos realm, but if you find they aren't enough, this is probably the right book for you. The book's main strength is that it covers Kerberos on the three main platforms in use (Windows, OS X, and UNIX), although it could provide a deeper treatment to the mixed environment than it gives. Still, you should be able to use this as a starting point, and it's probably the best treatment I've seen so far on Kerberos setup and administration.
You can purchase Kerberos: The Definitive Guide from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page
But are people comfortable with SSO! (Score:3, Insightful)
Re:But are people comfortable with SSO! (Score:5, Interesting)
SSO != Single Account (Score:4, Informative)
Single Sign On means your enter your username/password once and you can connect to any resources you are allowed to.
For example, you'd log into your Windows XP PC. Without entering your password again, you can browse other computers in the AD Domain. You start Outlook and you never have to enter your login info for your exchange server. From there, you point IE at your intranet server and it uses the kerberos ticket to log you in without a password.
In the unix world, it means getting a ticket with kinit. From there, ssh, ftp, mozilla and so forth should be smart enough to not require you to log in again.
Re:SSO != Single Account (Score:4, Informative)
Incidentally SSH, FTP, mozilla and so forth need to be told to use Kerberos, they will not use it simply because you have a valid ticket.
Re:SSO != Single Account (Score:2)
Maybe you can answer me a question that has bugged me for ages... how does one 'kerberize' a client? For instance, the mass store ftp site for a research facility I use can only be accessed by a kerberized ftp client which is the brain-dead UNIX client, and it has to be downloaded in binary form. I would love to have something like ncftp be able to access the files. Any
Re:SSO != Single Account (Score:3, Informative)
It has to be written to talk to kerberos.
Programmers Guide for Heimdal Kerberos. [fernuni-hagen.de]
Kerberized Kermit FTP Client [columbia.edu]
There are probably others.
Re:SSO != Single Account (Score:2)
Re:SSO != Single Account (Score:2)
So whether you used Kerberos directly or used GSSAPI or SASL would simply depend upon your needs and how you intended to use advanced authentication. OpenLDAP uses KerberosV via SASL because SASL all
Re:SSO != Single Account (Score:2)
Re:But are people comfortable with SSO! (Score:3, Insightful)
out of the enterprise, it's a whole different game
Re:But are people comfortable with SSO! (Score:3, Insightful)
It is an article of faith that all technical problems have technical solutions. It is a further article of faith that if a problem can be called "technical" it will be -- no matter whether or not that's accurate. Because technical problems can by definition be solved by technology, and everyone wants problems to be solved, all problems are therefore technical.
God forbid we have to change the way we do business to fix an issue. No! Just put a technical band-aid on it!
Re:But are people comfortable with SSO! (Score:5, Funny)
Re:But are people comfortable with SSO! (Score:2, Funny)
Re:But are people comfortable with SSO! (Score:2, Insightful)
Re:But are people comfortable with SSO! (Score:4, Insightful)
The biggest one I see is technical: there's no good single sign-on system designed for the Internet.
Kerberos is the only widely implemented system I'm aware of that implements one key criterium: service providers can't use the credentials passed to them to log in to another service. With web-based single sign-on systems, the password you enter for webmail will also get you in to the billing system. So if the webmail system is compromised (and it's typically held to a much lower standard), so is the billing system. That's no good.[*]
Kerberos isn't designed for the Internet. You need to set it up explicitly for each trust domain on each client computer. So users can't just pull out their personal laptops and use them to log in, unless you've instructed them on setting it up. And certainly not on whatever public computer they've run across.
What we need is a single sign-on system with a different model. I think it would require:
Certainly #2 and #3 are technical problems. #4 is not. #1 is arguable.
[*] - Some web applications make some effort to avoid this problem. But they're not good enough. The University of Iowa has the HawkID system, which redirects all login requests to the hawkid one, and then back to the application. But you still enter the password into a web form given by the application, and there's no UI for seeing the destination of the form. When you enter it, you don't have a guarantee that the web application doesn't get the password. We need a new system just for authentication that makes potential security problems blindingly obvious.
Re:But are people comfortable with SSO! (Score:3, Informative)
Actually it doesn't work for ATMs either. There's a hack that's been reported locally where someone sets up a reader/screen/button panel over the top of an ATM faceplate. They read the card, record the PIN (that YOU entered), and says there's a problem with the account. Then they can replicate your card and they have your PIN.
This is why I don't like SSI. There is no end to the number of clever hacks people will dream up, and I don't want to have to trust that ALL of my servi
Re:But are people comfortable with SSO! (Score:3, Insightful)
The problem with an ATM card is that it is not cryptographically self contained. Because it has no processing power, it cannot computer message authenticators etc. on its own. Instead, it has to reveal its secrets to the machine it is inserted into so that machine can do the procedure for it. This is why the false front thing works. The card tells everything it knows.
The poster is talking about something like an ibutton or smart card that has on-
Re:But are people comfortable with SSO! (Score:4, Interesting)
I'm afraid your entire point here is just technically false. Kerberos only requires host setup with if the host is a server; that is, to run a kerberized service on it, you need to establish a shared key for the service principal with the Kerberos system (KDC) and store it on the host where the corresponding server can find it (e.g.
Re:But are people comfortable with SSO! (Score:3, Interesting)
My bad; you're right. I was originally thinking of a different situation and confused myself. That situation is single sign-on for all Internet services with a single authentication token. (Like authenticating to slashdot through slamb.org.) Then there wouldn't be a pre-established relation between the service
Symmetric key vs public key (Score:3, Interesting)
My understanding of kerberos (please correct me if I'm wrong) is that it's a symmetric key system. Every computer shares a secret key with a central server that handles authentication.
The problem is that the central server, if compromised (or administered by someone of malicious intent), can authenticate anyone as anyone else to anyone else on the network. In other words, you have to trust a third party.
In a public key system, the worst thing the key authority can do is refuse to publish and/or sign y
Re:Symmetric key vs public key (Score:2)
That's mostly correct, but I disagree with your last statement.
The KDC is an attractive target because it has all of the secrets. Public key systems with a hiearchical PKI structure have a similar problem because the holder of the private key for the root certificate is also an attractive target---if an attacker gets that private key then they can issue new certificates for themselves. However, the Kerberos KDC is always online (hence vulnerable), whereas the private key for the root certificate migh
Re:But are people comfortable with SSO! (Score:2)
AFS Coverage? (Score:4, Insightful)
Re:AFS Coverage? (Score:1)
Re:AFS Coverage? (Score:2)
Re:AFS Coverage? (Score:4, Informative)
For folks unfamiliar with AFS, it gives you (as compared to NFS) features like volume management, failover, Kerberos authentication, ease of client maintenance and intelligent client-side caching.
Re:AFS Coverage? (Score:2, Interesting)
The installation is simple enough, but the setup throws you into the deep end. The nicest part of the whole setup is that once it's up and running, it's the lowest hassle file server I've dealt with. When I need to rebuild one of the servers(distribution version upgrades mostly), I just tell OpenAFS
Re:AFS Coverage? (Score:2)
Re:AFS Coverage? (Score:3, Informative)
Kerberos Dialogue (Score:5, Informative)
Designing an Authentication System: a Dialogue in Four Scenes [mit.edu]
Bad HTML alert (Score:4, Informative)
Re:Bad HTML alert (Score:2, Funny)
Sounds like bad FireFox code.
Re:Bad HTML alert (Score:2)
Firefox's "bug" here is that it doesn't try to make a column with unspecified width as narrow as possible. Or at least it doesn't try hard enough in this case. That's not really a bug, since no HTML specification requires a browser to do that, even though most browsers do. A classic case of coding to the browser instead of the specific
Re:Bad HTML alert (Score:2)
+ Firefox renderes it identically to Netscape 4.8
+ The document was "converted to HTML by Theodore Ts'o" (who is a Linux Kernel developer).
+ It is a document targeted towards UNIX users.
Not exactly where you'd expect IE-oriented HTML, eh?
One has to conclude that Firefox is rendering it to the author's intentions, and that IE is doing it 'wrong' -- but just happens to be more readable.
Plus, I'd argue that this is a perfect use of table, as row/column
Re:Bad HTML alert (Score:2)
You do have a good point about the date. Seven years ago, using tables was pretty much the only way to do this kind of layout.
Not so bad (Score:1, Informative)
It was difficult at first but i've grown used to it, and it seems to be pretty great and
Bad editing (Score:5, Informative)
I made a list of corrections that I sent to both O'Reilly and the author which were ignored. I think O'Reilly is getting too arrogant and it's going to hurt their reputation.
Re:Bad editing (Score:3, Insightful)
Perhaps the corrections you sent had already been caught by someone else (at O'Reilly or otherwise), only too late to fix before this publication, and will be corrected in any future publications. Granted I suppose a note of thanks from the author would have been nice, but what did you expect, Hallmark?
Re:Bad editing (Score:2, Informative)
Re:Bad editing (Score:2, Informative)
If you used the errata form on the book's catalog page, your report went into a request tracking system which sends mail to the editor and the author. From there, both can suggest changes or corrections to make in the next printing or edition. When the next printing or edition comes due, the editor receives an automated message asking for a collection of changes -- conveniently tracked in the request tracker.
As far as I've seen, the system works. None of the books I've edited have gone in for reprint y
Re:Bad editing (Score:4, Funny)
I never buy the O'Reilly book if another publisher has a decent title on the same subject. But it's often the case that O'Reilly has the only title on a particular subject, or the only one by an author who really knows the subject. So they kind of have a guaranteed audience. Which, as you say, tends to make them arrogant.
What makes this particular frustrating is that somebody at O'Reilly sat down and wrote one of the best writer's guides I've ever seen [oreilly.com]. If only they'd make their writers actually read it!
Kerberos, it's not just for mammals anymore (Score:1)
PKINIT (Score:3, Interesting)
Heimdal has a pretty good support by now but the docs are scarce at best, and getting it ( the PKINIT part ) to interoperate is Mayor Payne
Re:PKINIT (Score:1, Interesting)
Don't even bother trying to get interoperable PKINIT implementations working now, wait until the spec is finalized.
Re:PKINIT (Score:3, Insightful)
Try harder.
Re:PKINIT (Score:2, Informative)
I think you are confused with the difference between PKINIT and Kerberos V5. They are 2 different things.
Yes, getting MIT KRB5 to interop with Win2K is easy. But there is no PKINIT available from MIT yet, though, which leads me to think you are confusing 2 different protocols.
Uuh, kerberos is what? (Score:3, Funny)
You mean it isn't Passport? I'm so confused now...
Re:Uuh, kerberos is what? (Score:2)
Incase of Slashdotting... (Score:3, Funny)
KERBEROS(1)
NAME
kerberos - introduction to the Kerberos system
DESCRIPTION
The Kerberos system authenticates individual users in a network environment. After authenticating your-elf to Kerberos, you can use network utilities such as rlogin, rcp, and rsh without having to present passwords to remote hosts and without having to bother with
.
.
.
Currently, Kerberos support is available for the following network services: rlogin, rsh, rcp, telnet, ftp, krdist (a Kerberized version of rdist), ksu (a Kerberized version of su), login, and Xdm.
SEE ALSO
kdestroy(1), kinit(1), klist(1), passwd(1), rsh (1), rcp(1), rlogin(1), telnet(1), ftp(1), krdist(1), ksu(1), sclient(1), xdm(1), des_crypt(3), hash(3), krb5strings(3), rb5.conf(5), kdc.conf(5), kadmin(8), kadmind(8), kdb5_util(8), telnetd(8), ftpd(8), rdistd(8), sserver(8), klogind(8c), kshd(8c), login(8c)
BUGS
AUTHORS
Steve Miller, MIT Project Athena/Digital Equipment Corporation Clifford Neuman, MIT Project Athena
HISTORY
Kerberos was developed at MIT. OpenVision rewrote and donated the administration server, which is used in the current version of Kerberos 5.
RESTRICTIONS
Copyright 1985,1986,1989-1996 Massachusetts Institute of Technology
KERBEROS(1)
Re:Incase of Slashdotting... (Score:2, Informative)
Re:Incase of Slashdotting... (Score:2)
The Kerberos system authenticates individual users in a network environment. After authenticating your-elf to Kerberos, you can use network utilities such as rlogin, rcp, and rsh without having to present passwords to remote hosts and without having to bother with
Oh, good. My-elf always needs convenient authentication.
Re:Incase of Slashdotting... (Score:2)
What about hobbits, or men, for that matter?
interoperability with windows/ active directory (Score:1, Informative)
I've been pretty happy with the O'Reilly "LDAP" book, which has been terribly helpful. To be honest, it's still been a bit of a pain. I blame Sun more than anything else; should be a lot easier if you were implementing on Linux. I have used a lot o
Re:interoperability with windows/ active directory (Score:2)
OpenLDAP = Some Assembly Required (Score:3, Interesting)
I just took another look at this neglected package a couple of months ago. The default schemas still had areas for teletype addresses but no email. There was barely any support for groups.
I went running back to commercial LDAP servers soon after...
Re:OpenLDAP = Some Assembly Required (Score:3, Interesting)
Re:interoperability with windows/ active directory (Score:4, Informative)
Both the LDAP administration book and the Kerberos book mentioned here do work well together, I picked them both up when I kerberised/LDAPified my network at home. I haven't got my Solaris box up and running yet, so I don't know how difficult that will be.
Apples and oranges... (Score:4, Informative)
Kerberos was made to guarantee the authenticity of a user or service that has been granted access to the network. The right way to secure LDAP would be to use Kerberos authentication. You can use SSL with LDAP but you are just passing around encrypted plain text passwords. SASL allows the client to select whatever the best protocol it can support.
What many in the industry have done with LDAP is wrecked it by using SSL with secret stores where the directory holds the encrypted passwords for every service you need to access. This basically amounts to nothing more than Microsofts old PWL files on Win9x. Its just a temporary patch for a long term problem, but many industry PHBs throw their hands up because even after a decade of Kerberos, very few products have been Kerberized. At least Microsoft was smart enough to realize with Win2k that in the long term, only Kerberos is the right way to do it.
In the end though, this turns out to be a hot debate of public key vs. private key authentication systems. Kerberos is a private key system that has done well, but not as well as public key used in the internet. People are simply extending LDAP and public key as an alternative authentication system to using Kerberos. While many people may think this is a better solution, I beg to differ.
So how about it slashdotters, which is it? Which system will win out, public, private, or a combination of both?
Re:Apples and oranges... (Score:2)
To the AC: LDAP is derived from the X.500 directory work. X.509 is the authentication framework part of the X.500 work. X.509 includes a definition of public-key name certificates using the X.500 naming convention. If you want to find out more, search for the online book "Understanding X.500 - The Directory".
As to your reply to rmdyer, I
Single Sign-on needs more than kerberos (Score:3, Informative)
Kerberos? (Score:5, Funny)
Well, duh! Even my grandmother uses Kerberos to solve her single sign-on dilemma!
Kerberos and OTP (Score:1)
Fetchmail, Linux, e-mail, Kerberos (Score:2, Interesting)
Yeah, pure DoS (Score:1)
GlobusSingle Sign on (Score:2)
New reworked version 4.0 scheduled for release this spring will provide for authorization thru firewalls and webproxies using Web Services tech.
http://www-unix.globus.org/toolkit/docs/developme n t/4.0-drafts/GT4Facts/index.html/ [globus.org]
http://www-unix.globus.org/toolkit/docs/developmen t/4.0-drafts/security/authzframe/index. [globus.org]
Re:GlobusSingle Sign on (Score:2)
Defacto - yeah right... (Score:2)
http://www-unix.globus.org/toolkit/docs/3.2/index. html [globus.org]
"Globus Toolkit 3.2 Key Concepts (not yet available)"
Re:GlobusSingle Sign on (Score:2)
I'm also not a great fan of so much code being based in Java. That strikes me as a lag-fest waiting to happen.
Having said all that, Globus is undoubtably the best grid system out there. There are other ways to go parallel, but if you specifically need a grid system
Re:GlobusSingle Sign on (Score:2)
Using Java as the foundation (well, "reference implementation" really) for GT4, I think that's a good thing, then you find yourself on a daily ba
Re:GlobusSingle Sign on (Score:2)
in one word - NAT (Score:2)
Re: (Score:3, Informative)
Re:in one word - NAT (Score:2)
Re: (Score:2)
Re:in one word - NAT (Score:2)
Good book, but less quality that O'Reillys best (Score:5, Informative)
I'm a Kerberos fan. I wrote the Kerberos5 chapter of the FreeBSD Handbook (and I have a re-write mostly completed) and I worked with quite a few Realms over the past few years.
I've read Kerberos: TDG several times now, and I've tried to find the answers to obscure problems often in it -- usually, without success. I think it should have been named Kerberos: An introduction because it isn't a Definitive Guide. Look at the page count alone: it's a slim, slim book. An in spite of being slim it tends to be a repititious. Not a good sign for something trying to living up the Definitive Guide tag.
It also misses quite a few topics that would be great to see covered in a second edition:
I liked the book. I'll take it over not having an O'Reilly Kerberos book any day. But I look forward to a revised second edition ;-)
Re:Good book, but less quality that O'Reillys best (Score:2, Interesting)
*RANT* Of course half of our problems are that each new (usually Windows based) systems that cook up their own custom based authentication. Serious
Re:Good book, but less quality that O'Reillys best (Score:2)
Are you looking specifically for Kerberos on Windows, or Kerberos in general? If the former "Secure Networking with Windows 2000 and Trust Services" is surprisingly good. If the latter, get the Kerberos RFCs and read the MIT source code...sorry.
Links (Score:2)
Re:Kerberos? (Score:1)
Re:Kerberos? (Score:1)
Re:Kerberos? (Score:2)
Re:Kerberos? (Score:2, Informative)
Orpheus played music, and Hercules just picked him up and dragged him out.
Re:Kerberos? (Score:2)
I was just wondering if the same trick would work on the three headed dog guarding your network...
Just Three? (Score:3, Interesting)
Re:Kerberos? (Score:4, Informative)
Kerberos is an authentication protocol. You have a client, a server, and a kerberos server. The kerberos server itself has three parts, the key distribution center, the authentication server and the ticket granting server. This is a symmetric encryption system: no public or private keys, just private keys.
Before anything happens, both Client and Server share their cryptographic keys with the Key Distribution Center. This setup is required for kerberos to work. Kerberos doesn't work if you can't set things up beforehand.
When it's authentication time, Client goes to Ticket Grantor and says, "I want to talk to Server, and here's my key." Ticket Grantor asks Server, "Client wants to talk to you. Is that okay?" Server says it's okay, so the Ticket Grantor sends a ticket-granding ticket (encrypted with Ticket Grantor's key, so only TG can read it) and a session key (encrypted with the Client's key, so only Client can read it) to Client. Note that at this point we haven't authenticated Client -- we've just checked that Client is authorized to talk to Server.
Client unencrypts the session key using its own key. If Client really is who it says it is, the unencrypted key will be correct. Client goes to Ticket Grantor with the ticket-granting ticket and the session key and says, "Look, I can do it! It's me! Gimme a real ticket already so I can talk to the server." Ticket Grantor says "Ok" and does gives the Client a ticket encrypted with the Server's key and a new session key encrypted with the Client's key.
The Client decrypts the session key: now it knows how to handle talking to the Server. Then it sends the Server the ticket. If the Server is who the kerberos server thinks it is, it will be able to decrypt the ticket and establish a session with the client.
It's more complicated than that, but I think this covers it. Does that help? I expect if I have erred I will be corrected forthwith, as nothing gets the right answer faster than posting the wrong one.
File that (Score:5, Insightful)
File that one in the "When your only tool is a hammer everything looks like a nail" folder.
Re:OpenSSH ... (Score:4, Insightful)
OpenSSH is great for some things, but it does NOT do remote authentication for services, nor does it authenticate the service to the client. So it does not scale well.
Kerberos scales better and is more secure than OpenSSH for most things, I think. You can even use it along with telnet to provide a single-sign on remote shell with an encrypted session (without the key management issues of OpenSSH). Of course you can also use OpenSSH with Kerberos (requires a patch I think) but then that negates your point.
Also, it is *easy* to integrate Win2k and XP with Kerberos.
Re:OpenSSH ... (Score:3, Interesting)
Re:OpenSSH ... (Score:2)
However, I see that we reasonably agree regarding the fact that Kerberos and OpenSSH address different needs and are not interchangable.
Re:OpenSSH ... (Score:2)
OpenSSH is great for some things, but it does NOT do remote authentication for services, nor does it authenticate the service to the client. So it does not scale well.
If you store the keys you need to authenticate at other services in the
Kerberos isn't particularly impressive at scaling, what with all those secret keys flying about.
Really, the only thing SSH doesn't do is authenticate the remote service to
Re:OpenSSH ... (Score:4, Insightful)
If you store the keys you need to authenticate at other services in the
Not really. It authenticates you to *a user account* on the *host system.* This is very different from authenticating to, say, and LDAP service, an HTTPS application, or a database manager. OpenSSH cannot readily do this. Sure you can use it for mining expeditions (lots of tunnels) but this does not approach problem in a reasonable manner.
Kerberos isn't particularly impressive at scaling, what with all those secret keys flying about.
It seems to scale better than the alternatives. I assume that this is why Novell, IBM, and even Microsoft use it for their larger-scale AAA systems. The reason is simply central management. You could try to hack something together using LDAP and SSH but the same issues exist regarding the fact that it doesn't really have a way to authenticate you to a centrally managed account from an application server's perspective.
Really, the only thing SSH doesn't do is authenticate the remote service to the extent that Kerberos would, although really the only benefit Kerberos brings is that it prevents some MITM attacks - it's still based on remote systems (working together) "proving" who they are by knowing a shared secret (your password).
No, actually, it protects you against modified replay attacks. MITM is a problem which can occur with SSH, SSL, and even Kerberos on the first time a key for a PKI server is received. This can be a X509 CA, and SSH server, or a Kerberos KDC.
OTOH, the fact that each ticket is signed and timestamped (and cached against playback), and each service (including the KDC) is authenticated to the client, there is no way to forge or replay the ticket unless the keys are compromised.
I do agree with your points regarding PKI but I am not really sure that there is a secure way to do this. It is a difficult problem (i.e. login requires the key which either must be cashed and then decrypted with a passphrase or be carried on the person of the user). This has its own dangers and is far from being perfect.
Re:OpenSSH ... (Score:2, Interesting)
The Public/Private key mechanisms seem to be another layer that's stacked on top of some of the simpler authentication mechanisms. Which is why is getting OpenSSH to wo
True, but irrelevant (Score:2)
OpenSSL, while nice, is transport-level. The secure communication provided by OSSL does nothing to authenticate a given user or service. Now, Kerberos has and needs transport-level security, it just doesn't use OpenSSL to do it. You could, conceivably, re-write something like Kerberos using the public-private key model (which would solve some of the dilemmas in Kerberos design and introduce new ones), but that would be re-inventing a pretty big wheel.
Personally, I use SSL to fake authorization on my networ
Re:OpenSSH ... (Score:2)
Mainly because SSH is not a network authentication protocol. It is a remote access protocol and this is fundamentally different.
Re:OpenSSH ... (Score:3, Informative)
The editor comments on a book about a network authentication and encryption protocol, i comment about an approach that i consider better and more modern.
In your parent post you claim that OpenSSH is a replacement of Kerberos. It's not offtopic, I grant you that. On the other hand. you are wrong in your claim.
Re:Does it address UNIX - AD using KerberosV? (Score:5, Informative)
Microsft Krb5 interop guide [microsoft.com]
Re:Does it address UNIX - AD using KerberosV? (Score:3, Informative)
Re:Excuse me? (Score:2)
Re:The whole puzzle, a challenge for Open-Source. (Score:2)
Christ on a bike, this is the most insightful post in the whole discussion (although there are many good technical replies) and yet it is ignored!
You have set yourself a difficult task though, both technically and in terms of selling your solution to the rest of the world. Good luck!