-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Expand file tree
/
Copy pathREADME.md
More file actions
134 lines (94 loc) · 4.8 KB
/
README.md
File metadata and controls
134 lines (94 loc) · 4.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
[](https://github.com/OpenNHP/opennhp/blob/master/README.md)
[](https://github.com/OpenNHP/opennhp/blob/master/README.zh-cn.md)
[](https://github.com/OpenNHP/opennhp/blob/master/README.de.md)
[](https://github.com/OpenNHP/opennhp/blob/master/README.ja.md)
[](https://github.com/OpenNHP/opennhp/blob/master/README.fr.md)
[](https://github.com/OpenNHP/opennhp/blob/master/README.es.md)

# OpenNHP: Open Source Zero Trust Security Toolkit



[](https://codecov.io/gh/OpenNHP/opennhp)
[](https://deepwiki.com/OpenNHP/opennhp)
**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)](https://cloudsecurityalliance.org/artifacts/stealth-mode-sdp-for-zero-trust-network-infrastructure):** 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](https://opennhp.org) · [Documentation](https://docs.opennhp.org) · [Live Demo](https://opennhp.org/demo.html) · [Discord](https://discord.gg/CpyVmspx5x)**
---
## Architecture
OpenNHP follows a modular design with three core components, inspired by the [NIST Zero Trust Architecture](https://www.nist.gov/publications/zero-trust-architecture):

| Component | Role |
|-----------|------|
| **NHP-Agent** | Client that sends encrypted knock requests to gain access |
| **NHP-Server** | Authenticates and authorizes requests; decoupled from protected resources |
| **NHP-AC** | Access controller that manages firewall rules on the protected server |
> For protocol details, deployment models, and cryptographic design, see the [documentation](https://docs.opennhp.org).
---
## 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](https://docs.opennhp.org/nhp_quick_start/) to simulate the full authentication workflow in a Docker environment.
---
## Contributing
We welcome contributions! Please read [CONTRIBUTING.md](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">
<img src="docs/images/layerv_logo.png" width="80" alt="LayerV.ai">
<br>
<img src="docs/images/layerv_text.svg" width="120" alt="LayerV.ai">
</a>
---
## License
Released under the [Apache 2.0 License](LICENSE).
## Contact
- Email: [support@opennhp.org](mailto:support@opennhp.org)
- Discord: [Join our Discord](https://discord.gg/CpyVmspx5x)
- Website: [https://opennhp.org](https://opennhp.org)