Re: [xmpp] New(ish) draft: Secure Messaging in XMPP

Simon Josefsson <simon@josefsson.org> Wed, 04 November 2015 14:39 UTC

Return-Path: <simon@josefsson.org>
X-Original-To: xmpp@ietfa.amsl.com
Delivered-To: xmpp@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C583F1B30B9 for <xmpp@ietfa.amsl.com>; Wed, 4 Nov 2015 06:39:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.551
X-Spam-Level:
X-Spam-Status: No, score=-1.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, SPF_PASS=-0.001] autolearn=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 K31FOPrC8A7a for <xmpp@ietfa.amsl.com>; Wed, 4 Nov 2015 06:39:16 -0800 (PST)
Received: from duva.sjd.se (duva.sjd.se [IPv6:2001:9b0:1:1702::100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 43F511B30B7 for <xmpp@ietf.org>; Wed, 4 Nov 2015 06:39:16 -0800 (PST)
Received: from latte.josefsson.org ([155.4.17.2]) (authenticated bits=0) by duva.sjd.se (8.14.4/8.14.4/Debian-4) with ESMTP id tA4EdBVR011126 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 4 Nov 2015 15:39:12 +0100
From: Simon Josefsson <simon@josefsson.org>
To: Martin Thomson <martin.thomson@gmail.com>
References: <562AA40E.40407@nostrum.com> <562E5F53.9060104@geekplace.eu> <CABkgnnXHLAdMwA9V_7U-5Yh=8rYtvZw-KatcJc3gVQwzzuFK0w@mail.gmail.com> <5630C2C7.6030907@geekplace.eu> <CABkgnnWb3Hyjh1RX3L_6eE-+zo-Q99dCjPxN5L08RDg9PUNYNg@mail.gmail.com> <CABkgnnUPWA0fr95PeqCoEpVHXzzvJNBXXCN++tGF9V+06_Nyww@mail.gmail.com>
OpenPGP: id=54265E8C; url=http://josefsson.org/54265e8c.txt
X-Hashcash: 1:22:151104:flo@geekplace.eu::P5a3m1DrvfxjXWxR:4Mcf
X-Hashcash: 1:22:151104:xmpp@ietf.org::DDL4lgZIUtMDGUag:mjEf
X-Hashcash: 1:22:151104:martin.thomson@gmail.com::JWxCzM7EG2dJSP8C:fWD2
Date: Wed, 04 Nov 2015 15:39:10 +0100
In-Reply-To: <CABkgnnUPWA0fr95PeqCoEpVHXzzvJNBXXCN++tGF9V+06_Nyww@mail.gmail.com> (Martin Thomson's message of "Thu, 29 Oct 2015 16:08:30 +0900")
Message-ID: <878u6dn81d.fsf@latte.josefsson.org>
User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/24.4 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
X-Virus-Scanned: clamav-milter 0.98.7 at duva.sjd.se
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/xmpp/DWAW6dEG5qHtTq-2g9BxaN4aeUA>
Cc: XMPP Group <xmpp@ietf.org>
Subject: Re: [xmpp] New(ish) draft: Secure Messaging in XMPP
X-BeenThere: xmpp@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: XMPP Working Group <xmpp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xmpp>, <mailto:xmpp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xmpp/>
List-Post: <mailto:xmpp@ietf.org>
List-Help: <mailto:xmpp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xmpp>, <mailto:xmpp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Nov 2015 14:39:18 -0000

Martin Thomson <martin.thomson@gmail.com> writes:

> On 29 October 2015 at 09:02, Martin Thomson <martin.thomson@gmail.com> wrote:
>> I don't think that Axolotl is a good model
>> for the general use case.
>
>
> Since Florian asked nicely, here's the text I wrote about a year ago
> regarding PFS:
>
>>>>
> For a system where the messages are stored, this is largely a
> pointless exercise. Destroying the messages is also necessary to
> ensure that they cannot be recovered.
>
> We value function over perfect security and consider logging to be a
> critical part of a functional chat system.

I believe there is a logical mistake here -- supporting logging does not
mean you cannot support forward security.  I'm firmly on the side that
logging is an essential property of a chat system that I would use,
however I acknowledge that NOT logging is an essential property of a
chat system some other people would use.  While forward security is less
critical to the first category (something I'm not sure I would agree
with fully), it appears essential to the second category.  A system that
supports forward security appears more general to me than one that
doesn't.

I would welcome a detailed analysis of pro's and con's between this
proposal and OMEMO, to identify if there is anything the OMEMO approach
could learn and pick up from this approach.

/Simon

> Furthermore, forward secrecy requires that a round trip between two
> parties occurs to establish a properly ephemeral key. This means that
> any initial message to any other device either cannot have forward
> secrecy, or it cannot include any content. In the latter case, content
> could only be carried once the receiving device has replied with their
> ephemeral share. (Other systems address this in part by provisioning a
> public store with shares ahead of any need for others to use them, but
> these systems work poorly in multi-party scenarios.)
>
> In the case where there are multiple agents in a chat - a scenario we
> consider to be critical for usability reasons - if any one user agent
> is offline, any message encrypted for that agent has to use a key that
> can only be unilaterally updated. Messages destined for the offline
> agent will necessarily depend on the private keying material on that
> agent, which cannot be updated.
> <<<
>
> I think that there was a separate note about the value of PFS for some
> exchanges.