Implementation of an End-to-End Encryption Mechanism in WebRTC Video Streaming

This Master’s thesis presents a complete design and implementation of an end-to-end encryption (E2EE) mechanism for WebRTC video streaming. Although WebRTC supports built-in encryption using DTLS-SRTP, it does not guarantee true end-to-end protection, as intermediate servers like TURN or SFUs may still access the media. To address this, the project introduces an additional encryption layer directly between peers using the WebRTC Insertable Streams API. It uses secure symmetric encryption (AES-GCM and ChaCha20-Poly1305), and applies Elliptic-Curve Diffie-Hellman (ECDH) key exchange to establish session keys. A custom signaling server was built using Node.js and Socket.IO to handle peer negotiation and key exchange. The prototype was evaluated for latency, CPU usage, and video quality, and tested against typical attacks such as MITM and replay attacks. This work demonstrates the feasibility of implementing customizable E2EE within WebRTC without sacrificing usability, and provides a solid foundation for further research into secure peer-to-peer real-time communication.

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2025-06-01
DOI
https://doi.org/10.5281/zenodo.17194786
Primary Topic
Geochemistry and Geologic Mapping
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Implementation of an End-to-End Encryption Mechanism in WebRTC Video Streaming

Zenodo (CERN European Organization for Nuclear Research)
Geochemistry and Geologic Mapping
article

Implementation of an End-to-End Encryption Mechanism in WebRTC Video Streaming

article en

Abstract

This Master’s thesis presents a complete design and implementation of an end-to-end encryption (E2EE) mechanism for WebRTC video streaming. Although WebRTC supports built-in encryption using DTLS-SRTP, it does not guarantee true end-to-end protection, as intermediate servers like TURN or SFUs may still access the media. To address this, the project introduces an additional encryption layer directly between peers using the WebRTC Insertable Streams API. It uses secure symmetric encryption (AES-GCM and ChaCha20-Poly1305), and applies Elliptic-Curve Diffie-Hellman (ECDH) key exchange to establish session keys. A custom signaling server was built using Node.js and Socket.IO to handle peer negotiation and key exchange. The prototype was evaluated for latency, CPU usage, and video quality, and tested against typical attacks such as MITM and replay attacks. This work demonstrates the feasibility of implementing customizable E2EE within WebRTC without sacrificing usability, and provides a solid foundation for further research into secure peer-to-peer real-time communication.

Zenodo (CERN European Organization for Nuclear Research)
Badji Mokhtar-Annaba University (DZ), Bakhtar University (AF)
Openalex Percentile: Top 28%
Geochemistry and Geologic Mapping
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Implementation of an End-to-End Encryption Mechanism in WebRTC Video Streaming · Zenodo (CERN European Organization for Nuclear Research) (2025) | TGRS Research Map | TGRS