We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

TOTP Plugin 1.0

Description

Enhance the access security of your JPlatform site with a strong two-factor authentication based on TOTP (Time based One Time Password).

When to use this plugin?

Do some of your staff require a more secured access to your Digital Workplace? With the TOTP plugin, you can activate two-step authentication for a target population: for these users, the authentication verifies that they possess the mobile phone they have previously configured to access the site.

What does this plugin do?

The TOTP module enables a strong two-factor authentication: this requires users to enter, in addition to tehri usual password, a Time based One Time Password (TOTP). This password is generated by a two-step authentication application that users will have previously installed on their mobile phone.

For users whose authentication is configured as two-factor with this plugin:

  • At their first login, they will need to scan a QR code with a two-step authentication application (Google Authenticator, Microsoft Authenticator, Lastpass Authenticator, etc.)
  • They will have to fill in the generated TOTP in order to validate their phone
  • To authenticate themselves, they will now also have to enter the TOTP generated by the two-step authentication application
  • Once authenticated, they can choose to declare the device they are using as a trusted device: the TOTP code is then no longer required for this device for the duration of the trusted device's validity.

The plugin also provides an easy administration tool to configure :

  • the ability to use recovery keys
  • which groups require a strong two-factor authentication
  • which groups do not require a strong two-factor authentication
  • if two-factor strong authentication is required for administrators
  • the validity period of trusted devices

The administrator can also reset a user's TOTP when the user no longer has access to it and is unable to authenticate.

What our customers like about it

Compatibility with multiple authentication applications

This solution is compatible with all authentication applications following the RFC-6238, including many free, proprietary or open source applications to be installed on mobile, iOS or Android. Our users can therefore choose to install the application that suits them best on their own phone.

Ease of implementation

The security policy defined by our ISSM indicated that all accesses with advanced write privileges, technical and functional administrators, be subject to strong two-factor authentication. With the TOTP module, the configuration was quick and users were able to configure their TOTP very easily.


Screenshots

1. First time access - QR code or secret to configure the authentication application
2. First time access - Recovery keys in case the authentication application is lost
3. Entering the TOTP and saving trusted device
4. Profil page - double factor authentication mode and trusted devices list
5. Administration - plugin properties and configuration options
6. Administration - Resetting double factor authentication

Installation

1. Administration

1.1 Installation

Ajoutez le module dans votre application JPlatform et redémarrez.
Le module est prêt à être utilisé.

1.2 Configuration du module

1.2.1 Imposer l'authentification à 2 étapes pour certains utilisateurs (groupe)

Dans la configuration par défaut du module, l'authentification à 2 étapes peut être configurée explicitement par les utilisateurs depuis l'édition de leur profil, mais elle reste optionnelle.

Vous pouvez imposer son utilisation pour certains utilisateurs, pour cela : 

  • Accédez à l'interface d'administration du site.
  • [optionnel] Créez un groupe dédié dans lequel vous référencerez les utilisateurs ou sous-groupes qui devront utiliser l'authentification à 2 étapes
  • Accédez aux propriétés du modules
  • Remplissez le champ "TOTP requis pour les membres des groupes" avec le groupe nouvellement créé ou avec un autre groupe de votre choix
    TOTP - Capture d'écran - Administration - Propriétés du module 
  • Enregistrez

1.2.2 Imposer l'authentification à 2 étapes pour les administrateurs

Vous pouvez imposer l'utilisation de l'authentification à 2 étapes aux administrateurs, pour cela : 

  • Accédez à l'interface d'administration du site.
  • Accédez aux propriétés du modules
  • Choisissez "Oui" sur l'option "TOTP requis pour les administrateur" 
  • Enregistrez

1.2.3 Imposer l'authentification à 2 étapes suivant d'autres conditions grâce aux règles d'accès

Vous pouvez imposer l'utilisation de l'authentification à 2 étapes sous certaines conditions techniques grâce à la mise en œuvre d'une règle d'accès (aka AccessRules)
Consultez la documentation Règles d'accès des modules de SSO (aka AccessRules) pour plus d'information à ce sujet.

La déclaration de la règle d'accès s'effectue par propriété, en utilisant le préfixe jcmsplugin.totp.target.access-rule.
Exemple de règle imposant l'authentification à 2 étapes dès que l'application est accédée depuis une plage d'adresse IP spécifiques  : 

jcmsplugin.totp.target.access-rule.class: com.jalios.jcms.authentication.rules.IpAccessRule
jcmsplugin.totp.target.ip-access-rule.regex: ^192\\.168\\.0\\..*

1.2.4 Exclure certains comptes de l'authentification à 2 étapes

Selon votre politique de sécurité et votre organisation, il peut s'avérer utile ou nécessaire de toujours exclure l'authentification à 2 étapes pour certains comptes :

  • Compte de support utilisateur
  • Compte partagés
  • Compte technique 
  • ...

Vous pouvez exclure des utilisateurs via leur appartenance à un groupe, pour cela : 

  • Accédez à l'interface d'administration du site.
  • [Optionnel] Créez un groupe dédié dans lequel vous référencerez les utilisateurs ou sous-groupes qui ne devront JAMAIS utiliser l'authentification à 2 étapes
  • Accédez aux propriétés du modules
  • Remplissez le champ "TOTP jamais demandé pour les membres des groupes" avec le groupe nouvellement créé ou avec un autre groupe de votre choix 
  • Enregistrez

1.3 Configuration avancée du module

1.3.1 Désactiver les clés de récupérations

Dans la configuration par défaut du module, des clés de récupération sont affichées à l'utilisateur lors de sa configuration initiale de l'authentification à 2 étapes :

TOTP - Capture d'écran - Configuration initiale - Clés de récupération 

Ces clés peuvent être utilisé par l'utilisateur pour accéder à l'application, en cas de perte de son application d'authentification ou si cette dernière ne lui est pas accessible.

Vous pouvez désactivez l'utilisation des clés de récupération depuis les propriétés du module.
En cas de perte de l'application d'authentification par l'utilisateur, un administrateur pourra réinitialiser celle-ci depuis l'interface de gestion de membres. (cf section dédiée ci-dessous)

1.3.2 Algorithme de hashage SHA-1, SHA-256 ou SHA-512, longueur du code, période de validité

De très nombreuses applications TOTP parmi les plus utilisées du marché ne supportent pas d'autres algorithmes de hashage que SHA-1 (celui requis par défaut dans la RFC 6238) : Google Authenticator, Microsoft Authenticator, LastPass Authenticator, Duo Mobile, Authy, 2FAS Auth, ...
Seules quelques applications moins répandues auprès du grand public supportent les autres algo explicitement : Oracle Mobile Authenticator, Auth0 Guardian, Sophos Authenticator, FreeOTP Authenticator, IBM Verify, andOTP, ...

Pour cette raison, et comme il nous apparait préférable de garantir aux utilisateurs la possibilité d'utiliser un code TOTP (et donc d'accroitre la sécurité de leurs accès), plutôt que de vouloir absolument faire du secure by default au risque d'empêcher la mise en œuvre de l'authentification à double facteur (MFA), le module est livré en standard avec l'utilisation de l'algorithme SHA-1.

Si vous êtes en mesure d'imposer une application d'authentification TOTP spécifique à vos utilisateurs, supportant un algorithme plus fort, il est possible d'utiliser SHA-256 ou SHA-512 
Pour cela positionnez la propriété suivante avec la valeur SHA256 ou SHA512 :

jcmsplugin.totp.code-generation.hashing-algorithm: SHA256|SHA512

Le même type de restrictions s'appliquent également pour d'autres réglages spécifiques à l'implémentation de la RFC 6238.
Si vous pouvez imposer l'application TOTP à utiliser et qu'elle supporte des réglages différents de ceux fournis en standard dans le module, vous pouvez les modifier avec les propriétés suivantes :

  • Longueur du code (que la plupart des applications impose à 6 chiffres). avec une valeur entre 6 et 10 chiffres :
    jcmsplugin.totp.code-generation.code-digits: 8
  • Période de validité du code (par défaut à 30 secondes) : 
    jcmsplugin.totp.code-verification.time-period: 30​

1.4 Réinitialisation de l'authentification à 2 étapes d'un utilisateur

Si utilisateur perd son application d'authentification à 2 étapes, son authentification sur le site n'est plus possible.
L'administrateur peut procéder à une réinitialisation de l'authentification à 2 étapes pour celui-ci :

  • Accédez à l'interface d'administration des membres du site.
  • Ouvrez le menu contextuel d'un utilisateur
  • Cliquez sur "Réinitialiser l'authentification à 2 étapes..."
    TOTP - Capture d'écran - Administration - Réinitialisation de l'authentification TOTP pour un utilisateur 
  • Validez
  • L'utilisateur peut désormais procéder à une nouvelle configuration de l'authentification à 2 étapes.
    Notez que la configuration sera requise si un groupe est configuré dans l'administration du site et que l'utilisateur appartient à ce groupe.

2. Utilisation

2.1 Configuration de l'application d'authentification

Vous pouvez activer explicitement l'authentification à 2 étapes depuis votre profil utilisateur, ou l'administrateur du site peut vous imposer son utilisation.
Dans tous les cas, la configuration s'effectue en utilisation une application d'authentification (généralement sur smartphone) :

  • Soit par scan du QR code avec l'appareil photo
  • Soit par la saisie manuelle du code secret

Après saisie d'une ces informations dans votre application, un code est affiché et doit être saisi sur le site pour procéder à l'authentification : 

TOTP - Capture d'écran - Configuration initiale - Application TOTP 

Consultez la section Quelles sont les applications d'authentification compatibles ?

2.2 Gestion des appareils de confiance

Lorsque vous vous connectez fréquemment depuis un appareil, vous pouvez choisir, lors de la phase d'authentification de faire confiance à cet appareil afin que la saisie du code TOTP ne soit pas demander pendant une certaine période.

TOTP - Capture d'écran - Saisi du code TOTP à l'authentification - champs vide 

En attribuant un nom à cet appareil, vous pourrez le retrouver et l'identifier précisément depuis votre profil utilisateur : 

TOTP - Capture d'écran - Information affichées dans la fiche profil 

Note : une déconnexion explicite depuis un appareil de confiance provoque automatiquement sa suppression.

3. FAQ

3.1 Quelles sont les applications d'authentification compatibles ?

Voici quelques applications d'authentification compatibles avec l'authentification à 2 étapes TOTP.
Cette liste n'est pas exhaustive et ne constitue pas une recommandation.

3.2 Comment s'authentifier avec un client non interactif (monitoring, OpenAPI, etc)

Dès lors qu'une des méthodes d'authentification suivante est utilisée, l'authentification est considérée comme sécurisée et la saisie d'un code TOTP n'est pas demandé : 

  • Authentification JSON Web Token (JWT)
  • Authentification par AuthKey

Pour vos clients non interactifs, utilisez impérativement une de ces méthodes d'authentification.
Autrement, vous devrez utiliser un compte pour lequel l'authentification à 2 étape n'est pas requise.

3.3 Est-il possible d'utiliser la délégation sur un compte ayant configuré l'authentification à 2 étapes

Oui.
La saisie d'un code TOTP n'est pas nécessaire pour utiliser la délégation.

3.4 L'utilisation de l'authentification à 2 étapes est-elle compatible avec JDrive

2 prérequis sont nécessaires pour utiliser l'authentification à 2 étapes avec JDrive:

  1. La version 4.4 du client JDrive est requise.
  2. Lors de la connexion, l'utilisateur doit sélectionner le mode d'authentification par navigateur:

mceclip0 - 2020-03-05 11h39m08s 

3.5 L'utilisation de l'authentification à 2 étapes est-elle compatible avec l'application JMobile

La version 1.1 de l'application JMobile est requise.


Information

Version
  • 1.0
Stability
  • Stable
Compatibility
  • JPlatform 10
Certified by Jalios
  • Yes
Price
  • Module payant
Support
  • Jalios Support
Author
  • Jalios SA
License
  • Jalios
Size
  • 1.53 MB
Updated
  • 3/16/20
Download
  • 3