-
Notifications
You must be signed in to change notification settings - Fork 165
Description
I wish
I wish to use the Signature header for non repudiation.
Example:
- client sends a request with a Signature of given headers and payload
- server replies with a Signature that may contain e.g. the request hash
Non repudiation
See nist 800-32 and nist glossary
Assurance that:
- the sender is provided with proof of delivery
- and that the recipient is provided with proof of the sender's identity
so that neither can later deny having processed the data.
Technical non repudiation refers to the assurance a Relying Party has that if a public key is used to validate a digital signature, that signature had to have been made by the corresponding private signature key.
Legal non-repudiation refers to how well possession or control of the private signature key can be established.
Elements for non repudiation
Non repudiation via PKI is usually achieved adding
1- in a request
- an hash of the request representation
- a signature of the above hash and further elements, eg:
issuer, audience, subject, issued_at, not_before, expires, similar to JWS claims - sender informations
2- in a response
- an hash of the response representation
- a signature of the above hash and further elements, including an hash of the original request
- original request informations (eg. the hash) may be added in the response representation
Further informations may include:
- URL or content of the certificate to be used for validating the signature
Signature and Non Repudiation
There are various similarities b/w the informations contained in this spec and Non Repudiation.
Digestcan be used to guarantee the integrity of the representation (eg. with other values of Content-Encoding)Signaturecovers a list ofSigned-Headerswhich may cover all necessary headers
References
An example of non-repudiation via HTTP Headers is defined in:
Notes
Related to WICG/webpackage#248