Skip to content
Zurück zur Startseite

§ DOCUMENTATION

Agentenidentität

Execlave stellt kurzlebige, kryptographisch signierte RS256-Anmeldeinformationen für KI-Agenten aus — wodurch nachgelagerte Dienste verifizieren können: „Ist dies wirklich Agent X, von meiner Organisation ausgestellt und nicht widerrufen?" — über einen öffentlichen JWKS-Endpunkt, ohne gemeinsame Geheimnisse.

§ 01

Was eine Agenten-Anmeldeinformation ist

Eine Agenten-Anmeldeinformation ist ein kurzlebiges RS256-signiertes JWT mit dem Präfix exe_agt_, das auf Anfrage für einen bestimmten Agenten ausgestellt wird. Die Standard-TTL beträgt etwa 15 Minuten. Das JWT wird mit einem privaten Schlüssel signiert, der Execlave nie verlässt — jede vertrauende Partei verifiziert es mit dem entsprechenden öffentlichen Schlüssel, der vom öffentlichen JWKS-Endpunkt abgerufen wird, ohne ein gemeinsames Geheimnis verteilen oder rotieren zu müssen.

Die Anmeldeinformation beantwortet die Maschinenidentitätsfrage für nicht-menschliche Workloads: "Welcher Agent ist das, welche Organisation hat die Anmeldeinformation ausgestellt, und wurde sie widerrufen?" — verifizierbar durch jeden nachgelagerten Dienst, ohne Execlave zum Verifizierungszeitpunkt zurückzurufen.

JWT-ClaimBedeutung
issAussteller — Execlave-API-Ursprung
audZielgruppe — beabsichtigter Gültigkeitsbereich der vertrauenden Partei
subBetreff — Agenten-ID (agt_…)
orgOrganisations-ID, unter der die Anmeldeinformation ausgestellt wurde
kidSchlüssel-ID — identifiziert, welcher JWKS-Schlüssel zur Verifizierung verwendet wird
jtiEindeutige Token-ID — wird für die Widerrufsuche verwendet
iatAusstellungszeitstempel (Unix-Sekunden)
expAblaufzeitstempel (Unix-Sekunden, ~15 min ab iat)
§ 02

Der öffentliche JWKS-Endpunkt & Offline-Verifizierung

GET /.well-known/jwks.json gibt die öffentlichen RSA-Schlüssel zurück, die Execlave zum Signieren von Agenten-Anmeldeinformationen verwendet. Der Endpunkt erfordert keine Authentifizierung und kann sicher von jedem Verifizierer aufgerufen werden — einschließlich Diensten ohne Execlave-API-Schlüssel.

Ein Verifizierer ruft die JWKS einmal ab (und speichert sie gemäß den Standard-JWKS-Rotationskonventionen im Cache), wählt den Schlüssel aus, der zur kid im JWT-Header passt, und verifiziert die RS256-Signatur lokal. Für die Signaturverifizierung ist kein Rückruf an Execlave erforderlich — nur für Widerrufsprüfungen, die den Credential-Verify-Pfad erfordern.

# Fetch the public JWKS — no auth required, safe to call from any verifiercurl https://api.execlave.com/.well-known/jwks.json # Response{  "keys": [    {      "kty": "RSA",      "use": "sig",      "alg": "RS256",      "kid": "key_01j...",      "n": "0vx7agoebGcQSuuPiLJXZptN9...",      "e": "AQAB"    }  ]}
§ 03

Anmeldeinformationen ausstellen & widerrufen

Stellen Sie eine Anmeldeinformation mit POST /api/v1/agents/:id/credential aus. Erfordert die Rolle Developer oder Admin. Die Antwort enthält das signierte JWT, sein Ablaufdatum sowie jti und kid für Ihre Unterlagen. Verwenden Sie POST /api/v1/agents/:id/credential/revoke, um eine Anmeldeinformation sofort anhand ihrer jti zu invalidieren.
# Issue a short-lived RS256 credential for an agent (Developer or Admin role)curl -X POST https://api.execlave.com/api/v1/agents/agt_01j.../credential \  -H "Authorization: Bearer $EXECLAVE_API_KEY" # Response{  "data": {    "token": "exe_agt_eyJhbGciOiJSUzI1NiIsImtpZCI6ImtleV8wMWoifQ...",    "expiresAt": "2026-06-02T10:29:00Z",    "jti": "cred_01j...",    "kid": "key_01j..."  }}
# Revoke a credential — effective immediatelycurl -X POST https://api.execlave.com/api/v1/agents/agt_01j.../credential/revoke \  -H "Authorization: Bearer $EXECLAVE_API_KEY"
§ 04

Widerruf & Ablauf-Semantik

Die Verifizierung prüft zwei Bedingungen in dieser Reihenfolge: Ablauf (exp-Claim vs. aktuelle Zeit) und Widerruf (jti-Suche in der agent_credentials-Tabelle). Ein Token schlägt bei der Verifizierung fehl, wenn eine der Bedingungen nicht erfüllt ist — ein abgelaufener Token kann durch Widerruf nicht wieder gültig gemacht werden, und ein widerrufener Token kann nicht reaktiviert werden.

Der Widerruf tritt sofort ohne Cache-TTL in Kraft. Der revoked_at-Zeitstempel wird im Anmeldeinformationsdatensatz gesetzt, und alle nachfolgenden Verifizierungsaufrufe lehnen den Token ab. Dies macht kurzlebige Anmeldeinformationen kombiniert mit bedarfsgerechtem Widerruf zum empfohlenen Muster für hochsensible Agenten.

Anmeldeinformationsstatusexp in der Zukunftrevoked_at gesetztVerifizierungsergebnis
GültigjaneinBestanden
AbgelaufenneinneinFehlgeschlagen — abgelaufen
WiderrufenjajaFehlgeschlagen — widerrufen
Abgelaufen + widerrufenneinjaFehlgeschlagen — abgelaufen
§ 05

Identität auf Traces stempeln

Über die bedarfsgesteuerte Ausstellung und JWKS-Verifizierung hinaus kann Execlave eine verifizierte Identität an jeden Ausführungs-Trace binden. Wenn ein Agent seine Anmeldeinformation bei der Trace-Aufnahme vorlegt, verifiziert die Plattform die Signatur, bestätigt, dass die Anmeldeinformation nicht widerrufen oder abgelaufen ist, und prüft, ob die Organisation und der Betreff der Anmeldeinformation mit der aufnehmenden Organisation und dem zugeordneten Agenten übereinstimmen. Das Ergebnis wird im Trace als agent_identity-Feld aufgezeichnet: { agentId, jti, kid, verified }.

Die SDKs hängen die Anmeldeinformation automatisch an, wenn Sie sich dafür entscheiden — setzen Sie stampIdentity: true (TypeScript) oder stamp_identity=True (Python) in der Client-Konfiguration. Das SDK stellt eine kurzlebige Anmeldeinformation pro Agent aus, speichert sie im Cache und hängt sie beim Leeren an jeden Trace an.

Das Stempeln ist additiv und nicht brechend: Ein Trace, der ohne Anmeldeinformation gesendet wird, wird wie zuvor ungestempelt akzeptiert. Eine vorgelegte, aber ungültige Anmeldeinformation blockiert die Aufnahme nie — sie wird mit verified: false und einem Grund aufgezeichnet, sodass eine gefälschte oder veraltete Anmeldeinformation als Auditsignal anstatt als silent-Drop des Trace erscheint. Anmeldeinformationen, die für eine andere Organisation oder einen anderen Agenten ausgestellt wurden, werden als nicht verifiziert behandelt und niemals vertraut.

Verwandt: Agenten-Anmeldeinformationen ergänzen den Agenten-Pass (Verhaltensidentität über die Zeit) und die Laufzeit-Leitplanken (A2A-Authentifizierungsdurchsetzung zur Laufzeit).

§ 06

Häufige Fragen

Warum RS256 statt eines gemeinsamen Geheimnisses?
RS256 verwendet asymmetrische Kryptographie: Execlave signiert mit einem privaten Schlüssel, der den Server nie verlässt, und jede vertrauende Partei verifiziert mit dem entsprechenden öffentlichen Schlüssel, der vom JWKS-Endpunkt abgerufen wird. Ein gemeinsames Geheimnis (HMAC) würde erfordern, das Geheimnis an jeden Verifizierer zu verteilen, was eine Ausbreitung von Anmeldeinformationen erzeugt, die an jedem Verifizierungspunkt kompromittiert werden können. Bei RS256 ist die Veröffentlichung des öffentlichen Schlüssels sicher — er kann nicht zum Fälschen von Token verwendet werden.
Was passiert, wenn ich eine Anmeldeinformation widerrufe?
POST /api/v1/agents/:id/credential/revoke setzt revoked_at im Anmeldeinformationsdatensatz. Nachfolgende Verifizierungsprüfungen fragen den Datensatz ab und lehnen jeden Token ab, dessen jti mit einem widerrufenen Datensatz übereinstimmt, auch wenn die JWT-Signatur und das Ablaufdatum sonst gültig sind. Der Widerruf tritt sofort in Kraft — es gibt keine Karenzzeit oder Cache-TTL.
Kann ein Agent mehrere aktive Anmeldeinformationen haben?
Der Endpunkt zur Ausstellung von Anmeldeinformationen stellt bei jedem Aufruf eine neue Anmeldeinformation mit einer eindeutigen jti und kid aus. Mehrere Anmeldeinformationen können gleichzeitig aktiv sein (nützlich für rollierende Rotation ohne Ausfallzeiten). Jede kann unabhängig widerrufen werden. Anmeldeinformationsdatensätze verfolgen jti, kid, issued_at, expires_at und revoked_at, sodass Sie ein vollständiges Inventar haben.
Können Anmeldeinformationen automatisch auf Ausführungs-Traces gestempelt werden?
Ja. Wenn ein Agent seine Anmeldeinformation bei der Trace-Aufnahme vorlegt, verifiziert Execlave sie und zeichnet das Ergebnis im Trace als agent_identity-Feld auf ({ agentId, jti, kid, verified }). Die TypeScript- und Python-SDKs tun dies automatisch, wenn Sie stampIdentity / stamp_identity in der Client-Konfiguration setzen. Das Stempeln ist additiv und nicht brechend: Eine fehlende Anmeldeinformation lässt den Trace ungestempelt, und eine vorgelegte, aber ungültige Anmeldeinformation wird mit verified:false und einem Grund aufgezeichnet, anstatt die Aufnahme zu blockieren. Anmeldeinformationen aus einer anderen Organisation oder mit falschem Betreff werden niemals vertraut.
Agentenidentität — Execlave Docs