w3c-ccg / http-signatures

Signing HTTP Messages specification
https://w3c-dvcg.github.io/http-signatures/
Other
34 stars 9 forks source link

Project stance on signatures incorporating external data #91

Closed liamdennehy closed 4 years ago

liamdennehy commented 5 years ago

In the project's proposed principle "What You See is What You Sign":

signatures should be verifiable given the information available at that time. Signatures should not rely on information not present in a given message except for the secrets used

In order to reconstruct the Signing String, a verifier needs access to all the data that process depends on. Some of this information may be contextual:

Should this specification permit a Signing String to be constructed using contextual sources and not exclusively on information present in the message itself?

liamdennehy commented 4 years ago

As stated in README.md all verification information must be provided in-band, and not rely on context or external sources. Closing as accepted after two months.

ioggstream commented 4 years ago

@liamdennehy question: certificate chains/transparency logs/ocsp are considered out-of-band informations?

liamdennehy commented 4 years ago

Indeed, the spec simply refers to keys, as does the principle above. It's also agnostic to certificates themselves, as this is just metadata about a key.

How a particular key is trusted to sign a message (e.g. certificate chains from a CA/B Forum root, membership in an private trust scheme), and why (e.g. specified in law), is entirely up to the implementation.