w3c / w3c/resource-timing

Expose the TLS certificate + other TLS parameters for a resource

Open
#75 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement whiteboard
Dominant language
Bikeshed
Stars
135
Forks
40
PR merge metrics
No merged PRs in 30d

Description

Exposing information about the nature of a TLS connection used to fetch a resource could enable a number of useful types of debugging:

  1. Allowing for the correlation of improvements to the TLS protocol (such as 0-rtt) with increased performance
  2. Allowing for monitoring of the security of the TLS configuration of 3rd party CDNs
  3. Assisting in the diagnosis of buggy MITM proxies. For example https://twitter.com/lildingus/status/730490073058291713 documents how we had to work with users via twitter to diagnose Kaspersky's interference with Brotli compression.
  4. Allow RUM tools to assist users in diagnosing insecure configurations

This type of information can already be collected by using Flash to open a direct socket to port 443 if the domain exposes a socket policy (https://www.linshunghuang.com/papers/mitm.pdf). This suggests that exposing the same information for resources with Access-Control-Allow-Origin would be a reasonable measure.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Resource Timing specification and the issue's four debugging use cases. Determine which TLS certificate and connection parameters should be exposed, along with the required origin and CORS constraints; done means the proposal is specified clearly enough to implement and its security implications are resolved.

Written by the indexing model from the issue text.

Assessment

Domain
performance, security, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.