Re: [Softwires] The port mapping issue

Dan Wing <dwing@cisco.com> Tue, 02 April 2013 01:32 UTC

Return-Path: <dwing@cisco.com>
X-Original-To: softwires@ietfa.amsl.com
Delivered-To: softwires@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3262021E80E4 for <softwires@ietfa.amsl.com>; Mon, 1 Apr 2013 18:32:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.599
X-Spam-Level:
X-Spam-Status: No, score=-110.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
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 WTgFZATaLRqm for <softwires@ietfa.amsl.com>; Mon, 1 Apr 2013 18:32:40 -0700 (PDT)
Received: from mtv-iport-2.cisco.com (mtv-iport-2.cisco.com [173.36.130.13]) by ietfa.amsl.com (Postfix) with ESMTP id DEB7821E80B0 for <softwires@ietf.org>; Mon, 1 Apr 2013 18:32:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3896; q=dns/txt; s=iport; t=1364866360; x=1366075960; h=mime-version:subject:from:in-reply-to:date:cc: content-transfer-encoding:message-id:references:to; bh=CBP2WUx+FhkL65JYPo2QNYVKCxVj0aC6eHX3yotGaYo=; b=GB4fo0nESePBWOJtdc9zw72gaWDMfnj1xlPpH3+YJ49N0R5/4K6lH02z 2ArCj1clPP+h0m13d9188+h1GneB2ymnR6h+4spx3h1I2zngLNeyY98S5 JDaBn6Kb++p83qZpMe/QsH9OxekQVEj5vfF7JNgK1WSxFAOJBKLSkx2Kh A=;
X-IronPort-AV: E=Sophos;i="4.87,390,1363132800"; d="scan'208";a="77328013"
Received: from mtv-core-2.cisco.com ([171.68.58.7]) by mtv-iport-2.cisco.com with ESMTP; 02 Apr 2013 01:32:39 +0000
Received: from sjc-vpn7-1852.cisco.com (sjc-vpn7-1852.cisco.com [10.21.151.60]) by mtv-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id r321Wc0x018596; Tue, 2 Apr 2013 01:32:38 GMT
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
From: Dan Wing <dwing@cisco.com>
In-Reply-To: <6FDAD685-BFCA-47ED-8479-0AB6B31B9FED@employees.org>
Date: Mon, 01 Apr 2013 18:32:39 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <8B249B35-19AD-470A-9BD8-5825659935A6@cisco.com>
References: <51512618.8070704@ericsson.com> <51531757.8000707@gmail.com> <5D7E58A0-C125-49BB-8609-5F650E2DCB01@cisco.com> <8B19A21F-21F0-4A97-87E4-22D3E183AE77@cisco.com> <FB82A3E5-45A1-4E85-8FD5-9C300C6AC5AB@cisco.com> <6FDAD685-BFCA-47ED-8479-0AB6B31B9FED@employees.org>
To: Ole Troan <otroan@employees.org>
X-Mailer: Apple Mail (2.1503)
Cc: "softwires@ietf.org" <softwires@ietf.org>, "Ole Troan (otroan)" <otroan@cisco.com>
Subject: Re: [Softwires] The port mapping issue
X-BeenThere: softwires@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: softwires wg discussion list <softwires.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/softwires>, <mailto:softwires-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/softwires>
List-Post: <mailto:softwires@ietf.org>
List-Help: <mailto:softwires-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/softwires>, <mailto:softwires-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 Apr 2013 01:32:41 -0000

On Apr 1, 2013, at 6:18 PM, Ole Troan <otroan@employees.org> wrote:

> Dan,
> 
>>> 
>>>>> The meeting minutes record a disagreement over what port mapping algorithm to use. This affects both MAP-E and LW 4over6. As I understand it:
>>>>> 
>>>>> - either of these two technologies will work with either contiguous ports or ports scattered according to the GMA algorithm
>>>>> 
>>>>> - the real objection to GMA comes from Alain Durand, who wants to set up simple min-port, max-port filters on his network equipment.
>>>>> 
>>>>> 
>>>>> We all agree that port scattering offers negligible security advantage.
>>>> 
>>>> Port scattering, using GMA, provides tiny security advantage.  An attacker can determine the Generalized Modulus Algorithm, by causing a victim to open a bunch of TCP connections.  One way an attacker can cause a bunch of TCP connections to be opened is by sending an email with a bunch of <img src> tags to servers where the attacker can observe the TCP source ports for the connections.  Another way is to do the same with a web page.  GMA is a good amount of engineering and confusion for little gain, but the *appearance* of a gain because to a person the port numbers will appear random.  On other words, a false sense of security.  Port numbers are being used in courts of law and explaining GMA to the lay person will be complex.  I believe it is an unnecessary complexity.
>>> 
>>> Can you please read the latest draft?
>>> What exactly is complex and confusing?
>> 
>> Non-contiguous ports are more confusing than contiguous ports, especially to people that don't understand binary math.  IP stacks used to allow non-contiguous 1's in subnet masks which were cute, but caused confusion with the humans.  (and some stacks couldn't cope well, but that is another topic.)  I worry about the humans being confused with the binary math.
>> 
>> 
>>> GMA aka "port prefix" was not designed for scattering ports, that's a side effect. The requirement leading to that effect is, independence of end user ipv6 prefix. I.e avoid having to reserve a specific ipv6 prefix from assignment.
>> 
>> I agree the requirement is something we need.
>> 
>> Appendix B of draft-ietf-softwire-map-05.txt (March 18, I presume 'the latest') mentions the port scattering as an extreme case, which the algorithm supports.  Can we remove that support?
> 
> Arguing over perceived complexity is always going to be subjective. 
> 
> The main text (section 5) was rewritten to give a simpler and hopefully more understandable explanation than appendix B. 
> 
> To reiterate the reasoning:
> 
> Requirements:
> 1. Exclude the system ports
> 2. No dependency on end user ipv6 prefix. 
> 3. Fair distribution of ports among the sharers of the ipv4 address
> 
> The simplest port range representation I can think of is a 'port prefix', which is just like an address prefix. E.g you get a /8 of ports. (256). That representation does not exclude the system ports though. Remi's insight was that if you made it a 'port infix' (right shifted by 6) and require the msb bits to be larger than 0 you achieve all of the requirements above. Why 6? Because 2^(16-6) = 1024. So all sharees of that range excludes any port below 1024 and the ports they 'loose' from the range equal 1024/sharing ratio.
> 
> The side effect of the infix is scattered port ranges. 
> 
> I believe the answer to your question is no. (But I cannot prove that there aren't other representations that do not fulfill the requirements and only do contiguous ports.) 

Thanks for the explanation.  I can live with that.  Explaining the binary math to network operators and to law enforcement will be a challenge.

Carry on,
-d