Re: [MMUSIC] DTLS-SDP and JSEP Conflicts

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 04 September 2017 10:14 UTC

Return-Path: <christer.holmberg@ericsson.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 15335126E7A for <mmusic@ietfa.amsl.com>; Mon, 4 Sep 2017 03:14:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level:
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bJSXCpYUbkGy for <mmusic@ietfa.amsl.com>; Mon, 4 Sep 2017 03:14:31 -0700 (PDT)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2761F1241FC for <mmusic@ietf.org>; Mon, 4 Sep 2017 03:14:30 -0700 (PDT)
X-AuditID: c1b4fb3a-5ffff700000051a3-d4-59ad2784335c
Received: from ESESSHC019.ericsson.se (Unknown_Domain [153.88.183.75]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id F8.81.20899.4872DA95; Mon, 4 Sep 2017 12:14:29 +0200 (CEST)
Received: from ESESSMB109.ericsson.se ([169.254.9.194]) by ESESSHC019.ericsson.se ([153.88.183.75]) with mapi id 14.03.0352.000; Mon, 4 Sep 2017 12:14:28 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Eric Rescorla <ekr@rtfm.com>
CC: Bernard Aboba <bernard.aboba@gmail.com>, "mmusic@ietf.org" <mmusic@ietf.org>
Thread-Topic: [MMUSIC] DTLS-SDP and JSEP Conflicts
Thread-Index: AQHTHeD9eWXjhOvP60up2QfAnU62xaKbMmOAgAbGf4CAADCNsP//5vyAgACksACAAMvvAIAAKExw///nloCAARKTgA==
Date: Mon, 04 Sep 2017 10:14:28 +0000
Message-ID: <D5D30222.20F35%christer.holmberg@ericsson.com>
References: <f353ad39-4ee5-4661-8e99-7fab6e394e91@nostrum.com> <CAOW+2dtv8r7qTyNxWY8NacfEh+Ojk5ObVAXEur3D4GyMw89YaQ@mail.gmail.com> <CABcZeBOJgyva5e-ykH-RkKN=BJPrXVYLu8vZbbNBv0xscv6bOA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B562818F7@ESESSMB109.ericsson.se> <CABcZeBNv4fdFTJ+tXeBkMDqbMCEw916Txt8owFY-X7ijX0-FcA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B56282B43@ESESSMB109.ericsson.se> <CABcZeBNh9ep+tq4_wWHT6uqXZz=OS8VngrmtspPz5nJ=pZS0ow@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B562869A2@ESESSMB109.ericsson.se> <CABcZeBPj6e=rtYHr4nyqeaB58TDBEjyB0xYeJJ+P63rO0DSw+A@mail.gmail.com>
In-Reply-To: <CABcZeBPj6e=rtYHr4nyqeaB58TDBEjyB0xYeJJ+P63rO0DSw+A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.7.4.170508
x-originating-ip: [153.88.183.17]
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <FBDA5BC0AD1DB34BB2B7DBD947F870D8@ericsson.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrMIsWRmVeSWpSXmKPExsUyM2K7t26r+tpIgxv3uC027PvPbLHi9Tl2 i6nLH7M4MHvsnHWX3WPJkp9MHpMftzEHMEdx2aSk5mSWpRbp2yVwZfzY8JK14HhgxYrle5kb GCc4dDFyckgImEjsfDKRFcQWEjjCKHHinG4XIxeQvZhRouXbEcYuRg4ONgELie5/2iA1IgIK Er/+nGABsZkFgiSa+heygJQICxhKnDjDAlFiJHH5+ANmCDtLYueeVawgJSwCKhLXu51BwrwC 1hIvN1xgg9j0lkXi5Kv9TCA1nAKBEtPmlYPUMAqISXw/tYYJYpO4xK0n85kgLhaQWLLnPDOE LSrx8vE/sPGiAnoS7/Z7gpgSAooSy/vlIDr1JG5MncIGEmYG2vqghxMirC2xbOFrZohjBCVO znzCMoFRfBaSXbOQdM9C6J6FpHsWku4FjKyrGEWLU4uLc9ONjPRSizKTi4vz8/TyUks2MQKj 7uCW31Y7GA8+dzzEKMDBqMTDayy7NlKINbGsuDL3EKMEB7OSCK8NL1CINyWxsiq1KD++qDQn tfgQozQHi5I4r8O+CxFCAumJJanZqakFqUUwWSYOTqkGxqjfN9L6tdMc1BU6+dM/lETw/+lw YWHpyyh6JHpKcbW85ZRMgY0CKn9S+J33G9YxrDl+e2e7ee4iH97zztOMJn9sa2udbWHkoejC sDzLasmtKbc+TI8/duJ837cQM8/a+ws9fVQO/RL8N7uTSVSeK5hBV/TK1a1xT+8cfGGoLhFb dXq5v8U7JZbijERDLeai4kQA/vfELLYCAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/5WCVwYgoI6NGX2xIY-vxCbhS_c4>
Subject: Re: [MMUSIC] DTLS-SDP and JSEP Conflicts
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Sep 2017 10:14:34 -0000

Hi,

>>> In my opinion, things should behave as follows. The semantics of the
>>>indicators are
>>> tls-id     old ufrag                    new ufrag
>>>
>>> ------     --------------------------------------------------
>>>
>>> none       No change                    ICE restart, same DTLS
>>>
>>> old        ICE restart                  ICE restart, same DTLS
>>>
>>> new        Error                        ICE restart, new DTLS
>>>
>>> However, in all cases but one, the answer MUST match the offer. I.e.,
>>>the answer must
>>> do an ICE restart iff the offer had one and a new DTLS connection iff
>>>the offer had one.
>>> However, if the answerer does not support tls-id, then it might
>>>respond to a new tls-id
>>> with no tls-id, which means it does not intend to make a new DTLS
>>>connection. The offerer
>>> can either accept that or tear everything down.
>>>
>>> I agree that the specs do not currently make this clear
>>
 
>> Because that¹s not how the procedures are currently written.
>
> Again, JSEP and this document are in conflict, hence it's unclear.
>
 
>> Now, based on your suggestion, if the offerer doesn¹t know whether the
>>answerer supports tls-id, does that mean that the only way
>> for the offerer to ensure that the re-offer will trigger a new DTLS
>>association is by modifying the fingerprint set in the offer?
>
> That's true in any case, because we have implementations which behave
>that way and we can't change them.

On GitHub you also suggested
(https://github.com/cdh4u/draft-dtls-sdp/issues/37) that the answerer,
even if it supports tls-id, shall not be able to trigger a new DTLS
association (read: change the tls-id value). I assume that means the
answerer would not be able to change its fingerprint set either, or do
anything else that would trigger a new DTLS association?

Regards,

Christer

 

 

 






 
On Sat, Sep 2, 2017 at 10:51 PM, Christer Holmberg
<christer.holmberg@ericsson.com> wrote:

Hi,
 
>Yes. Indeed, that's the crux of the disagreement between JSEP and this
>document
 
So, just to clarify: in your opinion, if an endpoint receives an
offer/answer WITHOUT a tls-id, but with a NEW ufrag (read: ICE restart),
the new urfag will NOT trigger a new
 DTLS association. Right?
 
Regards,
 
Christer
 

 


 
On Sat, Sep 2, 2017 at 3:31 PM, Christer Holmberg
<christer.holmberg@ericsson.com> wrote:

Hi Ekr,
 
What if the remote peer does not support/include the tls-id attribute?
 
Regards,
 
Christer
 
From: mmusic [mailto:mmusic-bounces@ietf.org]
On Behalf Of Eric Rescorla
Sent: 02 September 2017 22:36
To: Bernard Aboba <bernard.aboba@gmail.com>
Cc: mmusic@ietf.org
Subject: Re: [MMUSIC] DTLS-SDP and JSEP Conflicts
 
 
 
On Tue, Aug 29, 2017 at 7:07 AM, Bernard Aboba <bernard.aboba@gmail.com>
wrote:

On Issue 1, Adam said:
 

"

1.     
(Issue 1c) The crux of the matter: does ICE restart cause DTLS to restart?
The primary rationale outlined in RFC5245 for restarting ICE is changing
the destination (IP address or port) of an ongoing media stream -- which
 would commonly involve changing to a different physical device. While it
would, in theory, be possible to transfer the TLS state associated with
the connection between devices, this is rather cumbersome (and, as far as
I know, not generally supported by TLS
 libraries). From that perspective, it is my opinion that the DTLS-SDP
document is correct that an ICE restart necessitates a new DTLS
connection; and I conclude that JSEP needs to change.
"

 

[BA] Agree that for consistency, it is best for an ICE restart to
necessitate a new DTLS connection, since an ICE restart can result in
connection to a different device (and the need for a new DTLS connection).
 






 

I'm not persuaded by this: the primary reason for an ICE restart is not
changing devices but rather trying to deal with topology changes and/or
connectivity check failures. If you actually *do* change devices, then
it's also quite probably
 you will have a new certificate fingerprint, in which case you will get a
new DTLS connection in any case. In other words, tls-id should be used to
say "I want a new DTLS connection in spite of the fingerprint being the
same" (what JSEP says), not "I want
 to keep the DTLS connection even though I am doing an ICE restart"

 

-Ekr

 


 
On Fri, Aug 25, 2017 at 4:30 PM, Adam Roach <adam@nostrum.com> wrote:



MMUSIC --
[I will be posting a separate message to RTCWEB directing interested
parties to discuss this issue on the MMUSIC mailing list]
During the IESG review of draft-ietf-mmusic-dtls-sdp, EKR identified some
conflicts between the procedures in DTLS-SDP and JSEP were identified.
This note is an attempt to summarize them. I have also made an initial
proposal, for each conflict, regarding
 which document needs to change, in and which way.
Issue 1 (quoting EKR), which raises a couple of additional sub-issues:

1. Assuming I understand this document correctly, it conflicts withthe
guidance in JSEP. Specifically, S 4 says:    No default value is defined
for the SDP 'tls-id' attribute.   Implementations that wish to use the
attribute MUST explicitly   include it in SDP offers and answers.  If an
offer or answer does not   contain a 'tls-id' attribute (this could happen
if the offerer or   answerer represents an existing implementation that
has not been   updated to support the 'tls-id' attribute), unless there is
another   mechanism to explicitly indicate that a new DTLS association is
to be   established, a modification of one or more of the following
characteristics MUST be treated as an indication that an endpoint   wants
to establish a new DTLS association:    o  DTLS setup role; or    o
fingerprint set; or    o  local transport parameters; or    o  ICE ufrag
value This seems to say that if there is no tls-id attribute, then an ICE
restart(which necessitates a ufrag change) requires a DTLS restart. JSEP
isn'tincredibly clear on this point, but 5.7.3 seems to say that
tls-idneed not be present:       *  tls-id value, which MUST be set
according to         [I-D.ietf-mmusic-dtls-sdp], Section 5.  If this is a
re-offer         and the tls-id value is different from that presently in
use,         the DTLS connection is not being continued and the remote
    description MUST be part of an ICE restart, together with new
ufrag and password values.  If this is an answer, the tls-id
value, if present, MUST be the same as in the offer. I believe that the
first sentence is in error, as we clearlycan't have JSEP implementations
requiring that tls-id be present.    ...      o  If the remote DTLS
fingerprint has been changed or the tls-id has      changed, tear down the
DTLS connection.  This includes the case      when the PeerConnection
state is "have-remote-pranswer".  If a      DTLS connection needs to be
torn down but the answer does not      indicate an ICE restart or, in the
case of "have-remote-pranswer",      new ICE credentials, an error MUST be
generated.  If an ICE      restart is performed without a change in tls-id
or fingerprint,      then the same DTLS connection is continued over the
new ICE      channel.      I think the best interpretation of this is that
if tls-id is not present(and hence unchanged) then ICE restart does not
cause DTLS restart.This is also my memory of the consensus in RTCWEB. In
any case, thesetwo documents clearly must match.

 
My observations/recommendations:

1. (Issue 1a) EKR is correct that the first sentence of the bullet from
JSEP needs to be removed so as to enable interoperation with non-JSEP
implementations.
2. (Issue 1b) Additionally the final sentence of that bullet ("If this is
an answer, the tls-id value, if present, MUST be the same as in the
offer") conflicts with the definition of tls-id ("the offerer and answerer
 generate their own local 'tls-id' attribute values, and the combination
of both values identify the DTLS association"). In this case, the DTLS-SDP
document would appear to be correct (the fact that the two parties choose
different IDs is integral to the mechanism's
 design), so JSEP needs to change.
3. (Issue 1c) The crux of the matter: does ICE restart cause DTLS to
restart? The primary rationale outlined in RFC5245 for restarting ICE is
changing the destination (IP address or port) of an ongoing media stream
-- which would commonly
 involve changing to a different physical device. While it would, in
theory, be possible to transfer the TLS state associated with the
connection between devices, this is rather cumbersome (and, as far as I
know, not generally supported by TLS libraries). From
 that perspective, it is my opinion that the DTLS-SDP document is correct
that an ICE restart necessitates a new DTLS connection; and I conclude
that JSEP needs to change.

 
Issue 2 (quoting EKR):

2. S 4 says:    The mux category [I-D.ietf-mmusic-sdp-mux-attributes] for
the 'tls-   id' attribute is 'IDENTICAL', which means that the attribute
value   must be identical across all media descriptions being multiplexed
 [I-D.ietf-mmusic-sdp-bundle-negotiation]. This is not actually what JSEP
requires:    different categories.  To avoid unnecessary duplication when
 bundling, attributes of category IDENTICAL or TRANSPORT MUST NOT be
repeated in bundled m= sections, repeating the guidance from
[I-D.ietf-mmusic-sdp-bundle-negotiation], Section 8.1.  This includes I
suspect this is old text.


(Issue 2) JSEP is aligned with
draft-ietf-mmusic-sdp-bundle-negotiation-38, while DTLS-SDP does not. This
is a largely aesthetic decision (although the JSEP/BUNDLE approach does
save a tiny handful of bytes), but I think changing one document (DTLS-SDP)
 makes more sense than changing two. (I suspect the BUNDLE formulation
more closely tracks consensus anyway).
 
/a

 


_______________________________________________
mmusic mailing list
mmusic@ietf.org
https://www.ietf.org/mailman/listinfo/mmusic



 


_______________________________________________
mmusic mailing list
mmusic@ietf.org
https://www.ietf.org/mailman/listinfo/mmusic