OAuth Token Exchange (RFC 8693)

OAuth Token Exchange nach RFC 8693 ist ein Verfahren, mit dem ein Dienst ein vorhandenes Token gegen ein neues tauscht, etwa um im Namen eines Nutzers oder als dessen Stellvertreter weiterzuarbeiten.

RFC 8693 wurde im Januar 2020 veröffentlicht. Ein Client legt dem Autorisierungsserver ein subject_token vor, das den Nutzer repräsentiert, und optional ein actor_token, das den handelnden Dienst repräsentiert. Der Server stellt ein neues Token aus, das je nach Fall Impersonation, also Handeln als der Nutzer, oder Delegation, also Handeln für den Nutzer, abbildet. Bei Delegation nennt die Angabe act den handelnden Akteur, und mehrere act-Angaben können verschachtelt eine Kette bilden.

Damit kommt das Verfahren den Anforderungen an KI-Agenten nahe: Ein Agent erhält ein eigenes Token für einen Teilauftrag, und im Token bleibt sichtbar, wer für wen handelt.

Beispiel

Ein Assistent erhält von einer Nutzerin Zugang zu ihrem Kalender und zu Buchungen. Für die Reisebuchung tauscht er sein Token gegen ein neues für einen Spezialagenten, mit act-Angabe für den Assistenten und begrenztem Zweck. Der Buchungsdienst sieht, dass der Spezialagent im Auftrag der Nutzerin über den Assistenten handelt.

Abgrenzung

Impersonation verwischt, wer handelt; Delegation hält es fest. Eine Delegationskette in KYA verfolgt dasselbe Ziel auf Ebene signierter Nachweise: Jede Stufe ist von der vorherigen signiert und darf die Befugnis nur einschränken.

In der Praxis

  • Verwenden Sie Delegation statt Impersonation, damit im Token sichtbar bleibt, welcher Agent handelt.
  • Begrenzen Sie das neue Token auf den Teilauftrag, etwa über Zielgruppe, Zweck und kurze Gültigkeit.
  • Halten Sie die Kette zusätzlich in signierten Nachweisen fest, wenn Dritte die Weitergabe später prüfen sollen.

Bezug zu KYA

KYA prüft Delegationsketten in Nachweisen, nicht in OAuth-Tokens. Die Prüfung entspricht aber dem Gedanken der act-Angabe: Jede Stufe muss an die nächste gebunden sein, und keine Stufe darf mehr erlauben als die vorherige.

Zugehöriger Prüfschritt: Delegationskette (delegation_provenance). Ist jede Stufe signiert, lückenlos verbunden und nicht breiter als die vorherige?

Jetzt prüfen: passendes Beispiel öffnen

Häufige Fragen

Was ist der Unterschied zwischen Impersonation und Delegation?

Bei Impersonation handelt der Dienst als der Nutzer, und das neue Token unterscheidet beide nicht. Bei Delegation bleibt erkennbar, dass ein anderer Akteur im Auftrag des Nutzers handelt, über die Angabe act.

Wozu dient die Angabe act?

Sie nennt den handelnden Akteur in einem delegierten Token. Verschachtelte act-Angaben bilden eine Kette, aus der hervorgeht, über welche Stationen ein Auftrag weitergegeben wurde.

Eignet sich Token Exchange für KI-Agenten?

Ja, für die Weitergabe von Zugängen zwischen Diensten und Agenten. Für einen unabhängig prüfbaren Nachweis der Befugnis braucht es zusätzlich signierte Mandate und Belege.

Prüft KYA OAuth-Tokens aus Token Exchange?

Nein. KYA prüft Delegationsketten in Nachweisen wie Mandaten. Die Logik ist vergleichbar: Bindung an die nächste Stufe und Einschränkung der Befugnis nach unten.

Quellen

  1. RFC 8693: OAuth 2.0 Token Exchange

Verwandte Begriffe