w3c / openscreenprotocol

Open Screen Protocol
https://www.w3.org/TR/openscreenprotocol/
Other
93 stars 22 forks source link

[Meta] Open Screen Application Protocol #341

Open markafoltz opened 1 month ago

markafoltz commented 1 month ago

Following TPAC 2023, we agreed to investigate splitting the current specification into two or more specifications, for several reasons. Three main factors were:

This meta issue tracks work items to deliver the application layer protocol, which is layered above DNS-SD, QUIC, and TLS. Meaning, it can be implemented with an alternative to those technologies, if that alternative meets the necessary requirements.

Outstanding work items:

backkem commented 1 month ago

I'd like to argue for the following:

backkem commented 1 month ago

Side-note: I'm happy to accommodate for rapid experimentation in go-lp2p if it makes sense at any point.

markafoltz commented 1 month ago

The intention of the Open Screen Application Protocol is to work across multiple discovery, authentication, and transport mechanisms. As we craft requirements for those mechanisms, I look forward to your feedback as to whether the various alternatives you're investigating would be suitable. This work is tracked in Issue #342.

I don't see anything to "argue" here.

markafoltz commented 1 month ago

One more detail. It's an open question whether authentication and certificate creation and exchange can be specified by the application protocol, or whether it is tied too closely to the networking aspects to make that possible. That is an area that deserves a deeper dive.

In general "local https" approaches were not considered viable at the time we started this work, because it was quite complicated to get a CA to issue a certificate that essentially names a local network device that browsers would trust. However there's likely been progress in this area since we started this work.

markafoltz commented 1 month ago

The draft above does not include the authentication protocol (SPAKE2), but it could be added back depending on further discussions.

backkem commented 1 month ago

I saw Mark hinted at a JavaScript implementation of the application protocol in the TPAC 2024 slides and wanted entertain a hypothetical full-stack version of the concept: