[openpgp] Secure and interoperable secret key transfer

Vincent Breitmoser <look@my.amazin.horse> Mon, 06 June 2016 18:35 UTC

Return-Path: <look@my.amazin.horse>
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 92D7612D578 for <openpgp@ietfa.amsl.com>; Mon, 6 Jun 2016 11:35:19 -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 414h_FjCRsoa for <openpgp@ietfa.amsl.com>; Mon, 6 Jun 2016 11:35:17 -0700 (PDT)
Received: from mail.mugenguild.com (mugenguild.com [5.135.189.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E0B2612D548 for <openpgp@ietf.org>; Mon, 6 Jun 2016 11:35:16 -0700 (PDT)
Received: from localhost (dhcp176-121.wlan.rz.tu-bs.de [134.169.176.121]) by mail.mugenguild.com (Postfix) with ESMTPSA id 693BA5FAB3 for <openpgp@ietf.org>; Mon, 6 Jun 2016 20:35:14 +0200 (CEST)
Date: Mon, 06 Jun 2016 20:35:11 +0200
From: Vincent Breitmoser <look@my.amazin.horse>
To: IETF OpenPGP <openpgp@ietf.org>
Message-ID: <20160606183511.GA14829@littlepip.fritz.box>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="qMm9M+Fa2AknHoGS"
Content-Disposition: inline
User-Agent: Mutt/1.5.23 (2014-03-12)
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/pakfECuyQ-gad6VD7KwalMEDRzs>
Subject: [openpgp] Secure and interoperable secret key transfer
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: Mon, 06 Jun 2016 18:35:20 -0000

Hi,

there should be a standardized format to transfer secret keys in a way
which provides confidentiality and integrity protection. At the moment,
most tools leave the user completely on their own to perform this not
too common but centrally important operation.

While symmetric file encryption is a technically usable mechanism, the
de facto state of the art is that no implementation enforces (or even
encourages) its use for secret key transfer, or provides support for
decryption on the import side. Which very likely means that many users
move their keys around unprotected.

The passphrase is not a suitable mechanism for this: It provides only
partial confidentiality, no integrity protection, and most importantly
its use for this purpose confuses users about what the actual purpose of
the passphrase is - and how strong it should be for each use case.

The tl;dr of this post is that I would really like to get rid of these
two FAQ points of ours:
https://www.openkeychain.org/faq/#how-to-import-an-openkeychain-backup-with-gpg
https://www.openkeychain.org/faq/#what-is-the-best-way-to-transfer-my-own-key-to-openkeychain

All this said, I'm not entirely sure what the best way to do this could
be.  Since symmetrically encrypted data packets exist, it's quite
possible that just a paragraph encouraging its use for this purpose
somewhere near the transferable secret key section would suffice.

 - V