A novel approach for security and user experience of Graphical Password Authentication.

Overview

Graphical Password Authentication

Alohomora

Harry Potter themed (not really) Graphical Password Authentication
Flowchart and Architecture

Video Demo

Solution Demo

password strength

Team members

  • Arnav Shah
  • Akshat Shah
  • Crehan Santhumayor
  • Devanshi Shah
  • Ganadhish Acharekar
  • Saharsh Jain

Description

Background: Passwords are ubiquitous today on any platform, on possibly any website. But to remember so difficult passwords and that too on numerous websites seems daunting and therefore you can devise a project illustrating graphical password strategy. This will allow the user to set passwords in the form of graphical presentation in a certain pattern and later use that pattern to login on the system.

Summary: Remembering numerous passwords from various different sites can be difficult for a user. So to provide some flexibility we can provide users a graphical password authentication system where instead of creating a password a user has to select graphical objects in a particular order to keep it as their password.

Objective: In this method, the user is required to select some images (let’s say different chocolates) in a specific pattern (for example dairy milk is followed by 5 stars which is in turn followed by KitKat and so on). Next time the user tries to log in, the images would have been shuffled, but the user will be required to follow the same pattern which was used initially. Every time the user will have to use the same sequence while the images are placed in different ways. This type of authentication is difficult to break since neither brute force nor dictionary attacks could breach it. We need techniques that can be easily implemented and provide better results to this process.

  • Graphical Password with multiple rounds of security
  • Combination of Recognition based and Cue Based Graphical Password
  • Competitive strength to alphanumeric passwords with additional advantages like No Dictionary attacks, difficult brute force attacks, etc
  • Use of Hashes and Encryption algorithms for secure storage of data
  • An attempt to make this new type of passwords rememberable with image captionining and keywords prompts

Links

Technology stack

  1. Node JS
  2. React
  3. Tailwind CSS
  4. Daisy UI
  5. Python
  6. HuggingFace
  7. Spacy
  8. MongoDB

Project Setup

Installing Dependencies

git clone https://github.com/akshatshah21/Alohomora.git

cd client/
npm i

cd server/
npm i

cd flask_server/
pip install -r requirements.txt
python -m spacy download en

Environment Variables

/server/.env

UNSPLASH_ACCESS_KEY = your_key_for_unsplash_api
MONGODB_URL = your_mongo_atlas_url
NUM_IMAGES_PER_SET = try 9
TOTAL_ITERATIONS = try 4
PORT = try 4000

/client/.env

REACT_APP_UNSPLASH_ACCESS_KEY = your_unsplash_api_key
REACT_APP_NUM_TILES
REACT_APP_NUM_ROUNDS

Usage

In three different terminals:

cd server
npm start
cd client
npm start
cd flask_server
python server.py

Applications

Humans have greater ability to remeber images rather than complex alphanumeric passwords. Graphical scheme was introduced as a variation to the login/password scheme. It can improve the security of user authentication over that provided by textual passwords. They are immune to the common attacks suffered by other authentication schemes like dictionary attacks or brute force attacks.

Future scope

  1. Convert selected sequence of images to a rememberable sentence, and prompt questions based on that sentence during login
  2. Captcha based Password Auth
  3. Develop Extension to add graphical password for any website
  4. Change parameters according to password strength selected by the user

Screenshots

register grid_selection login_round1 graphical captcha

You might also like...

Generate a password based off user inputs with speed ⚡

speedy-speedy-password Generate a password based off user inputs with speed ⚡ Install NPM npm i speedy-speedy-password Yarn yarn add speedy-speedy-pa

Feb 2, 2022

Generate a secured base32 one time password to authenticate your user! 🔐

Django SOTP 🔐 Generate a secured base32 one time password to authenticate your user! Case Study 📑 Before I mention why you should use django-sotp in

Dec 22, 2022

Full text search based on InvertedIndex and ordinary approach

Full text search based on InvertedIndex and ordinary approach

The Node js project that has CRUD operation and has a FullTextSearch.

Jul 15, 2022

A RESP 'Redis Serialization Protocol' library implementation to generate a server, uses a similar approach to express to define you serer, making it easy and fast.

A RESP 'Redis Serialization Protocol' library implementation to generate a server, uses a similar approach to express to define you serer, making it easy and fast.

RESPRESS A RESP 'Redis Serialization Protocol' library implementation to generate a server, uses a similar approach to express to define you serer, ma

Aug 29, 2022

Modern approach to Low Quality Image Placeholders (LQIP) using webp and sharp.

Modern approach to Low Quality Image Placeholders (LQIP) using webp and sharp.

lqip-modern Modern approach to Low Quality Image Placeholders (LQIP) using webp and sharp. (demo) This approach is extremely fast and produces much sm

Dec 30, 2022

Simple shopping cart prototype which shows how React components and Redux can be used to build a friendly user experience with instant visual updates and scalable code in e-commerce applications.

Simple shopping cart prototype which shows how React components and Redux can be used to build a friendly user experience with instant visual updates and scalable code in e-commerce applications.

This simple shopping cart prototype shows how React components and Redux can be used to build a friendly user experience with instant visual updates a

Feb 8, 2022

🛠 Solana Web3 Tools - A set of tools to improve the user experience on Web3 Solana Frontends.

🛠 Solana Web3 Tools - A set of tools to improve the user experience on Web3 Solana Frontends.

May 21, 2022
Owner
Akshat Shah
Information Technology undergrad at VJTI, Mumbai | Interested in Machine Learning, Web Development and DevOps.
Akshat Shah
Javascript-testing-practical-approach-2021-course-v3 - Javascript Testing, a Practical Approach (v3)

Javascript Testing, a Practical Approach Description This is the reference repository with all the contents and the examples of the "Javascript Testin

Stefano Magni 2 Nov 14, 2022
LunaSec - Open Source Security Software built by Security Engineers. Scan your dependencies for Log4Shell, or add Data Tokenization to prevent data leaks. Try our live Tokenizer demo: https://app.lunasec.dev

Our Software We're a team of Security Engineers on a mission to make awesome Open Source Application Security tooling. It all lives in this repo. Here

LunaSec 1.2k Jan 7, 2023
Anime, Manga, and Light Novel Tracker Application for Windows

Courier Courier is an Anime, Manga, and Light Novel Tracker Application for Windows. With the help of AniList, this desktop app helps you manage and t

Kevin Hoang 8 Oct 5, 2022
The Covid-19 data-app collects information from API and present data for the novel coronavirus.

COVID-19-data-app This project was bootstrapped with Create React App. The Covid-19 data-app collects information from API and present data for the no

Sentayhu berhanu 8 Jun 23, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Browser extension for generating HOTP passcodes for Duo Security Multi-Factor Authentication

duo-extension Browser extension for generating HOTP passcodes for Duo Security multi-factor authentication. Compatible with Firefox and Chromium-based

Avik Rao 11 Oct 25, 2022
Food Delivery APP is a website designed to provide interactive user experience and increase user engagement when ordering food delivery.

Food-Delivery-APP Features Food Delivery APP is a website built with HTML/Tailwind CSS/JavaScript, React and enhanced with 3D design using Spline to p

Qian Xiang 3 Oct 6, 2022
We are creating a Library that would ensure developers do not reinvent the wheel anymore as far as Authentication is concerned. Developers can easily register and download authentication codes that suits their need at any point.

#AuthWiki Resource Product Documentation Figma Database Schema First Presentation Live Link API Documentation Individual Contributions User Activity U

Zuri Training 17 Dec 2, 2022