Skip to content

Commit 9cd1e10

Browse files
authored
Merge pull request #19 from deansaxe/issue15
Issue 15, a few items for the security considerations section
2 parents cef9384 + c753bdf commit 9cd1e10

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

draft-saxe-wimse-token-exchange-and-translation-protocol.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,15 @@ TODO - this draft does not define normative specs for translating from arbitrary
126126

127127
# Security Considerations
128128

129+
As countermeasures against replay attacks and various forms of misuse, an authorization server performing token exchange
130+
- MUST ensure a client (whether it is an OAuth client or a workload) is allowed to perform such operation.
131+
- SHOULD ensure that a provided security token allows to perform such operation on it.
132+
- SHOULD ensure it itseld, as an AS, is the intended audience of a token being exchanged. It is typical for self-contained tokens to include the aud claim (an array of strings) representing their intended audience (other types of tokens provide other means for the same).
133+
- a value in the subject_token_type parameter MUST correspond to an actual type of a security token provided in the subject_token parameter ({{RFC8693}}).
134+
These countermeasures become even more significant when an entity issuing security tokens and an AS performing exchange of them reside in different security domains.
135+
136+
An extra care should be taken for tokens that can be passed around using the front channel, and for those tokens that do not explicitly define their type. Examples here would be OpenID Connect ID Token, and various assertions represented as JWTs.
137+
129138
TODO Security - data loss in token translation may impact authZ decisions. Be careful when allowing multiple token translations since losses may grow over each step of translation.
130139

131140
Embedding input tokens into output tokens can reduce this risk by allowing more complete context, at the risk of expanding the token size beyond what is practical.

0 commit comments

Comments
 (0)