Re: Current semantics for channel-bindings in GSSAPI

Isaac Boukris <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.devel
Message-ID <CAC-fF8QXeMc4UhR2s+ttaYzYL07vTTteO1SkE6AuDiBjbZSpAA@mail.gmail.com>
On Tue, Mar 10, 2020 at 4:54 PM Stefan Metzmacher <[email protected]> wrote:
>
> Am 10.03.20 um 16:34 schrieb Isaac Boukris:
> > On Tue, Mar 10, 2020 at 4:23 PM Stefan Metzmacher <[email protected]> wrote:
> >>
> >> Hi Issac,
> >>
> >>> As discussed last week, we want the following changes.
> >>>
> >>> - MIT should match Heimdal behavior and only error if client bindings
> >>> are not all zeros.
> >>> - Both Heimdal/MIT should return channel-bound flag if the bindings did match.
> >>> - Both Heimdal/MIT should take advantage of KERB_AP_OPTIONS_CBT if
> >>> present if authenticator, in which case if the server passed bindings
> >>> they must match.
> >>> - Both Heimdal/MIT should provide a conf option to asset the client
> >>> system supports channel-bindings, causing KERB_AP_OPTIONS_CBT to be
> >>> sent in any ap-req.
> >>>
> >>> I submitted wip PR #1047 upstream MIT based on the above.
> >>>
> >>> @metze, would that satisfy samba's requirements?
> >>
> >> I looked briefly and the core changes look good,
> >> but (as always :-) I think krb5.conf option alone are unflexible
> >> and I'd really like to get rid of autogenerated krb5.conf files and
> >> global exporting "KRB5_CONFIG". So APIs to turn this on from the
> >> application would be great.
> >
> > Ok, so we'd need a new cred-option to override it by the application.
>
> If we can agree on a way to implement that:-)
>
> Using gss_set_cred_option() would be the simplest solution,
> but it got rejected for GSS_KRB5_CRED_NO_TRANSIT_CHECK_X.
> Passing cred_store to gss_acquire_cred_from() would also work
> and I'm not sure if/how gss_create_sec_context() +
> gss_set_sec_context_option() would work.
>
> gss_set_sec_context_option() would be the most flexible way
> and may be useful for more things I plan to implement.

Honestly I'd say we can start with the krb5.conf option, I think it
has value anyway as it allows to protect applications system-wide
without the need to update them. Then eventually, use cred/context
options to override it, as we decide.

btw, as mentioned "off-list" Windows seem to skip channel-bindings
check if the client omits the checksum altogether, even in level=2. I
think it is a bug, and we shouldn't return channel-bound flag it that
case.
_______________________________________________
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.