Principes de fonctionnement et de sécurité de l'extension de navigateur

Compatibilité

L'extension de navigateur est compatible avec la plupart des navigateurs couramments utilisés sur MacOS, Windows et Linux (voir la page de téléchargements pour plus de détails).

L'extension de navigateur n'est pas compatible avec iOS et Android. Sur ces plateformes, UpSignOn propose le remplissage automatique intégré au système d'exploitation. Suivez les indications de la page paramètres pour configurer cette fonctionnalité.

Connexion à l’application

Dans tout ce qui suit nous appellerons application le logiciel de bureau (ou client lourd) UpSignOn et extension de navigateur le logiciel (ou addon) installé spécifiquement dans chaque navigateur (Google Chrome, Firefox, Microsoft Edge, etc.)

Pour maximimer la sécurité de vos données, nous avons conçu l'extension de navigateur comme une brique supplémentaire, non autonome. L'application UpSignOn (le logiciel de bureau) doit obligatoirement être installé pour que l'extension de navigateur puisse fonctionner.

Toutes les opérations cryptographiques sur les coffres-forts sont faites dans l'application. L'extension ne peut que refléter l'état de verrouillage ou de déverrouillage d'un coffre-fort dans l'application. L'extension profite ainsi des fonctionnalités de verrouillage automatique en cas d'inactivité et en cas de verrouillage de session.

Communication en websocket

Concrètement, l'extension de navigateur se connecte en websocket à l'application qui écoute les requêtes provenant uniquement de l'ordinateur (localhost).

Chiffrement des communications

Tous les échanges entre l'application et l'extension sont chiffrés pour qu'aucune autre application installée sur votre ordinateur ne puisse avoir accès aux données échangées. L'algorithme de chiffrement utilisé est AES-CBC-256 + HMAC-SHA256. NB, ces algorithmes ont été choisis en fonction des normes cryptographiques actuelles et des implémentations disponibles dans les navigateurs.

Procédure d'autorisation

Les clés de chiffrement et d'authentification utilisées pour ces échanges sont configurées lors de la procédure initiale d'autorisation de l'extension de navigateur.
L'autorisation d'une extension de navigateur nécessite le déverrouillage d'un coffre-fort (n'importe lequel).

Révocation

À tout moment, l'utilisateur peut décider de révoquer l'autorisation d'une extension depuis la page dédiée dans les paramètres de l'application.
Par ailleurs, l'autorisation d'une extension est associée au coffre-fort utilisé à l'initialisation. Lorsque ce coffre-fort est supprimé dans l'application, les extensions associées sont immédiatement révoquées.

Cas particulier des serveurs Windows RDS

Sur les serveurs Windows RDS où plusieurs utilisateurs peuvent utiliser UpSignOn simultanément, chaque utilisateur voit un état de l'application et de l'extension qui lui est propre. Chaque utilisateur doit autoriser son extension de navigateur. L'extension utilise un port différent pour chaque utilisateur et l'échange de données entre l'extension et l'application de sessions utilisateur différentes n'est pas possible.

Cas particulier de Linux

La configuration des extensions de navigateur nécessite que le protocole upsignon: soit associé à l'application UpSignOn et fonctionne correctement. Voir les instructions d'installation sur la page dédiée à Linux.

Sécurité et limitations du remplissage automatique

Dans ce qui suit, nous appelerons popup la fenêtre de l'extension de navigateur qui s'ouvre lorsqu'on clique sur l'icône UpSignOn dans la barre de menu du navigateur. Nous appelerons contenu injecté les bulles affichant du contenu ajouté par l'extension UpSignOn dans une page web.

Principe du juste-à-temps

L'extension de navigateur, que ce soit sa popup ou son contenu injecté, n'a accès aux mots de passe réels qu'au moment où un champ mot de passe doit être renseigné. Autrement dit, lorsque que l'extension affiche '*******' pour un mot de passe, le navigateur et la page web ne voient pas le véritable mot de passe sous-jacent qui reste donc protégé.

Conditions du remplissage automatique

Le remplissage du formulaire d'un site web n'est totalement automatique (c'est-à-dire sans action de l'utilisateur) que dans les cas suivants :

  • il n'y a qu'un seul compte dans votre coffre-fort qui pourrait correspondre à ce formulaire
  • l'URL du compte enregistré pour ce site dans votre coffre-fort est valide
  • le nom de domaine de la page est strictement le même domaine ou un sous-domaine de l'URL enregistrée pour ce compte dans votre coffre-fort. NB : l'extension sait reconnaître les domaines racines, y compris ceux qui sont composés de plusieurs racines et ne remplira pas un mot de passe si le nom de domaine du compte enregistré n'est composé que de domaines racines.

Cas de non-remplissage

L'extension de navigateur ne remplira pas un formulaire de façon automatique ou semi-automatique (c'est-à-dire déclenchée par une action de l'utilisateur), si :

  • le formulaire est ajouté dans la page via une iframe qui n'est pas un enfant direct de la page principale
  • le formulaire est ajouté dans la page via une iframe dont le nom de domaine n'est pas identique au nom de domaine de la page principale (ce cas pose des problèmes de sécurité et n'est pas encore géré)
  • si la façon dont est codé le formulaire ne permet pas l'identification des champs login et mot de passe
  • si l'éditeur du site web a mis en place des mécanismes destinés à empêcher le remplissage automatique par des robots

Nous conseillons au développeurs de consulter nos recommandations sur les formulaires de connexion.

Lorsque ni le remplissage automatique ni le remplissage forcé ne fonctionne, l'utilisateur a toujours la possibilité de copier-coller le login et le mot de passe à partir de la popup de l'extension.