(in WGLC)
Martin: I have trouble wrapping my head around this one. We should just do this, though with slightly restructured JSON, something along the lines of what Kari suggested.
Mark: Caching gets a little interesting here too. You effectively need a lifetime for the alternative service without having server authentication.
Martin: Mikeās suggestion was to say āThe following alternatives have the following lifetime, which require/donāt require securityā.
Mark: Letās take this offline. It sounds like this is not adding too much complexity. Iām sensitive to that because we only have one implementer, so we want to keep complexity down.
Mark: Seems to be uncontroversial
Basically the same resolution as the first issue. I think we can then take this to Last Call.
Julian: There is one open question thatās not in the github tracker, which is the restriction that the opportunistic rquest needs to be over HTTP2, as discussed on the list. The spec better explains what the problem is than it did before, but itās still confusing to read. (description of the problem)
Mark: What would you like to see?
Julian: The server should reject opportunistic requests in the case where itās not clear that the code making decisions on the content has the correct information.
Martin: The MUST requirement is of no use to us. I think with Julianās hand-waving, weāre going too far. I think itās clear where the danger lies. I think if we can do that, weāve achieved our goal here; then being proscriptive about what clients and servers must do here doesnāt add any value. We should articulate the problem and leave it at that.
Julien: The problem is that for the server code itās untestable whether the application running inside the server is broken, so it has to be a conscious decision by the server operator enabling or disabling this behavior.
Michael Bishop: This is a problem for servers. We know this exists. If a request comes in, we look at the arriving port and what hosts/resources are configured for that. It may not be a solvable problem in the protocol spec; if we want to do anything in the document, we need to say the client must use a request form that includes the scheme. I donāt know how many client libraries expose the option to do this, however.
Eric: On the client side, I agree with Michael. On the server side, the option might remove the need for the MUST. Most of the server implementations appear to do the wrong thing, so itās not clear how HTTP2 is any better here.
Mark: It sounds like we have emerging consensus. It strikes me that putting the scheme information in a pseud-header field in HTTP2, hiding it from HTTP, maybe wasnāt serving our audience very well; it requires them still to figure out the scheme in a non-standard way.
Mark: No open issues.
Julien: I havenāt done anything with this since it became a WG item except testing the I-D submission system with some non-ASCII in it. It still needs some work; Iāll get to it maybe next month.
Mark: Itās mostly editorial work. We can come back to the WG when there are specific questions. Hopefully itāll just go along quietly in the background. Do you think we could WGLC during Berlin?
Julien: Before.
Mark reviewed the issues list from the tracker.
Ted: Could āSave Dataā be split off into a separate header field? (a new issue) The willingness to do this particular thing is not limited to particular methods of delivering that savings. There are a couple listed, and some might be significantly different from others.
Ted will raise this as an issue in the tracker and on the list for discussion.
Mark: Pretty straightforward.
Mark: Need to explain more clearly the scope of this option. Ilya says this can be resolved by plumbing in the HTML and FETCH specifications. We shouldnāt have to think about this much more. I know it seems weird to have some of this in one spec and some in another but it seems to be how these things are going.
Julien sent a pull request. Ilya will reiew the proposed changes.
Mark: We need advice from CFRG about the crypto choices made in this document. Martin, please get other helpful reviewers to take a look at this aspect of it.
Martin: Thatās the only issue as far as I know.
Everyone was looking at Alexey.
Mark: We were also talking about doing signatures; should we hold this up for that?
Martin: Theyāre orthogonal, so no.
EKR: Imposing encryption and signature is not a straightforward proposition. Which composition do you envision for these?
Mark: These are building block specs, soā¦
EKR: I donāt think you can advance those independently. You can do them together, or drop one of them.
Mark: What impact would this have over in WEBPUSH?
Martin: It would be the long pole holding us up.
Mark: How long, estimate?
Martin: Letās talk about it offline.
Mark: We have serious concerns with this spec, and thatās as far as we can go at the moment.
Mark: Weāve been working on this for a while, and the remaining issues are relatively minor. Weāve done a lot of work to make this easy for an intermediary to implement, but we donāt have news that there are implementations. We should make sure weāre on the right path before advancing. Right now you have to do a double lookup. The preliminary feedback from implementers is that they would love not to have to do that. Are there any implementers in the room with feedback? Without that feedback we have to sit on this spec.
Julien: Whatās the issue exactly?
Mark: Most intermediaries cheat and donāt implement the whole current spec because of the horrible performance impact. As a result of the choices weāve made here, we have to embody the performance optimizations theyāve made.
Julien: So Key will be too complex?
Mark: Complex is okay; doing lots of syscalls or unbounded computation is not.
Julien: Iām trying to understand why youād do more work besides parsing for Key.
Mark: A proper implentation of the existing spec would not have a problem, but I donāt think there are any.
Mark: Letās take the discussion offline.
Julien: āAgain?ā
(slides, mostly the same as what was presented in Quebec City and Toronto)
Mark: I think thereās pretty broad agreement that thereās a problem needing to be solved, which is that Julien is a single point of failure in terms of HTTP header review. I also hear people uncomfortable with JSON, but I think we should start with it just to get something done. JSON pointer might be a problem for performance reasons.
Erik: In the HTTP2 context, youād have a direct mapping from JSON to CBOR.
Mark: Thatās what we were referring to before; itās a big long term win.
Jeroen: If you have an engine that wants to make decisions based on headers, youād have to look at data types of certain values. āDateā is really annoying. Having a way to do binary comparisons is great. Not all implementations use JSON.
Mark: We have to pick something. Or make something, which is scarier.
Mark: Call for Adoption of this is basically done. If people have further thoughts, please make them on the list or talk to me. Julien is available to edit.
Mark: Call for Adotion is open.
(slides)
Patrick: Iām in favor of expansion of this document in general, and we certainly should adopt it.
Nick: I think this is an interesting thing we should advance. We should do something separate from the Origin Frame work, however.
Please review the Part 2 schedule and drafts before the second half of the meeting later in the week.
Martin: What proof to you have that youāll bust everyone else like at Google?
Mike West: Blizzard looked like the next most vulnerable, but they were willing to change behavior. We need to tread carefully, but I think something can be done here.
Richard: The leave-cookies-alone Iām in favor of.
Mark: Talked to a few people about cookie prefixes, and the only one that has done anything used a lot of __*.
Mark: Richard and Mark are ok with same-site cookies,
Richard: The default in CORS is closed (same-origin), and we do something safer ā you have to opt-in.
Mike West: It is radical, but we can discuss it.
Martin: Changing the lifetime on cookies without the secure flag could cause severe breakage. If we treat cookies over insecure connections as ephemeral, we might not break much and still cleanup cookies.
Richard: It can be worked around by setting it on HTTPS and reading it over HTTP.
Mark: Iāve heard of this approach in a number of contexts.
Martin: In this safe environment, a MiTM might still have a difficult time.
Mike West: It is interesting, but Iām concerned about the approach because how āsessionā is defined is fluid. A hybrid approach might be workable. Another might be to use a form of combined cookie.
Mark: Convincing everyone to change how they use cookies to get what we want to combat pervasive monitoring is probably too high a bar.
Eric: One thing that sites have used to prevent tracking is to store a persistent cookie.
Martin: There are events the browser can detect to try and use to address this problem.
Eric: I wonder if the CSP cookie scope is worth tracking in relation to this cookie lifetime work.
Mike West: People are supportive of the draft, but Iām not sure if many have thought about implementing it.
The working group is not objecting to its ability to make progress on solving the cookie issues. There will be calls for adoption of cookie prefixes and same-site cookies, and look forward to drafts on cookie lifetimes.
Aaron Falk: Send a note to TCM and Transport about this work. Getting more cross-area review would really benefit this work. I would be happy to help review it if adopted here.
Patrick: Iām in favor of this work, but it needs to talk more about the impacts of various network pieces more than how to configure your servers.
Spencer Dawkins: A lot of the related documents are Experimental, and it would be great if they can advance. Weāve done cross-area sharing before with success.
Barry: Thereās some discussion happening if this work belongs here or in Transport. Wherever it is done needs significant help from the other area.
Bryan: Iām in favor of this work, and have a related document I can share.
Barry: Donāt worry about the category of other documents. The AD can deal with that.
Chair will discuss with Transport area people to find the right way to get TCP Tuning done.
Mike Bishop: We shipped something proprietary to meet needs, but would be really happy to change to a standard.
Kazuho: This is the simplest way to solve the problem, and we should do it.
Mark: We could adopt, knowing it wonāt get feedback in a long time.
Mike Bishop: I think itās worth adopting to help drive development.
Martin: I also think itās worth adopting even if itās abandoned later.
There are no objections to a call for adoption on client certificates.
Martin: Another advantage is that the alternative is a cert with lots of SANs which are much much bigger; being able to server a smaller cert makes things faster.
Patrick: Are these deltas to the client cert extension or its own thing?
Mike Bishop: This was originally written as an extension to the client certs draft, but we can move things around so it stands alone. Also, this and client-cert could be the same draft.
Patrick: I think itās worth doing both.
Nick: I strongly support.
Martin: the only problem is the potential to capture, but itās a small worry.
Mike: The current requirement involves matching on DNS, and this removes that. We could still rely on DNSSEC, or push down a proof.
Richard: How do I figure out how to send the cert request for a new connection?
Mark: This was talked about on Monday.
Richard: I think the negotiation conerns need more discussion.
Mike: The draft does not currently talk about session resumption but you probably could do it without pushing the certs again.
Mark: At the time, the thinking was SPDY was enough and more complexity was not needed, but that might be different now.
Eric: Another idea is to have a separate record in DNS to look up for validation against.
Mike: The server can opt-out using a server frame.
Martin: We should all for adoption to adopt both client- and secondary-server after Mike and I merge the documents.
Mark: The proposed work is a combination of the two with advice from the Security area.
The working group supports a call for adoption of the client- and secondary-server certs documents.
Martin: I believe browsers already flush caches when you flush a site.
Martin: We need more discussion as a frame, since there might be collisions with multiple caches. You are assuming there is only one cache, and thatās not likely the case (think intermediaries).
Mark: The cache is hop-by-hop.
Bryan: I like it as a frame, and allow the server to request it to get a sense of what the client has cached.
Mark: It can help if you need to drop
Martin: Iām happier with these answers, but a note should be added that it could be done with a header to expidite experiementation.
Mark: Itās moving
Leif: What if the server doesnāt do push?
Mark: There would be an indicator.
Martin: We have afix in TLS 1.3 that allows the server to speak first. Firefox would then see about sending the cache digest only if we have a reliable indication that the server supports it.
Eric: What about the server being able to indicate its limits?
Martin: There is benefit for a client to be able to ask, such as false positivies being 1/6 then maybe I can take the hit for a larger table to get false positives 1/1000.
Mark: A balance would need to be struck.
A short call for adoption will be issued, with a third party to help judge consensus.
Tim: Work happening in DNSOP for running DNS over HTTP (over TCP or UDP).
Mark: A lot of different working groups use HTTP as a transport.
Eric: This is very interesting work we should continue to provide better semantics. The DNS work is really DNS over the HTTP framing to get the same transport semantics in HTTP.
Ian Swett: There is certainly an effort to clean QUIC up before standardizing.
Martin: We need to think very carefully how we use HTTP. We should continue the conversation, but I donāt think we need another RFC for this.
Mark: I think we should let it sit around and think more on it.
Richard: Has there been any implementation or experiementation?
Martin: We needed a better solution to the current SRI, and I have a prototype.
Richard: Firefox is interested in this work, mostly internal now but some with wider scope.
Eric: I like it and have lots of use cases for it.
Natasha: I think this is interesting from a W3C perspective.
Mark: Please look at the draft ā thereās been lots of interest over years.
Ian: There is a prototype ā would it move into the browser?
Martin: Using ServiceWorkers for this interferes with other uses of ServiceWorkers, so we would look at moving into the browser eventually.
Ian: The implication is that the integrity is maintained with the delegation.
Nick: Does this work if itās not TLS the whole way?
Martin: The primary request is end-to-end, but the secondary donāt need to be.
Eric: This could help with HTTPS adoption for large CDN usecases.
Martin: This might be a better solution to LURK.
Thomas: This can be resource intensive for the CDN.
Martin: Youāre operating as a proxy, so youāve signed up for that. The client could just talk directly to the origin.
Martin: The client discovers this delegation through MAGIC!
Mike Bishop: I have seen a lot of interest for this in SMBs more so than the browsers.
Martin: Iāll need to talk to higher ups about sharing the implementation.