Re: Linking a cookie to an IP address is a very bad in 2015...

Jim Manico <jim@manico.net> Sat, 04 April 2015 17:02 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1C7311AC3DB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 4 Apr 2015 10:02:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.911
X-Spam-Level:
X-Spam-Status: No, score=-6.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 IX9FkNH_CfXB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 4 Apr 2015 10:02:24 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D69E71AC3D8 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sat, 4 Apr 2015 10:02:23 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1YeRQA-0002Uu-2p for ietf-http-wg-dist@listhub.w3.org; Sat, 04 Apr 2015 16:59:46 +0000
Resent-Date: Sat, 04 Apr 2015 16:59:46 +0000
Resent-Message-Id: <E1YeRQA-0002Uu-2p@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <jim@manico.net>) id 1YeRQ6-0002U9-CL for ietf-http-wg@listhub.w3.org; Sat, 04 Apr 2015 16:59:42 +0000
Received: from mail-pa0-f52.google.com ([209.85.220.52]) by lisa.w3.org with esmtps (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.80) (envelope-from <jim@manico.net>) id 1YeRQ5-0007XT-1F for ietf-http-wg@w3.org; Sat, 04 Apr 2015 16:59:42 +0000
Received: by pactp5 with SMTP id tp5so149846789pac.1 for <ietf-http-wg@w3.org>; Sat, 04 Apr 2015 09:59:14 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=RNNHtMO1YyhQya9phsA60aRET9l4BMLxEVrnmYtZf2Y=; b=YKjddRORl6pYCf2PsABZVJY7WMVigv5xixEDlCVsNYvld8BYCX5qso1fwr5EJuPjfG ee1NvkXB5AWo5w/g7jfrKN9zzyMvbP08faUkkSn4lWnxc+t3Gn7qRlstVjyl0Hk5d6Lo h9FFq/XMtmBeulXi7BP2n8xxuHO7bY6C0WZ0TUWBlMfZww6HmBN/z7dpB7Z5YVYSX40I jDlRZSryDs8/CTU0qpbQ7xILVKTolWz44l44RGp0gtCY+Oeu3EU03+EQBFXR6jjnpkzt aErThUAIuOpqlMfzDvn3tmIO+eMzK7IkCRICmG2k2CZRfey15Zg+xqpva8v1zkKaBbpd r50A==
X-Gm-Message-State: ALoCoQkJUNhXCTTJ3NL4zUDd+TYeTvH5fB65Urwoxo3k55F6lIf43JsbMY5jzqRBeWJ6PuN+mbgc
X-Received: by 10.68.180.3 with SMTP id dk3mr13486519pbc.103.1428166754539; Sat, 04 Apr 2015 09:59:14 -0700 (PDT)
Received: from [10.112.234.3] ([166.170.43.24]) by mx.google.com with ESMTPSA id n3sm11526518pdm.90.2015.04.04.09.59.12 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 04 Apr 2015 09:59:13 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail-55046625-ED24-4FC0-8756-CDF6B2F54784"
Mime-Version: 1.0 (1.0)
From: Jim Manico <jim@manico.net>
X-Mailer: iPhone Mail (12D508)
In-Reply-To: <55201693.70609@mathemainzel.info>
Date: Sat, 04 Apr 2015 09:59:11 -0700
Cc: Max Bruce <max.bruce12@gmail.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Transfer-Encoding: 7bit
Message-Id: <920932BC-302C-41B4-A112-D3CB7461878C@manico.net>
References: <D141A3E5.4146E%evyncke@cisco.com> <20150401114608.GA7832@1wt.eu> <04DD393C-711F-4C9E-B21C-B184B8972DFC@apple.com> <20150401150716.GA7871@1wt.eu> <25C792A9-56D0-452D-A46C-561A44E4F229@manico.net> <20150401151634.GB7871@1wt.eu> <CABb0SYQ5=5BHSH-JQ5XsCi_bQ8h5FN=WNPvAYkzy94Bm=yTVwg@mail.gmail.com> <551E3D00.5090501@mathemainzel.info> <CABb0SYQAOXRWL5TvD5H5g_4VDwLxF=6kzhmVgCSK8Pv7pq8Apw@mail.gmail.com> <551FB3A5.503@mathemainzel.info> <CABb0SYRUvtTdZQGZkvNVTaA_yW79Q6Pd0Uh8exjE8zErzQNbsA@mail.gmail.com> <4B01B6DC-9EE3-4501-8CE1-CEBA3F19D9D3@manico.net> <55201693.70609@mathemainzel.info>
To: "Walter H." <Walter.H@mathemainzel.info>
Received-SPF: none client-ip=209.85.220.52; envelope-from=jim@manico.net; helo=mail-pa0-f52.google.com
X-W3C-Hub-Spam-Status: No, score=-3.7
X-W3C-Hub-Spam-Report: AWL=-1.050, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1YeRQ5-0007XT-1F 3ddd7214c34a97ba1bc847c8836d1c0d
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Linking a cookie to an IP address is a very bad in 2015...
Archived-At: <http://www.w3.org/mid/920932BC-302C-41B4-A112-D3CB7461878C@manico.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/29255
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

I was just on the Thayls training around Europe. Wireless on the train was not usable so I used my phone data plan instead and watched IP addresses change every 45 min or so. It may happen rarely, but it happens.

It all depends on your user base.

And again, if you pin a user to the user agent, it will change during browser update and kick that user out early.

edge-cases? For sure but they are real...
--
Jim Manico
@Manicode
(808) 652-3805

> On Apr 4, 2015, at 9:51 AM, Walter H. <Walter.H@mathemainzel.info> wrote:
> 
> user-agent: the change of user-agent should be noticeable after its restart;
> when it changes without a restart you have a serious security problem,
> e.g. some badware is setting "general.agent.override" in Firefox;
> 
> IP-address: with mobile devices you have to distinguish something;
> as long as your device only changes the location in small distances, so that it stays inside the same mobile network operator,
> the IP-address remains the same, because this is handled some layer below;
> 
> when the mobile network operator or just the ISP cuts the connection after a specified time, e.g. every 8 hours,
> then this would be the same as a reboot of a normal computer and there it is not a good idea to be
> able to go further inside the session, that was active before shutting down the computer ...
> (think of an electronic banking session, which is a little bit more sensitive than just 
> looking around anywhere e.g. youtube)
> 
> think of what can happen, so that you bring the "login-page" instead of going further in the session;
> I'd bring the login-page when one of the following changes:
> 
> source-ip:source-port
> user-agent
> 
> but not, when you notice a change of the following:
> 
> screen resolution
> client-time, except there is a defined timeout of e.g. 15 minutes
> 
> 
>> On 04.04.2015 18:12, Jim Manico wrote:
>> In the world of auto-updating browsers and therefor auto-updating user-agents, tying authentication to a user agent could have unintended negative consequences.
>> 
>> Tying authN to an IP address also has negative unintended consequences, like being on a mobile network while traveling, or being behind certain gateways - your IP address may change in short timespans. 
>> 
>> On Apr 4, 2015, at 3:18 AM, Max Bruce <max.bruce12@gmail.com> wrote:
>> 
>>> The session ID is a cookie, so in the headers. And yes, because it also checks that cookie, which is randomly generated. It just enforces a user-agent server-side. It DID enforce an IP, but I removed this for other reasons discussed earlier.
>>> 
>>> On Sat, Apr 4, 2015 at 2:49 AM, Walter H. <Walter.H@mathemainzel.info> wrote:
>>> let me ask it different:  where is the Session ID, is it part of a http-header, part of a html-header, a session-cookie, or is it part of the URL itself that is requested?
>>> 
>>> the second: two ident configured hosts behind NAT do not differ neither in the user agent nor in the IP address; they only differ in the source TCP-port ...
>>> 
>>>> On 03.04.2015 09:13, Max Bruce wrote:
>>>> When you say transmitting from host to server, what do you mean?
>>>> And yes, if I understand what your asking. It effectively compiled a random hash, and then enforced an IP & user agent. I have recently removed the IP enforecement though.
>>>> 
>>>> On Fri, Apr 3, 2015 at 12:10 AM, Walter H. <Walter.H@mathemainzel.info> wrote:
>>>>> On 01.04.2015 21:48, Max Bruce wrote:
>>>>> What about linking to several? I wrote a session system for my Web Server that will only allow access to the original Session ID if the IP &                                 User-Agent has remained unchanged, in order to protect against session hijacking. I've found it's highly effective, unless you IP Spoof.
>>>> what kind of mechanism do you use for transmitting the Session ID from host to server?
>>>> does it prevent access from an ident                             configured but different host behind a NAT?
>