Re: [rtcweb] SRTP not mandatory-to-use

Eric Rescorla <ekr@rtfm.com> Wed, 04 January 2012 00:20 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C24B21F84F6 for <rtcweb@ietfa.amsl.com>; Tue, 3 Jan 2012 16:20:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.177
X-Spam-Level:
X-Spam-Status: No, score=-101.177 tagged_above=-999 required=5 tests=[AWL=0.800, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, GB_WEPROVIDEC=1, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bwn6Z+Sv7o1N for <rtcweb@ietfa.amsl.com>; Tue, 3 Jan 2012 16:20:20 -0800 (PST)
Received: from mail-vx0-f172.google.com (mail-vx0-f172.google.com [209.85.220.172]) by ietfa.amsl.com (Postfix) with ESMTP id EAA1B21F84E6 for <rtcweb@ietf.org>; Tue, 3 Jan 2012 16:20:15 -0800 (PST)
Received: by vcbfk13 with SMTP id fk13so14221124vcb.31 for <rtcweb@ietf.org>; Tue, 03 Jan 2012 16:20:11 -0800 (PST)
Received: by 10.220.156.201 with SMTP id y9mr11461470vcw.22.1325636411171; Tue, 03 Jan 2012 16:20:11 -0800 (PST)
MIME-Version: 1.0
Received: by 10.52.95.110 with HTTP; Tue, 3 Jan 2012 16:19:30 -0800 (PST)
X-Originating-IP: [74.95.2.173]
In-Reply-To: <CA+9kkMBwyUMAdDyQaYZBx0NYvoe3RV+VVKxzqNCC5Ui6xNdsOA@mail.gmail.com>
References: <CAErhfrwu322=HTS0JZhum9EGfb73KmYS6CU_KMESyzEWhtvg2w@mail.gmail.com> <CABcZeBOeg-O+6===5tk0haxC8nLxUQyEUFRES2FAoFEf00fKng@mail.gmail.com> <CAErhfrxTKdo7Z+61x5ZcDt5ZM7C7ob5LNxMzwng_kk3Uqrp2_Q@mail.gmail.com> <4F01A790.4060704@alvestrand.no> <4F02A061.60905@jesup.org> <E44893DD4E290745BB608EB23FDDB762141EF8@008-AM1MPN1-042.mgdnok.nokia.com> <4F035DD5.3050305@jesup.org> <CAOJ7v-1dziaA_ePCuMxjn6uhBgOH=ZVybUmLBwQi5qiuyOzDMA@mail.gmail.com> <BLU152-W469B2EB104C104547FC42393960@phx.gbl> <CA+9kkMBwyUMAdDyQaYZBx0NYvoe3RV+VVKxzqNCC5Ui6xNdsOA@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Tue, 03 Jan 2012 16:19:30 -0800
Message-ID: <CABcZeBN4s==EZrQ5zCO3OVSYmjm=O0Yn9BRMZ=LyDF70sQunZg@mail.gmail.com>
To: Ted Hardie <ted.ietf@gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: randell-ietf@jesup.org, rtcweb@ietf.org
Subject: Re: [rtcweb] SRTP not mandatory-to-use
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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 Jan 2012 00:20:20 -0000

On Tue, Jan 3, 2012 at 4:02 PM, Ted Hardie <ted.ietf@gmail.com> wrote:
> On Tue, Jan 3, 2012 at 3:08 PM, Bernard Aboba <bernard_aboba@hotmail.com> wrote:
>> Justin Uberti said:
>>
>
>> Requiring SRTP in all circumstances (e.g. offering RTP/SAVP(F) and not
>> falling back or allowing negotiation of RTP/AVP(F)) would not preclude
>> gateways from translating to RTP/AVP(F), without user knowledge.
>>
>> This would result in an illusion of security, compared with an actual
>> negotiation which would apprise the user as to whether security is actually
>> in place.
>>
> I'm a little lost.  In a gateway implemented in a back-to-back user
> agent, won't you end up with the same
> illusion?
>
> The case I think you're talking about is this:
>
> UA--1<-Connection1->B2BUA/Gateway<-Connection-2->UA-2
>
> Do you expect that the gateway would be refuse to use SRTP on one side
> if it intended not to use it on the other?  That seems pretty unlikely
> to me personally, especially in cases where the gateway is to the PSTN
> or a standard SIP system.  Or do you expect that the negotiation would
> be extended so that the gateway somehow indicates that it will not
> SRTP on side two to side one?
>
> If the requirement is SRTP always for WEBRTC, then a b2bUA would have
> to run SRTP on boths ides if both UA-1 and UA-2 were WEBRTC
> applications, but that seems to be what we want.
>
> What am I missing?

I, too, am confused.

Without using the words SRTP, here's the functionality I want, starting from
first principles.

When I have a call, I would like to know to the extent possible:

(a) Who the entity on the other end is.
(b) That the call is secure to that entity, i.e., that we provide
confidentiality
and integrity for the data.

Obviously, once the data is delivered to the entity on the other side, I can
no longer know what the security properties are. At best, they can simply
assert those properties, whether via some technical mechanism or via
a non-technical mechanism ("I promise to keep this conversation secret
and I'm willing to sign an NDA"). That's out of scope for the security services
we know how to offer.

Now, it's clearly the case that there are settings in which there is a gap
between the entity I want to be talking to and the entity that the technology
allows me to provide a secure association to. One such example, as Ted
suggests, is a gateway to the PSTN, which does not provide a secure
channel. What I would like at that point is to be able to:

(a) know that I am talking to the gateway and be able to distinguish this
case from that where I am talking directly to the entity of interest.
(b) have confidentiality and integrity provided for my data in transit to the
gateway.

Obviously, this has the potential to be misleading if the UI is done badly,
but that seems like a result of having a system with differential security
properties, not the result of having always-on crypto for the first hop
link. The only way I know to not have people be potentially confused is
to only have one security level, but since we've already established that
it can't always be secure to the target entity, the only way to have one
security level is to have it be never secure, which also seems rather
undesirable.

-Ekr