home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / protocol / kerberos / 839 < prev    next >
Encoding:
Text File  |  1992-11-06  |  2.5 KB  |  59 lines

  1. Newsgroups: comp.protocols.kerberos
  2. Path: sparky!uunet!charon.amdahl.com!pacbell.com!decwrl!sdd.hp.com!elroy.jpl.nasa.gov!ames!agate!stanford.edu!ISI.EDU!bcn
  3. From: bcn@ISI.EDU (Clifford Neuman)
  4. Subject: Local password validation (was: kerberizing xlock)
  5. Message-ID: <9211052343.AA16104@tgo.isi.edu>
  6. Sender: news@shelby.stanford.edu (USENET News System)
  7. Organization: Internet-USENET Gateway at Stanford University
  8. Date: Thu, 5 Nov 1992 23:43:23 GMT
  9. Lines: 48
  10.  
  11.   From: bf4grjc@socrates.MIT.EDU (Ravi Ganesan (301) 595-8439)
  12.   Date: Thu, 5 Nov 92 14:00:50 EST
  13.  
  14.   I feel that getting a ticket and then getting a service ticket and using that
  15.   service - under the condition the service is on the same machine, is a 
  16.   theoretically messy, but practically convenient solution. (To recap a 
  17.   hyper-kludgy hyper-quick and hyper-dirty way of doing this would be to 
  18.   replace login with a combination of a kinit, a chown on the ticket, and then 
  19.   a quick rlogin into the same machine. Naturally in practice you would set 
  20.   up a dummy server that does something trivial like retun a YES/No 
  21.   repsonse to your login program.
  22.  
  23. Note that if all you want is to verify the password locally, and if
  24. you do not have a use for subsequent Kerberos authentication, then you
  25. can request a ticket for the "local verification" service in your
  26. first request to Kerberos.  There is no need to first request a ticket
  27. granting ticket.
  28.  
  29. Also, there is no need to actually contact the local verification
  30. service out of band.  The verification can be done entirely by the
  31. login program.  
  32.  
  33. What you would do is initially request a ticket for the verification
  34. service, use that ticket to construct an authenticator, then
  35. immediately verify the ticket and authenticator from within the login
  36. program using the "local verification" services key which is
  37. presumably available to the login program since it runs as root.
  38.  
  39. You could simplify this even further if you were willing to write your
  40. own code to do the verification, instead of using the code in the
  41. Kerberos library.  To do this, you would:
  42.  
  43.    Make an initial request for a "local verification" server ticket
  44.  
  45.    Decrypt the response using the password entered by the user
  46.  
  47.    Decrypt the ticket using the key of the "local verification" server
  48.  
  49.    Check to make sure the ticket is not expired
  50.  
  51.    Compare the session key from the ticket with that from the
  52.    response from the KDC.
  53.  
  54. If they match, and the ticket has not expired, then you have verified
  55. the identity of the user.
  56.  
  57.     ~ Cliff
  58.  
  59.