[openpgp] Fingerprint requirements for OpenPGP
Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 12 April 2016 00:40 UTC
Return-Path: <dkg@fifthhorseman.net>
X-Original-To: openpgp@ietfa.amsl.com
Delivered-To: openpgp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5820112D7AA for <openpgp@ietfa.amsl.com>; Mon, 11 Apr 2016 17:40:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
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 489OASAApVs5 for <openpgp@ietfa.amsl.com>; Mon, 11 Apr 2016 17:40:24 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [162.247.75.118]) by ietfa.amsl.com (Postfix) with ESMTP id 4D0AC12D757 for <openpgp@ietf.org>; Mon, 11 Apr 2016 17:40:24 -0700 (PDT)
Received: from fifthhorseman.net (unknown [38.109.115.130]) by che.mayfirst.org (Postfix) with ESMTPSA id 87539F991 for <openpgp@ietf.org>; Mon, 11 Apr 2016 20:40:22 -0400 (EDT)
Received: by fifthhorseman.net (Postfix, from userid 1000) id 37E7C20143; Mon, 11 Apr 2016 20:40:22 -0400 (EDT)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: IETF OpenPGP <openpgp@ietf.org>
User-Agent: Notmuch/0.21+124~gbf604e9 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-pc-linux-gnu)
Date: Mon, 11 Apr 2016 20:40:22 -0400
Message-ID: <87vb3nslqh.fsf@alice.fifthhorseman.net>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <http://mailarchive.ietf.org/arch/msg/openpgp/JL3D9Pbms6Y7BdzVU-UxYdxZBw8>
Subject: [openpgp] Fingerprint requirements for OpenPGP
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/openpgp>, <mailto:openpgp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/openpgp/>
List-Post: <mailto:openpgp@ietf.org>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/openpgp>, <mailto:openpgp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Apr 2016 00:40:26 -0000
Hi all-- I was hoping to see someone write up the specific use cases for the OpenPGP fingerprint, but i haven't seen it yet, so i'm trying to do that here. I tend to agree with the discussion elsewhere in this thread that "internal database ID" is *not* the defining use case for the fingerprint, so i'm not including it here. I think there are only two use cases: a) looking up a particular OpenPGP key in some remote database like a public keyserver b) confirming that a particular key matches some out-of-band communication These are things that might happen by fingerprint transfer via any of: * business cards (pre-planned, printed) * scraps of paper (impromptu, hand-written) * over the telephone or other voice channels * copy and paste from a non-OpenPGP-specific message (chat, e-mail, etc) Note that a human is always in the loop in these transfers. If no human is in the loop, we do not need the fingerprint, and can (and probably should) use some other technique. As such, i think we have these human-specific constraints: * the fingerprint should be identifiable as a fingerprint, including where it starts and where it stops. * it should avoid ambiguity -- readers shouldn't have to puzzle over whether a character is an "o" or an "O" or a "0", for example, and writers shouldn't have to worry about it either. * there should be one (and exactly one) fingerprint per key; otherwise comparisons become impossible. * it should be as close as possible to the human attention span -- this is Vincent's point, i think. Humans really can't reliably deal with 512 bits of entropy when doing any kind of data entry or comparison. * data entry should be easy to do with standard tools And we have these machine-specific constraints: * it should be cheap to compute from a given key -- you shouldn't need a gig of RAM or a minute of CPU to calculate the fingerprints of any key. * it should be strong enough that we do not believe anyone can create a key with a fingerprint that collides with another key's fingerprint And these spec constraints: * it should be easy for implementers to understand and generate Is this problem framed correctly? If not, what's missing? If so, can someone try to apply it to one of the fingerprint proposals and see what the takeaway is? --dkg
- [openpgp] Fingerprint requirements for OpenPGP Daniel Kahn Gillmor
- Re: [openpgp] Fingerprint requirements for OpenPGP Vincent Breitmoser
- Re: [openpgp] Fingerprint requirements for OpenPGP Joseph Lorenzo Hall
- Re: [openpgp] Fingerprint requirements for OpenPGP Vincent Breitmoser
- Re: [openpgp] Fingerprint requirements for OpenPGP Daniel Kahn Gillmor
- Re: [openpgp] Fingerprint requirements for OpenPGP Derek Atkins
- Re: [openpgp] Fingerprint requirements for OpenPGP Daniel Kahn Gillmor
- Re: [openpgp] Fingerprint requirements for OpenPGP Derek Atkins
- Re: [openpgp] Fingerprint requirements for OpenPGP Daniel Kahn Gillmor
- Re: [openpgp] Fingerprint requirements for OpenPGP Salz, Rich
- Re: [openpgp] Fingerprint requirements for OpenPGP Daniel Kahn Gillmor
- Re: [openpgp] Fingerprint requirements for OpenPGP Werner Koch
- Re: [openpgp] Fingerprint requirements for OpenPGP Werner Koch
- Re: [openpgp] Fingerprint requirements for OpenPGP KellerFuchs
- Re: [openpgp] Fingerprint requirements for OpenPGP Derek Atkins
- Re: [openpgp] Fingerprint requirements for OpenPGP Jon Callas
- [openpgp] proof-of-work fingerprints [was: Re: Fi… Daniel Kahn Gillmor
- Re: [openpgp] Fingerprint requirements for OpenPGP Daniel Kahn Gillmor
- Re: [openpgp] Fingerprint requirements for OpenPGP Werner Koch
- Re: [openpgp] Fingerprint requirements for OpenPGP Bill Frantz
- Re: [openpgp] Fingerprint requirements for OpenPGP Werner Koch
- Re: [openpgp] Fingerprint requirements for OpenPGP Derek Atkins
- Re: [openpgp] Fingerprint requirements for OpenPGP Derek Atkins
- Re: [openpgp] Fingerprint requirements for OpenPGP Derek Atkins
- Re: [openpgp] Fingerprint requirements for OpenPGP Derek Atkins
- Re: [openpgp] Fingerprint requirements for OpenPGP Joseph Lorenzo Hall
- Re: [openpgp] Fingerprint requirements for OpenPGP Werner Koch
- Re: [openpgp] Fingerprint requirements for OpenPGP Werner Koch
- Re: [openpgp] Fingerprint requirements for OpenPGP Vincent Breitmoser
- Re: [openpgp] Fingerprint requirements for OpenPGP Joseph Lorenzo Hall
- Re: [openpgp] Fingerprint requirements for OpenPGP Derek Atkins
- Re: [openpgp] Fingerprint requirements for OpenPGP Derek Atkins
- Re: [openpgp] Fingerprint requirements for OpenPGP Joseph Lorenzo Hall
- Re: [openpgp] Fingerprint requirements for OpenPGP Phillip Hallam-Baker
- Re: [openpgp] proof-of-work fingerprints [was: Re… Phillip Hallam-Baker
- Re: [openpgp] proof-of-work fingerprints [was: Re… Phillip Hallam-Baker