Subject: [rtcweb] consent freshness and ICE-lite

From: "Ejzak, Richard P (Richard)" <[email-masked]>
Date: Tue, 17 Jul 2012 01:12:52 +0000

Sections 4.2, 4.4 and 5.3 of draft-ietf-rtcweb-security-arch-03.txt have text that seems to be contradictory.  In particular, 5.3 requires support of ICE-lite at server gateways but each endpoint is described as sending ICE binding requests for ICE consent verification in 4.2 (which is it?).  4.4 also requires RTCWeb implementations to perform periodic binding requests to verify consent freshness.  Is a server gateway an RTCWeb implementation subject to this requirement?  I thought that one of the reasons the WG decided to use binding requests instead of binding indications to allow bilateral consent initiated by a single endpoint (in particular, so that an RTCWeb browser could interoperate with either a server gateway implementing ICE-lite or a non-RTCWeb endpoint not implementing the RTCWeb consent freshness procedures in such a way that only the RTCWeb browser needed to send periodic binding requests to maintain bilateral consent freshness).

Does a binding request provide unilateral or bilateral consent verification/freshness?

Is a server gateway implementing ICE-lite required to send ICE binding requests anyway for consent verification and/or consent freshness, or is it sufficient for such an implementation to indicate its own consent by just responding to received binding requests?

Do we care about compatibility with ICE compliant endpoints that do not use binding requests for consent freshness?

Does a browser treat a response to a binding request the same as a received binding request for consent freshness?

It would be helpful to have clear answers to these questions in the security architecture document.

Thanks,

Richard Ejzak

---

From: Bernard Aboba <[email-masked]>
Date: Mon, 16 Jul 2012 20:32:37 -0700

Consent freshness and liveness is used to assure a browser that the recipient has authorized it to 
send media and that it is still there. So if a gateway wants to receive, answer Binding Requests 
sent to it.  

If a gateway is on the public Internet, supports ICE lite and does not send a Binding Request 
to a browser, but does implement RFC 6263, then NAT bindings can be kept alive and media 
should still flow.  So I think this is viable.

On Jul 16, 2012, at 18:13, "Ejzak, Richard P (Richard)" <[email-masked]> wrote:

> _______________________________________________
> rtcweb mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/rtcweb
_______________________________________________
rtcweb mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/rtcweb

---

From: "Muthu Arul Mozhi Perumal (mperumal)" <[email-masked]>
Date: Tue, 17 Jul 2012 05:43:18 +0000

Right, consent is requested by the sender and granted by the receiver. While one side has granted consent for receiving on a candidate pair, the other side could have revoked it. So consent verification/freshness is unilateral.

A gateway/browser implementing ICE-lite will only be able to grant consent to send, but will not be able to request consent. So, a malicious application can use it for sending unwanted traffic.

Liveness determines continued connectivity on a candidate pair. Since the networks paths can be asymmetric, both ends need to perform the liveness test.

Muthu

From: [email-masked] [mailto:[email-masked]] On Behalf Of Bernard Aboba
Sent: Tuesday, July 17, 2012 9:03 AM
To: Ejzak, Richard P (Richard)
Cc: [email-masked]
Subject: Re: [rtcweb] consent freshness and ICE-lite

On Jul 16, 2012, at 18:13, "Ejzak, Richard P (Richard)" <[email-masked]<mailto:[email-masked]>> wrote:

Thanks,

Richard Ejzak

_______________________________________________
rtcweb mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/rtcweb

---

From: Bernard Aboba <[email-masked]>
Date: Mon, 16 Jul 2012 23:16:44 -0700

Since it's a gateway not a browser, presumably it doesn't support JavaScript.  So there is no "application"  an attacker can run on the gateway, there is just (static) gateway code.

---

From: "Muthu Arul Mozhi Perumal (mperumal)" <[email-masked]>
Date: Tue, 17 Jul 2012 09:44:09 +0000

There are gateways that run applications like TCL and XML scripts written by users. They are typically deployed in constrained environments running trusted scripts, so generally not an issue. That doesn't however preclude a deployment where the gateway runs untrusted scripts or a browser -:)

While performing consent freshness and liveness tests are mandatory for a WebRTC browser, it is optional for a gateway, I believe.

Muthu

From: Bernard Aboba [mailto:[email-masked]]
Sent: Tuesday, July 17, 2012 11:47 AM
To: Muthu Arul Mozhi Perumal (mperumal)
Cc: Ejzak, Richard P (Richard); [email-masked]
Subject: Re: [rtcweb] consent freshness and ICE-lite

On Jul 16, 2012, at 22:43, "Muthu Arul Mozhi Perumal (mperumal)" <[email-masked]<mailto:[email-masked]>> wrote:
Right, consent is requested by the sender and granted by the receiver. While one side has granted consent for receiving on a candidate pair, the other side could have revoked it. So consent verification/freshness is unilateral.

Muthu

From: [email-masked]<mailto:[email-masked]> [mailto:[email-masked]] On Behalf Of Bernard Aboba
Sent: Tuesday, July 17, 2012 9:03 AM
To: Ejzak, Richard P (Richard)
Cc: [email-masked]<mailto:[email-masked]>
Subject: Re: [rtcweb] consent freshness and ICE-lite

Thanks,

Richard Ejzak