Bug 280673
Summary: | [WebCrypto] EdDSA should reject any small-order point | ||
---|---|---|---|
Product: | WebKit | Reporter: | Javier Fernandez <jfernandez> |
Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
See Also: | https://issues.chromium.org/issues/42290573 |
Javier Fernandez
According to the Secure Curve specification, the Ed25519 'verify' operation should reject any small-order point [1].
> 2. If the key data of key represents an invalid point or a small-order element on the Elliptic Curve of Ed25519, return false.
> 3. If the point R, encoded in the first half of signature, represents an invalid point or a small-order element on the Elliptic Curve of Ed25519, return false.
There are WPT cases [2] for this scenario, and WebKit fails in cases 0, 1, 2, 12 and 13.
[1] https://wicg.github.io/webcrypto-secure-curves/#ed25519-operations
[2] https://wpt.fyi/results/WebCryptoAPI/sign_verify/eddsa_small_order_points.https.any.html?label=master&label=experimental&aligned
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Javier Fernandez
There is an ongoing discussion [1] about the possibility if declaring as optionalin Ed25519 to reject any small-order point in signatures, so that WebEngines are allowed to rely on the crypto libraries they ship.
[1] https://github.com/WICG/webcrypto-secure-curves/issues/27
Radar WebKit Bug Importer
<rdar://problem/137502096>