Re: [MMUSIC] DTLS-SRTP client/server role negotiation

Paul Kyzivat <> Fri, 03 May 2013 17:33 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 3A6BF21F8FF0 for <>; Fri, 3 May 2013 10:33:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 2.762
X-Spam-Level: **
X-Spam-Status: No, score=2.762 tagged_above=-999 required=5 tests=[FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, J_CHICKENPOX_15=0.6, RDNS_NONE=0.1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ZnISGLhHpyjb for <>; Fri, 3 May 2013 10:33:00 -0700 (PDT)
Received: from ( [IPv6:2001:558:fe14:44:76:96:59:228]) by (Postfix) with ESMTP id 6436921F99E1 for <>; Fri, 3 May 2013 09:20:09 -0700 (PDT)
Received: from ([]) by with comcast id XQti1l0081HzFnQ5FUL97U; Fri, 03 May 2013 16:20:09 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([]) by with comcast id XUL81l01C3ZTu2S3aUL9YC; Fri, 03 May 2013 16:20:09 +0000
Message-ID: <>
Date: Fri, 03 May 2013 12:20:08 -0400
From: Paul Kyzivat <>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
MIME-Version: 1.0
To: Christer Holmberg <>
References: <> <> <> <> <> <>, <> <> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=q20121106; t=1367598009; bh=y3g+oeCckohRnbNZIB8u5wYqwKF3y7Rgb4seSsFOlLg=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=gyvmn2cLGhokPIdzd8ZizByNlUXnTfV5aSgIA8/OzAmZY9KsDbzRWPIPB5XdYXEaL STJ7h54VGsOIoq1TIvmd36NFLUhbtVOw7Xtw9w3dq2/feHXAheBKbVP2RNy0B5ms9K LeHgS47eTccNaVun2Jmyx0XzwM9p/7GXAAfcCf214vi2LTxhcNT92OvXiGGUv2XBlW O+a2bOgiWPXEX3ECli661H2aWBl37y80pGSHpm0u8wCzJxBM/psWE+3eakOmHojCKm jbu84uIiup5Q27V1L4Da6o9TEWOSeH6mgwH83LsHsAywVmYsE3xglpQN9tYXkeVR+D eIXYkptvFF7sQ==
Cc: Alan Johnston <>, "" <>
Subject: Re: [MMUSIC] DTLS-SRTP client/server role negotiation
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 03 May 2013 17:33:06 -0000


After rereading this and checking 4583, I realize my comment was based 
on a misunderstanding of what BFCP was doing. I thought you were saying 
that BFCP didn't use a=setup, and that the active party for the TCP/TLS 
connection was always the offerer. I see that was wrong - that it uses 
a=setup for that and says that the answer is the TLS server.

BFCP seems to have arranged its authentication so either end is capable 
of being the TLS server, and it is only necessary to have *some* 
mechanism for deciding which one will be. As long as that is the case, I 
don't have a particular problem with it.


On 5/3/13 2:58 AM, Christer Holmberg wrote:
> Hi Paul,
>>> RFC 4572 specifies that the "active" endpoint also takes the role as TLS client. At least MSRP refers to RFC 4572.
>>> AFAIR, BFCP specifies its own rule, saying that the SDP offerer always act as TLS client - ie it separates the TCP setup from TLS roles - which I think is very good.
>> I think that approach has limitations. What does one do when doing a subsequent o/a, especially in the opposite direction?
> Well, I could ask you to look it up in the BFCP RFC, but I doubt you'll find an answer there :)
>> And how does one distinguish when in a subsequent o/a you do/don't want to reestablish the connection rather than retaining the existing one?
> I would need some more time to think about that, but a few questions that came to my mind:
> 1) If the TLS connection already exists, is there a reason to reestablish it to begin with?
> 2) Would you need an o/a to reestablish the TLS connection to begin with? Once the roles have been determined (in the initial o/a), can't everything be handled on the TLS layer?
> 3) If the TLS connection already exists, is there a reason to renegotiate the TLS roles?
> 4) If a subsequent o/a is needed in order to reestablish the connection, and/or renegotiate the TLS roles, could the TLS connection first be terminated on the TLS layer, before the subsequent of/a is sent?
> Regards,
> Christer