Re: [dispatch] Work for IETF114 message external bodies

John C Klensin <john-ietf@jck.com> Fri, 10 June 2022 17:33 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 683DDC1A7F15 for <dispatch@ietfa.amsl.com>; Fri, 10 Jun 2022 10:33:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.904
X-Spam-Level:
X-Spam-Status: No, score=-1.904 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vPrvYXyoIxSr for <dispatch@ietfa.amsl.com>; Fri, 10 Jun 2022 10:33:39 -0700 (PDT)
Received: from bsa2.jck.com (bsa2.jck.com [70.88.254.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C0D82C13607D for <dispatch@ietf.org>; Fri, 10 Jun 2022 10:33:39 -0700 (PDT)
Received: from [198.252.137.10] (helo=PSB) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1nziVt-00030V-Da; Fri, 10 Jun 2022 13:33:37 -0400
Date: Fri, 10 Jun 2022 13:33:31 -0400
From: John C Klensin <john-ietf@jck.com>
To: John Levine <johnl@taugh.com>, dispatch@ietf.org
Message-ID: <E2F1A655449DE3B55E6934F2@PSB>
In-Reply-To: <20220610164052.3150B4356B3B@ary.qy>
References: <20220610164052.3150B4356B3B@ary.qy>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.10
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/HzpRwhGydiegJDIkndwd-f7GC7M>
Subject: Re: [dispatch] Work for IETF114 message external bodies
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Jun 2022 17:33:43 -0000

FWIW, this is a much more fully-developed version of the "let
the MUA deal with it and use message/external body" idea in the
note I sent a couple of hours ago.  I see some problems with the
details of what John suggests, but they are details that could
be sorted out rather easily.  Similarly Tim Bray's suggestion
(also within those couple of hours, is a (more complete)
variation on my "trick URL" approach.  The path I was headed
down might do a slightly better job of protecting the key
itself, especially against the unwary, but with emphasis on the
"might".  In both cases, the proverbial devil is in the details.

best,
   john

--On Friday, June 10, 2022 12:40 -0400 John Levine
<johnl@taugh.com> wrote:

> It appears that Bron Gondwana  <brong@fastmailteam.com> said:
>> Use case: user wants to store a file encrypted on a server,
>> and provide a link such that their recipient can get the
>> decrypted file, without the server ever seeing the plaintext
>> content.
>> 
>> Which basically means - the URL/URI that the sender provides
>> to the recipient contains the key data to decrypt the content,
> 
> When this came up before we noted that the
> message/external-body MIME type defined in RFC 2017 gets us
> most of the way there.  It currently lets you point at a URL,
> and it would be straightforward to add a few new headers along
> the lines of:
> 
>     Content-ID: <foo123@crudmail.com>
>     Content-type: message/external-body; access-type=URL;
>                   URL="http://www.foo.com/myconfession.mp4"
> 
>     Content-type: video/mp4
>     Content-Transfer-Encoding: binary
>     Content-Length: 1234567890
>     Content-Hash: SHA1/22od022m2m3s00ll2lo23ou32
>     Content-Encryption: AES-CBC
>     Content-Key: swordfish
> 
>     THIS IS NOT REALLY THE BODY!
> 
> The length and hash let the client verify that the file hasn't
> changed, the encryption and key let the client decode it.  The
> key is optional, if missing the user provides it if you don't
> trust the MTAs that forward the message.
> 
> The Content-ID is optional, so other parts of the message can
> refer to this part as cid:foo123@crudmail.com if you want to
> put a link in an HTML part.  See RFC 2392.
> 
> A security issue is that if the key isn't in the message,
> whatever malware checking you do has to be able to run at the
> point the user provides the key so it'd be in the MUA rather
> than the delivery agent.
> 
> R's,
> John
> 
> _______________________________________________
> dispatch mailing list
> dispatch@ietf.org
> https://www.ietf.org/mailman/listinfo/dispatch