Inspiration

To improve the login process for bank customers by enabling seamless re-logins and avoiding long, unnecessary questions.

What it does

It uses 25 different device metrics to generate an unique identity for a logged in user.

How we built it

We used client side javascript to get various device metrics ranging from the fonts and plugins installed on the browser to creating an image on the canvas and hashing that. Additionally, we used screen sizes and in total 25 different measurements to generate an identity for each device that logs in the system. This information is then stored in the database. When the user logs in to the system, their email and password is then used to retrieve that identity and compare their current identity to the model we've built up in the past.

If the match is below a certain threshold, the user should be asked to answer all the traditional questions or perform 2 -factor authentication. However, if its a match, then the aforementioned processes can be skipped to enable a better login experience.

Challenges we ran into

  • Generating the 25 metrics was extremely complex.
  • On the server, matching the current metrics to the previously known model
  • Displaying the information to the user on whether it's a match or not.

Accomplishments that we're proud of

  • Accurately generate identifiable models for users just by using javascript on their browser.
  • Displaying all the information in an easy to view way

What we learned

  • Learn about computer security and how easily one can be identified online

What's next for Login authentication via device fingerprinting

  • Improve our matching algorithm by using machine learning to build the models instead of comparing each field by value.
Share this project:

Updates

Submission history