Sprints: Write Web Crypto "guidance" page

Created on 29 Nov 2018  Â·  6Comments  Â·  Source: mdn/sprints

Acceptance criteria

Web Crypto guidance page written and reviewed.

Description

The Web Crypto API seems to be rather controversial in the crypto community:

Criticisms seem to fall into a few overlapping areas:

  • the API is at the low a level of abstraction, enabling developer to make bad choices about which algorithms to use and how to use them
  • deprecated and potentially dangerous algorithms are provided and no guidance is given about this
  • providing crypto primitives may encourage web developers to use them in scenarios where they are not appropriate
  • especially: crypto in a web browser is challenging because of the highly dynamic way code is delivered to the user's machine, and the possibly different trust alignments ("the program does not represent the user"). So use cases that might make sense in a traditional desktop app environment might be dangerous in the browser.

It would be great to synthesise this into a constructive guide for developers. It would be good to cover things like:

  • crypto primitives that should not be used (or should not be used in particular situations, or particular ways) (though this kind of granular stuff should also be included alongside the crypto primitive docs themselves)
  • non-crypto risks and problems with security engineering, that the crypto API doesn't help you with (e.g. key management)
  • potentially appropriate use cases for the Web Crypto API, and inappropriate ones (and what else you should use instead of the bad ones, e,g, TLS)

I think this would be very useful but difficult to write. It would be a good idea to write it in collaboration with security experts, if we can get help.

Most helpful comment

Yes, I guess that is fair enough. But I'm not going to be actively working on this in the forseeable future.

All 6 comments

Closing this for the reasons discussed in https://github.com/mdn/sprints/issues/664#issuecomment-467987010.

Should not you leave it open to wait until you get the assistance of some “crypto people” when writing this?
Or do you think that is not possible to accomplished?

Yes, I guess that is fair enough. But I'm not going to be actively working on this in the forseeable future.

…and tag it with "help wanted" (or so?)…

I don’t think “help wanted” is quite correct in this case.

This seems stalled. Closing.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

wbamberg picture wbamberg  Â·  5Comments

ExE-Boss picture ExE-Boss  Â·  6Comments

EduardoPazz picture EduardoPazz  Â·  3Comments

wbamberg picture wbamberg  Â·  8Comments

Elchi3 picture Elchi3  Â·  8Comments