La fin des mots de passe : NoPassConnect

, par B. Degoy

i-Tego [1] développe NoPassConnect pour le serveur OAuthSD, une application de mobile permettant une identification très sécurisée de l’utilisateur final sans mot de passe.

Fondée sur les meilleures pratiques cryptographiques, cette méthode est fermée à une utilisation publique et se trouve donc particulièrement adaptée à la sécurisation des accès aux données dans un domaine d’entreprise.

OAuthSD + NoPassConnect est une solution idéale pour sécuriser les accès aux applications des entreprises dans le cadre du télétravail.

La vidéo suivante montre comment ouvrir une session OpenID Connect en un clic et sans mot de passe :

 

 

Pour fonctionner, NoPassConnect nécessite :
– l’application mobile NoPassConnect installée sur un smartphone. Celui-ci doit être connecté à Internet ou connecté au réseau WiFi de l’entreprise ce qui permet une utilisation sanctuarisée dans un espace restreint.
– un serveur OAuthSD avec le module d’identification NoPassConnect.
Les applications compatibles OpenID Connect n’ont pas besoin d’être modifiées.

OAuthSD peut intégrer NoPassConnect comme méthode d’identification primaire, qui remplacera avantageusement des systèmes fondés sur des lecteurs de carte par exemple.
NoPassConnect peut également être utilisé comme identification secondaire (Identification à deux facteurs, TFA).

Login SmartConnect - NopassConnect

Les avantages de NoPassConnect :

– Productivité : NoPassConnect permet une connexion ultra-rapide en mode SSO : il suffit de scanner un QR-Code présenté à l’écran par OAuthSD (une fois au début d’une séance de travail), le reste est automatique.
SmartConnect élimine le besoin de mot de passe et épargne le temps perdu à rétablir les identifiants égarés.

– Economie : NoPassConnect est installé sur un mobile ordinaire [2] sans nécessiter de matériel supplémentaire ni de protocoles d’installation complexes. Une entreprise peut envisager d’équiper un très grand nombre d’utilisateurs, y compris extérieurs, pour une fraction du prix d’un système d’identification matériel, avec un gain de temps pour l’administration et la maintenance. C’est l’idéal pour le télétravail !

– Faible surface d’attaque : les mots de passe sont le maillon faible de l’identification. NoPassConnect les remplace par des informations cryptographiques robustes, à usage unique.
Les échanges sont limités à une liaison cryptée mobile-serveur OAuthSD.
Il n’y a pas de logiciel à installer sur les stations de travail ou sur les navigateurs (contrairement à un lecteur d’ID card) ; ceux-ci n’interviennent pas dans le protocole d’identification de NoPassConnect, ni a fortiori leurs liaisons publiques, ce qui permet d’éviter deux cibles d’attaques particulièrement vulnérables.

De plus :
NoPassConnect est fondé sur une communication par le réseau de données mobiles (et non l’Internet) entre un mobile connecté et le serveur d’authentification (OP) auquel les applications ont délégué l’identification des utilisateurs.

NoPassConnect ne répond jamais à une demande et ne nécessite pas d’entrée au clavier (pas d’identifiant, de mot de passe ou de code) ce qui ferme la plupart des possibilité d’attaques et distingue la solution de ses concurrentes.

Ces deux caractéristiques sont innovantes et constituent un apport original.

– Sécurité : Mieux qu’un mot de passe qui peut être compromis, un smartphone est un objet très personnel, mieux gardé par son propriétaire que tout autre objet. Sa perte ou son vol sont rapidement constatés (alors qu’il n’y a généralement pas moyen de savoir si un mot de passe a été compromis), ce qui permet à un administrateur d’invalider rapidement son enregistrement sur le serveur OAuthSD.

De plus, les smartphones sont équipés de systèmes de reconnaissance biométrique de plus en plus performants. L’identification au moyen du smartphone permet donc de préjuger valablement de l’identité de l’utilisateur final.

– Segmentation géographique : Par défaut, l’usage de NoPassConnect peut se faire à partir de n’importe quelle connexion de données, qu’il s’agisse du réseau d’un opérateur ou d’un réseau WiFi. L’usage de NoPassConnect peut-être limité au réseau WiFi de l’entreprise, jusqu’à sélectionner par leur IP locale les bornes autorisées. Il serait également possible d’autoriser une connexion domestique donnée pour permettre le travail à domicile. Il est également possible, sur un réseau d’entreprise, de définir les postes de travail capables ou non de se connecter avec NoPassConnect .

– Authentification : NoPassConnect impose l’identifiant OpenID de l’utilisateur, qui est intégré au moment de la configuration initiale du mobile sous le contrôle d’un administrateur. Au cours de cette opération, le mobile doit scanner un QR-Code présenté par l’administrateur, ce qui permet d’identifier l’utilisateur avec rigueur ( à l’opposé de l’enregistrement à distance tel que pratiqué par WebAuthn par exemple ).

Les administrateurs peuvent affecter en temps réel les autorisations ou dénier les accès. Plusieurs dispositifs permettent de détecter et de bloquer automatiquement des usages détournés, comme par exemple l’utilisation d’une autre station de travail que celles qui auront été autorisées, etc.

En résumé, les avantages déterminants pour la sécurité des données d’une entreprise sont : l’utilisation de moyens privés, l’identification de l’utilisateur assurée par un administrateur, la possibilité de limiter l’usage à des lieux déterminés.

Entendu ...

Bah, trop simple le QR-Code qui sert de mot de passe !

Pas du tout : le QR-Code n’est qu’un identifiant de session pour les échanges qui vont suivre entre le serveur et le smartphone. Il est éphémère et ne peut donc être réutilisé. L’authentification résulte d’un échange de données faisant appel à des techniques cryptographiques fortes. Le navigateur n’intervient pas dans les échanges qui se font directement entre le smartphone et le serveur OAuthSD.

Ah oui, c’est un Time-based One-time Password (TOTP) comme Google Authenticator !
Eh bien non :

NoPassConnect est un dispositif privé, ne faisant pas appel à des systèmes tiers, pour une meilleure sécurité et une parfaite confidentialité.

NoPassConnect impose l’identité de l’utilisateur de l’entreprise, configurée par un administrateur. Un TOTP ne fait que vérifier que l’utilisateur est bien celui qui s’est inscrit lui-même sur le système. En somme, un TOTP protège l’utilisateur tandis que NoPassConnect protège l’entreprise propriétaire du serveur OAuthSD.

OAuthSD propose le TOTP Google Authenticator pour l’authentification à deux facteurs : jugez de la différence par vous même.

Ah oui, c’est comme la confirmation par SMS !
Eh bien non :

Le 2FA par SMS n’est pas sécurisé, alors que NoPassConnect échange des données cryptées sur un canal sécurisé avec SSL/TLS.

De plus le code reçu par SMS doit être retourné par le même canal (le navigateur), ce qui ouvre la porte à de nombreuses techniques d’interception telles que le l’ingénierie sociale, l’interception de trafic, le key-login ; avec NoPassConnect le navigateur n’intervient pas dans ces échanges, l’identification se fait entre le smartphone et le serveur OAuthSD.

Et si c’est l’utilisateur final lui-même qui a fourni son numéro de portable au moment de son inscription, on n’a absolument aucune information sur son identité réelle ! NoPassConnect impose la configuration du smartphone sous le contrôle d’un administrateur.

J’ai trouvé : c’est comme WebAuthn !

C’est assez proche en apparence, mais très différent : NoPassConnect concoure à l’ouverture et à la fermeture d’une session OpenID Connect à partir d’une application qui lui est extérieure, tandis que WebAuthn se limite à l’identification directe de son porteur.

C’est également très différent en termes de sécurité :

WebAuthn présente un désavantage important pour la sécurité d’une entreprise : comme la plupart des système de login, WebAuthn est un système public dans le sens où c’est l’utilisateur qui enregistre de façon anonyme son mobile, rien ne permet de l’identifier. Permettre à un utilisateur de s’enregistrer sans qu’il y ait une étape d’identification physique, c’est exactement comme lui permettre de fabriquer lui-même sa carte d’identité, et encore : en remplaçant son nom par un pseudo.

A l’inverse, l’enregistrement d’un mobile NoPassConnect est fait à l’initiative et sous le contrôle d’un administrateur de l’entreprise, en présentiel, ce qui permet d’enregistrer dans le serveur OpenID Connect l’identité réelle de l’utilisateur.

Enfin, répétons-le : avec NoPassConnect, le navigateur n’intervient pas dans le processus d’identification qui se fait directement entre le smartphone et le serveur OAuthSD.

Ah oui, c’est un peu comme un lecteur d’ID card ...
Presque ! En mieux :

C’est plus économique, plus facile à déployer, moins vulnérable.

De plus, NoPassConnect n’étant pas lié physiquement à un poste de travail, il peut être déployé hors du périmètre de l’entreprise. Cela n’interdit pas de limiter l’utilisation de NoPassConnect à un ou plusieurs postes de travail, c’est l’un des avantages de scanner le QR-Code affiché par le poste de travail !

Enfin, si un utilisateur peut oublier sa carte dans le lecteur en quittant le bureau, il est probable qu’il n’oubliera pas de prendre son smartphone avec lui...

P.-S.

[DR] Composants logiciels de OAuthSD / SmartConnect

Composants de SmartConnect

SmartConnect est une application de mobile (4) ( Android ou iOS) qui nécessite un serveur OAuthSD (1). Pour son fonctionnement, l’application SmartConnect est en relation avec un module d’authentification (2) (Pluggable Authentication Module, PAM) intégré à OAuthSD, mais n’est pas connecté aux applications compatibles OpenID Connect (3).
SmartConnect se situe au sein des distributions OAuthSD comme représenté dans le le tableau suivant :

Dans ce tableau, les composants sur fond bleu-clair sont développés par DnC :

OAuthSD comprend trois groupes de composants :
– le Superviseur, est une application Web permettant aux administrateurs d’enregistrer les applications clientes d’OAuthSD, de contrôler l’inscription des utilisateurs et de leurs droits sur les applications et enfin de suivre le fonctionnement des authentifications.
– Le Daemon (le serveur OIDC à proprement parler) qui est construit sur des modules intermédiaires (middleware) développés par DnC fournissant la version haut-niveau des contrôleurs Authorize, Token etc., et finalement sur des bibliothèques open-source pour le code de bas-niveau.
– Des modules d’authentification (Pluggable Authentification Modules (PAM)) intégrés à OAuthSD assurant l’identification primaire et secondaire pour l’identification à deux facteurs.

Le module NoPassConnect (ex IdentMaster, SmartConnect) assure la communication entre le mobile équipé de l’application NoPassConnectet le serveur. Il comporte également une application qui permet aux administrateurs de configurer l’instance NoPassConnectd’un mobile donné et de l’enregistrer sur le serveur.

Pour pouvoir déléguer l’authentification au serveur OAuthSD, les applications doivent être dotés d’un module OpenID Connect. De plus en plus d’applications professionnelles intègrent un tel module. Les applications qui ne sont pas directement compatibles offrent souvent un système de modules qui permet d’ajouter la fonctionnalité OIDC. Il en est ainsi de WordPress et de phpBB.

Les applications d’Identité sont des logiciels dédiés installés sur le mobile au-dessus du système d’exploitation Android, iOS, BlackBerry, etc. Ce sont donc des applications natives, à l’inverse par exemple de l’authentification par SMS qui s’appuie sur une application existante ou d’autres procédés s’appuyant sur le navigateur. L’application NoPassConnect est une application native, développée en Java, qui peut être installée par l’utilisateur.

[CONF] Particularités du procédé en faveur de la sécurité

[CONF] Comparé au principe du TOTP ou de la vérification par SMS (un code dépendant de l’utilisateur et limité dans le temps), SmartConnect est beaucoup plus sécurisé : le QR-Code est à usage unique, et la réponse de l’application SmartConnect intègre l’identifiant OpenID de l’utilisateur et l’ID du mobile, mixé avec un alea qui rend la réponse unique, le tout transmis au moyen d’un jeton crypté.

[CONF] Notons également que, contrairement à un système de confirmation TFA, l’utilisateur n’est pas interrogé à l’initiative d’un système dont il ignore le lien réel avec l’application légitime (celle qu’il veut lancer), mais c’est lui qui prend l’initiative de poursuivre (en scannant le QR-Code) le dialogue d’authentification qu’il a initialisé depuis l’application. L’utilisateur est actif au lieu d’être passif. Le mobile ne traite pas de connexion entrante, mais utilise le canal de retour de la connexion qu’il a lui-même établie, le mettant ainsi à l’abri d’attaques web.

[CONF] Enfin, le terminal sur lequel s’affiche le QR-Code se trouve lié dans le processus d’authentification, ce qui permet au serveur OAuthSD de s’assurer que l’utilisateur est bien devant le terminal. Ainsi, les authentifications ne peuvent être initiées que depuis des terminaux répertoriés.

Expérimental : téléchargez et installez l’application sur votre mobile Android

Sur votre mobile Android :

– Téléchargez l’APK :
i-tego.com/store/app-release.apk
– Activez les sources inconnues :
Allez dans les paramètres, puis Sécurité
– Recherchez l’APK sur votre téléphone (à l’aide d’un explorateur de fichiers par exemple)
– Lancez le fichier APK et suivez les instructions
– Désactivez les sources inconnues

Notes

[1] i-Tego est une nouvelle société créée en juillet 2021 après la fermeture de DnC en décembre 2020. B.D. a commencé le développement de SmartConnect dans l’intervalle en utilisant provisoirement ce site web en attendant qu’i-Tego possède son propre site documentaire

[2] Actuellement sur système Android, IOS en cours de développement.