Traditional username/password authentication is broken:
- Passwords get reused across multiple sites
- Breaches expose millions of credentials
- Replacing existing systems is expensive and risky
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) │ │ │
│ │ └─────────────────┘ │ │
│ └─────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
| 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 |
┌─────────────────────────────────────────────────────────────────────────────┐
│ 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 │ │ │ │ │ │
│ │ │ └─────────────────────┘ │ │ │ │ │
│ │ └───────────────────────────┘ └───────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
- Docker & Docker Compose
- Node.js (v14+)
- Google Chrome
# Clone the repository
git clone https://github.com/NP-compete/Alternate-Authentication.git
cd Alternate-Authentication
# Install dependencies
npm install# Start the desktop backend
cd Application/Desktop
npm install
cd backend
node server.jsThen load the Chrome extension:
- Navigate to
chrome://extensions - Enable Developer mode
- Click Load unpacked
- Select the
Application/Extension/folder
# Start BigchainDB
cd Enterprise/BlockChain/Server/bigchaindb
make run
# Start the desktop app
cd ../../../../Application/Desktop
npm install
npm startAlternate-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
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.
Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
- Dr. Y V Subba Rao
- Dr. Anjenya Swami Kare
Distributed under the MIT License. See LICENSE.md for more information.
- Smart India Hackathon for the platform
- KG Info System Pvt. Ltd for the problem statement
- BigchainDB for the blockchain infrastructure
- All contributors and supporters