Re: Current semantics for channel-bindings in GSSAPI

Stefan Metzmacher <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.devel
Message-ID <[email protected]>
Am 10.03.20 um 17:18 schrieb Isaac Boukris:
> 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.

Yes, a global option should be there!

> 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.

I think your code is fine as it only sets cb_match = true if we did the
memcmp and the 16 bytes match exactly.

metze

_______________________________________________
krbdev mailing list             [email protected]
https://mailman.mit.edu/mailman/listinfo/krbdev
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfFbGo3YXpfgryIw9DbX1YShpvVYFAl5nv1gACgkQDbX1YShp
vVbBjg/+MFV0DFVzwEipnqZc6pSKcSkKiFtdrLVHZf3HX55lCY5OFrGq9aEGtNgP
UWj7Ba0LbXcPUyT9bk2Y+NvXXTEMwiSuxqKakzLJSSeLif6OQ7JS7klpcxzd51Qt
PahT2+CBYYb9rgqRU3DEuuusH1FCwRD8BJ+rzRYMroSd4sQHdhBOmi6SmmlEZdlU
dyGrsPLA7MQta2oJO+7ZOeD8YCqBfNj+RTUhuxQ9496amxXasm8t208eYMTPIXxB
yhNMh8olGgCXZYBbnT+OeLiZJma/LP8fiJz19hR/TDWHoipkgw83F19XMc2GFJHG
0fJY+6jyAe8F6vtIlW1hDl6Qsj2g/cgmGcy1Fy0PUwwkCKWFkj6c/okJWPA6PnCM
WrF+piHOS5nKRF0LlXkVZpbU9Ysl/Lt8YSIc9bemN5U/hZl5fVclA10SXg4cihgL
ZQsJ1VRKunswwmDQjf3stf1M/AW8yiG87mhKR7ayODdh3YGwIF9KRWjzzkouw+q2
5d2iHVJxp+MnGrP4E/0jLtKqpPE0d120hTQfyKi32gnvDcjv7v2PXpBh5YpGXNK8
z7hjN4lEZkpodtYRAUbaq3YaI85Viy7Qs+7cVqrqZ+Re1ybCy4uRZMdQS04VvJnp
pJtcLV1LlKQauU5uNBOwl6zis9WRFr3knSCPRwsJ0RxaEA3uLZE=
=5Cin
-----END PGP SIGNATURE-----
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.