WebRTC (Web Real-Time Communication) ist eine Technologie, die es Webanwendungen und Websites ermöglicht, beliebige Daten zwischen Browsern auszutauschen, ohne dass ein Vermittler erforderlich ist. So ist die gemeinsame Nutzung von Daten und die Durchführung von Peer-to-Peer-Videokonferenzen möglich, ohne dass der Benutzer Plug-ins oder andere Software von Drittanbietern installieren muss. Wie das geht, erklären wir im folgenden Beitrag.
WebRTC
Definition, Funktion und alles Wichtige zur Anwendung
1. Was versteht man unter WebRTC?
1. Was versteht man unter WebRTC?
WebRTC ist die Abkürzung für Web Real-Time Communication. Wie der Name Web-Real-Time Communication verrät, wird diese Technologie bei der Web-Echtzeitkommunikation genutzt.
Die Verbindung erfolgt zwischen gleichgestellten Rechnern (Peer-to-Peer bzw. Rechner-Rechner-Verbindung). Durch WebRTC werden nicht nur Daten von Backend-Servern abgerufen, sondern auch Informationen aus den Browsern anderer Nutzer. WebRTC ermöglicht das Chatten, die Datenübertragung oder Videokonferenzen via Internetbrowser.
2. Wo wird WebRTC angewendet?
2. Wo wird WebRTC angewendet?
Die Echtzeitkommunikation via WebRTC erfolgt direkt im Browser. Websitebetreiber können einen Chat-Dienst direkt in ihre Webseite integrieren. Sie erhalten Nachrichten von Besuchern sofort und können ebenso flexibel reagieren. Web Real-Time Communication ist für Videokonferenzen und IP-Telefonie im Browser nutzbar. Nach der Installation spezifischer Anwendungen funktioniert die Voice-over-IP-Telefonie via Smartphone oder mit kompatiblen Festnetzgeräten.
WebRTC ist in folgenden Browsern standardmäßig aktiviert:
- Mozilla Firefox
- Google Chrome
- Opera
- Safari
3. Wie funktioniert WebRTC?
3. Wie funktioniert WebRTC?
Bei WebRTC handelt es sich um einen offenen Standard zum Zusammenschluss von Kommunikationsprotokollen sowie Programmierschnittstellen. Ein Kommunikationsprotokoll legt Vorgaben für die Übertragung von Daten zwischen Kommunikationspartnern fest. Die Programmierschnittstelle oder API (Application Programming Interface) wird von der Software zur Anknüpfung an das jeweilige System bereitgestellt. „Offener Standard“ bedeutet, dass alle Mitbewerber darauf Zugriff haben, diesen einsetzen und weiterentwickeln können. WebRTC ist beim World Wide Web Consortium (W3C) standardisiert.
Für die Verbindung zwischen zwei Clients via WebRTC ist folgendes notwendig:
- Webserver (mit/ohne Benutzerverwaltung)
Bei Clients im privaten IPv4-Bereich hinter NAPT-Routern:
- Öffentliche IP-Adresse
- Portnummer
4. Worauf basiert WebRTC?
4. Worauf basiert WebRTC?
HTML5 und JavaScript sind die Grundlage des WebRTC-Frameworks. Diese Programmiersprachen sind browserbasiert. Sie werden von Webbrowsern wie Mozilla Firefox, Google Chrome oder Safari wiedergegeben. Mehrere Rechner können so miteinander kommunizieren. Die User sind berechtigt, wechselseitige Datentransfers durchzuführen.
Die Übertragung bei der Echtzeitkommunikation via Browser erfolgt über das Secure Real-Time Transport Protocol (SRTP). Das „sichere Echtzeit-Transportprotokoll“ dient der audiovisuellen Datenübertragung in Echtzeit. Es kommt auch bei der IP-Telefonie zur Anwendung. Die verschlüsselte Verbindung wird durch das Verschlüsselungsprotokoll DTLS (Datagram Transport Layer Security) gewährleistet.
Die Erweiterung Jingle des offenen Standards XMPP (Extensible Messaging and Presence Protocol – Erweiterbares Nachrichten- und Anwesenheitsprotokoll) wird zur Vereinbarung von Peer-to-Peer Sitzungen (gleichgestellte Rechner-zu-Rechner-Verbindung) genutzt.
5. Datensicherheit bei WebRTC
5. Datensicherheit bei WebRTC
Auch bei der Übertragung von Daten über WebRTC ist es wichtig, auf den Datenschutz zu achten.
Aus diesem Grund haben wir Ihnen die wichtigsten Punkte zum Datenschutz bei WebRTC zusammengefasst:
5.1 Sicherheitsmaßnahmen bei WebRTC
Die Übertragung der Daten via WebRTC beim Chatten oder bei Telefonkonferenzen ist durch das SRTP-Protokoll (Secure Real-Time Transport Protocol) gewährleistet. Die Informationen werden über eine sichere Direktverbindung (Peer-to-Peer) zwischen den beiden Browsern ausgetauscht. Die Daten werden durch DTLS (Datagram Transport Layer Security) verschlüsselt.
Weil keine persönlichen Daten anzugeben sind und kein Nutzerkonto notwendig ist, funktioniert WebRTC anonym. Persönliche Daten können nicht weitergegeben werden. Dies unterscheidet die Web Real-Time Communication von Anwendungen wie Skype oder WhatsApp.
5.2 Sicherheitslücken bei WebRTC
Anwendungen, welche WebRTC nutzen, erfordern die Freigabe von Mikrofon, Kamera sowie gegebenenfalls der Bildschirmoberfläche. Dies hat sich als eine Sicherheitslücke herausgestellt.
Ist ein Computer oder ein mobiles Endgerät von einem Virus, Trojaner oder einer Malware befallen, kann sich dieser Zugriff auf die gesendeten und empfangenen Daten verschaffen. Es ist möglich, private IP-Adressen trotz einer Verbindung via VPN über JavaScript auszulesen. Diese Lücke wird als „IP-Leak“ (IP-Leck) bezeichnet.
5.3 Kann man sich vor einem IP-Leak bei WebRTC schützen?
Ob man von einem IP-Leak gefährdet ist, kann an online mithilfe eines WebRTC-Leak-Tests feststellen. Dieses Tool zeigt an, ob WebRTC im Browser aktiviert ist. Surft man über eine öffentliche IP-Adresse, identifiziert man sich im Web. Die Anonymität bei der Web-Echtzeitkommunikation ist nicht gegeben.
Lokale IP-Adressen werden regelmäßig neu verteilt. Sie bieten Anonymität und Sicherheit. Ein VPN-Server gibt nicht die Adresse des Users, sondern die des Servers an.
6. Wie deaktiviert man WebRTC im Browser?
6. Wie deaktiviert man WebRTC im Browser?
Um WebRTC im Browser zu deaktivieren, folgen Sie abhängig von Ihrem Browser der Wahl den folgenden Schritten.
WebRTC im Browser Mozilla Firefox deaktivieren:
- about:config in die Adresszeile eingeben
- Warnhinweis akzeptieren
- media.peerconnection.enabled in der Liste finden
- Parameter auf false ändern
WebRTC im Browser Safari deaktivieren:
- Menüpunkt Entwickler öffnen
- Experimentelle Features wählen
- Einstellung WebRTC API nicht erlauben
Um WebRTC im Browser Google Chrome zu deaktivieren, benötigt man ein Plugin, welches im Chrome Web Store zu finden ist. Beispiele sind WebRTC Control, WebRTC Leak Prevent oder WebRTC Leak Shield.