On Thu, Sep 4, 2014 at 4:09 PM, Ryan Sleevi <sle...@google.com> wrote:
>
>
>
> On Thu, Sep 4, 2014 at 4:02 PM, Trevor Perrin <tr...@trevp.net> wrote:
>>
>> I agree with Eric and Joe that the current definition of PKP-RO is not
>> that useful and potentially surprising to deployers.
>>
>> Ryan argues that storing PKP-RO is dangerous because a TLS MITM who
>> could set pins for a lot of clients for a lot of sites could flood a
>> victim with reports.
>>
>>
>> Couldn't the MITM also set PKP pins with report-uri, or set cached
>> redirects or other cached resources to generate traffic toward a
>> victim?
>
>
> Yes, and that's a user visible effect, rather than transparent.

Hmm, there's nothing clever that can be done with cached javascript or
html to also generate silent traffic toward a victim?


> It also
> requires that a connection be validated first, whereas the very definition
> of PKP-RO is that you send it when a connection is not validated.

I'd expect stored PKP-RO to follow the same rules as PKP and be stored
only if it meets the bullet points in 2.5 (error-free TLS connection,
backup pins, etc.).

It would make sense for any report-uri header (PKP or PKP-RO) that
fails the 2.5 checks, or has some other invalid syntax (eg bad
base64), to *also* generate a different sort of report and not be
stored.

Would it be reasonable to add a reporting message for 2.5 failure or
syntax failure?  Otherwise, when asserting a report-uri pin you can't
distinguish pin-not-stored errors from
pin-stored-and-validation-successful.


>> Ryan argues PKP-RO is worse because it's "conceptually and practically
>> silent to the user".  But once the browser has sent junk traffic to a
>> victim, I don't really see how seeing how displaying a pinning error
>> makes things better.
>
>
> First, the attacker can only mount the hostile attack after having first
> established a good connection.

Debateable per above.


> PKP-RO allows an attacker to perpetually
> mount a hostile attack.
> Second, the presence of a pinning error is an inherently rate-limiting
> factor to the user experience. You're not going to be able to trigger 100
> reports if you're causing the user 100 error pages.

Rate-limiting is already proposed:
"""
UAs SHOULD limit the rate at which they send reports.  For example,
   it is unnecessary to send the same report to the same report-uri more
   than once per distinct set of declared Pins.
"""

Wouldn't that take care of it?


> Third, it seems like you're arguing for removing report-uri altogether,
> given the privacy and DoS risks identified. That is, the more that  you
> establish RO is similar to PKP in level of what an attacker can do, the more
> it argues for removing report-URI entirely.

Dunno.  I'm still trying to understand these risks, whether they're
really different for PKP-RO vs PKP, and for HPKP versus other web
technologies.

Trevor

_______________________________________________
websec mailing list
websec@ietf.org
https://www.ietf.org/mailman/listinfo/websec

Reply via email to