zeekay
c9445c9d29
feat(zapauth): JWKS-bearer gate on KMS-facing ZAP server (LP-103)
New pkg/zapauth verifies a JWT presented in OpAuthHello (0x00EF)
BEFORE the X25519+ML-KEM-768 hybrid handshake. Per-peer claims are
attached by ZAP peer ID and consulted on every opcode dispatch.
Backwards compatible: defaults to auth=off so v1.13.x clients keep
working. ZAP_AUTH_REQUIRED=true rejects unauthenticated peers; the
flip happens after every KMS deploys with bearer minting (luxfi/kms
v1.9.0 pkg/iamclient).
- pkg/zapauth/{verifier,verifier_test}.go — Verifier, JWKS cache,
AuthHello frame, stdlib-only signature verification (RS/ES/EdDSA).
- pkg/api/zap_kms_server.go — KMSZapConfig, StartKMSZAPWith, per-op
checkAuth gate, OpAuthHello handler.
- pkg/api/zap_kms_server_auth_test.go — required+advisory+missing+bad
token + nil-verifier integration tests against a self-contained
ES256 JWKS endpoint.
- cmd/mpcd/main.go — wires ZAP_JWKS_URL / ZAP_EXPECTED_ISS /
ZAP_EXPECTED_AUDIENCES / ZAP_AUTH_REQUIRED env vars.
- docs/zap-auth.md, LLM.md — protocol reference + LLM map entry.
Tests: pkg/zapauth (13/13), pkg/api KMSZAP (10/10 — 5 original +
5 new auth integration), pkg/zap (existing untouched).
2026-05-02 09:30:48 -07:00
..
2026-04-06 23:35:05 -07:00
2026-04-06 23:28:34 -07:00
2026-04-18 16:07:57 -07:00
2025-12-28 16:20:40 -08:00
2026-04-25 21:46:16 -07:00
2026-04-06 23:28:34 -07:00
2026-02-25 01:38:29 -08:00
2026-04-06 23:28:34 -07:00
2026-04-07 00:01:47 -07:00
2026-04-07 00:01:47 -07:00
2026-04-18 17:32:56 -07:00
2026-03-22 12:50:58 -07:00
2026-04-18 17:02:33 -07:00
2026-03-01 19:10:22 -08:00
2026-04-18 15:18:36 -07:00
2026-04-18 17:02:33 -07:00
2026-04-01 09:00:06 -07:00
2026-03-24 16:55:54 -07:00
2026-03-01 19:10:22 -08:00
2026-04-02 19:09:00 -07:00
2026-04-18 22:41:45 -07:00
2026-04-18 21:07:26 -07:00
2026-03-24 16:55:54 -07:00
2026-03-01 19:10:22 -08:00
2026-03-01 19:10:22 -08:00
2025-12-28 15:54:10 -08:00
2026-04-01 09:00:06 -07:00
2026-04-25 21:46:16 -07:00
2026-03-01 19:10:22 -08:00
2026-04-18 17:13:07 -07:00
2026-04-18 17:13:07 -07:00
2026-03-01 15:27:32 -08:00
2026-02-25 00:46:17 -08:00
2026-04-06 23:35:05 -07:00
2026-04-07 14:00:47 -07:00
2026-03-19 01:15:33 -07:00
2026-03-22 12:50:58 -07:00
2026-03-01 19:10:22 -08:00
2026-04-01 09:00:06 -07:00
2026-04-07 00:42:17 -07:00
2026-04-07 00:42:17 -07:00
2026-04-06 23:35:05 -07:00
2026-04-28 08:46:08 -07:00
2026-04-18 21:07:26 -07:00
2026-03-01 19:10:22 -08:00
2026-04-17 19:55:55 -07:00
2026-05-02 09:30:48 -07:00
2026-05-01 01:35:13 -07:00
2026-05-02 09:30:48 -07:00
2026-04-17 19:55:55 -07:00