Internet-Draft Tigress-WebDAV-Sample Implementation February 2023
Astiz Expires 24 August 2023 [Page]
Workgroup:
Transfer dIGital cREdentialS Securely
Internet-Draft:
draft-tigress-webdav-impl-00
Published:
Intended Status:
Informational
Expires:
Author:
C. Astiz
Apple Inc

Tigress-WebDAV-Sample Implementation

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.

Table of Contents

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.

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.

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, , <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, , <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, , <https://www.rfc-editor.org/rfc/rfc8174>.

6.2. Informative References

[Tigress-req-02]
Vinokurov, D., Pelletier, A., Astiz, C., and B. Lassey, "Tigress requirements", , <https://github.com/dimmyvi/tigress-requirements/>.

Acknowledgments

TODO acknowledge.

Author's Address

Casey Astiz
Apple Inc