Internet DRAFT - draft-tigress-webdav-impl
draft-tigress-webdav-impl
Transfer dIGital cREdentialS Securely C. Astiz
Internet-Draft Apple Inc
Intended status: Informational 20 February 2023
Expires: 24 August 2023
Tigress-WebDAV-Sample Implementation
draft-tigress-webdav-impl-00
Abstract
This document describes a sample implementation of transferring
digital credentials securily (Tigress) using WebDAV protocol.
About This Document
This note is to be removed before publishing as an RFC.
The latest revision of this draft can be found at
https://datatracker.ietf.org/doc/draft-tigress-webdav-impl/. Status
information for this document may be found at
https://datatracker.ietf.org/doc/draft-tigress-webdav-impl/.
Discussion of this document takes place on the Transfer dIGital
cREdentialS Securely Working Group mailing list
(mailto:tigress@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/browse/tigress/. Subscribe at
https://www.ietf.org/mailman/listinfo/tigress/.
Source for this draft and an issue tracker can be found at
https://github.com/dimmyvi/tigress-requirements.
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 24 August 2023.
Astiz Expires 24 August 2023 [Page 1]
Internet-Draft Tigress-WebDAV-Sample Implementation February 2023
Copyright Notice
Copyright (c) 2023 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. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 2
3. WebDAV Protocol Sample Implementation . . . . . . . . . . . . 3
4. Security Considerations . . . . . . . . . . . . . . . . . . . 4
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
6.1. Normative References . . . . . . . . . . . . . . . . . . 4
6.2. Informative References . . . . . . . . . . . . . . . . . 5
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 5
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5
1. Introduction
Prevously Tigress reviewed an implementation of digital credentials
transfer using Tigress protocol (https://datatracker.ietf.org/doc/
draft-art-tigress/). In previous IETF meetings community asked to
review other possible solutions using alternative standards to
illustrate how Tigress problem can be solved differently. In this
document we are trying to describe how an alternative potential
implementation of a solution to Tigress [Tigress-req-02] problem of
transferring digital credentials securily can be done using WebDAV
Protocol [RFC4918].
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Astiz Expires 24 August 2023 [Page 2]
Internet-Draft Tigress-WebDAV-Sample Implementation February 2023
3. WebDAV Protocol Sample Implementation
WebDAV (Web Distributed Authoring and Versioning) [RFC4918] is a
protocol that allows users to edit and manage files on remote web
servers. It extends the HTTP protocol, adding functionality for
creating, editing, and moving files and directories on a remote
server. The protocol is defined in [RFC4918], "HTTP Extensions for
Web Distributed Authoring and Versioning (WebDAV)". Since the core
of transferring secure credentials is to allow a data blob to pass
between two users, we can leverage the WebDAV protocol to create the
secure communication channel between sender and receiver.
## Secure Credential Transfer with WebDAV:
For Secure Credential Transfer [Tigress-req-02] with WebDAV, the
implementing party will host a remote WebDAV server that mobile
devices can interact with. This will act as an intermediary between
the sender and receiver device to create a safe communication
channel.
There are two different workflows for transferring of digital
credentials. Refer to Credential Transfer Workflows in Secure
Credential Transfer Draft: https://github.com/dimmyvi/secure-
credential-transfer/blob/main/draft-secure-credential-
transfer.md#credential-transfer-workflows. For the stateless flow,
the sender device will upload a file with the provisioning
information required for the receiver to redeem the pass using HTTP
PUT. Because this is the final state this resource will be in, the
sender will also perform a HTTP LOCK on the resource.
The sender will then send the link to the remote server with the
resource to the receiving device over any communication channel
available to them. The URI for the resource will follow this format:
“https://{RelayServerHost}/v{ApiVersion}/{ShareIdentifier}/share.json
â€. The WebDAV server implementor shall choose the ShareIdentifier for
each resource to ensure there are no duplicates.
Once the receiver has the link, they are able to access the resource
with HTTP GET. Optionally, the implementor can incorporate OpenGraph
metadata into the response of the GET request so users have a preview
of what they are accepting. At this point, the receiver device can
optionally call HTTP DELETE to remove the resource from the WebDAV
server.
Astiz Expires 24 August 2023 [Page 3]
Internet-Draft Tigress-WebDAV-Sample Implementation February 2023
For the stateful use case, there is a requirement for multiple round
trips between devices. In this case, both the sender and receiver
will be reading resources with HTTP GET and putting a new or modified
resource onto the WebDAV server with HTTP PUT. Once the receiver has
redeemed, they can optionally call HTTP DELETE.
In either case, the WebDAV remote server should clean up any
remaining resources after a short period, such as 24 hours for
example.
Continue to use the same structure as defined here:
https://github.com/dimmyvi/secure-credential-transfer/blob/main/
draft-secure-credential-transfer.md#provisioning-information-
structure. Both users must implement WebDAV in order to share and
receive keys. As noted in the other solutions, WebDAV will only be
used to share the data that is necessary and sufficient to redeem the
key. Once the data is obtained by the receiver, it is up to the
device OEM or other implementor to redeem that key with the
credential authority. If push notifications are required for the use
case, the implementor can extend the WebDAV intermediary server to
incorporate push notifications to the sender and receiver devices.
4. Security Considerations
TODO Security
5. IANA Considerations
This document has no IANA actions.
6. References
6.1. 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>.
[RFC4918] Dusseault, L., Ed., "HTTP Extensions for Web Distributed
Authoring and Versioning (WebDAV)", RFC 4918,
DOI 10.17487/RFC4918, June 2007,
<https://www.rfc-editor.org/rfc/rfc4918>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.
Astiz Expires 24 August 2023 [Page 4]
Internet-Draft Tigress-WebDAV-Sample Implementation February 2023
6.2. Informative References
[Tigress-req-02]
Vinokurov, D., Pelletier, A., Astiz, C., and B. Lassey,
"Tigress requirements", February 2023,
<https://github.com/dimmyvi/tigress-requirements/>.
Acknowledgments
TODO acknowledge.
Author's Address
Casey Astiz
Apple Inc
Email: castiz@apple.com
Astiz Expires 24 August 2023 [Page 5]