ostp/ostp-server/src
ospab 5ab6833eab feat(core): time-rotating junk marker — kill the static per-user fingerprint
The junk marker was a per-key CONSTANT sent in plaintext at a fixed offset in
junk frames. Junk is meant to look like random noise (zapret-style), but a
constant prefix is a recognizable per-user structure: an on-path observer
watching one user sees the same 4 bytes on every junk packet, i.e. an OSTP
fingerprint. (The earlier fix only removed the GLOBAL constant.)

Now the marker rotates every 60s window: junk_marker = HKDF(key, ver, 0x04 ||
window). To an observer the prefix changes each window (no fixed signature),
and a captured marker is only valid for ~1 window — the "bit of protection"
against a leaked marker. Only a key holder can compute it, so an outsider still
can't forge a silently-dropped junk packet (and silent-drop is cheaper than
normal processing anyway, so junk spam was never a DoS lever to begin with).

- core: derive_junk_marker(key, window) + current_junk_window() (60s window),
  same version-gated HKDF scheme; junk_marker dropped from DerivedSecrets.
- client: stamps junk with the current window's marker.
- server: checks current AND previous window per key (absorbs ~1 window of
  clock skew) before falling through to unauthorized-probe handling.
- Not a wire break: only junk framing changes; real handshake/data untouched.
  During mixed rollout, unmatched junk merely logs as a probe (cosmetic).
2026-07-09 14:43:40 +03:00
..
transport §B: port stability fixes from 0.3.x onto the clean base 2026-06-27 16:30:42 +03:00
api.rs Fix all compilation errors and suppress all warnings across workspace 2026-06-13 02:30:57 +03:00
dispatcher.rs feat(core): time-rotating junk marker — kill the static per-user fingerprint 2026-07-09 14:43:40 +03:00
dns.rs Fix all compilation errors and suppress all warnings across workspace 2026-06-13 02:30:57 +03:00
fallback.rs Remove stealth_port entirely and integrate fallback into UoT HTTP handler 2026-06-10 02:26:13 +03:00
lib.rs 0.4.1: per-key junk marker, GUI polish, pre-release pipeline 2026-07-07 16:33:57 +03:00
outbound.rs Fix all compilation errors and suppress all warnings across workspace 2026-06-13 02:30:57 +03:00
relay.rs Remove built-in DNS server and owndns features 2026-06-10 22:52:35 +03:00
relay_node.rs Refactor: Phase 1 and 2 - Async architecture, JNI fixes, SmolTCP data races, and Tunnel optimizations 2026-06-03 02:06:06 +03:00
router.rs Remove built-in DNS server and owndns features 2026-06-10 22:52:35 +03:00
signal.rs Initial public release: Ospab Stealth Transport Protocol v0.1.0 2026-05-14 21:41:54 +03:00
tui.rs Initial public release: Ospab Stealth Transport Protocol v0.1.0 2026-05-14 21:41:54 +03:00