<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<div dir="ltr">
<div dir="ltr" style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<meta content="text/html; charset=us-ascii" data-ogsc="" style="">
</div>
<div data-ogsc="" style="">
<div>
<div style="direction:ltr">Just a small addition, cause I found some more details (but still not enough). </div>
<div style="direction:ltr" dir="ltr"><br>
</div>
<div style="direction:ltr">there seems to be some precedence for tls-server-endpoint instead, which would be I guess a bit easier to produce:</div>
<div style="direction:ltr" dir="ltr"><br>
</div>
<div style="direction:ltr"><a href="https://blogs.msdn.microsoft.com/openspecification/2013/03/26/ntlm-and-channel-binding-hash-aka-extended-protection-for-authentication/">https://blogs.msdn.microsoft.com/openspecification/2013/03/26/ntlm-and-channel-binding-hash-aka-extended-protection-for-authentication/</a></div>
<div style="direction:ltr" dir="ltr"><br>
</div>
<div style="direction:ltr" dir="ltr"><a href="https://docs.microsoft.com/en-us/windows/win32/secauthn/acceptsecuritycontext--kerberos">https://docs.microsoft.com/en-us/windows/win32/secauthn/acceptsecuritycontext--kerberos</a></div>
<div style="direction:ltr" dir="ltr"><br>
</div>
<div style="direction:ltr" dir="ltr">The mentione QueryContextAttributes can provide both, endpoint or uniqueness attributes (but in some places like the HttpRequest I read that it only accepts endpoint type)</div>
<div style="direction:ltr" dir="ltr"><br>
</div>
<div style="direction:ltr">It was also mentioned that the SPN is used in addition for binding, however I think this is already sent with GSSAPI and seems not to help (even when that would be fine in addition to proper cert checks)</div>
<div style="direction:ltr" dir="ltr"><br>
</div>
<div style="direction:ltr" dir="ltr">Somehow this thing seems like not have any additional protection property and is largely underdocumented.</div>
<div><br>
</div>
<div style="direction:ltr">Gruss</div>
<div style="direction:ltr">Bernd</div>
</div>
<div class="ms-outlook-ios-signature">
<div style="direction:ltr">-- </div>
<div style="direction:ltr">http://bernd.eckenfels.net</div>
</div>
</div>
<hr tabindex="-1" style="display: inline-block; width: 98%;" data-ogsc="">
<div id="divRplyFwdMsg" dir="ltr" data-ogsc="" style=""><font face="Calibri, sans-serif" color="#000000" style="font-size: 11pt;" data-ogsc=""><b>Von:</b> security-dev <security-dev-bounces@openjdk.java.net> im Auftrag von Michael Osipov <1983-01-06@gmx.net><br>
<b>Gesendet:</b> Wednesday, February 19, 2020 10:54:49 PM<br>
<b>Cc:</b> security-dev@openjdk.java.net <security-dev@openjdk.java.net><br>
<b>Betreff:</b> Re: LDAP Channel Binding</font>
<div> </div>
</div>
<div class="BodyFragment" data-ogsc="" style=""><font size="2"><span style="font-size:11pt">
<div class="PlainText">After another research reading RFC 5929 as well as PostgreSQL support of<br>
CB with SASL SCRAM authentication mech, I believe we first need<br>
JDK-6491070 solved for tls-unique. That byte array has to be passed to<br>
org.ietf.jgss.ChannelBinding(byte[]). Addresses are not necessary<br>
because the outer context (TLS) has that data already.<br>
<br>
If so, the SASL layer needs to be changed to be aware of outside TLS<br>
context is present.<br>
<br>
<br>
Am 2020-02-18 um 15:18 schrieb Weijun Wang:<br>
> While JGSS has channel binding, the SASL/GSSAPI mech has not called it. I can add a SASL property which takes a byte[] value so when it's not null the implementation can set a ChannelBinding object using it as appData (with no addresses).<br>
<br>
This doesn't make any sense because the client does not have access to<br>
the SSLContext on the connection. LdapCtx needs to pass that data to<br>
SaslClient. We'd need a property to enable/disable channel binding.<br>
<br>
> But who will be setting the property? Whoever calls the SASL methods will need to provide the appData. Is it the TLS channel binding defined in RFC 5929? Then the TLS layer needs to provide a method to get the bytes.<br>
<br>
Correct.<br>
<br>
> I've also read about the SASL/GS2 mech (RFC 5801) which claims to support channel binding. Do you know if Microsoft ever support it?<br>
<br>
No, GS2 family, where auth-int and auth-conf have been dropped is *not*<br>
supported by AD.<br>
I believe that MS has simply modified SASL GS1 to support CB, to what<br>
extend that is unclear, e.g., gs2-cb-flag.<br>
<br>
Michael<br>
</div>
</span></font></div>
</div>
</body>
</html>