Skip to content

nguzinski/MABE_working

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

🔐 Multiple Authority Attribute Based Encryption (MA-ABE) WIP/PROOF OF CONCEPT

A proof-of-concept implementation of Multiple Authority Attribute Based Encryption for secure communications between untrusted parties through trusted third-party authorities.

Developed in collaboration with George Torres from New Mexico State University, based on research code from NMSU.

🎯 What is MA-ABE?

Multiple Authority Attribute Based Encryption allows secure communication between parties who don't trust each other by leveraging multiple trusted third-party authorities. Instead of relying on a single authority, this system distributes trust across multiple independent entities.

Real-World Example

Imagine you want to send a message that only "Google employees who are also AWS users" can decrypt:

  1. Google certifies employee status
  2. AWS certifies user account status
  3. Your message is encrypted requiring BOTH attributes
  4. Recipients must have keys from BOTH authorities to decrypt

This prevents any single authority from having complete access while maintaining security through distributed trust.

🏗️ How It Works

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│  Authority  │    │  Authority  │    │  Authority  │
│      A      │    │      B      │    │      C      │
└─────┬───────┘    └─────┬───────┘    └─────┬───────┘
      │                  │                  │
      ▼                  ▼                  ▼
┌─────────────────────────────────────────────────────┐
│                   Server                            │
│  • Requests attributes from multiple authorities    │
│  • Receives certified attribute keys                │
│  • Can decrypt messages requiring those attributes  │
└─────────────────┬───────────────────────────────────┘
                  ▲
                  │ (Encrypted Message)
┌─────────────────┴───────────────────────────────────┐
│                   Client                            │
│  • Encrypts messages with specific attribute policy │
│  • No direct contact with authorities needed        │
│  • Uses server's known available attributes         │
└─────────────────────────────────────────────────────┘

Trust Model

  • Clients and servers don't trust each other
  • Both parties trust certain third-party authorities (Google, Cloudflare, AWS, etc.)
  • Authorities are unlikely to collude due to business interests
  • Multiple authorities required for any single operation

🚀 Features

  • Multi-Authority Support: Distribute trust across multiple independent authorities
  • Flexible Attribute Policies: Encrypt with complex attribute requirements
  • Proof of Concept: Demonstrates feasibility for real-world implementation
  • Research Foundation: Built on established academic cryptographic principles
  • Configurable Authorities: Easy to add/remove authorities via JSON configuration

📋 Current Implementation

This version implements:

  • 3 Simulated Authorities (represented as JSON files)
  • Server-Client Architecture with attribute key distribution
  • Policy-Based Encryption with multiple attribute requirements
  • Distributed Key Management across authorities

🎓 Academic Background

This implementation is based on established Multiple Authority Attribute Based Encryption research:

  • Distributed Trust: No single point of failure or complete authority
  • Attribute Policies: Complex access control through cryptographic attributes
  • Collusion Resistance: Security maintained even if some authorities are compromised
  • Practical Applications: Real-world scenarios with existing trusted entities

🔮 Use Cases

Enterprise Communication

  • Cross-Organization Messaging: Secure communication requiring multiple organizational memberships
  • Compliance Requirements: Messages that require specific certifications from multiple bodies
  • Supply Chain Security: Documents accessible only to verified partners

Government & Defense

  • Multi-Agency Clearance: Information requiring approval from multiple security agencies
  • Coalition Operations: Secure communication between allied organizations
  • Compartmentalized Access: Information requiring multiple independent authorizations

Healthcare & Finance

  • Multi-Institution Research: Data sharing requiring multiple ethical approvals
  • Regulatory Compliance: Information requiring multiple regulatory certifications
  • Cross-Border Operations: Communications requiring multiple jurisdictional approvals

🚧 Current Status

This is research/proof-of-concept code - not production ready!

What Works

  • ✅ Basic MA-ABE functionality
  • ✅ Multi-authority attribute distribution
  • ✅ Policy-based encryption/decryption
  • ✅ Demonstrates core concepts

Limitations

  • ⚠️ Research-grade code quality
  • ⚠️ Limited error handling
  • ⚠️ No production security hardening
  • ⚠️ Simplified authority simulation
  • ⚠️ No network security implementation

🛣️ Future Development

If revisited, potential improvements include:

  • Production Library: Clean, well-documented API
  • Real Authority Integration: Actual third-party authority connections
  • Performance Optimization: Efficient cryptographic operations
  • Security Hardening: Production-grade security measures
  • Network Protocol: Standardized communication protocol
  • Comprehensive Testing: Full test suite and security analysis

📚 Research Context

Developed as part of research into:

  • Secure Hardware Integration: Exploring hardware-backed attribute storage
  • Distributed Trust Systems: Practical applications of multi-authority models
  • Applied Cryptography: Real-world implementation challenges

Note: This project was completed as academic research and is now available for educational and research purposes.

🤝 Attribution

  • Collaboration: George Torres, New Mexico State University
  • Based on: Research code from NMSU Computer Science Department
  • License: GPL v3

⚠️ Disclaimer

This is research/educational code demonstrating cryptographic concepts. Do not use in production systems without significant additional development, security review, and testing.


About

Multiple Auth Attribute Based encryption server and client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages