w3c / webappsec

Web Application Security Working Group repo
https://www.w3.org/groups/wg/webappsec/
Other
605 stars 148 forks source link

Proposed webcrypto scope addition #584

Closed wseltzer closed 3 years ago

wseltzer commented 3 years ago

Proposed: the WG may adopt well-supported proposals from incubation for maintenance of the Web Cryptography API.

mikewest commented 3 years ago

I think this is reasonable, but I'd still appreciate @sideshowbarker's contact being a little more forthcoming with their agenda for the document up front, so we know what we're getting into. :)

annevk commented 3 years ago

Is this solely for the purpose of crypto.randomUUID() and maintenance or something else?

mikewest commented 3 years ago

I've heard about adding that proposal, and ed25519. Both of those sound like reasonable additions that we could extend the charter to support.

It's not clear to me what else is floating around.

sideshowbarker commented 3 years ago

I think this is reasonable, but I'd still appreciate @sideshowbarker's contact being a little more forthcoming with their agenda for the document up front, so we know what we're getting into. :)

I’ll ask Daniel to post a message to the mailing list today — but note that he did already to WebCrypto issue tracker —

https://github.com/w3c/webcrypto/issues/249#issuecomment-830057083

I'm Daniel Huigens, the crypto team lead at Proton, and lead maintainer of OpenPGP.js. I have quite a lot of experience working with the Web Crypto API, both from working at Proton and on OpenPGP.js but also previously. I don't have as much experience editing specifications, so please bear with me while I figure that part out :)

I volunteered as editor for the Web Crypto spec with the goal of making it possible for web developers to build more secure web apps. The most pressing need in the Web Crypto spec I see in that regard is to modernize the set of algorithms available. In particular, adding more secure curves, adding a more modern key derivation function, and adding a more modern AEAD construction come to mind.

On the flip side, I should also explicitly say that it's not my goal to add algorithms or features purely for compatibility reasons (and that extends to things that might be useful for Proton or OpenPGP.js equally as any other company or library). I'd much rather see everyone moving towards a more secure set of algorithms.

I'll make a special mention of https://github.com/w3c/webcrypto/issues/73 (by far the most liked issue here) - while not strictly speaking related to improving the security, it prevents web apps from using the Web Crypto API if they have to deal with very large files, so it would be nice if we can make some progress there.

I plan to reach out to the browser vendors to see if we can align on this goal, and hopefully we can get some experimental implementations in the browsers and some new text in the spec together :)

sideshowbarker commented 3 years ago

It's not clear to me what else is floating around.

Daniel has a pretty clear picture of all the open proposals, so I expect that as part of getting him in contact with the group, he can field questions about the proposals, and gather feedback about them — though I guess the best way to do that might be for him to direct people to relevant open issues in the issue tracker, where people could post comments with their questions and feedback.

sideshowbarker commented 3 years ago

Note also that Daniel has already been writing up spec patches and doing PRs, and he’s looking to get some review help from one or more people with domain expertise in crypto stuff. @annevk has been reviewing, but as he notes in https://github.com/w3c/webcrypto/pull/264#pullrequestreview-656965255, we really need to also get somebody in to review who’s got some domain expertise.