tmoldovan8x8
afc006e99a
feat(e2ee) add ExternallyManagedKeyHandler
3 years ago
Saúl Ibarra Corretgé
61c977f70a
feat(e2ee) add support for WebRTC Encoded Transform
An alternative to Insertable Streams, currently implemented in Safarii / WebKit.
https://w3c.github.io/webrtc-encoded-transform/
Fixes: https://github.com/jitsi/jitsi-meet/issues/9585
3 years ago
tmoldovan8x8
dd902dd33d
fix(e2ee): destroys olm session on disabling e2ee
4 years ago
Jaya Allamsetty
17f968fdea
fix(logger): Logging enhancements.
Get rid of noisy logs related to SDP transformations which are redundant. Fix formatting and add missing information.
4 years ago
tmoldovan8x8
49c4e75f37
bugfix(e2ee): frees olm session and rotates key when remote participant disabled e2ee
4 years ago
tmoldovan8x8
2b94da12e8
feat(e2ee): makes olm sessions initialisation lazy
4 years ago
Saúl Ibarra Corretgé
cacf6c7b56
feat(e2ee) update to SFrame draft -02
Drop end to end signature. The impersonation attack vector is deemed out of
scope since insiders are already part of the meeting.
4 years ago
Philipp Hancke
6784189600
(feat) e2ee: sign and verify frames (#1373)
Signs and verifies frames. For now this is done on every frame.
This is not the long-term goal and there needs to be a better strategy.
4 years ago
Saúl Ibarra Corretgé
b65b1784df
feat(e2ee) publish olm id key in presence
4 years ago
Philipp Hancke
12604d96ff
e2ee: refactor and clean up
in particular this allows sharing the ratcheting between the E2EEncryption
module and the Worker.
4 years ago
Saúl Ibarra Corretgé
25f08f97c3
e2ee: sync ratchetted key with olm layer
4 years ago
Saúl Ibarra Corretgé
159ea5357b
e2ee: remove no longer needed code
4 years ago
Philipp Hancke
4a6e493f41
e2ee: Ratchet the key forward on authentication tag errors
similar to what is explained here:
https://tools.ietf.org/html/draft-omara-sframe-00#section-4.3.5.1
but we do it on authentication tag failures since it is not possible
to tell whether decrypt.
4 years ago
Saúl Ibarra Corretgé
735c30ec4f
e2ee: introduce per-participant randomly generated keys
This the second stage in our E2EE journey.
Instead of using a single pre-shared passphrase for deriving the key used for
E2EE, we now establish a secure E2EE communication channel amongst peers.
This channel is implemented using libolm, using XMPP groupchat or JVB channels
as the transport.
Once the secure E2EE channel has been established each participant will generate
a random 32 byte key and exchange it over this channel.
Keys are rotated (well, just re-created at the moment) when a participant joins
or leaves.
4 years ago
Saúl Ibarra Corretgé
0e328c9b82
deps: eslint-config-jitsi@latest
4 years ago
paweldomas
ddb3ed92b5
ref(e2ee): extract E2EEncryption module
Moves the logics which deal with JitsiConference events to a separate module.
4 years ago