Internet DRAFT - draft-hallambaker-mesh-ceremonies
draft-hallambaker-mesh-ceremonies
Network Working Group P. M. Hallam-Baker
Internet-Draft ThresholdSecrets.com
Intended status: Informational 27 July 2020
Expires: 28 January 2021
Mathematical Mesh 3.0 Part XIII: Mesh Ceremonies
draft-hallambaker-mesh-ceremonies-02
Abstract
Ceremonies are security protocols that involve human participants as
principal actors. Ceremonies for onboarding devices, establishing
trust between parties and obtaining multi-factor authenticated
responses from users are presented and analyzed with particular
application to the Mathematical Mesh.
https://mailarchive.ietf.org/arch/browse/mathmesh/
(http://whatever)Discussion of this draft should take place on the
MathMesh mailing list (mathmesh@ietf.org), which is archived at .
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 28 January 2021.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
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.
Hallam-Baker Expires 28 January 2021 [Page 1]
Internet-Draft Mesh Ceremonies July 2020
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2.2. Defined Terms . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Related Specifications . . . . . . . . . . . . . . . . . 4
2.4. Implementation Status . . . . . . . . . . . . . . . . . . 4
3. Ceremony Contexts . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Users . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Devices . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. Connection Codes . . . . . . . . . . . . . . . . . . . . 6
3.4. Networks . . . . . . . . . . . . . . . . . . . . . . . . 6
3.4.1. Wired Network Configuration . . . . . . . . . . . . . 7
3.4.2. WiFi Configuration . . . . . . . . . . . . . . . . . 7
3.4.3. Non-IP Configuration . . . . . . . . . . . . . . . . 8
4. Device Onboarding Ceremonies . . . . . . . . . . . . . . . . 8
4.1. Networked Computing Device . . . . . . . . . . . . . . . 9
4.1.1. Fingerprint Comparison . . . . . . . . . . . . . . . 9
4.1.2. Out of band one-time code . . . . . . . . . . . . . . 10
4.2. Network bootstrap . . . . . . . . . . . . . . . . . . . . 11
4.2.1. Dynamic Code From Administration Device . . . . . . . 11
4.2.2. Code From Target Device . . . . . . . . . . . . . . . 12
4.3. Proxy configuration . . . . . . . . . . . . . . . . . . . 13
5. Contact Establishment Ceremonies . . . . . . . . . . . . . . 13
5.1. In Person . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2. Registration . . . . . . . . . . . . . . . . . . . . . . 15
5.3. Remote . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.4. Trusted Third Party Endorsement . . . . . . . . . . . . . 17
6. Authentication Ceremonies . . . . . . . . . . . . . . . . . . 17
6.1. Confirmation . . . . . . . . . . . . . . . . . . . . . . 17
6.2. Confirmation with Personal Presence . . . . . . . . . . . 19
7. Security Considerations . . . . . . . . . . . . . . . . . . . 20
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20
10. Normative References . . . . . . . . . . . . . . . . . . . . 20
11. Informative References . . . . . . . . . . . . . . . . . . . 20
1. Introduction
The consideration of ceremonies as an aspect of network protocol
design was introduced by Carl Ellison in 2007 [Ellison]. Since then,
consideration of ceremony design has provided a bridge between
security practitioners focused on network protocol and human-computer
interaction.
Hallam-Baker Expires 28 January 2021 [Page 2]
Internet-Draft Mesh Ceremonies July 2020
While the design of ceremonies is naturally connected to the design
of the user experience, the former represents an abstraction of the
latter. For example, the description ceremony might require that the
user be able to distinguish between two states but not how this
distinction is represented in the user experience.
Failure to consider ceremony design in protocol design frequently
leads to the user being consider able to avoid security breaches
through clairvoyance. Consider the commonly given but unactionable
advice that users 'take care' when opening email attachments. On
what basis is the user supposed to exercise caution when standard
SMTP email provides no means for determining the authenticity of a
message?
Formalizing the interactions of users in a protocol allows the
designers to consider if the expectations being put on the users are
likely to be met. It is easy for Web site operators to exhort users
to use a strong, unique password, to change it frequently and not
write it down. But there is not the slightest chance that users will
follow this advice except on rare occasions because it is utterly
unreasonable to expect them to remember a different password for each
of the hundreds of services they use.
Ceremonies formalize the interactions of humans with machines, but
humans are not Turing machines. They do not interact in precise
ways; they misunderstand information they are provided with and they
fail to follow instructions. It is essential that ceremonies be
designed with these constraints in mind.
This document describes the ceremonies that are used to establish
trust in the Mesh:
* Onboarding devices to a Mesh profile
* Contact endorsement and exchange
* Authenticated response interactions
While these particular ceremonies were designed to meet the design
requirements of the Mesh, most are based on pre-existing interaction
patterns that are widely used but not necessarily considered as a
ceremony.
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.
Hallam-Baker Expires 28 January 2021 [Page 3]
Internet-Draft Mesh Ceremonies July 2020
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
2.3. Related Specifications
2.4. Implementation Status
The implementation status of the reference code base is described in
the companion document [draft-hallambaker-mesh-developer].
3. Ceremony Contexts
A Mesh ceremony provides an abstract description of the interactions
between users and devices. A Ceremony context describes the specific
means by which the abstract ceremony is realized.
The ceremony context may be considered the equivalent of the physical
layer. Just as IP packets may be transferred using Ethernet or WiFi,
the short codes used in many of the onboarding ceremonies may be
exchanged using QR codes, Bluetooth, Near Field Communication or any
other infrastructure that provides the necessary affordances.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 1
3.1. Users
It is assumed that users are of average technical skill or less and
that they are unwilling to read any instructions or follow any
procedure more complex than that required to purchase the target
device.
The fact that a user is acting in an administrative role with respect
to onboarding a device does not mean that they should be assumed to
have administrative privileges on the machine they are using to
perform that function.
Hallam-Baker Expires 28 January 2021 [Page 4]
Internet-Draft Mesh Ceremonies July 2020
3.2. Devices
The term 'device' is used to refer to any machine involved in the
ceremony that is capable of communicating. Back at the dawn of the
Internet age, every device connected to the Internet was at least the
size of a washing machine that one or more users would interact with
by means of a terminal device with a keyboard and either a display or
a printer.
The range of affordances provided by modern devices is much broader.
Today's desktop workstation provides essentially the same display,
input an network affordances as those of a 'Personal Computer' sold
in the mid-1990s. At the other end of the device capability
spectrum, a 'smart' light bulb may offer only its light as a
potential output and no inputs whatsoever.
Accessibility is an important consideration in contemporary systems
design. Many users cannot use a traditional keyboard or display. In
the interests of clarity, we refer to user text input devices as
'keyboards' and text output devices as 'displays' while recognizing
that these MAY be realized using other technologies.
We recognize the following categories of device:
Static Computer A server or personal computer which is connected to
a wired network (e.g. Ethernet). A static computer provides a
keyboard and display, but not (necessarily) a camera.
Mobile Computer A laptop, tablet or smartphone device which supports
use of a wireless network (e.g. WiFi, Cellular). A mobile
computer provides a keyboard, display and a camera.
Device with Display A device which contains an embedded computer
with a display affordance and some form of network communication
capability (e.g. WiFi, Thread, Zigbee, Z-Wave, etc.) but not a
keyboard or a camera.
Black Box Device A device which contains an embedded computer with
some form of network communication capability (e.g. WiFi, Thread,
Zigbee, Z-Wave, etc.) that does not provide input or output
affordances to the user.
These capabilities are summarized as follows:
Hallam-Baker Expires 28 January 2021 [Page 5]
Internet-Draft Mesh Ceremonies July 2020
+=============+===========+==========+=========+===============+
| Class | Keyboard? | Display? | Camera? | Network |
| | | | | Configuration |
+=============+===========+==========+=========+===============+
| Static | Yes | Yes | No | Automatic |
| Computer | | | | |
+-------------+-----------+----------+---------+---------------+
| Mobile | Yes | Yes | Yes | Required |
| Computer | | | | |
+-------------+-----------+----------+---------+---------------+
| Device with | No | No | No | Required |
| Display | | | | |
+-------------+-----------+----------+---------+---------------+
| Black Box | No | No | No | Required |
| Device | | | | |
+-------------+-----------+----------+---------+---------------+
Table 1
While there is a tendency for IoT devices to become more elaborate
with succeeding generations, the expansion in the scope of IoT
devices more than compensates for this effect. Thus just as there
are more 8-bit CPUs manufactured today than at any point in history,
the number of devices in the 'black box device' category will almost
certainly increase over time rather than vanish.
3.3. Connection Codes
A Connection Code is a compact data object, typically 50 characters
or less that is passed from one party to another during a ceremony.
Connection Codes MAY take many forms according to the capabilities of
the devices involved.
* QR Code
* Serial communication using visible or Infra-Red light.
* Near Field Communications
3.4. Networks
IoT devices don't necessarily support IP
Local network config - sufficient to connect to the Mesh to bootstrap
VPN.
Hallam-Baker Expires 28 January 2021 [Page 6]
Internet-Draft Mesh Ceremonies July 2020
Wired Supports automatic configuration of the local network context
via DHCP
WiFi Requires an SSID to be specified and in some cases a password.
Non-IP A large range of wired and wireless communication protocols
that provide local communication. Includes RS485, CANBUS, Zigbee,
etc.
3.4.1. Wired Network Configuration
Wired networks such as Ethernet provide automated network
configuration via DHCP.
Can use this network as-is or as a bootstrap to establish a
connection through a VPN.
3.4.2. WiFi Configuration
WiFi networks support DHCP but this only acts after a device has
connected to the WiFi network by specifying the correct SSID and
providing the necessary credentials.
It is therefore necessary for an onboarding process to initialize the
WiFi settings before making use of the Internet.
A secondary consideration is the need to update the WiFi settings on
devices after the WiFi network configuration is changed or if the
device is moved from one network operated by the user to another.
To support these requirements we anticipate the use of at least three
separate WiFi SSIDs types:
The Public Network SSID The SSID used by the network that connects
to the external Internet.
The Device Hailing SSID An SSID that is monitored by a target device
that is not connected to a Mesh to allow it to receive inbound
connection initiation requests.
The Mesh Hailing SSID An SSID that is monitored by a WiFi access
point to allow devices previously connected to a Mesh to
reconnect.
This approach allows a device that has no preconfigured WiFi network
configuration to be onboarded to a user's personal Mesh. Once
accepted, the device can then connect to any WiFi network connected
to the user's personal Mesh listening on the Mesh hailing SSID.
Hallam-Baker Expires 28 January 2021 [Page 7]
Internet-Draft Mesh Ceremonies July 2020
Support for this configuration MAY be deployed at the WiFi access
point(s) for the network or by deploying a separate parallel WiFi
access point dedicated to serving hailing requests.
[Diagram: WiFi with hailing access point]
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 2
3.4.3. Non-IP Configuration
Configuration of non-IP networks is similar to that for WiFi with the
important exception that some form of network gateway will be
required to bridge the networks.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 3
4. Device Onboarding Ceremonies
Devices
Target device The device being onboarded
Administration device A device that has the ability to authorize
onboarding of the target device and cause the necessary
credentials.
Capture device A device that has the ability to capture a connection
code from a target device.
Combination device A device that combines the administration and
capture device roles.
Objectives
* Provide bootstrap network connectivity to the target device.
* Provision administrative axiom of trust to the target device.
* Establish trustworthy private keys on the target device.
* Provision credentials to the target device.
Hallam-Baker Expires 28 January 2021 [Page 8]
Internet-Draft Mesh Ceremonies July 2020
* The exchange of credentials MUST be mutually authenticated such
that credentials are issued to a device if and only if it is the
intended target device and it has received the intended
administrative axiom of trust.
4.1. Networked Computing Device
4.1.1. Fingerprint Comparison
Primary application: Target device is a static computer.
Administration and target devices are in close proximity.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 4
Target Device Prompts user to enter account address and optional PIN
User on [Target Device] Enters account address into target device
Target Device Requests device connection to indicated Mesh Service
account address
Mesh Service Returns connection verification code to Target Device
Posts connection request to indicated account
Target Device Presents connection verification code to user
Administration Device Synchronizes account to Mesh Service, receives
pending connection request
[Optional] Prompts user for attention
User [Administration Device] Reviews pending connection requests on
administration device
Verifies that connection codes match, rejects request if they do
not match
Accepts request
Administration Device Posts result of connection request to Mesh
Service
Mesh Service Appends results to for collection spool.
Hallam-Baker Expires 28 January 2021 [Page 9]
Internet-Draft Mesh Ceremonies July 2020
Target Device Requests results of connection request
Mesh Service Returns results
Target Device Decrypts result and completes configuration.
4.1.2. Out of band one-time code
Primary application: Target device is a static computer.
Administration and target devices are not in close proximity.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 5
Chief difference is that the
User on [Administration Device] Requests PIN code
Administration Device Generates PIN code
Reports PIN code to user
Posts to administration catalog to allow other administration
devices to use code for verifying connection request
Mesh Service Receives administration catalog entry.
Target Device Prompts user to enter account address and optional PIN
User on [Target Device] Enters account address and PIN into target
device
Target Device Requests device connection to indicated Mesh Service
account address using PIN for authentication.
Mesh Service Returns connection verification code to Target Device
Posts connection request to indicated account
Target Device Presents connection verification code to user
Administration Device Synchronizes account to Mesh Service, receives
pending connection request
Hallam-Baker Expires 28 January 2021 [Page 10]
Internet-Draft Mesh Ceremonies July 2020
Verifies one-time code has been correctly specified, has not been
expired or previously used.
If so, accepts connection request as pre-approved
Posts result of connection request to Mesh Service
Mesh Service Appends results to for collection spool.
Target Device Requests results of connection request
Mesh Service Returns results
Target Device Decrypts result and completes configuration.
4.2. Network bootstrap
Target device does not initially have network capability.
Requires code capture mechanism
4.2.1. Dynamic Code From Administration Device
Requires code capture capability on target device
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 6
User on Administration Device Requests device connection code
display
User on Target device Scans code displayed on Administration device
Target Device Acquires connection code
Decodes local network bootstrap configuration and connection
secret from connection code
Acquires access to bootstrap network
Posts connection request to service using connection secret for
authentication.
Mesh Service Returns connection verification code to Target Device
Posts connection request to indicated account
Hallam-Baker Expires 28 January 2021 [Page 11]
Internet-Draft Mesh Ceremonies July 2020
Administration Device Synchronizes account to Mesh Service, receives
pending connection request
Verifies one-time code has been correctly specified, has not been
expired or previously used.
If so, accepts connection request as pre-approved
Posts result of connection request to Mesh Service
Mesh Service Appends results to for collection spool.
Target Device Requests results of connection request
Mesh Service Returns results
Target Device Decrypts result and completes configuration.
4.2.2. Code From Target Device
Requires code capture capability on administration device
Code may be dynamic or static.
Dynamic provides same security as for the Admnistration device
display but requires the target device to have the display
affordance.
Static avoids need for a display, the code is physically printed on
the device itself. In this case the code is static meaning that the
connection secret allowing anyone who has handled the device to
hijack the connection attempt.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 7
User on Target device Requests device connection code display
Target device Presents device connection code
User on Administration Device Scans code displayed on Target device
Administration Device Acquires connection code
Decodes connection secret and device bootstrap network
configuration
Hallam-Baker Expires 28 January 2021 [Page 12]
Internet-Draft Mesh Ceremonies July 2020
Obtains device description and presents to user [*]
User on Administration Device Accepts connection
Administration Device Posts result of connection to device via
device bootstrap network
Target Device Receives connection result from Administration device
Verifies that connection result is consistent with connection code
posted.
The device description MAY be acquired from either
* The device itself (via the Device bootstrap network)
* The Internet
* In either case the UDF digest of the connection secret is used to
form the locator.
4.3. Proxy configuration
As before except that the administration functions are divided
between the administration device and a separate capture device.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 8
5. Contact Establishment Ceremonies
5.1. In Person
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 9
User Alice Opens contacts app, requests contact creation
Alice's Device Presents connection code
User Bob Scans connection code
Bob's Device Opens contacts app, acquires connection code
Hallam-Baker Expires 28 January 2021 [Page 13]
Internet-Draft Mesh Ceremonies July 2020
Decodes Connection Secret and Alice's account address
Posts connection request message to Bob's Mesh Service using
connection secret as authenticator
Bob's Mesh Service Receives connection request from Bob
Forwards to Alice's account address
Alice's Mesh Service Receives connection request from Bob
Adds to Alice's inbound message spool
Alice's Device Synchronizes to Alice's Mesh Service
Receives message from Bob
Verifies that message is authenticated by connection secret, if
not abort.
Presents Bob's contact information
User Alice Accepts Bob's contact
Alice's Device Generates contact response for Bob posts to Alice's
Mesh Service using connection secret as authenticator
Alice's Mesh Service Forwards connection response to Bob's Mesh
service
Bob's Mesh Service Receives connection response from Alice
Adds to Bob's inbound message spool.
Bob's device Synchronizes to Bob's Mesh Service
Receives connection response
Presents contact information to Bob
User Bob Accepts Alice's contact information
Bob's device Adds Alice's contact information to Bob's contacts
catalog
Since it is easy to delete a contact entry from the catalog, users
may opt to accept contact information without explicit user
verification.
Hallam-Baker Expires 28 January 2021 [Page 14]
Internet-Draft Mesh Ceremonies July 2020
The application SHOULD capture the circumstances in which the contact
was acquired including the time and place (if available). For
example, if Alice meets Bob at a conference for which there is an
entry in their calendar, their contacts app might make use of this
information to label the connection.
As with any other type of connection, an in-person connection MAY be
enrolled in a notary log to provide a fixed point in time.
5.2. Registration
Registration is essentially a variant of the In-Person contact
exchange ceremony in which Bob establishes evidence of attendance at
an event such as a conference by means of his connected mobile
device.
The ceremony is identical to that of the In-Person contact exchange
with the Roles 'Alice' and 'Alice's Device' replaced by 'Registrar'
and 'Registrar's device' respectively.
Registration at one or mode physical events MAY be used by trusted
third parties as the basis for providing endorsements according to
their published Endorsement Policies and Practices Statements.
5.3. Remote
In the remote contact exchange scenario, Alice and Bob are not
present in the same physical location and thus the risk of
impersonation is inevitably increased. Despite this limitation,
remote contact exchange allows participants to determine that they
are interacting with the same person as in previous interactions.
Which is sufficient for a wide number of purposes.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 10
Alice Receives Bob's Account Address out of band
Opens contact management application
Requests remote contact establishment with the user at Bob's
Account address.
Alice's Device Creates and signs the contact establishment request.
Alice's Service Receives contact establishment request
Hallam-Baker Expires 28 January 2021 [Page 15]
Internet-Draft Mesh Ceremonies July 2020
Signs request and forwards to Bob's Service.
Bob's Service Receives contact establishment request
Verifies signature of Alice's Service, rejects if invalid
Adds request to Bob's inbound spool.
Bob's Device Synchronizes to Bob's Service
Decrypts request
Verifies signature of Alice's request, rejects if invalid, rejects
if insufficiently authorized according to policy (i.e. spam
prevention).
Notifies Bob of pending request according to previously specified
policy.
Bob Reviews request from Alice
Accepts or rejects request.
Bob's Device If reject, abort.
Otherwise add contact to Bob's contact catalog.
Create and sign contact request for Alice including proof of
knowledge of request secret.
Bob's Service Receives contact establishment request
Signs request and forwards to Alice's Service.
Alice's Service Receives contact establishment request
Verifies signature of Bob's Service, rejects if invalid
Adds request to Alice's inbound spool.
Alice's Device Synchronizes to Alice's Service
Decrypts request
Verifies signature of Bob's request, rejects if invalid, rejects
if insufficiently authorized according to policy (i.e. spam
prevention).
Hallam-Baker Expires 28 January 2021 [Page 16]
Internet-Draft Mesh Ceremonies July 2020
Verifies proof of knowledge of request secret. If invalid,
ignore.
Add's contact to Alice's contact catalog.
5.4. Trusted Third Party Endorsement
Trusted third party endorsement MAY be used to improve the
reliability of either the in-person or remote contact establishment
ceremonies.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 11
The ceremony mechanics are unaffected except at the point where the
contact information is accepted when the information from one (or
more) trusted third parties MAY be presented to the user to assist
them in their decision to accept or reject the contact information.
Trusted Third Parties MAY provide an ongoing service, advising users
of a change in the trustworthiness of contact data.
6. Authentication Ceremonies
Second factor authentication by means of entering a one time code is
widely used despite the obvious limitations of this approach:
* A response code of four, six or even eight digits has a miniscule
work factor compared to the industry benchmark of 2^(128) or
greater.
* The process of presenting a code is vulnerable to Man in the
Middle attack.
* Response codes are not bound to the context in which they are used
and thus do not provide for non-repudiability.
Modern mobile devices are both ubiquitous and offer sufficient
affordances to provide user experience that is more satisfactory and
offers substantially greater security.
6.1. Confirmation
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Hallam-Baker Expires 28 January 2021 [Page 17]
Internet-Draft Mesh Ceremonies July 2020
Figure 12
Alice Attempts action requiring confirmation at Carol's Cloud
Carol's Cloud Generates and signs confirmation request for Alice's
Account Address
Sends to Carol's Service
Carol's Service Countersigns confirmation request and forwards to
Alice's Service
Alice's Service Verifies countersignature of Carol's service, if
invalid, aborts
Adds confirmation request to Alice's inbound spool.
Alice's Device Synchronizes to Alice's Service
Discards messages that are unauthorized according to entries in
contacts catalog
Decrypts confirmation request
Notifies Alice according to policy.
Alice Reads confirmation request
Responds with Accept or Reject.
Alice's Device Creates and signs/encrypts response including request
data
Appends to confirmation catalog.
Forwards response to Alice's Service.
Alice's Service Countersigns response, forwards to Carol's Service
Carol's Service Verifies counter signature, rejects if invalid
Appends response to Carol's inbound spool.
Carol's Device Synchronizes to service.
Decrypts response, acts accordingly.
Hallam-Baker Expires 28 January 2021 [Page 18]
Internet-Draft Mesh Ceremonies July 2020
Waiting for the response from Alice is essentially equivalent to
waiting for input from Alice
This description assumes that the devices poll the service to obtain
notification of updates. Provision for push notifications will of
course improve response.
6.2. Confirmation with Personal Presence
In certain situations we would like to require that Alice be
physically present when responding to a confirmation request. For
example, when opening a door or logging in to a workstation at a
facility.
In these circumstances, a confirmation code is used to provide
evidence that Alice is in the physical vicinity. Such codes may be
presented by means of a QR code, Near Field Communications or any
equivalent means. Noting of course that all proximity controls are
inherently vulnerable to a relay attack.
(Artwork only available as svg: No external link available, see
draft-hallambaker-mesh-ceremonies-02.html for artwork.)
Figure 13
Alice Attempts action requiring confirmation with physical presence
at Dave's Door
Dave's Door Generates unique connection code.
Generates and signs confirmation request for Alice's Account
Address
Sends to Dave's Service
Presents connection code to Alice's Device via local channel
Alice's Device Reads Connection code
Synchronizes to Alice's Service, no message pending (yet), waits.
Dave's Service Countersigns confirmation request and forwards to
Alice's Service
Alice's Service Verifies countersignature of Dave's service, if
invalid, aborts
Adds confirmation request to Alice's inbound spool.
Hallam-Baker Expires 28 January 2021 [Page 19]
Internet-Draft Mesh Ceremonies July 2020
Alice's Device Synchronizes to Alice's Service
Discards messages that are unauthorized according to entries in
contacts catalog
Decrypts confirmation request
Notifies Alice according to policy.
Alice Reads confirmation request
Responds with Accept or Reject.
Alice's Device Creates and signs/encrypts response including request
data
Appends to confirmation catalog.
Forwards response to Alice's Service.
Alice's Service Countersigns response, forwards to Dave's Service
Dave's Service Verifies counter signature, rejects if invalid
Appends response to Dave's inbound spool.
Dave's Door Synchronizes to service.
Decrypts response, acts accordingly.
7. Security Considerations
8. IANA Considerations
This document requires no IANA actions.
9. Acknowledgements
10. Normative References
[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>.
11. Informative References
Hallam-Baker Expires 28 January 2021 [Page 20]
Internet-Draft Mesh Ceremonies July 2020
[draft-hallambaker-mesh-developer]
Hallam-Baker, P., "Mathematical Mesh: Reference
Implementation", Work in Progress, Internet-Draft, draft-
hallambaker-mesh-developer-09, 23 October 2019,
<https://tools.ietf.org/html/draft-hallambaker-mesh-
developer-09>.
[Ellison] Ellison, C., "Ceremony Design and Analysis", 2007.
Hallam-Baker Expires 28 January 2021 [Page 21]