Sicherheit für Videostreaming

Es wird grundsätzlich zwischen verschiedenen Sicherheitsaspekten unterschieden:

  • Zugriffsschutz (Passwortschutz)
    Es gibt eine Gruppe von Nutzern die einen Datei- oder Livestream sehen dürfen und andere die nicht zugreifen dürfen. Unterschieden wird z.B. per erfolgter Bezahlung im Shopsystem oder per Zugehörigkeit einer Gruppe von Mitarbeitern.
  • Verschlüsselung (SSL Stream)
    Videostreams können vergleichbar HTTPS verschlüsselt werden.
  • Verfügbarkeit
    Ist ein gebuchtes Streamingserver-Paket jederzeit erreichbar? Was passiert wenn ein System z.B. hardwarebedingt ausfällt? Ist das Rechenzentrum gesichert gegen Stromausfall, Feuer, Erdbeben, etc.?
  • Geschützter Abruf nur von Ihrer Webseite
    Die eigenen Videos sollen nicht auf fremden Seiten (andere Domains) abgespielt werden.
  • Download- und Kopierschutz
    Videoinhalte sollen nicht heruntergeladen, kopiert oder auf fremden Webseiten abgespielt werden.
  • GEO-IP Zugriffsbeschränkung
    Je nach Lizenzen z.B. von Sportübertragungen kann es notwendig sein, dass aus Land X, Y nicht zugegriffen werden darf, oder umgekehrt, das ausschließlich aus Land X, Y der Stream abgerufen werden darf.

 

Bitte klicken Sie auf die Links für weitere Informationen.

Kontrollmonitor (intern für unsere Techniker)

Ca. 184 aktive Livestreams auf einem Kontrollmonitor.

Zugriffsschutz (Passwortschutz)

Ein Passwort-geschützter Zugriff auf Ihre Streamingvideos und Liveübertragungen kann "simpel und unsicher", "einfach und sicher" bis "individuell und extrem sicher" sein.

Dieser Abschnitt soll trotz technischen Informationen möglichst verständlich sein. Wir haben versucht die wichtigen Informationen so zusammen zu fassen, das ein Laie versteht um was es geht, und ein Programmierer den Aufwand einschätzen kann.

Grundlage
Wenn der Streamingserver aufgrund von einem Passwort den Zugriff erlauben (oder verbieten) soll, muss dieser in irgendeiner weise ein Passwort prüfen können. Natürlich darf Ihre Kundendatenbank nicht auf unsere Streamingserver übertragen werden. Dies wäre nicht nur aus datenschutzrechtlichen Gründen fraglich, sondern auch technisch eine unprofessionelle Lösung.

Ggf. gibt es auch gar keine Passwortdatenbank, und ggf. möchten Sie auch nur ein zentrales Passwort für alle Zuschauer gemeinsam verwenden? Sie haben die Wahl!

Möglichkeiten:

  1. Simpel und praktisch
    Sie verwenden für einen Livestream einen selbst gewählten Streamnamen. Dieser ist vor der Übertragung nicht bekannt und er kann auch nicht erraten werden).
    Preis: kostenfrei (von uns unabhängige Lösung)

    Empfehlenswert: Wenn Sie ohnehin an eine kleine, Ihnen bekannte Benutzergruppe übertragen (z.B. zu einer Zweigstelle um einen Livestream dort über einen Beamer für die Mitarbeiter anzuzeigen), und sich die Abrufadresse nicht in Fremden Händen befindet (die diese weitergeben könnte) – dann ist dies eine gute, einfach zu lösenende Methode.
     
  2. Typisch für Webseiten mit CMS
    Sie platzieren den Videoplayer auf Ihrer Webseite im geschützten Bereich. Die Seite kann nur von Nutzern aufgerufen werden, denen Sie selber diese Unterseite freigeben oder die z.B. das Kennwort für die Seite besitzen (z.B. "htaccess").
    Preis: kostenfrei (von uns unabhängige Lösung)
    Empfehlenswert: Wenn Sie keine Weitergabe der Zugangsdaten an Dritte befürchten müssen und auch kein Interesse Ihrer Zuschauer besteht den HTML-Code des Players (Abruf-URL) zu "klauen", kann der Schutz hierüber gehandhabt werden.
     
  3. Sicher und einfach zum Einrichten
    Sie stellen uns eine Datei mit Passwörter zur Verfügung (oder wir erstellen diese für Sie). Der Austausch kann gerne per CSV-oder Excel-Datei erfolgen.
    Diese Passwörter werden danach einmalig bei uns auf dem Streamingserver hinterlegt. Zusätzlich bereiten wir Ihnen einen Player vor, der vor dem Videostart nach einem Passwort fragt. Der User gibt das Passwort ein, dieses wird an den Streamingserver gesendet, und falls es in der Liste enthalten ist wird das Video oder der Livestream übertragen.
    Preis: 200 Euro (einmalig, inkl. Absprachen und Konfiguration)
    Empfehlenswert:  Für unsere Kunden die keine Anpassungen auf Ihrer Webseite vornehmen möchten, ist dies eine sehr gute und sichere Möglichkeit. Jedoch ist die Eingabe des Passwort vor jedem Abruf nicht komfortabel.
     
  4. Individuell und sicher
    Sie können auch über Ihre Webseite automatisch Passwörter erstellen (serverseitig bspw. per PHP).
    Hierfür übergeben Sie dem Videoplayer per Parameter den Namen des Videostream, und wie lange der der Stream abgerufen werden darf (Abrufzeitraum) sowie die aktuelle Zeit mit dem erlaubten Abrufbeginn. Diese Parameter sind sichtbar.
    Zusätzlich werden diese Parameter inkl. einem geheimen Schlüssel (serverseitig) dynamisch per MD5 zu einem Kontrollschüssel verarbeitet. Dieser Schlüssel wird ebenfalls übergeben (sichtbar).

    Der Streamingserver verfügt ebenfalls über diesen geheimen Schlüssel. Beim Videoabruf vom Player erhält dieser dann den Streamnamen, den erlaubten Abrufzeitraum/Abrufbeginn und den Kontrollschlüssel. Der Server verbindet diese Daten inklusive dem geheimen Schüssel und vergleicht das Ergebnis mit dem übergebenen Kontrollschüssel. Es wird hierdurch sichergestellt, das alle Parameter korrekt übergeben wurden.
    Preis: 400 Euro (einmalig, inkl. Absprachen und Konfiguration)
    Empfehlenswert:  Die Methode ist als sicher zu sehen, kann aber mit entsprechendem Aufwand von einem erfahrenen Hacker geknackt werden wenn dieser gültige Parameter und Kontrollschüssel zur Verfügung hat. Der Aufwand ist jedoch so hoch, dass der Angreifen schon einen erheblichen Nutzen/Gewinn erzielen müsste damit es sich lohnt. Sonst wäre der Angriff auf diesen Schutz nicht rentabel.

    Technisch:
    1. $meinSchutz = $parameter . $parameter . "geheimwort123";
    2. Danach wird die Variable $meinSchutz über einen MD5 verschlüsselt:
      $kontrollSchluessel = md5($meinSchutz);
    3. An den Videoplayer werden nun die Parameter übergeben – inkl. dem $kontrollSchluessel.
    4. Der Streamingserver fügt die Parameter inkl. dem geheimen Schüssel ebenfalls zusammen und berechnet draus den MD5. Diesen kann er nun mit dem $kontrollSchluessel vergleichen und entscheidet ob die Daten (z.B. ob und wie lange ein User zugucken darf) korrekt sind.
       
  5. Individuell und extrem sicher
    Als sicherste Möglichkeit können wir für Sie einen individuellen Zugriffsschutz aktivieren, der jeden Videoabruf zuerst mit Ihrer Webseite abgleicht. Dies ist ideal für Bezahlsysteme und Anforderungen mit besonders hoher Sicherheit. Zudem für Sie, wenn Sie sehr flexibel abgleichen möchten ob ein User zugreifen darf. Sie können die Entscheidung jederzeit weiter anpassen und auf neue Gegebenheiten reagieren, ohne das auf dem Streamingserver etwas angepasst werden müsste.
    Preis: 200 Euro (einmalig, inkl. Absprachen und Konfiguration)
    Empfehlenswert:  Die Methode ist für einen Webentwickler einfach und schnell umzusetzen (wir sind gerne behilflich).


    Vorgehensweise:
    1. Standard für jede Webseite mit einer Kundendatenbank:
      Ihr System kennt Ihre Kunden und kann nach eigener Logik entscheiden ob User X auf Videostreams (oder auch speziell auf einen bestimmten Stream zugreifen darf). Beispielsweise weil der User X dafür im Shop bezahlt hat oder weil er Mitarbeiter von Ihrem Unternehmen ist.
    2. Bei jedem Videoabruf (wenn der User eine Seite öffnet auf der sich ein Videoplayer befindet), wird für den aktiven Kunden eine ID erzeugt (Zufallszahl) und zusammen mit der aktuellen Uhrzeit (Timestamp) in der Datenbank gespeichert.
    3. Bei der Auslieferung der Webseite (z.B. das zusammensetzen der Inhalte per PHP) wird im Videoplayercode auch diese ID des aktuellen Kunden als Parameter eingefügt.
    4. Der Player wird auf der Webseite (im Browser des Kunden) aufgerufen und übergibt beim Streamstart die angegebene ID als Parameter an den Streamingserver.
    5. Der Streamingserver würde normalerweise an dieser Stelle den Videostream an den Player übertragen.
      In diesem Fall ruft er jedoch zuvor eine vereinbarte URL von Ihrer Webseite auf und gibt als Parameter die ID an. (Zusätzlich die IP-Adresse und den Streamnamen).
      Beispiel:
      http://www.ihreWebseite.de/sicherheitsabfrage.php
      ?id=1234&userip=217.91.5.7&stream=meinstreamname
    6. Ihr System gleicht die ID mit Ihrer Datenbank ab. Sie wissen das die ID z.B. 20 Sekunden alt ist und zu Kunde X gehört. Sie können nun prüfen, ob der Kunde zugreifen darf (z.B. ob er bezahlt hat). Ergänzend könnten Sie die Anzahl der Abrufe, etc. protokollieren. 
      Ihr System antwortet daraufhin an den Streamingserver mit der Angabe ob der User zugreifen darf oder nicht (bzw. wie viele Sekunden dieser Kunde zugreifen darf).

      Da diese Abfrage bei jedem Aufruf von einem Video erfolgt (Dateistreaming/VOD wie auch Live), haben Sie es 100% in der Hand den gewünschten Zugriff für Ihre Kunden zu gewähren oder unerwünschten Zugriff abzulehnen.
      Da diese Sicherheitsabfrage direkt zwischen dem Streamingserver und Ihrer Webseite erfolgt, hat der Kunde wie auch ein Hacker keine Möglichkeit hierauf Einfluss zu nehmen.
      Die Schnittstelle ist äußerst simpel in der Umsetzung und lässt sich oftmals an einem halben Tag realisieren. Gleichzeitig ist sie extrem sicher. Nur ein Angreifer der die Streamingserver zu Webserver Kommunikation direkt im Rechenzentrum oder über die Backbones beeinflussen kann, hat hier einen Angriffspunkt (z.B. Geheimdienste).
    7. Eine technische Randnotiz für Programmierer:
      Wird der Stream von einem Player ausgelöst der per "HTML5 HLS" den Stream abrufen möchte, erfolgt die Abfrage so wie oben in Punkt 5 angegeben.
      Wird der Stream jedoch von einem Flashplayer abgerufen, erfolgt diese Abfrage zwei mal! Ein erster Aufruf enthält die ID und die UserIP, aber nicht den Streamnamen. Wenn dieser Aufruf positiv bestätigt wird, erfolgt danach ein weiterer Aufruf, dann aber inkl. dem "stream=meinstreamname" Parameter. Dies hängt dem RTMP-Protokoll zusammen.
  6. Per IP-Sperre
    Bei Bedarf können wir den Zugriff auch abhängig von der Nutzer IP-Adresse kontrollieren. Wollen Sie beispielsweise das Streaming nur aus Ihrem Firmennetzwerk abrufbar machen, und können uns die feste(n) IP-Adresse(n) Ihrer Firma nennen, dann können wir den Abruf auf diese IPs beschränken.
    Preis: 100 Euro (einmalig, inkl. Absprachen und Konfiguration)

Verschlüsselung (SSL Stream)

Ein Stream kann auch SSL-verschlüsselt werden. Vergleichbar einer HTTPS-Webseite. Die Verschlüsselung je Stream ist jedoch enorm aufwendig (CPU-Belastung vom Streamingserver).
Während eine normale Webseite nur einmalig ausgeliefert wird und z.B. Daten von 0,3 bis 0,8 MB enthält, werden bei einem Video-Livestream beispielsweise 10 bis 40 MB je Minute übertragen. Bei 1000 Zuschauern parallel müssen somit 10 GB bis 40 GB Daten in der Minuten verschlüsselt werden.

Manche Anbieter machen dies per pseudo-Verschüsselung. Das Protokoll zeigt einen verschlüsselten Stream an, aber die Daten sind so minimal verschlüsselt das sie gar nicht erst hätten gesichert werden müssen. Sie sind in wenigen Minuten zu knacken. Aber der Aufwand der Verschlüsselung sinkt. Dies macht in der Regel keinen Sinn und widerspricht der vorgegebenen Sicherheitszielsetzung.

Wir bieten die Verschlüsselung gerne an. Es muss aber darauf verwiesen werden, das bei einer geringen Verschlüsselung die Sicherheit nicht erhöht ist - bei einer starken Verschlüsselung (128 bis 256 bit) ist eine gewisse Sicherheit vorhanden, aber der CPU-Aufwand für die Dekodierung auf dem Abspielgerät beim Zuschauer ist ebenfalls erhöht, so das langsame Mobilgeräte und alte PCs mit einer sauberen Wiedergabe Schwierigkeiten haben.

Der Aufwand und die Kosten müssen individuell kalkuliert werden.

Geschützter Abruf nur von Ihrer Webseite

In vielen Fällen möchten unsere Kunden die eigenen Videos nicht auf fremden Webseiten wiederfinden. Und umgekehrt: in manchen Fällen ist genau dies erwünscht.

Soweit von Ihnen beauftragt, kann der Videoabruf auf eine oder mehrere bestimmte Domains beschränkt werden. D.h. auf Ihrer Webseite "www.ihreFirma.de" läuft Ihr Videostream/Livestream, aber auf anderen Webseiten wie "www.konkurrenz.de" ist der Abruf nicht möglich. 

Vorteil:
Auch wenn die Adresse oder der Playercode von Ihrer Webseite kopiert (geklaut) wird, wird dieser auf einer anderen Webseite nicht funktionieren!

Die Herausforderung besteht darin, dass hierfür der Videoplayer dem Streamingserver mitteilen muss, auf welcher Webseite er gerade läuft. Und zwar nicht per übergebenen Parameter (den man natürlich ganz einfach manipulieren könnte), sondern per eingebauter Funktion des Herstellers.
Während dies der Adobe Flashplayer gesichert kann, übertragen aktuelle HTML5 Player nicht auf welcher Webseite/Domain sie gerade laufen! (Apple iPhone, iPad, Android, Browser am PC, etc.)
Zudem kann eine Webseite auch per iFrame (HTML) auf anderen Webseiten eingebunden werden und es wird dann vom Player technisch korrekt mitgeteilt, dass der Player von Seite XY geladen wird (die iFrame URL zum Beispiel von uns) und nicht von www.ihreFirma.de
D.h. wir können für Sie einen Domain-basierten Schutz einrichten (kostenfrei). Jedoch funktioniert dieser nicht für HTML5 basierte Player/Geräte.

Verfügbarkeit

Grundsätzlich stehen alle Streamingserver Pakete durchgehend zur Verfügung. Server für den Ersatzbetrieb und Techniker stehen 24 Stunden an 365 Tagen im Jahr im Rechenzentrum zur Verfügung.
Das Rechenzentrum hat eine verteilte Anbindung an die großen Carrier/Backbones in Frankfurt – einem der weltweit größten Internet-Knotenpunkte. Der Zutritt ist per Schleuse gesichert. Es bestehen die typischen Sicherungen gegen Feuer, etc. pp.  (Unsere Abteilung im RZ ist zertifiziert nach DIN ISO 9001_2008 und ISO 27001_2010).

Trotz allen Vorkehrungen – wir möchten auch gegenüber möglichen Ausfallzeiten transparent sein:
Es kann aufgrund von dringenden Sicherheitsupdates oder bspw. durch vom Kunden selber beauftragte (dringende) Konfigurationsänderungen zu kurzen Unterbrechungen kommen. In der Regel dauert eine solche Unterbrechung wenige Sekunden für einen Service (2-15 Sek.).

Zudem erfolgt auf jedem Server täglich (nachts, beispielsweise um 3 Uhr) ein Reset der Streaming-Dienste.

Vor Hardware-Ausfall versuchen wir alle Kundenaccounts bestmöglich zu schützen. Ausfallzeiten bedingt durch Hardwareprobleme sind extrem selten! Jeder Server wird vollautomatisch 480x am Tag geprüft. Um dies zu gewährleisten überwachen wir permanent: CPUs, Festplatten/RAID, Arbeitsspeicher, Netzanbindungen, etc.
Jedoch nicht nur per synthetischer Testdaten, sondern auch per realem Streamabruf:
Auf jedem Streamingserver wird 1440x am Tag ein Teststream abgerufen und ausgewertet, um sicher zu gehen das der Server nicht nur theoretisch laut Kontrollverfahren, sondern auch tatsächlich real über den Abruf von einem echten Stream verfügbar ist.
Sollte ein Server Anzeichen für Probleme zeigen, kann jederzeit auf andere Hardware ausgewichen werden - IP-Adressen werden neu geroutet. Datenbestände vom Kunden werden transferiert.

Unsere Vertragsbedingungen, speziell zum wichtigen Thema "Backup" Ihrer Dateien, finden Sie in unseren gut verständlichen Allgemeinen Geschäftsbedingungen. Bitte beachten Sie das wir keine Backups garantieren, diese aber in der Regel durchführen. D.h. der Kunde ist bei wichtigen Videodateien, etc. dafür verantwortlich eigene Daten unbedingt selber sicher zu verwahren und nicht nur auf dem Streamingserver-Account zu lagern.

Kunden die eine Verfügbarkeit von 100% mit keinerlei Unterbrechungen anstreben, nutzen zwei Streamingpakete parallel. D.h. Sie buchen statt einem einzelnen Paket mit z.B. 200 Zuschauerplätzen zwei Pakete mit jeweils 100 Zuschauerplätzen. Wir synchronisieren die Accounts für Sie und passen auf Wunsch den Videoplayer für Sie an.

Download- und Kopierschutz

Der Schutz der eigenen Inhalte vor nicht gewünschten Kopien ist für manche Kunden elementar wichtig - bei anderen ist genau dies erwünscht. Je mehr desto besser.

Variante 1 – möglichst starke Verbreitung
Wenn Sie Ihre Videoinhalte für Werbung einsetzen und diese direkt auf Sie verweisen, dann dürfen und sollen diese möglich im Internet Verbreitung finden. Ggf. auch auf Seiten von Wiederverkäufern eingesetzt werden, etc. Wenn Sie dies wünschen, können Sie den Videoplayer frei weitergeben (oder Embed-Codes anbieten). Wir stellen Ihnen dies frei und Sie können Ihren Streamingaccount gerne so nutzen, das die Videoabrufe quer aus dem gesamten Internet erfolgen.

Variante 2 – möglichst großer Schutz vor Diebstahl und Fremdnutzung
Ganz ehrlich: keine Videoübertragung ist 100% geschützt!

Mit entsprechendem Fachwissen, Aufwand und spezieller Software kann jedes Video  auch "geklaut" werden – unerheblich welche Technologie verwendet wird. Letztlich ist auch immer ein Abfilmen z.B. per Handy vom Bildschirm möglich... Hiergegen gibt es keinen Schutz!

Streamingvorteil: der Download von Streamingvideo ist deutlich schwieriger als von "normalen" Videos. Diese werden gewöhnlich per "progressivem" Download bereit gestellt und es gibt viele kostenfreie Software um solche Videos jederzeit von bliebigen Seiten herunter laden zu können. In unserem Fall wird jedoch echtes Streaming verwendet. Es wird nur der jeweils aktive Abschnitt der gerade abgespielt wird direkt vom Streamingserver in den Arbeitsspeicher geladen und auf dem Bildschirm abgespielt. Danach wird der Abschnitt wieder gelöscht und steht dem Zuschauer/User in keiner Weise zum Zugriff, Speichern, etc. zur Verfügung.

Ohne Streaming wird das Video im Browser-Cache auf der Festplatte gespeichert. Es gibt 100te Tools und Browserplugins die das Speichern von Videodateien ermöglichen. Der User kann das Video dann z.B. auf YouTube hochladen oder anderweitig verwenden.

Je nach Kundenwunsch kann der optionale Videoabruf per HTTP-Download aktiviert werden (z.B. bei Traffic-Paketen). Dies ermöglicht den regulären Videodownload und untergräbt damit die Sicherheitsvorteile von Videostreaming. Jedoch kann es gewüncht sein, dass zum Beispiel den Seitenbesuchern ein Download einer mp4-Videodatei angeboten werden soll. Für diesen Fall wird der Schutz deaktiviert und ein HTML-Download auf Kundenwunsch ermöglicht.

Kurz: wenn Sie sich und Ihre Inhalte schützen möchten, ist Streaming das beste Verfahren um den Inhalt leicht zugänglich auf jeder Webseite abrufbar zu machen und gleichzeitig den Inhalt bestmöglich zu schützen.

GEO-IP Zugriffsbeschränkung

Lizenzrechtlich kann es notwendig sein, dass bestimmte Videoinhalte nur in bestimmte Länder übertragen werden dürfen oder – umgekehrt – bestimmte Inhalte überall abgerufen werden dürfen, mit Ausnahme von Land X.

Hierfür kann eine GEO-IP Sperre eingerichtet werden. Da sich IP-Blöcke international nicht ständig in größerem Umfang ändern, ist dieser Schutz relativ zuverlässig (ca. 95-99%) und wird weltweit als gängiges Mittel eingesetzt.

Preis: 200 Euro (einmalig, inkl. Absprachen und Konfiguration)