Back to Opennhp

OpenNHP: Open Source Zero Trust Security Toolkit

README.md

0.6.04.8 KB
Original Source

OpenNHP: Open Source Zero Trust Security Toolkit

OpenNHP is a lightweight, cryptography-powered, open-source toolkit implementing Zero Trust security for infrastructure, applications, and data. It features two core protocols:

  • Network-infrastructure Hiding Protocol (NHP): Conceals server ports, IP addresses, and domain names to protect applications and infrastructure from unauthorized access.
  • Data-object Hiding Protocol (DHP): Ensures data security and privacy via encryption and confidential computing, making data "usable but not visible."

Website · Documentation · Live Demo · Discord


Architecture

OpenNHP follows a modular design with three core components, inspired by the NIST Zero Trust Architecture:

ComponentRole
NHP-AgentClient that sends encrypted knock requests to gain access
NHP-ServerAuthenticates and authorizes requests; decoupled from protected resources
NHP-ACAccess controller that manages firewall rules on the protected server

For protocol details, deployment models, and cryptographic design, see the documentation.


Repository Structure

opennhp/
├── nhp/              # Core protocol library (Go module)
│   ├── core/         # Packet handling, cryptography, Noise Protocol, device management
│   ├── common/       # Shared types and message definitions
│   ├── utils/        # Utility functions
│   ├── plugins/      # Plugin handler interfaces
│   ├── log/          # Logging infrastructure
│   └── etcd/         # Distributed configuration support
└── endpoints/        # Daemon implementations (Go module, depends on nhp)
    ├── agent/        # NHP-Agent daemon
    ├── server/        # NHP-Server daemon
    ├── ac/           # NHP-AC (access controller) daemon
    ├── db/           # NHP-DB (data object backend for DHP)
    ├── kgc/          # Key Generation Center (IBC)
    └── relay/        # TCP relay

Quick Start

Prerequisites

  • Go 1.25.6+
  • make
  • Docker and Docker Compose (for the full-stack demo)

Build

bash
# Build all components
make

# Build individual daemons
make agentd    # NHP-Agent
make serverd   # NHP-Server
make acd       # NHP-AC
make db        # NHP-DB
make kgc       # Key Generation Center

Test

bash
cd nhp && go test ./...
cd endpoints && go test ./...

Run with Docker

bash
cd docker && docker-compose up --build

Follow the Quick Start tutorial to simulate the full authentication workflow in a Docker environment.


Contributing

We welcome contributions! Please read CONTRIBUTING.md before submitting pull requests.

Note: All commits must be signed with a verified GPG or SSH key.

bash
git commit -S -m "your message"

Sponsors

<a href="https://layerv.ai"> </a>

License

Released under the Apache 2.0 License.

Contact