BUS Identification - Biometric Universal Secured Identification

Hannah Weinberger
HTL Braunau

Tickets für Busse, Konzerte oder Sportveranstaltungen – Zutrittskontrolle betrifft beinahe jeden. Trotzdem sind Systeme zur Überprüfung der Zutrittsberechtigung oftmals nicht sicher und fälschungssicher. Es ist schwierig, die Identität einer Person festzustellen und sicherzugehen, dass ein Ticket auch wirklich dem*der Benutzer*in gehört. Ein Beispiel ist Green Pass, ein System das es Kontrolleuren erlaubt, die COVID-19 Gesundheitszertifikate eines*einer Kund*in durch Scannen eines einzigartigen QR-Codes zu prüfen. Das System kann zwar feststellen, ob dieser QR-Code gültig ist, allerdings nicht überprüfen, ob der Code auch wirklich zum Benutzer gehört. Nutzer*innen müssen ihre Identität durch einen zusätzlichen Ausweis bestätigen, ansonsten könnten Personen ohne Berechtigung Zutritt erlangen.

Um die Identität von Kund*innen bei Verwendung eines Tickets zu kontrollieren, müssen Ticketanbieter*innen persönliche Daten verarbeiten. Käufer*innen müssen persönliche Daten wie das Geburtsdatum, die Adresse und vieles mehr bekanntgeben. Anbieter*innen speichern die Daten und geben sie an die Kontrollinstanzen weiter. Dadurch wird das Ticket mit einer Person verknüpft. Trotz dieser Datenverarbeitung ist es schwierig, den Missbrauch von Tickets, und damit von Zutrittsberechtigungen, zu verhindern.


Lösung:
Die Biometric Universal Secured Identification, BUS Identification, ist ein System zur Zutrittskontrolle und Identifizierung. Im Gegensatz zu bisherigen Systemen können Kund*innen mit BUS Identification verschiedene Tickets in einer zentralen App kaufen. Das System ordnet ein gekauftes Ticket dem*der Käufer*in zu und verknüpft es mit den persönlichen Daten. Diese Daten enthalten lediglich die E-Mail Adresse und ein Vergleichsbild, ansonsten müssen Verbraucher*innen keine Daten preisgeben.

• Wie das B andeutet, arbeitet die BUS Identifikation mit einer biometrischen Überprüfung. Möchte der*die Kund*in ein Ticket nutzen, erfolgt eine biometrische Verifizierung, wie in diesem Fall eine Gesichtserkennung. Auf diese Weise kann nur die Person, die das Ticket tatsächlich gekauft hat, es verwenden. Diese Identifikation führt der*die Nutzer*in mit seinem*ihrem eigenen Mobiltelefon durch.
• Das U in BUS Identification steht für universell und weist darauf hin, dass das System alle Tickets zentral in einer App speichert. Anstatt viele Tickets an verschiedenen Orten aufzubewahren, sorgt BUS Identification dafür, dass Benutzer*innen alle Tickets an einem Ort haben. Zudem können Kund*innen sie jeweils direkt in der App nutzen.
• Das S steht für sicher und betont den Sicherheitsaspekt des Systems. Kund*innen müssen weniger Daten preisgeben und zusätzlich sendet ein zentraler Server die Erlaubnis als verschlüsselten Hashcode.

Nach der biometrischen Überprüfung bei der Verwendung eines Tickets erhalten Nutzer*innen einen QR-Code. Dieser Code funktioniert wie ein Schlüssel und ermöglicht dem*der Benutzer*in, wenn er*sie beispielsweise ein Busticket ausgewählt hat, den Zugang zum Bus. Der*die Busfahrer*in scannt den Code und nach kurzer Gültigkeitsprüfung darf der*die Nutzer*in einsteigen. Auf diese Weise treten die Anbieter*innen und die Nutzer*innen nur durch die QR-Codes in Kontakt und die persönlichen Daten gelangen nicht in fremde Hände.
BUS Identification garantiert damit, dass Nutzer*innen ihre Daten schützen können und eine bessere Kontrolle über alle Tickets haben.


BUS Identification – wie das System funktioniert:
BUS Identification besteht aus zwei Apps und einem Server. Wir verwenden die Programmiersprache Java zur Implementierung der Apps und Phython für den Server. Eine der Apps ist die Applikation für Benutzer*innen, in der sie ein Ticket kaufen und einlösen können. Die zweite App dient zur Überprüfung der Gültigkeit eines Tickets und wird beispielsweise von einem*einer Busfahrer*in bedient. Zur Verwaltung von Benutzer- und Ticketdaten verwenden wir die MySQL-Datenbank.

Unser Server ist die Schnittstelle zwischen der Datenbank und den Apps.
Wenn ein*e Verbraucher*in an einer Veranstaltung teilnehmen möchte, muss er*sie mit der User App ein Foto von seinem*ihrem Gesicht aufnehmen und es zusammen mit dem Ticket an den Server senden. Der Server führt einen Vergleich dieses Bildes mit einem hinterlegten Bild durch. Dadurch wird überprüft, ob die Person, die ein Ticket einlöst, es auch tatsächlich gekauft hat. Wenn die Gesichtserkennung erfolgreich ist, gibt der Server einen Hashcode an die App des Benutzers zurück. Mit diesem Hashcode erstellt die App einen QR-Code, welcher für fünf Minuten gültig ist und wie ein Schlüssel funktioniert. Die Check App scannt den QR-Code und sendet eine Anfrage an den Server, um seine Richtigkeit zu überprüfen. Dieser prüft den im QR-Code hinterlegten Hashcode und gibt das Ergebnis zurück. Falls der Fall eintritt, dass die Gesichtserkennung nicht erfolgreich war oder die fünf Minuten abgelaufen sind, muss der*die Nutzer*in den Prozess des Einlösens seines*ihres Tickets einfach wiederholen. Ist der QR-Code gültig, erhalten Kund*innen Zutritt zum gewünschten Bereich.

User App:
Beim erstmaligen Verwenden der App, ist es notwendig, sich anzumelden. Dies funktioniert ganz einfach in der App mithilfe des Namens, einer E-Mail Adresse, einem Vergleichsbild und einem Passwort. Nach der Anmeldung und einem kurzen Ladebildschirm erscheint der Home Screen, von dem aus der*die Benutzer*in die verschiedenen Möglichkeiten in der App nutzen kann:
- Zuerst muss er*sie ein Ticket kaufen. Dafür kann der*die Verbraucher*in Buy Ticket in der App auswählen, das gewollte Ticket anklicken und anschließend noch einmal bestätigen.
- Wenn bereits mehrere Tickets gekauft wurden, hat die App die Funktion, alle bereits erworbenen Tickets anzuzeigen.
- Möchte ein*eine Benutzer*in ein Ticket verwenden, wählt er*sie die Use Ticket Funktion. In dieser wird das gewollte Ticket ausgewählt und ein Vergleichsbild aufgenommen. Danach kann der*die Konsument*in die Daten an den Server senden, um die Gesichtserkennung durchzuführen. Wenn die Gesichtserkennung erfolgreich war, erstellt die App einen QR-Code, welcher dem Benutzer angezeigt wird. Falls die Gesichtserkennung nicht erfolgreich war, wird dies dem*der Nutzer*in in einem kleinen Fenster mitgeteilt.
- Wenn ein*eine Verbraucher*in älter wird und die App schon für eine längere Zeit benutzt, funktioniert die Gesichtserkennung nicht mehr einwandfrei. Der Prozess dauert somit länger, da die Person auf dem hinterlegten Bild jünger ist, als auf dem aufgenommenen. Dafür gibt es die Funktion, das Bild in den Einstellungen zu ändern. Der*die Benutzer*in kann ein neues Bild von sich aufnehmen und muss sein*ihr Passwort zur Bestätigung eingeben. Ist beides korrekt, wird das hinterlegte Bild in der Datenbank durch das neue ersetzt.

Check App:
Die zweite App ist die Check App. Diese dient der Überprüfung der Gültigkeit eines Tickets beziehungsweise eines QR-Codes. Sie wird beispielswiese von einem*einer Busfahrer*in benutzt. Beim Öffnen der App erscheint ein Startbildschirm, von dem ein neuer Scan gestartet werden kann.
Es öffnet sich eine Live-Vorschau der Kamera, mit der ein QR-Code gescannt werden kann.
Sobald die App einen QR-Code erkannt hat, erscheint ein Button, der zum Ergebnis führt. Direkt nach dem Scan verbindet sich die App mit dem Server und sendet den Inhalt des QR-Codes. Der Server prüft, ob der Hashcode im QR-Code gültig ist und sendet die Antwort. Die Benutzeroberfläche des Ergebnis-Screens ändert sich je nach Berechtigung des Benutzers. Ist der QR-Code gültig, ist die Antwort Permission granted, ist er ungültig, dann erhält die App die Nachricht Permission denied.

Abschluss:
Nach etwa 350 Arbeitsstunden pro Person ist unser System BUS Identification funktionsfähig und erfüllt alle Anforderungen. BUS Identification löst das zu Beginn genannte Problem und ermöglicht eine schnelle und sichere Zutrittskontrolle und Identifikation.

Anhänge:


Kontakt bei Rückfragen:
Carmen Sourij
schulservice@fh-kaernten.at
Tel.: +43 5 90500 7315

Partner Maturaprojekt-Wettbewerb