Skip to content

Latest commit

 

History

History
294 lines (218 loc) · 16.3 KB

File metadata and controls

294 lines (218 loc) · 16.3 KB

🔐 Alternate Authentication

Blockchain-powered password management that upgrades your existing systems


Smart India Hackathon World's Largest


License Last Commit Stars Issues


Demo Video · Report Bug · Request Feature


💡 The Problem

Traditional username/password authentication is broken:

  • Passwords get reused across multiple sites
  • Breaches expose millions of credentials
  • Replacing existing systems is expensive and risky

🚀 Our Solution

Instead of replacing your authentication system, we upgrade it with:

┌─────────────────────────────────────────────────────────────────────────┐
│                                                                         │
│   ┌──────────┐     ┌──────────────┐     ┌─────────────────────────┐    │
│   │  Chrome  │────▶│   Desktop    │────▶│   Storage Backend       │    │
│   │Extension │     │     App      │     │                         │    │
│   └──────────┘     └──────────────┘     │  ┌─────────────────┐    │    │
│                                         │  │  Google Drive   │    │    │
│   Auto-fills         Manages keys       │  │  (Home Users)   │    │    │
│   credentials        & encryption       │  └─────────────────┘    │    │
│                                         │                         │    │
│                                         │  ┌─────────────────┐    │    │
│                                         │  │  BigchainDB     │    │    │
│                                         │  │  (Enterprise)   │    │    │
│                                         │  └─────────────────┘    │    │
│                                         └─────────────────────────┘    │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Key Features

Feature Description
Zero Infrastructure Change Works on top of existing username/password systems
Decentralized Storage Credentials stored in Google Drive (home) or BigchainDB (enterprise)
End-to-End Encryption AES-256 encryption with Shamir's Secret Sharing
Cross-Platform Chrome extension + Electron desktop app
Blockchain-Backed Enterprise solution uses BigchainDB for immutable audit trails

🏗️ Architecture

┌─────────────────────────────────────────────────────────────────────────────┐
│                           ALTERNATE AUTHENTICATION                          │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌─────────────────────────────────────────────────────────────────────┐   │
│  │                        APPLICATION LAYER                            │   │
│  │  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────────┐  │   │
│  │  │ Chrome Extension│  │  Desktop App    │  │   OTP Manager       │  │   │
│  │  │ • Auto-fill     │  │  • Key mgmt     │  │   • 2FA support     │  │   │
│  │  │ • Form detect   │  │  • Encryption   │  │   • Authy integ.    │  │   │
│  │  └─────────────────┘  └─────────────────┘  └─────────────────────┘  │   │
│  └─────────────────────────────────────────────────────────────────────┘   │
│                                    │                                        │
│                                    ▼                                        │
│  ┌─────────────────────────────────────────────────────────────────────┐   │
│  │                        SECURITY LAYER                               │   │
│  │  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────────┐  │   │
│  │  │ AES-256         │  │ Shamir's Secret │  │   BIP39 Mnemonic    │  │   │
│  │  │ Encryption      │  │ Sharing         │  │   Key Generation    │  │   │
│  │  └─────────────────┘  └─────────────────┘  └─────────────────────┘  │   │
│  └─────────────────────────────────────────────────────────────────────┘   │
│                                    │                                        │
│                                    ▼                                        │
│  ┌─────────────────────────────────────────────────────────────────────┐   │
│  │                        STORAGE LAYER                                │   │
│  │  ┌───────────────────────────┐  ┌───────────────────────────────┐   │   │
│  │  │      HOME USERS           │  │       ENTERPRISE              │   │   │
│  │  │  ┌─────────────────────┐  │  │  ┌─────────────────────────┐  │   │   │
│  │  │  │    Google Drive     │  │  │  │     BigchainDB          │  │   │   │
│  │  │  │  • Personal vault   │  │  │  │  • Immutable ledger     │  │   │   │
│  │  │  │  • OAuth 2.0        │  │  │  │  • Audit trail          │  │   │   │
│  │  │  └─────────────────────┘  │  │  │  • Tendermint consensus │  │   │   │
│  │  │                           │  │  └─────────────────────────┘  │   │   │
│  │  │  ┌─────────────────────┐  │  │                               │   │   │
│  │  │  │    On-Premise       │  │  │                               │   │   │
│  │  │  │  • Local storage    │  │  │                               │   │   │
│  │  │  └─────────────────────┘  │  │                               │   │   │
│  │  └───────────────────────────┘  └───────────────────────────────┘   │   │
│  └─────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

🎬 Demo

Watch the Demo


🛠️ Tech Stack

Layer Technologies
Frontend Chrome Electron
Backend Node.js Express
Blockchain BigchainDB Tendermint
Storage Google Drive
Security Crypto Shamir

📦 Installation

Prerequisites

Quick Start

# Clone the repository
git clone https://github.com/NP-compete/Alternate-Authentication.git
cd Alternate-Authentication

# Install dependencies
npm install

For Home Users

# Start the desktop backend
cd Application/Desktop
npm install
cd backend
node server.js

Then load the Chrome extension:

  1. Navigate to chrome://extensions
  2. Enable Developer mode
  3. Click Load unpacked
  4. Select the Application/Extension/ folder

For Enterprise

# Start BigchainDB
cd Enterprise/BlockChain/Server/bigchaindb
make run

# Start the desktop app
cd ../../../../Application/Desktop
npm install
npm start

📁 Project Structure

Alternate-Authentication/
├── Application/
│   ├── Desktop/          # Electron desktop application
│   │   ├── backend/      # Express server for key management
│   │   └── ...
│   └── Extension/        # Chrome browser extension
│       ├── background.js # Service worker
│       ├── contentscript.js
│       └── popup.js
├── Enterprise/
│   └── BlockChain/       # BigchainDB integration
│       ├── Server/       # BigchainDB server setup
│       ├── assetManager.js
│       └── passwordManager.js
├── Home/
│   ├── Gdrive/          # Google Drive storage backend
│   └── OnPrem/          # On-premise storage option
└── package.json

🔒 Security

This project implements multiple layers of security:

  • AES-256 Encryption: All credentials encrypted before storage
  • Shamir's Secret Sharing: Master key split across multiple shares
  • BIP39 Mnemonics: Human-readable key backup
  • Zero-Knowledge: Server never sees plaintext credentials

See SECURITY.md for our security policy and how to report vulnerabilities.


🤝 Contributing

Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.


👥 Team

Soham Abhishek Nandini
Mridul Shivam Gaurav

Mentors

  • Dr. Y V Subba Rao
  • Dr. Anjenya Swami Kare

📄 License

Distributed under the MIT License. See LICENSE.md for more information.


🙏 Acknowledgments


Built with determination at Smart India Hackathon 2019

"Don't replace the system. Upgrade it."

Star History