Skip to content

An "agent" mode for evcli #30

@thomas-fossati

Description

@thomas-fossati

The idea of standardising an "agent" interface that attesters can expose to their challengers has popped up in several discussion threads.

The problem has two orthogonal dimensions:

  1. Defining a suitable interface - meaning one that starts as simple as possible but that can evolve to accommodate different use cases and attester technologies;
  2. Allowing different authz/authn mechanisms to authorise the requester.

MVP

I suggest we start experimenting with an MVP that only tackles the functional part (1), and consists of a synchronous REST API with a single endpoint /chares1 as follows:

POST /chares HTTP/1.1
Host: attester.example
Content-Type: application/vnd.veraison.chares-params-v1+json
Accept: application/cmw+json, application/cmw+cbor

{
  "challenge": "base64encode"
}
HTTP/1.1 200 OK
Content-Type: application/cmw+json

{
  "type": "...",
  "value": "base64encode"
}

Note that using CMW to wrap evidence provides native support for composite devices using collections.

AuthN/AuthZ

There are several ways to tackle the authz/authn problem, e.g.: using HTTP authentication framework, OAuth2, mTLS, an API implementation must provide at least one method.

Footnotes

  1. Any similarity to actual persons, living or dead, is purely coincidental.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions