Re: [Hipsec] Comments on hiccups draft
Jan Melen <Jan.Melen@nomadiclab.com> Wed, 29 July 2009 09:21 UTC
Return-Path: <Jan.Melen@nomadiclab.com>
X-Original-To: hipsec@core3.amsl.com
Delivered-To: hipsec@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BBD153A6EE1 for <hipsec@core3.amsl.com>; Wed, 29 Jul 2009 02:21:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R6JYBSahaDDq for <hipsec@core3.amsl.com>; Wed, 29 Jul 2009 02:21:54 -0700 (PDT)
Received: from n2.nomadiclab.com (n2.nomadiclab.com [IPv6:2001:14b8:400:101::2]) by core3.amsl.com (Postfix) with ESMTP id 346E13A6EDE for <hipsec@ietf.org>; Wed, 29 Jul 2009 02:21:54 -0700 (PDT)
Received: from n2.nomadiclab.com (localhost [127.0.0.1]) by n2.nomadiclab.com (Postfix) with ESMTP id 406C81EF2A2; Wed, 29 Jul 2009 12:21:55 +0300 (EEST)
Received: from despair.unknown.com (inside.nomadiclab.com [193.234.219.2]) by n2.nomadiclab.com (Postfix) with ESMTP id 2EA8E1EF28E; Wed, 29 Jul 2009 12:21:53 +0300 (EEST)
Message-ID: <4A7014AD.5080700@nomadiclab.com>
Date: Wed, 29 Jul 2009 12:21:49 +0300
From: Jan Melen <Jan.Melen@nomadiclab.com>
User-Agent: Thunderbird 2.0.0.7pre (X11/20090418)
MIME-Version: 1.0
To: Tobias Heer <heer@cs.rwth-aachen.de>
References: <6512FD53-0253-4B49-BC0D-41022DBB9644@cs.rwth-aachen.de> <4A6F0B98.5000006@nomadiclab.com> <DBE7A7ED-1979-4BB3-B349-40773E9780A1@cs.rwth-aachen.de> <4A6F14F5.50905@nomadiclab.com> <A8BDA005-4E25-4C23-A22A-361EAB1271AE@cs.rwth-aachen.de> <4A700DC9.7000500@nomadiclab.com>
In-Reply-To: <4A700DC9.7000500@nomadiclab.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: ClamAV using ClamSMTP
Cc: hip WG <hipsec@ietf.org>
Subject: Re: [Hipsec] Comments on hiccups draft
X-BeenThere: hipsec@ietf.org
X-Mailman-Version: 2.1.9
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/listinfo/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: Wed, 29 Jul 2009 09:21:55 -0000
Hi Tobias, Jan Melen wrote: > Tobias Heer wrote: >> >> Am 28.07.2009 um 17:10 schrieb Jan Melen: >> >>> Hi Tobias, >>> >>> Tobias Heer wrote: >>>> Am 28.07.2009 um 16:30 schrieb Jan Melen: >>>> >>>>>> Section 3: Existence of the HMAC in the packet: >>>>>> The hiccups draft states that "[the payload is] protected by a >>>>>> PAYLOAD_HMAC parameter". To me it is unclear how such protection >>>>>> can possibly work. Since there is no previous handshake there are >>>>>> no keys for use in the HMAC. Jan explained that the HMAC is >>>>>> merely used as a way to create a digest over the packet for >>>>>> making the signature more efficient. However, if it is only used >>>>>> for creating the digest, I wonder why it is actually transmitted >>>>>> in the packet because without a secret included in the packet, >>>>>> the digest can easily be calculated and transmitting the digest >>>>>> in a packet seems to be a unnecessary waste of space. Am I >>>>>> missing something here? It would be nice if the draft was more >>>>>> precise about the nature and the use of the HMAC. >>>>>> >>>>> >>>>> if you do send it as the receiving end doesn't have to generate >>>>> the actual parameter that was used to create MAC code in order to >>>>> verify the signature. >>>> >>>> You must recalculate the digest anyway. Otherwise the receiver will >>>> only check that the signature covers the HMAC but the receiver will >>>> not check that the packet contents match the HMAC. In that sense >>>> only the HMAC but not the packet contents would be >>>> integrity-protected. Since you have to generate the digest over the >>>> whole packet anew anyway I do not see the advantage of sending it >>>> in the packet. >>> >>> Yes you have to calculate it in either case I'm not referring to >>> that. I'm just saying that the implementation will be more error >>> prone if the host has to calculate the digest and then create the >>> parameter. And we send the parameter in the packet the receiver can >>> already after calculating the digest drop packets which have been >>> modified on the transmit without calculating the signature (the >>> non-malicious errors that happen on transmit). >> >> Now everything becomes a bit clearer. Since you do not expect to have >> a UDP header (with checksum) in all cases you use the HMAC as >> checksum? That works... Although a 20-byte checksum from a >> cryptographic hash function is rather large and expensive (compared >> to the usual transport-layer checksums TCP/UDP: 2 byte). Maybe this >> (non-standard?) use of the HMAC could be stated in the draft to avoid >> confusion. > > The upper-layer protocol might have it's own checksum but I do not > want to make a dependency to HIP protocol that a HIP implementation > should be able to identify all transport protocols thus it is easier > to define that HIP_DATA has some checksum calculation that is less > expensive than public key signature but still provides something for > the end goal. After all the if the packet would be IP (HIP(HIP_DATA, > HIP_SIGNATURE) UDP ()), the processing in the stack would go in the > following order: > 1. IP stack processes the IP header > 2. HIP processes the HIP header, HIP_DATA and HIP_SIGNATURE > 3. Transport layer UDP processes the UDP header > 4. Application > > If we wouldn't make this check on step 2 we might do the signature > calculation just to notice that the packet has been accidentally > modified in transit. > > But anyway I will add something to the draft. > http://users.piuha.net/jmelen/HICCUPS/draft-nikander-hip-hiccups-04-pre1.txt I've now made yet another edit on the draft regarding the comment you gave. Take now a look at section 3 paragraph 4. Jan
- [Hipsec] Comments on hiccups draft Tobias Heer
- Re: [Hipsec] Comments on hiccups draft Jan Melen
- Re: [Hipsec] Comments on hiccups draft Tobias Heer
- Re: [Hipsec] Comments on hiccups draft Jan Melen
- Re: [Hipsec] Comments on hiccups draft Tobias Heer
- Re: [Hipsec] Comments on hiccups draft Jan Melen
- Re: [Hipsec] Comments on hiccups draft Jan Melen
- Re: [Hipsec] Comments on hiccups draft Tobias Heer