Re: [dane] draft-ietf-dane-openpgpkey-00 comments

Petr Spacek <pspacek@redhat.com> Tue, 22 April 2014 11:16 UTC

Return-Path: <pspacek@redhat.com>
X-Original-To: dane@ietfa.amsl.com
Delivered-To: dane@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B5CD31A0380 for <dane@ietfa.amsl.com>; Tue, 22 Apr 2014 04:16:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.174
X-Spam-Level:
X-Spam-Status: No, score=-7.174 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.272, SPF_HELO_PASS=-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 oKpkJai7R3Ia for <dane@ietfa.amsl.com>; Tue, 22 Apr 2014 04:15:56 -0700 (PDT)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by ietfa.amsl.com (Postfix) with ESMTP id EF9701A038E for <dane@ietf.org>; Tue, 22 Apr 2014 04:15:55 -0700 (PDT)
Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s3MBFomY006065 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <dane@ietf.org>; Tue, 22 Apr 2014 07:15:50 -0400
Received: from pspacek.brq.redhat.com (pspacek.brq.redhat.com [10.34.4.156]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s3MBFmHY025974 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for <dane@ietf.org>; Tue, 22 Apr 2014 07:15:49 -0400
Message-ID: <53564F63.2010008@redhat.com>
Date: Tue, 22 Apr 2014 13:15:47 +0200
From: Petr Spacek <pspacek@redhat.com>
Organization: Red Hat
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: dane@ietf.org
References: <20140410175623.1767.25701.idtracker@ietfa.amsl.com> <53562BA6.6010808@redhat.com>
In-Reply-To: <53562BA6.6010808@redhat.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27
Archived-At: http://mailarchive.ietf.org/arch/msg/dane/Ekowq1MjrScs0v4igzF4exESQ4o
Subject: Re: [dane] draft-ietf-dane-openpgpkey-00 comments
X-BeenThere: dane@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DNS-based Authentication of Named Entities <dane.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dane>, <mailto:dane-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dane/>
List-Post: <mailto:dane@ietf.org>
List-Help: <mailto:dane-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dane>, <mailto:dane-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 22 Apr 2014 11:16:00 -0000

On 22.4.2014 10:43, Petr Spacek wrote:
> Hello!
>
> I would like to comment on
>> http://tools.ietf.org/html/draft-ietf-dane-openpgpkey-00
>
>> 3. Location of the OpenPGPKEY record
>>
>>    Email addresses are mapped into DNS using the following method:
>>
>>    1.  The user name (the "left-hand side" of the email address, called
>>        the "local-part" in the mail message format definition [RFC2822]
>>        and the "local part" in the specification for internationalized
>>        email [RFC6530]), is hashed using the SHA2-224 [RFC5754]
>>        algorithm to become the left-most label in the prepared domain
>>        name.  This does not include the at symbol ("@") that separates
>>        the left and right sides of the email address.
>>
>>    2.  The DNS does not allow the use of all characters that are
>>        supported in "local-part" of email addresses as defined in
>>        [RFC2822] and [RFC6530] . The SHA2-224 hashing of the user name
>>        ensures that none of these characters would need to be placed
>>        directly in the DNS.
> 1) SHA-224 result representation:
> IMHO this section should state that SHA2-224 result has to be encoded to
> hexadecimal representation.
>
> I know that hexadecimal is a common representation for user interfaces but
> please keep in mind that SHA2-224 produces 224 bites of "noise" and
> hexadecimal representation is not the only possible.
>
>
> 2) Multiple OPENPGPKEY records for one owner name:
> I didn't see a note if OPENPGPKEY is supposed to be singleton or not (and how
> it should be processed if it isn't singleton). I'm sorry if I missed the note.
>
>
> 3) Algorithm agility:
> It is clear to me that SHA2-224 hashing is there "just" for privacy and
> nothing else. Still, I think it would be beneficial to have algorithm agility
> built-in.
>
> What about
> 8d[..]b7.sha224._openpgpkey.example.com.  IN OPENPGPKEY <base64 public key>
> ?
>
> Of course, the client need to know where to look for keys.
>
> I can see two approaches:
> - "Dumb" clients will try all supported algorithms starting with the strongest.
> - List of available algorithms can be published under _openpgpkey.example.com.
>
> Note that I'm perfectly fine with defining only SHA-224 for now. Basically
> this is the same situation as with SSHFP fingerprint types. They started with
> SHA-1 only but with the alg. agility built-in.
>
> Maybe we could have yet another IANA registry for this...
>
> A new registry would allow us to do fancy things in future.
>
> E.g. to define "salted-sha-224" algorithm and store salt under
> ssha224._openpgpkey.example.com. That still allows you to share _openphpkey
> sub-tree between domains...
>
> Or to define "clear" algorithm if deemed.
>
> Or to define a clever way how to cut hash into several labels if we need to do
> so ...

Hmm, I have even more controversial idea:

What about CERT RR?
http://tools.ietf.org/html/rfc4398#section-2.1 contains this (beside others):

2.1. Certificate Type Values

    The following values are defined or reserved:

          Value  Mnemonic  Certificate Type
          -----  --------  ----------------
              3  PGP       OpenPGP packet

I wasn't around when CERT was designed and I haven't seen it in wild, so 
please bear with me if I'm totally wrong :-)

http://tools.ietf.org/html/rfc4398#section-3.3
seems to define basically the same thing as draft-ietf-dane-openpgpkey-00 - 
except usage of hashing for owner name derivation.

What is the advantage of using OPENPGPKEY RR instead of CERT RR?

Can we use CERT and drop OPENPGPKEY RR definition from 
draft-ietf-dane-openpgpkey and define "Location of the OpenPGPKEY record"?

Also, RFC 4398 mentions OpenPGP revocation certificates. It sounds like an 
interesting idea... I can imagine using DNS for key revocation in the same way 
as for key distribution.

-- 
Petr^2 Spacek