Re: [websec] I-D Action: draft-nir-websec-extended-origin-00.txt

Yoav Nir <ynir@checkpoint.com> Sun, 04 March 2012 23:05 UTC

Return-Path: <ynir@checkpoint.com>
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 B033A21F85C9 for <websec@ietfa.amsl.com>; Sun, 4 Mar 2012 15:05:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.459
X-Spam-Level:
X-Spam-Status: No, score=-10.459 tagged_above=-999 required=5 tests=[AWL=0.140, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 W2Ex92WGJvyc for <websec@ietfa.amsl.com>; Sun, 4 Mar 2012 15:05:24 -0800 (PST)
Received: from michael.checkpoint.com (smtp.checkpoint.com [194.29.34.68]) by ietfa.amsl.com (Postfix) with ESMTP id 887E721F85C4 for <websec@ietf.org>; Sun, 4 Mar 2012 15:05:23 -0800 (PST)
X-CheckPoint: {4F53F09C-0-1B221DC2-1FFFF}
Received: from il-ex01.ad.checkpoint.com (il-ex01.ad.checkpoint.com [194.29.34.26]) by michael.checkpoint.com (8.13.8/8.13.8) with ESMTP id q24N5JuY014924; Mon, 5 Mar 2012 01:05:19 +0200
Received: from il-ex03.ad.checkpoint.com (194.29.34.71) by il-ex01.ad.checkpoint.com (194.29.34.26) with Microsoft SMTP Server (TLS) id 8.3.213.0; Mon, 5 Mar 2012 01:05:18 +0200
Received: from il-ex01.ad.checkpoint.com ([126.0.0.2]) by il-ex03.ad.checkpoint.com ([194.29.34.71]) with mapi; Mon, 5 Mar 2012 01:05:18 +0200
From: Yoav Nir <ynir@checkpoint.com>
To: Tobias Gondrom <tobias.gondrom@gondrom.org>
Date: Mon, 05 Mar 2012 01:05:16 +0200
Thread-Topic: [websec] I-D Action: draft-nir-websec-extended-origin-00.txt
Thread-Index: Acz6W0QSMpAHROHNQGiWT/OR2UbRHA==
Message-ID: <617BD1C6-7285-49BA-B953-6286AF3887FB@checkpoint.com>
References: <20120202220021.31936.37346.idtracker@ietfa.amsl.com> <C35E9FBD-8AF7-4F63-B798-1316B985E032@checkpoint.com> <4F5241C3.6070401@gondrom.org>
In-Reply-To: <4F5241C3.6070401@gondrom.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
x-kse-antivirus-interceptor-info: scan successful
x-kse-antivirus-info: Clean
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-KSE-AntiSpam-Interceptor-Info: protection disabled
Cc: "websec@ietf.org" <websec@ietf.org>
Subject: Re: [websec] I-D Action: draft-nir-websec-extended-origin-00.txt
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: Sun, 04 Mar 2012 23:05:24 -0000

Hi Tobias,

Replies inline.

On Mar 3, 2012, at 6:07 PM, Tobias Gondrom wrote:

> Hello Yoav,
> 
> thank you for the interesting draft.
> 
> <hat="individual">
> 
> I have a few points as feedback:
> - the 3-tupel of origin consists of "real" parameters (protocol, URL, 
> port), while the introduction of the 4th tupel feels like an artificial 
> parameter extension as it is not mapped to anything visible to the 
> client and in fact will be spliced by the middle-server (vpn server). 
> This makes me very hesitant, whether this would be a good idea.

As far as the client is concerned, there is only one server. If that server does not give any hints to the client, it's going to treat all these different resources as belonging to the same origin. So it does map to something the server sends.

> - As Adam mentioned that there will be migration problems.
> At the moment all browsers and other systems operate on the SOP with 
> 3-tupel to compare for identity. It will be difficult (read: near 
> impossible) to enforce that all deployed systems out there shall from 
> now on be compliant with a 4-tupel and no longer assume identity of two 
> sites when only the first three parameters are equal.
> 
> So, although I agree that economic reasons are absolutely viable reasons 
> for such an idea, I have concerns that this draft is only a workaround 
> for certain closed areas (i.e. where a company can basically enforce 
> that all accessing clients are in fact updated using such a 4-tupel 
> policy) but will create severe consistency issues in the Internet where 
> you would then see a mix of 3-tupel and 4-tupel clients, with the risk 
> of messing up the predictability of handling of SOP.

Actually, SSL VPNs are deployed where the company has no control over the clients. Sure you can enforce that users only use one kind of browser, but typically SSL VPNs are deployed so as to support any type of client, from phones to desktop. Companies that have that level of control tend to equip their employees with laptops that run IPsec VPNs. 

However, these SSL VPN portals exist today, and hide multiple servers behind a single hostname and port. Typically these will be mostly internal servers with a few external ones. For example, our deployment has the mail server (OWA), the internal Wiki, The automated build system, the SAP web application, and the web application of an external service provider that delivers lunch. These are not just random sites on the Internet, but specific servers that the administrator has chosen. The way these are deployed now, the lunch service provider can steal the cookies from the mail server, or script it. Having the SSL VPN server provide this extra information might help security (if the browsers use that information). It won't make it worse.

> Maybe a question regarding the use cases:
> As in general, systems use sub-domains for such purpose (as explained by 
> you and James), I am wondering whether there are other scenarios (beyond 
> VPN) that may need this 4th origin parameter?

I guess any HTTP reverse proxy may hide multiple servers behind it. Reverse proxies are used for caching, load balancing, access control to web application. Even CDNIs are a type of reverse proxy. I believe that SSL VPNs are a little different. The other types of reverse proxy are typically installed and maintained by experts. SSL VPNs are installed and maintained by people whose knowledge of networking can range from "NOC team material" to "the CEOs nephew who's really good with computers". So I think all reverse proxies could benefit from a 4th origin parameter, but I think most of the others can work around that need, while some SSL VPN customers can't.

Yoav