La double authentification
Lorsque vous vous identifiez dans l'application, vous utilisez un login et un mot de passe, soit que vous avez choisi, soit qui vous a été fourni.
Si quelqu'un arrive à découvrir votre mot de passe, soit par des essais successifs, soit en arrivant à vous piéger, il pourra se connecter à votre place dans le logiciel. Pour limiter les risques, un second mécanisme d'identification peut être utilisé, qui va être basé sur l'utilisation d'un appareil en votre possession : c'est la double authentification.
Quel est l'appareil que vous emmenez toujours avec vous, et dont vous ne vous séparez (presque) jamais ? Votre smartphone ! C'est à celui-ci que nous allons confier le soin de réaliser la seconde authentification.
Comment ça marche ?
Un secret va être partagé entre l'application et votre smartphone. Ce secret est une clé cryptographique, qu'il est impossible de découvrir si on ne la connait pas. Dans l'application, cette clé est associée à votre compte.
Un algorithme, basé sur l'heure courante, permet de générer un code de 6 chiffres à partir de cette clé secrète. Les smartphones et les serveurs partagent la même heure : ils se synchronisent plusieurs fois par jour avec des horloges de référence. Comme l'algorithme utilisé, la clé secrète, et l'heure sont identiques entre le smartphone et le serveur, le code généré est forcément identique.
Ainsi, l'application peut facilement vérifier que le code généré par le smartphone est identique à celui qu'elle peut calculer, et s'assurer que vous êtes bien le possesseur du compte utilisé.
Dans la pratique, le code a une durée de validité de 30 secondes : au bout de ce laps de temps, il est caduc, et un nouveau code va être généré.
Comment la clé secrète est échangée ?
Au moment de l'activation de la double authentification, le serveur va générer la clé secrète et l'encapsuler dans un QRCode, qui va être affiché à l'écran. Il suffit alors de le lire avec une application dédiée pour qu'il soit enregistré dans votre smartphone.
La clé secrète est associée à votre compte dans la base de données et est également chiffrée avec un autre mécanisme : si celle-ci venait à être récupérée de manière illégale, sans les clés de chiffrement complémentaires, votre clé secrète restera illisible.
Une fois la clé secrète copiée dans votre smartphone, celle-ci n'est plus jamais échangée, et mis à part si vous perdez votre smartphone, elle a peu de chances d'être découverte.
Quand faut-il activer la double authentification ?
Par défaut, le logiciel impose la double authentification dès que vous accédez à des modules d'administration (droit admin).
Si l'application gère des données sensibles, il est également souhaitable d'activer ce mécanisme.
Quels logiciels peut-on utiliser dans le smartphone ?
Vous devez utiliser un logiciel supportant la norme TOTP. Parmi les plus connus, vous pouvez installer FreeOTP+, disponible sur IOS ou Android.
Si vous devez travailler dans une pièce à accès restreint (laboratoire protégé), vous pouvez également utiliser un logiciel qui s'installe dans votre ordinateur, comme Ente Auth pour Windows ou Authenticator pour Linux. D'autres solutions sont également disponibles, certaines intégrées à des offres plus globales, comme celle proposée par Proton (messagerie sécuritée, vpn, etc.). Ces logiciels vous permettent en général de sauvegarder vos clés, parfois en les chiffrant.
Peut-on recopier la clé dans un second terminal ?
Vous pouvez tout à fait afficher le qrcode qui permet d'initialiser un terminal sur votre écran. Pour cela, dans le menu de droite (sous votre login), choisissez Afficher le code TOTP.
Que faire si vous perdez votre smartphone ou votre clé secrète ?
Demandez à un administrateur de réinitialiser votre clé secrète. Si vous êtes le dernier administrateur de l'application, il vous faudra (faire) effacer la clé secrète dans la base de données.