Re: [Hipsec] clarification on HIT Suite IDs

Julien Laganier <julien.ietf@gmail.com> Tue, 23 September 2014 19:37 UTC

Return-Path: <julien.ietf@gmail.com>
X-Original-To: hipsec@ietfa.amsl.com
Delivered-To: hipsec@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 288CC1A1B4D for <hipsec@ietfa.amsl.com>; Tue, 23 Sep 2014 12:37:31 -0700 (PDT)
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 Wwl2amZ9N1kB for <hipsec@ietfa.amsl.com>; Tue, 23 Sep 2014 12:37:29 -0700 (PDT)
Received: from mail-la0-x233.google.com (mail-la0-x233.google.com [IPv6:2a00:1450:4010:c03::233]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EB5721A1AF4 for <hipsec@ietf.org>; Tue, 23 Sep 2014 12:37:28 -0700 (PDT)
Received: by mail-la0-f51.google.com with SMTP id gi9so9210302lab.38 for <hipsec@ietf.org>; Tue, 23 Sep 2014 12:37:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=qlYtWpv9teB224dXDT+//YMbkuA5sDAA7JB5qAoC26A=; b=aViPJ5Dr6kQB46ZXZkfU6GSlJF+428yLJqb/o+3lwKnfpaeI0C5OZGJ3eIhnqsVEQl P/1Nu47ZO2ZBE2905haQnFCBGR//9uo7X4XyNfmSYbmO0q/k1R+LCUGioCK51GrxvA/T bio72EcP903AqWogaEfR082QosY7+dx6X2i3c/g/sfPYjmlQa2QWfuBOxvCzO9ijcVLC uxZM0QfyaqGGJpijtychg1baQpsnb1cKQmlLH0MZnXVJkl6FgCq62RNqSBjtK+zvfHQL z0OmH+SFwmRfW6Q1QWrhwoqv0q7S+K7NgXSXkltYwaQHRxlcRHdj3ntfSIAw8dYcbaLm 1OsQ==
MIME-Version: 1.0
X-Received: by 10.112.204.197 with SMTP id la5mr1786278lbc.2.1411501047160; Tue, 23 Sep 2014 12:37:27 -0700 (PDT)
Received: by 10.25.210.4 with HTTP; Tue, 23 Sep 2014 12:37:27 -0700 (PDT)
In-Reply-To: <5421B06F.5010301@tomh.org>
References: <5420863E.1060608@tomh.org> <20140922212826.5048E216C3B@bikeshed.isc.org> <54210668.4050605@tomh.org> <CAE_dhju-kOzE1PzTj_+wLfYS4_8kJhWqrxJ16sMC3W6b+sanxQ@mail.gmail.com> <5421B06F.5010301@tomh.org>
Date: Tue, 23 Sep 2014 12:37:27 -0700
Message-ID: <CAE_dhjs3TSrME8UPFAw6y_wTye5YvLNAuQ8_KQ4m0sSokULDDg@mail.gmail.com>
From: Julien Laganier <julien.ietf@gmail.com>
To: Tom Henderson <tomh@tomh.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: http://mailarchive.ietf.org/arch/msg/hipsec/KUloW3xzT7QyQ9a7fq3N1FifQf8
Cc: HIP <hipsec@ietf.org>, Francis Dupont <fdupont@isc.org>
Subject: Re: [Hipsec] clarification on HIT Suite IDs
X-BeenThere: hipsec@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the official IETF Mailing List for the HIP Working Group." <hipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hipsec>, <mailto:hipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hipsec/>
List-Post: <mailto:hipsec@ietf.org>
List-Help: <mailto:hipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hipsec>, <mailto:hipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 Sep 2014 19:37:31 -0000

Hi Tom,

Please see inline.

On Tue, Sep 23, 2014 at 10:39 AM, Tom Henderson <tomh@tomh.org> wrote:
> Hi Julien,
>
> I agree generally with your recommendations but I have a modified proposal
> (below):
>
> On 09/23/2014 07:49 AM, Julien Laganier wrote:
>
> <snip>
>>
>>
>> The statement about using more bits of the ORCHID to encode a HIT
>> suite ID seems to be factually incorrect, or at least it isn't
>> supported by the ORCHIDv2 generation scheme as published in RFC 7343.
>>
>> Since this document (5201-bis) doesn't seem to be the right place to
>> specify (future) ORCHID generation (a revision of ORCHIDv2 would), I'd
>> like to suggest that plans for future enhancements be removed from the
>> paragraph, and to only keep text necessary to ensure future
>> enhancements are not prevented. For this, reserving the value zero
>> seems to be enough. (and Appendix E already has a discussion of OGA ID
>> reuse for the purpose of ID space exhaustion).
>>
>> Accordingly, the paragraph would read:
>>
>>       The ID field in the HIT_SUITE_LIST is defined as eight-bit field as
>>       opposed to the four-bit HIT Suite ID and OGA field in the ORCHID.
>>       This difference is a measure to accommodate larger HIT Suite IDs if
>>       the 16 available values prove insufficient.  Hence, the
>>       current four-bit HIT Suite-IDs only use the four higher order bits
>> in
>>       the ID field.  Future documents may define the use of the four
>> lower-
>>       order bits in the ID field.
>
>
> What I think is still lacking in the draft is a clear distinction between
> the OGA ID and the HIT Suite ID, and perhaps some clearer wording that the
> ID field in the HIT_SUITE_LIST is not yet another parameter needing a
> registry.
>
> HIT Suite IDs are a combination of hash function, HMAC, and signature
> algorithm(s).  Francis stated that they are an extension of (or derived
> from) the OGA ID.  The HIT_SUITE_LIST IDs are specific eight-bit encodings
> of the HIT Suite ID values.

I may be lacking the background behind tying the OGA ID to the HIT
suite ID, but IMHO it makes little sense to tie an identifier for a
combination of hash, HMAC, and signature (the HIT Suite ID), with that
of the identifier for a hash function (the OGA ID), especially when
the ID space for the latter is of such a small size.

It implies that if we wanted to create a new HIT suite that just
changes the signature algorithm, because the hash function in use is
still perfectly good, we in effect burn one OGA ID in the small
15-number space for no extra hash agility w.r.t ORCHID. To me it seems
like a bad thing to do.

Why can't the HIP specification  creates a HIP registry for its OGA
ID, and allocate value 1, 2, and 3 to the OGA SHA256, SHA384 and SHA1
on one hand, and on the other hand define a HIP registry for the HIT
suite, and allocate ID 1, 2 and 3 as follows:

        HIT Suite
        RESERVED                                            0
        RSA,DSA/SHA-256/OGAID1                  1
        ECDSA/SHA-384/OGAID2                      2
        ECDSA_LOW/SHA-1/OGAID3               3

This decouples the burn rate for the HIT suites from that of the OGA
ID (small) space, thus making it possible to define in the future HIT
suite 4 with ECDSA/SHA-512 but still OGAID1....

> Accordingly, would you agree to a modification to your proposal, as follows?
>
>      The ID field in the HIT_SUITE_LIST is an eight-bit field that
>      encodes a HIT Suite ID value in its higher-order four bits,
>      leaving the lower-order four bits reserved.  The encoding is
>      a measure to allow for possibly larger HIT Suite IDs in the
>      future, although such expansion is outside the scope of this
>      document.  The lower-order four bits of the ID field are set
>      to zero by the sender and ignored by the receiver.
>
>      The HIT Suite IDs are an expansion of the OGA IDs that denote
>      which hash function corresponds to a given HIT.  The OGA ID
>      encodes, in four bits, the value of the HIT Suite ID that
>      corresponds to the hash function (and other algorithms) in use.
>      A registry for the OGA ID is not separately established since
>      the values are aligned with those of the HIT Suite ID.
>
>      The four-bit OGA ID field only permits 15 HIT Suite IDs
>      (the HIT Suite ID with value 0 is reserved) to be used at
>      the same time.  If 15 Suite IDs prove to be insufficient,
>      future documents will specify how additional values can
>      be accommodated.

If a receiver ignores the low order four bits of the suite ID field,
if in the future we decide to use the remaining low order four bits,
won't they be required to be used with the reserved value zero for the
4 high order bits?

That would limit the HIP Suite ID to a total of 31 legitimate values
instead of the full 255 available. Shouldn't we rather have a receiver
treat the low order bits not set to zero as an error instead?

--julien