[webauthn] Floating-point values in the CTAP2 canonical CBOR encoding form (#1263)

peteroupc has just created a new issue for https://github.com/w3c/webauthn:

== Floating-point values in the CTAP2 canonical CBOR encoding form ==
The CTAP2 canonical CBOR encoding form includes the following rule: "The representations of any floating-point values are not changed".  Unfortunately, for canonicalization purposes, this is too vague, since this rule enables two "canonical" documents to represent the same floating-point number, depending on what data type that number was before it was encoded (e.g., `float` vs. `double`).  

The intent of this rule may be that—
- "floating-point values" mean "values representable in the IEEE 754 binary64 format", and
- such "floating-point values" have to be encoded using the 64-bit CBOR encoding for floating-point numbers.

The [CTAP](https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html) specification uses the word "floating-point" only once, so it doesn't clarify this matter.  This is just one of several considerations for defining "canonical" encoding of "floating-point values"; see, for example, [section 4.2.2 of the draft revision of CBOR](https://tools.ietf.org/html/draft-ietf-cbor-7049bis-06#section-4.2.2).

Please view or discuss this issue at https://github.com/w3c/webauthn/issues/1263 using your GitHub account

Received on Thursday, 25 July 2019 13:19:37 UTC