Re: [openpgp] The combinatorial complexity of OpenPGPv4

Phillip Hallam-Baker <hallam@gmail.com> Mon, 23 March 2015 20:23 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: openpgp@ietfa.amsl.com
Delivered-To: openpgp@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F41D21A03D5 for <openpgp@ietfa.amsl.com>; Mon, 23 Mar 2015 13:23:30 -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 L9XwqxmxKz2a for <openpgp@ietfa.amsl.com>; Mon, 23 Mar 2015 13:23:29 -0700 (PDT)
Received: from mail-wi0-x229.google.com (mail-wi0-x229.google.com [IPv6:2a00:1450:400c:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38AA91A0404 for <openpgp@ietf.org>; Mon, 23 Mar 2015 13:23:28 -0700 (PDT)
Received: by wibg7 with SMTP id g7so57478962wib.1 for <openpgp@ietf.org>; Mon, 23 Mar 2015 13:23:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=iJCg5FK/vB1zKGRcqibkDGrvDAkDY3BOUhrvzO7x2b4=; b=Ko3uEhnS7kZ9HFX19+I5AmI8JRYDYpfCUOTzNVdCr7E6AcnZgUat/nZFfu1jD6fYh/ 6CPB0nO9DQgYQikniVT7Qsp0xeNXQw5otqxL8aF3XfZXbvBnvjLdoj4UBQMYGlx3e+6k 4sl8kcG3k6lxm/Vsm1PpZKNrRqJwD5EpIWTUeIBHxv7N81g8jEQi7XYYlJqsE6z3DNZG IQzDqOT8KR9a0ns70QtH+fZoz3xYDELrCAShGJ3HMxSYHif3FpsN6GC7tEIRH6tIty7t Q2DGo6rHavFPwZlNLVzSe4mDIhfcCuQROvy8y/Zd0z2qcDCxoBwVOKaFY5Io39luCmJm rCiA==
X-Received: by 10.180.97.106 with SMTP id dz10mr22124185wib.33.1427142206948; Mon, 23 Mar 2015 13:23:26 -0700 (PDT)
Received: from ?IPv6:2001:67c:370:176:d5f1:a1be:7417:dccd? ([2001:67c:370:176:d5f1:a1be:7417:dccd]) by mx.google.com with ESMTPSA id ge8sm2929736wjc.32.2015.03.23.13.23.25 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 23 Mar 2015 13:23:26 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (1.0)
From: Phillip Hallam-Baker <hallam@gmail.com>
X-Mailer: iPad Mail (12B440)
In-Reply-To: <9A043F3CF02CD34C8E74AC1594475C73AAFB37EF@uxcn10-5.UoA.auckland.ac.nz>
Date: Mon, 23 Mar 2015 15:23:28 -0500
Content-Transfer-Encoding: quoted-printable
Message-Id: <986B81E6-73A0-4DDA-9AB2-EF6DC3D96FC4@gmail.com>
References: <9A043F3CF02CD34C8E74AC1594475C73AAFB37EF@uxcn10-5.UoA.auckland.ac.nz>
To: Peter Gutmann <pgut001@cs.auckland.ac.nz>
Archived-At: <http://mailarchive.ietf.org/arch/msg/openpgp/6ywpdShUU6W3oeNu_Y5YxsldxrM>
Cc: "openpgp@ietf.org" <openpgp@ietf.org>
Subject: Re: [openpgp] The combinatorial complexity of OpenPGPv4
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Mon, 23 Mar 2015 20:23:31 -0000

So as with Smime, the message packaging bit is easy to implement, it is the key management bit that is hard.

Sent from my iPad

> On Mar 16, 2015, at 8:50 PM, Peter Gutmann <pgut001@cs.auckland.ac.nz> wrote:
> 
> Derek Atkins <warlord@MIT.EDU> writes:
> 
>> Having implemented it myself, I disagree completely.  It is absolutely
>> possible to create a modular implementation.  See my Usenix Security Talk on
>> the PGP Message Processing Pipeline from.... 1996??
> 
> PGP message processing isn't hard (apart from the *&*^#&*# partial-lengths
> kludge), I've done the same, I have retargetable code that does either S/MIME
> or PGP depending on which encoding/decoding functions you point to.
> 
> The killer with PGP is keyrings, which are impossible to process in any kind
> of nontrivial API (in other words a library) because there's no concept of
> "single blob containing a key + name" as there is for X.509 certs.  Instead,
> you have a mass of packets concatenated together, deeply bound in a spaghetti
> of implicit cross-references (some of the following packets apply to a
> previous packet, and some are signatures that tie other bits together, and
> then there's trust packets that change the semantics or earlier packets, and
> so on).
> 
> It's pretty much impossible to create any clean API to handle this, you need
> an interactive app that keeps going back to the user and asking "I've just
> found some X here, what shall I do now?".  Similarly, storing these things in
> something like a key/value store for fast lookup is nearly impossible because
> you end up having a more or less open-ended number of index fields and cross-
> references that need to be maintained.
> 
> If anyone wants to challenge that, please provide in your reply an outline of:
> 
> - An "add a key API" that takes a newly-received PGP key and adds it to a
>  keyring, along with a clear description of its semantics.
> 
> - A schema for storing PGP keys in a key/value store.
> 
> (This is to pre-empt a flamefest.  If you think it's possible, prove it :-).
> 
> Peter.
> _______________________________________________
> openpgp mailing list
> openpgp@ietf.org
> https://www.ietf.org/mailman/listinfo/openpgp