Re: [MMUSIC] [AVT] Sockets in multicast DTLS-SRTP
"Dan Wing" <dwing@cisco.com> Thu, 06 May 2010 21:52 UTC
Return-Path: <dwing@cisco.com>
X-Original-To: mmusic@core3.amsl.com
Delivered-To: mmusic@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 097E23A6ABF; Thu, 6 May 2010 14:52:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.043
X-Spam-Level:
X-Spam-Status: No, score=-8.043 tagged_above=-999 required=5 tests=[AWL=-1.244, BAYES_50=0.001, J_CHICKENPOX_12=0.6, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 47xfZSgQhXtE; Thu, 6 May 2010 14:52:47 -0700 (PDT)
Received: from sj-iport-2.cisco.com (sj-iport-2.cisco.com [171.71.176.71]) by core3.amsl.com (Postfix) with ESMTP id D75C43A6A98; Thu, 6 May 2010 14:52:47 -0700 (PDT)
Authentication-Results: sj-iport-2.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-AV: E=Sophos;i="4.52,343,1270425600"; d="scan'208";a="254553253"
Received: from sj-core-2.cisco.com ([171.71.177.254]) by sj-iport-2.cisco.com with ESMTP; 06 May 2010 21:52:35 +0000
Received: from dwingwxp01 (tbarkus-w2k-3.cisco.com [128.107.166.56]) by sj-core-2.cisco.com (8.13.8/8.14.3) with ESMTP id o46LqZ8J013923; Thu, 6 May 2010 21:52:35 GMT
From: Dan Wing <dwing@cisco.com>
To: 'Romain Biehlmann' <romain.biehlmann@gmail.com>
References: <9a06dcf1003230527q39fc7f9bye2ca616599e95cac@mail.gmail.com> <00f101cacad0$9d93fc10$1143150a@cisco.com> <9a06dcf1003240120g29db1b1bxb0f0a3e719336720@mail.gmail.com>
Date: Thu, 06 May 2010 14:52:35 -0700
Message-ID: <009201caed66$6fef95e0$38a66b80@cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 11
Thread-Index: AcrLKt4sDzkOYw63Qz6NScUOmstpMAB5tgywB+MhKtA=
In-Reply-To:
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350
Cc: 'Flemming Andreasen' <fandreas@cisco.com>, avt@ietf.org, mmusic@ietf.org
Subject: Re: [MMUSIC] [AVT] Sockets in multicast DTLS-SRTP
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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: Thu, 06 May 2010 21:52:49 -0000
Romain, (added MMUSIC, as this is mostly about SDP in this post.) I talked with Flemming about this and there isn't an existing SDP mechanism we could easily extend to allow unicast keying of a multicast session. The problem isn't just with multicast; there are some unicast scenarios, such as really large unicast groups, where having the 'speaker' or 'mixer' do the keying doesn't scale very well (and doing DTLS in a separate device can improve things). So, we would need to define a new SDP attribute that indicates the DTLS-SRTP peer for keying, something like this (which shows a DTLS-SRTP-encrypted multicast audio session), v=0 o=- 25678 753849 IN IP4 192.0.2.1 s= t=0 0 m=audio 41000 UDP/TLS/RTP/SAVP 98 c=IN IP4 233.252.0.2/255 a=dtls-srtp IP4 192.0.2.2 556677 <<<<<<< a=dtls-srtp IP6 2001:db8:abcd::1234 556677 <<<<<<< The Answerer would choose IPv6 or IPv4, and initiate a DTLS-SRTP handshake with that address. However, this won't work well if the DTLS-SRTP 'server' is behind a NAT, and almost begs for ICE to support that situation. There seem to be two approaches: (1) avoid the problem or (2) include support for ICE. (1) In this approach, we dictate that the DTLS-SRTP server's IP address(es) must be accessible to the Answerer. This means the DTLS-SRTP server has to use a publicly-routed IP address. (2) In this approach, we use ICE, inside a=dtls-srtp attribute lines, which would look something like this: v=0 o=- 25678 753849 IN IP4 192.0.2.1 s= t=0 0 m=audio 41000 UDP/TLS/RTP/SAVP 98 c=IN IP4 233.252.0.2/255 a=dtls-srtp ice-pwd asd88fgpdd777uzjYhagZg a=dtls-srtp ice-ufrag:8hhY a=dtls-srtp candidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host a=dtls-srtp candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr 10.0.1.1 rport 8998 Would approach (1) meet your needs? -d > -----Original Message----- > From: Dan Wing [mailto:dwing@cisco.com] > Sent: Friday, March 26, 2010 11:31 AM > To: 'Romain Biehlmann' > Cc: 'avt@ietf.org'; 'Flemming Andreasen' > Subject: RE: [AVT] Sockets in multicast DTLS-SRTP > > Thanks for explaining the issue. I believe we don't yet know > how to have SDP associate a unicast session (for DTLS-SRTP) > with a multicast session (for receiving the SRTP-encrypted > stream). I expect there is an answer in MMUSIC's SDP > Capability Negotiation and/or what is being done to mix > unicast and multicast in draft-ietf-avt-rapid-acquisition-for-rtp, > or somewhere. > > Flemming Andreasen (CC'd) will take a look at this over the > next week (he is editor of SDP Capability Negotiation and > co-author of EKT). But at this point I believe it will > require additional standards work to mix unicast/multicast. > > -d > > > > -----Original Message----- > > From: Romain Biehlmann [mailto:romain.biehlmann@gmail.com] > > Sent: Wednesday, March 24, 2010 1:20 AM > > To: Dan Wing > > Cc: avt@ietf.org > > Subject: Re: [AVT] Sockets in multicast DTLS-SRTP > > > > Hi, > > > > And thank you for your fast answer! > > > > I actually already planned on using KTR, which uses EKT, > but got stuck > > by this socket problem. > > > > I don't get how the data should be multiplexed in the case of a > > multicast session since two sockets will be opened on the clients' > > side (as shown on the drawing below)... Or am I completely wrong? > > > > ---------- > > | server |---- SRTP multicast session ------------------- > > ---------- | > > | | | ------------ | > > | | |--- DTLS KTR unicast session 1 ---| client 1 |---| > > | | ------------ | > > | | ------------ | > > | |----- DTLS KTR unicast session 2 ---| client 2 |---| > > | ------------ | > > | ------------ | > > |------- DTLS KTR unicast session 3 ---| client 3 |---| > > ------------ > > > > Thank you very much for the time you take to read me. > > > > Romain > > > > > > > > 2010/3/23 Dan Wing <dwing@cisco.com>: > > >> -----Original Message----- > > >> From: avt-bounces@ietf.org [mailto:avt-bounces@ietf.org] On > > >> Behalf Of Romain Biehlmann > > >> Sent: Tuesday, March 23, 2010 5:27 AM > > >> To: avt@ietf.org > > >> Subject: [AVT] Sockets in multicast DTLS-SRTP > > >> > > >> Hi all, > > >> > > >> I hope my question is not too dumb, and not too > > >> implementation-oriented; if so, please accept my apologies > > and ignore > > >> it. > > >> > > >> In http://tools.ietf.org/html/draft-ietf-avt-dtls-srtp-07 chapter > > >> 5.1.1, we can read the following: > > >> "When a user of DTLS wishes to send an RTP packet in SRTP mode it > > >> delivers it to the DTLS implementation as an ordinary > > application data > > >> write (e.g., SSL_write())." > > >> > > >> From that, I understand that in the case of a unicast > session, only > > >> one socket is needed for the transmission of STUN, SRTP and DTLS > > >> datagrams. > > > > > > Right, and demultiplexed as shown in > > > > http://tools.ietf.org/html/draft-ietf-avt-dtls-srtp-07#section-5.1.2 > > > > > >> I am not sure, though, to get how it should work in the > > case of a (one > > >> to many) multicast session. > > > > > > Use DTLS-SRTP with EKT. EKT allows telling each of the receivers > > > the same key. The sender then sends the same multicast packet > > > (or if using unicast, the sender sends the same packet, unicast, > > > to each NNN receivers). > > > > > > EKT is http://tools.ietf.org/html/draft-ietf-avt-srtp-ekt-00 > > > > > > -d > > > > > >> Isn't the server supposed to send SRTP datagrams to a broadcast > > >> address, whereas DTLS data must be sent directly to (unicast) > > >> designated clients? Is the sentence in the draft only > applicable to > > >> unicast? > > >> > > >> I thank you in advance for your valuable insight. > > >> > > >> Romain > > >> _______________________________________________ > > >> Audio/Video Transport Working Group > > >> avt@ietf.org > > >> https://www.ietf.org/mailman/listinfo/avt > > > > > > > > >