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

Isolated tracks may need stats API to hide some data #39

Open
alvestrand opened this issue Oct 6, 2022 · 2 comments
Open

Isolated tracks may need stats API to hide some data #39

alvestrand opened this issue Oct 6, 2022 · 2 comments

Comments

@alvestrand
Copy link
Contributor

From w3c/webrtc-stats#699 and w3c/webrtc-stats#550, the following concern was raised:

Prior work (e.g. http://www.cs.unc.edu/~fabian/papers/foniks-oak11.pdf) has shown that you can recreate the plain text content of an encrypted, dTLS encoded audio conversation, based on patterns in packet size, frequency, etc. The fine level network information exposed by this API seems to be sufficient to re-carry out this attack. If this is needed for analysis / quality control / etc use, the API should limit it to these special cases (additional permission, for example).

This is largely irrelevant for unprotected MediaStreamTracks, where the JS already has access to the plain text content, but may be relevant for isolated streams - stats concerning those may need to be hidden.

@steely-glint
Copy link

Best practice in native messenger apps seems to be to allow or default to constant bitrate mode in Opus to protect against these attacks. I think this is a more general solution to the bigger problem than just gating the stats.

@alvestrand
Copy link
Contributor Author

that is indeed a protection that guards against network snoops, and would also guard against byte-counters using stats.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants