openid / authzen

Proposed standard for an Authorization API
32 stars 10 forks source link

Sign access decision? #55

Open eazerad opened 10 months ago

eazerad commented 10 months ago

Should the access decision be signed by the PDP private key to ensure that the payload has not been tampered with?

tr33 commented 9 months ago

In which cases should the PEP not trust its designated PDP?

Some level of "trust" could be provided by the transport layer, e.g. via TLS. Mutual "Trust" could also be assumed by the parties configuring PDP+PEP?

Signing + validation implies notable efforts for both parties, whilst the whole process should be as fast as possible. It would also increase complexity on the spec and implementation.

As long as "Authorization Federation" isn't a clear concept (like with SAML-Federation) I would offload this to the transport layer and clearly assume mutual trust by the parties setting up both components.

eazerad commented 9 months ago

For Mutual TLS, I agree that it is a transport layer responsibility but we probably need to discuss in terms of patterns we want to support and if the API we provide can accommodate future use cases. Digitally signing can increase the trust in the authorization decision furthermore if mutual trust doesn't exist before the API call is made. I wouldn't see it as a mandatory API feature but something that is optional. Are all authorization decisions required to be fast? It is ideal but it depends on use cases we want to support. Also there is a spectrum of what is fast and near real time and what can take seconds, hours or could be tied to a workflow with manual interactions so I hope we can clarify that in the use cases.

tulshi commented 9 months ago

We can add a note in the draft "Security Considerations" section that reliable mechanisms must be used to ensure PDP - PEP communication integrity, privacy and authenticity (e.g. MTLS)