Re: [Sat] stage0 v2 - message exchange diagram / SATP pre-conditions

Denis Avrilionis <denis@compell.io> Tue, 21 March 2023 18:32 UTC

Return-Path: <denis@compell.io>
X-Original-To: sat@ietfa.amsl.com
Delivered-To: sat@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AE23EC14CF17 for <sat@ietfa.amsl.com>; Tue, 21 Mar 2023 11:32:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=compell.io
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 94wnrXK2w8bg for <sat@ietfa.amsl.com>; Tue, 21 Mar 2023 11:32:48 -0700 (PDT)
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A41C7C14CE30 for <sat@ietf.org>; Tue, 21 Mar 2023 11:32:48 -0700 (PDT)
Received: by mail-ed1-x531.google.com with SMTP id i5so16508483eda.0 for <sat@ietf.org>; Tue, 21 Mar 2023 11:32:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=compell.io; s=google; t=1679423567; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:from:to:cc:subject:date:message-id :reply-to; bh=hSHQHcxbxsnTrhDoNMburL+YlDB08b/G1tT4vtBGCiE=; b=iGmdY2WiouyiLO6rLXN32rD6qT16pF/FyNwojr5juDUhfppI10ZrZOLLrDiQGf3M28 y4xYYI1JmPoVl7rM6QhWI3X9rdDS0nvPYFEac3PrekQ0DbZw9vYOuPwjw6K2SrwxCei8 OFk+IxQ5NtfmD5juFRFzvjddut/jpgK34cxUO0vwTMzwW3OzbBfsf0JpBXTVyCNd9Kut 5Cu61pOUI0KmAmlQJzIcIm98k1nx19xuXsq1+YEuQJvSev8Hch4fX+hW0nvSdGeRtjCQ zgBDUfek5eMFlPJxb/iQp/ngNcoFA5G9tKLweI05Zd6zbmBT80J2unyw17vuz8G1NHay ETWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679423567; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hSHQHcxbxsnTrhDoNMburL+YlDB08b/G1tT4vtBGCiE=; b=pgxEKY2/n3bQkW9yfUfT1ja+dowqT4j69aKuq0ZFZE9MKuaf8hU4qLVJdpJXXlcmrJ +YNMvCE4QvT4uAMHfuBmqelMIt8VepQgm8Vd2ph2+/V6+m4W4UDKGdah7lHz5EQsfAyx jqRZ35V2RCMjFe2ajIByWSP3MfTltEnEP3LVktL/8ttsV598/j8Cryj6RpyFjYavbsvF mHzTdEuGA1oP2cFNMFcTdH1IFXyfLZHQ+BeViy2/MQyKuCFruF+no6sTBk5vKtRwFHCO EggveWa/Otwgxl2PWZkpY/uaD1NdC1xReY2oAM6gL4IfGlcQgR5u9HUd6WvOFQrI5bp4 aUvg==
X-Gm-Message-State: AO0yUKVjYX4LF6cLIPZncWaHcWhwZFk3fpdyeJ7MkkXNEVK8Oh5EZtXV uE4Ko9pbNCke0nsaz6rNkU5ZIg==
X-Google-Smtp-Source: AK7set/1Md3hWoyuJ1U/IuZKQI+Q5uYrNAY/1czhwP7PPUen0zf3UgfFvlNTiZPEqEVk384ZST7G/w==
X-Received: by 2002:a17:906:5acb:b0:878:54e3:e3e1 with SMTP id x11-20020a1709065acb00b0087854e3e3e1mr4436021ejs.73.1679423567131; Tue, 21 Mar 2023 11:32:47 -0700 (PDT)
Received: from smtpclient.apple ([2a02:85f:e0b7:d900:1482:bc67:33fa:de33]) by smtp.gmail.com with ESMTPSA id ha8-20020a170906a88800b0093a6c591743sm725678ejb.69.2023.03.21.11.32.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 Mar 2023 11:32:46 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: Denis Avrilionis <denis@compell.io>
Mime-Version: 1.0 (1.0)
Date: Tue, 21 Mar 2023 20:32:36 +0200
Message-Id: <DC67060F-E816-4CAB-B297-0D66631F52EF@compell.io>
References: <0bd71908adce47f49b87374f25513781@oc11expo23.exchange.mit.edu>
Cc: ladler2@bellatlantic.net, Venkatraman Ramakrishna <vramakr2@in.ibm.com>, sat@ietf.org
In-Reply-To: <0bd71908adce47f49b87374f25513781@oc11expo23.exchange.mit.edu>
To: Thomas Hardjono <hardjono@mit.edu>
X-Mailer: iPhone Mail (20D67)
Archived-At: <https://mailarchive.ietf.org/arch/msg/sat/Q-s9-_2AND0nQRfSnS4JiCCT8IE>
Subject: Re: [Sat] stage0 v2 - message exchange diagram / SATP pre-conditions
X-BeenThere: sat@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "The purpose of this mailing-list is to discuss the secure asset transfer \(SAT\) protocol and related aspects." <sat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sat>, <mailto:sat-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sat/>
List-Post: <mailto:sat@ietf.org>
List-Help: <mailto:sat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sat>, <mailto:sat-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Mar 2023 18:32:52 -0000

Right. We need explicit return messages most likely via a return mechanism as call-back hooks (as messaging would be asynchronous). I will review and update 
Thank you for the note!
--
Denis

> On 21 Mar 2023, at 20:11, Thomas Hardjono <hardjono@mit.edu> wrote:
> 
> 
> Hi David and Denis,
> 
>>>> The problem with step 4 is that there appears to be no feedback to
>>>> client1App from client2App after receipt of the message.
>>>> If step 4 is not received by client2App steps 6,7, and 8 will not be
>>>> executed.
> 
> I have been looking at this diagram as a kind of a "sketch" (i.e. without the full request-response flow between the Applications).
> 
> So, Step-4 would be implemented with message transport reliability (i.e. it may be a 2 message sub flow).
> 
> 
> 
> --thomas
> 
> 
> ________________________________________
> From: Denis Avrilionis [denis@compell.io]
> Sent: Tuesday, March 21, 2023 1:09 PM
> To: ladler2@bellatlantic.net; Thomas Hardjono; Venkatraman Ramakrishna
> Cc: sat@ietf.org
> Subject: stage0 v2 - message exchange diagram / SATP pre-conditions
> 
> Attached is a revision of the Stage 0 diagram where I aligned the flow to the swimlanes of the core SAT message flow (thank you for your input!).
> 
> 
> Answering to (Claire’s I think) question on how we can translate this to a set of pre-conditions to initiate SATP I think we can state them as follows:
> 
> - The Originator Application (a.k.a. Client App A1, a.k.a. Alice) has obtained a “transfer context”, i.e. information that unambiguously defines a specific asset transfer instance related to sending a well-defined set of assets from a given Originator to a given Beneficiary
> 
> - Network 1 (a.k.a. State Data DB1) is aware that this well-defined set of managed assets (owned by the originator) is going to be transferred for the given transfer context, and this at any moment in the future, based on Gateway 1 own initiative.
> 
> - Gateway 1 is bound to Gateway 2 for the given transfer context
> 
> - The Beneficiary Application (a.k.a. Client App A2, a.k.a. Bob) knows that it will receive a well-defined set of assets for the given transfer context
> 
> - Network 2 (a.k.a. State Data DB2) is aware that assets will be received for a given beneficiary for the given transfer context
> 
> - Gateway is bound to Gateway 1 for the given transfer context
> 
> 
> Only if all the above conditions are met then the SATP transfer instance can be completed (note: completion can be either commit or rollback).
> 
> 
> 
> 
> On 21 Mar 2023, at 18:16, <ladler2@bellatlantic.net<mailto:ladler2@bellatlantic.net>> <ladler2@bellatlantic.net<mailto:ladler2@bellatlantic.net>> wrote:
> 
> Hi:
>  Yes it is progress that the stage0 message exchange defines a startup and
> a conclusion to the SATP process.
> 
> The problem with step 4 is that there appears to be no feedback to
> client1App from client2App after receipt of the message.
> If step 4 is not received by client2App steps 6,7, and 8 will not be
> executed. This would block the entire SATP process.
> Also when would client1App initiate step 5?
> 
> Also, if client1App and client2App are running on computers internal to a
> corporate network I don't see how network
> security  would allow anything except an email to go from the client1App
> computer to the client2App computer.
> 
> David Millman
> 
> -----Original Message-----
> From: sat <sat-bounces@ietf.org<mailto:sat-bounces@ietf.org>> On Behalf Of Thomas Hardjono
> Sent: Tuesday, March 21, 2023 10:38 AM
> To: Venkatraman Ramakrishna <vramakr2@in.ibm.com<mailto:vramakr2@in.ibm.com>>; ladler2@bellatlantic.net<mailto:ladler2@bellatlantic.net>;
> sat@ietf.org<mailto:sat@ietf.org>
> Subject: Re: [Sat] stage0 message exchange diagram
> 
> 
> Hi David,
> 
> What's interesting to me in Denis' applications-interaction diagram is that
> the gateway selection/election occurs (already completed) between Line-4 and
> Line-5 in Denis' diagram.
> 
> So by the time we start the SATP flow (the grey area) with a
> Transfer-Commence message 2.1, gateway G1 and G2 already "know" each other
> via Line-8.
> 
> (ps. I'm using the word "Line" for Denis's applications interaction diagram,
> and "Message" for our message flow)
> 
> 
> Although this applications-interaction is out of scope for SATP, it answers
> one of the questions we received last year (about showing a complete
> end-to-end flow).
> 
> 
> 
> --thomas
> 
> 
> 
> ________________________________________
> From: sat [sat-bounces@ietf.org] on behalf of Venkatraman Ramakrishna
> [vramakr2@in.ibm.com]
> Sent: Tuesday, March 21, 2023 6:59 AM
> To: ladler2@bellatlantic.net; sat@ietf.org
> Subject: Re: [Sat] stage0 message exchange diagram
> 
> My answers:
> 
> 1.  Yes, they refer to the same things. We should use consistent
> terminology here; I prefer either Ledger or State DB and not "system", which
> we use interchangeably with "network" in the charter and in the drafts.
> 2.  Step 4 is supposed to be oblivious to the gateway. I don't think we
> need to prescribe a standard transport mechanism, since it is out of scope
> for the current SATP, but I imagine we can use HTTP or GRPC.
> 
> Rama
> 
> From: sat <sat-bounces@ietf.org> On Behalf Of ladler2@bellatlantic.net
> Sent: 18 March 2023 23:56
> To: sat@ietf.org
> Subject: [EXTERNAL] [Sat] stage0 message exchange diagram
> 
> Hi: I have some questions on the Stage 0 message exchange: Are system1 and
> system2 the same as State Data DB1 and DB2 given in the SATP Message Flow
> Diagram? How is the step 4 message "propagateTransferContext" sent from
> client1App ZjQcmQRYFpfptBannerStart This Message Is From an Untrusted Sender
> 
> You have not previously corresponded with this sender.
> 
> 
> 
> ZjQcmQRYFpfptBannerEnd
> Hi:
>  I have some questions on the Stage 0 message exchange:
> 
> 
> 1.  Are system1 and system2 the same as State  Data DB1 and DB2 given in
> the SATP Message Flow Diagram?
> 2.  How is the step 4 message "propagateTransferContext" sent from
> client1App to client2App?
> 
> Does the message pass through gateway1 and gateway2?  If not what is   the
> underlying transport mechanism?
> 
> David Millman
> 
> --
> sat mailing list
> sat@ietf.org
> https://www.ietf.org/mailman/listinfo/sat
> 
> --
> sat mailing list
> sat@ietf.org
> https://www.ietf.org/mailman/listinfo/sat
> 
>