Re: [pkix] How do we differentiate authentic servers from proxies performing TLS interception?
Jeffrey Walton <noloader@gmail.com> Thu, 12 November 2015 13:03 UTC
Return-Path: <noloader@gmail.com>
X-Original-To: pkix@ietfa.amsl.com
Delivered-To: pkix@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 20D861A88B8 for <pkix@ietfa.amsl.com>; Thu, 12 Nov 2015 05:03:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Jbnl0qY2oYch for <pkix@ietfa.amsl.com>; Thu, 12 Nov 2015 05:03:29 -0800 (PST)
Received: from mail-ig0-x231.google.com (mail-ig0-x231.google.com [IPv6:2607:f8b0:4001:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B78381A88B6 for <pkix@ietf.org>; Thu, 12 Nov 2015 05:03:29 -0800 (PST)
Received: by igvi2 with SMTP id i2so13887157igv.0 for <pkix@ietf.org>; Thu, 12 Nov 2015 05:03:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type:content-transfer-encoding; bh=JeVsRdZROD6t29PeYem562QLqGyZjbNOJSxZ4fTe+yg=; b=o1FXxZX7kPCF7wjGibYnZ2ozgoTMC52kQ7PzDmgN3OpVLLG4mWzCUVgvz06XJ9+h24 yMqlbUw5iPtLzTsOtUAh4ghcLa6UGg9qeCK8XIWdXEbK87PnXSxdt+LGfx1bVAQEID6V 0KqMb5FWntkWvIK2TQpoA5BGOXNsowsriJam53E2s86aTKng3+SlNiinXqiylo/9wCtC uki9yk9tqr/8DynVdsZdpevSjqPi/gVwaZjkH31FuFtPBRnJL4DdcJshlXqhLAUAWyDI w4x4eDAHQoIogNFLXWn0okEnCMl8rgJi9ZO+UyspbnFAEro4ohB/pfU9NLd7FItfqQsz DsmA==
MIME-Version: 1.0
X-Received: by 10.50.143.101 with SMTP id sd5mr1015025igb.36.1447333409074; Thu, 12 Nov 2015 05:03:29 -0800 (PST)
Received: by 10.36.108.3 with HTTP; Thu, 12 Nov 2015 05:03:28 -0800 (PST)
In-Reply-To: <575EB331-EBC2-429D-A030-8620FB64106C@gmail.com>
References: <CAH8yC8=7YP-p=fEL4nFdemiiqU7wm=y7Um=PGgR0=ZbH=mNemQ@mail.gmail.com> <B5236D74-4492-4B9E-9A0D-EBC48EA12A0D@gmail.com> <CAH8yC8nw-7nZfxv=UhzGxfGfYfDKDJFQUp0pNQ8auEFzdby5BA@mail.gmail.com> <575EB331-EBC2-429D-A030-8620FB64106C@gmail.com>
Date: Thu, 12 Nov 2015 08:03:28 -0500
Message-ID: <CAH8yC8niMMY__fUQmK6frhOBe+O6nnBtievw09nsMo7odwnvsQ@mail.gmail.com>
From: Jeffrey Walton <noloader@gmail.com>
To: Yoav Nir <ynir.ietf@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/pkix/dj3h4eDbLnJhx6d3jvnREm8P8YI>
Cc: PKIX <pkix@ietf.org>
Subject: Re: [pkix] How do we differentiate authentic servers from proxies performing TLS interception?
X-BeenThere: pkix@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: noloader@gmail.com
List-Id: PKIX Working Group <pkix.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pkix>, <mailto:pkix-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pkix/>
List-Post: <mailto:pkix@ietf.org>
List-Help: <mailto:pkix-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pkix>, <mailto:pkix-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Nov 2015 13:03:32 -0000
On Thu, Nov 12, 2015 at 6:39 AM, Yoav Nir <ynir.ietf@gmail.com> wrote: > >> On 12 Nov 2015, at 12:47 PM, Jeffrey Walton <noloader@gmail.com> wrote: >> >>>> I've been through RFC 5280 and 6125 looking for a treatment of the >>>> subject matter, but I could not find it. I would expect it to show up >>>> somewhere, like KU or EKU, but the bits appear to be missing. >>>> >>>> How do we differentiate authentic servers from proxies performing TLS >>>> interception? >>> >>> There is no way to mark a certificate as an “interception" (or “proxy” or “fake”) certificate. Attempts to mark either the certificate or the TLS handshake were not successful in the IETF, because we do not facilitate interception in protocols, lawful or otherwise. >> >> Thanks Yoav, that's interesting. I thought that too until RFC 7469 >> came along and got approved with the overrides. > > But as you note, the overrides are obscured. > >> Now that the IETF has provided a standard with the overrides, maybe >> its time to revisit the previous decision. There are a few reasons: >> >> * The dominate RFC 7469 players claim "interception is a valid use >> case" (citing the W3C's Priority of Constituencies) > > “consider users over authors over implementors over specifiers over theoretical purity.” > But what are the interests of the users? Many would claim that not having their traffic intercepted is a higher priority. Unfortunately the users don’t participate in either W3C or IETF, so we have others make claims on their behalf. +1. And I still can't figure out how some in the W3C think its a good decision to throw away a specific security context, like a known good pinset, in favor of a less specific security context, like a trust store override. I argue they are violating the W3C's when they move from specific to specific to general since the user wanted the more specific security context. >> * Its a real-life problem, and not a theoretical one. It can't be >> ignored as if it does not exist. > > But what is the problem? That proxying is possible? That proxying is not visible to the user? That proxying is not visible to the server? Modifying the certificate does not solve that last one anyway. Data has three state: data at rest, data on display, and data in motion. Interception in general, and PKP overrides in particular, destroys the third state of data security. The system is no longer secure, and it likely no longer adheres to its security requirements. The fact that the app no longer meets requirements is not always a death knell. Its is probably OK for some applications in some circumstances, like Gmail. Its probably also OK for financial transactions in the US because legislation shifted risk off the user/consumer. Financial institutions are aware of the risk and they accept it. But the loss of security is not acceptable in other contexts. The other contexts include systems handling medium and high value data (for organizations that classify their data), like executive compensation, mergers and acquisitions, pending litigation, corporate strategies, etc. And it is an unacceptable risk for users in countries like Iran, where dissidents get put to death or are tortured. The web security folks don't seem to get the last point: the risk model changed, and the risk is not acceptable for some. One size does not fit all. Personally, I don't know what I would do if I condoned the web security model and someone died because of it. I probably could not bear it - it would eat me up internally until I died. >> * Reusing key bits for both server authentication and >> proxying/interception violates secure design and architecture. Its a >> deep, fundamental flaw. >> >> I'm particular bothered by the third item. Reusing the KU/EKU bits >> violates at least three of the secure design principals outlined by >> Saltzer and Schroeder's "The Protection of Information in Computer >> Systems". More informed readers (like you, DKG, Guttman, etc), can >> probably find more violations. > > Perhaps, but they all boil down to your subject line, that the browser/client cannot tell that the proxy is there without heuristics. Right, but that's because we don't have what we need to make the decision. And its only going to get worse with Secure Origins. That's where the W3C is using Authentication as Authorizations. But the interception disgorges the assurances provided with the CA/RA vetting, so there are no assurances that remain in practice. (I'm side stepping the whole Authentication is not Authorization foasco. The W3C folks seem set on traveling down the Java Applet path). Providing addition information would make the heuristics more accurate, and lead to a better security posture. Here are the use cases: (1) NOT proxied (2) Proxied and advertised as proxied (3) Proxied and NOT advertised as proxied (1) is what everyone hopes for. (2) allows us to make more informed decisions, and allows us to teach users with simple rules. (2) could become a simple platform wide policy setting applied to all browser based applications. If I had (2), then I could tell my mother or brother to forgo the guest Wifi network and hop on 3G/4G. But that decision has been taken away from us in pursuit of the "interception is a valid use case" goal. (3) is a red herring, and its a sure sign something is wrong, if detected. if it goes undetected, then we are at the status quo. The folks who seem to resist providing more information, allowing user agents to make better decisions and allowing users to make more informed decisions are those who are promulgating the "interception is a valid use case" goal. The NSA, GCHQ and friends does not need to infiltrate an organization since it has unwitting co-conspirators Or maybe they are the same folks (they say the devil's greatest deception was convincing folks he does not exist). Jeff
- [pkix] How do we differentiate authentic servers … Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Yoav Nir
- Re: [pkix] How do we differentiate authentic serv… Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Yoav Nir
- Re: [pkix] How do we differentiate authentic serv… Miller, Timothy J.
- Re: [pkix] How do we differentiate authentic serv… Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Martin Rex
- Re: [pkix] How do we differentiate authentic serv… Miller, Timothy J.
- Re: [pkix] How do we differentiate authentic serv… Miller, Timothy J.
- Re: [pkix] How do we differentiate authentic serv… Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Miller, Timothy J.
- Re: [pkix] How do we differentiate authentic serv… Tom Gindin
- Re: [pkix] How do we differentiate authentic serv… Miller, Timothy J.
- Re: [pkix] How do we differentiate authentic serv… Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Yoav Nir
- Re: [pkix] How do we differentiate authentic serv… Tom Gindin
- Re: [pkix] How do we differentiate authentic serv… Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Tom Ritter
- Re: [pkix] How do we differentiate authentic serv… Miller, Timothy J.
- Re: [pkix] How do we differentiate authentic serv… Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Miller, Timothy J.
- Re: [pkix] How do we differentiate authentic serv… Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Peter Bowen
- Re: [pkix] How do we differentiate authentic serv… Jeffrey Walton
- Re: [pkix] How do we differentiate authentic serv… Miller, Timothy J.