matrix-org / matrix-org/matrix-spec
device key validation needed
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
The e2e spec says:
'The Matrix protocol provides a basic mechanism for exchange of public keys, though an out-of-band channel is required to exchange fingerprints between users to build a web of trust.'
unfortunately though we don't have any mechanism for monitoring or building a web of trust at the moment; so the whole device key system provides nothing - it could all be subverted by a bad HS that decided to generate it's own device keys instead of passing on the keys from a real device.
Some thoughts:
a) A mechanism for HS to be able to provide device-keys to anyone who asked so that a device owner could poke other HSs to see if his device-keys are being correctly propagated.
b) Clients could upload device-IDs/public device keys to a decentralised list so people could monitor for bad keys.
c) A message type to sign a device key with another device key (i.e. 'you trust I own this device, I've just got another')
d) A message type to sign a device key with an external mechanism (e.g. sign a key with a gpg key).
e) A mechanism to allow to users to cross sign each others device keys when they physically meet (neat idea: NFC handshake somehow?)
Dave
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the e2e spec passage quoted in the issue and compare it with the listed device-key trust concerns. The issue is not ready for implementation until one concrete mechanism is selected and its expected protocol behavior and completion criteria are defined.
Written by the indexing model from the issue text.
Assessment
- Domain
- cryptography, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100