The /kbs/v0/auth endpoint is unauthenticated and currently has no throttling. It's not free to service (it generates a challenge), so a scripted client could hammer it and tie up server resources. Since auth is the entry point for every attestation flow, it'd be nice to throttle it per client IP.
Separately, when KBS verifies attestation tokens using remote JWKS/PEM keys, the requests to those URLs (and the remote attestation call) have no HTTP timeout. An unreachable or unresponsive endpoint can hang the request for a long time.
Proposed:
- Add a configurable per-IP token-bucket rate limit on
/kbs/v0/auth, returning HTTP 429 when exceeded (set to 0 to disable).
- Add a timeout to outbound HTTP requests for JWKS/PEM fetches and the remote attestation call.
The
/kbs/v0/authendpoint is unauthenticated and currently has no throttling. It's not free to service (it generates a challenge), so a scripted client could hammer it and tie up server resources. Since auth is the entry point for every attestation flow, it'd be nice to throttle it per client IP.Separately, when KBS verifies attestation tokens using remote JWKS/PEM keys, the requests to those URLs (and the remote attestation call) have no HTTP timeout. An unreachable or unresponsive endpoint can hang the request for a long time.
Proposed:
/kbs/v0/auth, returning HTTP 429 when exceeded (set to 0 to disable).