Re: [Medup] Protocol for peer-to-peer synchronization of secret key material (new draft)

Volker Birk <vb@pep-project.org> Mon, 09 September 2019 18:18 UTC

Return-Path: <vb@pep-project.org>
X-Original-To: medup@ietfa.amsl.com
Delivered-To: medup@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8D7E512087A for <medup@ietfa.amsl.com>; Mon, 9 Sep 2019 11:18:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.597
X-Spam-Level:
X-Spam-Status: No, score=-2.597 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] 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 vNzIclF5Swc7 for <medup@ietfa.amsl.com>; Mon, 9 Sep 2019 11:18:03 -0700 (PDT)
Received: from dragon.pibit.ch (dragon.pibit.ch [94.231.81.244]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4E7A1120879 for <medup@ietf.org>; Mon, 9 Sep 2019 11:18:03 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by dragon.pibit.ch (Postfix) with ESMTP id E9856171C291 for <medup@ietf.org>; Mon, 9 Sep 2019 20:18:00 +0200 (CEST)
Received: from dragon.pibit.ch ([127.0.0.1]) by localhost (dragon.pibit.ch [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nkVqZhD2beKD for <medup@ietf.org>; Mon, 9 Sep 2019 20:18:00 +0200 (CEST)
Received: from localhost (85-195-255-7.fiber7.init7.net [85.195.255.7]) by dragon.pibit.ch (Postfix) with ESMTPSA id AA999171C066 for <medup@ietf.org>; Mon, 9 Sep 2019 20:18:00 +0200 (CEST)
Date: Mon, 09 Sep 2019 20:18:00 +0200
From: Volker Birk <vb@pep-project.org>
To: medup@ietf.org
Message-ID: <20190909181800.22nfcdzxsggyts5j@pep-project.org>
References: <6d0c921f4ac65d4ec7608e000e8371b34317f1cb.camel@qub.ac.uk>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="2xeqzpb4elok4r5a"
Content-Disposition: inline
In-Reply-To: <6d0c921f4ac65d4ec7608e000e8371b34317f1cb.camel@qub.ac.uk>
X-PGP-Key: https://fdik.org/vb.key
Archived-At: <https://mailarchive.ietf.org/arch/msg/medup/61O9j1EwnC_t_dQ5qchECLotAMM>
Subject: Re: [Medup] Protocol for peer-to-peer synchronization of secret key material (new draft)
X-BeenThere: medup@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Missing Elements for Decentralized and Usable Privacy <medup.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/medup>, <mailto:medup-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/medup/>
List-Post: <mailto:medup@ietf.org>
List-Help: <mailto:medup-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/medup>, <mailto:medup-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Sep 2019 18:18:06 -0000

On Mon, Sep 09, 2019 at 06:01:08PM +0000, Peter Maynard wrote:
> I'm looking to make use of this Key Sync Protocol. You say that it has
> been demonstrated at the latest meeting, yet, I'm unable to find an
> implementation. I've checked out https://pep.foundation/dev. But
> Iassume its located within one of these projects. 

It's implemented in Sync branch of p≡p engine, see

https://pep.foundation/dev/repos/pEpEngine/

This branch will be the next stable. The adapters have a sync branch,
too, where the API is supported. And the actual coming releases of the
apps of p≡p security are all based on this.

> Would you be able to point me towards a standalone library or the files
> within another project to get an idea of how one might implement this
> protocol?

This is the protocol:

https://pep.foundation/dev/repos/pEpEngine/file/09f80c60c1c9/sync/sync.fsm

The files implementing it are all in directory sync/

We're generating an implementation using the generators in this
directory. They're named *.ysl2 – they're written in YML2
https://fdik.org/yml/ There is ASN.1 Compiler, v0.9.28 needed to build
all: http://lionet.info/asn1c/compiler.html

The actual MIME handling of p≡p engine is based on this fork of
libetpan: https://github.com/fdik/libetpan/ There's an option to replace
this with the new p≡p MIME https://pep.foundation/dev/repos/pEpMIME/

We're building it using release 0.9.0 of Sequoia PGP
https://gitlab.com/sequoia-pgp/sequoia

So if you're building the p≡p engine in sync branch you'll see an
implementation of it. It's in the files with sync and Sync in their
names (the files with the small s are API, the ones with the large S are
generated).

If you want to see the generated implementation without acutally build
the library I did upload them: https://fdik.org/sync_generated.tar.bz2

Yours,
VB.
-- 
Volker Birk, p≡p project
mailto:vb@pep-project.org
https://pep.software