FIDO2(WebAuthn)-Server, offiziell zertifiziert von der FIDO Alliance
FIDO (Fast IDentity Online) ist ein offener Standard für die Online-Authentifizierung mit dem Ziel, die Schwachstellen von Passwörtern zu beseitigen. FIDO verwendet Public-Key-Kryptografie anstelle symmetrischer Anmeldeinformationen wie Passwörter oder PINs.
Im Wesentlichen generiert das Gerät des Benutzers ein Schlüsselpaar, speichert den privaten Schlüssel sicher und teilt den öffentlichen Schlüssel mit dem Server. Sowohl bei der Registrierung als auch bei der Authentifizierung fordert der Server das Gerät heraus und das Gerät antwortet mit einer digitalen Signatur unter Verwendung des privaten Schlüssels. Anschließend verifiziert der Server diese Signatur mit dem hinterlegten öffentlichen Schlüssel. Dieses Challenge-Response-Protokoll trägt dazu bei, Replay-Angriffe zu verhindern.
FIDO2 ist eine Erweiterung des FIDO-Standards für Web- und andere Plattformen, die von den wichtigsten Webbrowsern und Betriebssystemen unterstützt wird. Es umfasst zwei Hauptvorgänge: Registrierung und Authentifizierung.
Sowohl der Registrierungs- als auch der Authentifizierungsprozess nutzen ein Challenge-Response-Protokoll, um Replay-Angriffe zu verhindern. Bei der Registrierung wird eine Challenge vom Server an das Gerät gesendet und das Gerät antwortet mit seinem privaten Schlüssel. Ebenso wird während der Authentifizierung eine weitere Aufforderung gesendet, um die Identität des Benutzers zu überprüfen. Dadurch wird sichergestellt, dass jeder Versuch einzigartig und sicher ist.
Starten Sie den RP-Server und den FIDO2-Server:
# Start RP Server
cd rpserver
./gradlew bootRun
# Start FIDO2 Server
cd fido2-demo/demo
./gradlew bootRun
Wenn Sie Docker konfiguriert haben, können Sie docker-compose verwenden.
# Start both RP Server and FIDO2 Server
docker-compose up
Sobald die Anwendungen ausgeführt werden, rufen Sie die Testseite auf:
Der FIDO2-Server verwendet H2 als eingebettete Datenbank in einer lokalen Umgebung, die für Staging-, Beta- oder Produktionsumgebungen durch eine eigenständige Datenbank (wie MySQL) ersetzt werden sollte. Greifen Sie auf die H2-Webkonsole zu unter:
jar {
processResources {
exclude( " **/*.sql " )
}
}
Um die API-Dokumentation anzuzeigen, führen Sie die folgenden Schritte aus:
cd fido2-demo/demo
./gradlew makeRestDocs
./gradlew bootRun
Nachdem Sie die Anwendungen ausgeführt haben, können Sie API-Leitfadendokumente unter dem folgenden Link anzeigen.
Wir stellen auch Client SDK für Android/iOS-Anwendungen bereit. Bitte sehen Sie unten.
Die checkOrigin
-Methode validiert die Herkunft von Anfragen von LINEs Android- und iOS-Anwendungen. Es sorgt für Sicherheit, indem es überprüft, ob der Ursprung der Anfrage mit einer vorkonfigurierten Liste zulässiger Ursprünge übereinstimmt.
So konfigurieren Sie: Um die checkOrigin
-Methode zu verwenden, richten Sie die zulässigen Ursprünge in der Datei application.yml
ein. Hier ist eine Beispielkonfiguration:
app :
origins :
- android:aaa-bbb
- ios:aaa-bbb
Hinweis: Ersetzen Sie aaa-bbb
durch die entsprechenden Werte für Ihre Anwendung.
Wichtig: Diese Konfiguration ist optional und nur bei der Integration mit LINE WebAuthn für Android- und iOS-Anwendungen erforderlich.
LY Engineering Blogs
LY Tech Videos
Internal