[3673] in Kerberos

home help back first fref pref prev next nref lref last post

Re: S/KEY integrated with Kerberos?

daemon@ATHENA.MIT.EDU (Glenn Machin)
Mon Aug 8 17:57:47 1994

From: Glenn Machin <gmachin@sahp044.sandia.gov>
To: bf4grjc@bell-atl.com
Date: Mon, 8 Aug 94 15:45:45 MDT
Cc: kerberos@MIT.EDU
In-Reply-To: <9408081739.AA21534@einstein.bell-atl.com>; from "Ganesan" at Aug 8, 94 1:39 pm

> 
> > If I am missing something here, please help me understand. Why can't the KDC
> > store the user's S/Key (keyinit) passphrase similarly to how a standalone
> > machine 
> 
> As discusse, you can, but dont call it S/Key!
> 
> > would not get anything useful. My concern is that of the client's login program
> > not knowing the proper sequence number initially. Should the login program
> > on each client be made a registered principal so it can use it's own
> > "password" to encrypt the whole sesion with the KDC? Or wouldn't the
> > sending of a sequence number unencrypted outside the TGTGT be a problem?
> 
> In your scheme, i.e. storing x0 on the Kerberos server, the login program
> need not even be altered. It decrypts TGT as usual, and hopefully,
> verifies that the encrypted TGT really came from the KDC using a locally
> stored service key. Only the KDC need keep track of sequences.
> 
> > P. S. Has anyone thought about how to keep the sequence numbers in-sync across
> > multiple KDCs ??
> 
> Run kprop as cron job..ha ha ha. Seriously, the updates to the sequence
> numbers in all KDCs in your scheme needs to be instantaneous, if not 
> I can steal the passphrase you used in talking to KDC1 and immediately
> use it against KDC2. 
> 
> If this is ever implmented, I would personally not recommend altering
> the KDC functionality in any way. I would use the same external hooks
> used to integerate token authenticators (your scheme is basically a
> token authenticaion scheme without the harware) in KV5. See HW_AUTHENT
> discussion in RFC 1510. I would then make each of your multiple KDCs
> talk to your version of S/KEY (running as a separate server) and 
> build some sort of secure channel between all the KDCs and S/KEY. 
> 

  I like this approach, in fact there could even be a side channel between
  the client and the S/KEY server which could be used to get the current
  sequence number, plus some verifier(timestamp, client, etc), encrypted
  in a key known only to the S/KEY server.  Now the user can place their
  S/KEY response for the passed sequence number, as well has the verifier,
  into the preauthentication data field of the AS_REQ (encrypted in their 
  kerberos key, if need be) and send it of to the KDC who would then send
  it off to the S/KEY server, to validate it. No real change to the kerberos
  protocol would be necessary, except the definition of the S/KEY preauth
  type.
  
  I would suggest that an additional ticket flag be introduced which the KDC
  could set in the returned TGT indicating that a 1 time password authentication
  mechanism was used to further authenticate the user. This way issuance of
  additional service tickets may be based on whether the user authenticated by
  means of S/KEY, just as hardware authentication is currently being used.
  
  Glenn Machin
   
  

home help back first fref pref prev next nref lref last post