FP-Locker

FP-Locker - Renforcer l’authentification web grâce aux empreintes de navigateur / FP-Locker : Hardening web authentication with browser fingerprinting

Coordinateur : Monsieur Walter Rudametkin, Maître de conférences, Université de Lille

Equipe Spirals du Groupe Thématique GL.

Partenaire : CRIStAL.

JCJC - Jeunes chercheuses et jeunes chercheurs

Résumé :
Les empreintes de navigateurs sont utilisées pour identifier et traquer des appareils sur internet. Celles-ci sont collectées depuis les navigateurs et exploitent la diversité des configurations, des protocoles et des APIs afin d’identifier un appareil. Contrairement aux cookies utilisés à des fins de suivi commerciales qui peuvent être effacés par l’utilisateur car stockés dans le navigateur, les empreintes de navigateurs sont stockées sur des serveurs distants sur lesquels l’utilisateur n’a pas le contrôle.

Malgré les utilisations négatives des empreintes de navigateurs, celles-ci peuvent également être utilisées pour améliorer la sécurité sur le Web. Nous proposons donc d’explorer l’utilisation d’empreintes de navigateurs avancées en tant que mécanisme d’authentification. Nous pensons que l’utilisation de ce type de mécanisme a le potentiel d’être utilisé en tant qu’unique mécanisme d’autorisation lorsqu’il est utilisé sur un site de basse sécurité ; il peut être utilisé pour bloquer l’accès d’un site public aux bots et aux utilisateurs frauduleux. Il a également le potentiel d’être utilisé en tant que second facteur d’authentification ou en tant que facteur additionnel dans un système d’authentification à plusieurs facteurs. Outre sa capacité à renforcer la session lors de l’authentification initiale, il peut également être utilisé de manière continue pendant une session afin de protéger contre les vols de session. Dans différents contextes, les empreintes de navigateurs sont totalement transparentes pour les utilisateurs, ce qui signifie que contrairement à d’autres processus basés sur des vérifications externes telles que des cartes à puce ou des codes de vérification à usage unique, ce type de système ne requiert pas d’action particulière de l’utilisateur pour améliorer la sécurité de son compte. Dans d’autres contextes plus restrictifs, les administrateurs peuvent définir différentes politiques de sécurité, par exemple en décidant d’autoriser seulement les appareils connectés au réseau interne à enregistrer l’empreinte lors de la première connexion avec un nouvel appareil. Ainsi, nous prévoyons de concevoir et d’implémenter une architecture capable d’intégrer un processus d’authentification par empreintes de navigateurs à un système existant.

Différents problèmes surviennent lors de l’utilisation de ce type de mécanisme d’authentification. Des attaquants peuvent mentir sur leur empreinte afin de contourner les mécanismes de détection. Pour contrer cette attaque, nous prévoyons de développer de nouveaux attributs qui identifient les différents composants matériel de la machine, tout en étant difficiles à forger par un attaquant. Nous prévoyons de combiner ces attributs avec d’autres reflétant la nature du navigateur utilisé tels que l’existence ou l’absence de certaines APIs. Nous analyserons également l’utilisation de tests dynamiques de la forme challenge-réponse afin de limiter les risques d’attaque par rejeu.

Nous avons identifié deux plateformes, Central Authentication Service (CAS) et Wordpress, pour implémenter notre approche, ainsi que pour étudier son administration en pratique. Nous pensons qu’il est également crucial d’étudier l’impact sociétal de ce type de système en pratique, à la fois en terme de facilité d’utilisation et de risque pour la vie privée. Nous soutenons le fait qu’obtenir le consentement de l’utilisateur avant de collecter son empreinte permettrait de réduire grandement son utilisation à des fins de suivi commercial, tout en améliorant le niveau de sécurité car cela permettrait au site d’accéder à des APIs nécessitant l’autorisation de l’utilisateur.

L’objectif principal de FP-Locker est d’améliorer l’authentification à plusieurs facteurs grâce à l’utilisation des empreintes de navigateurs. Nous pensons que leur utilisation dans un contexte d’authentification permet de réduire les risques de vols de comptes, tout en étant transparent et respectueux de la vie privée des utilisateurs.

Abstract :
Browser fingerprinting is a technique better known for its use to track and re-identify devices. It leaves no traces on users’ devices. Browser fingerprinting, a specific type of browser fingerprinting, exploits modern web configurations, technologies, protocols and APIs to uniquely identify devices. Contrary to tracking cookies that are stored on the device and can be erased, fingerprints are stored on servers the user has no control over.

Despite its negative uses for tracking, browser fingerprinting can also be used to improve security on the web. We propose to investigate advanced browser fingerprinting as a configurable authentication mechanism. We argue that it has the potential to be the only authentication mechanism when used in very low-security, public websites ; it can be used to block bots and other fraudulent users from otherwise open websites. It also has the potential to be used as a second factor authentication mechanism, or as an additional factor in Multi-Factor Authentication (MFA) schemes. Besides strengthening a session’s initial authentication, it can also be used for continuous session authentication to protect against session hijacking. In many contexts, fingerprinting is fully transparent to users, meaning that contrary to authentication processes that rely on external verification cards, code generating keys, special apps, SMS verification codes, users do not have to do anything to improve their security. In more restricted contexts, administrators can enforce different policies, for example, enrolling fingerprints from devices that connect from trusted IP addresses (e.g., an internal network), and then verifying these fingerprints when the same users connect from untrusted IP addresses. Consequently, we plan to design an architecture and implement it to be able to plug the browser fingerprinting authentication process to an existing authentication system.

Multiple issues arise from such a system. To reduce forgeability, we plan to investigate novel attributes that focus on identifying hard-to-forge hardware characteristics of the device. We plan to combine these attributes with other software-based ones, including the existence/non-existence of APIs in specific browser versions. We will also look into dynamic challenge-response tests to limit replay attacks. Also, browsers are evolving at amazing speed and each sub-version has subtle differences. We have also identified two ideal platforms to implement such a system and to understand how to administer it in practice : Central Authentication Service and Wordpress. Crucially, we will look into the societal impact of our work to understand usability and how to reduce the privacy risks. We argue that obtaining consent from users before fingerprints are sent to websites would do a great deal to reduce their use for tracking, while increasing the level of security. Thus, we plan to explore the use of permissioned APIs because users should decide if the security benefits of fingerprinting are worth it.

FP-Locker’s main objective is to enhance and augment multi-factor authentication through advanced browser fingerprinting. We believe we address real concerns and that the use of browser fingerprinting for security is a net positive to companies, to universities and to society. We believe this project will find a good balance between security, usability and the risks to privacy, and this will lead to a better, safer, more privacy friendly internet.