Add protected peer auth check
This commit is contained in:
parent
679eeb48a3
commit
b0f208b05a
7 changed files with 347 additions and 9 deletions
|
|
@ -46,8 +46,11 @@ discovers Iroh node addressing. `geth peer export/import/list` supports manual
|
|||
exchange of signed peer cards as untrusted candidates. Peer cards include the
|
||||
Iroh EndpointID plus relay/direct address candidates when the daemon can observe
|
||||
them. `geth peer ping <node-id>` dials an imported peer card over Iroh and
|
||||
exchanges signed peer-card metadata. Automatic signed peer-card advertisement
|
||||
over LAN discovery remains separate future work.
|
||||
exchanges signed peer-card metadata. `geth peer auth-check <node-id>
|
||||
<resource> <capability>` sends a protected Iroh control request that validates
|
||||
the caller's signed peer card against the actual Iroh EndpointID before
|
||||
evaluating resource-local capabilities. Automatic signed peer-card
|
||||
advertisement over LAN discovery remains separate future work.
|
||||
|
||||
Peer cards are the discovery payload. A peer card carries node ID, agent ID,
|
||||
endpoint candidates, timestamp, signing public key, and an Ed25519 signature
|
||||
|
|
@ -55,7 +58,10 @@ over a canonical payload. Imported and ping-discovered peer cards are stored as
|
|||
untrusted metadata in `peer_cards`; trust reduction is future work. `auth
|
||||
explain` reports when a subject is only a discovered peer candidate and denies
|
||||
access. The peer ping path authenticates the Iroh endpoint and peer-card
|
||||
signature, but it does not authorize any resource module.
|
||||
signature, but it does not authorize any resource module. Protected peer
|
||||
control requests must also prove that the signed peer card binds the observed
|
||||
Iroh EndpointID, then reduce resource auth ops; an EndpointID alone is not
|
||||
accepted as a resource principal.
|
||||
|
||||
The daemon starts this endpoint during `geth daemon run` and keeps it alive for
|
||||
the daemon lifetime. When endpoint startup succeeds, the Iroh EndpointID is
|
||||
|
|
|
|||
Loading…
Reference in a new issue