Commit graph

66 commits

Author SHA1 Message Date
Richard van der Hoff 2276e9de75 Factor out common key representation
Having this twice causes confusion about whether they are actually the
same. They are.
2024-05-08 17:28:34 +01:00
Sumner Evans 9a1f0ad532
sas: clarify ECDH process in step 12 (#1720)
Co-authored-by: Denis Kasak <dkasak@termina.org.uk>
2024-02-26 16:26:34 +00:00
Sumner Evans 6096a28984
sas: clarify HKDF calculation uses base64-encoded keys (#1719) 2024-02-26 16:24:52 +00:00
Hubert Chathi 170626da67
clarify otk and fallback key types in examples (#1715)
* clarify otk and fallback key types in examples

- remove unsigned curve25519 keys from examples because we don't use those for
  otks and fallback keys
- add missing `device_unused_fallback_key_types` property, which is required

* add changelog
2024-02-08 15:54:52 -05:00
Sumner Evans 9a5cacda90
Clarify that the key backup MAC is implemented incorrectly (#1712)
* Clarify that the key backup MAC is implemented incorrectly

Due to a bug in libolm, all implementations of the
m.megolm_backup.v1.curve25519-aes-sha2 key backup algorithm incorrectly
pass an empty string through HMAC-SHA-256 to generate the `mac` property
of the `session_data`.

It was intended for the entire raw encrypted data to be passed through
HMAC-SHA-256, but the issue was caught too late in the process, and thus
we are stuck with this until a new key backup algorithm is introduced.

This commit clarifies the real-world behavior of all current
implementations.

Signed-off-by: Sumner Evans <sumner@beeper.com>
2024-01-16 14:11:44 -05:00
Hubert Chathi 62c377e19c
fallback keys should have a "fallback: true" property (#1676)
* fallback keys should have a "fallback: true" property

* add changelog
2023-11-29 09:56:57 -07:00
Michael Telatynski 3ae6bb47d8
Update end_to_end_encryption.md (#1596) 2023-07-12 08:52:30 +01:00
Hubert Chathi 67c9f814e0
fix description of MAC calculation (#1590) 2023-07-04 18:54:55 -04:00
Richard van der Hoff 42114406af
Update link to SAS emoji data (#1593) 2023-06-29 18:54:47 +01:00
Midnight Veil b79fa06cfb
Fix headers with custom IDs via the correct syntax (#1578)
Was previously using <a name="..."> elements which just
add another anchor rather than changing the existing one.
They also use a deprecated HTML attribute and in some cases
broke the header display.

Fixes #1572.

Signed-off-by: Midnight Veil <midnightveil@fea.st>
2023-06-21 14:51:50 +01:00
Hubert Chathi ad94985754
Define hkdf-hmac-sha256.v2 MAC method for SAS verification (#1412)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-02-09 23:58:16 -05:00
Hubert Chathi eb2456c7d4
Improve documentation around one-time keys and key types (#1381) 2022-12-24 22:03:44 -05:00
Hubert Chathi 684ead8ab6
Merge pull request #1294 from uhoreg/rhul_clarifications
add some e2ee clarifications
2022-11-17 09:21:51 -05:00
Hubert Chathi 64922771d4
Clarify that verifications without a request only happens over to-device (#1345) 2022-11-17 07:27:40 +00:00
Hubert Chathi 0f0caf582d more clarifications 2022-11-16 11:14:34 -05:00
Hubert Chathi 9fafadf311
Upgraded refusal to verify to a MUST
Co-authored-by: Denis Kasak <dkasak@termina.org.uk>
2022-11-16 09:00:35 -05:00
Hubert Chathi 19e29e36af more clarifications 2022-11-15 19:17:49 -05:00
Hubert Chathi d0cbd4c8dd
Apply suggestions from code review
Co-authored-by: Denis Kasak <dkasak@termina.org.uk>
2022-11-15 18:17:20 -05:00
Richard van der Hoff 9e8360560b Uniquify some links
The link checker doesn't understand that we dynamically re-assign element IDs
at load time, so was failing for a few links that were technically valid
(though presumably still broken for any client not using JS).

Work around this by manually setting a few anchors, linking to other nearby
bits of text, or just changing heading titles.
2022-11-08 19:00:38 +00:00
Richard van der Hoff b07fe504ed
Stop rendering CS modules and room version fragments as standalone pages (#1317)
This is actually doing two things:

 * creating `{fragments,modules}/index.md` turns the fragments and modules into
   page resources, rather than pages in their own right. We have to update the
   shortcodes to match.

 * adding `headless: true` means that we don't render the pages.

The net effect is that we don't render pages like
https://spec.matrix.org/v1.4/rooms/fragments/v1-auth-rules/ and
https://spec.matrix.org/v1.4/client-server-api/modules/account_data/.
2022-11-08 17:27:44 +00:00
Hubert Chathi 830f80f56a
Merge pull request #1271 from uhoreg/add_verification_request_msgtype
add in-room m.key.verification.request msgtype
2022-11-02 10:16:42 -04:00
Hubert Chathi 82d2dd4ab0
Merge pull request #1283 from uhoreg/fix_event_subtype
improve display of event subtypes
2022-11-02 10:15:56 -04:00
Hubert Chathi 2395dd87c0 more clarifications, and move event definitions to yaml 2022-11-01 17:49:45 -04:00
Hubert Chathi fbbf3b81c5 add some e2ee clarifications 2022-10-18 18:02:27 -04:00
Hubert Chathi f76ff36545 add links 2022-10-12 16:32:00 -04:00
Hubert Chathi 76bf60a12f set the title of m.key.verification.request in-room event 2022-10-12 16:08:38 -04:00
Hubert Chathi 99cd692ed0 improve display of event subtypes 2022-10-12 15:49:21 -04:00
Hubert Chathi c0d54ab4d9
Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-10-12 09:52:04 -04:00
Hubert Chathi 191450ea73 add in-room m.key.verification.request msgtype 2022-10-04 17:49:36 -04:00
Erik Johnston dc0882012b Fix naming of device_one_time_keys_count in /sync
Fixes #671
2022-10-04 16:00:27 +01:00
Richard van der Hoff ea42cd3c7b
Move various e2e defintions out to yaml files (#1166)
We have code to generate tables, which we should use in the e2e section.
2022-07-19 22:02:48 +01:00
David Florness adaef611dc
Fix typo (#1161)
Signed-off-by: David Florness <david@florness.com>
2022-07-12 17:39:37 +01:00
Travis Ralston 926c6bad61
Deprecate the sender_key and device_id on Megolm events (#1101)
* Deprecate the `sender_key` and `device_id` on Megolm events

MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3700 ([Markdown](https://github.com/matrix-org/matrix-spec-proposals/blob/main/proposals/3700-deprecate-sender-key.md))

The language around `m.room.encrypted` is a bit awkward because *technically* you can use the event to represent non-Megolm events, however that's considered an edge case at this time.

* changelog

* Apply wording changes

* Remove incorrect example

* Add missing sentence
2022-06-09 02:24:41 -06:00
Jonas Platte 71601a5ff5 Fix broken link in end_to_end_encryption.md (#3708) 2022-05-09 01:28:17 -06:00
Aaron Raimist 990dfec94b
Update several spots where C-S API was still using r0 APIs (#3671)
* Update several spots where C-S API was still using r0 APIs

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* Add changelog

Signed-off-by: Aaron Raimist <aaron@raim.ist>
2022-01-31 17:19:56 +00:00
Hubert Chathi 6fb684397a
Clarify how to interpret missing one time key counts (#3636) 2022-01-11 15:30:46 -05:00
Travis Ralston 224773dc6a
Specify fallback keys (#3615)
* Specify fallback keys

MSC: https://github.com/matrix-org/matrix-doc/pull/2732

* changelog

* Appease spell check

* Fine, let's appease the spellcheck this way

* Apply suggestions from code review

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>

* Fix intro

* word wrap

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>
2022-01-04 20:35:21 -07:00
Travis Ralston 00169abcdb
Specify module order manually to work around hugo issues (#3612) 2022-01-04 20:29:10 -07:00
Hubert Chathi 71988263f3
clarify which signature to check (#3573) 2021-12-17 08:45:19 -05:00
Travis Ralston 5be0df02c5
Start annotating which version of the spec added a thing (#3425)
* Introduce a new "added-in" template and use it on endpoints

* Use "added-in" on schema properties too

* Annotate sections of the spec with their added versions

* Demo of "added-in" on a room version (to be fleshed out)

* Use clearer versioning semantics

* Update and fix validator for Swagger custom properties

* Fix docs
2021-10-14 13:23:04 -06:00
Travis Ralston 95d850c418
Update client-server API endpoints to move from r0 to v3 (plus whitespace fixes) (#3421)
* Blind find & replace all on client major version -> v3

* Fix up bad replacements

* Fix anchors for r0->v3

* Changelog
2021-10-12 11:07:01 -06:00
Travis Ralston b7e6104713
Remove extraneous mimetype from EncryptedFile examples, per MSC2582 (#3412)
* Remove extraneous mimetype from EncryptedFile examples, per MSC2582

MSC: https://github.com/matrix-org/matrix-doc/pull/2582

* changelog
2021-09-27 10:05:15 -06:00
Hubert Chathi f9c9fce1ad Deprecate verifications that don't begin with a request. 2021-08-27 19:17:14 +01:00
Hubert Chathi ec9ea2b6e3 Merge pull request #3149 from uhoreg/qr_codes_spec
Add spec for verification by QR codes.
2021-08-27 19:17:12 +01:00
Hubert Chathi 3084f3d32f Merge pull request #3150 from uhoreg/verification_fixes
Make SAS outline fit with key verification in DM flow.
2021-08-27 19:17:12 +01:00
Hubert Chathi 1a1f01234d Apply suggestions from code review
Co-authored-by: Travis Ralston <travpc@gmail.com>
2021-08-27 19:17:11 +01:00
Hubert Chathi 7a960375cc Update content/client-server-api/modules/end_to_end_encryption.md
Co-authored-by: Travis Ralston <travpc@gmail.com>
2021-08-27 19:17:11 +01:00
Hubert Chathi bb06dbdb2a Add information about using SSSS for cross-signing and key backup. 2021-08-27 19:17:11 +01:00
Hubert Chathi f9dce3dfed Add spec for verification by QR codes. 2021-08-27 19:17:11 +01:00
Hubert Chathi fd5da297d8 Make SAS outline fit with key verification in DM flow. 2021-08-27 19:17:11 +01:00