Markdown Version | Session Recording

Session Date/Time: 22 May 2024 14:30

WIMSE

Summary

This was the first WIMSE interim meeting, primarily focused on updates from the two active design teams: the Service-to-Service Token Design Team and the Token Exchange Design Team. Both teams presented their progress, discussing initial design goals, proposed approaches, identified use cases, and open technical issues. The chairs encouraged continued work, the production of initial drafts, and clear recommendations for the upcoming IETF 120 meeting.

Key Discussion Points

Working Group Status and Announcements

Service-to-Service Token Design Team Update

The design team outlined its goals, assumptions, proposed approaches, and open issues for service-to-service authentication.

Design Goals:

Assumptions and Design Choices:

General Approaches for Binding/Proof Mechanism: The team identified a common service identity token (a JOT with iss and cnf claims) that would then be presented using one of two binding mechanisms:

  1. DePPish Approach:

    • Based on the DePOP RFC, sending a signed JOT.
    • The JOT includes an iss claim (e.g., whimy/trust-domain/workload-id) and a cnf claim for verifying the token against a key ID.
    • Functions as a bearer token that can be attached to a transaction (e.g., using transaction tokens).
    • Currently focuses on one-shot authentication, without DePOP's nonce exchange for challenge-response.
  2. HTTP Message Signatures Approach:

    • Based on HTTP Message Signatures standard.
    • Allows signing selected fields of the HTTP request, binding the signature to that specific request.
    • This approach helps prevent replay or tampering by middleboxes (e.g., load balancers) with access to unencrypted data.

Open Issues:

Discussion:

Token Exchange Design Team Update

The team presented its framework for understanding token exchange, focusing on use cases and initial security considerations.

Token Exchange Use Cases (8 identified atomic technical use cases): The team aims to distill hundreds of application scenarios into these core technical use cases, allowing combinations to cover real-life applications and reason about security.

  1. Format Change: Exchange a token in one format for a token in another format (e.g., JOT to X.509 certificate, or domain-specific tokens).
  2. Content Encoding Change: Alter encoding within the same token format.
  3. Cryptographic Transformation: Change cryptographic schemes, ciphers, digital signatures, or encryption techniques (e.g., for post-quantum crypto requirements).
  4. Embedding: Embed one token within another (e.g., for identity chaining).
  5. Context Change: Add, remove, or modify context (e.g., claims) within a token.
  6. Validity Constraints Change: Modify time constraints (e.g., long-lived to short-lived for replay protection) or audience.
  7. Subject Change: Change or add subjects within the token, supporting cross-domain communication by hiding internal topology details.
  8. Adding Sender Constraint: Incorporate an additional sender constraint into a token.

Security Considerations (work in progress):

Discussion:

Decisions and Action Items

Next Steps