Internet DRAFT - draft-hallambaker-mesh-protocol
draft-hallambaker-mesh-protocol
Network Working Group P. M. Hallam-Baker
Internet-Draft ThresholdSecrets.com
Intended status: Informational 23 October 2022
Expires: 26 April 2023
Mathematical Mesh 3.0 Part V: Protocol Reference
draft-hallambaker-mesh-protocol-14
Abstract
The Mathematical Mesh 'The Mesh' is an end-to-end secure
infrastructure that facilitates the exchange of configuration and
credential data between multiple user devices. The core protocols of
the Mesh are described with examples of common use cases and
reference data.
[Note to Readers]
Discussion of this draft takes place on the MATHMESH mailing list
(mathmesh@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/search/?email_list=mathmesh.
This document is also available online at
http://mathmesh.com/Documents/draft-hallambaker-mesh-protocol.html.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 26 April 2023.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
Hallam-Baker Expires 26 April 2023 [Page 1]
Internet-Draft Mesh Protocol Reference October 2022
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 6
2.2. Defined Terms . . . . . . . . . . . . . . . . . . . . . . 6
2.3. Related Specifications . . . . . . . . . . . . . . . . . 6
2.4. Implementation Status . . . . . . . . . . . . . . . . . . 6
3. Mesh Protocols . . . . . . . . . . . . . . . . . . . . . . . 6
4. Mesh Service . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Data Model . . . . . . . . . . . . . . . . . . . . . . . 8
4.2. Partitioning . . . . . . . . . . . . . . . . . . . . . . 8
5. Protocol Bindings . . . . . . . . . . . . . . . . . . . . . . 8
6. Mesh Service Operations . . . . . . . . . . . . . . . . . . . 9
6.1. Service Description . . . . . . . . . . . . . . . . . . . 9
6.2. Account Management . . . . . . . . . . . . . . . . . . . 11
6.2.1. Bind Account . . . . . . . . . . . . . . . . . . . . 11
6.2.2. Unbind Account . . . . . . . . . . . . . . . . . . . 14
6.2.3. Account Recovery and Transfer. . . . . . . . . . . . 15
6.3. Persistence Store Management . . . . . . . . . . . . . . 16
6.3.1. Status . . . . . . . . . . . . . . . . . . . . . . . 16
6.3.2. Download . . . . . . . . . . . . . . . . . . . . . . 18
6.3.3. Transact . . . . . . . . . . . . . . . . . . . . . . 20
6.4. Device Connection . . . . . . . . . . . . . . . . . . . . 21
6.4.1. Connect . . . . . . . . . . . . . . . . . . . . . . . 22
6.4.2. Complete . . . . . . . . . . . . . . . . . . . . . . 27
6.5. Publication . . . . . . . . . . . . . . . . . . . . . . . 38
6.5.1. Claim Transaction . . . . . . . . . . . . . . . . . . 39
6.5.2. PollClaim Transaction . . . . . . . . . . . . . . . . 42
6.6. Cryptographic . . . . . . . . . . . . . . . . . . . . . . 43
6.6.1. Generate Key Shares . . . . . . . . . . . . . . . . . 45
6.6.2. Threshold Sign . . . . . . . . . . . . . . . . . . . 46
6.7. Messaging . . . . . . . . . . . . . . . . . . . . . . . . 46
6.7.1. Sender. . . . . . . . . . . . . . . . . . . . . . . . 46
6.7.2. Outbound Service . . . . . . . . . . . . . . . . . . 46
6.7.3. Inbound Service . . . . . . . . . . . . . . . . . . . 47
6.7.4. Recipient . . . . . . . . . . . . . . . . . . . . . . 47
7. Access Control . . . . . . . . . . . . . . . . . . . . . . . 48
7.1. Direct authorization . . . . . . . . . . . . . . . . . . 48
7.2. Access Catalog authentication . . . . . . . . . . . . . . 48
8. Message Interactions . . . . . . . . . . . . . . . . . . . . 48
8.1. Message PIN Interaction . . . . . . . . . . . . . . . . . 48
Hallam-Baker Expires 26 April 2023 [Page 2]
Internet-Draft Mesh Protocol Reference October 2022
8.1.1. Registration . . . . . . . . . . . . . . . . . . . . 49
8.1.2. Authentication . . . . . . . . . . . . . . . . . . . 49
8.1.3. Validation . . . . . . . . . . . . . . . . . . . . . 50
8.1.4. Example . . . . . . . . . . . . . . . . . . . . . . . 50
8.2. Completion Interaction . . . . . . . . . . . . . . . . . 51
8.3. Contact Exchange Interaction . . . . . . . . . . . . . . 52
8.3.1. Remote . . . . . . . . . . . . . . . . . . . . . . . 52
8.3.2. PIN . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.3.3. EARL . . . . . . . . . . . . . . . . . . . . . . . . 55
8.4. Group Invitation . . . . . . . . . . . . . . . . . . . . 55
8.5. Confirmation Interaction . . . . . . . . . . . . . . . . 56
9. Device Connection Interactions . . . . . . . . . . . . . . . 57
9.1. Witness/PIN Authenticated . . . . . . . . . . . . . . . . 59
9.1.1. Phase 1: . . . . . . . . . . . . . . . . . . . . . . 60
9.1.2. Phase 2: . . . . . . . . . . . . . . . . . . . . . . 60
9.1.3. Phase 3: . . . . . . . . . . . . . . . . . . . . . . 63
9.1.4. Phase 4 . . . . . . . . . . . . . . . . . . . . . . . 73
9.2. Preconfigured (Static QR Code) . . . . . . . . . . . . . 73
9.2.1. Phase 1 . . . . . . . . . . . . . . . . . . . . . . . 74
9.2.2. Phase 2 & 3 . . . . . . . . . . . . . . . . . . . . . 77
9.2.3. Phase 4 . . . . . . . . . . . . . . . . . . . . . . . 77
9.2.4. Phase 5 . . . . . . . . . . . . . . . . . . . . . . . 78
10. Protocol Schema . . . . . . . . . . . . . . . . . . . . . . . 78
10.1. Request Messages . . . . . . . . . . . . . . . . . . . . 78
10.1.1. Message: MeshRequest . . . . . . . . . . . . . . . . 78
10.1.2. Message: MeshRequestUser . . . . . . . . . . . . . . 78
10.2. Response Messages . . . . . . . . . . . . . . . . . . . 79
10.2.1. Message: MeshResponse . . . . . . . . . . . . . . . 79
10.3. Imported Objects . . . . . . . . . . . . . . . . . . . . 79
10.4. Common Structures . . . . . . . . . . . . . . . . . . . 79
10.4.1. Structure: KeyValue . . . . . . . . . . . . . . . . 79
10.4.2. Structure: ConstraintsSelect . . . . . . . . . . . . 79
10.4.3. Structure: ConstraintsData . . . . . . . . . . . . . 80
10.4.4. Structure: PolicyAccount . . . . . . . . . . . . . . 80
10.4.5. Structure: ContainerStatus . . . . . . . . . . . . . 81
10.4.6. Structure: ContainerUpdate . . . . . . . . . . . . . 81
10.5. Transaction: Hello . . . . . . . . . . . . . . . . . . . 81
10.5.1. Message: MeshHelloRequest . . . . . . . . . . . . . 81
10.5.2. Message: MeshHelloResponse . . . . . . . . . . . . . 81
10.6. Transaction: BindAccount . . . . . . . . . . . . . . . . 82
10.6.1. Message: BindRequest . . . . . . . . . . . . . . . . 82
10.6.2. Message: BindResponse . . . . . . . . . . . . . . . 82
10.7. Transaction: UnbindAccount . . . . . . . . . . . . . . . 83
10.7.1. Message: UnbindRequest . . . . . . . . . . . . . . . 83
10.7.2. Message: UnbindResponse . . . . . . . . . . . . . . 83
10.8. Transaction: Connect . . . . . . . . . . . . . . . . . . 83
10.8.1. Message: ConnectRequest . . . . . . . . . . . . . . 83
10.8.2. Message: ConnectResponse . . . . . . . . . . . . . . 83
Hallam-Baker Expires 26 April 2023 [Page 3]
Internet-Draft Mesh Protocol Reference October 2022
10.9. Transaction: Complete . . . . . . . . . . . . . . . . . 84
10.9.1. Message: CompleteRequest . . . . . . . . . . . . . . 84
10.9.2. Message: CompleteResponse . . . . . . . . . . . . . 84
10.10. Transaction: Status . . . . . . . . . . . . . . . . . . 84
10.10.1. Message: StatusRequest . . . . . . . . . . . . . . 84
10.10.2. Message: StatusResponse . . . . . . . . . . . . . . 85
10.11. Transaction: Download . . . . . . . . . . . . . . . . . 85
10.11.1. Message: DownloadRequest . . . . . . . . . . . . . 85
10.11.2. Message: DownloadResponse . . . . . . . . . . . . . 86
10.12. Transaction: Transact . . . . . . . . . . . . . . . . . 86
10.12.1. Message: TransactRequest . . . . . . . . . . . . . 86
10.12.2. Message: TransactResponse . . . . . . . . . . . . . 87
10.12.3. Structure: EntryResponse . . . . . . . . . . . . . 87
10.13. Transaction: Post . . . . . . . . . . . . . . . . . . . 87
10.13.1. Message: PostRequest . . . . . . . . . . . . . . . 87
10.13.2. Message: PostResponse . . . . . . . . . . . . . . . 88
10.14. Transaction: Claim . . . . . . . . . . . . . . . . . . . 88
10.14.1. Message: ClaimRequest . . . . . . . . . . . . . . . 88
10.14.2. Message: ClaimResponse . . . . . . . . . . . . . . 88
10.15. Transaction: PollClaim . . . . . . . . . . . . . . . . . 88
10.15.1. Message: PollClaimRequest . . . . . . . . . . . . . 88
10.15.2. Message: PollClaimResponse . . . . . . . . . . . . 89
10.15.3. Structure: CryptographicOperation . . . . . . . . . 89
10.15.4. Structure: CryptographicOperationSign . . . . . . . 89
10.15.5. Structure: CryptographicOperationKeyAgreement . . . 89
10.15.6. Structure: CryptographicOperationGenerate . . . . . 89
10.15.7. Structure: CryptographicOperationShare . . . . . . 89
10.15.8. Structure: CryptographicResult . . . . . . . . . . 89
10.15.9. Structure: CryptographicResultKeyAgreement . . . . 90
10.15.10. Structure: CryptographicResultShare . . . . . . . . 90
10.16. Transaction: Operate . . . . . . . . . . . . . . . . . . 90
10.16.1. Message: OperateRequest . . . . . . . . . . . . . . 90
10.16.2. Message: OperateResponse . . . . . . . . . . . . . 90
11. Security Considerations . . . . . . . . . . . . . . . . . . . 90
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 90
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 90
14. Normative References . . . . . . . . . . . . . . . . . . . . 91
15. Informative References . . . . . . . . . . . . . . . . . . . 92
1. Introduction
This document describes the Mesh Service protocol supported by Mesh
Services, an account-based protocol that facilitates exchange of data
between devices connected to a Mesh profile and between Mesh
accounts.
Mesh Service Accounts support the following services:
Hallam-Baker Expires 26 April 2023 [Page 4]
Internet-Draft Mesh Protocol Reference October 2022
* Provides the master persistence store for the Catalogs and Spools
associated with the account.
* Enables synchronization of Catalogs and Spools with connected
devices.
* Enforces access control on inbound Mesh Messages from other users
and other Mesh Services.
* Authenticates outbound Mesh Messages, certifying that they comply
with abuse mitigation policies.
A Mesh Profile MAY be bound to multiple Mesh Service Accounts at the
same time but only one Mesh Service Account is considered to be
authoritative at a time. Users may add or remove Mesh Service
Accounts and change the account designated as authoritative at any
time.
The Mesh Services are build from a very small set of primitives which
provide a surprisingly extensive set of capabilities. These
primitives are:
Hello Describes the features and options provided by the service and
provides a 'null' transaction which MAY be used to establish an
authentication ticket without performing any action,
CreateAccount, DeleteAccount Manage the creation and deletion of
accounts at the service.
Status, Download, Upload Support synchronization of Mesh containers
between the service (Master) and the connected devices (Replicas).
Connect Initiate the process of connecting a device to a Mesh
profile from the device itself.
Post Request that a Mesh Message be transferred to one or more Mesh
Accounts.
Although these functions could in principle be used to replace many
if not most existing Internet application protocols, the principal
value of any communication protocol lies in the size of the audience
it allows them to communicate with. Thus, while the Mesh Messaging
service is designed to support efficient and reliable transfer of
messages ranging in size from a few bytes to multiple terabytes, the
near-term applications of these services will be to applications that
are not adequately supported by existing protocols if at all.
Hallam-Baker Expires 26 April 2023 [Page 5]
Internet-Draft Mesh Protocol Reference October 2022
2. Definitions
This section presents the related specifications and standard, the
terms that are used as terms of art within the documents and the
terms used as requirements language.
2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
2.2. Defined Terms
The terms of art used in this document are described in the _Mesh
Architecture Guide_ [draft-hallambaker-mesh-architecture].
2.3. Related Specifications
The architecture of the Mathematical Mesh is described in the _Mesh
Architecture Guide_ [draft-hallambaker-mesh-architecture]. The Mesh
documentation set and related specifications are described in this
document.
2.4. Implementation Status
The implementation status of the reference code base is described in
the companion document [draft-hallambaker-mesh-developer].
3. Mesh Protocols
The Mesh specifies two separate types of protocol interactions:
Mesh Service Protocol A synchronous protocol supporting interactions
between devices and a Mesh Service Host and between Mesh Service
hosts.
Mesh Messaging Protocol An asynchronous protocol that supports
interactions between devices connected to the same account and
between accounts.
The Mesh Messaging Protocol uses the Mesh Service Protocol as
transport. The Mesh Service Protocol in turn makes use of Reliable
UDP Datagram (RUD) [draft-hallambaker-mesh-rud] for framing and
authentication of individual requests and responses. These RUS
packets are in turn exchanged over either HTTPS (i.e. a Web Service)
or directly over UDP.
Hallam-Baker Expires 26 April 2023 [Page 6]
Internet-Draft Mesh Protocol Reference October 2022
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-protocol-14.html for artwork.)
Figure 1: Protocol Layering
Mesh Services MUST support the HTTPS binding and MAY support the UDP
binding.
4. Mesh Service
A Mesh Service is a minimally trusted service. In particular a user
does not need to trust a Mesh service to protect the confidentiality
or integrity of most data stored in the account catalogs and spools.
Unless the use of the Mesh Service is highly restricted, a user does
need to trust the Mesh Service in certain respects:
Data Loss A service could refuse to respond to requests to download
data.
Integrity (Stale Data) The use of Merkle Trees limits but does not
eliminate the ability of a Mesh Service to respond to requests
with stale data.
Messaging A service could reject requests to post messages to or
accept messages from other mesh users.
This risk is a necessary consequence of the fact that the Mesh
Service Provider is accountable to other Mesh Service Providers
for abuse originating from their service.
Traffic analysis A Mesh Service has knowledge of the number of Mesh
Messages being sent and received by its users and the addresses to
which they are being sent to or received from.
The need to trust the Mesh Service in these respects is mitigated by
accountability and the user's ability to change Mesh Service
providers at any time they choose with minimal inconvenience.
It is possible that some of these risks will be reduced in future
versions of the Mesh Service Protocol but it is highly unlikely that
these can be eliminated entirely without compromising practicality or
efficiency.
Hallam-Baker Expires 26 April 2023 [Page 7]
Internet-Draft Mesh Protocol Reference October 2022
4.1. Data Model
The design of the Mesh Service model followed a quasi-formal approach
in which the system was reduced to schemas which could in principle
be rendered in a formal development method but without construction
of proofs.
Like the contents of Mesh Accounts, a Mesh Service may be represented
by a collection of catalogs and spools, for example:
Account Catalog Contains the account entries.
Incident Spool Reports of potential abuse
Backup of the service MAY be implemented using the same container
synchronization mechanism used to synchronize account catalogs and
spools.
4.2. Partitioning
Mesh Services supporting a large number of accounts or large activity
volume MAY partition the account catalog between one or more hosts
using the usual tiered service model in which a front-end server
receives traffic for any account hosted at the server and routes the
request to the back-end service that provides the persistence store
for that account.
In addition, the Mesh Service Protocol supports a 'direct connection'
partitioning model in which devices are given a DNS name which MAY
allow for direct connection to the persistence host or to a front-end
service offering service that is in some way specific to that
account.
5. Protocol Bindings
The protocol binding maps the abstract protocol definition specified
in this document to the network protocol format.
* Discovery of network services.
* Construction of the payload data by serializing request and
response messages.
* Authentication of the payload data.
* Confidentiality controls to protect against traffic analysis
Hallam-Baker Expires 26 April 2023 [Page 8]
Internet-Draft Mesh Protocol Reference October 2022
Currently only one protocol binding is specified: JSON-BCD
Application Binding [draft-hallambaker-jsonbcd] over Reliable User
Datagram (RUD) [draft-hallambaker-mesh-rud].
*JSON-BCD Application Binding* specifies the means by which data
types such as 'integer' and 'datetime' etc. given in this document
are serialized using JSON/JSON-B encoding.
*Reliable User Datagram* offers a presentation layer over a choice of
HTTP or UDP transport.
6. Mesh Service Operations
The Mesh Service operations are divided into the following functional
groups:
Service Description Describes the service.
Account Management Operations used to create, reclaim, and delete
accounts.
Persistence Store Management Operations used to synchronize
persistence store data across connected devices. [May be replaced
in a future revision]
Device Connection Operations used by devices requesting connection
to the account.
Publication Operations allowing a watched document to be posted to
the service and claims made on the document returned to a device.
Cryptographic Cryptographic operations, including threshold
operations performed by the service.
Messaging Exchange of messages between Mesh Services.
6.1. Service Description
The Hello transaction is used to determine the features supported by
the service and obtain the service profile.
The request payload only specifies that is is a request for the
service description:
{
"HelloRequest":{}}
Hallam-Baker Expires 26 April 2023 [Page 9]
Internet-Draft Mesh Protocol Reference October 2022
The response payload describes the service and the host providing
that service:
{
"MeshHelloResponse":{
"EnvelopedProfileService":[{
"EnvelopeId":"MBYH-BJ3I-EUWL-7QAI-NGIE-TPC6-X4KU",
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJNQllILUJKM0ktRV
VXTC03UUFJLU5HSUUtVFBDNi1YNEtVIiwKICAiTWVzc2FnZVR5cGUiOiAiUHJvZml
sZVNlcnZpY2UiLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1tL29iamVjdCIsCiAg
IkNyZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0MzoyNloifQ"},
"ewogICJQcm9maWxlU2VydmljZSI6IHsKICAgICJTZXJ2aWNlQXV0aGVudG
ljYXRpb24iOiB7CiAgICAgICJVZGYiOiAiTUI2Sy1EV05YLURZSTctU04yRy1IRVM
yLUhWQ1MtTE9INCIsCiAgICAgICJQdWJsaWNQYXJhbWV0ZXJzIjogewogICAgICAg
ICJQdWJsaWNLZXlFQ0RIIjogewogICAgICAgICAgImNydiI6ICJYNDQ4IiwKICAgI
CAgICAgICJQdWJsaWMiOiAiZnNNZDlJRnNXcm5MUHJqVzQ3UlZoelJ6cXRzcFNCT3
IxS2J6eXNrUkZodXVJd1hnSl94TAogIDlDb2c5b0RTOXBQem45a3o4cTRSc1FNQSJ
9fX0sCiAgICAiU2VydmljZUVuY3J5cHRpb24iOiB7CiAgICAgICJVZGYiOiAiTUJR
QS1MSktBLVk3QVgtNVVaTC1IR1ZMLUNKRUEtNEVJNiIsCiAgICAgICJQdWJsaWNQY
XJhbWV0ZXJzIjogewogICAgICAgICJQdWJsaWNLZXlFQ0RIIjogewogICAgICAgIC
AgImNydiI6ICJYNDQ4IiwKICAgICAgICAgICJQdWJsaWMiOiAiNnFtS3VOZjVPa1V
LR2ZzdFpLczJIUmItT0U4SGg4RFFfNzR5SW9ZTTVNdGhaeVhrZno3dQogIC1TTTFx
cHBOWHhDb3dRSXVZZ0dKX0hrQSJ9fX0sCiAgICAiU2VydmljZVNpZ25hdHVyZSI6I
HsKICAgICAgIlVkZiI6ICJNQ0RWLVZOREgtR1VRVi03RkVaLUdHWEotWkw3WS1UTj
JMIiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0t
leUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIkVkNDQ4IiwKICAgICAgICAgICJQ
dWJsaWMiOiAiaFVoUnJHSDN1Zjc5UzZta3BqTERHbVU1ZEJGbGthZU0taE9fOVRnR
zFyNDdmYUtUOG5nVQogIFJMOGRKYVo0QWMwTmZmbksxenJlYklhQSJ9fX0sCiAgIC
AiUHJvZmlsZVNpZ25hdHVyZSI6IHsKICAgICAgIlVkZiI6ICJNQllILUJKM0ktRVV
XTC03UUFJLU5HSUUtVFBDNi1YNEtVIiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMi
OiB7CiAgICAgICAgIlB1YmxpY0tleUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogI
kVkNDQ4IiwKICAgICAgICAgICJQdWJsaWMiOiAiR1gwUlJvQkNNY3A0NEYwWTlXen
VZdHY3VWpMRm5ReU41NE9QZk96dURhTU00Y3dQS0x5QQogIDBCYnBHcVM4MXhHcFZ
CTzg4bkZDck15QSJ9fX19fQ",
{
"signatures":[{
"alg":"S512",
"kid":"MBYH-BJ3I-EUWL-7QAI-NGIE-TPC6-X4KU",
"signature":"v68tamuXYkB5EQarVw791WZmN8IbeEt-GQq58TqX
tMUlT7ETcYTQ-CmY4-ecysTLSKFxGRunevaA7rCej9jY-M0XkTz-xob9i_YMbIb-f
CwdNYxmTPhun7IgvRxu0vyHXnE2HuLixlJNtoFXz-CbMyAA"}
],
"PayloadDigest":"qmQy7M6DuCzRmEz2eeWpW0EuJTxd-qdX7ixMBwcC
dpKlIPNN-fehLh5pLZKDAMueeRv1DQgoLeg7xyb-RSTetQ"}
],
"Version":{
"Major":3,
Hallam-Baker Expires 26 April 2023 [Page 10]
Internet-Draft Mesh Protocol Reference October 2022
"Minor":0,
"Encodings":[{
"ID":["application/json"
]}
]},
"Status":201}}
The current revision of the specification is designed for small scale
deployments in which the service is provided by a single host. The
approach will require revision in future versions to fully support a
service being provided by multiple hosts with accounts being
transferred between the hosts to allow balancing of load.
6.2. Account Management
There are three account management operations:
BindAccount Create an account bound to a service address.
UnbindAccount Delete an account bound to a service address
RecoverAccount [TBS] Reclaim an account using a recovered primary
secret.
The BindAccount operation is used to create User and Group accounts.
Currently, these account types are distinct. This may change in
future releases.
6.2.1. Bind Account
A User Account is bound to a Mesh Service by completing a BindAccount
operation with the service.
The BindAccount transaction is unique in that it can fail to complete
for reasons that are outside the scope of the Mesh specifications.
Creation of an account might require payment to be made or
authentication of the user's credentials. It is thus quite normal
for the result of a CreateRequest to be the account being created in
an 'on hold' state which can only be changed out of band.
If the request is at least partially successful, a BindResponse
message is returned. In the case of partial success, a description
of the request status and link to a Web page providing further
details MAY be returned.
The request payload contains all the information needed to create the
account:
Hallam-Baker Expires 26 April 2023 [Page 11]
Internet-Draft Mesh Protocol Reference October 2022
* The account address
* The account profile
Since there is no Access Catalog until the account is created, the
Bind Account request and subsequent requests used to initialize the
access catalog for the account MUST be authenticated by the Account
Authentication key.
Alice requests creation of the account alice@example.com. The
request payload is:
{
"BindRequest":{
"AccountAddress":"alice@example.com",
"EnvelopedProfileAccount":[{
"EnvelopeId":"MDRR-5W72-3RJO-VZB3-VUVQ-IOEC-6UNA",
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJNRFJSLTVXNzItM1
JKTy1WWkIzLVZVVlEtSU9FQy02VU5BIiwKICAiTWVzc2FnZVR5cGUiOiAiUHJvZml
sZVVzZXIiLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1tL29iamVjdCIsCiAgIkNy
ZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0MzoyOFoifQ"},
"ewogICJQcm9maWxlVXNlciI6IHsKICAgICJDb21tb25TaWduYXR1cmUiOi
B7CiAgICAgICJVZGYiOiAiTUNERy1UUzdULVVQREQtVjY2Ny1PWFNYLVFKNUctRlF
SWiIsCiAgICAgICJQdWJsaWNQYXJhbWV0ZXJzIjogewogICAgICAgICJQdWJsaWNL
ZXlFQ0RIIjogewogICAgICAgICAgImNydiI6ICJFZDQ0OCIsCiAgICAgICAgICAiU
HVibGljIjogImhBZTdpaUNZbm51MGpyVFNhdTVXdWNPNzRNajBaQTlEY1N6VFd5ck
5RVXg3dDVuSnNsZkIKICB6VjBqYnpaWWprb29HalFsYnZJclVUR0EifX19LAogICA
gIkFjY291bnRBZGRyZXNzIjogImFsaWNlQGV4YW1wbGUuY29tIiwKICAgICJTZXJ2
aWNlVWRmIjogIk1CWUgtQkozSS1FVVdMLTdRQUktTkdJRS1UUEM2LVg0S1UiLAogI
CAgIkVzY3Jvd0VuY3J5cHRpb24iOiB7CiAgICAgICJVZGYiOiAiTUJNVC1LSkpXLU
ZVN1UtSFJNUi1LNE9JLU9LTVktWENZTyIsCiAgICAgICJQdWJsaWNQYXJhbWV0ZXJ
zIjogewogICAgICAgICJQdWJsaWNLZXlFQ0RIIjogewogICAgICAgICAgImNydiI6
ICJYNDQ4IiwKICAgICAgICAgICJQdWJsaWMiOiAiak1XbTJvRGpvQWdJZ053SkV3e
Gk2MkZvRnhrN002R0VMX1FUcGZySmhvd2k2eUFJOTFHVAogIDh4X3pFVG9NYnVheD
A5VkpDRU9QWnphQSJ9fX0sCiAgICAiQWRtaW5pc3RyYXRvclNpZ25hdHVyZSI6IHs
KICAgICAgIlVkZiI6ICJNQkZNLVhXMkgtQ0JMVC1BTU5RLVpXVlotVVNHSS1LT0dJ
IiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tle
UVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIkVkNDQ4IiwKICAgICAgICAgICJQdW
JsaWMiOiAid0loNFhfcnpEMzQ2OFRFWnhLdGZWd0xSdHRlRFBZUEpqeWFUUUMwckl
5bzFOazZQTnNkUQogIHZNa0FPNzZBejlCR19aTGxVNE50T2tnQSJ9fX0sCiAgICAi
Q29tbW9uRW5jcnlwdGlvbiI6IHsKICAgICAgIlVkZiI6ICJNQzdWLVhWTUotNzNPT
C1ZV0dMLTVNSUstUk9YUS1HTDNZIiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOi
B7CiAgICAgICAgIlB1YmxpY0tleUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIlg
0NDgiLAogICAgICAgICAgIlB1YmxpYyI6ICJjbERrUVQ0bDBxV3E4eFJ4SlNsNmp0
eV9NdXFsWTM5ZE1jOUhheFEwSWk5Nk00aThFVWVRCiAgeW9VT1pRM2IxYjQwVFc3e
UtBb3U5SHlBIn19fSwKICAgICJDb21tb25BdXRoZW50aWNhdGlvbiI6IHsKICAgIC
AgIlVkZiI6ICJNQVgzLUU2V1AtQk1JUy1JWFBJLU1ZUFItTTU2Qy1PSVUzIiwKICA
Hallam-Baker Expires 26 April 2023 [Page 12]
Internet-Draft Mesh Protocol Reference October 2022
gICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tleUVDREgi
OiB7CiAgICAgICAgICAiY3J2IjogIlg0NDgiLAogICAgICAgICAgIlB1YmxpYyI6I
CJwamdjdmlIRU9yYW4yWmFMa2E5ZmVnbmFqN3V0OU5Sd2NTNUZHWmlGODBvSmUzRn
pVeHZzCiAgeE1xdXRJNFpxNW5zbVAwbDhEa1FPUUlBIn19fSwKICAgICJQcm9maWx
lU2lnbmF0dXJlIjogewogICAgICAiVWRmIjogIk1EUlItNVc3Mi0zUkpPLVZaQjMt
VlVWUS1JT0VDLTZVTkEiLAogICAgICAiUHVibGljUGFyYW1ldGVycyI6IHsKICAgI
CAgICAiUHVibGljS2V5RUNESCI6IHsKICAgICAgICAgICJjcnYiOiAiRWQ0NDgiLA
ogICAgICAgICAgIlB1YmxpYyI6ICI4MXN3cG0wNVQ5b2x5cWJNSE8wZGFEVFdSMmk
tUEtGaEhtQnRHdjVwTkowNmg2a0tFNk5VCiAgMGJDTHY2U3k3cGJuc3dXbUZzekt0
U3FBIn19fX19",
{
"signatures":[{
"alg":"S512",
"kid":"MDRR-5W72-3RJO-VZB3-VUVQ-IOEC-6UNA",
"signature":"UNtyhJFuwLPmj8uuSw6Ts61ACoOkEoLF63rSbHT3
5bDRuS8VFhnkyNX2mQ4SIGHuBPPSURZB84kAGRhq0MRAR32jbTJr4We3LSy_PdeGh
5hVaGbRMUhX2V40SVzy7SxLcGYW8iXqXq9PVYL3S315fBIA"}
],
"PayloadDigest":"6P0GfqW3b_kYhYrWG0e0oXy0uENOr_YxxcU3CgLa
NO3tLeTmWkUCGtlZUMvEptTtN-Ysu4KqmXr7OmphX03qow"}
],
"EnvelopedCallsignBinding":[[{
"dig":"S512",
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJDYWxsc2ln
bkJpbmRpbmciLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1tL29iamVjdCIsCiAgI
kNyZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0MzoyOFoifQ"},
"ewogICJDYWxsc2lnbkJpbmRpbmciOiB7CiAgICAiQ2Fub25pY2FsIjog
ImFsaWNlQGV4YW1wbGUuY29tIiwKICAgICJEaXNwbGF5IjogImFsaWNlQGV4YW1wb
GUuY29tIiwKICAgICJQcm9maWxlVWRmIjogIk1EUlItNVc3Mi0zUkpPLVZaQjMtVl
VWUS1JT0VDLTZVTkEiLAogICAgIlNlcnZpY2VzIjogW3sKICAgICAgICAiUHJlZml
4IjogIm1tbSJ9XX19",
{
"signatures":[{
"alg":"S512",
"kid":"MBFM-XW2H-CBLT-AMNQ-ZWVZ-USGI-KOGI",
"signature":"1nhNTeeHxyCIaTmJEuEfJXFwolbrrPsWw5Nj2P
GB142vjiY7_hllV0vCHyX8zC__gW8cVpZO5RaABaGMXFs_AHCON8PgmlStX2IPYr_
XoPMuFRRd_kXUCKC9bC7YDJO-QZvIzZycDwK-VPONN1sQYy4A"}
],
"PayloadDigest":"BkoFDvWIFUl4wcJ2KsrqOOatQ_5RT0YeSdPclh
UfDrc7asCIbUlJatERjnTvknrO8ZB-URjyRDPJHaZED96DGQ"}
]
]}}
The response payload currently reports the success or failure of the
bind operation:
Hallam-Baker Expires 26 April 2023 [Page 13]
Internet-Draft Mesh Protocol Reference October 2022
{
"BindResponse":{
"EnvelopedAccountHostAssignment":[{
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJBY2NvdW50SG
9zdEFzc2lnbm1lbnQiLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1tL29iamVjdCI
sCiAgIkNyZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0MzoyOFoifQ"},
"ewogICJBY2NvdW50SG9zdEFzc2lnbm1lbnQiOiB7CiAgICAiQWNjb3VudE
FkZGVzcyI6ICJhbGljZUBleGFtcGxlLmNvbSIsCiAgICAiQWNjZXNzRW5jcnlwdCI
6IHsKICAgICAgIlVkZiI6ICJNQTZRLTRLTEctWVQ3TC1ZVjJOLURTNFQtSFAyRy1a
M0g2IiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY
0tleUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIlg0NDgiLAogICAgICAgICAgIl
B1YmxpYyI6ICIwa0dIeVRGYkVtdzRvMFN6QndsbEtDZDlNOHBNV2o5LXBRV1h4Z09
IaUppTUtVOXlqMVhNCiAgekZLQ2lRVUtqUi1FZC1MX25XUXVaZGNBIn19fX19"
],
"Status":201,
"StatusDescription":"Operation completed successfully"}}
It is likely that a future revisions of the specification will
specify the host(s) to which future account service operations are to
be directed. This would allow the account management operations to
be separated from the account maintenance operations without
requiring the traditional tiered architecture in which every
interaction with a service is first routed to a host that cannot
perform the required action so that it can be directed to the host
that can.
6.2.1.1. Bind Group Account
Mesh Group Accounts are created in the same manner as user accounts
except that the ProfileGroup is specified.
6.2.1.2. Account Recovery
Should all the administration devices be lost, an account MAY be
recovered by the process of recovering the profile master secret and
using it to access the account through the account authentication
key.
6.2.2. Unbind Account
An account registration is deleted using the UnbindAccount
transaction.
>>>> Unfinished ProtocolAccountDelete
The request payload:
Hallam-Baker Expires 26 April 2023 [Page 14]
Internet-Draft Mesh Protocol Reference October 2022
{
"UnbindRequest":{
"Account":"alice@example.com"}}
The response payload:
{
"UnbindResponse":{
"Status":201,
"StatusDescription":"Operation completed successfully"}}
6.2.2.1. Account Transfer
Should a user wish to transfer their account to a new service
provider, they first use the Bind Account operation to bind the
account to the new service provider, then populate the account entry
at the new account using the account authentication key.
Only after the new account binding has been completed and is ready
for use, is the unbind operation used to delete the account entry at
the old service provider.
Future versions of the protocol will elaborate on this mechanism so
that the change of address can be signaled to connected devices and
parties sending messages to the account.
6.2.3. Account Recovery and Transfer.
Account recovery is necessary in the case that user has lost control
of every administration device connected to the account and must re-
create the account profile and bind a new set of administrative
devices. Account transfer is the process of unbinding an account
from one service and rebinding it to a new one.
These capabilities are both critical to the long term success of the
Mesh but have been deleted from the current revision of the
specification as their implementation is interdependent on the
architecture of the callsign registry.
>>>> Unfinished ProtocolAccountRecover
[TBS]
Hallam-Baker Expires 26 April 2023 [Page 15]
Internet-Draft Mesh Protocol Reference October 2022
6.3. Persistence Store Management
All the state associated with a Mesh profile is stored as a sequence
of DARE Messages in a Dare Container. The Mesh Service holding the
master copy of the persistence stores and the devices connected to
the profile containing complete copies (replicas) or partial copies
(redactions).
Thus, the only primitive needed to achieve synchronization of the
profile state are those required for synchronization of a DARE
Container. These steps are:
* Obtain the status of the catalogs and spools associated with the
account.
* Download catalog and spool updates
* Upload catalog updates.
To ensure a satisfactory user experience, Mesh Messages are
intentionally limited in size to 32 KB or less, thus ensuring that an
application can retrieve the most recent 100 messages almost
instantaneously on a high bandwidth connection and without undue
delay on a slower one.
6.3.1. Status
The status transaction returns the status of the containers the
device is authorized to access for the specified account together
with the updated Device Connection Entry if this has been modified
since the entry presented to authenticate the request was issued.
Alice adds an entry to her bookmark catalog. Before the bookmark can
be added, the device synchronizes to the service. The
synchronization process begins with a request for the status of all
the stores associated with the account that it has access rights for:
{
"StatusRequest":{
"CatalogedDeviceDigest":"MAC5-ZJWC-FFYC-2KIO-YYOE-OO43-OZ"}}
If the account has a very large number of stores, the device might
only ask for the status of specific stores of interest.
The response specifies the status of each store specifying the index
and Merkle tree apex digest values for each:
Hallam-Baker Expires 26 April 2023 [Page 16]
Internet-Draft Mesh Protocol Reference October 2022
{
"StatusResponse":{
"ContainerStatus":[{
"Container":"MMM_Inbound",
"Index":3},
{
"Container":"MMM_Outbound",
"Index":1,
"Digest":"FEHy24Y6cLModDXWH31kVc2a3TdhjXPooKHpLAb2JbsO1YQ
nJolmowXAYHhkOGY0kg3jrKNTjds0myf4Dw1sdg"},
{
"Container":"MMM_Local",
"Index":2},
{
"Container":"MMM_Access",
"Index":3,
"Digest":"r5IajJWI1RhTXt1j2_O75SUzphUMofZvSyfO5kLWLh20OGp
kLPsCcCEXprd0_QVPMr4PxBO6Mg7cS-WsOlumJw"},
{
"Container":"MMM_Credential",
"Index":4,
"Digest":"aNMogtuGtBohOUNSCfPXDNONUz5BQ86TNDOfE_HZ5zi2Bw_
FWQik3E1qWyXFi-GuWipin-bJuFPJ2JPu-mIj4w"},
{
"Container":"MMM_Device",
"Index":3,
"Digest":"qg4Zf_QebDEnR4kPOfPnQQiNmEhW0G01F8aJR83z5ibKUvK
cImrRFGTTRDIN2sRNKJZ6HSoAL0Wr1wzEj9NtVQ"},
{
"Container":"MMM_Contact",
"Index":2,
"Digest":"urm7SZRuU2rWHYs-eoxZLg_WI4Hs4ICidDe_RM-GC__aANA
P8OKAEx5Bu_SN-P77U1h63JkQpDDeUtOrvn_qLw"},
{
"Container":"MMM_Application",
"Index":1,
"Digest":"nljVIfu_F6lHDSSYn8dYdpE_QMBgs2KBSP4sI6E8vTA0E5X
4fJZHS8TVzCVIEL7urcVdLxcB0eeoPO82fYhyuQ"},
{
"Container":"MMM_Publication",
"Index":1,
"Digest":"XhOEeG1waPc8GRUl1BI_dDoKQnXkaS9Jz16V1Ow5caT9WUL
1W2YU-z6_CxDafc7JfSwXfdYDv62sVyYwFq5Ieg"},
{
"Container":"MMM_Bookmark",
"Index":1,
"Digest":"VuysvMaN2_bZXrJuQ-gYpfCHKN-gM7XlRBIkNLY_fB25hu7
hzdCWMWxgwHK-3KVNMWFC-I8jYYgZxmIOgfVWyQ"},
Hallam-Baker Expires 26 April 2023 [Page 17]
Internet-Draft Mesh Protocol Reference October 2022
{
"Container":"MMM_Task",
"Index":1,
"Digest":"pbjJC7NvIJQF5ke1bpO65uvTe1zvFpur_XK4ddy61dInDLh
ulURJU9cEsScpMrdkxU7rNxN0i-RGRq5RL3ALFA"}
],
"Status":201,
"StatusDescription":"Operation completed successfully"}}
Bug: The current version of the reference code is only returning the
digest values for the outbound store.
6.3.2. Download
The download transaction returns a collection of entries from one or
more containers associated with the profile.
The service MAY limit the number of entries returned in an individual
response for performance reasons.
The previous status operation has reported that a new envelope has
been added to the credential store. The device requests this data
from the service:
{
"DownloadRequest":{
"Select":[{
"Container":"MMM_Credential",
"IndexMin":3,
"IndexMax":4}
]}}
The response contains the requested envelope:
Hallam-Baker Expires 26 April 2023 [Page 18]
Internet-Draft Mesh Protocol Reference October 2022
{
"DownloadResponse":{
"Updates":[{
"Envelopes":[[{
"enc":"A256CBC",
"dig":"S512",
"Salt":"9G8s-0EiAgsU9KfVUcNhmg",
"recipients":[{
"kid":"MD3C-QNUT-ZU52-7ZYI-KKLE-634C-FX46",
"epk":{
"PublicKeyECDH":{
"crv":"X448",
"Public":"hnlO_tCx1jlYE7whov_zahfrvFiVv9FxS
lBtr3ujmPBYkc6h8qfMDV1oRWOGbt8giT03J0g37S-A"}},
"wmk":"zBUGL2OKIECJ120IqN1kQicryZXen5qsZWA7yLZK
tzQfLyimnOkVjw"}
],
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICI6ZnRwLmV4
YW1wbGUuY29tIiwKICAiRXZlbnQiOiAiVXBkYXRlIiwKICAiRmlyc3QiOiAxLAogI
CJQcmV2aW91cyI6IDF9",
"SequenceInfo":{
"Index":3,
"TreePosition":825},
"Received":"2022-10-18T12:43:49Z",
"PayloadDigest":"isMr-j-qxmeh4Jl4M4fFHLMcHNGC0rhRMf
C_fBgP9KLiY7eIwtZmJ9zRDT-LsqD6qTuWgKDDOr5EIdr3F4dYBg",
"TreeDigest":"aNMogtuGtBohOUNSCfPXDNONUz5BQ86TNDOfE
_HZ5zi2Bw_FWQik3E1qWyXFi-GuWipin-bJuFPJ2JPu-mIj4w"},
"i5YiMuM69xy42g6FbOBjc3P-lfIRpsR4FBXKhvu6_OsZxZHSqHTY
GUYuommb9YdpCvZbxrm1W7_mNiBQPMdFWP69r6J3WCT1qYRboEvVSTI3nz8G-RO4G
UlxuYzMZUtMZ4x4EZxpLmbGseS4U7VYe-aqJg6RA-Qjgnijp50y0wQ",
{}
]
],
"Container":"MMM_Credential"}
],
"Status":201,
"StatusDescription":"Operation completed successfully"}}
Future: The current implementation of the download operation is
limited by the capabilities of the HTTP binding of the RUD transport.
A future binding allowing operations that consist of a single request
followed by a sequence of responses will allow much greater
flexibility.
Future versions of the protocol may support optional filtering
criteria so that the service only returns objects matching specific
criteria and/or only return certain parts of the selected messages.
Hallam-Baker Expires 26 April 2023 [Page 19]
Internet-Draft Mesh Protocol Reference October 2022
6.3.3. Transact
The transact transaction appends envelopes to one or more stores.
The operation is atomic, that is either all the changes specified
will be made to the stores or none will. This ensures that
simultaneous attempts to update a store do not result in race
conditions allows Mesh stores to provide ACID (Atomicity,
Consistency, Isolation, Durability) properties to the applications
they serve.
Clients SHOULD check to determine if updates to a container conflict
with pending updates on the device waiting to be uploaded. For
example, if a contact that the user modified on the device attempting
to synchronize was subsequently deleted. The means of resolving such
conflicts is not in the scope of this specification.
Each update to a catalog or container specifies the expected
container index and apex digest. This provides a strong guarantee of
consistency. The service MUST verify each update to check that the
Merkle Tree values specified are consistent with the store entries
and that the signature on the apex value (if specified) is valid and
correct.
Services MAY impose limits on the size and number of additions
performed in response to a TransactRequest message to ensure that
processing time does not degrade performance for other users.
The request payload specifies the data to be appended to the stores.
Hallam-Baker Expires 26 April 2023 [Page 20]
Internet-Draft Mesh Protocol Reference October 2022
{
"TransactRequest":{
"Updates":[{
"Envelopes":[[{
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJOQkNFLU9M
TFMtRkZVRC01S0FXLUxYU08tNlNPVC1NV0tOIiwKICAiRXZlbnQiOiAiTmV3In0",
"SequenceInfo":{
"Index":1,
"TreePosition":0},
"PayloadDigest":"AUNDpV9PHUjG6OU9x1ZWfdBCHdy1y8XyVz
WoW62krM3aNP2uujQdnpmIIozfhK5x70-coCWoAwoRc9K08cKs0w",
"TreeDigest":"a7XTK7vdmA45v9PQf0fEbW7Mx-E7cQPAX2JX0
Bwp_OkzUubItYdTFRY_pkydvEwtdZRUz8K8_EpCSCkLZWj8Bg"},
"ewogICJDYXRhbG9nZWRCb29rbWFyayI6IHsKICAgICJVcmkiOiAi
U2l0ZXMuMiIsCiAgICAiVGl0bGUiOiAiaHR0cDovL3d3dy5leGFtcGxlLm5ldCIsC
iAgICAiVWlkIjogIk5CQ0UtT0xMUy1GRlVELTVLQVctTFhTTy02U09ULU1XS04ifX
0"
]
],
"Container":"MMM_Bookmark"}
]}}
The response reports successful completion:
{
"TransactResponse":{
"Status":201,
"StatusDescription":"Operation completed successfully"}}
6.4. Device Connection
In order to support the wide range of affordances supported by
devices, four device connection interactions are currently specified.
The use of these mechanisms is described in
[draft-hallambaker-mesh-architecture] and the interactions themselves
are described in section ??? following.
Device connection operations are always issued by a device requesting
connection to a Mesh account and must therefore be authenticated
under the device profile rather than the account profile. Two device
connection operations are currently defined:
Connect Requests connection to the account.
Complete Polls for completion of a connection request.
Hallam-Baker Expires 26 April 2023 [Page 21]
Internet-Draft Mesh Protocol Reference October 2022
Since the second operation is merely polling for completion of the
transaction requested by the first, it is likely that these will be
combined in a future revision of the specification.
6.4.1. Connect
If the connection request is initiated by the device being connected,
the device constructs a RequestConnection message which is posted to
the Mesh Service using the Connect operation.
If the Connect operation is accepted (i.e. the service determines it
is not abuse), the service constructs an AcknowledgeConnection
message which is forwarded to the inbound spool of the account to
which connection is requested. The requesting device receives a copy
of the AcknowledgeConnection message and the profile of the account
it is requesting connection to.
As described in the following section, the AcknowledgeConnection
message contains the request details presented by the device and a
nonce value generated by the service. This nonce value is used to
compute the witness value that will be used for mutual authentication
of the device and account.
The connect request is made to the service, not the account. The
payload contains the enveloped connection request:
{
"ConnectRequest":{
"EnvelopedRequestConnection":[{
"EnvelopeId":"MCRT-4U7E-2EFA-6GT6-ATYZ-NKLT-DNU6",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJOQktWLVRETkktS1
Y2Ui1PNlU2LUI0VUktM0lOSy1BQUZHIiwKICAiTWVzc2FnZVR5cGUiOiAiUmVxdWV
zdENvbm5lY3Rpb24iLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1tL29iamVjdCIs
CiAgIkNyZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0ODoxMVoifQ"},
"ewogICJSZXF1ZXN0Q29ubmVjdGlvbiI6IHsKICAgICJBY2NvdW50QWRkcm
VzcyI6ICJhbGljZUBleGFtcGxlLmNvbSIsCiAgICAiQXV0aGVudGljYXRlZERhdGE
iOiBbewogICAgICAgICJFbnZlbG9wZUlkIjogIk1EVlUtQU9TVC1URElILUFYR0Ut
V1VKUy1JNTZWLVdKUDMiLAogICAgICAgICJkaWciOiAiUzUxMiIsCiAgICAgICAgI
kNvbnRlbnRNZXRhRGF0YSI6ICJld29nSUNKVmJtbHhkV1ZKWkNJNklDSk5SRlpWTF
VGUFUxUXRWRVJKU0MxCiAgQldFZEZMVmRWU2xNdFNUVTJWaTFYU2xBeklpd0tJQ0F
pVFdWemMyRm5aVlI1Y0dVaU9pQWlVSEp2Wm1sc1oKICBVUmxkbWxqWlNJc0NpQWdJ
bU4wZVNJNklDSmhjSEJzYVdOaGRHbHZiaTl0YlcwdmIySnFaV04wSWl3S0lDQQogI
GlRM0psWVhSbFpDSTZJQ0l5TURJeUxURXdMVEU0VkRFeU9qUTRPakV4V2lKOSJ9LA
ogICAgICAiZXdvZ0lDSlFjbTltYVd4bFJHVjJhV05sSWpvZ2V3b2dJQ0FnSWtWdVk
zSgogIDVjSFJwYjI0aU9pQjdDaUFnSUNBZ0lDSlZaR1lpT2lBaVRVTmFXQzFWTWpK
R0xUSlRTVTh0VlVSVk5DMHpNCiAgbEJVTFVKWE56WXRTRmxJVUNJc0NpQWdJQ0FnS
UNKUWRXSnNhV05RWVhKaGJXVjBaWEp6SWpvZ2V3b2dJQ0EKICBnSUNBZ0lDSlFkV0
pzYVdOTFpYbEZRMFJJSWpvZ2V3b2dJQ0FnSUNBZ0lDQWdJbU55ZGlJNklDSllORFE
Hallam-Baker Expires 26 April 2023 [Page 22]
Internet-Draft Mesh Protocol Reference October 2022
0SQogIGl3S0lDQWdJQ0FnSUNBZ0lDSlFkV0pzYVdNaU9pQWlXa0ZoYUdwUFVsRlli
R1l4TmpCbU16Wk9PVWM1YUdVCiAgM1dDMVdjMWwzVlc5VlNtTkdiWFpMWTBaSE9Ve
FJSak01U1doVE9Rb2dJR05vTTJkd1gxUXlkQzF3Um0xaVcKICBqZHpjMnRtVjI1Ql
FTSjlmWDBzQ2lBZ0lDQWlVMmxuYm1GMGRYSmxJam9nZXdvZ0lDQWdJQ0FpVldSbUl
qbwogIGdJazFDUkU4dE0wczNRUzFMVWxSSkxVMUNWRkV0VFZkWk5pMVZSRkJHTFZR
elNWa2lMQW9nSUNBZ0lDQWlVCiAgSFZpYkdsalVHRnlZVzFsZEdWeWN5STZJSHNLS
UNBZ0lDQWdJQ0FpVUhWaWJHbGpTMlY1UlVORVNDSTZJSHMKICBLSUNBZ0lDQWdJQ0
FnSUNKamNuWWlPaUFpUldRME5EZ2lMQW9nSUNBZ0lDQWdJQ0FnSWxCMVlteHBZeUk
2SQogIENKRmJuUmlRWGRwZVZaQk1sOXpkMmxHUVdKTVNVRkpNelZqWjNJelR6QnVT
bkl3UVU5a1V6UmpWWEY2YVMwCiAgemMyMHdNMVIzQ2lBZ1ZFVkdUbEZvVERaa05XS
TFabkZRVFUxMFZHbzNWR2xCSW4xOWZTd0tJQ0FnSUNKQmQKICBYUm9aVzUwYVdOaG
RHbHZiaUk2SUhzS0lDQWdJQ0FnSWxWa1ppSTZJQ0pOUXpOU0xUSlZTa3N0UzBOT05
TMQogIFpRa00zTFVkR1ExVXRTa1phUlMxU1IwZEdJaXdLSUNBZ0lDQWdJbEIxWW14
cFkxQmhjbUZ0WlhSbGNuTWlPCiAgaUI3Q2lBZ0lDQWdJQ0FnSWxCMVlteHBZMHRsZ
VVWRFJFZ2lPaUI3Q2lBZ0lDQWdJQ0FnSUNBaVkzSjJJam8KICBnSWxnME5EZ2lMQW
9nSUNBZ0lDQWdJQ0FnSWxCMVlteHBZeUk2SUNKQldHdHFiVUpSWTBWcWQyeGpUR2x
YZQogIGtWNFRsTmlhWFF3ZWxSQlpGZzJkbmhSVWxGemRFWlpibkZsY1hjM0xWaHRZ
M0pSQ2lBZ00zcE1NRnBOVVVkCiAgUlVXaFlPRFpKU21wVVNEWldaVmRCSW4xOWZTd
0tJQ0FnSUNKUWNtOW1hV3hsVTJsbmJtRjBkWEpsSWpvZ2UKICB3b2dJQ0FnSUNBaV
ZXUm1Jam9nSWsxRVZsVXRRVTlUVkMxVVJFbElMVUZZUjBVdFYxVktVeTFKTlRaV0x
WZAogIEtVRE1pTEFvZ0lDQWdJQ0FpVUhWaWJHbGpVR0Z5WVcxbGRHVnljeUk2SUhz
S0lDQWdJQ0FnSUNBaVVIVmliCiAgR2xqUzJWNVJVTkVTQ0k2SUhzS0lDQWdJQ0FnS
UNBZ0lDSmpjbllpT2lBaVJXUTBORGdpTEFvZ0lDQWdJQ0EKICBnSUNBZ0lsQjFZbX
hwWXlJNklDSTJXbEZhTm5GemFrVldjVVZMYVhSelJqQTJaVEozTTFaVGQwRnZPR3B
EUgogIG10blZXcHBTWEl0WTJka1VIZHFVakJLVEhKc0NpQWdZbEJvTW1WTFpuTnhV
MVp2TlRob1JIQkhVR055WjI5CiAgQkluMTlmWDE5IiwKICAgICAgewogICAgICAgI
CJzaWduYXR1cmVzIjogW3sKICAgICAgICAgICAgImFsZyI6ICJTNTEyIiwKICAgIC
AgICAgICAgImtpZCI6ICJNRFZVLUFPU1QtVERJSC1BWEdFLVdVSlMtSTU2Vi1XSlA
zIiwKICAgICAgICAgICAgInNpZ25hdHVyZSI6ICIzLU5oVGkwMlJDNnVieXFPZWtN
eGNnUVBjU2xyY0ZRQkN0cjBVSkZlV0hYd0MtXzBDCiAgSXFhWGl5elJmUjJ3MWtFU
jhSZndzUk53R1lBTmY0aWJFSFkySU5yVkNwVko4cm9Hd0YydGRoY2dTQXdlTy0KIC
BVLXE1Wk42R2ZsZEZFbjBUaS1iZHVLOEdPMzUxZHctUUxyaHpOWFJNQSJ9XSwKICA
gICAgICAiUGF5bG9hZERpZ2VzdCI6ICJyWHdfQ29LUGNIRG5Oa2E1dklXVjd4UTc3
cGYtMmZ5VW4zaDNmeUtLUDUtYjAKICBDWkZ1dzEwQWt2OFRWajc0OHZ1MGFfRlZPZ
UYtRG9KMnp3U3QtekpIUSJ9XSwKICAgICJDbGllbnROb25jZSI6ICJzWDNPNTVGYz
BfUWlmN3NzLW9ZUWxRIiwKICAgICJQaW5JZCI6ICJBQkZJLVlFWkItSEFFTy03TFZ
NLUU3VkItSVdVQy1ZRDNGIiwKICAgICJQaW5XaXRuZXNzIjogIldaaEpuN2JUR3Fs
dFNsOG5jVi1DRGR4ZUhzaW1zZmV5em55cGoyNjZfRm4tYWtRRQogIHFXZlBDRzExc
jUxaVZHWks1aVNGWllJSU1Kam1XaFBUZkpEcWZ3IiwKICAgICJNZXNzYWdlSWQiOi
AiTkJLVi1URE5JLUtWNlItTzZVNi1CNFVJLTNJTkstQUFGRyJ9fQ"
],
"Rights":[
]}}
The response payload contains the information the device requires to
compute the witness value and to poll for completion. This is a copy
of the request acknowledgement and a copy of the profile of the
account the device has requested connection to:
Hallam-Baker Expires 26 April 2023 [Page 23]
Internet-Draft Mesh Protocol Reference October 2022
{
"ConnectResponse":{
"EnvelopedAcknowledgeConnection":[{
"EnvelopeId":"MB6L-ABHL-UQ3N-SPDG-GURC-4K6A-OLGG",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJBSTdXLVlLUEstTV
IzVS1DWlc3LUdBVlEtMjRMWi1NU0ZBIiwKICAiTWVzc2FnZVR5cGUiOiAiQWNrbm9
3bGVkZ2VDb25uZWN0aW9uIiwKICAiY3R5IjogImFwcGxpY2F0aW9uL21tbS9vYmpl
Y3QiLAogICJDcmVhdGVkIjogIjIwMjItMTAtMThUMTI6NDg6MTFaIn0"},
"ewogICJBY2tub3dsZWRnZUNvbm5lY3Rpb24iOiB7CiAgICAiRW52ZWxvcG
VkUmVxdWVzdENvbm5lY3Rpb24iOiBbewogICAgICAgICJFbnZlbG9wZUlkIjogIk1
DUlQtNFU3RS0yRUZBLTZHVDYtQVRZWi1OS0xULUROVTYiLAogICAgICAgICJDb250
ZW50TWV0YURhdGEiOiAiZXdvZ0lDSlZibWx4ZFdWSlpDSTZJQ0pPUWt0V0xWUkVUa
2t0UzFZMlVpMQogIFBObFUyTFVJMFZVa3RNMGxPU3kxQlFVWkhJaXdLSUNBaVRXVn
pjMkZuWlZSNWNHVWlPaUFpVW1WeGRXVnpkCiAgRU52Ym01bFkzUnBiMjRpTEFvZ0l
DSmpkSGtpT2lBaVlYQndiR2xqWVhScGIyNHZiVzF0TDI5aWFtVmpkQ0kKICBzQ2lB
Z0lrTnlaV0YwWldRaU9pQWlNakF5TWkweE1DMHhPRlF4TWpvME9Eb3hNVm9pZlEif
SwKICAgICAgImV3b2dJQ0pTWlhGMVpYTjBRMjl1Ym1WamRHbHZiaUk2SUhzS0lDQW
dJQ0oKICBCWTJOdmRXNTBRV1JrY21WemN5STZJQ0poYkdsalpVQmxlR0Z0Y0d4bEx
tTnZiU0lzQ2lBZ0lDQWlRWFYwYQogIEdWdWRHbGpZWFJsWkVSaGRHRWlPaUJiZXdv
Z0lDQWdJQ0FnSUNKRmJuWmxiRzl3WlVsa0lqb2dJazFFVmxVCiAgdFFVOVRWQzFVU
kVsSUxVRllSMFV0VjFWS1V5MUpOVFpXTFZkS1VETWlMQW9nSUNBZ0lDQWdJQ0prYV
djaU8KICBpQWlVelV4TWlJc0NpQWdJQ0FnSUNBZ0lrTnZiblJsYm5STlpYUmhSR0Y
wWVNJNklDSmxkMjluU1VOS1ZtSgogIHRiSGhrVjFaS1drTkpOa2xEU2s1U1JscFdU
RlZHVUZVeFVYUldSVkpLVTBNeENpQWdRbGRGWkVaTVZtUldVCiAgMnhOZEZOVVZUS
ldhVEZZVTJ4QmVrbHBkMHRKUTBGcFZGZFdlbU15Um01YVZsSTFZMGRWYVU5cFFXbF
ZTRXAKICAyV20xc2Mxb0tJQ0JWVW14a2JXeHFXbE5KYzBOcFFXZEpiVTR3WlZOSk5
rbERTbWhqU0VKellWZE9hR1JIYgogIEhaaWFUbDBZbGN3ZG1JeVNuRmFWMDR3U1ds
M1MwbERRUW9nSUdsUk0wcHNXVmhTYkZwRFNUWkpRMGw1VFVSCiAgSmVVeFVSWGRNV
kVVMFZrUkZlVTlxVVRSUGFrVjRWMmxLT1NKOUxBb2dJQ0FnSUNBaVpYZHZaMGxEU2
xGamIKICBUbHRZVmQ0YkZKSFZqSmhWMDVzU1dwdloyVjNiMmRKUTBGblNXdFdkVmt
6U2dvZ0lEVmpTRkp3WWpJMGFVOQogIHBRamREYVVGblNVTkJaMGxEU2xaYVIxbHBU
MmxCYVZSVlRtRlhRekZXVFdwS1IweFVTbFJUVlRoMFZsVlNWCiAgazVETUhwTkNpQ
WdiRUpWVEZWS1dFNTZXWFJUUm14SlZVTkpjME5wUVdkSlEwRm5TVU5LVVdSWFNuTm
hWMDUKICBSV1ZoS2FHSlhWakJhV0VwNlNXcHZaMlYzYjJkSlEwRUtJQ0JuU1VOQlo
wbERTbEZrVjBwellWZE9URnBZYgogIEVaUk1GSkpTV3B2WjJWM2IyZEpRMEZuU1VO
QlowbERRV2RKYlU1NVpHbEpOa2xEU2xsT1JGRTBTUW9nSUdsCiAgM1MwbERRV2RKU
TBGblNVTkJaMGxEU2xGa1YwcHpZVmROYVU5cFFXbFhhMFpvWVVkd1VGVnNSbGxpUj
FsNFQKICBtcENiVTE2V2s5UFZXTTFZVWRWQ2lBZ00xZERNVmRqTVd3elZsYzVWbE5
0VGtkaVdGcE1XVEJhU0U5VmVGSgogIFNhazAxVTFkb1ZFOVJiMmRKUjA1dlRUSmtk
MWd4VVhsa1F6RjNVbTB4YVZjS0lDQnFaSHBqTW5SdFZqSTFRCiAgbEZUU2psbVdEQ
npRMmxCWjBsRFFXbFZNbXh1WW0xR01HUllTbXhKYW05blpYZHZaMGxEUVdkSlEwRn
BWbGQKICBTYlVscWJ3b2dJR2RKYXpGRFVrVTRkRTB3Y3pOUlV6Rk1WV3hTU2t4Vk1
VTldSa1YwVkZaa1drNXBNVlpTUgogIGtKSFRGWlJlbE5XYTJsTVFXOW5TVU5CWjBs
RFFXbFZDaUFnU0ZacFlrZHNhbFZIUm5sWlZ6RnNaRWRXZVdOCiAgNVNUWkpTSE5MU
1VOQlowbERRV2RKUTBGcFZVaFdhV0pIYkdwVE1sWTFVbFZPUlZORFNUWkpTSE1LSU
NCTFMKICBVTkJaMGxEUVdkSlEwRm5TVU5LYW1OdVdXbFBhVUZwVWxkUk1FNUVaMmx
NUVc5blNVTkJaMGxEUVdkSlEwRgogIG5TV3hDTVZsdGVIQlplVWsyU1FvZ0lFTktS
bUp1VW1sUldHUndaVlphUWsxc09YcGtNbXhIVVZkS1RWTlZSCiAga3BOZWxacVdqT
Hallam-Baker Expires 26 April 2023 [Page 24]
Internet-Draft Mesh Protocol Reference October 2022
kplbFI2UW5WVGJrbDNVVlU1YTFWNlVtcFdXRVkyWVZNd0NpQWdlbU15TUhkTk1WSX
pRMmwKICBCWjFaRlZrZFViRVp2VkVSYWEwNVhTVEZhYmtaUlZGVXhNRlpIYnpOV1I
yeENTVzR4T1daVGQwdEpRMEZuUwogIFVOS1FtUUtJQ0JZVW05YVZ6VXdZVmRPYUdS
SGJIWmlhVWsyU1VoelMwbERRV2RKUTBGblNXeFdhMXBwU1RaCiAgSlEwcE9VWHBPV
TB4VVNsWlRhM04wVXpCT1QwNVRNUW9nSUZwUmEwMHpURlZrUjFFeFZYUlRhMXBoVW
xNeFUKICAxSXdaRWRKYVhkTFNVTkJaMGxEUVdkSmJFSXhXVzE0Y0ZreFFtaGpiVVo
wV2xoU2JHTnVUV2xQQ2lBZ2FVSQogIDNRMmxCWjBsRFFXZEpRMEZuU1d4Q01WbHRl
SEJaTUhSc1pWVldSRkpGWjJsUGFVSTNRMmxCWjBsRFFXZEpRCiAgMEZuU1VOQmFWa
3pTakpKYW04S0lDQm5TV3huTUU1RVoybE1RVzluU1VOQlowbERRV2RKUTBGblNXeE
NNVmwKICB0ZUhCWmVVazJTVU5LUWxkSGRIRmlWVXBTV1RCV2NXUXllR3BVUjJ4WVp
Rb2dJR3RXTkZSc1RtbGhXRkYzWgogIFd4U1FscEdaekprYm1oU1ZXeEdlbVJGV2xw
aWJrWnNZMWhqTTB4V2FIUlpNMHBTUTJsQlowMHpjRTFOUm5CCiAgT1ZWVmtDaUFnV
WxWWGFGbFBSRnBLVTIxd1ZWTkVXbGRhVm1SQ1NXNHhPV1pUZDB0SlEwRm5TVU5LVV
dOdE8KICBXMWhWM2hzVlRKc2JtSnRSakJrV0Vwc1NXcHZaMlVLSUNCM2IyZEpRMEZ
uU1VOQmFWWlhVbTFKYW05blNXcwogIHhSVlpzVlhSUlZUbFVWa014VlZKRmJFbE1W
VVpaVWpCVmRGWXhWa3RWZVRGS1RsUmFWMHhXWkFvZ0lFdFZSCiAgRTFwVEVGdlowb
ERRV2RKUTBGcFZVaFdhV0pIYkdwVlIwWjVXVmN4YkdSSFZubGplVWsyU1VoelMwbE
RRV2QKICBKUTBGblNVTkJhVlZJVm1saUNpQWdSMnhxVXpKV05WSlZUa1ZUUTBrMlN
VaHpTMGxEUVdkSlEwRm5TVU5CWgogIDBsRFNtcGpibGxwVDJsQmFWSlhVVEJPUkdk
cFRFRnZaMGxEUVdkSlEwRUtJQ0JuU1VOQlowbHNRakZaYlhoCiAgd1dYbEpOa2xEU
1RKWGJFWmhUbTVHZW1GclZsZGpWVlpNWVZoU2VsSnFRVEphVkVvelRURmFWR1F3Um
5aUFIKICAzQkVVZ29nSUcxMGJsWlhjSEJUV0VsMFdUSmthMVZJWkhGVmFrSkxWRWh
LYzBOcFFXZFpiRUp2VFcxV1RGcAogIHVUbmhWTVZwMlRsUm9iMUpJUWtoVlIwNTVX
akk1Q2lBZ1FrbHVNVGxtV0RFNUlpd0tJQ0FnSUNBZ2V3b2dJCiAgQ0FnSUNBZ0lDS
nphV2R1WVhSMWNtVnpJam9nVzNzS0lDQWdJQ0FnSUNBZ0lDQWdJbUZzWnlJNklDSl
ROVEUKICB5SWl3S0lDQWdJQ0FnSUNBZ0lDQWdJbXRwWkNJNklDSk5SRlpWTFVGUFU
xUXRWRVJKU0MxQldFZEZMVmRWUwogIGxNdFNUVTJWaTFYU2xBeklpd0tJQ0FnSUNB
Z0lDQWdJQ0FnSW5OcFoyNWhkSFZ5WlNJNklDSXpMVTVvVkdrCiAgd01sSkROblZpZ
VhGUFpXdE5lR05uVVZCalUyeHlZMFpSUWtOMGNqQlZTa1psVjBoWWQwTXRYekJEQ2
lBZ1MKICBYRmhXR2w1ZWxKbVVqSjNNV3RGVWpoU1puZHpVazUzUjFsQlRtWTBhV0p
GU0ZreVNVNXlWa053VmtvNGNtOQogIEhkMFl5ZEdSb1kyZFRRWGRsVHkwS0lDQlZM
WEUxV2s0MlIyWnNaRVpGYmpCVWFTMWlaSFZMT0VkUE16VXhaCiAgSGN0VVV4eWFIc
E9XRkpOUVNKOVhTd0tJQ0FnSUNBZ0lDQWlVR0Y1Ykc5aFpFUnBaMlZ6ZENJNklDSn
lXSGQKICBmUTI5TFVHTklSRzVPYTJFMWRrbFhWamQ0VVRjM2NHWXRNbVo1Vlc0emF
ETm1lVXRMVURVdFlqQUtJQ0JEVwogIGtaMWR6RXdRV3QyT0ZSV2FqYzBPSFoxTUdG
ZlJsWlBaVVl0Ukc5S01ucDNVM1F0ZWtwSVVTSjlYU3dLSUNBCiAgZ0lDSkRiR2xsY
m5ST2IyNWpaU0k2SUNKeldETlBOVFZHWXpCZlVXbG1OM056TFc5WlVXeFJJaXdLSU
NBZ0kKICBDSlFhVzVKWkNJNklDSkJRa1pKTFZsRldrSXRTRUZGVHkwM1RGWk5MVVU
zVmtJdFNWZFZReTFaUkROR0lpdwogIEtJQ0FnSUNKUWFXNVhhWFJ1WlhOeklqb2dJ
bGRhYUVwdU4ySlVSM0ZzZEZOc09HNWpWaTFEUkdSNFpVaHphCiAgVzF6Wm1WNWVtN
TVjR295TmpaZlJtNHRZV3RSUlFvZ0lIRlhabEJEUnpFeGNqVXhhVlpIV2tzMWFWTk
dXbGwKICBKU1UxS2FtMVhhRkJVWmtwRWNXWjNJaXdLSUNBZ0lDSk5aWE56WVdkbFN
XUWlPaUFpVGtKTFZpMVVSRTVKTAogIFV0V05sSXRUelpWTmkxQ05GVkpMVE5KVGtz
dFFVRkdSeUo5ZlEiXSwKICAgICJTZXJ2ZXJOb25jZSI6ICJRQnloNmlsa0g4VFdDe
TkyY1cySVpRIiwKICAgICJXaXRuZXNzIjogIkFJN1ctWUtQSy1NUjNVLUNaVzctR0
FWUS0yNExaLU1TRkEiLAogICAgIk1lc3NhZ2VJZCI6ICJBSTdXLVlLUEstTVIzVS1
DWlc3LUdBVlEtMjRMWi1NU0ZBIn19"
],
Hallam-Baker Expires 26 April 2023 [Page 25]
Internet-Draft Mesh Protocol Reference October 2022
"EnvelopedProfileAccount":[{
"EnvelopeId":"MDRR-5W72-3RJO-VZB3-VUVQ-IOEC-6UNA",
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJNRFJSLTVXNzItM1
JKTy1WWkIzLVZVVlEtSU9FQy02VU5BIiwKICAiTWVzc2FnZVR5cGUiOiAiUHJvZml
sZVVzZXIiLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1tL29iamVjdCIsCiAgIkNy
ZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0MzoyOFoifQ"},
"ewogICJQcm9maWxlVXNlciI6IHsKICAgICJDb21tb25TaWduYXR1cmUiOi
B7CiAgICAgICJVZGYiOiAiTUNERy1UUzdULVVQREQtVjY2Ny1PWFNYLVFKNUctRlF
SWiIsCiAgICAgICJQdWJsaWNQYXJhbWV0ZXJzIjogewogICAgICAgICJQdWJsaWNL
ZXlFQ0RIIjogewogICAgICAgICAgImNydiI6ICJFZDQ0OCIsCiAgICAgICAgICAiU
HVibGljIjogImhBZTdpaUNZbm51MGpyVFNhdTVXdWNPNzRNajBaQTlEY1N6VFd5ck
5RVXg3dDVuSnNsZkIKICB6VjBqYnpaWWprb29HalFsYnZJclVUR0EifX19LAogICA
gIkFjY291bnRBZGRyZXNzIjogImFsaWNlQGV4YW1wbGUuY29tIiwKICAgICJTZXJ2
aWNlVWRmIjogIk1CWUgtQkozSS1FVVdMLTdRQUktTkdJRS1UUEM2LVg0S1UiLAogI
CAgIkVzY3Jvd0VuY3J5cHRpb24iOiB7CiAgICAgICJVZGYiOiAiTUJNVC1LSkpXLU
ZVN1UtSFJNUi1LNE9JLU9LTVktWENZTyIsCiAgICAgICJQdWJsaWNQYXJhbWV0ZXJ
zIjogewogICAgICAgICJQdWJsaWNLZXlFQ0RIIjogewogICAgICAgICAgImNydiI6
ICJYNDQ4IiwKICAgICAgICAgICJQdWJsaWMiOiAiak1XbTJvRGpvQWdJZ053SkV3e
Gk2MkZvRnhrN002R0VMX1FUcGZySmhvd2k2eUFJOTFHVAogIDh4X3pFVG9NYnVheD
A5VkpDRU9QWnphQSJ9fX0sCiAgICAiQWRtaW5pc3RyYXRvclNpZ25hdHVyZSI6IHs
KICAgICAgIlVkZiI6ICJNQkZNLVhXMkgtQ0JMVC1BTU5RLVpXVlotVVNHSS1LT0dJ
IiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tle
UVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIkVkNDQ4IiwKICAgICAgICAgICJQdW
JsaWMiOiAid0loNFhfcnpEMzQ2OFRFWnhLdGZWd0xSdHRlRFBZUEpqeWFUUUMwckl
5bzFOazZQTnNkUQogIHZNa0FPNzZBejlCR19aTGxVNE50T2tnQSJ9fX0sCiAgICAi
Q29tbW9uRW5jcnlwdGlvbiI6IHsKICAgICAgIlVkZiI6ICJNQzdWLVhWTUotNzNPT
C1ZV0dMLTVNSUstUk9YUS1HTDNZIiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOi
B7CiAgICAgICAgIlB1YmxpY0tleUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIlg
0NDgiLAogICAgICAgICAgIlB1YmxpYyI6ICJjbERrUVQ0bDBxV3E4eFJ4SlNsNmp0
eV9NdXFsWTM5ZE1jOUhheFEwSWk5Nk00aThFVWVRCiAgeW9VT1pRM2IxYjQwVFc3e
UtBb3U5SHlBIn19fSwKICAgICJDb21tb25BdXRoZW50aWNhdGlvbiI6IHsKICAgIC
AgIlVkZiI6ICJNQVgzLUU2V1AtQk1JUy1JWFBJLU1ZUFItTTU2Qy1PSVUzIiwKICA
gICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tleUVDREgi
OiB7CiAgICAgICAgICAiY3J2IjogIlg0NDgiLAogICAgICAgICAgIlB1YmxpYyI6I
CJwamdjdmlIRU9yYW4yWmFMa2E5ZmVnbmFqN3V0OU5Sd2NTNUZHWmlGODBvSmUzRn
pVeHZzCiAgeE1xdXRJNFpxNW5zbVAwbDhEa1FPUUlBIn19fSwKICAgICJQcm9maWx
lU2lnbmF0dXJlIjogewogICAgICAiVWRmIjogIk1EUlItNVc3Mi0zUkpPLVZaQjMt
VlVWUS1JT0VDLTZVTkEiLAogICAgICAiUHVibGljUGFyYW1ldGVycyI6IHsKICAgI
CAgICAiUHVibGljS2V5RUNESCI6IHsKICAgICAgICAgICJjcnYiOiAiRWQ0NDgiLA
ogICAgICAgICAgIlB1YmxpYyI6ICI4MXN3cG0wNVQ5b2x5cWJNSE8wZGFEVFdSMmk
tUEtGaEhtQnRHdjVwTkowNmg2a0tFNk5VCiAgMGJDTHY2U3k3cGJuc3dXbUZzekt0
U3FBIn19fX19",
{
"signatures":[{
"alg":"S512",
"kid":"MDRR-5W72-3RJO-VZB3-VUVQ-IOEC-6UNA",
"signature":"UNtyhJFuwLPmj8uuSw6Ts61ACoOkEoLF63rSbHT3
Hallam-Baker Expires 26 April 2023 [Page 26]
Internet-Draft Mesh Protocol Reference October 2022
5bDRuS8VFhnkyNX2mQ4SIGHuBPPSURZB84kAGRhq0MRAR32jbTJr4We3LSy_PdeGh
5hVaGbRMUhX2V40SVzy7SxLcGYW8iXqXq9PVYL3S315fBIA"}
],
"PayloadDigest":"6P0GfqW3b_kYhYrWG0e0oXy0uENOr_YxxcU3CgLa
NO3tLeTmWkUCGtlZUMvEptTtN-Ysu4KqmXr7OmphX03qow"}
],
"Status":201,
"StatusDescription":"Operation completed successfully"}}
6.4.2. Complete
The complete operation is used to complete the binding of a device to
the account regardless of whether the operation is initiated by the
administration device or the connecting device.
The complete request is made to the service, not the account. The
payload specifies the account the device is requesting completion for
and the identifier of the completion message.
{
"CompleteRequest":{
"AccountAddress":"alice@example.com",
"ResponseID":"MBI3-QJW4-3BIO-7SBZ-PEJP-E7NX-3W7E"}}
The response payload:
{
"CompleteResponse":{
"EnvelopedRespondConnection":[{
"EnvelopeId":"MAO3-KP7L-PES4-4SNT-JDPD-ZXLR-6WOI",
"enc":"A256CBC",
"Salt":"eRugzocT4XiifhaDCB1yWw",
"recipients":[{
"kid":"MCZX-U22F-2SIO-UDU4-32PT-BW76-HYHP",
"epk":{
"PublicKeyECDH":{
"crv":"X448",
"Public":"8LznRcRSACR-WfvIeNkjQSi24HBzJHfa9MqPTP_
-IyGrXhjuVfceOCF93412kSqQQLT2zus8RS4A"}},
"wmk":"NJmrLBqP5xUnXPesS8J09CXhdvMhxi9dCmj_9DUN0E9rXd
xFbiuVGA"}
],
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJNQkkzLVFKVzQtM0
JJTy03U0JaLVBFSlAtRTdOWC0zVzdFIiwKICAiTWVzc2FnZVR5cGUiOiAiUmVzcG9
uZENvbm5lY3Rpb24iLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1tL29iamVjdCIs
CiAgIkNyZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0ODoxM1oifQ",
"SequenceInfo":{
"Index":3,
Hallam-Baker Expires 26 April 2023 [Page 27]
Internet-Draft Mesh Protocol Reference October 2022
"TreePosition":426},
"Received":"2022-10-18T12:48:13Z"},
"z_KxxJI3qrVxUaauNLzqcqwTk8tFFKVgwpSJkyVWRxGhuHZvg0LBIz4Jm3
0uktjBG-gnuKf-qo8vhqWmXLpeJu0caqFNH0hRan7qE5VxJ9srJU1IhYcRTxpR6YU
MTyLRfpxNqFILJFCOAdt6pIGWaCcYrhCG8MLis2BsajsKEPtKzh-zaqZ2SDfgOvp1
N2JfoP1JBG8AuBEXq-m2UMtVP3ddhbodbzIdAXTSoaEerz8XGbAJGMyqVGXeDfMGl
wCXIr-vvedrLGPzWbYfT3dO4sF8JrYN8_zaOHVn4MXMOkOl3ArevmphdAx_a-BZhu
9VjSyvFZs9DGBSeZIjjup9yOVONqa-FwEu-oFzRDgaNdmkCbJvmJop5SDvdZnxIjX
h9wxd3yjg0ov6c5KDhbCLp9eNv4kGMlvfrvU5wfdfowsrGepTHqc5Dc7R3FZCAKW_
fQM8X7NDGX58BH_8R18hZv8Ej77YFG28EN4d7fG4zNjHKHWpuMkDuDjjz6jFyhH7V
xW6K5uNX_09DL2N-wk5ovDQwTu0LKUAFLbJkgNA3mJmMRFhdfBnO9ZOnQR45EfpWc
nW6FeBGSlCnLQ3atkaKvKOvJQXG4RrQt5wApILbtaZdQibrQb0IEua7LclrY7G-M_
xyGr6RXMGymigKts4UwzBzioos0z5GA_FfllKqrYgRMiYStuXqUpmVgkiErEM4Uts
5RNXw_e2QDXRONr6P2yN2ivt7l5n6OJPkm-HAZAmqAdNkCrP-8xT2ZEVUgtfg7DA5
hyWFAydjS_Czt8whzEjsr0qTf4FMN8D-ZpvVkrDLubxND4hJXHULI3z3SMEY8XIzS
_DOHjPobazniNakK3nhRwZ5SuYz9HtyaeUrpFQf-IJwOC9-km4KQ0br9p95pdmM0e
GMdKdhr7Tzq4s7AnnHC-DYLfk8R7azoc0KvGAEKWZJ20UKObRhLUAlqCr3FvkKYNU
o43C118c6z1ibjA_eK57lF5o2rMVfINs5f8H2_lKpmvm2lgOe4_eigQmkDdfCg-Da
BJroLCCJ9y1WpacHB7rM784e8Q74B2-KAOtSWqP6DxS292D_JCB3c3q_AHQ0XvMY4
U0uM9aa6QGmIQJtJZgXjJ65iAGhHdyfGFlW1AUW4V0oifSXTbZzF2bs7pmL81ZSRB
58O_Hi0dYzBFrmZbDPlVKqncHOWXRX4tA9IkavP2PPV-fu6dW0kD29xrpKWl-1QbY
3CEdH8rrYz2ckbKgSFjMxVVh5unVFK3ctB_BpowInQuCEE5zQXDZJKMk2TQbK8hmC
HEeax2F1jh7I0wn2C0mKmHUbvIX0wQ0W38J_HArNpFFr087TEHhRSYVoldTEPJLDJ
0E3Z87o8KWd2mGo05he4KC5eZgA5osk5tugiOop5K_peMGppBsb3qQx13_PiCR2MX
W4n6aHmlEjh-Q2oWktOEo_SDk7lQDy52YaXeS1RGvy-N2FCHfABrmnAXwUqEaaN1m
SsOrOTO7mvEuWOTWVMHQFVTmfndlV-V6iNS5nOY87LlDXqcCc6HWVMz5yoGKrHI6n
b1rosJQjxOBp6XHanaPhFY0bglqdeOQ4pgwR_MnS6hLcu91cwNxfkbMHgL3c0D8Xv
hfQ-u9odnXWo-36MzIbdwviqZcMb6Jur4WOd5wsnLff65VYm-pLxmI6GOqvk2uh38
NZS6K99UuX3KAX4p2UgQPQ_XO47Aosi_1SYxKv1wYurrFr4nVZibdCngfz67YJ-0k
n6vMCJq3NAsXaRtibZ-Wult_oc9EDEAOxsZwp4ephsyUh4XGCrER0KtCZncdnMami
IykdBs6FVVAoaKAg4IyZ7vzj7G56oo1QitSTtB59-kJQ6DXESnQzaIS-EbBdQNX7Q
lFU3cEfVTwlArkyNu9mOQyFVpo-Hr0pIlFOGaxQc05LfcjJUkPzZ_9p8RuwzIfQ2s
7towpR782EIgSuwmJEAMBgygNL36fiIedFXtsoaWtwpiH5fGBk5JU_0Y_pXmUNhsq
P_oRIF-rb8j0sr-Nc81UnD2SHuGhn9lGR4sy1Cp3kJgXac9YmwfopJC741DHF0HsA
rfq_pTpxpL90MrM-OBmMP8DtxGtf9OPa_v31YhHyMRn_FqIHRxpeJhrNOv5qbQUIM
hyrCIkUDNxgsgFlVUtksIGc2L_96GGo8vk6yF5wRwr9k3XVn8WTtyRW7UYTYtYK1X
QV43J1r5ac40K6aaqgSB973fNxrZf3pT_-NAYOFsZA2iEhF8y0y_Z-Un6DMrFLg60
f7jC225oRAPtUg4TBaKyojVmEAfOTMsQSUIuHec6EJAcl0Sf6EgS5QFoHh5hvVq6f
ZgXqOQ8Igq1cfBcELIUAYZMRPLyc_sdgBnyFpDJtGQyBzy3JhaP8gW3F9_aBJLQFT
xCm05JMv_yzs7tofOpprknlK7nC_mWgioadjQ1AL9g430cZ0WEjJgr-5yC7JESjpD
nLHIOsEgegGpggK1uTo4fWYd6CUPmxgIDXVX9xr8VbCeouUIjoQLH6WNZ6vDmGaza
BQ9pCGXM1q99qoi3ukcYR402bJSgpIjehQC86zHFN0Ggqt9dJc5Yd5euHU9O6W_NZ
SIu_bAUv689wx_75HhBwCwIOnscvGDp6a0NTgNShF8lEnbRbH5OHhXLrbgjiBGb6W
CFPSTY29czL2AZkzd60nTuA-gZY-zTuaMPO-xr4q4XBi65aiLqdwdxCOiMgyrZw1f
7gZROCRVmoQOkz3q_HwwTjNb6C42mwEmKgBMTNNCrbh37lcD83A8wknIYIii9dbN6
kq2qW9w2F2JSXjTVIYBwi58w_PfeYkWOBkSsYVVNO5KrHYICzGJgbXSNt-_hRJvK3
_9lINBUyOne7vMCy4lL5RajOMs14SpO-POzo9OlI5l2M8v090Tuo_Tde7Wkn0gFNG
Ip5FWmUEu0VUsZtA1IM85Xe5pgGi3HJTHb0gFki2s_rp358lUoRn6qCHQZ-7CotCA
Hallam-Baker Expires 26 April 2023 [Page 28]
Internet-Draft Mesh Protocol Reference October 2022
wxBIvYZG3Vm3PvINiUbtVYiEPNdzvzx5TDJivxshuobQ-hxUPKyx-zGkbx3i4WvXF
g5YLHAppPVBopEbCa6hBjntxxofvO0OQwwa5AO6IadeVmgkmQLO4huIRAbpTUll5A
bvtTRWke8NEgw893ymC_iS2VvsaPygX7ftNnJ_OeD068Ni91Us_tGjLP6AcLMO5cu
LgheiupgqUCOyGjbnW8K2cnHIJ3q2H0IAUj8JGfkJrkCqSH_vGDyYU9M3DZZeTUZU
nt4R97a6r2pANT8_bhf1Zv5EYCrRWrnUP9HiKteeLnQTEoYwXScjNyqeFfMn-WUHq
mk4MH7Mur9qUPkvD0oG1cLioWDXrd1DuXXaeGTcDxi1So8uEayWPFHShp1fstxSxx
W_boTEmW8bYbQWC-NO2uvSu9iwPHeI_gTAHrFun2jBlnPBpkNRO1RnaV7ww-Go236
i6HhVxDrtORdhg2Sfh8nKP_Q3abWZueayFM6a-oDMtwXcOPMJ0aysryyB738Uzw2B
Edsy5f9eTnXhUPUSb1INv-iUreYYibXpz3XdMb4lGNApXyzdu8YMbNW4kIc9eyOWA
oAZIGV9lJr6SS9dF5VQPfmkGfTQnY79V-112IBtnlso5O6yN-tR8s8PH-06Uyed8e
JNh_6LCi9ib5OqL1Oh_d4f1GEbFraWUkX_McudKDpchbO_phnxkxMDl-GVVqbrT7s
kbY7pzx00ZOjlfbCeMacZrmFtOtY1RmtEOF86r_HGZ867VORZAowVKn9aGj6ND3L-
9Cb9I_C3s9Q74qoyL8jE6jeVi1J1HkUwFCh_J5BHr-sTzccyVBqilnnlqV5dgQU2u
uQNrPzrwZEotv-PndcPee-14C44kUkZM1IoJYx_L83zGM9GcorxGzYmyQRwdSIRkW
FsSIB7wfjk3fZWulpsDwdQvgK_aUqOKnGu2IWLE7jQtCT78jhsobyi92tpKDHNAwk
yVPv-GlCMecAucSYqwPp-CMPKlFP6HhY0BvQYymOfNCnBpblF0xk9CzBCyym8w9HK
Q7qvCxLxR7ENgSCW2KmGAw-3x60qCcetvobMpmCbbuXb6E68kPFzK9Tb_rg97n5bw
ZljPQsKNNqeVq4DL4odCwbCDQfM-1Xnb1wv8QtCxiPU9QWPRl9VPBGiBOt1blzF4m
7wffAkLfiKrb-lh31IbYb8BSIkOMjO1EEbGNUq6iMxmaX4ZKEHBXlPS_hdQHSUhAf
ng-Ig1UjLKWRm7JxUta-A-CauH1glM3way0Jcb7FNucBionrZzTNxZ-C-nDJrCo7_
-LFEszjNZ0s15KLyko0YMKjQ6T8WvyAapcNY4kibLHTW_17HotgSiGvkZZ31tS-v2
QqL-Yx6X3rtzTvvYaAOJbFEvhq_vVCDqy1UMgn1TTrkofMvA-ncf5mWsh9g3q6QuQ
Y7Ri76SN4g4UcqDwUHXlMO7vzIdwrby8i2MGma2ulMXyiS9-xJa7rXRWHZBbc6RsG
7u7WN1tLkofmcNM_m9oijze-_Vz07TeixmgUreBUj5_PP4pyJOTE6KSvIy0yote6S
yzLcxroB_i4hzrNmFHIu15t4tNPOTzD3OL5H00gpQTBNtvhDAbIoDH5CTg83a-ztl
O6jPG1ndGEvnSVZkghRfHOgxo1G8_e8h_qoUImbwvjKGTnMcQs-cHELh_OqmmtZKr
LCwUDXfplNHyDYlGyTIkSURB_BYXMdyAPDCIHC8-7acTyC1aH02lFHmo4peH3VeyP
-J1Tv0pUc-BkjnLY6dGnzWdeMm-ipLEqxFPWs0lKcuCGFoB3O-sVeyyo7yZnGBia3
HJptbx-NsOH8g6U-8cwBGFDgnB9T_HX-TQHdlTctxlWYqMUI9IlKi_QJxDof0M67k
plXUhVvRmf7t27pEFb_nuFKRi7FPWwSE_LvwOFRwpSPFK3X-t7O7szdAyiSEoigfH
WX8SUpioGMeiH5wjTi9_0IuXLiK9lZPCRMJnGYRPbBQOoj2v9rF847InXwWuMp_jk
SUENWaAoNxi_f2mBr29Q2-gV_0Iqjuok9jD2_HxrvO2YfZm46fDV_t_JX5giZ-oh8
_lqCIbNIsQ8iK-QPVYdEwtTs_kbREFKqFRPJPrHq635R9iFjxYXZDY3_6SXziQ9wd
_BxHs0ta9eeTVGX229veJ79L2Mf6CqoASqjBBmUMrJTqgzjVIesAFzfOKGpape1_L
clFCVQf6SNlJfGr5VK8ZGfhFKjIxD8i69WSLuN4_KlRhGBKr5qVGFWO-5gyKHLtub
7wff3AxhyDZtR7zntE6Dbbe2bnDGlvCRX-bP9XWmLhjjQykO4LRQWGtTtAlPM9XvE
ZggSXgJ6ACyL0AcFw3TC6HbIpPRwok22uaLJGHTzbap3jPktkn9K37oTE_RQ0l45f
Qn4xT_fcY48J-au_ViZmlbRh0gstyU2yusxuYGvBH9mR4Gcu8vhMR-iLPJARxjI4v
CepPEgydwZtqXy-eUfKa3si88qLs3UQtVgeDGhyrbaLnUGEBZ0M-09cvhlvuMmBu_
BvYKky34uxMXKUx4Gk9jJLdFQ81bYA6zp1XdIdAKTXEMvFYSSd60VPKNN7Xoay3wD
xHWdlAS5jffJEkPaPeioADSm7tTjZItJw8IrBuMHsnqY4wrOTBHE2o1-VpJ2Y8BjK
XpRyqql9p10L0a9riM8-4eNIJMFtBTBKjRMeRNFekNQl-ip5DIl85y779R-Pol_IO
WbYYYAjSDPHRVwra-l8iYhLecK9vIkMoRC6FDGFTl0hC3kCDxc-2QEgAZOYXAGchX
3ZiOMyB7QTp1tb8B1XRt6EEUi2mCcwiXS9gdauniK-CQkg7F4U3nQhHOK7x1vDEE8
BsXPwnRw3llML_e_x3JUopBDQAH0kliZueQDe9xLh4PLQ1c6YK5MD0qbevxn3zmN3
7Gh_TIXi3ttVOWK3eRxW38NtRwZF2S9p-US5olSMLqA0bkPjTgt81GZIDR0bs4h1J
AIvoFjUgmxzI8QxaVXuoMgOeBqrLehCMXIL2Wi851HklYkpkP3c6gWvASMsHAU0Zb
xay-8K7baqysBzoOBeLJqCmIVdZTyb9vrn7R-F3PsMS9ahO28aOqZ5G1EAl0ATY6k
Hallam-Baker Expires 26 April 2023 [Page 29]
Internet-Draft Mesh Protocol Reference October 2022
H-kiFlJZo5IvSb0xtRwt_De0qGzoA8VYwLyQa2jbmOqHe6c1eZWk_HCIit-uQ34vN
HbPIQMyUXNaKWQ8WP97eghXxKfX6LgyN4BwCL_uHuIEqOh-6PlR1VLYFbHeREgOGe
IIAgXhQ-_sTiY3ZduwND4ovN-3TiVnmFfM-krOZ_BUvpBoxJ7cE9VoiOkKD48Rhq2
D3mxnAvtGuANF7C8kTVlISH7u2TKUyrL8aP8krjKpORPG1JsRb6aQzOD49G2EkmqO
zCgWUpLkVLxrhHw4ccHHR7XA-gOu_3qkVUmQK9N2WwFh0isgBMuErzr2IuiJIeLbS
J2bf-NKhtkMdjucz3nehEz6eKh4EZf-dsgrpjaOxQPcIl0Ha8qBD7dSqkPUqsKiJB
v4daukX7Yce1-GBIchdtsgf53Yb12s6aEWClDvqu5WimDf0zFSGcCj8D5UyLYA8Bh
9mJf-NixTaAjdlPUopYzZctNLAq8r-Jj1IQryvm8ftxBgm1ybMZ7HK1llgt9e7iQ3
r9ay3ZPlNrYlrM6zbWkyTGJ_56x7pV-P2JJC4aTkKypCD54qO8Yfrvn8WxpQcfUag
_zyLZB_7NPokNvkaJXP6_0ggbxmYNPHkRxs-iBZwOq_0tLvGAmhz2tmrlCMls7IHH
WvV3Ksw3t2fUkHNSvjKs1PwdN1U3a2KGg92bsdhS_Vx1fCZy3fVan5UqEPi3uZpxX
rpi-8_kRQrBrhVF8OUuQqUbhqL-SLPRaVuW0mtddgwgLcyugHZwwr2ETorvXsD6-z
XjLTqF00NAg-fGanNRJkmtIWfCr38Cf6-5kq3kquTPbiVD1qSzsAgOcg4OYGVOXvQ
GZsbl6A60NisM2E9G2DHpyM0Cl8Z42N50TMtDBzDW64CgNWoJiurdNDQj_fCF9A1-
Gl-l6YJ7SlsQ5dhYjZlznCDM_Va001j6IQUNvrJmfyLqcxHlKxCSUz6XOJKywXHDx
bWZRQCv5UYhIOQxBNgmz15RbjBhm4qDk0pmR7pRCXrKOba8b2eNDaJSRNhTZycjc0
WCbxOehXsckEb0zILET9fVqcAm7gOod2GndQ9r7PVM31cJIjh3rwlBhJzP8QYR5CR
tdYu1C-PBuQe8IuRfgV5Jf9mwbrZDvOpiiuFoo_VFW7Lb_x2WK7eIncSlg-0zfI8k
PNYjWxI1TTJ_J31N7XpTCXga-tOAUxrWrekUbFYs_jKPaB2wugb1QbzepqRq4chwd
fdx-NHJc1DBEb3KOsbp4W1clWsL8Ub9o7gwEko899xg81Ll4odnLBl5PCYdJCims8
Az0WsR3vB-9O4WmKkiF3_1d8pjFLrsiSLqk9jZVqOZ7sKEas2K8UvEVNriVEPlRwn
5X7CgL1MqJi2639C3i2AOB0rDBpLtRamV_p1jYHEh_qGdiDxEBYLUKeNOn9RMce3Q
_mtW-P7n4gN4FFMKClyKb_FvcfnkxedA_QppWx23P_uXBQTmz2gjppLYp2H031iJX
OKb2-utpk4iJM4N4XhyoL8IcaAq7b2EyeQME7-KAohe777sLaGToZooGjtzdBo_uV
2ZpByydiqRoyqqnf21zmnlDUZH15Qv3WvUvSkRboFXgt1hWMN0zmkE3cW7uJyXjX5
zxLU61WM7d8cMEXSblQwOMJMrCOaZdZB4njbcoxeRLrDPG98LpfePsUPBvj9x8H3O
7pv32fvmwImUvncZOTObsWa6jzGkalnR6QNTYtfsW8wC9JUk7KpTnCJcGlIPjDqln
H57tVKAPGpkR4UDM2YXMVeFgQEhky4450vEiNTmm-Oh_QTpo1PfJOHRvsteIxx2JX
0NEA215bxAcG7wb6JMRmOIDEyI1v39lXfDLhsJLYIuIdkA0E4XKQXJd9ijxHNL9k1
kJ1S6pfvX0mfbuhLeaaaw3Ie93UChcVTf4vEisXenAhzqmXqpItEOZwg8LH-xRNMo
GeV73KrYK97GdlSTZ4oXcbWdjMdw_4uxdqfOh_f8OJRHanDk8H6z6AyDalzutu4f-
qMqGAjjjO8x41PX9Nox5gjvWs5cAI8j2tK8rBGAuyYPVdFbRZR9yFTl176kJcKFNA
92uCx5X0AF86OPmSavnt0j5IZVaottGz-6ct3MZHZ28aU9aZYjR0WBpmi_QRqoauf
N7k_XYU3777aL3mtq6wOGo1BmSp6N0erDJqyuYCTAJTHNcGR4CxB6h3BAioY6fsbX
IV2yEZWeYcqZIT9Ieys-KW0QBDer6rmI6w-V24cjgVxrD8r0qCu5DQADNOeSXoVkU
Y9G9DTUn2rfWLym9xU8iM0yxNOmQp2lhzUYd0rdPs89J90yRXbm-1aTrTfuw6wLym
NAjgCQ39ensIyIkMH-crUU2_tEw63JP4Np8LOQEaIvj1azF6n114NtrJlqrv1g-f8
e_slwyeYoTRndj6PC8NW9KoAos10YdNlD_Cr-acplCvOhsCiHDe7-uzs8JM7SuBcT
ni7E9SdR23HuMKOf2rEJRPDsUr4p1MbY6LM34lbtjHkkiKB3-bkaOn_ej5X5JHvCa
a_ktdOa4nE4dat0T3JbzSpRGNYcSxYTmZddvbSIsD_-nu78be4egqxMRMQUtOFd72
l9fLade3A5WbcwlpU5Gn5MgVACE4_D_qBGsgy9D-d93fK7uLtnIal4g4YeYWYgSI4
hvECx507m-7se4JUX7RBMPGrLeLj12zxQTrXQmW3JkQJTL2M4JVhScA64KRvjqKz0
G3guq6yDHox_gFj0vscUslAA_jvFicV1jVDSZbXy8T4eG2sg53Dag3-AtZoqxzWwX
d1Hg52HfKXSiwi3I-tcUgAj894aRToqyPIbOH7R3vxT_GKV7XlYN_OP6MG76z198x
Em9BDZQJhFKbG2q6vi-4HMjNHPxImrxeimD-RNvVDEKn6zg8NEutwByM82Noc0rD8
f5g7MIzbDM8q2jvoC9MX7QtT9Ky6ch6vztXkV5UMciwhZZ-P_ssmmncF-m5e-Tfx3
6nrSGkUVc1Ds-00Ph65g5NYNDjWGbAo3uIRbQTdRhsF8IyhibsNpTNYo8YKHEFHuy
Va9ChPGM03iIJYjIqtiMykYcXqmrF5GIvjE6DMGLX7_5zTAZ3pOK8GtivHtdgI5sM
Hallam-Baker Expires 26 April 2023 [Page 30]
Internet-Draft Mesh Protocol Reference October 2022
ZHw6SX5kbDZlHPdmuLpnMG2LbmuQmuLz9hCxe2IX7fopSDLO3w4LWHdvsRPACEE6j
zNc0TrZ3CA5bYkAaFtKhPAi2lQHrjzdDfPyXW_SzH_jmNM9frsLdBV-U1E1BuFzM4
21uvfiMw6QLYIfuJs-f_BN6mM_UrqSXVrViZYwI_l0p6tLssL_DRrHLxrKqFmi5Tt
LKppCl1nTnZbeRo-3nRaXu5CQ_fGroP8HKVjQtAGq8-wNDxc1_Cf4T9TpIcUmX6SC
rvEDFS89lV8VoMuvZjPBSPbeBsDeoZkoX909ibHCMjJTcfTkHRvL0xHEYiL6zZHzL
AH2H85huF76wf3EdR_iO5bdmVeZwlkmAfJ7jhAglPAX3bteMguAmhAXFCMGh1JQBE
YDtBoDPl1FbyiZhDEEh1xbnj1Jfk1_bsvlUXQDKzBUlSJzPlZBA0gNZrQHwvnl5oz
HM4GwzNdeBoigbSXJDyDtybS8ZMizTNfAq6b4viEWNSypUv2zd2i4Nxw9eCkaiE0B
-8ALXlRKI1kqlVt5jkBPtt8_ek0tDhzJPEDAh9vUrXmMfk3tEBrCOiWKIYPqlJb4E
8sED76CGSEpxpV5r33UTU1wVAYLU0rcUmR61RNIyZnbiM8yUl3qBfI2I_sOEf07gV
xfo-lio08PFEwMUXbTvFUyCjEoyfzZdpdHTlZAUnhH4Fa4vvt5ie5YJ2TAI-KmruF
ivf1ngiaUeiMzObFPUsINLuZ4P-18cSQ-1BNBj2oAmowIBaIuzB8XGYLGoEEDtzBH
2YuO-oRdj844SV5dLHCX7GEMmHZyfKFUWJwUsDGTGjM1vJLNEyndDnrb5RWew8wmD
8uQ1kidzylF4-Bs7Gmyn1QVBWWLOv4ApEAtuEnJtWGMyMbPKgkscgFIgxR52Wuo0V
xqnqccoSdCd_U4xJebHF5NLuIuU-KtPZFc9JLeTwg-2RNttdLc0oJ1RkeQVr1imdi
8IP_OWk0OdNLhKVcXdfeVWE_O7-JnaUnoz1oI2I9gQAldnRFuJSnCnvWINou5FVNp
h45_1QLznpzFqCDmJiXjPn-NYWTH1WZy0JqAkpT1_1wVFiU7eKgLi0WKLL0ybm8vk
0c-0TjwtE_Ey3se_sRrZEbiYEqIdiC0MUk3e_WI8OL6gUzzKaIRfu5gbTUgYgdXEX
WDO8vGP8bXI6-CW_08OcdSzWKBq2aLh70idzU4RuEnxIOLSKegNSt7cFGhUOQK9Pe
mZGlpUKVtOXB7Atlq4jKakf6IdYFkb7ThKx4f8v80Mb8WX8zC9veL-3sraygK3Uqn
DsAiAwUm9xpmZrJuoQgwN8f9D5ni0jtxOCX-halsUTSzTTu1UqcPE58vT2Eg0Xc4x
mEm80v5ShhevNGT4fGoDlwRmTIT4BL59fUOIe37jFQUhh2VDGa6vaylXvkujLRiD3
KU-sMroCSROS3cGVgcv5LurTxsV1kafzWhtpfvf6S-tmrpBx7B1AOliXy2dPGpx6y
ofnr3QqRHdqCRKdND2JoL7iyrmdkWztBkl0MVNenHIO_imsGnrlfNe3Ap25Yx34Ty
f5ATdmiumPBsHuXYMZAEe-IrvM4KV40hkFCafwn3JCXo_JJBt0D-rbz9hd-rFq2RP
pzFeXvqPsWHfgA3z_r4KdFpY8JLbphTueZrxP960DcQW4MOc5B7pkhP7VM1B00ARw
p4wmQ313EILP3diapsCkcqbg5xhtwxoFjAUAj-8I1S-dhiiFw9FZZZTUsjJFWGWqr
UgiYDZNmn211FC4riHbT0rl9BG40mIv6BVDsxR4YdHX-CJYwPwoeRBpdG_Pe-giMD
2BEOlrUgXGSaY-WB2EZNS1_UFTCyI4JvTbjWmlduGVEDh6YOjDY7h70fLQtXu2DJK
CPRcXC1w3r4QWtQTazzhgrfTyTimbtwkNtKm9N0CI2vaFrKDmv50r2DMwY_W9O3RB
iWu5quAVUgW9gqn7jBHDR43UBsghku-PgnB96uUuXebovuevCP8g4_T0n_gYX_Aqd
5YXKu_EF0y6NZtjv0S389C_HUjsNugRM-vlr-OQVR1sSAjAhPvPCRxJYInupbO1nZ
6OTLEQ2dLifCO2Jz8CNj1TuQ6cHX_7Hau_dz_A1FFogswHyUHyTndWZIet5z-UlQy
RdyT6fxSqlw4AfjUii_5Urrc0-WJ570EKnV68372MV_b7uOO8CxkzCpw-eAyr9pZq
jBPX-hrG_YzIXQr88Yn4PxZ4v_AsyKd24Wd-vzsrEV3Hy9FLdckVq_ZP57mZMklkD
1yLb_g3-JLR5OsyMNAqzvU-qsmq2M8Z0zLzkqoHIRHklEUy1fxikti5_u0jiJfEwk
9BhtIFRNB-2_ePk9uFnyY3kqo3iI2AqN0A8m7y3YAyke3rTmk4AgyXo3gWTKQwzPb
kIUHB4dfke2CIASvyW5MafgZ7aSfaXJqGrjH_5eK0cqtPhRkat4F9TbTWyOwHmnr9
0WXHbVSWYiZXxvRf4v0ArFdKSC50OxjSFDLcn5YKqkEGN-T7c-BtyXuScPkoNbZBu
J_EroWaacEp_rk4LyMoF1vI2jQXWY2rJdq3jAOX6h8ArrzTQOH_s5yfzkAM_LkBF9
qV_ru8Rb6_0BaUtMRqF2xb7NzPDbkhBAyeI2oDYBuTm-uibzsXfn4BSnekg0rSNbS
4ZWhipYpD3qIKxiklE3t5KUlEiYHmGEX_DZKBBbRmw6w1Fd5sOGtBCMv5t1z3UNgf
lIUDUxRFemCcbeir_sUuvLTrImoUMyr_Pf9JjTVX3f_-ukQBZchCMxiQK0woZNeG9
2ivmLg3PcFn9rGsg9dnWItJ0dRw4yH_RnRV6TA6CYdg62wDfpKxaU_qAPWvEo9XH4
x-jHN-ogoBiYGuP4G7KR9nRRpzECj07U59cM_LinOl-3FuSEYRJmyDzJRJPr6gSys
cWzuepUHhh-gbaWCY0r6pDzbdaASaCbjWCCQSZZwfcMaUUUm-_BQumP6_1i2bzAPi
FLyaSd5nSOIChUxcs4s-f51WPmBKm2vn_-y9DokqIwn1omk9tpwPt9gzUjI_JjicD
qmmTCG8uPVgmA2TIzdnXxDFy_A6Dmw5eW0kuB6VfvF7UBnCy9fP7poPMwUrZa-l-b
Hallam-Baker Expires 26 April 2023 [Page 31]
Internet-Draft Mesh Protocol Reference October 2022
TdLHtr4mBWNFipMM24PAPzdFrAyiAXGNjXTQ8ikebziX1QcVurOE1TNjU0A6-n2Yz
pm00Yy-KcJa0TeQt4wpJY0pdGWXYJ3LiskLdfeqqNtTlv3KYpZLAU8Dd9Zc9js0m6
o3LMFchPVV0HXm87NUeyc3UTHAHhVxpXPB4GMFSXRgVlztcDHTWFA3H_j7wpjGosM
bNt4FPs1jywM7A5epTaKLJ-8AJ95X8fRs49a1K1QoC9MuWps10uunOrWwZ-UJVwy_
lpnHVJjS11HxmMbAZ09zuZmI3yBQ8V17XUHAx8KU1ajENhuoiRf-HHzqETh_sVOcA
VqPK0mrn6YKURU8BjOOzJnUetV3R9pz0ldfObGtOTKvHXi2ybLy_ghXBfFCU4JrtC
7Sbak7FPxelMiB8xYdeKNYXur9T3vHx4wB32OgGUEiHC4GH_AO1ifqNr7OSgch715
QUbf428ogqA_MYjlInZcQaddIGeCxMvLd9BIKQ8ekRd5aRT0qL8oQfrh-81V3Z6zu
gRvpNa2DI9qQ6ABNLajQqmP0HUr3brZ3iGUWHqugmjRGkl1JpNcDQm0lpE7rfXfY0
YzzVoyZJIor0OuAi7gdVH1Ifc8QfwYm44edtCC2pB9wsHkZ0yGDIIdp2-ZG7sI51F
BeaTI2OBiCEDSw9AXsheQT1H9L1AUEqiNtrYMBlEoylrLDR1FYi29DbgWGe4VLYbV
n8kNgrFSkgG7K5_kJd2-Fj4AFKhgFqDkizs1OnIP3m3O_CuPf4XMCu8HFWLAR6ihl
IwMjgusRQC8v3crF92rrW00BxcXcDn17Au3RSl_1hClilJCrMsENfGM0ei_QJFQPw
NZ1QVnByZCySd-O06vfuUgj3WkwmG5JMnUFDwb29crgNK9ydoTf2TiUZ_wGeJXooO
5ns8QMBzvUJGVSAfe8bBAKWmiaT2FSfnhGse9Pfkr-lOsFRZ1fp1g58QRO-KRx2UH
I34q5OlL_gAQKax3g5j_eTHTdQE_4bPAGFMPzVv7hiwzLtX1V_UYVp-C36KssDKwV
NO3stPWuxmFRjElgN6ozWBlFy1LObOOL6H4IGD_Rgw4BUtGAtr0QVgbol8rNgljDq
BXQNzft9vvOcQ6vzJ_tihLUOQwMpr5Paq8w6NM5C_-yHX5wtruBT6VxFX1kQqBHja
fPQHAXuITKRp6qUFjRpXPUUzVDJ3NB1sxDYTh539HfEqCp0ttwXXDQun6KDcABkp_
WNCK8jNa4VVE7SvRnvI0fGH76-1eGYU1vThhX3JQVFzu7-VZ-AL1N4vAAPWBMbVVR
9Lj9-JRFboQn88rGJMk39akZ1Wmj7eEA635lY5J2uqSzo4e8grYRCH5ljM-UgDbXd
jn-bQo5d6hZEC2awPk5LAHpmGGw6VxrQ0d84gmSBms2iv5l08Eib-oX-8LtPx0S_O
3w-vAob1TNFX7TYXJ8EbhKH4XEMCwGOq792nCcLZf7YTey76SOhraBA0ybkC5kI9j
wUubOrilLM9FKbP6P1bjgWPgoaYm0DwkH0wlQCt7JuQx9c2nRLRm5DVIGR_qyPTqQ
lKV6gXn0-6kLU5379AHx4AiqDuWBDhAOTQNclWaeutjC7Jagr1K__Y-8h9qs6I23_
2AuofdxjOX38jUF7UKrSM_CX_bq1Azzc_CLj-bjYUpOiNCPDiDSQ-xv8FCGLY85ec
u6kASk03sjnG-77D3pnOrehn-y3ZOB-CrwtrAD-SDCHJmbCmW8emQ0bvkKwdS-hVQ
InmXiKnxGP4Cs-uZZVzjrbqDxRPJGq0ttBbPRiUzw5QbY7C_bezBLKjnZ--NN1kHP
8V_b2U7fVfIdY27rSFvs8eVSwxwgvHpkZ9vZsCNwte7Z444MQkbzegYSc1W3pwtFe
0AnzxOR4-77wqmfIH96KDfUvSw4b0_QFSU4x5LpcQZJPnV2OQVbj41dmvIatMfX-3
rwIa7u9xP6ed5Gm3ADH9L3pyLGRcD1sJ7L_g8uFuZkN7pvrOKRq8vuDfeHey_-BQk
dx741Br_ceDEsgVCvROZ2gT0CC1hpyYo8cyZvsRVfIblvBv30_NetQwQNJnvJvv6W
uV0izSc91KEmwa4LsmwH-54ZUy7PQpNdHPok0PleI8kd4d1_wRJjMIwdOhCEeH7yK
5hi-suVI-aCUiQvJxyxwCqnJmcVff3p0av-2GhpYY5YcmWFTySPjbFvHk9CZ2g0l4
IfuCBD4d4GreCHBLxhD-6Y1bK0lKKHzqZwnTPn5_BfxPd3pX7LAwLdWBc4yIRbDzQ
p1KLfGhANO-Yj9Kyu_wTedi3CMDz23KeUeVEtsFtjz1WbLvcnionOfP17uRdOFc2g
1I8Izp3-lu_jc44orXTX0XXgwKUBRsc33NOd2OuZpTp189rJm7v4DM-RZykm4KmFP
P3l4V5wZu2kNK5dWcqwh02zSMSYjRfY1_uj__5Fta3Gy65H7dDDAPUyaqAU6nHkOw
S8_n_41APcjCs3EQqmVXZvwAi1yIQ9fKZN_OWz2t32lziCTzc2QB_Qi61LDjxlzn4
tI28gBWwl2HNZTCijh2C4JXfrXzFpktECGqb3bnsZ-Yn8V0MAGC2L4D87iMi_Fop6
CiQXkG-mMpAZuN2PWZoq1iTPWleVF21ywLuMq2PNGuD4du_YCCf-2R-iyjMF-3wA1
46UDx3Xr7kwaqdxxqmpfsSS3HIaz06SUxxFhMojfDk2brqAP7KeSpwvCUmTPRtyXu
3so9AFPqOpWUIjNPOgCpBwxE1FPC-E0vgtg3Z2E8G6TFeOS4zewGvECMKwIoVi3gN
wwU6cCGzZw14HLLXxIcUnBIdQMvQB1DiZYhnOLog_xpfkWSkbRrPMgm5q_Ywk9Rl7
D9Yyd8M5UTlCGvNoJswyMRE7IWlbNbTc69NV-YDWm6mxd0vpU2E0TUCnfDnFY4fh8
zQTyCELKZy3n-IdinbJrDVeuFJLH544qygyu0A1b3vZEb3Kp6x-r3web2cTumdu7y
F5XXScw2CgNrVp4Ehop5fGeT7kBmLYex3TiaN-SUbg_8Ro2zfBC7os0_mkR-Zt--5
NbwjoRXAdNUsC2PFrXKbd-EaicQ_m5ryW1ZQQJU6OWKjaNSwkdKiBE0mzK-XeyVLS
Hallam-Baker Expires 26 April 2023 [Page 32]
Internet-Draft Mesh Protocol Reference October 2022
r_cSbGmK6zM-jaJIb-ErEH2CyuIbzVzjSV2LQsHoGQqNloC21TD716PV-GFTqyITQ
QtLYMmAS_Qc2egRnDoBQyh0u3jwittZtpoJ7zp4_zR1e7EoVLNXWafyRE80M9lg3-
8dZjgNoUFvDumeEx9g08ZB92QBSsDdgCeLFNDgalIF_5OQLJjPiB2YQim-C7OsyNI
idnQJ7u232p4A11kRF8SGWPcbuKEnZ3BZWUmcjt7gnjFPb6ZMFHBEaeAuvmg1yEAT
bDymu92C1cACFk-Wi8atDsWtG1MnKKEUfK6G6L3V_Vm6h2ehBKUzPFhm6sTTfT1KV
o9DqNj4ZjCzxPvf0II5BLpMGFinaRgJRcK78T9wnQEjAIytXg4M0PzE96gp_qMaYp
Mz1lUlM7dea72D7LPmEI5GF0x2GQGdi_coxZmFhqzz355TNQMQE3dsSQPZAzh0ELv
5_iyKnwKv8NBey8hNAaezPZilHz9WqEMVn85UyEIqP9GNUJhk2-5aPk-Y7WxwcGhI
HeGs5SASmgrE7NWCe7Ze4IzHRm1JH5ULFls38SW_oosxRTNhVQEm_YrOOBeNbfTYU
x0mvuSrM_PyUg_huQMxmnrfPgOG_s7BYY-YUqdcjZ1ZbKM2n1kzvOxcE_Lq9wQhqI
CLKB-IO6NEpyMnc3_fb0KZHs1xXqaJ50vD00Do1yRNwW6ECJ0NULxuJEcWKuQyCu9
sS3dwJ6MyTnafAThkCOYIdhcmJLH1w9FUPGZU9OmlSSLw74_DboHv5EiGIpZNTC5n
57-cCoANCrgpFqOBtpWZf4-AL-ab4wiKJyhRp6t4xzf4LtE2nue49sDjpAiZ8CINr
Mt40p5YXKa1dkcp1eVC2r1kUj3I6Da0kLNBagOgNTfPR1gTvWNWfgJSZ6vfNJUQ1i
xnKdPdqlG1Z9CmVvRGUV0rQQpZnMKWJJP_YEQoitw2d-kvUsYaFhspqmOF-YhXek-
fHqtffma3qBulrK39TMBpd9fgSgoT-fUjG6IqtdQh3pj7OFD-6J0OOBGt8habvc2U
Pw6B98l2K82r1zOT33W6BN_0f2FhJEiXfud4VjzF9tl6mfljDbBsPp6aUdvB_Jfia
0XFPdMc2LVctJkJUkrvwBMI2UeMl9-D4ZxhYXBEUqr1rO4qSVRR-RISenbJR8vHR6
H1hLadefPbKOXOUpxzut2ooQyYYqSMh4gO6GmOcmPv0mSKVE0vFQvklppZPgEm8zH
NKHSbMEZKtL9Zaa4wFJF9w0XqaqM66joP8ZRYK7xSwORTI_78aPOaVi9Fmv0Taqw5
dmC_Dm6vr5o2cyDUYCnrf0IxZG-4TaBGUSWWPRJ6BFwUrRp0b15CRMGpZWTk6fBuv
H4xiYyInHEbctJ1sS8aqNVdL6MJUcSjXZGvFFzBKafqml7Az9KJymkzwutrp6cqhO
EjtCPpS82pC5XlG8YTl6Z8LkbWxcd2fRFqkNJQhqCA11xcUvvS8pVw9b1nXYCmS-N
OuxuzGY9ZnL6ZAiRciUJBkT7zPYLxM6tLLMxYlvmWPhDhi9hZhuceJ1ALjXr-CLeL
GioFV88EmmF35PxFTVV3tptgxjgwZkJOT6N0GWMfr0E5wXbwTQ5NeY-FPde3TLI30
fDH4q_7HoX9TkEkcxAKTu70WmfP4UJmhMPkVGXZepIa6HrW1M6MaDJ4ctZgPpOP0s
cP-RL0g34DZ7YIoNZJQ115wHHDO41UsiSydUxVax8Eal1RWK_taBsFB_vtsl7G8YS
BbHnUQZRRgkUCJNC-mRt27UTS20nC4GMl2oXfF56mCmso49y1bldDKkU_BFh4XwFB
khaDjCcYaDMIG6EPj4Kt8khQBrVHSLh8rCanH3abmSK4Hsg7NMfxCv-47-b6hsKmE
gvQ6iDu28t8L_ApgDQAGN-L8bxSVTsV7qqQF1nEjTcMfFd1ffeuF9UsRyaSCwBPY4
94o5V6aTYwUAgS_hLTMMWpWweGwYCySzHhZX07yvYS0NuMrXYnSh37o1zaCCBY64u
97C5Ifpe86_6QOqlU13R1d030J-OZPs3KetxFxLc8LPZcCj3NN0I4awGTuHUeXGsb
LfVq_WhxVm78s2egLzn_gHgT8U6B58FZt1-VvC4Eo8WxDM0t-vsWjHkY_-BiJuKMo
AuR6HrQmmTBrnJPtRHBSAf4IXahfbAmXWA0iTmVVju2cYLGq-uFJqTQK2qm7yVxjM
OSEAks0tSl-jqNzXvU-pm-xkhdK00K20dLwja15GiwwZ73VZxP7zkbMGl9YF-nxtx
lLijrSps_qV63Bw1myzCFh7v_TaybFVrVQhlhpM1UTfrdXupwOJiMzAFzJuXWv-Jx
ezKloCfbCBELiwfaW6qxS7-TUcn6HRBwRWQ4NBxIk4nlPzxLgiOp5zoMpE-rS3snS
7YmoIlOXSEU8HitwAMneDrLiJrVFVQKhLZzQJLe9lvQbO2AYiCMmFvSxf6P1e2iKE
_HZ7jc1yJDFsYQXma14eSoF7xQHtpO0Qf1zqHz2ngHk8f1Wc7pNdrWh0F0ywLjxb7
ITQNC-8isURhOV4EKUsDLTA7K9vid-TfRqpqARwhQk3t9Wjs9Q1kIBAVd4ruXQ-n9
NkP__u6SVBrWelHOfzdJ1vL_mR-1bb9_LMOE2d0COBkenZcV0qYZ1w7UeD6xJqYd0
67KgSa76HiBLgvQxaF8aWv_4sNbSZnwOmRcXidRp_LJ7TmRjocWgy9JqlXv865ZZ9
eSnhHjDsW3o8A1bfxuO5f9C-aJgI3JAwB6ek_9VKICj-nYAcPR_GNkGQ7IWFB1A1p
n934IwkmYzkuO_oV-9ttkMIjNphw47QOUemtDfn7sPKvyykrqjwqX9FdwELaTJhKG
NqGrm8WtMGzwN3Csv7gmqcgSnxeBIHezBymJHZoTSbGqjyedd2_WyEDNFmIIc9fzu
m0yVxmf5A1Zt7WNKOXoGBDsBw-oH75HiJwv85pzTaORsptwOYsNnqju60-K4QGleV
9vpfMJZ27gWQuOFLKiRwzzxyfUjuN6H6pvQUUqOzvkmD_VkUPpK1OAxen3KDTQS-e
3TNKVF2y-F1bmcu1DVVz_zAdjR55SA1QabEkTme_XxdG-1bRrXU4WzqP9r5BiBBCG
Hallam-Baker Expires 26 April 2023 [Page 33]
Internet-Draft Mesh Protocol Reference October 2022
qfc-VmbZqsXSgQH1m9eluI63t0emvKq5Ba6k8S-BrzJpxMEKfQFi5XO3zz7G1bYFa
fkLvjDxuw0wV0zPHiZpFHm5QR0gsqrB50pBWIhRIyEjoIuDyibObHxPOizHwS74H-
IKwytCOsQfOagAUwVXo2yppX-b_4DhgH4PQlcba5rX9yYOQj-A2WayB70U0R43Jrg
xUQoT-MoX0BMIY4p2cYUtO24_9M-exMNyRztht7b3-1dP22WGCTic20iuwSRXZ-Jz
EO8xB09YSXCOjIUUUGuLb6ZRztWi1bNGXY2wbPFFVzwQQ7VlUZBEXnmTcq5iyz6yk
cYG8qz7orRuwcNprf9aAtPpuS6xsajWOu13V3Iu-DSrlnw1Wxxw8WgAz1DLglPZyg
LmX6pOLNO38b6ewzo5P7lHNOdyIl4j5vpRIhPVeHlrxG5uYHiUbxbEwGzbi0GNVqb
mh5xcfd4q8X6Q-NuMh2MfEMaHMvDCuJEiG-lmudldVzLK7zpSp_SnKwMDqvTkY3wo
irDBcU9gIvbpU1TvIfyJSer4BKwV5eYXixQVXEddOo-rx-K1yV_xLdEcdX4pa_-oW
6PbRx7_qhk_DYNDrojNuNvEswDQiiw6xNy7IaYsxcTEbg72rqZmXp4YchhycGNcVt
re59gB0LR3uTEePYPuP8JgPgjMTjFEs4XnzPCxRT9WvG0IJyU81S4yQWl6DT6vg8x
LuS-kAsYbWcdjHWqZw7vekGHy_NnhdgBLODG7lflcNtuCN7y8BubV61rBY2rHRiph
d2mWnZYzyf7frQkT2EUGY02RdycG31wDNw5lJApsIa7MUARKe3-_OC94wrmfBL1Zt
vetgwe8HOv5gwglFPDkwOiJVWmzGeLv4ouZ_ThXmCnJeitGg52cwK1xWi6W-0CIjK
fGxR3Ap91-ai0NOkHekBNd8rkRa1Y0XiY_lRV-nEuLroDIKXqN9j4riUE5mpMaY5D
h1ShY0ISbSRoE9BVrm3T3vj0w8260-Jcw2_U6SIyfaV8Rgubw8xhgPhMxmQiD9d5a
_14UVFlgszWDkWeVMHNtk6sEt-S8dEZpD5OUJKQHEgV9IJQY61CLdax07HBNZpt4_
F4vdgqLxjCqbp8epddHfC95-_v2OwrBxBd3fx0sOqKSDmQX-AEpc-HZjH3c2hIL2l
QoWu8q1cfOUfrEQf28m5Y_ZdwRSfg9_1haWGdg2GFRz2CfgyUNmLyXhH3ciVDMUwm
9PMI-4H6fGU-0IJueTi7f5ZHyl423PJmqTDIRAfMCev95tpe2gVJYTJsS3HeVHewt
tQBbUp9x8sYYdizTUd3U7v6jtJZZpLCuJgJ8zBDn9fwOjOpc1Ufs6EikPyc1qHTFr
xQsPTif1ts9I-kGnMZsoPIi1qir98iT2BJThV1cSCiZ6vNMvrY_yXgzS4BIODzLCo
oaPlDCQSXoCso-Hhqr5UmykgbbuNxstajBZpmb8cqMWQE0YXNN6LLcjV8acegz_it
fZ5ZRUDRB8ZKv4yFC2Y15QXrTpDR75OABgX_m3_RaMfl8WVRALx_ImG6OuhGGO6O7
YMgWGitrERiK9Y1Vo4OvVc3aMXkcA7daZcaDDjxevJ7R3g2D8JJdGn9HG7p5LsNFe
rD3AGfjciriH3vlrwDB3RLRB-OpTxsG1ZZhOBmkOdvvbqdpEaLZkMai9Y30OYn949
eG6K27brJhgiUdyLJ89Vlk5BsccfXy2qkPmCPwtbau8k5qEp_LVFdeNglXle2KEiu
JzbJlvKbwJYSgeAmp0aKKK2DM-j85V76kRUIz37C437yn67TMYAjBafRrOSgoq_GZ
OGFeeu1lC-6VumcNetC34Cp6XUO93PZ1rP_QFbra4_KK-keGv92lwk8sD5VMDHcU2
n_r8GM1XoJ7lau0oY_yQJzF_xghGmPwqYUbDtUyyIfQ2qPKV51RiTdvBF0gAuIrCJ
68GC6FK3cSGHtRYUCF381IHcqRR3QQvzICsQvA8bleTSC7PjEA8gN5auOWEu0zIRE
zSW0-Fz430Zi0HoxUMsj2VGXYLew8CmjNODhajT51V1JwA0o_8CqQG8maZxOhUGJB
ntJahhMhTBsdoojwaDrn2kkjC2qTqcYH700vOFxU30qEiqMWh1tULoJhqbDG3ijti
vhRxS5CBZ6Qmi1tfRaV_fw2PuuSUnSTZkiS-umxmXJeufrdgDdEijn4oCtxIZiUF8
a7EsjtgaWxvAFl7pzPgh-FHJyF8g8D_nh2yNOptWqHDVsO4hFSiPRN5_CJcNUr7tf
eUVxvMVyewQkqnqBbV1KQoyrAozntCdPj4UlLAnZgjudcA8eAe2S71U_RVu3Dgemy
s-eiGtKxm8QxenVE9pT_T5vItcqYhmYuHLoongy5s2F0eXgGTLmWxskuvXOy4S93h
zaWPBUU16ngcoW0MmFDdwJNu5GDHfSUUp0BlTfDSth7ktdkudelfFtyW2vABmDnp1
PC7usosk-qtI3mf9uHF-Jxf7dm5htmxWX2IrGHYuY4vjoE0o0CSRZ_A3Gu09SUEiS
JrQ1GnslCDgWLHJPiqADtqwy5op9PUY6elRiKa5uV-dc7x63kqXalt9v-Wgk4nGo_
iiebqsGS-IZQn7ss4ZCWNCALMwzARJnjGStRBJtW1Ag71BJe6WH4_eUTeYGYm7SpZ
WIv9tKZ6QBnsD4MogPC6cHKh0SN_WrfEixnI2zMLu1sru05twAFZOFbtODnjSJ3Gn
Oi-NkXoX1ZA0nN70kiX5sMhnj976haNa-ypyVA9KrWMqSYR7NTlN42jR8Z8hLb0Q8
oMjfDEG1eFxdxi3KuR9vyE93qrCmas0RdsUiAcnBAVKFAR7oxp8frkzLnoQPxIji0
TD3IYc0ABL3FKj7aghUhrwNmFHCd5SL1hqbfL-wVKmpIiVDdH4kPXdHZF_KZppbg-
0przG_GF0Cyx---BGTcMv1q-nTDJDXYRdHUJTZFnge1TrALl6haVOBxnfPlm6BfE6
y4QsrRNI5xa9eUzKp-1Lw5UPEte7Qyi16km-tEmR44Gc3S7_lClC-a5zkJNgq2ASA
MnhT_6YLruGCMnmMth2t-08QKVtp76Hbu48_9etAZSFWJJWzEYE-QnAOD7t4fKCzy
Hallam-Baker Expires 26 April 2023 [Page 34]
Internet-Draft Mesh Protocol Reference October 2022
Xe05RfWNbrPdmoc_-nN7DATiLOlQ8OVkjDdLH25GlgbQtBdAaGtMsiyU1nAbK1ORM
ILtjV4a2qLQ2mo5zKwvDQT00YScpplAhlJdblsyvuJrDG5t-bvomWdUJJ1d9N81fr
B4L0eNBsp1YRmQ_RtpV3ixzb1G8rAIi4HotWi3OhSAAToI9qfg0ibAfisTC5ykUlM
oaD_kpVV_hialJ1UxYM3a8s3FqT1aX-vlcPuETgHNqRJid96aFJaffTDhjgJ9H_9V
tW6IBQ6Nxo0ex2BpnbkBcNWbrHSzoHP-KopI6a_bbRbD6vGeqz1o-zOwqCXfQhy9R
ZeGOQbtIbyumfwHy49cSOG0GJVgE3c3IROjnLkcvLCWMOUBftiHrgxUpHxQtTyKAh
FIpkyrcx4ANMqpJjTh4mx091M3jYUndCbdANBFo2z6GdvpENXnKYwUBi4pp88c4R6
eTGQncG4E-0ZuA_tdFt_539z7e4jhQAylT4bdovBD771Zcx703qYYvUPGmuNWTfR8
3rUGAlT0I1rUO_Aj0jFOIM74avllrdkJIH8DqKiSi5LS1k5duzfXL56BAciRjDmAE
7UTlxbdz7jLOIa5T4vi-AeycB9BzY5MDXafXgYaimUw6aY9QxwpFgksYm8wOs5Ynj
c6AdVlhmctMIQtk6lKNVNoTPRMtH8HUu-BVyvzGWy9Aa1FJTqFLJwuxCI6SsWMUX1
RA6vo8DS6mlYkKbYDKCkAdm6XbcU3nJRvigkziTFHL-UI6AirdFoC8FlVyRwU4JsE
in84VD3_7d5e-y2A1V3mfhm_xZ7oa5NOOnbIb8ZkncNtmCeqXfxF7-oRxfFB3lYJf
PkHdid35pR7GXa8TGZKyBfRhIFMtEYbCgh7UKjbX5rdcZVsf0dp-PTLL63plQuDmE
yArJNNSoszxDKjtnT3oXUoac-H3pfiBkzcgKXvMx_qYU3tT0GsneEPOh_pi8_4QQi
aZGRdUFY6_tU_ljndDzHFR-AjnlkXbmPYbWcCw0ZZLjeRj0YOoqZpBdsvnsVrVPYz
QkHedq01fOrSHWd5tD_8J1OiCgA5BcqeXVihDvlyYf3nrg1Ep6v6uNSrr9X4e1_5i
Po-XkLBGkBCP8Z8bwEhVHMz8ePNpLdoCOiH_1I3CrLUG2MOx7OJWlHi5p9_7YmbZs
lh4JeTMnboacUyje4x_zBcsxpwW6wqMGjm_g2JjEwiuXyViqZH2tWxf2wCNtl-rM4
-0B_ftmS_2BCzBeWju25SmkvrCBF1w8fCATCqsypVDr4fZxaZ0cyGkVE54VE6r1kj
fm6NzVPOvwe2EhnFgu_AZVq2qlhCEsrvg_0E_80vY7wMqYHImHZsqJgof6uDESIWA
9I21rNyJroBsvWeGLRjeZY647D8z5941EYhUXePn-TGDDRMrJv_TaVEyEk3o-Hts0
P0-ioN_8m-TuuaxIsmldM8dLQQoGZ9qfRJ2FyK_FUQsBGYUHRR9IH8tlsjeg0o78Z
uFtUgtSWwxfL9oa5Zhwmq8c_buomaPBp3dXMg3SLe-8g8U3YdHLG3Mr1qnibG0BBC
COGcSUaqRIyRp-RxV-ZkS4GORHASxMnogtmsS-rwPwiVF3wiwIPFlAW2jr7JsKmXy
gHab9yBnGpEFtinWSHRO74gDVpJx6vSZosPSW_DY3F6mIrqTx7TOvRZpFWYIxjIOu
jLWqKmEphcjSvcufswpEiqMJYZH8YtrOu3H_NSj9ySWHynbiOtup-gD5yeXy337TJ
3vrOs6Mjb0xcjGfvrAHFN9ybyHPKWwcBvGuDU3WEU034T7Ot1FUD4sOjWdfRRfATu
GiNtbNIUFz_QPLEULHeRznLmqoobLx4S_JlxbhleSRT5900lZSroQ2zE_BFEgV4X3
tVu9fmavfQD5KqSLldWcgpoZd5ywFDkDprufxzBUECkSCYHyVQH3cfpaesC-Jq_Vx
30zCSKvHfPRIBGCIlavwR2hGH8_7M546lCEi-nBrVIE0vnQJ_Dn-MFzhjMO2NxYVy
-gohhhh-NRuZs5dbknYRKJ2RKDG8T8TW1IayuFu-5hdl1eTqUvbeSayjE02F_iQv4
Y1e4uUXK_J5Rs-3U7V_4PD0APJjvLfyQIhqjA50ib2F9f4_do7di7JGbUFHmGDdy3
XWFZDdVm-dIZT5_QfPVPkX2sBkIrGiGniXOvqM08qm4IfFM7gIZeeJ3e5w4PGrMCR
sj-GkTPVMry1AQ_fWW_i7X5bbwIVnUSRdaaUe-AlPlpLJy5YeEDKfFeTuZ0qv0pfc
07MJVMYmdguImlQ4rF7molP9Otrhhf6AuRM-b_FV_tvuPnwKgNkWaIDVw9OtaQMIG
xM8TXxTK9C7kk5sNNgowm0j14H65meD1qCDZzUHFJN2TJPMfi1FzOJ4si9eja5z2d
J5o4Z_5vqf1447jd5Fj6WQEICWI_xLpNgZup2VOUpIDECyFSNORDhJBT3uz-0RnJ5
BvLX1KrVgl560oKWEVwT8SK7aqXBXUaEEVHhAyFG9m-0081IeIIMYQFSgSSc73kjc
DIoaffLhfi801CIeidBYkDK3sf095VwqOshzzAPTqcUpgGkHeji4Fkp8KOJD2WRRE
H60Lpc0ZEq3Xxs_FCeXcb-Cw7nwwNFhqqLtHymdBKmRv8mvXeToXt0zAT_DmZOaiD
356yJFM-1wRT6ZIwjAVsY3kxF_WZlGhx2nhbazOa9uIdOEn91-zOJFEzSPC6YuZiH
wzNaOsg6DpmcOyFPpAwrguHgiPbsgaI5UVz01FekZ_eXPNMm4D-ZP5PR9o-zPyagJ
ql9UUf8IFexg5JJGMc8SHfoAWbIcI96q6uoBv6Qs7zKW4H-afEwCAzLWyzqD_cHPd
fCNXGnvcNQDSIxWY7gMVoRHY5K8ZoQ5PaiGIMx6xtxGHnscDMfmIfiOrsA0WmxbcT
aexYlQ7MdFXN6rHr9JdCrYhpwNQOhQcu0CZv6DVuARw_uBOyg5MJf8Dz_iaqUFk7s
IBpo1xtWrKE4TxdVuzEmuhub33cyeiDlHQm9XJeyHDY5H8yH8O9V7vLpY7dKJlP7t
CmtgT02nzJqj6nrB93vDxcBx2zZHQpXSZeoB6NxOeo4N_em_X7pSpl3U4Flv0iTwe
Hallam-Baker Expires 26 April 2023 [Page 35]
Internet-Draft Mesh Protocol Reference October 2022
2iEfKx_OuoGwxiWz1iTxsN_CrYq4a1ddvhM0UnsLuAROhA86sZWy5XEyEi1Jwgji7
KADNBnfwkCavh16FvHTEE7wM1txjNNHv5d1hfDwxZ0IdV2AQzDMTQuH5hKI1VB28a
dgdNEM3WriIrpDqK_aY134jwiRp38uN9tOTI1URGwGIZjFcx7Rx5ujdccGbMLn5v4
gHMynTWjvd4UC6AkqBLMAqzJZxlk5kANyDjHm2GmSceCEktOnFiRMZHgtpNGPI9fK
cUqiz48e42uOozJtIrQa2JFBSTz1FnyUVEQfYhUXOsQrGaxw-xrJUurC8WZmdtTEr
E_f2xBrXwaOJ4tO2NVZVq78h7oMMyonX3XglptkuQjZtHJ3ihGZGnUXr_128bdF-W
IyxN6pgWrlE9hVXhIXzjeZyVyTOwex0CMd_8eaxblIGr_upxB_KufqaR1XHkc1hVd
L7nmI7_dujHI-A35weeUKJT-jCphwdeOA-R-owKqMaVqD9ja9l9soLnPUl4UYnmDW
b796B-jWtxJDqeaKJ5NIWUHlOKtYRlc_RKrr2BfAh2jvym4Brxewkl6LSv95v_BmF
okNcWvGGDSMckb4jMJemWFqpiryqySjlA2k5ShK_SLKcORCQB10Hv74PXyevmuFkr
lbvzVY5mV0q3fGyYtZJdMu9L3cBD5o0YT1aTk5cJKXKOOQ_XgX-Rb8UvNMxQ07HJa
RVFKgSOXY598VxuQgHfXVBG3DifGHCGFTVMTt_h3Hwlz94I5Hf4bITUbkTwKO04ju
7Txdr7AG0YaZMEHXaKoWDbbzvEpl2IHZGpdhg5Wo_5xjtGhQGK4o2cFdvB7Adgr2S
EdkOIVWfrCugacXytbrIDMRfYM0QlKtjanq6JZOlfXS9Nvh24Up7jUkCZgmna9cso
VO5zKK3SnVYTbHl7_kgLdvH4oBycjGxdxusy7bfClfF8fKm77Bv6Xxh9K2254EQd5
TGQjNZb96sW9JriU4xUKRIEB8c8ILiwXvAKFUA-QRPEwUTd75dRHDVXA-TIxMMHO1
JRwXda5nxDq6aTwrLQPLvr3eUPuW2v-4mLJebCc3VdQXWB1YuXMRd3HG9gXQvxID5
CzXJvC_BOEPdhfze7hFZRy68brTRwRYDTyAw1cf6A_1S2ZyqOTASwvLg69Orj8eGR
RxoS4yZw7A5OWr9yHO2zOJCuSm6GYmCGLslmD-onxRJJUJGgOk0nh_6pvdaNu7o8b
Vmlo4t6IPkxDRNWB9wwjk-OvZbiF1v2x7hMrL1QhqmIgbLp_eUQdpSL9JZwB4FRhh
8Jwlfkvz3-f2EY9l2DrG2dj_e4rr0pGkL_RGak4QZlcQOpDVWOgRzbgIfU1yfvr18
7SlWdkIFhg-Xl_jJMhcp_UZ1Z4CZZqqqfBugpMCtPVIiDM3TCp_-IuP4n7HmzU1-3
lOLIU0zkPPp98aC-VLO8CklTmxoiWp9C76S2CCdAhCLAtMiGXyWGSaiDwfhtOHbpn
DKIccd743jAvRwYdsE9F5eGPx7o85i3SuQhoUgBrZS9sc8P_uoWIjDjj0QLbFnomv
TJWPIIc8JTjrfAhDX7gVZLnUgNa4jdTusp-rtceyHf7cFD6kqsDqF-BHmk5jETiZI
Zy2tM4WJjNJ3K6sfBGIAzJ_lr_Y8etIjpb7uv8pf2iFxZhwFf5NIA02aIstVGD73P
ktHEnMtKaqZAnWYHGqbAucRrr0ZQC_02xc2LFoO8D8gwHjVL3wys2AUwRcYp4l9Et
ZLe5vkFRB4gY5yIIPHUIejHWZsya9CAQBM67rP7PS94M_J_Fglu0Hzk6yXpYTsCG4
I79h1on29yEr9qER6Sq2Xq2ZnApwr7mbIvE-PmmEW5kdU9sJHh0j1anZlwtDc95Vh
_aKx6g9IwiGwFwU3-HsHnmbJOsRVeZg6uQCXiKk1DpX2CHJZ18S7zqFn9BpNNbu63
_bUXt55AV7F-rEhvCyiEmTNrnMjGO2yjI1JUefa85HbxYxAGNhjRzul21BUKr2piE
hrO8TxDw4-nutiQt6g3NGdp1YJieFtjhjKzYMDQn7OVJ2pnUqUsHbmO9GwiNl9nHR
McjqHHKRu1I2Z7AtKMc-tvuLrAwmgsVoyx_xDA7oLJ7pvq9LB3IA6bivZ9gLyLjrR
G6Esnc05BzSYqPo3hlufEt-0effdxjD1eROpBQqEjCBhxyKnNOI0sx8X5lYB6cKFp
cSiZ6vOnjSvnROms391tDpQPn0n55t5PyfFd1k8Ggl4GLniwHxqGnHrOYhvPs3Kog
pIAljc_8Szk2Nw9TSNhivMW6ddxqZFhUR2Snp_07tsuGSuJmP3M5SOzxe2AwJTR0s
ZXf7Botfo_TvhyckN7WT6swQMY1nd5pvqgVrAi1IqH5DzNZ16_tcbFhZL3KR10mK1
YsyN6qoKaFLsx6jZ2Irb5yroF9cPqaE6wKP-oOQD6P-zZ9IF_fM6i1k5EiBg9VcFY
CuwRFzOmsovNXHKARnfu2aLVMKsd7WO1cn5uonDwv_amA3-1I2W4jta5sLL2jGXId
9C8XpymJfHwv9WMHu0Xf3jRFLpZpunTT9jtOfIMU_zR-QsrwzuNadyiwOC5-t0dXi
wWJ6dn1uoRzF1bngsrgiWHm0V-uhJa8QpST6ckPyQ7rgJ2_w70R-3F5yqTCaOGNtg
FFhOmq1-fxP2je-LVkmqbwK04KNV7B6riLsDBwL74DzSkMSr58XbgUjrOkH06F1D2
WQbVIVeNQzFlcMfjfL5L-dpSaATyrNQDej_CQsooKWCPxwVC2VffAke8vZoiEY1Ky
L0Mhf-0yexJfREdiJgxCI5Gm5vsM4F22JxU_e2S-EnfM6mC0sd_cdSntWrXXLk3TD
bhdgVx8SsxWsVLGCnLlyOUkv-ukghOIzJ09eL0ujJS_wxOWvbryan7Q9GYWHyEjTv
O47r2TnW1NDyUMLy-zSDzGesXKWljP4MI0d2CD3Z625rBvALEzc20qRgm48A5HoUc
7_lBvmVXlJw5oMl7JleOU20Rcaq8f54-Sn2JAknRALY4l3mLlmKsOWRX2SeffVP2p
O6qtym98ayT1OMAWgkeDuCwGxfzdJBH0bEFeaSJinb1Mer7T3yTQG7OoSnVBU0Z1m
Hallam-Baker Expires 26 April 2023 [Page 36]
Internet-Draft Mesh Protocol Reference October 2022
U0GeMFIb_JSEaEkpwzx7zmTi82kU58XEPsUBjrPbAeXITQfXlKEPeyL3dBhle7HZj
_Qtgxclv8ZbXCTkLFwvOldHzk2v7GlqZqtZxR_odWc4iYjWj7OGYsTp3tJ4io1bPk
iBAcjKA7byOoilMS4Qlb3o-hJm6IdZOG-CH2e1PzRZr-gEgyjq89ZHNh4taeyYIPk
FyaNPmYUpWS8H5bzDRE2H2ThCQzZy6lnYYDOyhf6zSxJNfvxIdLs95dljd7JhGb_y
UCVnFpwBIxEn6Rvtc-fBBYEkdFPuLzwcIgAPUc3Zmib7_6pcAWQM-37W42EIZtNjb
jMJH8W5Hw5bTbq4n8N2KlNOKdOi-Opk7iO3qsig4BCSiRGQx4tfkhZ4QXeRsX84eO
KwQG28VBjzaMfUjta2gCzKyjPG9toa4sJxDMP7LNczlJR9YJCyk_nUCeTOuXUsOBe
3N7gsk3rZH1NWX73wRfZZ87yldMvE8u-yLOD7JKyRbuObsxlq3PYPJwOATSdJCX_f
RfEqtwjShPNYKB-ftj9XDtisy5AFYYOlLu2sjL-_pq0uhPOFEQ8M75SfmNMCB8bND
r5I0cTNIUDAfCgd2z_lQwUtyqbUXkTvqHhDxA6GS2jjtBZiawwxoE_9CKkxbJxCLv
CWPlESQpaGGGj6WW0GgsS8b4sqUjHx-UtsucKgPDuD0fl4hIC7-fk2SnpKTkd4ztU
37ZEfahONKSUeTsNnmYxqTlhsL_r5tBkang7RBM8LJ-88sqSgp5-G90ywOa0i5bZx
1cGU4KAcNDbFn9e1hIf3SAj73MlPkzaQpvJspZoaILBv7yvFAtRSaEbL3Dol3frqH
4B-5xtn3gkl8VBF3-x09RQwcDybDYJ8yUg8LGaDsijPRBT5x8TmAUkjxPm4mqjww4
AIFgymvkNfGFvyilKvWFugj0FGaFPcaT5VbyAXgo7pNblCeouLVhThf2ARQcfg2yv
PuFJGsM3gbOJl8lFn-mjZ0kL8VUiO2CPwTuAfxM9Y8N1flOR_xJN3l0fiFjIH2HWa
HOIxLHbNopV2gOrp3BDHVi-fXZoDuiG694EwJJurMhDNGtS6JU0ypel_rGQH4JKHh
tCfSiDjuJQEwHMjXH2NrH8xDTDl1r0t9170s7PT3cUwrghDJKGUem8G7DDCjgQ1Pl
StBeQg46Wo3WyfXRaMR_rM6FPYOW2-H8NcTMIe9P3ywV04ATIO2n3Y34VSyeduatY
NmgvoQbCN6KaoUBbuZ7dEJHDDesiz0OWOfAjpZGSMdU17s-wO9k6alxWa3bQ6gk3j
25v7crlBlRcpCJjA7xm1ZPO_qcdeCxhj657KSCEu3Wt783I6UOnAhuPzsTGNroMWf
TXMIr_UNf27I32UemfyHqb2kshNVen-AmiJCv1HN5s2bPDzju_eIQxxwcORxG_fju
ftjgzBgNPNJ8G_wgh_ICf3vl7kDjlpYXaJHxG3kEhGv8lTkigRLvMZEwn5NUCQha9
p7gpigfdrgfLu5Fs5aii4v6tTeeAxQLOIgfpIiNtpjauiO8KTxzUTlGzlqJr52YsP
-JNqKRw0FEj8j1wAsuI_X_CGgQmLdoZIYlbEJHdC1AiN6LtUZsZ_2FxyEpm2tSVNR
-7F13ydDMSQBf42Bn5tuKNL712rZ86i0BptZEZjxdFN8YeZ60G4jiNVoH6z9D5VRw
XggwUkIkjf8ttz5k2gzxeod2i-1Pg6-hylNCvC3h7PucUtOMYC0vlPH4dDaTcDWb8
5hLXj9FkicrGR1gMEZbbBX1jEMRUzJRdntCoGSFWSMM03Zq4AbTA7l8Au9ZyVpbx6
sFrEjFg0ZLpEZB0Jy-u4hcOlo3G1XJg1aHjzEgWV7OSjd8KI9oOjxsdLWlmle9GYF
btW3cpSCZnS-d-l9qdDtmD_f5r0ugf277giaFLCHLprSyeWpAwSJ0g1cLtrDaucHk
qhdSgO9pYPRvYzG9LXQXr-chqwc16jvlqy3x25ASLBJMYMWtD0M4P6kKBWXUKgABr
-dBIpibcucquDXBrhwzssy5XeI2bwQ_lD3sjwcYJzw6OXlairH8Ygl9QczCj3HApO
z8BtrWllHy3QNh2Tukr3QhXEWebnBv44HXxvqRuT2xbdJ3T5h0iHES-wApOq2RU2V
EIF06I0dKP2Jb2AwfjW70bbZoQNWpWLF-vn1hjkDRxgstjLu0ChOWhJ__zz8JGZx0
DTX1DDHiZuj6PFW4jN8v1E1-K8Sqya93iTR__0K8LSSMFe9pOA8cQcKtuMDeUD_6j
wQBurbjuob1YTPfGvTwzUApfIPTi6ysKmRdjfSOhcea8-WMbBZsPOgkCg2GliOcqg
bf0fAyIh20I2iuQuS7wyUXqNlvrZLKueSpT_yIfdbBBlcEIVF-L7qqfQniv2XL3i-
OFARCsCnKIuVVmcMRbRV-TwlrRIFiT49kjMczKcQk08hEA34eK3LwPU-zTewDseVs
WDdJmq2bkiha0E4jCZnudIkoFtqcIIlBhWkSUa4sMToeisvxyQddisC26T-2RwaO1
9OG8f0LPtb7cr4wW7MgaxrzhnpFTCwbaEjVZd5NszDZaRaL-fSv9oQcGXU9tzpLsb
lT7nAoDFx-XoZLNwbHx-Rr5_yQSHXoL-CMv8ZuGejYW37Klyn3LqPIBKwR69Gtmh9
J3k8l5N9O-hVe2BNYyCzBg93b_TEBc8P5hFN8o22XuW1gjV6qf9ZGZ3oBXCyuSJPZ
87khUCGf4DX_dEEcI1d6fStAZ9N8_8dlnqNr397VcAlIHk6l8CKaQuARhm02zX2Z9
Fm12Ey-Lc5Gdw4G3PybCebxV12m5S-NOR1744fhJ7j4It_U9jfOJlHOC03Vwr_t9_
IxzqrKxalB13fA8-esd_Q1TEdlkCyKKKwKGzFKjnrV2QXnAFdRsPlVN5AnNMygJUd
7-tjw8bluMAwDpe6_P4wXHV0UPrLXEc1vXAwT-q3VqyLzZ5-48EQuJ_jXBTnohJ2r
ud6wd_UpM_hmLAQftUOvR_7x155jSp7s9Xv9dJNpMOU4UK0Hbho6kUtH0D2_-EnY5
_ykaEsJFs68pSJACOXdxJvzgJPlqTVcxcU-rbecDNwkqgnuwn3_pxkf87zfYNI8Ns
Hallam-Baker Expires 26 April 2023 [Page 37]
Internet-Draft Mesh Protocol Reference October 2022
x9QXRNiG-d-_OXXJPOGBN2TnqpAvxye2zR8mYiD8IcBYzADcNcci8diPeZ7PNGDP8
tntkxMZoLNJ_BMIZIoOUpDE6C6E7KRC2knGPYnRsj0kYORlcrStc1DpquQnjGUCC7
S7jQ4SjR-aRqjXqTVciiuTc5QJkSI1U41Ge6NZ3UaI_uEfPjAfT64zFdi0QCFytN-
kX9rfXPM4CbnUoIzoqJmR7g47u4ATOpeh3yiCGZLkm85WHcfYNW1ZRiG3kT6LAO2C
-QvFcHx0ssZ40U91CKCB3bc7y8PoWqlCyeE5cz2r100ZqOC-mB2dNJZIPqyRrBXib
2h_ml5Svobblh6Bd4lhc1pe7_Lo1wX-Hi2ogDBkeK7tL7oU0oZe_whIb-RvPni_HI
HdEaFJBZPa-L_OPzIdrEy_vXbFsFDPms25ZuaAcITse_snP7FZ4p3mgHd2atiJxbH
KZWVxtHn2zoBVKIUt98_KPJ0ehyFtg41kay75PT0vYPF3wYPrNgRJG4pnxZOg4rFh
pCBviOPj_vMOPCMLhtdGX0figHE1Q68ORV3XBer1jKfwHnzYb-n5R-vILa8WT7tRj
ZKwwxfOPEA5ByW_Ze6tKXYowUnwsCF_GVyLlp6RuLP8PMvKHSDOrvQuxDr3LBr6V2
q0oFa5EEqsCN6DSOpTFcf9rfGAW09xBYlDPOIgtMGvjiFWAi93LB_9lTDTzgBo1vw
mnWw8QE08wvyUYR8hAodmsksXVMxmIIdqE4E6jQ-I91p5-70boidkv9T5JY9OoKD_
GjuwTahlI48k3aaCddL9JllBbAaJW4G3iHfDNWjCKlInyfXke8D1E1qPSB7ksvNzq
YdPrnYSeT0GOB3YuBGJfpKNFJQvHcmutdpODnWtaS6OQBGEf6SETfC_Zp8Gbvu_P2
NEG6AcWqAowLbDfS4vUBjYMpdwqqh0lTF04PDjsDSalNuO-6oEJnEO4vAUC2TjB1T
O4cxx0Sk7N2-Z84O_meG10rqSFpcm5JJIIEJZjZZLu-HLGsJmpSMsL6rw1oJApQ8e
4PTJSL0EZMaG76_xcG9EMaOYJ1byJQwNL-cGy-AyydrwVQ2BEamqhIJAe8flxUgcp
dEra1dOfcT9WuFs5DK8YL1Be4oxBXARGNQYhLUbbHjXRoPZYUz2k2hv73vKHqH6pA
LPX1aV99sfZE6KeCLrlPtmbQtqb434yD1_NQjtmixWrjD_L6P-X6ZBvIsMIuXWezu
9vyMrBVbpLox5pRVBmpEXrrjQsqXprjfYgIBiILayOi6U7YiTF_EvFtHJSo8F5XcL
goOdcJBhmGN-BfETp9XrL0ktyWJlMEcvBVYouzmmklfRceo7TPKuNaXJeFBwZb-kd
wxzq4_eaQiSowddgqc-BuUwO_FzRQEH9RgrgLwR8_xLjVkXqjM6HkkM8CWMF26ko1
Mkp5LF7ena1c-0RPrTOqbN4eP-r1L9YIVBx-ndxvgd0RCaK--1PieTyeNIIFin6bW
jpHAA9jxPsQDWfnUYUQZXJ8rdhUA79YJSJr88iUHwVGfyhsZF_MCUgm5SsjOCNB8H
h09E3S16dilnqMtHfOn4PwFm_ba7udopyFhIT10lrLUQLXOLuXTxR04LQXaGxW8y8
gc443ntCD8WpofT9Cs2I1cFBzovyi8Qo-i5q-D1OStpROihfRgRdU3rbNCTkz7Kmk
iYJJEjDIzdnnnX2",
{}
],
"Status":201,
"StatusDescription":"Operation completed successfully"}}
6.5. Publication
[Future: Consider eliminating this mechanism entirely and instead
using messaging flows. The means of achieving this should become
better apparent when the problem of publishing large messages via a
pull mechanism is considered.]
The Publication mechanism allows content to be published through a
Mesh Account and retrieved by means of the EARL mechanism described
in Uniform Data Fingerprint [draft-hallambaker-mesh-udf]. This
mechanism is used in certain flows supported by the Mesh Device
Connection and Contact Exchange functions. There are two operations:
Claim Post a claim to a published document
PollClaim Check to see if a claim has been posted.
Hallam-Baker Expires 26 April 2023 [Page 38]
Internet-Draft Mesh Protocol Reference October 2022
Content is published by appending an entry to an account's
Publication catalog by means of a Transact operation. The content
may then be retrieved by issuing a claim to the account specifying
the publication identifier that is authenticated under the value
specified in the EARL.
Use of the Publication catalog to post content necessarily requires
that the content be smaller than the maximum message size imposed by
the Mesh Service so that it can be uploaded to the service by means
of a Transact transaction.
Publication of large data items will require modification of the
protocol to support use of a detached message body. Transfer of a
detached message body is outside the scope of this document.
6.5.1. Claim Transaction
The claim transaction is used to post a claim to a document published
by means of an EARL. The claim interaction is used in the Static QR
Code connection interaction but MAY be used for other purposes as
required by Mesh applications.
A claim is made by sending a ClaimRequest message to the service to
which the publication is posted. The service responds with a
ClaimRespose message specifying the success or failure of the claim.
A device is preconfigured during manufacture and a Device Description
published to the EARL:
The client claiming the publication creates a claim message
specifying the resource being claimed and the address of the Mesh
account making the claim.
{
"MessageClaim":{
"PublicationId":"EBQM-KNOL-3JSA-7ODT-IDYR-4MIF-T372",
"ServiceAuthenticate":"ADB6-LL6S-CFGJ-WEGN-ATQH-BIWP-C275",
"DeviceAuthenticate":"AD5I-TWGR-5JLW-PYMH-6PQC-LVMO-MMBV",
"MessageId":"NDMW-S56B-O3D3-NAK6-SKHF-3KHR-UCD7",
"Sender":"alice@example.com",
"Recipient":"maker@example.com"}}
The message is signed by the claimant to make a RequestClaim to the
service:
Hallam-Baker Expires 26 April 2023 [Page 39]
Internet-Draft Mesh Protocol Reference October 2022
{
"ClaimRequest":{
"EnvelopedMessageClaim":[{
"EnvelopeId":"MAF6-JDZZ-VLXA-HV3Z-333W-OUS6-MKRG",
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJORE1XLVM1NkItTz
NEMy1OQUs2LVNLSEYtM0tIUi1VQ0Q3IiwKICAiTWVzc2FnZVR5cGUiOiAiTWVzc2F
nZUNsYWltIiwKICAiY3R5IjogImFwcGxpY2F0aW9uL21tbS9vYmplY3QiLAogICJD
cmVhdGVkIjogIjIwMjItMTAtMThUMTI6NDg6MThaIn0"},
"ewogICJNZXNzYWdlQ2xhaW0iOiB7CiAgICAiUHVibGljYXRpb25JZCI6IC
JFQlFNLUtOT0wtM0pTQS03T0RULUlEWVItNE1JRi1UMzcyIiwKICAgICJTZXJ2aWN
lQXV0aGVudGljYXRlIjogIkFEQjYtTEw2Uy1DRkdKLVdFR04tQVRRSC1CSVdQLUMy
NzUiLAogICAgIkRldmljZUF1dGhlbnRpY2F0ZSI6ICJBRDVJLVRXR1ItNUpMVy1QW
U1ILTZQUUMtTFZNTy1NTUJWIiwKICAgICJNZXNzYWdlSWQiOiAiTkRNVy1TNTZCLU
8zRDMtTkFLNi1TS0hGLTNLSFItVUNENyIsCiAgICAiU2VuZGVyIjogImFsaWNlQGV
4YW1wbGUuY29tIiwKICAgICJSZWNpcGllbnQiOiAibWFrZXJAZXhhbXBsZS5jb20i
fX0",
{
"signatures":[{
"alg":"S512",
"kid":"MCDG-TS7T-UPDD-V667-OXSX-QJ5G-FQRZ",
"signature":"AZPN7yQXHU7HGacLw1ggJW_huQ2Kx6JDuBhnraAA
U7b-PFHBMqcLEExjp7uvP_wJRdOHx9vVZJuAvu9qpnOoH2uJpE7i-LHsonlgTSZH9
_RqqOKXNzQvHhj81K3LecFAFige_yHZXP4aFpLDMVldLh8A"}
],
"PayloadDigest":"UzMKbHTyfoSBf2pi03m-mgLhgFwb6e0qyYFYdV--
MO5icQ_AxmcJCvoHT698416SI4qvEz749uiE1ZnNf8-AZQ"}
]}}
The publication is found and the claim is accepted, the publication
is returned in the response.
{
"ClaimResponse":{
"CatalogedPublication":{
"Id":"EBQM-KNOL-3JSA-7ODT-IDYR-4MIF-T372",
"Authenticator":"EDXZ-IUXU-GCCB-5UD6-CVI6-P2VM-DJJ2-KFOR-2MZF
-KBFT-KJ2T-VLSZ-5UAC-O",
"EnvelopedData":[{
"enc":"A256CBC",
"kid":"EBQO-CDBL-LUJ2-Z6BX-KZPG-MUHN-Y33K",
"Salt":"kHA8EsOojCTci4giaqmN1Q",
"recipients":[{
"kid":"EBQM-KNOL-3JSA-7ODT-IDYR-4MIF-T372",
"wmk":"ILbNKbCEfU5mY7AAOVa5YnsDmsDqwt1B8XcvuNJk9eNE
4883axJMqg"}
]},
"qUY6yGZc7Oka15XfdCEdUhms-ldQJV5j6lIIX5NDNV_JPSWhMYwfwtVR
Hallam-Baker Expires 26 April 2023 [Page 40]
Internet-Draft Mesh Protocol Reference October 2022
MRl3tO89xo6-8Fi5YjMlv9IkTWckXnCojOTa7CsL_bR_mgTcV0n2HTWFTFqmavqrn
mb9eP_EbPXMva1r1oGay9dpC2QGWNKqCeiiA6dNA8JE4NqLwfU85VdmD-E8dDB3a-
1BRFgvQ9TMO2SxwYnhcQSv3o-JvhePufvHpG6Mdlhrarx7I-XprBnmtVtYGe85pQa
4mSVGj4Ziqq-c-okgM2imjgJBnDyMQwhNY3D_40FAtBR8cPDDBLG5BmLXO0clrLxJ
_CNr1efRVu0Qh8J9s3PNx89FUeWcMvj-XyVYcjBxcnaFHfUYJlmSGzGy7WDQ7gAxz
TE5SUrc88D2mtVEcLDUg296Mn2GlzeXgEsWWl18p_Zbk71Bd6So3qfBnGMYbOtMiS
4V9bibdrWqwaYOUWW3Vqkt6zS2_6dFTaffb-8rZLz-AuHw3cTdIYkoqPm7iOXvvf7
haAj9Y57mRx8H-rNoORn8L5dxqy8CE_22ZKHXWqMTGJr6KQpZRXRlBpXkUg-ctcHO
NgjtkEQMDHvrRQScP5NCiRhjfNt2d1TWwYzeasTc1-EyFHPc_ieCiI7hpAxLToER0
B8Q47aj2jRaea01V9mRQiolZXgYWijWHmotU5RPPAbfvrkbp_GiYpFV6Azi409TUB
QgqCjCXjYP3VmJp1_2oxQB5C5Scz_LSeL8z9dgPFbE8l1ZSTEb_fh7KRjpqtTT-UI
49OXxg2nvSedeBAluTKXZJS-9YodmjQWy9jtqUcFy_cMy9h7SxUx5SHVkM4b0-6GX
8f-O5H4TmFu_QLLclti8kHpy-hcaaX3E9mJQdApfqVzHvbQnxWCaj3xRLqjo15ZqW
m8qV0UVSYs0iue_zAjB88NS4nmnqswMjz6UVqVVCvg3Y2q6ZKejY-qxEwvMq9DZtk
JXp-x8sP1fa7XdsCuHMuUEGRKj03pzw8fbFiinFp4T31G8V4N8CoTpMepUBok3M3l
UJs27N6IqiJ023IPdz0NNf64BRXC4s3X3vIe2Tk6pT98Cu04G1oIgkftq3rSEnDgy
STPitQm66PGyD-dtfkjB9fvVe9fuSMSjn9db8WuidkfZFlxRZLlat_0cdAdy0c7my
4-Hn_wMIAvK8m_WQ9DLbwNhupkJWAtYiKLXiFzCAQX-35xr6VaUNDi3pRUBC8wcaU
Xx8OohhftOZC0eMIRLGLiymvdBggClCz0an5a-OQezNBWLTNwGhC0IkgQHfBO5CII
QBMQiHSiXeslVyoiERBJY8MvRGAg28lmj0FOzfyE8SeDNI9wKwREgRWH5oS4qeoCt
Ls_fY8XMPQpjJyvpF5Ki2meoIfPAseAzimuomyFksbC00ZAxfUInjrk_12ejTW2Vq
-mE-MrCE4ND1HifcODNTAKUHWQY-zO0tt4iXfI7oLcfJHA0WPocZ14i-2VZfyD_O1
79kbAic2S5JNhmReSsHI_EzYYz3TwrQfbMsEDtu90KF8BlMa0QOJvY1hnvCnmNWnJ
oPp5ZX8jJx-EYBxdhpQM2K5LmT7P-7VjQGY-1OmJ0NORnjqXtzJljgrX0B2HgzZqH
Z0lU4vuqcO0okE2-PlyjZJvsbzOvbs6WnL5XLFpMKooJkIk-TlSh51SNkDEft5WpK
kN-ToGyPOdDWRbaclHtks7HejZTUab6axL27Rqq8X2k1DJrKYz68JS18WOSujKtZ8
culepBu-MR9tLi4nu1x9WE1vScAkzJTdh4r7lYt4QW7I9tSVEqGBiRs5xAhWcwA9T
-PPq_9KhV6XMHoWiO3PWPO7-_P36qlskDiGgPRQiydUPiumxcJkY8SMnOKZhM-nSX
ccZzNmD8QzQiZYHKYUl1zVYYDa0fl8U_9RIKyf8SSF12JjElr_CGrHVfsMSbh6LYF
fY5DkeWq-Y57fkuNY9nIznzChShMzACZ0Sl79nCMLpnyJFzs28CGncmZBM56E2UNT
nfBBk1dOo0-a_LvOPIh8GaHe29thDDO1lB23afKTbHvpI9Av5fk_t3vzEYq-PNbaI
lE9-ANHZcDMhr24yX3QkwpQdMR5L1onozE8z9R25AvxRxiabXzK8qXNtTKcQLl3UG
oD4lElYBsY31uj_V2ILJNcOZkexZW3V8qGdJoRM4yt4x9C4QA0BUPMhB_I5BJl3Mc
8GKrJe-ucmsFlVQMTkFg_up7WmcDwS1PwBAu5DBTpsX9mzsKUYAKP2FCG25DDvN6l
QPmcb5o-xEgSMku38JEXm_aSWpUlEad2dnFfHmKB1epJGYerhWCxJci8DC2kLbkIX
ZYOqWltHnGupUYhHAP9J6jKTbxpG0u_eU7qF_rHZeiq5bR01F8ajLBkQQjwYj91ql
Ua6oIeWzOoHZXraQnVMJ53f-xhR0HSdvNkNYFjaTkanshD0bIC01vNVOcDD_M8BZJ
Jw4I7nZR49DouwytKs80Wdi55Vn1s7fAqodpIRNsjpzQQnONGUA9FV2Zhd6hMaoVU
rjneak4ps1Rk_WgTbfHYpcDPK4StI3PQ67doNAbAkFH6KMvhZX386MtngfoPOaYM5
EytpXC1Z9OT_Y3eE0fgTdbDbQZGQUHd7Sy9VmBqsyPwi2qM2UrZsT50_eO6KcZDIY
N51jP7zXbF7t3y9-tnwIfF9lhDBRHonPyt4bZSiYI4TUNnES5MbBgJna7Lc7UPFye
jGi8hbcaxwGN1D2wZ_k7CImFbtHraYRwuX37PRaAWYqHGte7R5wNUXoDPE_4BuCNx
9S4obV5pwsPwEZU8tqHyPJsFVXw_M23yRzRsuRZ3zNKyT91AnjApgYOnm5drQdPdX
cgkhl2oueebm3JEvP1W7v6C2JoxzjCwUr6XmVHqgYMVuPV1Jnw8X1B3f-ZGAQNAwe
fGY1Os-LxDkw7kS596yvbIuZLIg56iFZqv0AKhIf1TUJ0npuxALK1YvhpOeVToCan
XLTFV3lArI85NFuzQUCwwBe3LyD6q2SvTsX89TV6S3Qc_Hy8A"
]},
"Status":201,
Hallam-Baker Expires 26 April 2023 [Page 41]
Internet-Draft Mesh Protocol Reference October 2022
"StatusDescription":"Operation completed successfully"}}
The device waiting to be connected uses the PollClaim transaction to
receive notification of a claim having been posted.
6.5.2. PollClaim Transaction
The PollClaim transaction is used to discover if a claim has been
posted to a published document.
When an authenticated, authorized request is made, the service
responds with the latest claim posted to the publication.
The device in the example above periodically polls the service to
which the device description is published to find if a claim has been
registered.
The PollClaimRequest contains the account to which the document is
published and the publication ID:
{
"PollClaimRequest":{
"PublicationId":"EBQM-KNOL-3JSA-7ODT-IDYR-4MIF-T372",
"TargetAccountAddress":"maker@example.com"}}
The response returns the latest claim made as signed message:
Hallam-Baker Expires 26 April 2023 [Page 42]
Internet-Draft Mesh Protocol Reference October 2022
{
"PollClaimResponse":{
"EnvelopedMessage":[{
"EnvelopeId":"MBRA-UGUV-W5GN-5VFJ-MVZH-MMG3-VSIE",
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJORE1XLVM1NkItTz
NEMy1OQUs2LVNLSEYtM0tIUi1VQ0Q3IiwKICAiTWVzc2FnZVR5cGUiOiAiTWVzc2F
nZUNsYWltIiwKICAiY3R5IjogImFwcGxpY2F0aW9uL21tbS9vYmplY3QiLAogICJD
cmVhdGVkIjogIjIwMjItMTAtMThUMTI6NDg6MThaIn0",
"SequenceInfo":{
"Index":1,
"TreePosition":0},
"Received":"2022-10-18T12:48:18Z",
"signatures":[{
"alg":"S512",
"kid":"MCDG-TS7T-UPDD-V667-OXSX-QJ5G-FQRZ",
"signature":"AZPN7yQXHU7HGacLw1ggJW_huQ2Kx6JDuBhnraAA
U7b-PFHBMqcLEExjp7uvP_wJRdOHx9vVZJuAvu9qpnOoH2uJpE7i-LHsonlgTSZH9
_RqqOKXNzQvHhj81K3LecFAFige_yHZXP4aFpLDMVldLh8A"}
],
"PayloadDigest":"UzMKbHTyfoSBf2pi03m-mgLhgFwb6e0qyYFYdV--
MO5icQ_AxmcJCvoHT698416SI4qvEz749uiE1ZnNf8-AZQ"},
"ewogICJNZXNzYWdlQ2xhaW0iOiB7CiAgICAiUHVibGljYXRpb25JZCI6IC
JFQlFNLUtOT0wtM0pTQS03T0RULUlEWVItNE1JRi1UMzcyIiwKICAgICJTZXJ2aWN
lQXV0aGVudGljYXRlIjogIkFEQjYtTEw2Uy1DRkdKLVdFR04tQVRRSC1CSVdQLUMy
NzUiLAogICAgIkRldmljZUF1dGhlbnRpY2F0ZSI6ICJBRDVJLVRXR1ItNUpMVy1QW
U1ILTZQUUMtTFZNTy1NTUJWIiwKICAgICJNZXNzYWdlSWQiOiAiTkRNVy1TNTZCLU
8zRDMtTkFLNi1TS0hGLTNLSFItVUNENyIsCiAgICAiU2VuZGVyIjogImFsaWNlQGV
4YW1wbGUuY29tIiwKICAgICJSZWNpcGllbnQiOiAibWFrZXJAZXhhbXBsZS5jb20i
fX0",
{}
],
"Status":201,
"StatusDescription":"Operation completed successfully"}}
6.6. Cryptographic
The Operate transaction is used to perform one or more cryptographic
operations using private key material recorded in the Threshold
Catalog. Such operations typically represent one part of a threshold
key operation divided between the service and a device connected to
an account.
As with all operations involving the Access catalog, the request MUST
meet the authentication criteria specified by the catalog entry.
These typically include the request being authenticated by a specific
key.Key Agreement
Hallam-Baker Expires 26 April 2023 [Page 43]
Internet-Draft Mesh Protocol Reference October 2022
CryptographicOperationKeyAgreement is used to request a threshold key
agreement operation on a specified public key.
Alice added Bob to groupw@example.com as a member. This resulted in
Bob receiving the invitation described in section ??? and the
following access entry being added to the Access catalog of the group
account:
{
"CatalogedAccess":{
"Capability":{
"CapabilityDecryptServiced":{
"GranteeUdf":"bob@example.com",
"EnvelopedKeyShare":[{
"enc":"A256CBC",
"kid":"EBQP-6DRQ-2TLC-BCIO-IEN4-XYON-7TOK",
"Salt":"cLEpWYfA_14wpQzGEwwMZA",
"recipients":[{
"kid":"MA6Q-4KLG-YT7L-YV2N-DS4T-HP2G-Z3H6",
"epk":{
"PublicKeyECDH":{
"crv":"X448",
"Public":"xJQBqymZRqaMGdbcqipO728xaVACSIm7-o4
GQx7uFL2CR8ogbRsh1XLOPU9gwaSP0nO9X6yzx0QA"}},
"wmk":"RxqG7EcQH1eQXzCvug-DnqTxz4V6-7P0HeHZx6PMxN
jzarvLHmT5Ng"}
],
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJLZXlEYX
RhIiwKICAiY3R5IjogImFwcGxpY2F0aW9uL21tbS9vYmplY3QiLAogICJDcmVhdGV
kIjogIjIwMjItMTAtMThUMTI6NDQ6MzRaIn0"},
"m8W7c9a-Bw8Dcrh5P15KNYNw5SgeIaeYYYnih1aBwhc3mfZsWGcvdp
I_BPCxHWJ_-3wsDc00htKUDDFUnQb9jppJuG5VBehH80iJX1vPqoQ2tK7xuIYvJEH
u0sVlAxAjmTqSewnGFa8h9ndO7uR_MkuoUCRo0_WplxE2x7LqwwqJR0auZfdxrj9c
-0yTmjmD7UoVVQfqw8Fmie64gNDqsknZcxGBeZvaqOCMw9boyojzq0P62nFUhRVl4
OSyzXiUQd69vuz1Z4eOXqZXCZTcHDxBCd9uh-lDJqh68MwHb8ONuWNjysIvWylC7r
fFICGzkO99QRGfErXtlwPG6Ir5aSK13Wlen7h9wRlE_kkh_hVlvBUw63WOQs9XQ1Z
k_8_IuRQ3zn82d8_8nLGU8_OTVF1FrTdIy1zlKjkbUm6mm7WKu-zIvt4vS-lX7NE0
olGotZU7IcXOCdlMy8DvRpcGcKXnj6yLqgQnW7eAW6AsnXi_vpLkXMaHi3eVhliWk
dkGF3n60yQNHlDrFTUSP1S-fSGPHB4ot3muzVOKT5lx3ZjIMzm4ibS4WVtbuKlxxt
jtlRj09nqw1uC6EBo03G2Bt8FxXUk7eD7rOLOoufUDLHMFHHdAhLe4Ea541bP6p_L
JvDvUbTPg5Iq960uPCqJO3uSv8X5Urwi05H07D4zMQ9nnrJZWX0XTjyEURvsJtDt8
l2EPY332_0X211mQWynugw"
],
"Id":"MBVT-4N6Y-ARXQ-F3ZO-NEOS-EYNS-AG5N",
"Active":true}}}}
The private key (in this case a key share) is encrypted under the
service key.
Hallam-Baker Expires 26 April 2023 [Page 44]
Internet-Draft Mesh Protocol Reference October 2022
To make use of the access entry, a request is made that specifies the
key share to be operated on and the public key parameters to perform
the agreement with.
The request payload:
{
"OperateRequest":{
"AccountAddress":"groupw@example.com",
"Operations":[{
"CryptographicOperationKeyAgreement":{
"PublicKey":{
"PublicKeyECDH":{
"crv":"X448",
"Public":"z5zGNSPu0Rb5k9cYKwjBrJTZwBBnZACAKEeZqeH2u
YXB4kggHSUjEmhIDeztsvsJ8F2b2HsMSMeA"}},
"KeyId":"MBVT-4N6Y-ARXQ-F3ZO-NEOS-EYNS-AG5N"}}
]}}
The service checks to see if the request is authorized and if so,
performs the operation and returns the result:
{
"OperateResponse":{
"Results":[{
"CryptographicResultKeyAgreement":{
"KeyAgreement":{
"KeyAgreementECDH":{
"Curve":"X448",
"Result":"YqgJtmNNDS0becbHYSKYxcLvwpIXkPitWyHyPERQM
9aV_8zoWAjE7Evqv6isn_hfAoKswajzTJoA"}}}}
],
"Status":201,
"StatusDescription":"Operation completed successfully"}}
*Future*: Currently, the access catalog is encrypted under the
service encryption key. It would be better to encrypt the catalog
under an encryption key specified by the service during the process
of account binding. This would allow a service to assign a unique
encryption key to each account and limit access to that key to the
hosts servicing that specific account.
6.6.1. Generate Key Shares
Generation of threshold key shares is planned but not currently
supported.
Hallam-Baker Expires 26 April 2023 [Page 45]
Internet-Draft Mesh Protocol Reference October 2022
6.6.2. Threshold Sign
Threshold signature is planned but not currently supported.
6.7. Messaging
Mesh Messaging is an asynchronous messaging service that allows
exchange of information between devices connected to a Mesh account
and between Mesh users.
To enable effective abuse mitigation, Mesh Messaging enforces a four-
corner communication model in which all outbound and inbound messages
pass through a Mesh Service which accredits and authorizes the
messages on the user's behalf.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-protocol-14.html for artwork.)
Figure 2: The Mesh Four Corner Messaging Model
The Post transaction is only used to exchange messages between
services. The client sends and receives messages through
interactions with the outbound and inbound spools of the account.
6.7.1. Sender.
To send a message, the client creates the Mesh Message structure,
encapsulates it in a DARE Message and appends the message to the
Outbound spool of the account using the Transact operation..
The DARE Message MUST be signed under the account signature key.
The Mesh Service receiving the message from the user's device MAY
attempt immediate retransmission or queue it to be sent at a future
time. Mesh Services SHOULD forward messages without undue delay.
6.7.2. Outbound Service
The Post transaction forwarding the message to the destination
service carries the same payload as the original request but is
authenticated by the service forwarding it. This authentication MAY
be my means of either profile or ticket authentication.
>>>> Unfinished ProtocolPostServiceService
[Not Yet Implemented]
Hallam-Baker Expires 26 April 2023 [Page 46]
Internet-Draft Mesh Protocol Reference October 2022
After the message has been sent, the service updates the message
status on the outbound spool.
Services SHOULD implement Denial of Service mitigation strategies
including limiting the maximum time taken to complete a transaction
and refusing connections from clients that engage in patterns of
behavior consistent with abuse.
The limitation in message size allows Mesh Services to aggressively
time out connections that take too long to complete a transaction. A
Mesh Service that hosted on a 10Mb/s link should be able to transfer
20 messages a second. If the service is taking more than 5 seconds
to complete a transaction, either the source or the destination
service is overloaded or the message itself is an attack.
Imposing hard constraints on Mesh Service performance requires
deployments to scale and apply resources appropriately. If a service
is attempting to transfer 100 messages simultaneously and 40% are
taking 4 seconds or more, this indicates that the number of
simultaneous transfers being attempted should be reduced.
Contrawise, if 90% are completed in less than a second, the number of
threads allocated to sending outbound messages might be increased.
6.7.3. Inbound Service
The inbound service MUST subject inbound messages to Access Control
according to the credentials presented in the DARE Message payload.
After verifying the signature and checking that the key is properly
accredited in accordance with site policy, the service applies
authorization controls taking account of:
* The accreditation of the sender
* The accreditation of the transmitting Service
* The type of Mesh Message being sent
* User policy as specified in their Contact Catalog
* Site policy.
6.7.4. Recipient
Messages are received by synchronizing the outbound spool.
Hallam-Baker Expires 26 April 2023 [Page 47]
Internet-Draft Mesh Protocol Reference October 2022
7. Access Control
[This section to be expanded in future drafts]
Access control is effected through the usual division of
authentication and authorization.
Authentication of operation requests is performed by the RUD layer
[draft-hallambaker-mesh-rud] .
7.1. Direct authorization
Any request authenticated under the profile authentication key is
authorized to perform any account operation without restriction.
7.2. Access Catalog authentication
If the authentication key presented has a matching Access Catalog
entry, the device is authorized to perform operations as specified in
that entry.
8. Message Interactions
Message interactions are asynchronous interactions that occur between
devices connected to the same account or between accounts.
All messages are signed by the sender and encrypted under the
encryption key of the recipient if this is known to the sender.
8.1. Message PIN Interaction
The Message PIN Interaction is used to register and validate PIN
codes used to authenticate certain transactions. This interaction
allows a PIN code issued by one device to be consumed by another
allowing for greater convenience in managing devices or contact
exchange.
For example, Alice might delegate the PIN code issue privilege to her
mobile device without delegating the administration privilege to that
device. This would allow Alice to use her mobile device to initiate
the connection of a large number of devices to her Mesh as her house
is being built and approve them later using her administrative
device.
Use of the Message PIN interaction is optional. An application that
issues a PIN code to authenticate a message MAY store the PIN value
within the application without persisting it to external storage.
Hallam-Baker Expires 26 April 2023 [Page 48]
Internet-Draft Mesh Protocol Reference October 2022
Derivation of the SaltedPin, MessageId and Witness values from their
respective inputs is described in the Schema Reference
[draft-hallambaker-mesh-schema].
8.1.1. Registration
To register a PIN code to an Account, a device:
* Generates the PIN code value
* Calculates the SaltedPin value for the specified Action
* Calculates the PinId binding the specified SaltedPinto the
Account.
* Creates and signs MessagePin containing the SaltedPin, Action and
Account values with the MessageId value PinId.
* Appends the MessagePinvalue to the Administration Spool of the
Account.
Note that this construction provides limited protection against
forgery attacks by a party with access to the MessagePin. A party
with such access can use it to construct the witness value required
to authenticate a request.
PIN Code values consist of an opaque sequence of octets represented
as a UDF nonce value. Codes are presented in canonical UDF form,
i.e. Base32 encoding separated into groups of 4 characters. The PIN
value is converted to binary form for calculation of the SaltedPin,
thus ensuring that the canonical form of the PIN value is used.
8.1.2. Authentication
The PIN Code value is passed out of band to a user who will enter it
into a device to authenticate a request made to the issuer.
A request that MAY be validated by means of a PIN is a subclass of
MessagePinValidated and contains the following fields:
AuthenticatedData A DARE Envelope containing the data that is
authenticated.
ClientNonce A nonce value used to prevent certain replay attacks.
PinId Digest value binding the SaltedPinto the Account.
PinWitness Witness value calculated as KDF (Device.UDF +
Hallam-Baker Expires 26 April 2023 [Page 49]
Internet-Draft Mesh Protocol Reference October 2022
AccountAddress, ClientNonce)
The device uses the PIN code and Action identifier corresponding to
the desired request to calculate the SaltedPin value in the same
manner as during registration. This value is then used to calculate
the PinId and PinWitness values.
8.1.3. Validation
The PIN code is validated by performing the steps of:
* Calculating the SaltedPin value from the PIN code and Action
* Calculating PinId from SaltedPin and Account
* Retrieving a MessagePin from the Administration spool with the
MessageId PinId.
* Calculating the PinWitness value from SaltedPin, ClientNonce and
AuthenticatedData and checking this matches the value specified in
the message.
* Performing the requested action.
* Posting a Complete message to the Administration Spool of the
Account marking the PIN code as used.
This process can fail at multiple points resulting in different error
results:
PinInvalid No PIN code is specified, the Pin code indicates an
unsupported algorithm or the calculated PinWitness does not match
the one specified by the request.
PinUsed The PIN code has been used previously.
PinExpired The PIN code is no longer valid.
Note that in the case that an attempt is made to reuse a PIN, it is
not automatically the case that the first use of the PIN was the one
that was valid and only the second attempt was invalid.
Implementations SHOULD alert the user to the attempted re-use so that
this possibility can be considered and appropriate action taken.
8.1.4. Example
Alice connects a device using a QR code presented by her
administrative device.
Hallam-Baker Expires 26 April 2023 [Page 50]
Internet-Draft Mesh Protocol Reference October 2022
The administration device creates a PIN code and records it to the
Local spool. The message specifies the salted pin value used to
verify attempts to use the PIN, the action for which it is
authorized. Since this PIN has been issued to authorize a device
connection, the roles for which the device are authorized as well.
This allows the connection request to be accepted without asking for
further input from the user.
{
"MessagePin":{
"Account":"alice@example.com",
"Expires":"2022-10-19T12:48:11Z",
"Automatic":true,
"SaltedPin":"ADGS-TMEV-G2MR-2NPD-ZJO3-NH2F-363W",
"Action":"Device",
"Roles":["threshold"
],
"MessageId":"ABFI-YEZB-HAEO-7LVM-E7VB-IWUC-YD3F"}}
8.2. Completion Interaction
Completion messages are dummy messages that are added to a Mesh Spool
to mark a change the status of messages previously posted. Any
message that is in the inbound spool and has not been erased or
redacted MAY be marked as read, unread or deleted. Any message in
the outbound spool MAY be marked as sent, received or deleted.
Services MAY erase or redact messages in accordance with local site
policy. Since messages are not removed from the spool on being
marked deleted, they may be undeleted by marking them as read or
unread. Marking a message deleted MAY make it more likely that the
message will be removed if the sequence is subsequently purged.
After using the PIN code to authenticate connection of a device in
the previous example, the corresponding MessagePin is marked as
having been used by appending a completion message to the Local
spool.
{
"MessageComplete":{
"References":[{
"MessageId":"ABFI-YEZB-HAEO-7LVM-E7VB-IWUC-YD3F",
"ResponseId":"MBI3-QJW4-3BIO-7SBZ-PEJP-E7NX-3W7E",
"Relationship":"Closed"}
],
"MessageId":"NCSO-MZMD-G2WJ-Z7NP-6ESO-X2GL-EXPP"}}
Hallam-Baker Expires 26 April 2023 [Page 51]
Internet-Draft Mesh Protocol Reference October 2022
The completion message is added to the spool in the same upload
transaction that adds the device to the device catalog. This ensures
that both operations occur or neither occurs.
8.3. Contact Exchange Interaction
The contact exchange interaction is used to support unilateral or
mutual exchange of contact information. Contact exchange has three
functions in the Mesh:
* To exchange public key information to allow encryption of messages
sent to and verification of signatures on messages sent from the
contact subject.
* To exchange contact information allowing use of other
communication protocols (e.g. telephone, SMS, xmpp, SMTP, OpenPGP,
S/MIME, etc).
* To request that the recipient grant privileges to accept certain
types of messages from the contact subject.
Registration of the subject's contact information in a registry
service eliminates the need for the first of these functions but not
the other two. To prevent abuse, every Mesh Message is subject to
access control and a Mesh service will only accept a message from a
sender if there is an entry in the Threshold Catalog of the account
that expressly permits delivery of messages of the specified type
that are authenticated by an authorized signature key.
The communication of unsolicited information afforded by the contact
exchange interaction is deliberately limited so that a majority of
users can accept contact exchange requests without prior
authorization. It is however likely that some users will receive a
considerable volume of requests forcing them to require contact
requests be authorized through some form of third party
accreditation.
8.3.1. Remote
The Remote Contact Exchange transaction consists of a sequence of
MessageContact messages sent from the initiator to the responder,
responder to the initiator, etc. While there is in principle no
limit on the number of messages exchanged, most exchanges will be
completed in three exchanges or less:
Initiator to Responder Contains Initiator contact data without
authentication context from the exchange.
Hallam-Baker Expires 26 April 2023 [Page 52]
Internet-Draft Mesh Protocol Reference October 2022
Responder to Initiator (optional) Contains Responder contact data
authenticated under a PIN challenge presented in the previous
message.
Initiator to Responder (optional) Contains Initiator contact data
authenticated under a PIN challenge presented in the previous
message.
Each message provides the recipient with additional information which
MAY motivate the recipient to provide additional contact information
to the sender.
{
"MessageContact":{
"Reply":true,
"Subject":"alice@example.com",
"PIN":"ABMH-MBQP-GX34-A7AG-ZEOL-R4XO-VGYQ",
"AuthenticatedData":[{
"dig":"S512",
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJDb250YWN0UG
Vyc29uIiwKICAiY3R5IjogImFwcGxpY2F0aW9uL21tbS9vYmplY3QiLAogICJDcmV
hdGVkIjogIjIwMjItMTAtMThUMTI6NDM6NTdaIn0"},
"ewogICJDb250YWN0UGVyc29uIjogewogICAgIkFuY2hvcnMiOiBbewogIC
AgICAgICJVZGYiOiAiTURMUC1SUlpKLVpBU0ctR1VCWi1QUDJLLTVZREgtRU1HRSI
sCiAgICAgICAgIlZhbGlkYXRpb24iOiAiU2VsZiJ9XSwKICAgICJOZXR3b3JrQWRk
cmVzc2VzIjogW3sKICAgICAgICAiQWRkcmVzcyI6ICJib2JAZXhhbXBsZS5jb20iL
AogICAgICAgICJFbnZlbG9wZWRQcm9maWxlQWNjb3VudCI6IFt7CiAgICAgICAgIC
AgICJFbnZlbG9wZUlkIjogIk1ETFAtUlJaSi1aQVNHLUdVQlotUFAySy01WURILUV
NR0UiLAogICAgICAgICAgICAiZGlnIjogIlM1MTIiLAogICAgICAgICAgICAiQ29u
dGVudE1ldGFEYXRhIjogImV3b2dJQ0pWYm1seGRXVkpaQ0k2SUNKTlJFeFFMVkpTV
2tvdFdrRlRSeTEKICBIVlVKYUxWQlFNa3N0TlZsRVNDMUZUVWRGSWl3S0lDQWlUV1
Z6YzJGblpWUjVjR1VpT2lBaVVISnZabWxzWgogIFZWelpYSWlMQW9nSUNKamRIa2l
PaUFpWVhCd2JHbGpZWFJwYjI0dmJXMXRMMjlpYW1WamRDSXNDaUFnSWtOCiAgeVpX
RjBaV1FpT2lBaU1qQXlNaTB4TUMweE9GUXhNam8wTXpvMU4xb2lmUSJ9LAogICAgI
CAgICAgImV3b2dJQ0pRY205bWFXeGxWWE5sY2lJNklIc0tJQ0FnSUNKRGIyMXRiMj
UKICBUYVdkdVlYUjFjbVVpT2lCN0NpQWdJQ0FnSUNKVlpHWWlPaUFpVFVGSlZpMVl
RVXRDTFROSlJVd3RWMDlMUwogIHkxUFZ6ZENMVFJSVmtjdFJreElVQ0lzQ2lBZ0lD
QWdJQ0pRZFdKc2FXTlFZWEpoYldWMFpYSnpJam9nZXdvCiAgZ0lDQWdJQ0FnSUNKU
WRXSnNhV05MWlhsRlEwUklJam9nZXdvZ0lDQWdJQ0FnSUNBZ0ltTnlkaUk2SUNKRl
oKICBEUTBPQ0lzQ2lBZ0lDQWdJQ0FnSUNBaVVIVmliR2xqSWpvZ0lscHlTbFptUlU
xWGFIcGxOSFYwUlVkcFVrMQogIHRTM1p6VlZocGNHOU5ibmhFU0RaMlVHbERSVXBY
Y21vdGJWQlNOV1JZZDBjS0lDQnRWRzFrUWtnM1JDMTJPCiAgWGhLV0VScE5EbGZab
FZVY1VFaWZYMTlMQW9nSUNBZ0lrRmpZMjkxYm5SQlpHUnlaWE56SWpvZ0ltSnZZa0
IKICBsZUdGdGNHeGxMbU52YlNJc0NpQWdJQ0FpVTJWeWRtbGpaVlZrWmlJNklDSk5
RbGxJTFVKS00wa3RSVlZYVAogIEMwM1VVRkpMVTVIU1VVdFZGQkROaTFZTkV0Vklp
d0tJQ0FnSUNKRmMyTnliM2RGYm1OeWVYQjBhVzl1SWpvCiAgZ2V3b2dJQ0FnSUNBa
VZXUm1Jam9nSWsxRVZUWXRSRnBXVmkxRVFVazFMVlJaVlRRdFJGaENOQzAxTlV0TE
wKICBWbE1XbElpTEFvZ0lDQWdJQ0FpVUhWaWJHbGpVR0Z5WVcxbGRHVnljeUk2SUh
Hallam-Baker Expires 26 April 2023 [Page 53]
Internet-Draft Mesh Protocol Reference October 2022
zS0lDQWdJQ0FnSUNBaVVIVgogIGliR2xqUzJWNVJVTkVTQ0k2SUhzS0lDQWdJQ0Fn
SUNBZ0lDSmpjbllpT2lBaVdEUTBPQ0lzQ2lBZ0lDQWdJCiAgQ0FnSUNBaVVIVmliR
2xqSWpvZ0lrbDZha3QwYVY5aWRXdDZhbkY0Y1VkcVNXWmtSM1JCVERCbVVYVlNibE
IKICBhVEV0UU1XMU9NRGRhUzBod2MwUlNUWFpxTVRZS0lDQTFlVlpLYVRaUE5HMXN
kVlZSYm1sWUxVRjViM1Z3WgogIFVFaWZYMTlMQW9nSUNBZ0lrRmtiV2x1YVhOMGNt
RjBiM0pUYVdkdVlYUjFjbVVpT2lCN0NpQWdJQ0FnSUNKCiAgVlpHWWlPaUFpVFVGT
1J5MVhXVEpFTFZZM1RGY3RUbEJFVFMxS1ZFMU5MVUpNVTFZdFUwdEdWU0lzQ2lBZ0
kKICBDQWdJQ0pRZFdKc2FXTlFZWEpoYldWMFpYSnpJam9nZXdvZ0lDQWdJQ0FnSUN
KUWRXSnNhV05MWlhsRlEwUgogIElJam9nZXdvZ0lDQWdJQ0FnSUNBZ0ltTnlkaUk2
SUNKRlpEUTBPQ0lzQ2lBZ0lDQWdJQ0FnSUNBaVVIVmliCiAgR2xqSWpvZ0ltVk1Nb
FpVY1V4dFVrOXpUR2RSUVRSUE5qSjZaVFp2VWtab1ZEZDRRVTVOWldsNGMzUkZkMH
gKICBoVUZBMFVETnRMV2xCTFVrS0lDQmZiM0pNUjNGaFprTjRVVWR0VERkWk1GWmt
WV3BKTWtFaWZYMTlMQW9nSQogIENBZ0lrTnZiVzF2YmtWdVkzSjVjSFJwYjI0aU9p
QjdDaUFnSUNBZ0lDSlZaR1lpT2lBaVRVSkZSUzFJVUZoCiAgTkxVVTNTek10VVROR
k55MVlXazFhTFZaUlFWRXROa1ZKU2lJc0NpQWdJQ0FnSUNKUWRXSnNhV05RWVhKaG
IKICBXVjBaWEp6SWpvZ2V3b2dJQ0FnSUNBZ0lDSlFkV0pzYVdOTFpYbEZRMFJJSWp
vZ2V3b2dJQ0FnSUNBZ0lDQQogIGdJbU55ZGlJNklDSllORFE0SWl3S0lDQWdJQ0Fn
SUNBZ0lDSlFkV0pzYVdNaU9pQWlSMUExTWpKMFdYZE5aCiAgMVpCYWtOQlEydEZkV
UpWVFRsNGQySkRZalpOTTBsb1JEZHdaRE5MVERaNWIyWnphelpaUmxSbE13b2dJSG
QKICBuZWs1WllucHRWWEpwUldsMVJXOXhNRlpsT0hScFFTSjlmWDBzQ2lBZ0lDQWl
RMjl0Ylc5dVFYVjBhR1Z1ZAogIEdsallYUnBiMjRpT2lCN0NpQWdJQ0FnSUNKVlpH
WWlPaUFpVFVGS015MHlWRXRITFZCYVEwSXRVVWxIVEMwCiAgelFVbElMVmxTTWxZd
FdqWkdUeUlzQ2lBZ0lDQWdJQ0pRZFdKc2FXTlFZWEpoYldWMFpYSnpJam9nZXdvZ0
kKICBDQWdJQ0FnSUNKUWRXSnNhV05MWlhsRlEwUklJam9nZXdvZ0lDQWdJQ0FnSUN
BZ0ltTnlkaUk2SUNKWU5EUQogIDRJaXdLSUNBZ0lDQWdJQ0FnSUNKUWRXSnNhV01p
T2lBaWVsRTVNVk4wYTB0RldtRjBSeTE2YlRCck5GZGZZCiAgV2MyVWpSUFlUWnFWR
Wh3UzFGcFFtWkxaVWRRWTFWTlNtMWZOMlZyYlFvZ0lFbFlNalZLZDJsYVpEUnNMVV
UKICB6TXpoWVIwNVFNbkJWUVNKOWZYMHNDaUFnSUNBaVVISnZabWxzWlZOcFoyNWh
kSFZ5WlNJNklIc0tJQ0FnSQogIENBZ0lsVmtaaUk2SUNKTlJFeFFMVkpTV2tvdFdr
RlRSeTFIVlVKYUxWQlFNa3N0TlZsRVNDMUZUVWRGSWl3CiAgS0lDQWdJQ0FnSWxCM
VlteHBZMUJoY21GdFpYUmxjbk1pT2lCN0NpQWdJQ0FnSUNBZ0lsQjFZbXhwWTB0bG
UKICBVVkRSRWdpT2lCN0NpQWdJQ0FnSUNBZ0lDQWlZM0oySWpvZ0lrVmtORFE0SWl
3S0lDQWdJQ0FnSUNBZ0lDSgogIFFkV0pzYVdNaU9pQWlhVUUyVmpkME9TMXVhR1JS
WVZCUE5WSmZkVXh4V0Zwa2RYUmhkRk5VVFRGbFQxVnhWCiAgR2d0TW1aSWMzRklkM
UkyYms5VWJRb2dJR2RqV2xkSFFWTnROMTlQZDNWS1RETXpkek5UZEdKaFFTSjlmWD
EKICA5ZlEiLAogICAgICAgICAgewogICAgICAgICAgICAic2lnbmF0dXJlcyI6IFt
7CiAgICAgICAgICAgICAgICAiYWxnIjogIlM1MTIiLAogICAgICAgICAgICAgICAg
ImtpZCI6ICJNRExQLVJSWkotWkFTRy1HVUJaLVBQMkstNVlESC1FTUdFIiwKICAgI
CAgICAgICAgICAgICJzaWduYXR1cmUiOiAiVVUxekE2aE1uamlRSEs0d3kzN2tGSF
g1UnBkS3JGZGxfb25yVC13V1hBWmdITkRaVQogIGMtQkRQS21fcDdrbEtQR0ZhQ1A
tamE1Z3ZDQUEwekpoNjhNZnR6ejBiOUM5anlvNlhydnFfWnphUlV2a3pWCiAgVkxI
TUxFOHFIa09ld1k1TzVYR2RyWlZqX2JDSjJHVGpOdUd2NWFCVUEifV0sCiAgICAgI
CAgICAgICJQYXlsb2FkRGlnZXN0IjogIll5MEFsVC1YTTVpbnJCcXJuWE5NcHFSOX
B5ZXEwYXpnenRPRTFkZW45U1RmRQogIERWa3htd01aNlJNZHd4Mlh6Q2gxQ2F3Y1B
GaU9pQ2kyc1pVb0JVdENnIn1dLAogICAgICAgICJQcm90b2NvbHMiOiBbewogICAg
ICAgICAgICAiUHJvdG9jb2wiOiAibW1tIn1dfV19fQ",
{
"signatures":[{
Hallam-Baker Expires 26 April 2023 [Page 54]
Internet-Draft Mesh Protocol Reference October 2022
"alg":"S512",
"kid":"MAIV-XAKB-3IEL-WOKK-OW7B-4QVG-FLHP",
"signature":"EbV232z0tS5gXUEJ3bUICLNZAUmFgPZHkNGB13ND
gGnOfbAbPdo0vcb5icOVXIK8bLAxOGH33XwAw90EdkjMJ7cXGkoQcbzRMIE7cRlSw
x9zBBKYzjRsJC0Q3IXwnot7Gwse50WQMj4AS681S7cnBzcA"}
],
"PayloadDigest":"FZCKtoB_XLOW7JasPTVunMYRb4zZd-CjGX1mCNOA
GO4ViLbLfS_QMn6mh4GJazcDYd7Z0dX5de6QuhVzM5m0Ig"}
],
"MessageId":"NDRX-MOGE-HQ5D-FZHD-R42W-2U6V-OTKD",
"Sender":"bob@example.com",
"Recipient":"alice@example.com"}}
The Mesh Contact Exchange transaction does not provide for validation
of the contact information beyond the binding to the Mesh Account
Address used to perform the exchange.
8.3.2. PIN
Contact exchange requests MAY be authenticated by a PIN code.
Initial contact exchange requests SHOULD include a PIN code value
that can be used to authenticate a response (if given). PIN codes
MAY also be exchanged out of band.
A MessageContact authenticated by means of a PIN code is
authenticated as described in the PIN Interaction section above.
8.3.3. EARL
A MessageContact message MAY be published as an EARL. This allows
contact data to be presented to the recipient on a printed document
such as a business card in machine readable format such as a QR code.
8.4. Group Invitation
The GroupInvitation interaction is used to invite a recipient to join
a Mesh Group. The interaction is essentially a form of contact
exchange except that a sender SHOULD NOT send group invitations
unless there is an existing relationship. Thus the 'first trust'
issues intrinsic to the contact exchange interaction do not apply.
The message specifies the group name and the contact entry for the
group. The contact entry includes the CapabilityDecryptServiced used
to decrypt messages sent to the group when combined with information
provided by the threshold service for the group.
Receipt of a GroupInvitation message does not require a response.
Hallam-Baker Expires 26 April 2023 [Page 55]
Internet-Draft Mesh Protocol Reference October 2022
>>>> Unfinished ProtocolGroupInvite
Missing example 12
8.5. Confirmation Interaction
The confirmation interaction consists of a RequestConfirmation
message from the initiator followed by a ResponseConfirmation from
the responder.
The RequestConfirmation message specifies the action that is
requested.
The ResponseConfirmation message contains the enveloped
RequestConfirmation message signed by the initiator and the
disposition of the responder, Accept = true if the request is
accepted and Accept = false otherwise.
The service sends out the following request:
{
"RequestConfirmation":{
"Text":"start",
"MessageId":"NBGK-6BGU-5C5H-4WUR-OGDF-NZTH-ZLCW",
"Sender":"console@example.com",
"Recipient":"alice@example.com"}}
Alice accepts the request and returns the following response:
Hallam-Baker Expires 26 April 2023 [Page 56]
Internet-Draft Mesh Protocol Reference October 2022
{
"ResponseConfirmation":{
"Request":[{
"EnvelopeId":"MBFM-RPD5-MYYX-UK3M-2SCV-GUYR-J446",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJOQkdLLTZCR1UtNU
M1SC00V1VSLU9HREYtTlpUSC1aTENXIiwKICAiTWVzc2FnZVR5cGUiOiAiUmVxdWV
zdENvbmZpcm1hdGlvbiIsCiAgImN0eSI6ICJhcHBsaWNhdGlvbi9tbW0vb2JqZWN0
IiwKICAiQ3JlYXRlZCI6ICIyMDIyLTEwLTE4VDEyOjQ0OjA1WiJ9",
"SequenceInfo":{
"Index":7,
"TreePosition":6201},
"Received":"2022-10-18T12:44:05Z"},
"ewogICJSZXF1ZXN0Q29uZmlybWF0aW9uIjogewogICAgIlRleHQiOiAic3
RhcnQiLAogICAgIk1lc3NhZ2VJZCI6ICJOQkdLLTZCR1UtNUM1SC00V1VSLU9HREY
tTlpUSC1aTENXIiwKICAgICJTZW5kZXIiOiAiY29uc29sZUBleGFtcGxlLmNvbSIs
CiAgICAiUmVjaXBpZW50IjogImFsaWNlQGV4YW1wbGUuY29tIn19",
{}
],
"Accept":true,
"MessageId":"MA6X-RZBB-RBT7-EWC2-ZPDV-ZUJI-3BRE",
"Sender":"alice@example.com",
"Recipient":"console@example.com"}}
9. Device Connection Interactions
Connection of a device to a Mesh Account combines synchronous and
asynchronous elements and therefore uses a combination of Mesh
Service Protocol and Mesh Messaging interactions.
Four connection interactions are currently defined support connection
of devices with different affordances:
Witness Authenticated For connecting devices that provide data entry
and display affordances and are connected to a network. The
account the device is to be connected to is entered into the
device which displays a witness code. This code is then compared
with a code displayed on the administration device to authenticate
the request, after which both devices can complete the
interaction.
PIN Authenticated A variation of the Witness Authenticated
interaction in which the connection process is initiated by
creating a PIN value which is communicated to the device by some
out of band means and used to authenticate the connection request.
Dynamic QR Code (PIN) Authenticated For connecting devices that
Hallam-Baker Expires 26 April 2023 [Page 57]
Internet-Draft Mesh Protocol Reference October 2022
provide a camera affordance. The user sets the administration
device into 'add device' mode, causing a QR code to be displayed.
The QR code is scanned by the device being connected after which
both devices can complete the interaction. Implementation of this
mechanism is identical to the PIN authenticated scheme except that
the PIN code is presented to the connecting device by means of a
QR code.
Preconfigured (Static QR Code Authenticated) For connecting devices
that have been preconfigured with a device profile identified by
means of a QR Code containing an EARL. The QR code is scanned by
the administration device after which both devices can complete
the interaction.
Each of these interactions provide strong mutual authentication with
minimal user effort.
The witness authenticated connection interaction is intended for use
in cases in which the device is already connected to a network. The
QR code interactions are intended to provide support for acquisition
of networking capabilities as part of the connection process. These
functions are not currently specified. The Static QR Code
Authenticated interaction is intended to support Internet of Things
(IoT) devices which provide minimal interaction affordances.
In each case, the objectives of the device connection interaction are
the same:
* Mutually authenticate the onboarding device and the Mesh such that
the connection interaction only completes if both sides acquire
the authentic profile of the other.
* To provision the onboarding device with the Mesh ProfileAccount,
and an ActivationDevice and ConnectionDevice record allowing the
device to interact as a member of the Mesh with the set of rights
specified by the user.
* To create a CataloguedDevice record and append it to the Device
catalog of the account to allow the device to be managed within
that account.
* (optional) to acquire networking capabilities to allow the above
to be completed.
The connection of the device to the Mesh Account is achieved through
the creation of the ActivationDevice, ConnectionDevice and
CataloguedDevice records described in
[draft-hallambaker-mesh-schema]. These are created by the
Hallam-Baker Expires 26 April 2023 [Page 58]
Internet-Draft Mesh Protocol Reference October 2022
administration device in the third phase of each of the connection
interactions described below and acquired by the onboarding device in
the fourth phase.
9.1. Witness/PIN Authenticated
The witness authenticated, PIN authenticated, and Dynamic QR code
interactions all follow a common interaction pattern.
The Dynamic QR Code (PIN) Authenticated interaction comprises four
phases as follows:
Phase 1: Issue of PIN credential (PIN and Dynamic QR code only) A
PIN code is created and registered with the PIN Registration
interaction described earlier and transmitted to the user by an
out of band communication. In the case of the Dynamic QR code
interaction, this is a QR code that is scanned by the connecting
device.
Phase 2: Onboarding Device Request to Service The onboarding device
creates a RequestConnect message. In the PIN authenticated and
Dynamic QR Code interactions, the RequestConnect is authenticated
by the Device Authentication key and the PIN issued earlier. In
the Witness Authenticated interaction, it is authenticated by the
Device Authentication key alone.
The onboarding device presents the RequestConnect message to the
service by means of a Connect operation to the service servicing
the account. This results in the exchange of the account and
device profiles and the computation of a witness value from the
two profile fingerprints and two nonce values specified by the
onboarding device and the service. An AcknowledgeConnection
message is posted to the Inbound spool of the account and returned
to the connecting device.
Phase 3: Administration Device Acceptance The account holder
authenticates RequestConnect message and uses an administrative
device to accept or reject the connection request.
If the RequestConnect message has been authenticated by a PIN
code, the connection request can be accepted automatically without
additional user interaction.
Phase 4: Onboarding Device Completion The onboarding device
periodically polls the service for acceptance of the request by
the administration device using the Complete transaction.
Hallam-Baker Expires 26 April 2023 [Page 59]
Internet-Draft Mesh Protocol Reference October 2022
The use of the PIN code to authenticate the request message is shown
in $$$$.
The PIN code MAY be presented to the onboarding device in any format
accepted by the device. Administration MAY support presentation of
the account address PIN code as a URI code. Administration devices
SHOULD support presentation of the account address PIN code as a QR
code containing the corresponding URI.
9.1.1. Phase 1:
Alice> meshman account pin /threshold
PIN=AAIT-WXRD-BVB7-3BBT-D6JS-44GE-B4
(Expires=2022-10-19T12:48:11Z)
The registration of this PIN value was shown earlier in section $$$
The URI containing the account address and PIN is:
mcu://alice@example.com/AAIT-WXRD-BVB7-3BBT-D6JS-44GE-B4
9.1.2. Phase 2:
The onboarding device scans the QR code to obtain the account address
and PIN code. The PIN code is used to authenticate a connection
request:
Alice3> meshman device request alice@example.com /pin ^
AAIT-WXRD-BVB7-3BBT-D6JS-44GE-B4
Device UDF = MDVU-AOST-TDIH-AXGE-WUJS-I56V-WJP3
Witness value = AI7W-YKPK-MR3U-CZW7-GAVQ-24LZ-MSFA
The device generates a RequestConnect message as follows:
{
"RequestConnection":{
"AccountAddress":"alice@example.com",
"AuthenticatedData":[{
"EnvelopeId":"MDVU-AOST-TDIH-AXGE-WUJS-I56V-WJP3",
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJNRFZVLUFPU1QtVE
RJSC1BWEdFLVdVSlMtSTU2Vi1XSlAzIiwKICAiTWVzc2FnZVR5cGUiOiAiUHJvZml
sZURldmljZSIsCiAgImN0eSI6ICJhcHBsaWNhdGlvbi9tbW0vb2JqZWN0IiwKICAi
Q3JlYXRlZCI6ICIyMDIyLTEwLTE4VDEyOjQ4OjExWiJ9"},
"ewogICJQcm9maWxlRGV2aWNlIjogewogICAgIkVuY3J5cHRpb24iOiB7Ci
AgICAgICJVZGYiOiAiTUNaWC1VMjJGLTJTSU8tVURVNC0zMlBULUJXNzYtSFlIUCI
sCiAgICAgICJQdWJsaWNQYXJhbWV0ZXJzIjogewogICAgICAgICJQdWJsaWNLZXlF
Q0RIIjogewogICAgICAgICAgImNydiI6ICJYNDQ4IiwKICAgICAgICAgICJQdWJsa
Hallam-Baker Expires 26 April 2023 [Page 60]
Internet-Draft Mesh Protocol Reference October 2022
WMiOiAiWkFhaGpPUlFYbGYxNjBmMzZOOUc5aGU3WC1Wc1l3VW9VSmNGbXZLY0ZHOU
xRRjM5SWhTOQogIGNoM2dwX1QydC1wRm1iWjdzc2tmV25BQSJ9fX0sCiAgICAiU2l
nbmF0dXJlIjogewogICAgICAiVWRmIjogIk1CRE8tM0s3QS1LUlRJLU1CVFEtTVdZ
Ni1VRFBGLVQzSVkiLAogICAgICAiUHVibGljUGFyYW1ldGVycyI6IHsKICAgICAgI
CAiUHVibGljS2V5RUNESCI6IHsKICAgICAgICAgICJjcnYiOiAiRWQ0NDgiLAogIC
AgICAgICAgIlB1YmxpYyI6ICJFbnRiQXdpeVZBMl9zd2lGQWJMSUFJMzVjZ3IzTzB
uSnIwQU9kUzRjVXF6aS0zc20wM1R3CiAgVEVGTlFoTDZkNWI1ZnFQTU10VGo3VGlB
In19fSwKICAgICJBdXRoZW50aWNhdGlvbiI6IHsKICAgICAgIlVkZiI6ICJNQzNSL
TJVSkstS0NONS1ZQkM3LUdGQ1UtSkZaRS1SR0dGIiwKICAgICAgIlB1YmxpY1Bhcm
FtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tleUVDREgiOiB7CiAgICAgICAgICA
iY3J2IjogIlg0NDgiLAogICAgICAgICAgIlB1YmxpYyI6ICJBWGtqbUJRY0Vqd2xj
TGlXekV4TlNiaXQwelRBZFg2dnhRUlFzdEZZbnFlcXc3LVhtY3JRCiAgM3pMMFpNU
UdRUWhYODZJSmpUSDZWZVdBIn19fSwKICAgICJQcm9maWxlU2lnbmF0dXJlIjogew
ogICAgICAiVWRmIjogIk1EVlUtQU9TVC1URElILUFYR0UtV1VKUy1JNTZWLVdKUDM
iLAogICAgICAiUHVibGljUGFyYW1ldGVycyI6IHsKICAgICAgICAiUHVibGljS2V5
RUNESCI6IHsKICAgICAgICAgICJjcnYiOiAiRWQ0NDgiLAogICAgICAgICAgIlB1Y
mxpYyI6ICI2WlFaNnFzakVWcUVLaXRzRjA2ZTJ3M1ZTd0FvOGpDRmtnVWppSXItY2
dkUHdqUjBKTHJsCiAgYlBoMmVLZnNxU1ZvNThoRHBHUGNyZ29BIn19fX19",
{
"signatures":[{
"alg":"S512",
"kid":"MDVU-AOST-TDIH-AXGE-WUJS-I56V-WJP3",
"signature":"3-NhTi02RC6ubyqOekMxcgQPcSlrcFQBCtr0UJFe
WHXwC-_0CIqaXiyzRfR2w1kER8RfwsRNwGYANf4ibEHY2INrVCpVJ8roGwF2tdhcg
SAweO-U-q5ZN6GfldFEn0Ti-bduK8GO351dw-QLrhzNXRMA"}
],
"PayloadDigest":"rXw_CoKPcHDnNka5vIWV7xQ77pf-2fyUn3h3fyKK
P5-b0CZFuw10Akv8TVj748vu0a_FVOeF-DoJ2zwSt-zJHQ"}
],
"ClientNonce":"sX3O55Fc0_Qif7ss-oYQlQ",
"PinId":"ABFI-YEZB-HAEO-7LVM-E7VB-IWUC-YD3F",
"PinWitness":"WZhJn7bTGqltSl8ncV-CDdxeHsimsfeyznypj266_Fn-akQ
EqWfPCG11r51iVGZK5iSFZYIIMJjmWhPTfJDqfw",
"MessageId":"NBKV-TDNI-KV6R-O6U6-B4UI-3INK-AAFG"}}
The service receives the conenct request and authenticates the
message under the device key. The service cannot authenticate the
message under the PIN code because that is not know to the service as
the service cannot decrypt the local spool.
Having authenticated the connect request, the service generates a
random nonce value. The random nonce together with the device and
account profiles are used to calculate the witness value.
The AcknowledgeConnection message is created by the service:
Hallam-Baker Expires 26 April 2023 [Page 61]
Internet-Draft Mesh Protocol Reference October 2022
{
"AcknowledgeConnection":{
"EnvelopedRequestConnection":[{
"EnvelopeId":"MCRT-4U7E-2EFA-6GT6-ATYZ-NKLT-DNU6",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJOQktWLVRETkktS1
Y2Ui1PNlU2LUI0VUktM0lOSy1BQUZHIiwKICAiTWVzc2FnZVR5cGUiOiAiUmVxdWV
zdENvbm5lY3Rpb24iLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1tL29iamVjdCIs
CiAgIkNyZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0ODoxMVoifQ"},
"ewogICJSZXF1ZXN0Q29ubmVjdGlvbiI6IHsKICAgICJBY2NvdW50QWRkcm
VzcyI6ICJhbGljZUBleGFtcGxlLmNvbSIsCiAgICAiQXV0aGVudGljYXRlZERhdGE
iOiBbewogICAgICAgICJFbnZlbG9wZUlkIjogIk1EVlUtQU9TVC1URElILUFYR0Ut
V1VKUy1JNTZWLVdKUDMiLAogICAgICAgICJkaWciOiAiUzUxMiIsCiAgICAgICAgI
kNvbnRlbnRNZXRhRGF0YSI6ICJld29nSUNKVmJtbHhkV1ZKWkNJNklDSk5SRlpWTF
VGUFUxUXRWRVJKU0MxCiAgQldFZEZMVmRWU2xNdFNUVTJWaTFYU2xBeklpd0tJQ0F
pVFdWemMyRm5aVlI1Y0dVaU9pQWlVSEp2Wm1sc1oKICBVUmxkbWxqWlNJc0NpQWdJ
bU4wZVNJNklDSmhjSEJzYVdOaGRHbHZiaTl0YlcwdmIySnFaV04wSWl3S0lDQQogI
GlRM0psWVhSbFpDSTZJQ0l5TURJeUxURXdMVEU0VkRFeU9qUTRPakV4V2lKOSJ9LA
ogICAgICAiZXdvZ0lDSlFjbTltYVd4bFJHVjJhV05sSWpvZ2V3b2dJQ0FnSWtWdVk
zSgogIDVjSFJwYjI0aU9pQjdDaUFnSUNBZ0lDSlZaR1lpT2lBaVRVTmFXQzFWTWpK
R0xUSlRTVTh0VlVSVk5DMHpNCiAgbEJVTFVKWE56WXRTRmxJVUNJc0NpQWdJQ0FnS
UNKUWRXSnNhV05RWVhKaGJXVjBaWEp6SWpvZ2V3b2dJQ0EKICBnSUNBZ0lDSlFkV0
pzYVdOTFpYbEZRMFJJSWpvZ2V3b2dJQ0FnSUNBZ0lDQWdJbU55ZGlJNklDSllORFE
0SQogIGl3S0lDQWdJQ0FnSUNBZ0lDSlFkV0pzYVdNaU9pQWlXa0ZoYUdwUFVsRlli
R1l4TmpCbU16Wk9PVWM1YUdVCiAgM1dDMVdjMWwzVlc5VlNtTkdiWFpMWTBaSE9Ve
FJSak01U1doVE9Rb2dJR05vTTJkd1gxUXlkQzF3Um0xaVcKICBqZHpjMnRtVjI1Ql
FTSjlmWDBzQ2lBZ0lDQWlVMmxuYm1GMGRYSmxJam9nZXdvZ0lDQWdJQ0FpVldSbUl
qbwogIGdJazFDUkU4dE0wczNRUzFMVWxSSkxVMUNWRkV0VFZkWk5pMVZSRkJHTFZR
elNWa2lMQW9nSUNBZ0lDQWlVCiAgSFZpYkdsalVHRnlZVzFsZEdWeWN5STZJSHNLS
UNBZ0lDQWdJQ0FpVUhWaWJHbGpTMlY1UlVORVNDSTZJSHMKICBLSUNBZ0lDQWdJQ0
FnSUNKamNuWWlPaUFpUldRME5EZ2lMQW9nSUNBZ0lDQWdJQ0FnSWxCMVlteHBZeUk
2SQogIENKRmJuUmlRWGRwZVZaQk1sOXpkMmxHUVdKTVNVRkpNelZqWjNJelR6QnVT
bkl3UVU5a1V6UmpWWEY2YVMwCiAgemMyMHdNMVIzQ2lBZ1ZFVkdUbEZvVERaa05XS
TFabkZRVFUxMFZHbzNWR2xCSW4xOWZTd0tJQ0FnSUNKQmQKICBYUm9aVzUwYVdOaG
RHbHZiaUk2SUhzS0lDQWdJQ0FnSWxWa1ppSTZJQ0pOUXpOU0xUSlZTa3N0UzBOT05
TMQogIFpRa00zTFVkR1ExVXRTa1phUlMxU1IwZEdJaXdLSUNBZ0lDQWdJbEIxWW14
cFkxQmhjbUZ0WlhSbGNuTWlPCiAgaUI3Q2lBZ0lDQWdJQ0FnSWxCMVlteHBZMHRsZ
VVWRFJFZ2lPaUI3Q2lBZ0lDQWdJQ0FnSUNBaVkzSjJJam8KICBnSWxnME5EZ2lMQW
9nSUNBZ0lDQWdJQ0FnSWxCMVlteHBZeUk2SUNKQldHdHFiVUpSWTBWcWQyeGpUR2x
YZQogIGtWNFRsTmlhWFF3ZWxSQlpGZzJkbmhSVWxGemRFWlpibkZsY1hjM0xWaHRZ
M0pSQ2lBZ00zcE1NRnBOVVVkCiAgUlVXaFlPRFpKU21wVVNEWldaVmRCSW4xOWZTd
0tJQ0FnSUNKUWNtOW1hV3hsVTJsbmJtRjBkWEpsSWpvZ2UKICB3b2dJQ0FnSUNBaV
ZXUm1Jam9nSWsxRVZsVXRRVTlUVkMxVVJFbElMVUZZUjBVdFYxVktVeTFKTlRaV0x
WZAogIEtVRE1pTEFvZ0lDQWdJQ0FpVUhWaWJHbGpVR0Z5WVcxbGRHVnljeUk2SUhz
S0lDQWdJQ0FnSUNBaVVIVmliCiAgR2xqUzJWNVJVTkVTQ0k2SUhzS0lDQWdJQ0FnS
UNBZ0lDSmpjbllpT2lBaVJXUTBORGdpTEFvZ0lDQWdJQ0EKICBnSUNBZ0lsQjFZbX
hwWXlJNklDSTJXbEZhTm5GemFrVldjVVZMYVhSelJqQTJaVEozTTFaVGQwRnZPR3B
EUgogIG10blZXcHBTWEl0WTJka1VIZHFVakJLVEhKc0NpQWdZbEJvTW1WTFpuTnhV
MVp2TlRob1JIQkhVR055WjI5CiAgQkluMTlmWDE5IiwKICAgICAgewogICAgICAgI
Hallam-Baker Expires 26 April 2023 [Page 62]
Internet-Draft Mesh Protocol Reference October 2022
CJzaWduYXR1cmVzIjogW3sKICAgICAgICAgICAgImFsZyI6ICJTNTEyIiwKICAgIC
AgICAgICAgImtpZCI6ICJNRFZVLUFPU1QtVERJSC1BWEdFLVdVSlMtSTU2Vi1XSlA
zIiwKICAgICAgICAgICAgInNpZ25hdHVyZSI6ICIzLU5oVGkwMlJDNnVieXFPZWtN
eGNnUVBjU2xyY0ZRQkN0cjBVSkZlV0hYd0MtXzBDCiAgSXFhWGl5elJmUjJ3MWtFU
jhSZndzUk53R1lBTmY0aWJFSFkySU5yVkNwVko4cm9Hd0YydGRoY2dTQXdlTy0KIC
BVLXE1Wk42R2ZsZEZFbjBUaS1iZHVLOEdPMzUxZHctUUxyaHpOWFJNQSJ9XSwKICA
gICAgICAiUGF5bG9hZERpZ2VzdCI6ICJyWHdfQ29LUGNIRG5Oa2E1dklXVjd4UTc3
cGYtMmZ5VW4zaDNmeUtLUDUtYjAKICBDWkZ1dzEwQWt2OFRWajc0OHZ1MGFfRlZPZ
UYtRG9KMnp3U3QtekpIUSJ9XSwKICAgICJDbGllbnROb25jZSI6ICJzWDNPNTVGYz
BfUWlmN3NzLW9ZUWxRIiwKICAgICJQaW5JZCI6ICJBQkZJLVlFWkItSEFFTy03TFZ
NLUU3VkItSVdVQy1ZRDNGIiwKICAgICJQaW5XaXRuZXNzIjogIldaaEpuN2JUR3Fs
dFNsOG5jVi1DRGR4ZUhzaW1zZmV5em55cGoyNjZfRm4tYWtRRQogIHFXZlBDRzExc
jUxaVZHWks1aVNGWllJSU1Kam1XaFBUZkpEcWZ3IiwKICAgICJNZXNzYWdlSWQiOi
AiTkJLVi1URE5JLUtWNlItTzZVNi1CNFVJLTNJTkstQUFGRyJ9fQ"
],
"ServerNonce":"QByh6ilkH8TWCy92cW2IZQ",
"Witness":"AI7W-YKPK-MR3U-CZW7-GAVQ-24LZ-MSFA",
"MessageId":"AI7W-YKPK-MR3U-CZW7-GAVQ-24LZ-MSFA"}}
The AcknowledgeConnection message is appended to the Inbound spool of
the account to which connection was requested so that the user can
approve the request. The ConnectResponse message is returned to the
device containing the AcknowledgeConnection message and the profile
of the account.
The device generates the witness value, verifies it against the value
provided by the server and presents it to the user as seen in the
console example above.
9.1.3. Phase 3:
The user synchronizes their pending messages:
Alice> meshman message pending
MessageID: AI7W-YKPK-MR3U-CZW7-GAVQ-24LZ-MSFA
Connection Request::
MessageID: AI7W-YKPK-MR3U-CZW7-GAVQ-24LZ-MSFA
To: From:
Device: MDVU-AOST-TDIH-AXGE-WUJS-I56V-WJP3
Witness: AI7W-YKPK-MR3U-CZW7-GAVQ-24LZ-MSFA
MessageID: NBGK-6BGU-5C5H-4WUR-OGDF-NZTH-ZLCW
Confirmation Request::
MessageID: NBGK-6BGU-5C5H-4WUR-OGDF-NZTH-ZLCW
To: alice@example.com From: console@example.com
Text: start
Alice> meshman account sync /auto
Hallam-Baker Expires 26 April 2023 [Page 63]
Internet-Draft Mesh Protocol Reference October 2022
The administration device determines that the device connection
request is authenticated by a PIN code. The PIN code is retrieved
and the message authenticated. This is shown in the PIN registration
interation example in section $$$ above.
Bug: This command is currently showing superflous pending messages
due to the failure to clear messages processed in earlier examples.
The Cataloged device record is created from the public key values
corresponding to the combination of the public keys in the device
profile and those defined by the activation.
This is returned to the onboarding device by wrapping it in a
RespondConnection message posted to the local spool of the account.
{
"RespondConnection":{
"Result":"Accept",
"CatalogedDevice":{
"DeviceUdf":"MDVU-AOST-TDIH-AXGE-WUJS-I56V-WJP3",
"EnvelopedProfileUser":[{
"EnvelopeId":"MDRR-5W72-3RJO-VZB3-VUVQ-IOEC-6UNA",
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJNRFJSLTVXNzIt
M1JKTy1WWkIzLVZVVlEtSU9FQy02VU5BIiwKICAiTWVzc2FnZVR5cGUiOiAiUHJvZ
mlsZVVzZXIiLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1tL29iamVjdCIsCiAgIk
NyZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0MzoyOFoifQ"},
"ewogICJQcm9maWxlVXNlciI6IHsKICAgICJDb21tb25TaWduYXR1cmUi
OiB7CiAgICAgICJVZGYiOiAiTUNERy1UUzdULVVQREQtVjY2Ny1PWFNYLVFKNUctR
lFSWiIsCiAgICAgICJQdWJsaWNQYXJhbWV0ZXJzIjogewogICAgICAgICJQdWJsaW
NLZXlFQ0RIIjogewogICAgICAgICAgImNydiI6ICJFZDQ0OCIsCiAgICAgICAgICA
iUHVibGljIjogImhBZTdpaUNZbm51MGpyVFNhdTVXdWNPNzRNajBaQTlEY1N6VFd5
ck5RVXg3dDVuSnNsZkIKICB6VjBqYnpaWWprb29HalFsYnZJclVUR0EifX19LAogI
CAgIkFjY291bnRBZGRyZXNzIjogImFsaWNlQGV4YW1wbGUuY29tIiwKICAgICJTZX
J2aWNlVWRmIjogIk1CWUgtQkozSS1FVVdMLTdRQUktTkdJRS1UUEM2LVg0S1UiLAo
gICAgIkVzY3Jvd0VuY3J5cHRpb24iOiB7CiAgICAgICJVZGYiOiAiTUJNVC1LSkpX
LUZVN1UtSFJNUi1LNE9JLU9LTVktWENZTyIsCiAgICAgICJQdWJsaWNQYXJhbWV0Z
XJzIjogewogICAgICAgICJQdWJsaWNLZXlFQ0RIIjogewogICAgICAgICAgImNydi
I6ICJYNDQ4IiwKICAgICAgICAgICJQdWJsaWMiOiAiak1XbTJvRGpvQWdJZ053SkV
3eGk2MkZvRnhrN002R0VMX1FUcGZySmhvd2k2eUFJOTFHVAogIDh4X3pFVG9NYnVh
eDA5VkpDRU9QWnphQSJ9fX0sCiAgICAiQWRtaW5pc3RyYXRvclNpZ25hdHVyZSI6I
HsKICAgICAgIlVkZiI6ICJNQkZNLVhXMkgtQ0JMVC1BTU5RLVpXVlotVVNHSS1LT0
dJIiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0t
leUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIkVkNDQ4IiwKICAgICAgICAgICJQ
dWJsaWMiOiAid0loNFhfcnpEMzQ2OFRFWnhLdGZWd0xSdHRlRFBZUEpqeWFUUUMwc
kl5bzFOazZQTnNkUQogIHZNa0FPNzZBejlCR19aTGxVNE50T2tnQSJ9fX0sCiAgIC
AiQ29tbW9uRW5jcnlwdGlvbiI6IHsKICAgICAgIlVkZiI6ICJNQzdWLVhWTUotNzN
PTC1ZV0dMLTVNSUstUk9YUS1HTDNZIiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMi
Hallam-Baker Expires 26 April 2023 [Page 64]
Internet-Draft Mesh Protocol Reference October 2022
OiB7CiAgICAgICAgIlB1YmxpY0tleUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogI
lg0NDgiLAogICAgICAgICAgIlB1YmxpYyI6ICJjbERrUVQ0bDBxV3E4eFJ4SlNsNm
p0eV9NdXFsWTM5ZE1jOUhheFEwSWk5Nk00aThFVWVRCiAgeW9VT1pRM2IxYjQwVFc
3eUtBb3U5SHlBIn19fSwKICAgICJDb21tb25BdXRoZW50aWNhdGlvbiI6IHsKICAg
ICAgIlVkZiI6ICJNQVgzLUU2V1AtQk1JUy1JWFBJLU1ZUFItTTU2Qy1PSVUzIiwKI
CAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tleUVDRE
giOiB7CiAgICAgICAgICAiY3J2IjogIlg0NDgiLAogICAgICAgICAgIlB1YmxpYyI
6ICJwamdjdmlIRU9yYW4yWmFMa2E5ZmVnbmFqN3V0OU5Sd2NTNUZHWmlGODBvSmUz
RnpVeHZzCiAgeE1xdXRJNFpxNW5zbVAwbDhEa1FPUUlBIn19fSwKICAgICJQcm9ma
WxlU2lnbmF0dXJlIjogewogICAgICAiVWRmIjogIk1EUlItNVc3Mi0zUkpPLVZaQj
MtVlVWUS1JT0VDLTZVTkEiLAogICAgICAiUHVibGljUGFyYW1ldGVycyI6IHsKICA
gICAgICAiUHVibGljS2V5RUNESCI6IHsKICAgICAgICAgICJjcnYiOiAiRWQ0NDgi
LAogICAgICAgICAgIlB1YmxpYyI6ICI4MXN3cG0wNVQ5b2x5cWJNSE8wZGFEVFdSM
mktUEtGaEhtQnRHdjVwTkowNmg2a0tFNk5VCiAgMGJDTHY2U3k3cGJuc3dXbUZzek
t0U3FBIn19fX19",
{
"signatures":[{
"alg":"S512",
"kid":"MDRR-5W72-3RJO-VZB3-VUVQ-IOEC-6UNA",
"signature":"UNtyhJFuwLPmj8uuSw6Ts61ACoOkEoLF63rSbH
T35bDRuS8VFhnkyNX2mQ4SIGHuBPPSURZB84kAGRhq0MRAR32jbTJr4We3LSy_Pde
Gh5hVaGbRMUhX2V40SVzy7SxLcGYW8iXqXq9PVYL3S315fBIA"}
],
"PayloadDigest":"6P0GfqW3b_kYhYrWG0e0oXy0uENOr_YxxcU3Cg
LaNO3tLeTmWkUCGtlZUMvEptTtN-Ysu4KqmXr7OmphX03qow"}
],
"EnvelopedProfileDevice":[{
"EnvelopeId":"MDVU-AOST-TDIH-AXGE-WUJS-I56V-WJP3",
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJNRFZVLUFPU1Qt
VERJSC1BWEdFLVdVSlMtSTU2Vi1XSlAzIiwKICAiTWVzc2FnZVR5cGUiOiAiUHJvZ
mlsZURldmljZSIsCiAgImN0eSI6ICJhcHBsaWNhdGlvbi9tbW0vb2JqZWN0IiwKIC
AiQ3JlYXRlZCI6ICIyMDIyLTEwLTE4VDEyOjQ4OjExWiJ9"},
"ewogICJQcm9maWxlRGV2aWNlIjogewogICAgIkVuY3J5cHRpb24iOiB7
CiAgICAgICJVZGYiOiAiTUNaWC1VMjJGLTJTSU8tVURVNC0zMlBULUJXNzYtSFlIU
CIsCiAgICAgICJQdWJsaWNQYXJhbWV0ZXJzIjogewogICAgICAgICJQdWJsaWNLZX
lFQ0RIIjogewogICAgICAgICAgImNydiI6ICJYNDQ4IiwKICAgICAgICAgICJQdWJ
saWMiOiAiWkFhaGpPUlFYbGYxNjBmMzZOOUc5aGU3WC1Wc1l3VW9VSmNGbXZLY0ZH
OUxRRjM5SWhTOQogIGNoM2dwX1QydC1wRm1iWjdzc2tmV25BQSJ9fX0sCiAgICAiU
2lnbmF0dXJlIjogewogICAgICAiVWRmIjogIk1CRE8tM0s3QS1LUlRJLU1CVFEtTV
dZNi1VRFBGLVQzSVkiLAogICAgICAiUHVibGljUGFyYW1ldGVycyI6IHsKICAgICA
gICAiUHVibGljS2V5RUNESCI6IHsKICAgICAgICAgICJjcnYiOiAiRWQ0NDgiLAog
ICAgICAgICAgIlB1YmxpYyI6ICJFbnRiQXdpeVZBMl9zd2lGQWJMSUFJMzVjZ3IzT
zBuSnIwQU9kUzRjVXF6aS0zc20wM1R3CiAgVEVGTlFoTDZkNWI1ZnFQTU10VGo3VG
lBIn19fSwKICAgICJBdXRoZW50aWNhdGlvbiI6IHsKICAgICAgIlVkZiI6ICJNQzN
SLTJVSkstS0NONS1ZQkM3LUdGQ1UtSkZaRS1SR0dGIiwKICAgICAgIlB1YmxpY1Bh
cmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tleUVDREgiOiB7CiAgICAgICAgI
CAiY3J2IjogIlg0NDgiLAogICAgICAgICAgIlB1YmxpYyI6ICJBWGtqbUJRY0Vqd2
Hallam-Baker Expires 26 April 2023 [Page 65]
Internet-Draft Mesh Protocol Reference October 2022
xjTGlXekV4TlNiaXQwelRBZFg2dnhRUlFzdEZZbnFlcXc3LVhtY3JRCiAgM3pMMFp
NUUdRUWhYODZJSmpUSDZWZVdBIn19fSwKICAgICJQcm9maWxlU2lnbmF0dXJlIjog
ewogICAgICAiVWRmIjogIk1EVlUtQU9TVC1URElILUFYR0UtV1VKUy1JNTZWLVdKU
DMiLAogICAgICAiUHVibGljUGFyYW1ldGVycyI6IHsKICAgICAgICAiUHVibGljS2
V5RUNESCI6IHsKICAgICAgICAgICJjcnYiOiAiRWQ0NDgiLAogICAgICAgICAgIlB
1YmxpYyI6ICI2WlFaNnFzakVWcUVLaXRzRjA2ZTJ3M1ZTd0FvOGpDRmtnVWppSXIt
Y2dkUHdqUjBKTHJsCiAgYlBoMmVLZnNxU1ZvNThoRHBHUGNyZ29BIn19fX19",
{
"signatures":[{
"alg":"S512",
"kid":"MDVU-AOST-TDIH-AXGE-WUJS-I56V-WJP3",
"signature":"3-NhTi02RC6ubyqOekMxcgQPcSlrcFQBCtr0UJ
FeWHXwC-_0CIqaXiyzRfR2w1kER8RfwsRNwGYANf4ibEHY2INrVCpVJ8roGwF2tdh
cgSAweO-U-q5ZN6GfldFEn0Ti-bduK8GO351dw-QLrhzNXRMA"}
],
"PayloadDigest":"rXw_CoKPcHDnNka5vIWV7xQ77pf-2fyUn3h3fy
KKP5-b0CZFuw10Akv8TVj748vu0a_FVOeF-DoJ2zwSt-zJHQ"}
],
"EnvelopedConnectionService":[{
"dig":"S512",
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJDb25uZWN0
aW9uU2VydmljZSIsCiAgImN0eSI6ICJhcHBsaWNhdGlvbi9tbW0vb2JqZWN0IiwKI
CAiQ3JlYXRlZCI6ICIyMDIyLTEwLTE4VDEyOjQ4OjEzWiJ9"},
"e7QRQ29ubmVjdGlvblNlcnZpY2V7tApQcm9maWxlVWRmgCJNRFJSLTVX
NzItM1JKTy1WWkIzLVZVVlEtSU9FQy02VU5BtA5BdXRoZW50aWNhdGlvbnu0A1VkZ
oAiTUQyTC1NUFJFLVFXV1MtWFRKRC0zVVBNLVhMQkktTDdZNrQQUHVibGljUGFyYW
1ldGVyc3u0DVB1YmxpY0tleUVDREh7tANjcnaABFg0NDi0BlB1YmxpY4g5k90GmOG
e9O5lzmhecs6x7bMgC-TLtWwRxRhD22Jsp7cWUfzdYclPicMd75dLrMhGvPDqGoGK
kFeAfX19fX0",
{
"signatures":[{
"alg":"S512",
"kid":"MBFM-XW2H-CBLT-AMNQ-ZWVZ-USGI-KOGI",
"signature":"2ULSXsloj7o6CA45OK9oS76Lxvx_scD5v0Jyg3
Orw3y5u6jxTfBDQ0achKfG7ukTYUYk-F_9bZQAUeDiu_UNQ-F11KU93eLfKNdoyMG
PuqueZM3cI_3MZpg_Y8USSTBC8-3ZQ2jm7eTQvf1TJ4hcfSgA"}
],
"PayloadDigest":"ilTsyFjZfzvueN8dMs0oIjWRMnlX8738V2SxXQ
WMtTl30QadDspUKT0y9htgRd3B3K3BXXYuifsVYkemJ93r8Q"}
],
"EnvelopedConnectionDevice":[{
"dig":"S512",
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJDb25uZWN0
aW9uRGV2aWNlIiwKICAiY3R5IjogImFwcGxpY2F0aW9uL21tbS9vYmplY3QiLAogI
CJDcmVhdGVkIjogIjIwMjItMTAtMThUMTI6NDg6MTNaIn0"},
"e7QQQ29ubmVjdGlvbkRldmljZXu0BVJvbGVzW4AJdGhyZXNob2xkXbQJ
U2lnbmF0dXJle7QDVWRmgCJNQ04zLTJCWlotMk01RC1JS0pDLUsyNDUtUFMyQi1WV
FRHtBBQdWJsaWNQYXJhbWV0ZXJze7QNUHVibGljS2V5RUNESHu0A2NydoAFRWQ0ND
Hallam-Baker Expires 26 April 2023 [Page 66]
Internet-Draft Mesh Protocol Reference October 2022
i0BlB1YmxpY4g5fZZGkmvt9nJ_UbyYl38byPIhQiUf5jAY4RmX1NWznq1itr_e80-
tKNvJtkDX5f56cXXI1bY7pxmAfX19tApFbmNyeXB0aW9ue7QDVWRmgCJNQlZSLUtD
TUYtVTNDNS00M1NILVZFUjQtU0RDSi1SU0JDtBBQdWJsaWNQYXJhbWV0ZXJze7QNU
HVibGljS2V5RUNESHu0A2NydoAEWDQ0OLQGUHVibGljiDnF6uTxweBXs82Hcn7xeh
B6sIKxIqEIscG6ii7JNtw8_IQ60_4u2-pl0hGMUoapHD3rDNFnnSqx1YB9fX20ClB
yb2ZpbGVVZGaAIk1EUlItNVc3Mi0zUkpPLVZaQjMtVlVWUS1JT0VDLTZVTkG0DkF1
dGhlbnRpY2F0aW9ue7QDVWRmgCJNRDJMLU1QUkUtUVdXUy1YVEpELTNVUE0tWExCS
S1MN1k2tBBQdWJsaWNQYXJhbWV0ZXJze7QNUHVibGljS2V5RUNESHu0A2NydoAEWD
Q0OLQGUHVibGljiDmT3QaY4Z707mXOaF5yzrHtsyAL5Mu1bBHFGEPbYmyntxZR_N1
hyU-Jwx3vl0usyEa88OoagYqQV4B9fX19fQ",
{
"signatures":[{
"alg":"S512",
"kid":"MBFM-XW2H-CBLT-AMNQ-ZWVZ-USGI-KOGI",
"signature":"C0kZpxdTGCpsjM4K0GYANmI7MJt7IWg1uWubP6
ReBoSJDIOhgjxEFkyLkLru6M_DC9wQseJJRUyAXdFnMWsryyYwlGe7Mt7gLqiy2jZ
LChMed6CWRFihSKyy3m2xk5MpgVWKE0OPTSd5ogggywNcPCEA"}
],
"PayloadDigest":"T8rztdxwV4vdVcuzkbHCN9IdLOQgktu8bVdOPZ
1oe9OHzpQF9iXp-TKA-pe_t7fI7TBIIy4_fgyceguzfLm8QQ"}
],
"EnvelopedActivationAccount":[{
"enc":"A256CBC",
"dig":"S512",
"kid":"EBQC-UWVB-WCCL-OC7B-DAPJ-HH56-FTPU",
"Salt":"6cMFPhSyk3N-N8BpC6wfvw",
"recipients":[{
"kid":"MCZX-U22F-2SIO-UDU4-32PT-BW76-HYHP",
"epk":{
"PublicKeyECDH":{
"crv":"X448",
"Public":"pfz6Z5pf01FpCm-sqly6c5yn3gkTDvXsoq3DN
kgL2ct4Xi-ZchVk4S371FmXTRDDksZkNcr6_uyA"}},
"wmk":"UIdLeJGqH_HnNrTQkHqkwf5Moc9qv_DGHx6hK8HPd_Ga
4HFdKM-P5Q"}
],
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJBY3RpdmF0
aW9uQWNjb3VudCIsCiAgImN0eSI6ICJhcHBsaWNhdGlvbi9tbW0vb2JqZWN0IiwKI
CAiQ3JlYXRlZCI6ICIyMDIyLTEwLTE4VDEyOjQ4OjEyWiJ9"},
"DIILdK1ep36rm_QwOAirsby0NrS7VdPW4dWllC6JNaiYm8tVemYvpSw9
T6JAMzeF1NbQV-qICMqS0S03wFQBHrh5AGk1cvi8gXYoB3KibVGlbfe63RJ7rW3uH
lROB8JIruTeIUI2B6Tenq_Hr1pS_hsPwQhcnmfZbifzzF_IQCBXIrVTxloHcvuvFD
eQ-in5akhvKd8AhjeX4CqJXiYl66r5UST7jpVb0KhhI-7CB_JqiwkQ9-EneFtYAFP
4rMgE",
{
"signatures":[{
"alg":"S512",
"kid":"MBFM-XW2H-CBLT-AMNQ-ZWVZ-USGI-KOGI",
Hallam-Baker Expires 26 April 2023 [Page 67]
Internet-Draft Mesh Protocol Reference October 2022
"signature":"Hnhrbwt-FrfgcWsuL8x_8M5XV1Arw89jnX83t2
qNydJGKr1edgE9GJyFuiuWKua2-qxRuY_eGEOApCbI0DQTXGaev8r02It0NiSPhey
OK7QedmR63RBdYyjz6RPKAK_rDLRsqK8aSIECeHvvZOkHVRMA",
"witness":"XtNpxWPYliMptDDZHLJzbPBSCyVqe8lP93CmTqvL
Ik4"}
],
"PayloadDigest":"2RS8lD25HernJ5djhkJwxX5mn1ad1d5mcJhppb
rD7KYyFSgfs2_mKuB0PQLQhQszM4DsaHCOBd9Dy3LTXsy0Dg"}
],
"EnvelopedActivationCommon":[{
"enc":"A256CBC",
"dig":"S512",
"kid":"EBQH-EUWK-3FJW-YFOP-MQ75-HZZH-2RVK",
"Salt":"z6lXFvESehf7hmdqgvq6hg",
"recipients":[{
"kid":"MBVR-KCMF-U3C5-43SH-VER4-SDCJ-RSBC",
"epk":{
"PublicKeyECDH":{
"crv":"X448",
"Public":"-yyvcy-Dq4Xhu7CuAScV2cJ-IRGq8uZNY8XMP
kZLr_MK3xCrXmQueChVthD4Q8WYYthuHjj0Xt2A"}},
"wmk":"tpvjbLkGEgDIBIqLb576LYgoRNdUGBtVL_mUXIu4xVPE
nZHssOXrTw"}
],
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJBY3RpdmF0
aW9uQ29tbW9uIiwKICAiY3R5IjogImFwcGxpY2F0aW9uL21tbS9vYmplY3QiLAogI
CJDcmVhdGVkIjogIjIwMjItMTAtMThUMTI6NDg6MTJaIn0"},
"4cr4Tfdt6bmIeyMlXDHuwY3vnfc938xH2aISXnh7L_HrElngjJ87lcdV
WIBekCVdYRVISDvOCWs9FraK6TYgsIU7FhLHSFjXQFyI1YReGmfVTt07qc0LTgOHa
6Vtbnem_83kVTUvO6Mx6vJf0cHPfYTxUkbvyXFA1X_r0nUTnltvSkyuJW0UvhTZrH
Oe8SS8qkZ05gLiacjfnnXnButKip7UZvUFCntOpvHwMrUOQB1i5MnRIi9lalfmjY5
UexyFDPppwu_DieKAzBVTNP_PF_axtvY9siLYyGM6doOPDtiWHoaeg44G10R7codn
pgZIUiHjU912rIXhKJsX2AZNQhbXuyXX3Pzru16nCD31awOqh4ByJLCu77lhgEbDW
Jq6vXaaBmVuBKNTsWZJv85ae2Fw0MtFu17NqCGzcV4YWtz1Mp_5PkG6nuuVL-SSWs
Xyu-1zzWld4tOZO-VCRF6a5jHfeDu4OZTfOU2gNqR5g3uB2xr8Hnku_M8J11OtbGR
TO8rLDB-eh5N9e1rj3AEosqTBxt6h2GIyV6rnwpa30bGcyqUm_zbJB6NzIetwDypK
6e3fd8OQtddvpoBSUc0MlQKXU1sacQdz8Bwim-0k7MJ0uo9UOonrlXm-F3O93krXr
lcm_KAJ4C6yHjOzco8FeoHIzPGoNUP5vR4NbyzFpXxe3YLAXbKNmV3mXF90cVatzO
rlSt0xCqs6fmV1ZzhZca-1giPryqPrJfAQeMnm19aAqObY9mJq72-B-qc9L6fEq1c
S4svatmp0bZd2CNf07yKEWALstitJsLZFuAYh7dwqtE-9AuTukZrs8AM6uLxlpDVh
Y8VHFnYRPbqo_xe1q9H7rapq_taPO536CLzb7qkdN7jR0fJqfnVYt8FtST3eG0KrN
iA3qAOWBqSenklpdyGnIsjumLGWrD0kra6uJlu-D8RdZ96dzDpioyncPi4AP3Yc9-
4jsVBVrpNKhCd0ULXKXx_2TfYsPG-oyNrj8d1tPXptqzVZ4RubB3vcMNb7SuEk2DU
ykflvwOgYbyamN_Bv2MQZPcjT0PMGfdg1OKJVrBZW5TeECH_bH6BY8iZhnrq4sj8K
t0GosuvhNBhOaQr348MQrzSagCJzWqwl8-JRjxn0-2hWb-wYYKaV2fqSicMUWxzaZ
TQH08RC6UpZXJ4przc3370HyggyJoPOAsWiqEI-BCnDzL_G1_Jrv1Dl5awozDD3JR
g3aOabvSOsCQm3vfrDPQ6f7q5S0bHLUC7WuMhgafDQUPCzgiuehbti4ZP09C38yZ0
wBynOUk6Z4le9kkwHQiWMiwVMMt4c9MfbZl3uOhW0DqI86Vz99Gj3l1QBbh3kXPQ-
Hallam-Baker Expires 26 April 2023 [Page 68]
Internet-Draft Mesh Protocol Reference October 2022
0RgcCqM8-0RSYriPjYEOyTgQ0X5dqHqhHcg94mMV0D29gEQnX8m7rIc0m0Pzbr0Fm
dgI9Omm_PNCm9liTNS7nK2dh_AogEZ2SyiCK9p7Ytxn6-ZP4USeG5Svc1jrWqw0pd
wcUhETxud6-SKmcdbf_0ywautJ8s99iJd9m7MABvmOK3WzTRlkfKlPAn_8w8YJ6XN
qEaOxScYYgZUw72QHfyX-kwvc-R86v-5aDO6oS3Pn-iK4MUlWdmeryXaTeGVneUf5
v_kFwMT2P5e2U3ucnxBDTRvjkhlmz_zgMM4exZzY_5M0QONHAtBx3k_fKd26hTT9t
Nd11PqWZdSR8j0gzYhU9xX4G4PGgJ8djNsAiC9U1DnKHiSMOfLfgjnM7C_Gvt6CpS
Q8GWIF2e_qA5bCAE5ffi-VQ4IJZzYKNTql0UQcS053av0VeqYQ6IixrRzxLPfZtk2
iPVuFzvmxgj9TKHA2i0kjI6KEjQ9O-bcpldSeokQ3zyzjNarmeT1pkRVd3O0GnMFJ
2yQAD3ci-dl10HYQ2hqs5ibZNdtvLKAq1Oqr6yz9w2T3EXpdUCHPQsiJJzpxbq8BU
F8zaaSEkYFc1fFYn7M81LqXEX8WCgAtGclsN6nTUkMdrSfbsllYsIzPohhVCbPelw
7zcIb-WBM9ToK58IX2hLMbyVCw6BabJhWNW_9kbhXwowduqzY2UuaTFND1iD_ZJDT
m5HyZTS3OWM2S6TfbobLKePYWdTgBgnScrl87gaA-rXBH7O_oj3rhFP2YgxUObDln
ZtP1YAqumSyM9F1RGh1b-ypoL0OSYbADZkAhVjRLfJQFK1VWZuyRVWxEoQMnS2EYh
Yxjqm-9LS7IMQQbXwSvDKb14eiWMVOCunckRIHVEETbuCog6741tsHfe91Rj4wlCd
V1rXfdaMAWj5M0YYlmhStPfLnPSOC7Qh0KlAMi2907XOpCS21qAeKJJsQVkWxyl0D
psNu0btd-kUKZhYvSXzlv0JeP6jEFj0mkm4ga8BnTtug_qzJWON-dbHQzKrEYX0SK
CQOxclCAtYXRzmzHHYcKkz4AG0jN8ENGtSGR9pwUcvNOBbBQtUF5UaFwJrJKjhRYJ
MbrYttQI-KeSy5nJpYqe2G485j9pO_NgasWxhmmdSoKFoamPUOC-SNxwLz4t_vKFq
ginV1JW5Vstr4CY4MtaFtVGfLHfGU9BEm6eBoxeRJFZGuuA6ImPRK1vGDXokMXSBf
s0FMUSbAUOinegK64Kai-htnlaAFa3zlBI08ha3oz5aSlCP952w_xHKL7l2bvxlyH
y4Kz7aP1L5R7iUWp2_e5XJHTmXduZOM-FnDq2SwVMVjzlawXU2BKCfxMaxy0TBpyv
h6x23WrIEHUy6l52lD6tz2Kv8ZEM7NapZIaELmDT9dva1gv7VEjNI1rMyVhqb2LJp
0KIK_d0wXAKrhziRBLpAWsUNRb6sXEioroPJO1AhgKVu4LB61_s1FUxPESHtHoFtZ
ZppzhTZsit5AgaDUW8gtRF6oSa4MqQ1Ag3EF9Ft3OP7MDZoENIlp8_wOsmF_mLdjH
gh4KDQOeLCIdMJUOh_fzHVRWQw0llQGL7KLuXSZNyahkWzINY6ezEMlZ_qyH3Uf0o
Blxu5K4RYiNVWzd2-IH7zcb80DtLwzEcnHaWRaePs_p112UrSZjiH2jVr5UkF3wyG
AD6q4X3HTDRt0YQ9F3bJn-ZoPQG-RrJGDYAkKOtDwc_ZIZwQhFAN05_CnLErIV_Vx
n8l1sFRPISaq3kb7YJCrKo8r5UbYyJpvtxKy8ONiaSjaXtCfXzDrBqTz7iK-aa-PC
P3SL6wFVCtS_MokaR-V2HLiq7sbql3BAdFXCoVuYVjhuplUoDXlZQVLiFme4r9Iqv
vXSn-Oq8gY0pugF9p5_BvIB14bBTyG1AV2R-G6iRpi1OtlKL_hupGS3apTOaLrixz
UXAaaVr4MDTx20qXT7TU0n25UJUKljhjfMi6h2skESHk38N5UbsXPrItwbXSLI_xo
DzJBvv4pF0d15WEzYkTq3fFLvAlIwQytEPkdedQQ6nlpbKpPwuaA6c4w9K5FZXiI6
C8E5TH4WOCtJbXnIic0AZzZs-2FczysmPkgUNnpvRH6rxCYyTNsrs4CjTtRknUYw7
vG0TeZY4z16V_g0O0fuMH-zt1Imi9Ai3yReOkHjwKhM8picScVlGQIzhjSGrWvPhw
TMySwkKNaYXGh_Q-JwUvXRei-fxsIVBrX_hGy6qC9z5hXVRVOjcsISXIg2cWkkbG7
uy8Ec9fRpvD78w8Xlh6HavVUDA4sF0iQ5bMb8HqkWOeXI9-0fRSCW3OUgsJZRNttx
jAWsZEyTJhXZbFC1O3Yq0_8jor8HgMxQhxjoMnou9K5yhGqhtOP17ehp2IP2vZMoh
HNhYyLOpsczPOwPc0mCN72k0l-O9ULp-rcyuDEtzjL5Q_ww9iOCOf2Etj0uLfi9-M
LbXBcPxd3Qa4YgG9_d3UWlumbnwYyi-mMRVj3If0O0xCYCLuZJyPwTyww4n3SqV65
2CqcW6wmzuERHqh5QgHx1uTOMXAhif6nVSEI-yavYp9V6-gvs1Ko3h6Afvig_Po7o
nnfw5GaR0SBqxVKPpfBemBhj08wxIhXKG-lzH1SDs-kxlTp5fEUfxlG-Jje92vKT-
9qfZnsbgqzt8RZgGMWfT4niXWkRaEr3UCFhZKUag8LGMkAKlZUwPpLV3OhAP2JInm
dbVPM45Ik-YKHTxOFTw1Y81RqrwY68srtpLAyJUMapcEW9hhNeVohIiWpER9Ph-tS
vusuW5MuoQx_PT7UdksDZNB3lS-5BamgJJ8_NFlWnmHzmHgz2DKaJ7hhk5M9zDp7r
yHXPfZfIsqz4t-NJ3ksH9-1KdZaD4JSzPmTLpLKBwzZNuazwgnRrGeCjlzFP4Puil
uALZzizswiGz_HCRFQuNeuphoR1uxqvW8il8DFwsx8JLbkV95knOIOLHhh7Ngbjtg
XZrMnFKydMqtayhuZdsGtNrOJdwWXkcGKJ1sSxnuWfcETksxGi_JWKKdLLUhjM20a
3n4Zc7PRILlIWLkN-3aKNJSCmgW35wnf6Ud4_jd9uzMxOfGKdYkNXejXQC-BQ8PfX
Hallam-Baker Expires 26 April 2023 [Page 69]
Internet-Draft Mesh Protocol Reference October 2022
DyrMO6ewBqk1zTGtax8Z-PHIKeGs7-9HQdOT2Qmb7xZ2yuPftSMbcgcqBBJ7bvdVy
mYOjU0vKgviZ58uWoxIEBly1084O1YqUW-vxFaMgKjQUSa6tTknGDV3vePo4oPl8d
4deApD0VOmdId1qv1Vmn7LBeqi8yi1SGByXmqxJGsdXQK0vyTxN6LDYygKSlIih00
l7W7WaSzYVurDamjPqah9tuPcVapx95SmM3H3MgZQvvs_XXAILTEsD-XaJhyCnwPc
evaYDRpbiE4bAQf0XzmoVmltJCKzxSPJQ7GQ2SUsf6tgRKVDW7e75Aiw4F6JZq41q
WujNjje_O-n_xs1YgP6ehVbbFoUkBVKAZGhVhk0TAU3xs_YNArqMG64XS4N-NPCEL
uB2oIzQormfJ2wQVMlnbRilD6eFlffs6hAhlcrj_22phrChU8puFA2X4P9TncV_7B
rqOW-4xji5Lm9POzZ7fCtS0lNR0E5hPGgCM3Ynp_mq_IdMgiLM9Q_vU_aucvxpE5T
vs-hewsKtoC04EYwocaMEqN7hx-Z2Wl_bLHqXtLmoTUjiiucijYdj8k8yJN9hrJeF
Ek_98Sw5zgbn17yNGuLDFxdc0Nmvg-RenFy8_Mhd8kAWqSu5zxR_XLtPBQUe5yWzD
h_THfxdYMQI1OxcB1noMNrpXn8EatP_jRS49zBAeiI4WkUh0z0vqyTJorCymglpBr
lCcSv6c_o5l-sN75VXzsE-o2xntI-aQdcbj_IdaqKPoS06ETgH9wUOTRYr19JTm-G
kqMR3nsPnsSfN9yJqAatoYuI9GAKYLyZ1JLnshVbzuEWYNFoYEfqYJvuSs1ENLKKv
TiFB4fzVIfEiUqxcKJv7Grff8veOUAnG_HHheuSkHybDTKvuBbETaXyJ9zbuXB-8p
lmgusNtjzYVCaXJ66SSYHhaiRDsNd90aC2wD7APaNNSGOJC_lbQIOiUlk1En149t4
NI4yAKXyVIoheueT3lZHrDll-6cW0Gj41HiRucAiIx1AWDbTIvUvgM-_R_ctyXqkm
-WrH6lHiOSjE-KVqn8ccsjieI2PzSI4TV4RVUBca3VGXG1_7Sm-IqU-EBYUzghSnt
-tgg4fkMvjfuHwWY8UVcvmchQva6Jju0ol2hickgzJ1E_-rmKoRcRROn5tC6Bw9p2
iQ7PycDrQlq-S4uyZZoP_u1uBRG4IoYvDaw5w4MOB8GSvTGXqmn2nqNeSwlUBQZQO
qJi6IQ8lh0TkpERM-sh6qn9Xg37_4l2qONMeHD0dKuqzb907dFddTCdONi6NUUJV9
DkI6mTdHqNUtPbc3F6foHiVY4aoZhkyErQmFqLJdkBYb0o1tfuS_6AlZksQMS3yQG
CODRGJJpjvePdbaz_95muJFIt_28zUA9XmHE6o8uQuWI2pRdC6RJHsOTfb6jpAUe9
i25xO0DAaeI2tzoaOe6-IOLxzrIwAPSOSCfKepDQIZLn8enEpZ7no1an4JyDvzdH7
91dfV6j6sv6TcmWdykRXutWa9m2vh-ZZMM5p2CIlaOeIlzqXwYPIp53B9UkD-SrzE
oTdVQZ7Ay6xz7lw8kV5tlgqYSA9di8c5piEW0l6QYWIqS6I6XP886EFwmdzoUdu2u
qh905LDXsKk7Q9CJXligCKdWQY3QXwNlX0lEPbNf2pRpqwh_tPD017Tt2BQT5oeJU
kugXUqNXlbpvM1VG2AsaortWvErVc5IFnjQMbzfm6nww0nY-6RyXL5zWHYRs-CbQq
-eeIpSINpUS3cVDwcodsxIGHsRg82ZSqtTrOd5fmISk1Y7syiq51QgknY2eHyGpLy
zX7ZMbPM2ahjpEgtXr66FeKaKRN6xH33Xe087cWyy1Y8JjLywHPble8_Hdikm95C8
tBuMcHWjVYz-6lTCNFMc7R6NscrFmtcIf6woxrQoXLaSaucToKwD9ErMhGNWMInnV
oM_amSyg_s6JOiQ6iIzEPucidDkmyYgBokfkjubWxagepeaZzsmzccVjfNdziWQ0B
EYituLNnjmvMZncqaVJwUz39Ajf3gUzGnkBSAn6RsppytcDr41miK8TH_BU_1xRJh
u1TesiSKVmKxJiQ8ajIbjcvCCzogeJdVnoxTNMvaHMCjcoYWBZDYa1VvhRNfRL3Wm
elzFAlyc_F2KOP_cAmuK2Hb1o2t1QYXFLmk93P2P-5YssVrx_Hu16Vg4tG9O2fHcb
fJS4TbBCOO8fEtXmMKwTGYXsIPo5V6UIe9UyO5Gt4W5TSpU7eAQwE7Q3D_n1tiKet
uH2r-1v1zvv5aASPJaxCtkGz3rvrGvRbmVab3oFQoJHHC1w3UEXZQcGDSttEtyQiM
J9WyFG16F2YR_3DQPAAzSoq5p2n-d8SoJ6hj9NX-Hl7AoAfbr94FdR7yJsMbCGxoc
9R5-LWrpbf9xLQXO3gF2rR7rkrfl2JseCxDEtXcg5VvqwReyFRsRPCKdFepJZShBz
qOl1WIN4peOGLBioLb6kKVai1UMjcYADWslwpDMMlppJK5kO0OfigpuA2QnYu02Gz
9DlGr4o4IF7Mdfhfgq1GlJm1Y6RR8bOWrYJgGzEl4SZWOfZa9il0ixwrNSSWmDsah
1_pKBtdK0vs1jZFBHo70NQ35fwEMTE6kMLWNg33aQWG-qP-np3isvimb4s1q2NkX7
lVwa3Ffe0M7pNnPuNg-XoQTXiN0LwIkxi2qLXSCJ8NUTXja5FGllwTlXC0o6TGoXJ
3w_9zu8QrjQGUJIz2eyAsAK9LcjJ19IxPFLRJnJZMgivI6v5ik1EuM5KhrRbS7RuF
EYixvf_W_DNEstVi900y7N5xJXm2qKowv3bdyRFpZ9tAWiz2JAp-83Z-vyqjmkV_F
5ypR4S47PpXLtVn4pWDsEezPAN2W0rfv1zOtKItFS0vEKw5tKFPZ0TH3PPrBbeNKM
Ss3a-KPWpo9RuZWZ2riAngaNOsiEy_M-kZeoSIvFP3iQR-wytDzb__ucOJljM4wTF
aqdHTyWxNJuSVYwJX-R2MJfzmQrZWV3WJejjdGYrE4CfBsNbKnMNKFKEXX7m2jfmc
kIu6xvGDbdTffIHK8gX5AihicrWduDx6CaBnQn8Pal-7OfCP6BC331dAM4Nhl6Jct
Hallam-Baker Expires 26 April 2023 [Page 70]
Internet-Draft Mesh Protocol Reference October 2022
JlHms6x94-VN8k5J3OaxzPoTQvxtDArW5b6PYoObd06FRAtGlyXY33kOIfAjYgetc
haR-Eax5GpyqjlE20KjmWcxxrrAeAdQtKG-iFtCzZnRyauiPQyBdyzfSNZX3AbY5S
gx1NZaaE803uVcHiHZR9rpFTLEBOLNhoc9aKv1_S1QUGpGLvqVTIyqJe-McNyRuFi
GRR7Q0VW4rPkLTiI3ItB4ToDXBgA9ZmjQI80JYmb9n5SfNb4d0m42ba6ioNEseSR1
USlnrCKFzngTzQ9W3rEgx9TobckBxInlSw_KfWEPNj3gyu4tWDCpvJAlp8ylVgirX
QMFAdwiY_6ZSFst1N6C-CUy6iL4zT5NUCyUBd-cp-JxFkFji3HmGIm7dSMls08RbP
kLimCmCi-ajI2QAFiPncL0DOV8k1bJBIsGxXAX8gLxFk-VBJ0GWQWyAvuP7razfJy
9cUzKGejg1LOBHYR11kbWIHTkv-vZFLlLd9wpCJvaLQ1e8E-GdqEuXmkdaRVUESZ0
2y7eYyCkHLztg1dh2POGb58107lf6tw4Xxc6BH4ag85kMPy5m5_8w9PHctC2DKNs3
8x5Uw3peH_dGv0dE-q5BnLeyqxx2omc8f-GUAmHGMIoEkZ8_rmtI8e_T1TergTHg7
e70Q5U8n-TRR7H5stHvbtb0MDrjCDMrXKvpTcwNgP6qu_TQd1ecJI9bz4II5rxLUR
koWajOu7IZlpnwJiQ_MZEepFiXfs7fVBA1-VHKohWa-lh-l8ZMCKXVpXGiHtfZOU3
q-kvuoUNC3hBP8glDEjhvRBiReld3YIhohIJ12vuM-5PSqbNK8oUzAdPvAsTs5Q0W
TiVVW4f4LFeuCkrjcpaQqCSqcBEeFCoYHRULpKrfmxVhL9dn9Gy0geF6wU7WP5kFi
LkkEv_tbzFWJzjy5nBuSuPbZ8IEwFSjnACAxTlGYo7j-dzPiaPmXluNrFaFQb7RVH
nbL3bSeKamz5b2NdWIRUAWpso-g",
{
"signatures":[{
"alg":"S512",
"kid":"MBFM-XW2H-CBLT-AMNQ-ZWVZ-USGI-KOGI",
"signature":"vN5BI47huQJGHzBkY5q_YRlNcJv5FmRXmtoXf7
cE0bWEcG-AZV_8k4JjahnS3SjMLXabTykfx6mASSfJlDS1S18dJUawx43EIGNwrK3
tUV6Ru-_mFdWi7TFVugiFyssWFbyQEziHFEiwFtm7DV2hYC4A",
"witness":"ZTO-tTTEJ4IaIAZ6OtN1btJ3QGkc-IodiU_hpG4k
wqc"}
],
"PayloadDigest":"jr16SNuo6R7iqlW4U2mSpk_cSYI_MiA3gifwcA
0guHxMVwitUD5hJc85vtDtlHIjyoAdy3asUAH-8LAsJqhq3A"}
],
"ApplicationEntries":[{
"ApplicationEntrySsh":{
"EnvelopedActivation":[{
"enc":"A256CBC",
"kid":"EBQE-HQVJ-QA7H-YAGO-BYU4-IH6Z-Z2SL",
"Salt":"MiurURI50odmcsi7P3DXNg",
"recipients":[{
"kid":"MBVR-KCMF-U3C5-43SH-VER4-SDCJ-RSBC",
"epk":{
"PublicKeyECDH":{
"crv":"X448",
"Public":"e5XJxceDPi9gehCuXBP78pMjEdIzn3h
oBKjY_CFLaRkDkubOnlaMJEgIHJdoehqahSwBAePycqMA"}},
"wmk":"IF3NM39bgLesLGkme8oZvno1CLSv8QoIKwCneV
_opNIRtJEj7qlS6g"}
],
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJBY3
RpdmF0aW9uQXBwbGljYXRpb25Tc2giLAogICJjdHkiOiAiYXBwbGljYXRpb24vbW1
tL29iamVjdCIsCiAgIkNyZWF0ZWQiOiAiMjAyMi0xMC0xOFQxMjo0ODoxM1oifQ"},
Hallam-Baker Expires 26 April 2023 [Page 71]
Internet-Draft Mesh Protocol Reference October 2022
"HtAMxJPSGlfWHo-mCyOQpqlOnoxkIAekUwi3OVuNWH4Ov04H9d
-6G_4igTDlXoLNBE_LjYLII63111ZztfqWFby4TsGsrIuKBI4_Q2XRSyKW7C9XiXx
PA5ekcXkkPRoejcd7QBay30HeQ_FuvmDvxMg4Z_94CTOUn2B3eCOCqiFOyugAks5E
FB87h5lDghu1QWLCdUq6RVGdvx9TIFqtM3EizOElzDyjGHSbMFcXQPozC7cIUXBPV
TZWEW-IuhAmABlArk788ksniY1-8Bta1mxeavOoZOYF09LSJCYXVZK-6yBODFTPIb
NE4gjS15OB6lcNP_06zrb9b3jD3Ossb3PQUyyi1AMV1s98YhkcLeQVdA3fFIZQzLm
6TMc0ns22e1KmAjO8yFY-PlkWA5WtyhIcvfO4AH6bDJTIhnq8IGbhDd3JZx2DRqpc
vJVxayf8uYkzFs6AkGiy0f3mdcG8eI_Gr__4jgEMQrjK53UZrWkMnSDggZSA7LUxK
IuMNcz68UBQ5WZSv1wNv6WprTUljLdTQZru34wC2pdhZ3cSNyAzojBlOBSviWeJPv
56Olftb7yLfcLmMPOtX3OUbMTrFYaL4ElTzJRm6QBOj-GxF8K9Omhzo8RCNrwydh6
US4H130GtSA3Eop76vVRNRYbVDX7hWdZVWB-un0bd0UFWh8nBj_KtEsrkr_ezS02x
5o7hhPUT9mEAgZc2fYDBeaY3pCcOzMR7Mivo3TrKcU2YmbrU4wVR2skzvp75aR13h
wD3u_de5Vy75WHFTPF0mAkaoZJU8SQDVOwHfIiTh88_DRWmXDu8p_acNH2aTfiWeP
ZV5cPcDLj-Y3tpXphG0OohJgyRKcLpMCLyvo35nzp60E7CcPE_EnHtO-K_HzoOGi4
i1wY5_eVetceYuDVvbc8gl1iAIslipSAsHtCGzJH51ClLfP-xwKWp8iYkqt6E4Skx
OO7uVB8BgtP-H-ShtTNziQ-vjJIv-Y-_xC1Da4ycXHd-0-eMeKpxenl5BMecm_IOA
EnRnxhDGEGUs4Ahqe-KkdGVTPT3Epvt2lLYBAiRBiyyBsMgThMp_2wjdWMfU7v5FI
We_HU-kK3lnU-U8ZooBzkz0wIZll0RE2ExxIfUzHczJ2Myy3JbwrCqmGPB42F4Kel
yJfNP4BjY5_tsmd5Qozboedqg-Fi4zcxe4Va5hraW3NVH1aGC1GwTXBDWyCIXUkop
m-FCJsCAUmer2HbzLMYDUWUshIKs0uPyTaJLl5LitxKVoEwYhyvyf6gVvcT_gimV0
_BmBvxKL2egKYAhiur07p3ZgxDC_V39Q2iC0AwnWuz3PveXYBEBfHNpaeVZ0b3OU7
hqVQPKj1T92y5GcPzPMFwIvA9xQuAefBaEtauBOg8toQSZ0-IwztfWqlagJ3z-4BK
EdIVE5-vISJNLRxbMEy9NgsiPH9dIPQDXBU2JuRsTdbOeMlBhagkm2-s__ceNaLyZ
qRAuAgWEFvQBTIphxq3BElqlWPF-_FO2irodSr2aMBMyTJ6qNnLEbpEcXrrry0aUh
7_ahyF1kGJGHfEcz0uVmNoB_Rn9nbme7Xdk4Xt3GhSyjZ6qVFoagG6Zk9HYElUUsm
YLcLStX803M-YpwaNIcvmQPGDglYuX4M4rDJHrWaTxNbCJ5V2YAz2BsggzFE39zTC
6TfU3E5o8eqU1V9zuX9gwfibFDsYmi9QcIgBzhFC8-8bJ6U-5qqMn_8r9HCYkIN1C
me6ToSrRrKt5bnaDEkjdDq-5CtOD-TOlV1M3lApq4fbbETj8DL_RN3hBFJgimMfqO
yiMP0aSit2g6Xa3vbT5jrjWGHUK5dNMNTDJL37sKV7hvx7S9uPe8msUKo_foBSG9k
u9kSHQpz_vz_M1HZvaic7AORi_4DxVXwCIuvP2rQO1HvoSORdZz_ccI3dux2qBZUr
kppLHDzVwSOl82rWdkwqzZh8cZCLXsEryWw5bj-tlZG45ja3quZxpPgvsTPtZQaPY
LXxQBNRPM-vTUKRrwRyhu_E65mIO9QUKfDJzESCdfAFCyt-xbxajOS7IdQUw2MpWV
PnCq-GjrGaTV1roiJHBE0uKiH89FaWcbVYzqk5jTVQZxZWLrWbFXShR-hohJtumD6
rqqmiJWucDuAJSy-4oRJk2A6YRZII5YtIrm0u4cY-g5TFbZWOhrAOHrAv7MAn37bm
31L8nXxCivFzOLpfPF0tL1HzfMO8WBq7ppXymXTHeISqjn2brLCA_5qS2GxaqqIly
r7jg4-aNQk9SiT-G1tP8yjd9NBKGDji2Fd8Til6Khrlx1OhZubpaInDFrlt7mRTuG
zYkoZm4TCUCBqg-kekRGbdfsKNBTNDVMuUKxZNzuQsP42F2xReOcumzXZIyAk0g8Z
cD21dCxwBLa8o21bdYHZVOajcT3wM-mTL3eLoKHz9FgNCQwlWoh8XGuJhFr86zZxP
dZoD8GwkkaVwwx7rcgQVPmYZdIKuXtCqe4264yu7QfiB31WswRrd2nPz76hqKhfSc
cLHHt-HAkqTSp862OxaQVDnj9YNEpqhY5CO8vNKwzOPJVj6u3WbivCWf_bmgE3oqO
Oeyhzt9RkXmrq5yIyAgoVv7LSOqoW1j2butgtPUqw7RPB-WKoI9V0zXnUUsANmBlJ
015hLEzWhA8bWvWdN1QSURIe02cXEHUGli-_s5Ke-p05ynuTh5yPeQ7g5-KLJbZ2u
qVCYdGR7zo5bF1aZDb5S_NMh2wph22V75xFV1Vzh0Z8inKKnvjLEzDESWskzCH0kA
Y2S-qHq4kvMBD_XxTjbVa0a3tkChvoDjDa9kzzbdc9tfIbw9cHNZ4Dbz85KCLvv6J
rbFfnpL1htS7cd_cFNVlsqkt1GQD33XPL5UwGnp7G2JKqtnnnH4NyhuVIw18IufG1
1rNh1MxoWAJ9wvAE0U9s0vHZaBcwUF4fuW3H3uu-_8k1RrwKau-bnMUwT1ReYcuEU
pW4-q8n3PCwfJETrUNzZEaW8990rwuE7iu4xz0N1ZStDMwI2bEyK1fGT_EY1szHLh
AV-NZt0RvQfMtEgItLISaEnDRFSCePMP3ywokIAF4lfwO8MfTGkTop6HVGTJ79AxX
Hallam-Baker Expires 26 April 2023 [Page 72]
Internet-Draft Mesh Protocol Reference October 2022
o7qPMpcV_lnGPB_NqmxZ_jWwXmqzx2D-YQ0xAokurDGod-Kev1zjJqEf1YhBlqDQT
Lfo_y1ClnZljTl7NmCmVc_fY6LOOgTfSU70IQRP6VOIYOAGBq594Ef0PEcjn23Ovx
tZqHXVGpRXPLp8XS-fyrnxVS6QjTAkzO3G19UoSl24gT5ODyJXqVfkG6UksJC2R-G
fqePYy7gMSqFyotbRuYBC4q60YOf"
],
"Identifier":"MDCT-IRNQ-JDWH-IRIP-FZK2-YP4G-5MGS"}}
]},
"MessageId":"MBI3-QJW4-3BIO-7SBZ-PEJP-E7NX-3W7E"}}
9.1.4. Phase 4
The device periodically polls for completion of the connection
request using the Complete transaction.
To provide a final check on the process, the command line tool
presents the UDF of the account profile to which the device has
connected if successful:
Alice3> meshman device complete
Device UDF = MDVU-AOST-TDIH-AXGE-WUJS-I56V-WJP3
Account = alice@example.com
Account UDF = MDRR-5W72-3RJO-VZB3-VUVQ-IOEC-6UNA
Alice3> meshman account sync
The completion request specifies the witness value for the
transaction whose completion is being queried:
{
"CompleteRequest":{
"AccountAddress":"alice@example.com",
"ResponseID":"MBI3-QJW4-3BIO-7SBZ-PEJP-E7NX-3W7E"}}
The Service responds to the complete request by checking to see if an
entry has been added to the local spool. If so, this contains the
RespondConnection message created by the administration device.
9.2. Preconfigured (Static QR Code)
The preconfigured device connection interaction is used to connect
devices that lack affordances such as a display or a keyboard. It is
also known as the static QR code interaction because a static QR code
printed on the device itself is used to connect it to a user's
account.
*Future*: Note that this interaction is likely to be changed
substantially in future revisions of the specification and the Claim/
PollClaim mechanism removed and replaced with a messaging based
approach.
Hallam-Baker Expires 26 April 2023 [Page 73]
Internet-Draft Mesh Protocol Reference October 2022
The interaction has five phases:
Phase 1: Preconfiguration The device to be onboarded is
preconfigured with a ProfileDevice and private key information and
a DeviceDescription posted to a publication service. This process
is typically performed during manufacture. An EARL providing the
ability to locate and decrypt the description is printed on the
device itself as a QR code.
Phase 2: Device description acquisition The administration device
acquiring the onboarding device scans the QR code on the device
and uses this information to obtain the device description by
means of a Claim operation described above as described in the
Device Description.
Phase 3: Administration Device Acceptance This phase is performed in
the same manner as the Dynamic QR Code (PIN) Authenticated
interaction except that the administration device MAY advise the
device that a connection request is being made by additional means
described in the device description (e.g. WiFi, Bluetooth).
Phase 4: Poll Claim Notification When connected to a network, the
preconfigured device periodically attempts to poll the connection
sources specified to find out if there is a pending request. If a
connection request is posted, the device decrypts it to allow it
to complete the connection process.
Phase 5: Onboarding Device Completion This phase is performed in the
same manner as the Dynamic QR Code (PIN) Authenticated interaction
except that the administration device requires notice that of the
pending connection request.
The main differences between this connection interaction and the
witness/PIN connection interactions are that the device is
preconfigured with the device profile at the time of manufacture and
the onboarding device MAY be acquiring network configuration
information during the connection process.
9.2.1. Phase 1
The manufacturer preconfigures the device
Maker> meshman device preconfig
Device UDF: MALQ-6D3Y-ERRF-TIFW-36LR-6GJK-4OZI
File: ED6B-KIW3-TSCC-P4LM-4D3I-IAPD-LE.medk
Hallam-Baker Expires 26 April 2023 [Page 74]
Internet-Draft Mesh Protocol Reference October 2022
This results in the creation of a primary secret which is used to
compute a ProfileDevice and corresponding connection records signed
by the manufacturer's administrator key.
The data is combined to create a DevicePreconfiguration record that
is provisioned to the firmware of the device being preconfigured.
{
"DevicePreconfigurationPrivate":{
"EnvelopedConnectionDevice":[{
"dig":"S512",
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJDb25uZWN0aW
9uRGV2aWNlIiwKICAiY3R5IjogImFwcGxpY2F0aW9uL21tbS9vYmplY3QiLAogICJ
DcmVhdGVkIjogIjIwMjItMTAtMThUMTI6NDg6MTdaIn0"},
"ewogICJDb25uZWN0aW9uRGV2aWNlIjogewogICAgIlNpZ25hdHVyZSI6IH
sKICAgICAgIlVkZiI6ICJNQkZPLVdNN0stSTdDNy1ZUVNVLUNJVVotSlFFUC1USDR
RIiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tl
eUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIkVkNDQ4IiwKICAgICAgICAgICJQd
WJsaWMiOiAiWXcwcnhJMWZZTlpnRFA1ZGwtTkRPZ05GVF9TLVVaUGpLYTBvWWJvRE
xUakpRTXFWVWFJOQogIGYzMFRDS29FX2NEcUd4ck11VUlYUTRvQSJ9fX0sCiAgICA
iRW5jcnlwdGlvbiI6IHsKICAgICAgIlVkZiI6ICJNQjYzLU1BR04tRVNOVy1OR0tI
LUZQWFotSVNHTC1PTE9XIiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgI
CAgICAgIlB1YmxpY0tleUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIlg0NDgiLA
ogICAgICAgICAgIlB1YmxpYyI6ICJfNjZDY1VSdThYTlFXT3hXZm5fTVdkRVVXMmx
paVRXVUtNeHVla3R1ZWoxOEltbnlXb1NJCiAgNkp6UGMwVWpYZWRKZUhnNm5IazhO
bUtBIn19fSwKICAgICJBdXRoZW50aWNhdGlvbiI6IHsKICAgICAgIlVkZiI6ICJNQ
jYzLU1BR04tRVNOVy1OR0tILUZQWFotSVNHTC1PTE9XIiwKICAgICAgIlB1YmxpY1
BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tleUVDREgiOiB7CiAgICAgICA
gICAiY3J2IjogIlg0NDgiLAogICAgICAgICAgIlB1YmxpYyI6ICJfNjZDY1VSdThY
TlFXT3hXZm5fTVdkRVVXMmxpaVRXVUtNeHVla3R1ZWoxOEltbnlXb1NJCiAgNkp6U
GMwVWpYZWRKZUhnNm5IazhObUtBIn19fX19",
{
"signatures":[{
"alg":"S512",
"kid":"MCBJ-UITH-2BQD-PX3A-SR3Z-S4UV-BNWK",
"signature":"TpL0FOcO64HC2B13c-uQrBqlZtXFzPxvsznY9sb_
sKosFnrjmlhBQNR55A58DgxRiinXtHTnOqqAZAHcnDVcdgnAQV9qY9znPNzsDVmjN
3EmXr9R1fNtJU_vhLzJKk6jQc1Wp5GCygtwSQNRsaTjFjQA"}
],
"PayloadDigest":"eajU4hdXOEvO8gdTYhwG33txVBGqZFp2PyD4WtE5
mCRi2ZZ5w0K5r6HciY6zlqas4-6-dxb5XMAQ3S3gcYJtNg"}
],
"EnvelopedConnectionService":[{
"dig":"S512",
"ContentMetaData":"ewogICJNZXNzYWdlVHlwZSI6ICJDb25uZWN0aW
9uU2VydmljZSIsCiAgImN0eSI6ICJhcHBsaWNhdGlvbi9tbW0vb2JqZWN0IiwKICA
iQ3JlYXRlZCI6ICIyMDIyLTEwLTE4VDEyOjQ4OjE3WiJ9"},
"ewogICJDb25uZWN0aW9uU2VydmljZSI6IHsKICAgICJBdXRoZW50aWNhdG
Hallam-Baker Expires 26 April 2023 [Page 75]
Internet-Draft Mesh Protocol Reference October 2022
lvbiI6IHsKICAgICAgIlVkZiI6ICJNQjYzLU1BR04tRVNOVy1OR0tILUZQWFotSVN
HTC1PTE9XIiwKICAgICAgIlB1YmxpY1BhcmFtZXRlcnMiOiB7CiAgICAgICAgIlB1
YmxpY0tleUVDREgiOiB7CiAgICAgICAgICAiY3J2IjogIlg0NDgiLAogICAgICAgI
CAgIlB1YmxpYyI6ICJfNjZDY1VSdThYTlFXT3hXZm5fTVdkRVVXMmxpaVRXVUtNeH
Vla3R1ZWoxOEltbnlXb1NJCiAgNkp6UGMwVWpYZWRKZUhnNm5IazhObUtBIn19fX1
9",
{
"signatures":[{
"alg":"S512",
"kid":"MCBJ-UITH-2BQD-PX3A-SR3Z-S4UV-BNWK",
"signature":"nsQ8vwj0eO4OgnmHKe1IDjmB_yW9vJFl7eXWVVcI
Q5aHBGEUiVtqHbcnED3VNWZDwUYb3KavpuSAcdy8rgGRQVXtrDbT59EQupuwx2sKA
Nx4ifkwM4z1_FmJdv4QJxGM0Zoh0Qcx5omEGnLxJCyjPAEA"}
],
"PayloadDigest":"v7-o_VKzsUxg2rb3_mg9MTRA8-_9C-0ZJLv2SzZn
0j2FIGl28RV4TXpDPieXTXBnHAtjrJePIxWM_tQKEHmz9g"}
],
"PrivateKey":{
"PrivateKeyUDF":{
"PrivateValue":"ZAAQ-BVPA-BOCZ-6SIX-ZZP3-GP3R-ETLG-BBKB-2YD
M-WPNI-5RXJ-CVG2-4G5Z-GUCM",
"KeyType":"MeshProfileDevice"}},
"ConnectUri":"mcu://maker@example.com/ED6B-KIW3-TSCC-P4LM-4D3I-
IAPD-LE",
"EnvelopedProfileDevice":[{
"EnvelopeId":"MALQ-6D3Y-ERRF-TIFW-36LR-6GJK-4OZI",
"dig":"S512",
"ContentMetaData":"ewogICJVbmlxdWVJZCI6ICJNQUxRLTZEM1ktRV
JSRi1USUZXLTM2TFItNkdKSy00T1pJIiwKICAiTWVzc2FnZVR5cGUiOiAiUHJvZml
sZURldmljZSIsCiAgImN0eSI6ICJhcHBsaWNhdGlvbi9tbW0vb2JqZWN0IiwKICAi
Q3JlYXRlZCI6ICIyMDIyLTEwLTE4VDEyOjQ4OjE3WiJ9"},
"ewogICJQcm9maWxlRGV2aWNlIjogewogICAgIkVuY3J5cHRpb24iOiB7Ci
AgICAgICJVZGYiOiAiTUI2My1NQUdOLUVTTlctTkdLSC1GUFhaLUlTR0wtT0xPVyI
sCiAgICAgICJQdWJsaWNQYXJhbWV0ZXJzIjogewogICAgICAgICJQdWJsaWNLZXlF
Q0RIIjogewogICAgICAgICAgImNydiI6ICJYNDQ4IiwKICAgICAgICAgICJQdWJsa
WMiOiAiXzY2Q2NVUnU4WE5RV094V2ZuX01XZEVVVzJsaWlUV1VLTXh1ZWt0dWVqMT
hJbW55V29TSQogIDZKelBjMFVqWGVkSmVIZzZuSGs4Tm1LQSJ9fX0sCiAgICAiU2l
nbmF0dXJlIjogewogICAgICAiVWRmIjogIk1CRk8tV003Sy1JN0M3LVlRU1UtQ0lV
Wi1KUUVQLVRINFEiLAogICAgICAiUHVibGljUGFyYW1ldGVycyI6IHsKICAgICAgI
CAiUHVibGljS2V5RUNESCI6IHsKICAgICAgICAgICJjcnYiOiAiRWQ0NDgiLAogIC
AgICAgICAgIlB1YmxpYyI6ICJZdzByeEkxZllOWmdEUDVkbC1ORE9nTkZUX1MtVVp
QakthMG9ZYm9ETFRqSlFNcVZVYUk5CiAgZjMwVENLb0VfY0RxR3hyTXVVSVhRNG9B
In19fSwKICAgICJBdXRoZW50aWNhdGlvbiI6IHsKICAgICAgIlVkZiI6ICJNQUNEL
TNSSUItRjJMTy1HTFhKLVJJT1MtNzJaVC1FVVA0IiwKICAgICAgIlB1YmxpY1Bhcm
FtZXRlcnMiOiB7CiAgICAgICAgIlB1YmxpY0tleUVDREgiOiB7CiAgICAgICAgICA
iY3J2IjogIlg0NDgiLAogICAgICAgICAgIlB1YmxpYyI6ICJHNXQ0OEVHYnJTbWU5
YWMxSGhseHFzaUYyemVRN2pmcV8tZkI1a0wxam1ac0NxN1ZmS2VKCiAgNjM3eHVwb
ENjOFlFMEp2V2R6RFlCR0tBIn19fSwKICAgICJQcm9maWxlU2lnbmF0dXJlIjogew
Hallam-Baker Expires 26 April 2023 [Page 76]
Internet-Draft Mesh Protocol Reference October 2022
ogICAgICAiVWRmIjogIk1BTFEtNkQzWS1FUlJGLVRJRlctMzZMUi02R0pLLTRPWkk
iLAogICAgICAiUHVibGljUGFyYW1ldGVycyI6IHsKICAgICAgICAiUHVibGljS2V5
RUNESCI6IHsKICAgICAgICAgICJjcnYiOiAiRWQ0NDgiLAogICAgICAgICAgIlB1Y
mxpYyI6ICIxVUp6VzBBc1hMbkd4UjhqVGozUzM3VUtIQVRSdmlLWnpvUXJwWEZ6eS
0tdUctaGwyUUlvCiAgaWRZck1kYm1zZ1MzWlNCSkRpSXRsQTRBIn19fX19",
{
"signatures":[{
"alg":"S512",
"kid":"MALQ-6D3Y-ERRF-TIFW-36LR-6GJK-4OZI",
"signature":"nM9Y8MDljAp7Bms8jCNdgpZqpC-Q7uVBH6EfiNf7
dH4zAJ8g3ee24DDpWGGkaIUYTjixCqyH_8uAxNLMwWhRGzmipnwEUy20UmrjMBjqI
hu2TshN1yrC5VtftF-AK5JEg0dnJsZuIuT4bro50ON7OAMA"}
],
"PayloadDigest":"jLTOUGaU-Y26uQ6Xczvc-ycCrD-4vfT3Ud0RLH35
b2hm1dvcF2Iy-F4A9Jx8u3OPSjkQ1WePfCDfw4hUzQUcHQ"}
]}}
An EARL is created specifying the means by which an administration
device can acquire the information required to complete a connection
to the device:
QR = {Connect.ConnectEARL}
The preconfigured ProfileDevice is encrypted under the encryption key
and published to the location key derived from the EARL.
9.2.2. Phase 2 & 3
The administration device scans the QR code and obtains the Device
Description using the Claim operation as shown in section $$$$. The
administration device creates the ActivationDevice and
CatalogedDevice records and populates the service as before.
Alice> meshman account connect ^
mcu://maker@example.com/ED6B-KIW3-TSCC-P4LM-4D3I-IAPD-LE /web
9.2.3. Phase 4
The device polls the publication service until a claim message is
returned.
Alice4> meshman device complete
Device UDF = MALQ-6D3Y-ERRF-TIFW-36LR-6GJK-4OZI
Account = alice@example.com
Account UDF = MDRR-5W72-3RJO-VZB3-VUVQ-IOEC-6UNA
Hallam-Baker Expires 26 April 2023 [Page 77]
Internet-Draft Mesh Protocol Reference October 2022
9.2.4. Phase 5
Having been advised that an account has published a claim to bind to
it, the device posts a connection Complete request to the specified
account and completes the connection process as before.
10. Protocol Schema
HTTP Well Known Service Prefix: /.well-known/mmm
Every Mesh Portal Service transaction consists of exactly one request
followed by exactly one response. Mesh Service transactions MAY
cause modification of the data stored in the Mesh Service or the Mesh
itself but do not cause changes to the connection state. The
protocol itself is thus idempotent. There is no set sequence in
which operations are required to be performed. It is not necessary
to perform a Hello transaction prior to any other transaction.
10.1. Request Messages
A Mesh Portal Service request consists of a payload object that
inherits from the MeshRequest class. When using the HTTP binding,
the request MUST specify the portal DNS address in the HTTP Host
field.
10.1.1. Message: MeshRequest
Base class for all request messages.
[No fields]
10.1.2. Message: MeshRequestUser
Base class for all request messages made by a user.
Inherits: MeshRequest
Account: String (Optional) The fully qualified account name
(including DNS address) to which the request is directed.
Capability: String (Optional) The identifier of the capability under
which access is claimed.
EnvelopedProfileDevice: Enveloped (Optional) Device profile of the
device making the request.
Hallam-Baker Expires 26 April 2023 [Page 78]
Internet-Draft Mesh Protocol Reference October 2022
10.2. Response Messages
A Mesh Portal Service response consists of a payload object that
inherits from the MeshResponse class. When using the HTTP binding,
the response SHOULD report the Status response code in the HTTP
response message. However the response code returned in the payload
object MUST always be considered authoritative.
10.2.1. Message: MeshResponse
Base class for all response messages. Contains only the status code
and status description fields.
[No fields]
10.3. Imported Objects
The Mesh Service protocol makes use of JSON objects defined in the
JOSE Signatgure and Encryption specifications and in the DARE Data At
Rest Encryption extensions to JOSE.
10.4. Common Structures
The following common structures are used in the protocol messages:
10.4.1. Structure: KeyValue
Describes a Key/Value structure used to make queries for records
matching one or more selection criteria.
Key: String (Optional) The data retrieval key.
Value: String (Optional) The data value to match.
10.4.2. Structure: ConstraintsSelect
Specifies constraints to be applied to a search result. These allow
a client to limit the number of records returned, the quantity of
data returned, the earliest and latest data returned, etc.
Container: String (Optional) The container to be searched.
IndexMin: Integer (Optional) Only return objects with an index value
that is equal to or higher than the value specified.
IndexMax: Integer (Optional) Only return objects with an index value
that is equal to or lower than the value specified.
Hallam-Baker Expires 26 April 2023 [Page 79]
Internet-Draft Mesh Protocol Reference October 2022
NotBefore: DateTime (Optional) Only data published on or after the
specified time instant is requested.
Before: DateTime (Optional) Only data published before the specified
time instant is requested. This excludes data published at the
specified time instant.
PageKey: String (Optional) Specifies a page key returned in a
previous search operation in which the number of responses
exceeded the specified bounds.
When a page key is specified, all the other search parameters
except for MaxEntries and MaxBytes are ignored and the service
returns the next set of data responding to the earlier query.
10.4.3. Structure: ConstraintsData
Specifies constraints on the data to be sent.
MaxEntries: Integer (Optional) Maximum number of entries to send.
BytesOffset: Integer (Optional) Specifies an offset to be applied to
the payload data before it is sent. This allows large payloads to
be transferred incrementally.
BytesMax: Integer (Optional) Maximum number of payload bytes to
send.
Header: Boolean (Optional) Return the entry header
Payload: Boolean (Optional) Return the entry payload
Trailer: Boolean (Optional) Return the entry trailer
10.4.4. Structure: PolicyAccount
Describes the account creation policy including constraints on
account names, whether there is an open account creation policy, etc.
Minimum: Integer (Optional) Specifies the minimum length of an
account name.
Maximum: Integer (Optional) Specifies the maximum length of an
account name.
InvalidCharacters: String (Optional) A list of characters that the
Hallam-Baker Expires 26 April 2023 [Page 80]
Internet-Draft Mesh Protocol Reference October 2022
service does not accept in account names. The list of characters
MAY not be exhaustive but SHOULD include any illegal characters in
the proposed account name.
10.4.5. Structure: ContainerStatus
Container: String (Optional)
Index: Integer (Optional)
Digest: Binary (Optional)
10.4.6. Structure: ContainerUpdate
Inherits: ContainerStatus
Envelopes: DareEnvelope [0..Many] The entries to be uploaded.
10.5. Transaction: Hello
Request: HelloRequest
Response: MeshHelloResponse
Report service and version information.
The Hello transaction provides a means of determining which protocol
versions, message encodings and transport protocols are supported by
the service.
The PostConstraints field MAY be used to advise senders of a maximum
size of payload that MAY be sent in an initial Post request.
10.5.1. Message: MeshHelloRequest
CallsignBinding: CallsignBinding (Optional) Contains a proposed
callsign binding to the account.
10.5.2. Message: MeshHelloResponse
ConstraintsUpdate: ConstraintsData (Optional) Specifies the default
data constraints for updates.
ConstraintsPost: ConstraintsData (Optional) Specifies the default
data constraints for message senders.
PolicyAccount: PolicyAccount (Optional) Specifies the account
creation policy
Hallam-Baker Expires 26 April 2023 [Page 81]
Internet-Draft Mesh Protocol Reference October 2022
EnvelopedProfileService: Enveloped (Optional) The enveloped master
profile of the service.
CallsignBinding: CallsignBinding (Optional) If the request specifies
a callsign binding, returns a proposed binding for the requested
callsign.
10.6. Transaction: BindAccount
Request: BindRequest
Response: BindResponse
Request binding of an account to the service. This method is called
during account creation and binding.
The operation is called Bind rather than Create because the account
is created by the user, not the service.
10.6.1. Message: BindRequest
Request binding of an account to a service address.
Inherits: MeshRequest
AccountAddress: String (Optional) The service account to bind to.
EnvelopedProfileAccount: Enveloped (Optional) The signed assertion
describing the account.
EnvelopedCallsignBinding: Enveloped [0..Many] Contains one or more
bindings of a callsign to the account.
10.6.2. Message: BindResponse
Inherits: MeshResponse
Reports the success or failure of a Create transaction.
Reason: String (Optional) Text explaining the status of the creation
request.
URL: String (Optional) A URL to which the user is directed to
complete the account creation request.
EnvelopedAccountHostAssignment: Enveloped (Optional) The enveloped
assignment describing how the client should discover the host and
encrypt data to it.
Hallam-Baker Expires 26 April 2023 [Page 82]
Internet-Draft Mesh Protocol Reference October 2022
10.7. Transaction: UnbindAccount
Request: UnbindRequest
Response: UnbindResponse
Request deletion of a service account.
10.7.1. Message: UnbindRequest
Request creation of a new portal account. The request specifies the
requested account identifier and the Mesh profile to be associated
with the account.
Inherits: MeshRequestUser
[No fields]
10.7.2. Message: UnbindResponse
Inherits: MeshResponse
Reports the success or failure of a Delete transaction.
[No fields]
10.8. Transaction: Connect
Request: ConnectRequest
Response: ConnectResponse
Request information necessary to begin making a connection request.
10.8.1. Message: ConnectRequest
Inherits: MeshRequest
EnvelopedRequestConnection: Enveloped (Optional) The connection
request generated by the client
Rights: String [0..Many] List of named access rights.
10.8.2. Message: ConnectResponse
Inherits: MeshResponse
EnvelopedAcknowledgeConnection: Enveloped (Optional) The connection
Hallam-Baker Expires 26 April 2023 [Page 83]
Internet-Draft Mesh Protocol Reference October 2022
request generated by the client
EnvelopedProfileAccount: Enveloped (Optional) The user profile that
provides the root of trust for this Mesh
10.9. Transaction: Complete
Request: CompleteRequest
Response: CompleteResponse
10.9.1. Message: CompleteRequest
Inherits: StatusRequest
AccountAddress: String (Optional)
ResponseID: String (Optional)
10.9.2. Message: CompleteResponse
Inherits: MeshResponse
EnvelopedRespondConnection: Enveloped (Optional) The signed
assertion describing the result of the connect request
EnvelopedAccountHostAssignment: Enveloped (Optional) The enveloped
assignment describing how the client should discover the host and
encrypt data to it.
10.10. Transaction: Status
Request: StatusRequest
Response: StatusResponse
10.10.1. Message: StatusRequest
Inherits: MeshRequestUser
DeviceUDF: String (Optional)
CatalogedDeviceDigest: String (Optional)
Catalogs: String [0..Many]
Spools: String [0..Many]
Hallam-Baker Expires 26 April 2023 [Page 84]
Internet-Draft Mesh Protocol Reference October 2022
10.10.2. Message: StatusResponse
Inherits: MeshResponse
EnvelopedProfileAccount: Enveloped (Optional) The account profile
providing the root of trust for this account.
EnvelopedCatalogedDevice: Enveloped (Optional) The catalog device
entry
CatalogedDeviceDigest: String (Optional)
ContainerStatus: ContainerStatus [0..Many]
EnvelopedAccountHostAssignment: Enveloped (Optional) The enveloped
assignment describing how the client should discover the host and
encrypt data to it.
10.11. Transaction: Download
Request: DownloadRequest
Response: DownloadResponse
Request objects from the specified container with the specified
search criteria.
10.11.1. Message: DownloadRequest
Inherits: MeshRequestUser
Request objects from the specified container(s).
A client MAY request only objects matching specified search criteria
be returned and MAY request that only specific fields or parts of the
payload be returned.
Select: ConstraintsSelect [0..Many] Specifies constraints to be
applied to a search result. These allow a client to limit the
number of records returned, the quantity of data returned, the
earliest and latest data returned, etc.
ConstraintsPost: ConstraintsData (Optional) Specifies the data
constraints to be applied to the responses.
Hallam-Baker Expires 26 April 2023 [Page 85]
Internet-Draft Mesh Protocol Reference October 2022
10.11.2. Message: DownloadResponse
Inherits: MeshResponse
Return the set of objects requested.
Services SHOULD NOT return a response that is disproportionately
large relative to the speed of the network connection without a clear
indication from the client that it is relevant. A service MAY limit
the number of objects returned. A service MAY limit the scope of
each response.
Updates: ContainerUpdate [0..Many] The updated data
10.12. Transaction: Transact
Request: TransactRequest
Response: TransactResponse
Attempt an atomic transaction on the containers and spools associated
with an account.
10.12.1. Message: TransactRequest
Inherits: MeshRequestUser
Upload entries to a container. This request is only valid if it is
issued by the owner of the account
Updates: ContainerUpdate [0..Many] The data to be updated
Accounts: String [0..Many] The account(s) to which the request is
directed.
Outbound: Enveloped [0..Many] The messages to be sent to other
accounts
Inbound: Enveloped [0..Many] Messages to be appended to the user's
inbound spool. this is typically used to post notifications to the
user to mark messages as having been read or responded to.
Local: Enveloped [0..Many] Messages to be appended to the user's
local spool. This is used to allow connecting devices to collect
activation messages before they have connected to the mesh.
Hallam-Baker Expires 26 April 2023 [Page 86]
Internet-Draft Mesh Protocol Reference October 2022
10.12.2. Message: TransactResponse
Inherits: MeshResponse
Response to an upload request.
Entries: EntryResponse [0..Many] The responses to the entries.
ConstraintsData: ConstraintsData (Optional) If the upload request
contains redacted entries, specifies constraints that apply to the
redacted entries as a group. Thus the total payloads of all the
messages must not exceed the specified value.
10.12.3. Structure: EntryResponse
IndexRequest: Integer (Optional) The index value of the entry in the
request.
IndexContainer: Integer (Optional) The index value assigned to the
entry in the container.
Result: String (Optional) Specifies the result of attempting to add
the entry to a catalog or spool. Valid values for a message are
'Accept', 'Reject'. Valid values for an entry are 'Accept',
'Reject' and 'Conflict'.
ConstraintsData: ConstraintsData (Optional) If the entry was
redacted, specifies constraints that apply to the redacted entries
as a group. Thus the total payloads of all the messages must not
exceed the specified value.
10.13. Transaction: Post
Request: PostRequest
Response: PostResponse
Request to post to a spool from an external party. The request and
response messages are extensions of the corresponding messages for
the Upload transaction. It is expected that additional fields will
be added as the need arises.
10.13.1. Message: PostRequest
Inherits: MeshRequest
Accounts: String [0..Many] The account(s) to which the request is
directed.
Hallam-Baker Expires 26 April 2023 [Page 87]
Internet-Draft Mesh Protocol Reference October 2022
Messages: Enveloped [0..Many] The messages to be sent to the
addresses specified in Accounts.
10.13.2. Message: PostResponse
Inherits: TransactResponse
[No fields]
10.14. Transaction: Claim
Request: ClaimRequest
Response: ClaimResponse
Claim a publication
10.14.1. Message: ClaimRequest
Inherits: MeshRequest
EnvelopedMessageClaim: Enveloped (Optional) The claim message
10.14.2. Message: ClaimResponse
Inherits: MeshResponse
CatalogedPublication: CatalogedPublication (Optional) The encrypted
device profile
10.15. Transaction: PollClaim
Request: PollClaimRequest
Response: PollClaimResponse
Check party making claim
10.15.1. Message: PollClaimRequest
Inherits: MeshRequest
PublicationId: String (Optional) The envelope identifier formed from
the PublicationId.
TargetAccountAddress: String (Optional) Account to which the claim
is directed
Hallam-Baker Expires 26 April 2023 [Page 88]
Internet-Draft Mesh Protocol Reference October 2022
10.15.2. Message: PollClaimResponse
Inherits: MeshResponse
EnvelopedMessage: Enveloped (Optional) The claim message
10.15.3. Structure: CryptographicOperation
KeyId: String (Optional) The key identifier
KeyCoefficient: Binary (Optional) Lagrange coefficient multiplier to
be applied to the private key
10.15.4. Structure: CryptographicOperationSign
Inherits: CryptographicOperation
Data: Binary (Optional) The data to sign
PartialR: Binary (Optional) Contribution to the R offset.
10.15.5. Structure: CryptographicOperationKeyAgreement
Inherits: CryptographicOperation
[No fields]
10.15.6. Structure: CryptographicOperationGenerate
Inherits: CryptographicOperation
[No fields]
10.15.7. Structure: CryptographicOperationShare
Inherits: CryptographicOperation
Threshold: Integer (Optional)
Shares: Integer (Optional)
10.15.8. Structure: CryptographicResult
Error: String (Optional)
Hallam-Baker Expires 26 April 2023 [Page 89]
Internet-Draft Mesh Protocol Reference October 2022
10.15.9. Structure: CryptographicResultKeyAgreement
Inherits: CryptographicResult
[No fields]
10.15.10. Structure: CryptographicResultShare
Inherits: CryptographicResult
[No fields]
10.16. Transaction: Operate
Request: OperateRequest
Response: OperateResponse
Perform a set of cryptographic operations
10.16.1. Message: OperateRequest
Inherits: MeshRequest
AccountAddress: String (Optional) The service account the capability
is bound to
10.16.2. Message: OperateResponse
Inherits: MeshResponse
[No fields]
11. Security Considerations
The security considerations for use and implementation of Mesh
services and applications are described in the Mesh Security
Considerations guide [draft-hallambaker-mesh-security].
12. IANA Considerations
All the IANA considerations for the Mesh documents are specified in
this document
13. Acknowledgements
A list of people who have contributed to the design of the Mesh is
presented in [draft-hallambaker-mesh-architecture].
Hallam-Baker Expires 26 April 2023 [Page 90]
Internet-Draft Mesh Protocol Reference October 2022
14. Normative References
[draft-hallambaker-jsonbcd]
Hallam-Baker, P., "Binary Encodings for JavaScript Object
Notation: JSON-B, JSON-C, JSON-D", Work in Progress,
Internet-Draft, draft-hallambaker-jsonbcd-22, 20 April
2022, <https://datatracker.ietf.org/doc/html/draft-
hallambaker-jsonbcd-22>.
[draft-hallambaker-mesh-architecture]
Hallam-Baker, P., "Mathematical Mesh 3.0 Part I:
Architecture Guide", Work in Progress, Internet-Draft,
draft-hallambaker-mesh-architecture-20, 20 April 2022,
<https://datatracker.ietf.org/doc/html/draft-hallambaker-
mesh-architecture-20>.
[draft-hallambaker-mesh-rud]
Hallam-Baker, P., "Mathematical Mesh 3.0 Part VI: Reliable
User Datagram", Work in Progress, Internet-Draft, draft-
hallambaker-mesh-rud-01, 20 April 2022,
<https://datatracker.ietf.org/doc/html/draft-hallambaker-
mesh-rud-01>.
[draft-hallambaker-mesh-schema]
Hallam-Baker, P., "Mathematical Mesh 3.0 Part IV: Schema
Reference", Work in Progress, Internet-Draft, draft-
hallambaker-mesh-schema-10, 20 April 2022,
<https://datatracker.ietf.org/doc/html/draft-hallambaker-
mesh-schema-10>.
[draft-hallambaker-mesh-security]
Hallam-Baker, P., "Mathematical Mesh 3.0 Part IX Security
Considerations", Work in Progress, Internet-Draft, draft-
hallambaker-mesh-security-09, 20 April 2022,
<https://datatracker.ietf.org/doc/html/draft-hallambaker-
mesh-security-09>.
[draft-hallambaker-mesh-udf]
Hallam-Baker, P., "Mathematical Mesh 3.0 Part II: Uniform
Data Fingerprint.", Work in Progress, Internet-Draft,
draft-hallambaker-mesh-udf-16, 20 April 2022,
<https://datatracker.ietf.org/doc/html/draft-hallambaker-
mesh-udf-16>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>.
Hallam-Baker Expires 26 April 2023 [Page 91]
Internet-Draft Mesh Protocol Reference October 2022
15. Informative References
[draft-hallambaker-mesh-developer]
Hallam-Baker, P., "Mathematical Mesh: Reference
Implementation", Work in Progress, Internet-Draft, draft-
hallambaker-mesh-developer-10, 27 July 2020,
<https://datatracker.ietf.org/doc/html/draft-hallambaker-
mesh-developer-10>.
Hallam-Baker Expires 26 April 2023 [Page 92]