Bachelor-Teamprojekt

Datenschutzfreundliche Videoüberwachung durch Verschlüsselung von Gesichtern

Ziel des Teamprojektes ist Fragestellung, ob Videoüberwachung im Widerspruch zu den Persönlichkeitsrechten der überwachten Personen stehen muss.

Um diese These zu prüfen, wurde im Rahmen der Projektarbeit ein prototypischer Demonstrator entwickelt, welcher aufgezeichnete Gesichter erkennt und einer Person eine eindeutige ID zuweist. Anschließend werden die zugewiesenen Daten verschlüsselt innerhalb der Metadaten des Videos abspeichert. Eine autorisierte Person oder Gruppe, z.B. eine Polizeibehörde, kann dann gezielt eine Person in dem aufgezeichneten Video auswählen und wieder deren Gesicht entschlüsseln, ohne den Datenschutz anderer unbeteiligter Personen zu verletzen.

Der entwickelte Demonstrator zeigt, dass eine datenschutzfreundliche Überwachung mit der vorgeschlagenen Methode möglich ist, auch wenn diese einen Mehraufwand an Ressourcen und Organisation mit sich bringt. Weiterhin ist anzumerken, dass die Erkennung der Gesichter stark von der zur Verfügung stehenden Rechenleistung und dem gewählten Einsatzszenario abhängig ist und eine fehlerfreie Erkennung und damit auch Verschlüsselung, anspruchsvoll ist.

Beim Start der Anwendung generiert das Management Modul eine zu verwendende Encryption Group mit dazugehörigen Schlüsselströmen, welche jeweils zum Verschlüsseln einer einzelnen Person verwendet werden. Anschließend wird die externe Videoüberwachungssoftware ZoneMinder genutzt, um eine Kamera einzubinden, welche auf Bewegungen in dem Kamerabereich mit einem Event reagiert. Dieses Event wird von dem Event Catcher aufgefangen und interpretiert, woraufhin die Managerkomponente des Programms benachrichtigt wird. Daraufhin überprüft der Manager anhand des Advisor Moduls, wie viele Ressourcen zur Verfügung stehen und welche Erkennungsmethode das Finder Modul verwenden soll. Der Manager kontaktiert das Finder Modul mit entsprechenden Anweisungen. Dieses versucht in der von ZoneMinder aufgezeichneten Bewegung, ein Gesicht zu erkennen und zu verfolgen. Wird ein Gesicht erkannt, so werden diese Daten an das Merging Modul gesendet, welches dann einem aufzeichneten Gesicht eine eindeutige ID zuweist und das Crypto Modul damit beauftragt, eben dieses zu verschlüsseln. Das Crypto Modul leitet die verschlüsselten Daten anschließend an das Storage Modul weiter, welches die Metadaten mithilfe des File Moduls in eine Videodatei schreibt.

Dem Nutzer stehen im Demonstrator drei Komponenten zur Verfügung.

1. Stream Übersicht

In der Stream Übersicht kann der Nutzer zwischen den bereitgestellten Echtzeit-Streams mithilfe des Auswahlmenüs wechseln. Des Weiteren kann die Verschlüsselung von Gesichtern gestartet und gestoppt werden. Außerdem werden verwendete Verfahren angezeigt

2. Entschlüsselungsauswahl

In der Entschlüsselungsauswahl kann der Nutzer eine Auswahl an IDs treffen, welche entschlüsselt werden sollen. Die resultierende Entschlüsselungsanfrage wird als Datei exportiert.

3. Entschlüsselung

In dem Reiter Entschlüsselung kann eine zuvor erstellte Entschlüsselungs-Anfrage eingesehen und bestätigt oder verweigert werden. Es ist außerdem möglich nur eine Auswahl der geforderten IDs zu entschlüsseln. Dieser Schritt muss mit der Kenntnis eines nur dem Betreiber des Systems bekannten Geheimnisses bestätigt werden.

Das Ergebnis ist eine Videodatei, in der das Gesicht der ausgewählten ID sichtbar ist.

Hier können Sie ein Video des Demonstrators ansehen.

Bitte beachten Sie: Sobald Sie sich das Video ansehen, werden Informationen darüber an VCRP/Panopto übermittelt. Weitere Informationen dazu finden Sie hier.

Zur Vorgenerierung der benötigten Schlüsselstrome wird wahlweise AES CTR oder ChaCha20 verwendet, welche beide ähnlich gut in den ausgeführten Tests abschnitten. Mit dieser Technik kann eine Echtzeitverschlüsselung, durch einfaches XOR der Bilddaten mit dem Schlüsselstrom, gewährleistet werden. Ausgeführte Laufzeit- und Erkennungstests zeigen zudem auf, dass bezüglich der Erkennungs- und Verfolgungsalgorithmen zwei unterschiedliche Anwendungsfälle bedacht werden müssen.

  • Befinden sich mehr als vier sichtbare Personen im Bild, liefert der CSRTFaceTracker in Kombination mit dem HaarFaceDetection Algorithmus optimale Ergebnisse. Die DlibCNNFaceDetection und der MosseFaceTracker weisen dagegen eine schlechte Erkennungsrate und Performance auf, wenn diese Anzahl an erkennbaren Gesichtern erreicht wird.
  • Sind weniger Personen erkennbar, liefern alle getesteten Erkennungsalgorithmen in Kombination mit dem MosseFaceTracker ähnlich gute Ergebnisse. Lediglich der CSRTFaceTracker schneidet unterdurchschnittlich schlecht ab.
Bearbeiter:

Maxime Erkens, Marius Letsch, Konstantin Rosan und Philipp Steichen

Kontakt:

Konstantin Rosan
konstantin(at)rosan.info

back-to-top nach oben