Re: Fwd: Re: [dane] DANE-SRV, SNI functional equivalent and XMPP

Peter Saint-Andre - &yet <[email protected]> Tue, 19 May 2015 08:41:33 -0700
Newsgroups gmane.ietf.xmpp
Message-ID <[email protected]>
On 5/18/15 3:24 PM, Peter Saint-Andre - &yet wrote:
> On 5/18/15 3:09 PM, Peter Saint-Andre - &yet wrote:
>> This thread started on the DANE WG list but I think it belongs here.
>>
>>
>> -------- Forwarded Message --------
>> Subject: Re: [dane] DANE-SRV, SNI functional equivalent and XMPP
>> Date: Mon, 18 May 2015 15:03:54 -0700
>> From: Peter Saint-Andre - &yet <[email protected]>
>> To: [email protected]
>>
>> On 5/17/15 9:55 AM, Kim Alvefur wrote:
>>> Hello list!
>>
>> Hi Zash!
>>
>>> Georg Lukas noted that section 4.1 says, in the context of XMPP, to use
>>> to='xmpp23.hosting.example.net' in the stream header, as that is the
>>> "functional equivalent" of SNI in XMPP.  However, that conflicts with
>>> the current semantics of 'to' being the service domain name to the
>>> server host name.  That will break many, if not all, deployed servers.
>>> The server should know what certificate to use for the indicated domain
>>> name.
>>>
>>> http://tools.ietf.org/html/draft-ietf-dane-srv-14#section-4.1
>>
>> Hmm.
>>
>> First, all draft-ietf-dane-srv says is that you don't need to use SNI in
>> XMPP because we already have a way for the TLS client to specify which
>> domain name it expects of the TLS server, i.e., the 'to' address of the
>> initial stream header.
>>
>> Second, draft-ietf-xmpp-dna is the document that specifies the behavior
>> of XMPP entities. So IMHO this is a topic for the XMPP WG list, not the
>> DANE WG list. I'll forward this message to that list and continue the
>> conversation there. :-)
>
> So, draft-ietf-xmpp-dna (ยง5.1) says:
>
>     The DANE prooftype makes use of the DNS-Based Authentication of Named
>     Entities [RFC6698], specifically the use of DANE with DNS SRV records
>     [I-D.ietf-dane-srv].  For XMPP purposes, the following rules apply:
>
>     o  If there is no SRV resource record, pursue the fallback methods
>        described in [RFC6120].
>
>     o  Use the 'to' address of the initial stream header to determine the
>        domain name of the TLS client's reference identifier (since use of
>        the Server Name Indication extension (TLS SNI) [RFC6066] is purely
>        discretionary in XMPP, as mentioned in [RFC6120]).
>
> As I understand it, Kim is saying that if a client were to (i) discover
> via SRV methods that the service domain "example.com" is located at the
> target server "hosting.example.net" and (ii) discover via DANE methods
> that the expected identity of the certificate for the connection
> endpoint is not the service domain but the target server host name, then
> (iii) it would break things on the XMPP network for the client to
> specify a 'to' address of the target server host name instead of the
> service domain because (iv) the XMPP server software figures out which
> certificate to present based on the service domain, not the target
> server host name.
>
> I'm not sure about that. It seems to me that if an application service
> provider is doing the whole DANE thing, then it will always just present
> a certificate for "hosting.example.net" instead of for "example.com" or
> any particular service domain hosted there, so why does it even need to
> differentiate?
>
> Now, there might be some other reason to want the 'to' address to be the
> service domain (e.g., maybe some cluster or machine is dedicated for
> hosting that service domain, or the application service provider wants
> to terminate spurious connections as quickly as possible and not use
> TLS/SASL resources and round trips for accounts that it doesn't host),
> but I'm not yet convinced that choosing the right certificate is the
> reason.
>
> However, I freely admit that I might be missing something, so
> enlightenment would be appreciated. :)

See further discussion on the DANE list:

http://www.ietf.org/mail-archive/web/dane/current/msg07686.html

I think draft-ietf-xmpp-dna is fine (it just says "use the 'to' address, 
not SNI") whereas draft-ietf-dane-srv is the document that needs to be 
adjusted slightly.

Peter

-- 
Peter Saint-Andre
https://andyet.com/