Skip to main content

Agenda IETF106: wpack
agenda-106-wpack-04

The information below is for an old version of the document.
Meeting Agenda Web Packaging (wpack) WG Snapshot
Date and time 2019-11-20 07:20
Title Agenda IETF106: wpack
State Active
Other versions plain text
Last updated 2019-11-15

agenda-106-wpack-04
IETF 106 - WPACK (Web Packaging) BoF
15:20 - 16:50   Wednesday Afternoon session II Room Collyer

Minutes: https://etherpad.ietf.org/p/notes-ietf-106-wpack?useMonospaceFont=true
BoF Proposal: https://trac.tools.ietf.org/bof/trac/wiki/WPACK
BoF Proposed Charter:
https://github.com/WICG/webpackage/blob/master/IETF-WG-charter.md Mailing List
Archive: https://mailarchive.ietf.org/arch/browse/wpack/ Related Background:
IAB ESCAPE Workshop report
https://datatracker.ietf.org/doc/draft-iab-escape-report/

# Agenda

* 5min Introduction -- Chair

## Background Presentations:
* 5min Community Networking Use Cases -- Spencer Sevilla and Matt Johnson
* 5min Pre-installed Websites Use Cases-- Brian Kardell (remotely)
* 5min AMP Use Cases -- Devin Mullins
* 5min Unsigned Bundle Sharing Use Cases -- Kinuko Yasuda (maybe remotely)

## Looking Forward

* 10min Use Case Discussion

* 10min Proposed Approach -- Jeffrey Yasskin

* 10min General Clarification and Discussion

* 20min Charter Review and Discussion

* 15min BoF Polls -- Chair

-----------

# Addendum
Proposed Charter from
https://github.com/WICG/webpackage/blob/d9f9141ae9f2caa20185e91c6eacb94a29266906/IETF-WG-charter.md

# Background

There is a long history of webpages grouping multiple subresources into a single
combined resource because this allows cross-resource compression and because
HTTP/1 made requests expensive. This encouraged the W3C TAG (Technical
Architecture Group) to propose a web packaging format based on multipart/* to
give web browsers visibility into the substructure of these combined resources.
HTTP/2 was expected to make these bundles unnecessary, but that hasn't panned
out.

In countries with expensive and/or unreliable mobile data, there is an
established practice of sharing content and native applications peer-to-peer
using SD cards, WiFi Direct, and similar transmission channels. Untrusted web
content could already be shared, albeit awkwardly, using existing formats.
However, with the web's move to HTTPS, it became impossible to share web apps
over these channels, so a team within Google Chrome began adding an index and
origin-trusted signatures to the TAG's packaging format.

The AMP project realized that this new format could solve the problem that pages
served by the AMP cache got the wrong URLs. This eventually led to Google Chrome
shipping an evolution of the format and Google Search using it in search
results.

# WPACK

The WPACK working group will develop a specification for a web packaging format
that efficiently bundles multiple HTTP resources. It will also specify a way to
optionally sign these resources such that a user agent can trust that they came
from their claimed web origins. Key goals for WPACK are:

* Efficiently storing a few or many, small or large resources, whose URLs are
  from one to many origins. Three examples of the sets of resources that should
  be supported are: a client-generated snapshot of a complete web page, a web
  page's tree of JavaScript modules, and El Paquete Semanal from Cuba.
* Allowing web apps to be safely installed after having been retrieved from a
  peer.
* Minimizing the latency to load a subresource from a package, whether the
  package is signed or unsigned, and whether the package is streamed or loaded
  from random-access storage.
* Being able to smoothly migrate to support future requirements such as random
  access within subresources, larger numbers of subresources, or avoidance of
  obsolete cryptography.
* Losing as little security and privacy as practical relative to TLS 1.3 and
  documenting exactly what is lost and how content authors can compensate. Part
  of this is analyzing how the shift from transport security to object security
  changes the security properties of the web's existing features.
* Minimizing the likelihood that the new format increases centralization or
  power imbalances on the web.

The packaging format will also achieve the following secondary goals as long as
they don't compromise or delay the above properties.

* Support more-efficient signing of a single, possibly same-origin HTTP
  resource.
* Support signed statements about subresources beyond just assertions that
  they're accurate representations of particular URLs. For example, that they
  appear on a transparency log, that they have passed a certain kind of static
  analysis, that a particular real-world entity vouches for them, etc.
* Address the threat model of a website whose frontend might be compromised
  after a user first uses the site.
* Support books being published in the format.
* Support long-lived archival storage.
* Optimize transport of large numbers of small same-origin resources.
* Allow the format to be used in self-extracting executables.
* Allow publishers to efficiently combine sub-packages from other publishers.

The following potential goals are out of scope under this charter:

* DRM
* A way to distribute the private portions of a website. For example, WPACK
  might define a way to distribute Gmail's application but wouldn't define a way
  to distribute individual emails without a direct connection to Gmail's origin
  server.
* Defining the details of how web browsers load the formats and interact with
  any protocols we define here. Other standards bodies are more appropriate fora
  for this.
* A way to automatically discover the URL for an accessible package that
  includes content for a blocked or expensive-to-access URL that the user wants
  to browse.

Note that consensus is required both for changes to the current protocol
mechanisms and retention of current mechanisms. In particular, because something
is in the initial document set (consisting of
draft-yasskin-wpack-use-cases, draft-yasskin-wpack-bundled-exchanges, and
draft-yasskin-http-origin-signed-responses) does not imply that there is
consensus around the feature or around how it is specified.

# Relationship to Other WGs and SDOs

WPACK will work with the W3C and WHATWG to identify the existing security and
privacy models for the web, and to ensure those SDOs can define how this format
is used by web browsers.

# Milestones

* Chartering + 3 Months: Working group adoption of use cases document
* Chartering + 3 Months: Working group adoption of bundling document
* Chartering + 3 Months: Working group adoption of security analysis document
* Chartering + 3 Months: Working group adoption of privacy analysis document
* Chartering + 3 Months: Working group adoption of signing document
* Chartering + 18 Months: Use cases document to IESG
* Chartering + 18 Months: Bundling document to IESG
* Chartering + 24 Months: Security analysis document to IESG
* Chartering + 24 Months: Privacy analysis document to IESG
* Chartering + 24 Months: Signing document to IESG