Skip to content

Separate ateom certificates vs direct actor certificates - #1626

Open
Taahir Ahmed (ahmedtd) wants to merge 2 commits into
agent-substrate:mainfrom
ahmedtd:separate-certs
Open

Separate ateom certificates vs direct actor certificates#1626
Taahir Ahmed (ahmedtd) wants to merge 2 commits into
agent-substrate:mainfrom
ahmedtd:separate-certs

Conversation

@ahmedtd

@ahmedtd Taahir Ahmed (ahmedtd) commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

We need to draw a strong distinction between credentials that will be wielded directly by actor logic, and credentials used by system components on behalf of an actor. This will help us avoid attacks where an actor pretends to be a system component.

Ateom certificates are requested by ateom/atelet and used for the atunnel connection to the egress gateway. They have a SPIFFE URI like spiffe://${trustdomain}/ateom/actor/${atespace}/${actor}.

Actor certificates are requested by the egress gateway and used for opening outbound requests on behalf of the actor. They have a SPIFFE URI like spiffe://${trustdomain}/actor/${atespace}/${actor}. Note, this use case is not actually implemented yet.

Stacked over #1501

We need to draw a strong distinction between credentials that will be
wielded directly by actor logic, and credentials used by system
components on behalf of an actor.  This will help us avoid attacks where
an actor pretends to be a system component.

Ateom certificates are requested by ateom/atelet and used for the
atunnel connection to the egress gateway.  They have a SPIFFE URI like
`spiffe://${trustdomain}/ateom/actor/${atespace}/${actor}`.

Actor certificates are requested by the egress gateway and used for
opening outbound requests on behalf of the actor.  They have a SPIFFE
URI like `spiffe://${trustdomain}/ateom/actor/${atespace}/${actor}`.
Note, this use case is not actually implemented yet.
@LiorLieberman

Copy link
Copy Markdown
Collaborator

whats your view on adding another part "/x/" vs prefixing the existing part already - like spiffe://${trustdomain}/ateom-actor/${atespace}/${actor}

Wouldn't it ease regexes / validation in different component that uses that peer identity?

type credentialBroker struct {
ateletpb.UnimplementedCredentialBrokerServer
controlClient ateapipb.ControlClient
type ateomSupportServer struct {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whats the rationale behind "ateomSupportServer" name? whats ateomSupport?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants