Michael_K: Austausch von ServiceWorker absichern

Beitrag lesen

Hallo,

ich lasse bei einer Web-Applikation über einen ServiceWorker die geladenen Webseiten (requests mit get-methode) im lokalen Cache abspeichern und mit einer CacheFirst Methode wird immer zuerst geschaut, ob die Ressource im lokalen Cache vorliegt und dann genutzt wird. Für den Web Worker selbst ist aber eine Network-First Regel hinterlegt, d.h. es wird geschaut ob eine aktuellere Version des ServiceWorker auf dem Server vorliegt. Mit einer neuen Version des ServiceWorker wird der lokale Cache gelöscht bzw. neu mit den aktuellen Ressourcen der Web Applikation eingelesen.

Ich möchte nun erreichen, dass sichergestellt ist, dass der ServiceWorker nicht einfach so ausgetauscht werden kann. Also das Szenario, dass jemand unbefugt Zugriff auf den Web Server hat und dort den Service Worker kompromitiert und dann unbemerkt die Version bzw. die Ressourcen der WebApplikation austasuchen kann.

Welche sinnvollen Möglichkeiten würde es denn geben, dass man einen Mechanismus implementiert der überprüft, ob der neue ServiceWorker (d.h. JavaScript-Datei) auch legitim ist? Ggfs. würde vielleicht auch schon es ausreichen, wenn der "alte" ServiceWorker davor warnt, das eine neuer Version vorliegt.

Es geht also nicht um ein planmäßiges Update der WebApp sondern um einen "zusätzlichen" Schutz vor unbefugtem Austasuch der Ressourcen.

Ich hoffe, das Problem ist verständlich.

Gruss Michael