Re: [rtcweb] DTLS, DTLS-SRTP, and 5-tuples

Roman Shpount <roman@telurix.com> Wed, 04 March 2015 18:54 UTC

Return-Path: <roman@telurix.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 333DF1ACE07 for <rtcweb@ietfa.amsl.com>; Wed, 4 Mar 2015 10:54:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.978
X-Spam-Level:
X-Spam-Status: No, score=-1.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 IYmVVFbZPVJb for <rtcweb@ietfa.amsl.com>; Wed, 4 Mar 2015 10:54:19 -0800 (PST)
Received: from mail-ie0-f180.google.com (mail-ie0-f180.google.com [209.85.223.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5DB391ACE01 for <rtcweb@ietf.org>; Wed, 4 Mar 2015 10:54:19 -0800 (PST)
Received: by iery20 with SMTP id y20so16248215ier.13 for <rtcweb@ietf.org>; Wed, 04 Mar 2015 10:54:18 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=XjVPe7CeXYKv2HjwUD9w48qMoKK7l78/HiR78dpfDQM=; b=Sk9LeSln2j8tkgUsl17GUJOD10eEC9h6UwWtak1k8NE4m6nkG9/+gWhPOT6DdqhtmP S9D9mcjI++9vQ/5Qh5UJFuh5ujh56CwSnW0giu16dhM5uhzfk0a+oYdWnbCa1azJXGcV /BDx00c3O+006m7UojHx1OZ64pA+UAMg+JEd7OH//pyfrYDiZkU9fNEx9pq+96WyjHAa DNIOpjN+M/7i6jpLdMFDUk3IDSm+1TRpBuf5L1gDkbJ+3njSWTwW5iRVreWu/DppGoWr secysze4r4fxu+DGWZpFmNWFhgasv5FZ+YrAVN7qukwCX2kkfQbG8G9/CEUUIx+G3jTW d7jA==
X-Gm-Message-State: ALoCoQlBzTnuMsssHgf9oTTSFqvn2TmlIdgdRdJdfmb6gnKqGcfTrec0EIFXlUh30sJp4ld59p4t
X-Received: by 10.107.137.226 with SMTP id t95mr14260555ioi.10.1425495258789; Wed, 04 Mar 2015 10:54:18 -0800 (PST)
Received: from mail-ie0-f178.google.com (mail-ie0-f178.google.com. [209.85.223.178]) by mx.google.com with ESMTPSA id c4sm3376220igt.19.2015.03.04.10.54.17 for <rtcweb@ietf.org> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Mar 2015 10:54:17 -0800 (PST)
Received: by iecat20 with SMTP id at20so16270789iec.6 for <rtcweb@ietf.org>; Wed, 04 Mar 2015 10:54:16 -0800 (PST)
MIME-Version: 1.0
X-Received: by 10.50.138.68 with SMTP id qo4mr39986072igb.33.1425495256693; Wed, 04 Mar 2015 10:54:16 -0800 (PST)
Received: by 10.36.20.10 with HTTP; Wed, 4 Mar 2015 10:54:16 -0800 (PST)
In-Reply-To: <54F74B02.1070902@jive.com>
References: <54F74B02.1070902@jive.com>
Date: Wed, 04 Mar 2015 13:54:16 -0500
Message-ID: <CAD5OKxs8JYG3-Vvndi59ZrdPE7UTj22ozD4tcWTHgzWrHv=q7Q@mail.gmail.com>
From: Roman Shpount <roman@telurix.com>
To: Simon Perreault <sperreault@jive.com>
Content-Type: multipart/alternative; boundary="001a1134bd8067847605107afa09"
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/6-XgbEcw8eXkWG_pAdPnqfeqhKw>
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] DTLS, DTLS-SRTP, and 5-tuples
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Mar 2015 18:54:21 -0000

On Wed, Mar 4, 2015 at 1:12 PM, Simon Perreault <sperreault@jive.com> wrote:

> This is a follow-up to this thread on discuss-webrtc:
> https://groups.google.com/forum/#!topic/discuss-webrtc/i67xq-FWtoM
>
> If I'm not mistaken, the right thing to do would be to bind keying
> material to all local ICE candidates (multiple 3-tuples), and treat any
> incoming media flow as indicated in RFC 5764 page 15, with one mapping
> table per 3-tuple. For outgoing flows, I guess it would make most sense to
> bind keying material to the 5-tuples for which the sender has obtained
> consent.
>
> Is this correct? If so, would it be useful to add text explaining this in
> detail?
>
>
This is not correct. End point can have multiple flows with different
keying material or different DTLS sessions on the same local ICE 3-tuple
due to forking. More correct implementation would be to associate multiple
5-tuples with the same logical transport stream based on ICE connectivity
checks using ICE ufrag to identify which logical stream to associate with
each 5-tuple.

There is also another interesting consequence of this -- end point should
not re-use the same ICE candidate IP/port with a different ufrag during
session update offer/answer exchange. Otherwise you might end up with
ambiguous association between the logical streams and keying material or
DTLS session.

All of this probably needs to be defined somewhere and I am not aware which
RFC or draft defines this at this time.
_____________
Roman Shpount