[MEDIUM] Enrollment-Token kurzlebig + single-use (Rotation zu Node-Secret) statt langlebigem Bearer #182
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Teil des Public-Readiness-Epics. MEDIUM-HIGH fuer public Onboarding.
Der Node-Token (
models/node.py) ist ein langlebiger Bearer (hoch-entropisch, at-rest gehasht — gut), aber ohne Ablauf/Single-Use. Das Install-Script traegt ihn im Klartext. Leakt ein Install-Script (Mail/History/Copy-Paste), bleibt der Token dauerhaft gueltig fuer einen Root-Agent-Connect.Fix
used_at(einmalig). Felder am Node-Model (enroll_token_hash,enroll_expires_at,enroll_used_at) oder separate Tabelle.Akzeptanz
Branch
feat/short-lived-enrollment-tokenScope-Klarstellung: DEV-Umgebung — Bestandsschutz entfaellt
Da reine Dev-Umgebung und Verbindungsverlust akzeptiert: Der Punkt "Bestehende Tokens weiter gueltig / Bestandsknoten brechen nicht" aus der Beschreibung entfaellt. Alte Tokens duerfen invalidiert werden, Nodes werden neu enrolled. Das vereinfacht die Umsetzung — keine Migration fuer Altbestand noetig, einfach das neue kurzlebige/single-use Enrollment-Schema einziehen.
Wird in #185 eingefaltet. Der kurzlebige single-use Enrollment-Token ist dort der einmalige Bootstrap fuer die Pubkey-Registrierung des Challenge-Response-Verfahrens. Umsetzung/Schliessung gemeinsam mit #185.
#182 ist in #185 eingefaltet · Commit
53fdcfe.Der Enrollment-Token ist jetzt single-use + kurzlebig:
Node.enroll_expires_at(TTL 60min, gesetzt bei create/regenerate) +Node.enroll_used_at(einmalig).POST /enroll/{token}prueft beides und verbrennt den Token (enroll_used_at), registriert dabei den ed25519-Identity-Pubkey. Danach laeuft die Auth ueber Challenge-Response (#185), nicht mehr ueber den Token. Migration0024_node_identity. Issue bleibt offen (mit #185 abnehmen).Erfüllt über #185 (Commit
53fdcfe) → wird geschlossen. Der kurzlebige, single-use Enrollment-Token ist der Bootstrap der Pubkey-Registrierung: TTL viaenroll_expires_at, Einmaligkeit viaenroll_used_at, Re-Enroll viaregenerate-token.