Passwortschutz mit SecureID

Um einen Zugriffsschutz über Ihre Webseite zu steuern (Abfrage Ihrer Datenbank, nur angemeldete Nutzer, etc.)  bieten wir einen "Zugriffsschutz per SecureID" an. Hierbei wird der Streamingserver bei jedem Zuschauerabruf zuerst Ihre Webseite fragen, ob der Zugriff gestattet wird. Und wenn ja, wie lange.

Dies ist ideal für Bezahlsysteme und Anforderungen mit besonders hoher Sicherheit. Zudem bietet es viele individuelle Möglichkeiten 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 Ihrem Streamingaccount etwas angepasst werden müsste.


Schaubild-Secure-id_Zeichenfläche-1-Kopie.jpg

Vorgehensweise/Ablauf:

  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 zugreifen darf (oder auch nur auf spezielle Streamnamen, etc.). Beispielsweise weil der User X dafür im Shop bezahlt hat oder weil er Mitarbeiter von Ihrem Unternehmen ist.
  2. Bei dem Einsatz des Videoplayers auf Ihrer Webseite wird für den aktiven Kunden eine secureID erstellt. Dies ist ein erzeugte Kennung, Zufallszahl oder auch die Kundennummer des Nutzers. (Programmierung: bitte einen String aus Buchstaben und/oder Zahlen übergeben. Bitte vermeiden Sie Sonderzeichen und extrem lange IDs mit hunderten Zeichen.)
    Falls es eine Zufallszahl ist, könnten diese für den aktiven Kunden zusammen mit der aktuellen Uhrzeit (Timestamp) in der Datenbank gespeichert werden.
    Im folgenden Beispiel lautet diese ID "1234".

  3. Bei der Auslieferung der Webseite (z.B. das zusammensetzen der Inhalte per PHP und Ausgabe an den Browser) wird im Videoplayercode auch diese secureID des aktuellen Kunden als Parameter eingefügt.
    D.h. der Player erhält in der URL den Parameter: id=1234

  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 ohne aktive Sicherung an dieser Stelle den Videostream an den Player übertragen.
    Durch die aktive Sicherung 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 ob der User zugreifen darf oder nicht (bzw. wie viele Sekunden dieser Kunde zugreifen darf). Die Antwort erfolgt als einfache Zahl.
    Beispielsweise: 3600
    Diese 3600 entsprechen 3600 Sekunden und somit eine Stunde die dieser Stream von diesem User abgerufen werden darf. Alternativ können Sie beliebige Zeit gewähren, wie beispielsweise 36000, so dass der User 10 Stunden am Stück und quasi zeitlich unlimitiert zugreifen kann. Geben Sie 0 zurück, darf der User NICHT zugreifen.

    Beispielscript (ganz einfacher Aufbau):

    Wir bieten keinen Support für Javascript/PHP-Programmierung (etc.) auf Ihrer Webseite. Dies gilt auch für hier vorgestellten Beispiel-Code. Dieser dient nur dem schnellen Einstieg und dem Aufzeigen eines denkbaren Lösungsweg. Ein Programmierer für Ihre Webseite der z.B. auch Ihre Sicherheitsaspekte berücksichtigt, wird hierdurch nicht ersetzt.


    <?php
    $array = array("testid1234", "zweiteErlaubeId1111", "weiterID...");
    
    $dieIdVomUser = null;
    if ( isset($_GET["id"]) ) {
    	$dieIdVomUser = "". $_GET["id"];
    }
    
    for ($i=0; $i< count($array); $i++) {
    	
    	if ($dieIdVomUser == $array[$i]) {
    		print(10800); //3 Stunden Zugriff
    		die();
    	}
    }
    
    print('0'); //Kein Zugriff
    ?>

    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.

Preis: In allen aktuellen Tages- und Monatspakten kostenfrei enthalten.
Aktivierung auf Kundenwunsch.

Empfehlenswert:  Die Methode ist für einen Webentwickler einfach und schnell umzusetzen (wir sind gerne behilflich).


Revision #17
Created 11 September 2020 13:00:07 by Daniel McDonald
Updated 27 March 2023 09:34:45 by Bernd Hildebrand