It's time to talk about @zoom_us security over @zoom_us at #enigma2021 by Merry Ember Mou with the talk "BUILDING E2EE AND USER IDENTITY"

usenix.org/conference/eni…
Zoom's launched end-to-end encryption 5 months after the white paper was published
* prevents eavesdroppers between users who are speaking to each other
* protection against compromised servers
[ here's the E2EE whitepaper from Zoom]

github.com/zoom/zoom-e2e-…
What's a Zoom meeting like?
* streamed through servers
* people can join and leave (subject to controls)
* meetings are encrypted by a key (server doesn't decrypt generally but needs the key for things like people who join by phone and to let new people join)
But E2EE requires that the server can't get in (or anyone else not in the meeting)
* so a client needs to make the meeting key and distribute it to other meeting participants
* putting it into an existing system, so don't want to degrade performance or introduce complexity/bugs
E2EE design: meeting leader makes the key, distributes it (encrypted under each user's public key) and some meeting-specific context

[ not going to try to type the crypto see the whitepaper 😁 ]
When someone leaves the meeting, the meeting leader rotates the key

Also need to know who's in the meeting -- the leader makes and signs the list
Notice that people can set their display name to whatever they want -- we'll revisit this later

If a leader drops out or changes, everyone's shown a leader change notification and the new leader rotates the key
There's a security code everyone can check to make sure there are no MITMs
Now let's talk about performance realities which shaped design
* video sent over UDP
* security messages sent over TCP and must be performant
* have to work on low-end phones
* joining a meeting must be easy
* participants must get meeting keys
Have to throttle re-keying if a zillion people are joining/leaving -- if you don't then you can DoS everyone with re-keys at the beginning/ends of large meetings
(but will always happen within 15 seconds)
Participants need to see new meeting participants, etc. but if you send a zillion notifications people can get alert fatigue and had to balance for that
Deploying E2EE
* There's a small interface for the client E2EE code
* Clients post public keys to keyservers (later phases may include more identity information)
* Require clients to update versions to use E2EE, but try to avoid backwards incompatibility
How do you know who you're in a meeting with? Are they sus?
* can check code.. but you might not know everyone
* camera and mic may be off
... and people can name themselves whatever they want
How do we prove that a key is associated with an identity and prove it?
* later phases have multi-device identity
* if you're part of an "account" (e.g. company, school), then the account can prove you're part of it
* attestations in a signchain which goes in a transparency tree
Because there's a sigchain/transparency tree, we can audit it and see if the server has engaged in any nefarious behaviour (e.g. erasing devices, adding new devices)

Somewhat similar to keybase.io tree, but not the same. Zoom identities may not be public, etc.
Sharing sigchains
* participants in a meeting can share their sigchains with each other to prove what their identities are
* display identities appropriately
Also can use an identity provider (IdP) to vouch for an identity -- because most people trust their IdP

[for IdP think your login service e.g. @okta ]
Takeaways:
* E2EE security depends on knowing who's at the ends
* Building E2EE into an existing implementation requires a lot of balancing
* "is it secure?" is never a yes/no question -- depends on assumptions, usability, systems, etc. [YES!]

[end of talk -- read the paper]

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Lea Kissner

Lea Kissner Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @LeaKissner

3 Feb
Last talk of #enigma2021 by Marcus Botacin: "DOES YOUR THREAT MODEL CONSIDER COUNTRY AND CULTURE? A CASE STUDY OF BRAZILIAN INTERNET BANKING SECURITY TO SHOW THAT IT SHOULD!"

usenix.org/conference/eni…
The outcomes I get from my analysis of malware I find in Brazil were quite different than what I saw in analysis of malware from other researchers. Why? Because the malware attacks were different!
The Brazilian banking system:
* let's move banking to computers (80s)to keep up with hyperinflation
* desktop clients for users... and the attackers migrated from physical to fake desktop app attacks -- that would only work in Brazil because that's where the banking was ImageImage
Read 18 tweets
3 Feb
@gianluca_string is up at #enigma2021 speaking about "COMPUTATIONAL METHODS TO UNDERSTAND AND MITIGATE ONLINE AGGRESSION"

[Make sure to catch the talks when they're posted -- my hands can't keep up with these speakers and the talks are 🔥]

usenix.org/conference/eni…
Content note: this talk is about online abuse as some of the content may be upsetting
Got pulled into this after a screenshot of a class assignment sending folks to post on 4chan to post about race/gender/etc issues got posted on 4chan without the email address... so the 4chan folks thought it was @gianluca_string. It wasn't, but they doxxed and harassed anyway
Read 15 tweets
3 Feb
Kicking off the last session of #enigma2021, @katestarbird is speaking about an extremely pressing topic: "ONLINE RUMORS, MISINFORMATION AND DISINFORMATION: THE PERFECT STORM OF COVID-19 AND ELECTION2020"

usenix.org/conference/eni…
So much mis/dis-information in the last few months about covid: rumours about lockdowns, home remedies... and then conspiracy theories
This ... thing was taken viral by media and social media and spread so much mis/dis-information.
Read 24 tweets
3 Feb
"THE LIMITS OF SANDBOXING AND NEXT STEPS" from Chris Palmer at #enigma2021

usenix.org/conference/eni…
This talk is going to go through the experience pushing the boundaries on sandboxing in the Chrome browser

What is sandboxing?
* breaking something into lower/higher privileged process
* necessary for browers, OSes, VMs etc.
Chromium uses to reduce the amount of privilege of the application: also to reduce the amount of privilege for code that touches websites (renderer)
* split different websites into different processes
* good defense against logic bugs (e.g. same-origin policy)
Read 18 tweets
3 Feb
Next up at #enigma2021, Alex Gaynor from @LazyFishBarrel (satirical security company) will be talking about "QUANTIFYING MEMORY UNSAFETY AND REACTIONS TO IT"

usenix.org/conference/eni…
Look for places where there are a lot of security issues being handled one-off rather than fixing the underlying issue
We tried to fix credential phishing mostly by telling people to be smarter, rather than fixing the root cause: people being able to use phished credential.

2-factor auth just ... fixes the problem.
Read 15 tweets
3 Feb
@carmelatroncoso is speaking about "CONTACT TRACING APPS: ENGINEERING PRIVACY IN QUICKSAND" at #enigma2021

usenix.org/conference/eni…
Engineering contact-tracing apps has been a marathon

Why make them?
* manual contact-tracing became totally overwhelmed with covid cases
* can we supplement with technology?
Constraints: security and privacy
* protect from misuse: surveillance, target marginalized individuals, etc.
* purpose limitation by default
* hide user's identity, location, behaviour
* preserve system integrity
Read 18 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!