Sicherheit für Ihre App, die die Vonage Video API nutzt

Befolgen Sie diese Best Practices für die Aufrechterhaltung der Sicherheit in Ihrer Anwendung.

Vonage ist sich bewusst, dass Sicherheit ein wesentlicher Aspekt für jedes Unternehmen ist, das Echtzeitkommunikation in seine Website, App oder seinen Dienst integrieren möchte. Die OpenTok-Plattform ist eine zuverlässige und sichere Plattform, auf deren Grundlage Sie Applications entwickeln können, die den Sicherheitsanforderungen Ihres Unternehmens, Ihrer Branche oder Ihrer Kunden gerecht werden.

Diese Seite enthält die folgenden Abschnitte:

FAQs zur Sicherheit

Wird der Sprach- und Videodatenverkehr in einer OpenTok-Sitzung über WebRTC verschlüsselt?

Ja, der gesamte Medienverkehr wird verschlüsselt, unabhängig davon, welchen Endpunkt Sie nutzen (Web oder Mobilgerät) oder welche Sitzungskonfiguration Sie wählen (P2P oder Multiparty). Das bedeutet, dass Sie bei der Nutzung der OpenTok-Lösung auf der sicheren Seite sind, selbst wenn Sie diese an einem offenen öffentlichen Hotspot nutzen.

Außerdem wird die Veröffentlichung in Webanwendungen nur auf HTTPS-Seiten unterstützt.

Basiert sie auf einer proprietären Lösung?

Nein, wir halten nichts von proprietären Lösungen, wenn es um Sicherheit geht. OpenTok basiert vollständig auf bewährten Standards, wurde von Branchenexperten entwickelt und wird seit Jahren in kommerziellen Produkten eingesetzt. Die Kernprotokolle, die für die Sicherheit von WebRTC OpenTok sorgen, sind SRTP zur Verschlüsselung des Medienverkehrs und DTLS-SRTP zur Schlüsselaushandlung, die beide von der IETF definiert wurden.

Welche Verschlüsselungsalgorithmen werden verwendet und wie stark sind die verwendeten Schlüssel?

OpenTok-Endpunkte, die mit WebRTC kompatibel sind, verwenden die AES-Verschlüsselung mit 128-Bit-Schlüsseln zur Verschlüsselung von Audio- und Videodaten sowie HMAC-SHA1 zur Verification der Datenintegrität.

Die AES-256-Verschlüsselung ist auf unterstützten Clients als Add-on-Feature.

Welche Schlüssel werden für die Verschlüsselung verwendet?

Die Endpunkte generieren zu Beginn der Sitzung Zufallsschlüssel, die sich zudem während des Gesprächs in regelmäßigen Abständen ändern, um die Sicherheit zu erhöhen.

Erfordert sie eine Interaktion mit dem Benutzer?

Nein, alles geschieht unter der Haube, ohne Interaktion mit dem Benutzer.

Sind dafür Änderungen an meinen OpenTok-basierten Applications erforderlich?

Nein, die OpenTok-API ändert sich nicht. Die OpenTok-API macht diese Details auf niedriger Ebene für Entwickler nicht zugänglich.

Hat dies Auswirkungen auf die Bandbreite und die Qualität der Videokonferenz?

Das ist zwar der Fall, aber nur in sehr geringem Maße. Die Länge jedes Audio- und Videopakets erhöht sich um 8 Byte, was jedoch weniger als 1 % der typischen Bitrate einer OpenTok-Sitzung ausmacht. Was die Verzögerung betrifft, so wurde das SRTP-Verschlüsselungsframework speziell für Echtzeit-Applications entwickelt, sodass die Auswirkungen überhaupt nicht spürbar sind.

Wirkt sich das auf den CPU- oder Akkuverbrauch aus?

Ja, aber die Kosten für die Kodierung und Dekodierung von Audio- und Videodaten sind wesentlich höher als die Kosten für die Ver- und Entschlüsselung.

Bewährte Sicherheitsverfahren

Ganz gleich, ob Sie neu auf der OpenTok-Plattform sind oder bereits über langjährige Erfahrung verfügen – hier finden Sie eine Reihe nützlicher Best Practices, die Sie bei der Entwicklung mit OpenTok anwenden können, um eine sichere Application zu erstellen.

Inhalte über HTTPS-URLs bereitstellen

In Webanwendungen wird die Veröffentlichung von Videos nur auf HTTPS-Seiten unterstützt.

Persönliche Informationen

Halten Sie den API-Schlüssel und das Geheimnis privat und sicher

Der API-Schlüssel und das Geheimnis werden verwendet, um Token zu erstellen, die Zugriff auf Sitzungen gewähren, Archiv-Metadaten abrufen und Archivspeicherzugangsdaten ändern sowie andere Verwaltungsvorgänge für Ihren Account durchführen.

Um zu vermeiden, dass Ihre Anmeldedaten kompromittiert werden, sollten Sie Ihr API-Geheimnis immer geheim halten. Einige wichtige Maßnahmen, die Sie ergreifen können:

  • Speichern Sie das API-Geheimnis niemals in öffentlichen Quellcode-Repositories.
  • Speichern Sie das API-Geheimnis niemals in clientseitigen Bibliotheken oder gar kompilierten mobilen SDKs.
  • Verwenden Sie ausschließlich HTTPS-URLs, um REST-Aufrufe an die OpenTok-Server zu senden.

Erzeugen einer eindeutigen Sitzungs-ID pro Anruf und eines Tokens pro Teilnehmer

Um einen Anruf zu initiieren, müssen Sie eine Sitzungs-ID erstellen. Die Token, die den Teilnehmern die Teilnahme ermöglichen, sind eindeutig einer Sitzungs-ID zugeordnet. Die Token haben eine Gültigkeitsdauer, die jedoch länger sein kann als die Dauer der Telefonkonferenz. Wenn Sie also aufeinanderfolgende Besprechungen mit derselben Sitzungs-ID durchführen, können frühere Nutzer möglicherweise immer noch an der neuen Besprechung teilnehmen.

Um dies zu vermeiden:

  • Erzeugen einer eindeutigen Sitzungs-ID für jede neue Besprechung
  • Erzeugen Sie ein eindeutiges Token für jeden Teilnehmer der Besprechung.

Beachten Sie, dass die folgenden Versionen der OpenTok-Server-SDKs zur Erhöhung der Sicherheit mit SHA-256 signierte Token generieren:

  • OpenTok Node SDK v2.20.0+
  • OpenTok Java SDK v4.15.0+
  • OpenTok Ruby SDK v4.11.0+
  • OpenTok PHP SDK v4.15.0+
  • OpenTok Python SDK v3.10.0+
  • OpenTok .NET SDK v3.15.2+

Siehe dieses Thema zur Erstellung von Sitzungen. Siehe dieses Thema wie man Token erzeugt.

Sicherstellen, dass der Server, der das Token erzeugt, hinter einem authentifizierten Endpunkt steht

Es ist wichtig, den Server, der das Token generiert, hinter einem authentifizierten Endpunkt zu platzieren, da jeder, der Zugriff auf diesen Server hat, neue Token generieren und die App missbrauchen könnte, um Nutzungsdaten zu generieren.

Verwenden Sie keine personenbezogenen Daten in den Token-Daten oder im Feld „Name“ des Herausgebers.

Die Token-Daten ist eine Zeichenfolge, die Metadaten enthält, welche die Verbindung im Server-SDK beschreiben, und der Publisher-Name wird beim Anlegen eines Publishers im Client SDK festgelegt. Beide Felder können anderen Teilnehmern der Sitzung offengelegt werden und sind möglicherweise auch über das Inspector-Tool sowie in den internen Protokollen von Vonage einsehbar.

Das bedeutet, dass Sie in diesen Feldern niemals unverschlüsselte sensible oder persönliche Daten verwenden sollten.

Wenn Sie einem Stream eine Benutzeridentität zuordnen müssen, verwenden Sie Identifikatoren auf Anwendungsebene (z. B. Benutzer-IDs) und lösen Sie diese innerhalb Ihrer eigenen Anwendung auf, anstatt persönliche Daten in Video API-Felder einzubetten.

Relayed vs. Routed Modus

End-to-End-Medienverschlüsselung

Während einer gerouteten Sitzung werden die Medienströme auf den Cloud-Servern der OpenTok-Plattform vorübergehend entschlüsselt und anschließend sofort wieder verschlüsselt, bevor sie über das Internet an den abonnierten Client gesendet werden – es sei denn, Sie verwenden die End-to-End-Verschlüsselung Funktion. Diese Entschlüsselung ist notwendig für die Verwaltung von Gruppensitzungen, intelligente Qualitätskontrolle und Funktionen, die eine Medienentschlüsselung erfordern - wie Archivierung, Live-Streaming-Übertragungen, Experience Composer, Audio-Connector und SIP-Interconnect (falls verwendet). Mit gerouteten Sitzungen werden Ihre Medienströme niemals unverschlüsselt über das offene Internet übertragen.

Sie können verwenden End-to-End-Verschlüsselung um zu verhindern, dass der OpenTok Media Router Zugriff auf Medien in einer weitergeleiteten Sitzung erhält. Bei Verwendung der End-to-End-Verschlüsselung werden Funktionen, die eine Dekodierung der Medien erfordern (z. B. Archivierung usw.), nicht unterstützt.

Wenn Ihre Anwendung eine ununterbrochene Ende-zu-Ende-Verschlüsselung aller Medien erfordert, können Sie sich auch für die Verwendung von Relayed Sessions entscheiden. Beachten Sie, dass Sie dann keine Funktionen nutzen können, die eine Medienentschlüsselung erfordern (z. B. Archivierung usw.), und dass die Leistung in Netzwerken mit geringer Bandbreite/hohem Paketverlust oder mit Gruppen nicht so gut verwaltet wird.

Archivierung

Vonage bietet eine Reihe von Möglichkeiten, um die Sicherheit Ihrer archivierten OpenTok-Sitzungen zu gewährleisten.

Verschiedene Ebenen der Archivsicherheit

Sie können Ihre Archive auf folgende Weise sichern:

  • Archivspeicher-Fallback deaktivieren — Standardmäßig speichert Vonage eine Archivdatei auf OpenTok-Servern, falls das Hochladen der Datei auf den von Ihnen angegebenen Amazon S3- oder Microsoft Azure-Server nicht möglich war. Um diese Ausweichspeicherung zu verhindern, melden Sie sich bei Ihrem Video API-KontoWählen Sie das Projekt aus, und setzen Sie die Option zum Deaktivieren des Archivspeicher-Fallbacks.

Anmerkung: Der Fallback-Speicher kann nur deaktiviert werden, wenn Sie einen benutzerdefinierten Archivspeicher eingerichtet haben. Siehe die Dokumentation zum Einrichten von Archivspeicher auf S3 und Azurblau.

  • OpenTok-Verschlüsselung verwenden — Bei der verschlüsselten Archivierung werden Video- und Audiodaten in einem OpenTok-Archiv mithilfe eines öffentlichen Schlüsselzertifikats verschlüsselt, das Sie Vonage zur Verfügung stellen. Auf diese Weise können Sie OpenTok-Archive erstellen, in denen die Daten niemals unverschlüsselt gespeichert werden. Unter den verfügbaren Methoden zur Sicherung Ihrer OpenTok-Archive bietet diese die höchste Sicherheitsstufe. Diese Funktion ist als Add-on-Feature. Weitere Informationen finden Sie in der OpenTok-Dokumentation zur Verschlüsselung.

Verwalten der Archivlöschung

Ein Archiv, das erfolgreich in Ihren Speicher hochgeladen wurde, wird zum Zeitpunkt des Uploads automatisch vom OpenTok-Archivierungsserver gelöscht.

Sollte der Upload fehlschlagen, steht der OpenTok-Speicher als standardmäßige Ausweichmöglichkeit zur Verfügung. Das bedeutet, dass das Archiv 72 Stunden lang auf dem OpenTok-Server gespeichert wird.

Sie werden per E-Mail über jedes Archiv benachrichtigt, das Ihren Speicher nicht erreicht. Sie können dann die REST-API verwenden, um das Archiv von der Archiv-URL herunterzuladen.

Nach dem Download können Sie das Archiv sofort löschen, um zu vermeiden, dass es für den Rest des Fallback-Zeitraums im OpenTok-Speicher verbleibt.

Um diesen Fallback-Speicher zu verhindern, melden Sie sich bei Ihrem Video API-KontoWählen Sie das Projekt aus, und setzen Sie die Option zum Deaktivieren des Archivspeicher-Fallbacks.

Siehe dieses Thema für weitere Informationen über das Löschen eines Archivs.

Kontrolle, wer mit der Archivierung beginnen kann

Sie können eine Sitzung nur über die REST-API archivieren. Um zu steuern, wer die Archivierung initiieren kann, können Sie programmatisch entscheiden, welche Ansicht der Anwendung die Option zum Starten der Archivierung enthält. Unbefugte hätten eine eingeschränkte Ansicht ohne Archivierungsoption.

Neben der Authentifizierung Ihrer eigenen Benutzer sollten Sie auch eine Strategie für die Autorisierung in Betracht ziehen. Sobald Sie wissen, wer ein Benutzer ist (Authentifizierung) und dass er tatsächlich berechtigt ist, ein Archiv zu starten (Autorisierung), haben Sie das Risiko verringert, dass ein unbeabsichtigter Benutzer die Aufzeichnung von Archiven verursacht.

Sicherstellung eines Mindestmaßes an Privilegien

Die für das Hochladen von Archiven in unseren Speicher erforderlichen Mindestrechte werden unter dieses Thema.

Partner sollten keine zusätzlichen Berechtigungen für die Anmeldedaten vergeben, die sie bei OpenTok speichern.

Warnungen und Kontrollen

Begrenzung der maximalen Anzahl von Benutzern in einer Sitzung

Um die Anzahl der Teilnehmer einer Sitzung besser kontrollieren zu können, sollte Ihre Anwendung die maximale Anzahl der Benutzer pro Sitzung begrenzen. Dies kann nützlich sein, wenn Sie die Nutzung einschränken möchten.

Teilnehmerzahl anzeigen

Sie können auch die Anzahl der Abonnenten festlegen, die in Ihrer Anwendung angezeigt wird. Auf diese Weise können Sie feststellen, wann eine Verbindung abonniert, aber nicht veröffentlicht wird.

Einrichten von Moderatorberechtigungen zum Erzwingen der Trennung der Verbindung

Die OpenTok-Plattform bietet die Möglichkeit, einen Nutzer aus einer Sitzung zu entfernen. Bei einem Verstoß gegen die Nutzungsbedingungen können Sie beispielsweise dem Moderator der Sitzung die Befugnis erteilen, den betreffenden Teilnehmer durch erzwungene Trennung oder erzwungene Ausblendung aus der Sitzung zu entfernen. Siehe dieses Thema für weitere Informationen.

Zuweisung von Nur-Abonnenten-Berechtigungen für Personen, die nicht veröffentlichen müssen

In manchen Anwendungsfällen möchten Sie möglicherweise die Anzahl der Personen begrenzen, die in einer Sitzung Beiträge veröffentlichen dürfen. Dies lässt sich ganz einfach umsetzen, indem Sie die Veröffentlichungsberechtigungen nicht auf alle Teilnehmer ausweiten.

Siehe dieses Thema zur Erzeugung von Token mit den richtigen Rollen.

Beschränkung des Datenverkehrs auf regionale Server

Sie können die Regionale Medienzonen Funktion, um alle Medienstreams an Medienserver innerhalb einer bestimmten Georegion weiterzuleiten.

Zusätzlich zur Einschränkung des Medienverkehrs können Sie mit der Funktion EU-Vollmacht Funktion zur Einschränkung Nicht-Medien Datenverkehr zu Servern in der Europäischen Union zu leiten.

Sicherheit & Transportschicht

TLS-Verschlüsselung

Die Vonage Video API unterstützt jetzt TLS 1.3 und TLS 1.2 für die gesamte API-Kommunikation und bietet damit mehr Sicherheit und Leistung für Ihre Videositzungen. Dieses Update gewährleistet die Kompatibilität mit modernen Verschlüsselungsstandards und schützt Ihre Daten während der Übertragung.

Wichtigste Vorteile:

  • Erhöhte Sicherheit: Stärkere kryptografische Algorithmen und verbesserte Vorwärtsverschlüsselung mit TLS 1.3
  • Bessere Leistung: Geringere Latenzzeit für die Verbindung durch ein rationalisiertes Handshake-Verfahren
  • Automatische Verhandlung: Clients verwenden automatisch die höchste unterstützte TLS-Version

Alle API-Endpunktverbindungen sind standardmäßig mit TLS gesichert. Es sind keine Codeänderungen erforderlich, da moderne SDKs und HTTP-Clients automatisch die höchste unterstützte TLS-Version (TLS 1.3 oder 1.2) bevorzugen. Es ist jedoch ratsam, immer die neuesten SDK-Versionen zu verwenden, um von den neuesten Sicherheits- und Leistungsverbesserungen zu profitieren.