Skip to content

ID Migration #134

Description

@sandormajor

I'm thinking how to handle ID migration. E.g. you use the header Signature-Agent: x="https://bot.example/.well-known/..." but then the keys move for some reason to something.example/jwks.json. If you simply update the header to the new address then all the allowlists/denylists/reputation accrued on the web becomes invalid.

Some components of a solution could be

  • Returning a 302 redirect for a period of time when requesting the old json (related: 301 on a Signature-Agent #119)
  • Linking the old json from the new one so that verifiers know that it is a successor of the old one
  • Co-signing with both keys for a period of time

It becomes more tricky when the migration is not 1:1 but bots split or merge.

A related broader issue here is that the protocol could signify many things (e.g. I'm moving the bot's identity from a.com to b.com) but there is no way to test what the ecosystem does with the signal. During my experiments with WBA it was very hard to even know how websites react to these headers (is the new header going to break a bunch of sites? do they recognize the header? do they parse it correctly? did they adopt #71? if parsing fails, do they fall back to IP verification? do they treat IP and WBA the same way?)
This makes any type of migration very costly.
Maybe something like the web platform tests could help here, but things like "does the reputation carry over" will be very hard to test because providers might not want to share reputation signals back to the client.

Activity

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

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