TsgcWSAPIServer_WebAuthn

Only the OpenSSL 3.

Inleiding

Het TsgcWSAPIServer_WebAuthn-component biedt een eenvoudige maar krachtige oplossing voor het implementeren van de WebAuthn Relying Party-server, waardoor wachtwoordloze authenticatie mogelijk is in uw webtoepassing. Een WebAuthn-toepassing bestaat uit een WebAuthn-server die de serverregistratie en -authenticatie afhandelt, en een clientzijdetoepassing die gewoonlijk een JavaScript-toepassing is.

 

WebAuthn vereist het gebruik van beveiligde verbindingen (SSL/TLS), dus de OpenSSL-bibliotheken moeten worden geïmplementeerd en geconfigureerd met de server.

 

Alleen de OpenSSL 3.0.0+ API wordt ondersteund, eerdere OpenSSL-versies werken mogelijk niet.

 

Configuratie

 

De TsgcWSAPIServer_WebAuthn moet worden gekoppeld aan een HTTP-server, TsgcWebSocketHTTP_Server of TsgcWebSocketServer_HTTPAPI, via de Server-eigenschap. U kunt de servereindpunten configureren die de registratie- en verificatieopties afhandelen, evenals de WebAuthn-opties zoals ondersteunde algoritmen, origins en meer.

 

Eindpunt-opties

Hier kunt u de server-eindpunten configureren die de HTTP/JavaScript-verzoeken afhandelen voor het gebruik van WebAuthn als authenticator. De component is al geconfigureerd met standaard-eindpunten, maar u kunt ze allemaal aanpassen aan uw behoeften.

 

 

Voorbeeld: als uw server luistert op domein www.test.com, is het verzoek voor authenticatieopties standaard http://www.test.com/sgcWebAuthn/Authentication/Options

 

WebAuthn-opties

In deze eigenschap kunt u de hoofdopties van de WebAuthn Server-component configureren.

 

 

WebAuthn gebruikt origins om same-origin-beleidsbeperkingen af te dwingen, die essentieel zijn voor het voorkomen van phishing en cross-site-aanvallen. Tijdens de WebAuthn-registratie- en verificatieprocessen wordt de origin strikt gevalideerd door de browser en de authenticator.

 

 

 

In WebAuthn is crossOrigin een booleaanse parameter die aangeeft of de WebAuthn-bewerking wordt uitgevoerd vanuit een cross-origin-context, zoals een iframe ingesloten vanuit een andere oorsprong dan de top-level browsercontext.

Deze parameter werd geïntroduceerd om browsers en authenticatoren te helpen authenticatieverzoeken veilig af te handelen in ingebedde omgevingen — een veelvoorkomend scenario in moderne webtoepassingen.

 

 

WebAuthn ondersteunt een verscheidenheid aan cryptografische algoritmen voor het genereren en verifiëren van publieke sleutelcertificaten. Deze algoritmen worden gebruikt tijdens de registratie van certificaten (met navigator.credentials.create()) en authenticatie (met navigator.credentials.get()), en zorgen voor veilige ondertekening en validatie van uitdagingen met behulp van asymmetrische sleutelparen. De server is standaard geconfigureerd met ES256 en RS256, de meest gebruikte algoritmen. U kunt op elk moment wijzigen welke algoritmen worden ondersteund via de eigenschap Algorithms. De volgende algoritmen worden ondersteund:

 

 

In WebAuthn is attestatie een optioneel mechanisme waarmee de authenticator (bijv. apparaat of beveiligingssleutel) informatie kan verstrekken over zijn fabrikant, model en beveiligingskenmerken tijdens het aanmaken van een credential. Deze informatie helpt de Relying Party (RP) te beslissen of zij de authenticator vertrouwt.

 

Verschillende attestation-formaten definiëren hoe deze gegevens zijn gestructureerd en geverifieerd. Drie veelgebruikte formaten zijn android-key, packed, en andere zoals fido-u2f, apple of none. Standaard zijn alle attestation-formaten ingeschakeld. Hieronder vindt u de lijst met ondersteunde attestation-formaten:

 

 

 

 

 

 

 

In de WebAuthn API is AllowCredentials een optioneel veld dat wordt gebruikt tijdens het authenticatieproces (via navigator.credentials.get()). Het specificeert een lijst van credential-ID's die de gebruiker mogen authenticeren voor een bepaalde Relying Party (RP). Dit mechanisme stelt de RP in staat te bepalen welke credentials geldig zijn voor een inlogpoging. De eigenschap credentials heeft de volgende velden:

 

 

 

 

WebAuthn Protocol

 

 

 

 

 

Referentie