Complete challenge-response authentication flow #2

Closed
opened 2026-02-14 11:22:44 +00:00 by Skipper · 1 comment
Owner

Finish the challenge-response authentication for both User Agents and SDK Clients as described in ARCHITECTURE.md section 2.1.

The current implementation in user_agent.rs starts the flow (pubkey lookup, nonce query) but challenge generation and signature verification are not complete.

Requirements:

  • Peer sends public key and requests a challenge
    • Server looks up key in DB, increments nonce, returns challenge with timestamp (replay protection)
    • Peer signs the challenge with its private key and sends signature back
    • Server verifies signature using ed25519-dalek
    • Pass: connection authenticated; Fail: server closes connection
    • Wire up the same flow for SDK clients in client.rs (currently empty stub)
Finish the challenge-response authentication for both User Agents and SDK Clients as described in ARCHITECTURE.md section 2.1. The current implementation in `user_agent.rs` starts the flow (pubkey lookup, nonce query) but challenge generation and signature verification are not complete. **Requirements:** - Peer sends public key and requests a challenge - - Server looks up key in DB, increments nonce, returns challenge with timestamp (replay protection) - - Peer signs the challenge with its private key and sends signature back - - Server verifies signature using ed25519-dalek - - Pass: connection authenticated; Fail: server closes connection - - Wire up the same flow for SDK clients in `client.rs` (currently empty stub)
Skipper added the
Kind
Feature
Priority
Critical
1
Difficulty
Medium
2
labels 2026-02-14 11:22:44 +00:00
Skipper self-assigned this 2026-02-14 12:01:59 +00:00
Author
Owner

Done

Done
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MarketTakers/arbiter#2