Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

There is nothing stopping users from lying about their identity keys when publishing their e2e keys #2215

Closed
ara4n opened this issue Sep 15, 2016 · 6 comments
Labels
A-E2EE P1 S-Critical Prevents work, causes data loss and/or has no workaround T-Defect

Comments

@ara4n
Copy link
Member

ara4n commented Sep 15, 2016

We should include the identity key in the JSON plaintext of an olm message or something to prove that the identity key is actually associated to the person who owns the curve key used to encrypt an olm message

@richvdh
Copy link
Member

richvdh commented Sep 16, 2016

To expand somewhat on the threat:

  • Alice publishes her Ed25519 fingerprint key and Curve25519 identity key
  • Eve publishes her own Ed25519 fingerprint key, but Alice's Curve25519 identity key
  • Bob verifies Eve's device via the Ed25519 key, as normal.
  • Alice sends a message to Bob
  • Eve intercepts it before forwarding to Bob
  • Bob now believes the message came from Eve rather than Alice.

@ara4n
Copy link
Member Author

ara4n commented Sep 17, 2016

i believe this is fixed.

@ara4n ara4n closed this as completed Sep 17, 2016
@richvdh
Copy link
Member

richvdh commented Sep 17, 2016

I don't.

@richvdh richvdh reopened this Sep 17, 2016
@richvdh
Copy link
Member

richvdh commented Sep 19, 2016

To expand on my somewhat terse comment: matrix-org/matrix-js-sdk#206 laid some of the groundwork to fix this problem, but there is more to be done.

@richvdh
Copy link
Member

richvdh commented Sep 20, 2016

Corollary for megolm:

  • Alice publishes her Ed25519 fingerprint key and Curve25519 identity key
  • Eve publishes her own Ed25519 fingerprint key, but Alice's Curve25519 identity key
  • Alice starts a megolm session, and sends the ratchet key and Ed25519 key to Bob and Eve
  • Alice sends a message via the megolm session
  • Eve intercepts it before it reaches Bob, and forwards it
  • Bob now believes the message came from Eve rather than Alice.

The fix for megolm is to remember the Ed25519 key claimed by the key sharing message, and check that it matches that of the sender.

@richvdh
Copy link
Member

richvdh commented Sep 20, 2016

Fixed by matrix-org/matrix-js-sdk#215

@richvdh richvdh closed this as completed Sep 20, 2016
richvdh referenced this issue in matrix-org/matrix-spec-proposals Jun 14, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-E2EE P1 S-Critical Prevents work, causes data loss and/or has no workaround T-Defect
Projects
None yet
Development

No branches or pull requests

2 participants