WAB Security Model

This page defines the cryptographic primitives, trust roots, and verification boundaries that the WAB protocol provides — and, just as importantly, what it does not guarantee. For the explicit adversary model see /threat-model.

Signature
Ed25519 (RFC 8032)
Canonicalization
JCS (RFC 8785)
Discovery
DNS TXT + DNSSEC-aware
Replay window
±300 s, nonce burn
Status
Production v3.x

1. Security goals

The WAB protocol is designed to provide, by construction, the following properties:

2. Non-goals (what WAB does not claim)

The protocol is honest about its boundaries. The following are deliberately out of scope:

3. Cryptographic primitives

UsePrimitiveNotes
Manifest signatureEd25519Over JCS-canonicalized JSON of wab.json with signature removed.
Receipt signatureEd25519Over JCS-canonicalized JSON of the receipt body. Verified at /api/atp/receipts/verify.
Intent authorizationHMAC-SHA256 + Ed25519HMAC for per-session integrity, Ed25519 for cross-party verifiability.
Nonce / replayUUIDv4 + 300 s windowServer burns nonce on first accept; reuse rejected with 409 nonce_consumed.
Webhook deliveryStripe-style t=<ts>,v1=<hmac>5-minute timestamp tolerance, constant-time compare.
DiscoveryDNS TXTDNSSEC validation strongly recommended at the resolver.

4. Trust roots

The protocol intentionally has two distinct trust roots:

Trust anchor disclosure. Today the Ring 4 root key is published by webagentbridge.com. This is comparable to early Let's Encrypt, Cloudflare, or Apple notarization — a single anchor is the pragmatic bootstrap. Federation, weighted quorum and emergency rotation are documented at /key-rotation. We will publish governance changes before activating them.

5. Boundaries we enforce by construction

6. Reporting vulnerabilities

See /responsible-disclosure. In short: email security@webagentbridge.com, encrypt with our published PGP key, and expect an initial response within 72 hours.

7. Document history

Related: /threat-model · /responsible-disclosure · /key-rotation · /atp-semantics · Full spec