Doppelte App-Absicherung gegen ungewollte Zugriffe, Teil 2Implementierung der Zwei-Faktor-Authentifizierung
Ein Gastbeitrag von
Dr. Veikko Krypczyk
4 min Lesedauer
Die 2FA verursacht bei der Umsetzung, der Implementierung, einen größeren Aufwand als eine einfache Berechtigungsprüfung. Doch aus Sicherheits- und Compliance-Gründen lohnt sich der Mehraufwand.
Die vollständige Eigen-Implementierung eines Fingerabdruck-Scans ist sehr aufwändig.
Wer eine Zwei-Faktor-Authentifizierung (2FA) umsetzen möchte, muss für beide Faktoren eine entsprechende Logik programmieren und konfigurieren. Auch im laufenden Betrieb ergeben sich für die IT-Administration neue Herausforderungen und Aufgaben.
2FA mit Benutzername/Passwort und Fingerabdruck.
(Bild: Krypczyk)
Beide Zugangsfaktoren müssen für die Nutzer eingerichtet und administriert werden. Der Workflow der 2FA ist am Beispiel der Nutzung von Benutzername/ Passwort (Faktor 1) und der Nutzung des Fingerabdrucksensors auf dem Smartphone (Faktor 2) in der Abbildung vorne dargestellt.
Eine vollständige manuelle Implementierung einer 2FA ist aufwändig. Dabei müssen mehrere Probleme gelöst werden:
Verwaltung der Benutzerkonten
Implementierung des Workflows, zur Abfrage und Weiterleitung der Daten für die Authentifizierung
Verifikation der Daten und Abgleich der Berechtigung
Kommunikation mit der Hardware bei Verwendung von biometrischen Sensoren, wie den Fingerabdrucksensor.
Durch die Nutzung von Komponenten und Services kann dieser Aufwand erheblich verringert werden. Für die Nutzung biometrischer Sensordaten werden sehr häufig mobile Geräte verwendet.
Um diesen Service in der eigenen App zu einzusetzen, muss man auf den Prozess und die Daten zugreifen, welche der Benutzer auf dem mobilen Device für die biometrische Authentifizierung eingerichtet hat. Mit anderen Worten: in der App greift man auf den Service zu, welcher unter iOS bzw. Android konfiguriert wurde. Android und iOS implementieren dazu eigene, unterschiedliche APIs (Programmierschnittstellen).
Im Falle einer Entwicklung der mobilen App mit der integrierten Entwicklungsumgebung RAD Studio (Delphi) und dem plattformübergreifenden Grafikframework FireMonkey gibt es für diese Aufgabe eine Komponente, welche den gesamten Zugriff auf die Hardwareinterfaces (API) unabhängig vom Zielsystem erledigt.
Hinweis
RAD Studio ist eine integrierte Entwicklungsumgebung, die es ermöglicht, mit Hilfe des plattformübergreifenden Grafik-Frameworks FireMonkey Apps für die Zielsysteme Windows, macOS, Linux (Desktop) bzw. Android und iOS (Mobile) zu erstellen. Eine Besonderheit ist die Nutzung des grafischen Designers, mit dessen Hilfe das User Interface gestaltet werden kann. Durch den Compiler werden native Apps für die Zielplattform erstellt, welche direkt auf den Devices ausgeführt werden. Programmiert wird mit der Sprache Delphi, einer modernen Variante von Object Pascal.
In diesem Fall reduziert sich der Aufwand für den Entwickler auf folgende Aufgaben:
Komponente TBiometricAuth in RAD Studio zum aktiven Projekt ergänzt.
(Bild: Embarcadero)
1. Hinzufügen der Komponente zur Anwendung: Das kann in der Delphi IDE sehr einfach im grafischen Designer erledigt werden, indem die Komponente TBiometricAuth auf ein aktives Formular gezogen wird. Es handelt sich um eine nicht visuelle Komponente, deren Eigenschaften zur Entwurfszeit definiert werden. Zur Laufzeit kann auf die Eigenschaften und die Methoden zugegriffen werden (siehe vorne).
2. Schreiben von Quellcode: Es ist zu definieren, welche Aktionen ausgelöst werden soll, wenn die Authentifizierung erfolgreich vorgenommen werden kann bzw. wenn diese fehlschlägt. Dazu werden von der Komponente TBiometricAuth die beiden Ereignisse AuthenticateFail und AuthenticateSuccess bereitgestellt. Im folgenden Beispiel wird sowohl im positiven als auch im negativen Fall eine Message angezeigt. In der Praxis können diese beiden Ereignisse dann zur Auslösung weiterer Vorgänge führen.
procedure TForm1.BiometricAuth1AuthenticateFail(Sender: TObject; const FailReason: TBiometricFailReason; const ResultMessage: string); begin showmessage('Die Authentifizierung ist fehlgeschlagen.'); end;procedure TForm1.BiometricAuth1AuthenticateSuccess(Sender: TObject); begin showmessage('Die Authentifizierung war erfolgreich'); // weitere Methoden auslösen end;
3. Authentifizierung auslösen: Um den Vorgang der Authentifikation auszulösen, verwendet die Komponente das jeweilige API von Android bzw. iOS und nutzt die durch den Anwender eingerichtete Konfiguration. Die aktive Konfiguration entscheidet auch, welcher biometrischer Sensor, d.h. Fingerabdruck oder Gesichtserkennung, verwendet wird. Beispielsweise kann die Authentifikation durch einen Klick auf einen Button ausgelöst werden. Dazu wird lediglich die Methode Authenticate der Komponente aufgerufen:
procedure TForm1.Button1Click(Sender: TObject); begin BiometricAuth1.Authenticate; end;
4. Weitere Services der Komponente (Konfiguration): Mit Hilfe der Komponente kann ebenfalls festgestellt werden, ob auf dem Device ein Authentifikation-Service zur Verfügung steht. Dazu kann die Eigenschaft IsSupported ausgewertet werden. Ist der Service verfügbar, dann ist der Wert true, im anderen Fall ist er false. Ebenso kann die Empfindlichkeit/ Genauigkeit des verwendeten biometrischen Sensors über die Komponente mit Hilfe der Eigenschaft BiometricStrenght eingestellt werden. Wir haben hier die Wahl zwischen den aktiven Einstellungen des Gerätes, einer strengen oder einer weniger strengen Prüfung (siehe dazu obige Anmerkungen zur Fehlerrate).
Mit Hilfe der Komponente können eigene Apps für Android und iOS die Authentifikation mittels biometrischer Sensoren, d.h. Fingerabdruck oder Gesichtserkennung, einfach integrieren. Die aktive Nutzung von biometrischen Sensordaten kann beispielsweise Bestandteil einer 2FA sein und damit die Zugangssicherheit zu Daten uns Services wesentlich erhöhen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Insgesamt ist die Authentifizierung ein wesentlicher Bestandteil der Informationssicherheit und ein unverzichtbares Element, um die Vertraulichkeit, Integrität und Verfügbarkeit von Daten und Ressourcen in einer Softwareumgebung zu gewährleisten. Heutzutage wird die Zwei-Faktor-Authentifizierung sehr häufig angewendet.
Man hat dabei die Wahl zwischen verschiedenen biometrischen Faktoren, wie beispielsweise das Fingerabdruckverfahren. Die Ansteuerung des Sensors, die Datenauswertung und die Verifikation komplett eigenständig zu implementieren ist sehr aufwändig. Nützlich ist der Einsatz von fertigen Komponenten, welche diesen Prozess bei der Implementierung von Apps deutlich vereinfachen und beschleunigen.