WebAuthn
This page describes how to use the WebAuthn authentication module.
Introduction
Module Structure
In FIDO2, there are two sequences: Registration
of authentication device and Authentication
using authentication device.
WebAuthn authentication follows these sequences and is divided into two modules: WebAuthn (Registration) and WebAuthn (Authentication).
By including them in the authentication chain of OpenAM, it is possible to combine different authentication for “registration” and “authentication”.
LDAP Directory Structure
Traditionally, OpenAM stores authentication device information as user attributes (such as FR OATH authentication).
However, WebAuthn authentication stores the authentication device in a different directory than the user.
ou=example,ou=com
│
├─ou=Users <- User storage location
│ ├─uid=user1
│ ├─uid=user2
│ └─uid=user3
│
└─ou=Credentials <- Authentication device storage location
├─fido2CredentialID=XXXXXXXXXXX
├─fido2CredentialID=XXXXXXXXXXX
└─fido2CredentialID=XXXXXXXXXXX
The entryUUID attribute associates the user entry with the authentication device entry.
The following example shows that user1 has two authenticating devices and user3 has one authenticating device (user2 does not own).
ou=example,ou=com
│
├─ou=Users
│ ├─uid=user1
│ │ └─entryUUID: 1f23ab57-8391-4d81-8799-6538fe6d06c7
│ ├─uid=user2
│ │ └─entryUUID: 639c7d57-ac06-3493-8faf-54650b3a383c
│ └─uid=user3
│ └─entryUUID: f01f029a-4908-48da-96e1-28171a98f423
│
└─ou=Credentials
├─fido2CredentialID=XXXXXXXXXXX <- user1
│ └─fido2UserID: 1f23ab57-8391-4d81-8799-6538fe6d06c7
├─fido2CredentialID=XXXXXXXXXXX <- user1
│ └─fido2UserID: 1f23ab57-8391-4d81-8799-6538fe6d06c7
└─fido2CredentialID=XXXXXXXXXXX <- user3
└─fido2UserID: f01f029a-4908-48da-96e1-28171a98f423
Use Case
The use cases for WebAuthn authentication are shown below. Authentication module settings vary depending on the use case.
Use Case | Description |
---|---|
Passwordless authentication | Authenticate with ID and authentication device by FIDO2. |
Multi-factor authentication | FIDO2 is used as a multi-factor authentication in combination with ID / password authentication. |
Usernameless authentication | Authenticate only with the FIDO2 authentication device (Resident Key) that stores the user handle. |
The use cases shown here are for the authentication
sequence. This document does not mention the use case of the registration
sequence.
In this document, WebAuthn (registration) is used in combination with data store authentication (ID / password authentication).
Preparation
Before introducing WebAuthn authentication, the following preparations are required on the OpenAM server.
- OpenAM server is running over HTTPS.
- OpenAM initial settings are complete.
- The LDAP attribute used for WebAuthn authentication is permitted in the user data store setting.
- Prepare directory server for authentication device.
The user data store setting
As already mentioned, user entry and authentication device entry are linked by entryUUID attribute. Therefore, entryUUID must be allowed in the user data store.
Note that this setting is not required when using embeded OpenDJ as a user data store for test purposes.
- Log in to OpenAM as an administrator user.
- Move to
the target realm
->Data Stores
->The target data store
. - Add entryUUID to
LDAP User Attributes
and clickSave
button.
The Directory server for authentication devices
Prepare a directory server for the authentication device. Usually, it is assumed to be used together with an LDAP server for users.
The authentication device directory server must implement an LDAP schema for the authentication device. By default, this schema is assumed to be used.
Note that this setting is not required when using the embeded OpenDJ as an authentication device directory server for test purposes.
The authentication device storage location
Prepare an entry for the authentication device storage location.
In this document, ou=Credentials,dc=openam,dc=jp
is used.
Set up as passwordless authentication
This chapter shows the procedure for introducing WebAuthn authentication as passwordless authentication.
Set up WebAuthn Authenticator Service
In order to operate the WebAuthn authentication module, it is necessary to create a WebAuthn Authenticator service and specify the directory server and LDAP object / attribute to store the authentication device.
- Log in to OpenAM as an administrator user.
- Move to
the target realm
->Services
. - Click
Add a Service
button. - Select
WebAuthn Authenticator Service
forService Type
and click theCreate
button. - Enter each parameter and click
Save Changes
. The following are examples of parameters. When using the embeded OpenDJ, be sure to enter theBind User Password
.
Item | Example |
---|---|
Authenticator Object Class | fido2Credential, top |
Credential ID Attribute | fido2CredentialID |
Credential Public Key Attribute | fido2PublicKey |
Credential Name Attribute | fido2CredentialName |
Signature Counter Attribute | fido2SignCount |
User Handle Attribute | fido2UserID |
Primary LDAP Server | ldap.example.co.jp:389 |
Base DN | ou=Credentials,dc=openam,dc=jp |
Bind User DN | cn=amuser,dc=openam,dc=jp |
Bind User Password | Enter the bind user password |
LDAP Connection Mode | LDAP |
Configure the WebAuthn (Registration) module
Create an instance of the WebAuthn (Registration) module and create an authentication chain for registration.
- Log in to OpenAM as an administrator user.
- Move to
Target realm
->Authentication
->Modules
- Click
Add Module
button - Here, enter
registerModule
in Name, selectWebAuthn (Registration)
in Type, and click theCreate
button. -
Enter each parameter and click
Save Changes
. The following are examples of parameters.Item Example Relying Party Name OpenAM Origin https://openam.example.co.jp:443 Attestation none Attachment undefined Require Resident Key false User Verification preferred Timeout(milliseconds) 60000 Display Name Attribute cn Maximum number of authentication devices 3 Authentication Level 0 - Move to
Authentication
->Chains
from the left menu. - Click
Add Chain
button. - Enter
registerService
in Name here, and click theCreate
button. - The authentication chain setting screen is displayed. Click the
Add a module
button. - Select
DataStore
from theSelect Module
pull-down, selectRequisuite
forSelect Criteria
, and click theOK
button. - Click the
Add a Module
button again. - Select
registerModule
from theSelect Module
pull-down, selectRequired
forSelect Criteria
and click theOK
button. - When you return to the authentication chain setting screen, click the
Save Changes
button.
Configure the WebAuthn (Authentication) module
Create an instance of the WebAuthn (Authenticaton) module and create an authentication chain for authentication.
- Log in to OpenAM as an administrator user.
- Move to
Target realm
->Authentication
->Modules
- Click
Add Module
button - Here, enter
pwdLessModule
in Name, selectWebAuthn (Authentication)
in Type, and click theCreate
button. -
Enter each parameter and click
Save Changes
. The following are examples of parameters.Item Example Relying Party Name OpenAM Origin https://openam.example.co.jp:443 Use for Resident Key false User Verification preferred Timeout(milliseconds) 60000 Use for MFA false Display Name Attribute cn Authentication Level 0 - Move to
Authentication
->Chains
from the left menu. - Click
Add Chain
button. - Enter
pwdLessService
in Name here, and click theCreate
button. - The authentication chain setting screen is displayed. Click the
Add a module
button. - Select
pwdLessModule
from theSelect Module
pull-down, selectRequired
forSelect Criteria
and click theOK
button. - When you return to the authentication chain setting screen, click the
Save Changes
button.
Operation (passwordless authentication)
Register an authentication device
Register the authentication device by running the authentication chain for registration.
- Access the following URL in a browser that supports WebAuthn:
- https://openam.example.co.jp/openam/UI/Login?service=registerService
-
The login screen will be displayed. Enter your
user name
/password
and click the “LOG IN” button. -
A pop-up appears in the browser. Follow the instructions on the browser to operate the authentication device.
-
If the registration process is successful, the message
PublicKey Registration Complete. Enter Credential DisplayName(optional)
will be displayed. Enter the identification name of the authentication device and click theNEXT
button. - An user session is created and the user profile screen is displayed.
Authenticate with an authentication device
Authenticate with the authentication device by operating the authentication chain for authentication.
- Access the following URL in a browser that supports WebAuthn:
- https://openam.example.co.jp/openam/UI/Login?service=pwdLessService
-
The login screen will be displayed. Enter the user name and click the “LOG IN” button.
-
A pop-up appears in the browser. Follow the instructions on the browser to operate the authentication device.
- If the authentication is successful, an user session is issued and the user profile screen is displayed.
Set up as multi-factor authentication
This chapter shows the procedure for introducing WebAuthn authentication as multi-factor authentication.
Set up WebAuthn Authenticator Service
In order to operate the WebAuthn authentication module, it is necessary to create a WebAuthn Authenticator service and specify the directory server and LDAP object / attribute to store the authentication device.
The procedure and settings are the same as 「Set up WebAuthn Authenticator Service」. If you have already done so, go to the next step.
Configure the WebAuthn (Registration) module
Create an instance of the WebAuthn (Registration) module and create an authentication chain for registration.
The procedure and settings are the same as 「Configure the WebAuthn (Registration) module」. If you have already done so, go to the next step.
Configure the WebAuthn (Authentication) module
Create an instance of the WebAuthn (Authenticaton) module and create an authentication chain for authentication.
- Log in to OpenAM as an administrator user.
- Move to
Target realm
->Authentication
->Modules
- Click
Add Module
button - Here, enter
mfaModule
in Name, selectWebAuthn (Authentication)
in Type, and click theCreate
button. -
Enter each parameter and click
Save Changes
. The following are examples of parameters.Item Example Relying Party Name OpenAM Origin https://openam.example.co.jp:443 Use for Resident Key false User Verification preferred Timeout(milliseconds) 60000 Use for MFA true Display Name Attribute cn Authentication Level 0 - Move to
Authentication
->Chains
from the left menu. - Click
Add Chain
button. - Enter
mfaService
in Name here, and click theCreate
button. - The authentication chain setting screen is displayed. Click the
Add a module
button. - Select
DataStore
from theSelect Module
pull-down, selectRequisuite
forSelect Criteria
and click theOK
button. - Click the
Add a module
button again. - Select
mfaModule
from theSelect Module
pull-down, selectRequired
forSelect Criteria
and click theOK
button. - When you return to the authentication chain setting screen, click the
Save Changes
button.
Operation (Multi-factor authentication)
Register an authentication device
Register the authentication device by running the authentication chain for registration.
The procedure and settings are the same as 「Register an authentication device」. If you have already done so, go to the next step.
Authenticate with an authentication device
Authenticate with the authentication device by operating the authentication chain for authentication.
- Access the following URL in a browser that supports WebAuthn:
- https://openam.example.co.jp/openam/UI/Login?service=mfaService
-
The login screen will be displayed. Enter your
user name
/password
and click the “LOG IN” button. -
A pop-up appears in the browser. Follow the instructions on the browser to operate the authentication device.
- If the authentication is successful, an user session is issued and the user profile screen is displayed.
Set up as usernameless authentication
This chapter shows the procedure for introducing WebAuthn authentication as usernameless authentication.
Set up WebAuthn Authenticator Service
In order to operate the WebAuthn authentication module, it is necessary to create a WebAuthn Authenticator service and specify the directory server and LDAP object / attribute to store the authentication device.
The procedure and settings are the same as 「Set up WebAuthn Authenticator Service」. If you have already done so, go to the next step.
Configure the WebAuthn (Registration) module
Create an instance of the WebAuthn (Registration) module and create an authentication chain for registration.
- Log in to OpenAM as an administrator user.
- Move to
Target realm
->Authentication
->Modules
- Click
Add Module
button - Here, enter
residentRegisterModule
in Name, selectWebAuthn (Registration)
in Type, and click theCreate
button. -
Enter each parameter and click
Save Changes
. The following are examples of parameters.Item Example Relying Party Name OpenAM Origin https://openam.example.co.jp:443 Attestation none Attachment undefined Require Resident Key true User Verification preferred Timeout(milliseconds) 60000 Display Name Attribute cn Maximum number of authentication devices 3 Authentication Level 0 - Move to
Authentication
->Chains
from the left menu. - Click
Add Chain
button. - Enter
residentRegisterService
in Name here, and click theCreate
button. - The authentication chain setting screen is displayed. Click the
Add a module
button. - Select
DataStore
from theSelect Module
pull-down, selectRequisuite
forSelect Criteria
, and click theOK
button. - Click the
Add a Module
button again. - Select
residentRegisterModule
from theSelect Module
pull-down, selectRequired
forSelect Criteria
and click theOK
button. - When you return to the authentication chain setting screen, click the
Save Changes
button.
Configure the WebAuthn (Authentication) module
Create an instance of the WebAuthn (Authenticaton) module and create an authentication chain for authentication.
- Log in to OpenAM as an administrator user.
- Move to
Target realm
->Authentication
->Modules
- Click
Add Module
button - Here, enter
residentModule
in Name, selectWebAuthn (Authentication)
in Type, and click theCreate
button. -
Enter each parameter and click
Save Changes
. The following are examples of parameters.Item Example Relying Party Name OpenAM Origin https://openam.example.co.jp:443 Use for Resident Key true User Verification preferred Timeout(milliseconds) 60000 Use for MFA false Display Name Attribute cn Authentication Level 0 - Move to
Authentication
->Chains
from the left menu. - Click
Add Chain
button. - Enter
residentService
in Name here, and click theCreate
button. - The authentication chain setting screen is displayed. Click the
Add a module
button. - Select
residentModule
from theSelect Module
pull-down, selectRequired
forSelect Criteria
and click theOK
button. - When you return to the authentication chain setting screen, click the
Save Changes
button.
Operation (usernameless authentication)
Register an authentication device
Register the authentication device by running the authentication chain for registration. It is the same as 「Register an authentication device」 except URL to access.
- https://openam.example.co.jp/openam/UI/Login?service=residentRegisterService
Authenticate with an authentication device
Authenticate with the authentication device by operating the authentication chain for authentication.
- Access the following URL in a browser that supports WebAuthn:
- https://openam.example.co.jp/openam/UI/Login?service=residentService
-
A pop-up appears in the browser. Select the user to authenticate or the authentication device to use.
-
Follow the instructions on the browser to operate the authentication device.
- If the authentication is successful, an user session is issued and the user profile screen is displayed.
Manage authentication devices
This chapter describes how to manage authentication devices.
Display authenticated devices
The authentication device can be displayed on the user’s dashboard screen.
-
Authenticate with OpenAM and display the user profile screen.
-
Click on
DASHBOARD
at the top left of the screen. -
Scroll the dashboard screen, there is
FIDO2(WebAuthn) Authentication Devices
section, then you can check the registered authentication device.
Check the authentication device information
In addition to the name of the authentication device, you can check the registration date and time. Please refer to this when deleting an authentication device.
-
The authentication device is displayed by the procedure of 「Display authenticated devices」.
-
Click the device icon, you can display the device name and registration date and time.
Deleting authentication devices
Authentication devices can be deleted on the user’s dashboard screen.
-
The authentication device is displayed by the procedure of 「Display authenticated devices」.
-
Click on the upper right corner of the device icon and click on the Delete menu.