Introduce an IP Proof Service to prevent malicious users from preemptively claiming IP addresses they do not own.
https://www.notion.so/malbeclabs/Risk-Assessment-Unauthorized-IP-Claim-in-DoubleZero-Onboarding-26bfef22bebe802cb593d13fd905cfa4
Rationale
Currently, users can request an AccessPass with any IP, creating a risk where a malicious actor could block the legitimate operator by claiming their IP first. To mitigate this, DoubleZero should provide a verification mechanism proving that the requester actually controls the public IP being registered.
Proposed Solution
- Create a DoubleZero IP Proof Service that:
- Receives a request from the CLI containing the user_payer identity.
- Observes the requester’s public IP.
- Issues a signed proof object including:
- user_payer identity
- observed public IP
- current epoch
- a DoubleZero signature
- Returns the proof to the CLI, which then submits it to the Serviceability program.
- Update the CreateUser instruction in Serviceability to validate this proof before establishing a connection.
Expected Outcome
Only users who can cryptographically prove ownership of their public IP will be able to claim it, ensuring security and preventing IP hijacking.