Re: [websec] Consensus call: Issue #57 (max-max-age)

"Sheehe, Charles J. (GRC-DPC0)" <charles.j.sheehe@nasa.gov> Tue, 04 June 2013 14:49 UTC

Return-Path: <charles.j.sheehe@nasa.gov>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B63D21F9DD2 for <websec@ietfa.amsl.com>; Tue, 4 Jun 2013 07:49:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
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 Svd-c7E4feZM for <websec@ietfa.amsl.com>; Tue, 4 Jun 2013 07:49:02 -0700 (PDT)
Received: from ndjsnpf02.ndc.nasa.gov (ndjsnpf02.ndc.nasa.gov [IPv6:2001:4d0:a302:1100::102]) by ietfa.amsl.com (Postfix) with ESMTP id 7EE8B21F907E for <websec@ietf.org>; Tue, 4 Jun 2013 06:03:17 -0700 (PDT)
Received: from ndjsppt103.ndc.nasa.gov (NDJSPPT103.ndc.nasa.gov [198.117.1.197]) by ndjsnpf02.ndc.nasa.gov (Postfix) with ESMTP id F0BCDA8048; Tue, 4 Jun 2013 08:03:16 -0500 (CDT)
Received: from ndjshub03.ndc.nasa.gov (ndjshub03-pub.ndc.nasa.gov [198.117.1.33]) by ndjsppt103.ndc.nasa.gov (8.14.5/8.14.5) with ESMTP id r54D3GUq016163; Tue, 4 Jun 2013 08:03:16 -0500
Received: from NDJSSCC04.ndc.nasa.gov ([10.58.58.14]) by ndjshub03.ndc.nasa.gov ([10.202.202.162]) with mapi; Tue, 4 Jun 2013 08:03:16 -0500
From: "Sheehe, Charles J. (GRC-DPC0)" <charles.j.sheehe@nasa.gov>
To: Yoav Nir <ynir@checkpoint.com>, Tobias Gondrom <tobias.gondrom@gondrom.org>
Date: Tue, 04 Jun 2013 08:03:15 -0500
Thread-Topic: [websec] Consensus call: Issue #57 (max-max-age)
Thread-Index: Ac5hH52FMB5lewsqSVm80r0jW66ZzAAA7PFQ
Message-ID: <838EDA30DAC59547BEDA5AB4C776DFC9014303815897@NDJSSCC04.ndc.nasa.gov>
References: <43C5DE99-43EB-42FC-8F61-24F9A9429FD1@checkpoint.com> <CA+cU71=Q_QkHqiQ95AZgw8Bi7U_mgCi4icMypwFUp1C6i=apUA@mail.gmail.com> <518EE510.9060600@it.aoyama.ac.jp> <8450797E-818C-445C-ABD2-1B8F9AE1DBB9@checkpoint.com> <5194918A.7030300@gondrom.org> <CAGZ8ZG0SWZD9e-NP2RhQMQ-=F5JUCCytF2NYTdWH7u13hhBqqQ@mail.gmail.com> <519D3254.1040508@gondrom.org> <CAGZ8ZG15ZbjfDcu+bpetvfZxKG1ycW9t1AGuQ+A5cfpfkUAfnw@mail.gmail.com> <CAOuvq237_B1h6mBryP3UHh=auqtUhs93-_oKMSsHOjqSX977bQ@mail.gmail.com> <51A49A5C.5080002@gondrom.org> <CAOuvq20_zACXraV9iN6mUbDwML8GkSCwh9w2Cuow818YOLL-Sw@mail.gmail.com> <7AD36561-65B4-448C-A371-907B12B75AF1@checkpoint.com> <CAOuvq23a0BiO5pGDPLLvHY0bZ0JvVrFb7Aq-nGDoBQS_S8HFDw@mail.gmail.com> <584386D2-223C-4B6F-89BA-78769113D293@checkpoint.com> <CAGZ8ZG3ktYcJutAH19qW+=EP8oopq=XCTZ_td3Gyw2o2mMvzNA@mail.gmail.com> <51ADBBA3.3000105@gondrom.org> <77BFAD41-36DD-46C7-A277-D1416F7EE958@checkpoint.com>
In-Reply-To: <77BFAD41-36DD-46C7-A277-D1416F7EE958@checkpoint.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_838EDA30DAC59547BEDA5AB4C776DFC9014303815897NDJSSCC04nd_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.10.8626, 1.0.431, 0.0.0000 definitions=2013-06-04_04:2013-06-04, 2013-06-04, 1970-01-01 signatures=0
Cc: "<websec@ietf.org>" <websec@ietf.org>
Subject: Re: [websec] Consensus call: Issue #57 (max-max-age)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 04 Jun 2013 14:49:17 -0000

Why can't the Max-Max-AGE  equal a formula  Max age=  (average usage)*2+1day

This should accommodate both and not the best for either.

Chuck
From: Yoav Nir [mailto:ynir@checkpoint.com]
Sent: Tuesday, June 04, 2013 7:08 AM
To: Tobias Gondrom
Cc: <websec@ietf.org>
Subject: Re: [websec] Consensus call: Issue #57 (max-max-age)

But doesn't this introduce a lot of infrastructure?

If we want to find out a hash of the public key for an HTTPS server using heavy infrastructure, we might as well use DANE, no?

Yoav

On Jun 4, 2013, at 1:04 PM, Tobias Gondrom <tobias.gondrom@gondrom.org<mailto:tobias.gondrom@gondrom.org>> wrote:


Hi Trevor, hi all,

(again no hats)

actually regarding browser lookups of pin lists:
I rather have the pins work unlimited and all the time even without pin lists.

But your idea might in fact be a solution to enable the unlimited pin times.
Instead of constantly distributing the list of pins, we could actually have browsers use whitelists of pins that have been "revoked" and where the browser is allowed to refresh. That could e.g. happen with a browser update.
That way we can have a unlimited time pin (and pre-caching of pins) and solve the scenario of malicious domain blocking by previous owners. And hopefully that scenario will hardly happen at all (especially if there is a provision for solving it and the attempt is futile, the motivation for an attacker trying it might be close to zero).

Best regards, Tobias




On 03/06/13 07:29, Trevor Perrin wrote:

Hi Yoav, all,

We've talked a lot about the risks of long-lived pins.  We should also think more about the benefits.

I'll argue that pin lifetimes past a certain point don't get you much.  Browser-based "key continuity" will hopefully be supplemented by systems that scan pin assertions regularly from different points on the Internet (like Perspectives, Convergence, Vantages, etc.).  Such systems would derive pins more reliably than individual browsers, and could use several methods to distribute these pins.  Since scanning of sites can be done frequently, and distribution would also be fast, long-lived pins aren't needed for this.

The hard part of this isn't scanning, it's pin distribution.  Here's three ways that could be done:

Links:  Pins could be embedded in hyperlinks served over HTTPS.  Since much browsing consists of following links from the web's major "introducers" (search engines, social networks, etc.), having these sites embed pins would protect a lot of traffic.  See the recent "S-links" paper [1].

Lists:  Modern browsers download lists of security info on a regular basis, including lists of malware and phishing sites [2], commonly-downloaded files [3], and revoked certs [4].  You could imagine pin lists being downloaded, so that every browser has a current list of pins for, say, 10,000 major sites.

Lookups:  Browsers are reluctant to do per-connection blocking lookups (see OCSP, Convergence, and DNSSEC).  But there might be more efficient and less-problematic ways to combine pin and DNS lookups (e.g. connections to DNS resolvers via VPNs, or some simpler form of response authentication).  Also, non-blocking pin lookups could be used after-the-fact to detect attacks (if a MITM blocks the lookup for an extended period, the browser would start complaining).


Anyways, 30-day pins seem adequate for any of these.  Assuming sites can be rescanned weekly, pins received through links, lists, or lookups are likely to have 20+ days of validity left in them, which is plenty of time for the browser to follow a link, or use a list without its entries expiring.

This is a complicated issue, and I don't expect this email to resolve it.  But I at least hope this lessens any perception that short-lived pins would offer weak security.


Trevor

[1] http://research.google.com/pubs/archive/41138.pdf
[2] https://developers.google.com/safe-browsing/
[3] http://windows.microsoft.com/en-us/windows7/smartscreen-filter-frequently-asked-questions-ie9
[4] http://www.imperialviolet.org/2012/02/05/crlsets.html


On Sat, Jun 1, 2013 at 11:41 PM, Yoav Nir <ynir@checkpoint.com<mailto:ynir@checkpoint.com>> wrote:
Hi

Just trying to get us close to consensus. Still no hats. There are two arguments for limiting max-age:

1. With unlimited max-age, it's possible for the legitimate site owner to by mistake damage their sites. You could pin the CA certificate, and lock yourself in to that CA for all eternity. You could pin a current and future EE public keys, and then when the current public key expires, you might not use the future one because you mistyped it (or your CA no longer accepts 1024-bit keys). For whatever reason, a bad choice you make while trying out HPKP either bricks your site or constrains your behavior for a while.

2. With unlimited max-age, a current owner of a domain name can set a pin that a future owner cannot honor. So if Mr. diaper consultant[1] ever decides to retire, he could set a long-lived pin such that I would not be able to use the domain even if I buy it. A variation on this is the case where an attacker like ComodoHacker manages to MitM a popular site, and he sets a long-lived pin that prevents users from accessing the site not through the MitM. This means that browser support for HPKP could serve to amplify attacks that are plenty bad enough as they are.

Regarding #1 I'm not convinced. HPKP (much like HSTS) is already a pretty big gun with which users can shoot themselves in the foot. A website that's important for its owner (whether it's social networking, political action, or business) cannot afford to be inaccessible for any length of time. A month is no less a disaster than a year. As for constraining your behavior, this merits deployment advice, not limiting the usefulness of the protocol for other sites.

#2 is more worrying. I think the previous owner issue would be served even with a 1 year hard limit, and I don't think anyone here is arguing that a 1-year limit is too short. But the attack amplification is a real thing, and it works against sites that haven't even implemented HPKP. Sites that deploy HPKP are protected from a MitM such as ComodoHacker (or his "friends"). But having HPKP in the browser (but not in the website) allows his friends to lock out browsers by inserting a pin. So if browsers implement this, it amplifies attacks against the general population of SSL-protected web sites. I'm not sure whether in the grand scheme of things this makes the Internet better or worse.

Note, though, that this issue exists even if max-age is limited. Bricking the site for a month (for some users in Iran) is a bad enough outcome, only slightly mitigated by it being only for a month.

I started out writing this message thinking it was going to have a proposal that we could all reach consensus about. I'm not sure I got there. I guess if this was a vote, I would vote for a year-long max-max-age, but I'm not really as sure about this as I was when I started writing this message.

Yoav

[1] http://www.yoavnir.com<http://www.yoavnir.com/>
_______________________________________________
websec mailing list
websec@ietf.org<mailto:websec@ietf.org>
https://www.ietf.org/mailman/listinfo/websec





_______________________________________________

websec mailing list

websec@ietf.org<mailto:websec@ietf.org>

https://www.ietf.org/mailman/listinfo/websec



Email secured by Check Point