Re: Alternative proxy-creds API for constrained-delegation

Nico Williams <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.devel
Message-ID <20200603232628.GE7856@localhost>
On Thu, Jun 04, 2020 at 12:20:53AM +0200, Isaac Boukris wrote:
> Thanks, I think I get it better now.

:)

> > Now I'm thinking it'd be nice to have separate sshd_config params for
> > acceptor acquisition from cred_store and storing of
> > deleg_cred_handles...
> 
> So if we go with gss_acquire_cred_from(), we can add a new store
> option "delegation-policy: client-tgt,client-ticket" which will
> override the corresponding krb5.conf option, which will default to
> "client-tgt,proxy-creds". Then one could add GssCredStoreKeyValue
> delegation-policy ...

We could certainly add this on the acceptor credential acquisition side.
We could also add this on the credential storing side.

Since I already have application support for this on the credential
storing side, that's my preference: I won't have to change my sshd at
all.

Yes, that means sshd will get a transient S4U2Proxy deleg_cred_handle
when no cred was delegated that sshd will fail to store if
delegation-policy = client-tgt, but my sshd ignores (logs, but otherwise
ignores) failures to store deleg_cred_handles, so that's not a problem
at all.

That said, I'll probably end up adding code to call
gss_acquire_cred_from(desired_name=GSS_C_NO_NAME, cred_store=...) in
sshd, so this could be an option on both sides.

Note that we could decompose this into an option for each case:

 - a gss_acquire_cred_from() option to say whether to use S4U2Proxy when
   a cred is not delegated (or even always!)

 - a gss_store_cred_into*() option to say whether and how to store an
   S4U2Proxy cred if there were multiple options for that

Note that with gss_acquire_cred_impersonate_name() you can get an
S4U2Self (+ S4U2Proxy) cred without having to have called
gss_accept_sec_context() that could then be stored with
gss_store_cred*().

Nico
-- 
_______________________________________________
krbdev mailing list             [email protected]
https://mailman.mit.edu/mailman/listinfo/krbdev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.