Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add definition for generic "sign" #528

Merged
merged 4 commits into from
Feb 10, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions draft-ietf-gnap-core-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,8 @@ This document contains non-normative examples of partial and complete HTTP messa

This document uses the term "mutual TLS" as defined by {{RFC8705}}. The shortened form "MTLS" is used to mean the same thing.

For brevity, the term "signature" on its own is used in this document to refer to both digital signatures (which use asymmetric cryptography) and keyed MACs (which use symmetric cryptography). Similarly, the verb "sign" refers to the generation of either a digital signature or keyed MAC over a given signature base. The qualified term "digital signature" refers specifically to the output of an asymmetric cryptographic signing operation.

## Roles

The parties in GNAP perform actions under different roles.
Expand Down Expand Up @@ -6144,10 +6146,17 @@ the RS whose focus is to provide an API or the client software whose focus is to
## Symmetric and Asymmetric Client Instance Keys {#security-symmetric}

Many of the cryptographic methods used by GNAP for key-proofing can support both asymmetric and symmetric
cryptography, and can be extended to use a wide variety of mechanisms. Implementers will find useful the available guidelines on cryptographic key management provided in {{RFC4107}}. While symmetric
cryptography, and can be extended to use a wide variety of mechanisms.
Implementers will find useful the available guidelines on cryptographic key management provided in {{RFC4107}}. While symmetric
cryptographic systems have some benefits in speed and simplicity, they have a distinct drawback
that both parties need access to the same key in order to do both signing and verification of
the message. This means that when the client instance calls the AS to request a token, the
the message.
When more than two parties share the same symmetric key,
data origin authentication is not provided. Any party that knows the
symmetric key can compute a valid MAC; therefore, the
contents could originate from any one of the parties.

Use of symmetric cryptography means that when the client instance calls the AS to request a token, the
AS needs to know the exact value of the client instance's key (or be able to derive it) in
order to validate the key proof signature. With asymmetric keys, the client needs only to
send its public key to the AS to allow for verification that the client holds the associated
Expand Down
Loading