
opennhp v1.0.1
Ein leichtgewichtiges, kryptografiegestütztes Open-Source-Toolkit, das entwickelt wurde, um Zero-Trust-Sicherheit für Infrastruktur, Anwendungen und Daten in der KI-gesteuerten Welt durchzusetzen.

OpenNHP: Open-Source-Werkzeugkasten für Zero-Trust-Sicherheit
OpenNHP ist ein schlankes, kryptographiegetriebenes, quelloffenes Toolkit, das Zero-Trust-Sicherheit für Infrastruktur, Anwendungen und Daten umsetzt. Es ist die Referenzimplementierung der Cloud Security Alliance (CSA) Network-infrastructure Hiding Protocol (NHP) Spezifikation und umfasst zwei Kernprotokolle:
- Network-infrastructure Hiding Protocol (NHP): Verbirgt Server-Ports, IP-Adressen und Domainnamen, um Anwendungen und Infrastruktur vor unbefugtem Zugriff zu schützen.
- Data-content Hiding Protocol (DHP): Sorgt für Datensicherheit und -vertraulichkeit durch Verschlüsselung und Confidential Computing, sodass Daten „nutzbar, aber nicht sichtbar" werden.
Website · Vision · Live-Demo · Dokumentation · Discord
Warum OpenNHP
Das moderne Internet ist ein dunkler Wald. Angreifer – zunehmend unterstützt durch LLMs, die mittels Autonomous Vulnerability Exploitation in Maschinengeschwindigkeit scannen, Fingerprinting betreiben und ausnutzen – behandeln jeden erreichbaren Dienst als Ziel. Gartner prognostiziert, dass KI-gestützte Cyberangriffe rasant zunehmen werden. Herkömmliche Verteidigungsmaßnahmen authentifizieren Nutzer erst nachdem das Netzwerk sie hereingelassen hat, sodass offene Ports, IPs und Domains zur dauerhaften Angriffsfläche werden.
Im KI-Zeitalter gilt: SICHTBARKEIT = VERWUNDBARKEIT.
OpenNHP dreht dieses Modell um: unsichtbar bis vertrauenswürdig. Jeder Port, jede IP und jeder Hostname liegt hinter einem Default-Deny-Gate. Zugriff wird erst nach einem kryptographisch signierten Knock gewährt, der außerhalb des Datenkanals authentifiziert und autorisiert wurde. Angreifer können nicht ausnutzen, was sie nicht entdecken können.
Das Netzwerkverstecker-Protokoll der dritten Generation
NHP ist der nächste Schritt in einer Linie von „Dienst zuerst verstecken"-Entwürfen:
| Generation | Protokoll | Einschränkungen |
|---|---|---|
| 1 | Port Knocking | Klartext, anfällig für Replay-Angriffe |
| 2 | Single Packet Authorization (SPA) | Geteilte Geheimnisse, Einwegkommunikation, verbirgt typischerweise nur Ports, meist in C/C++ |
| 3 | NHP | Moderne Kryptographie, bidirektional mit Statusrückmeldung, verbirgt Domain + IP + Ports, zustandslos und horizontal skalierbar, speichersicheres Go |
NHP fügt sich neben bestehenden IAM-, DNS-, FIDO- und Zero-Trust-Policy-Engines ein, statt sie zu ersetzen – es erweitert Ihren Stack, statt ihn zu forken.
Architektur
OpenNHP folgt einem modularen Design mit drei Kernkomponenten, inspiriert von der NIST Zero Trust Architecture:

| Kernkomponente | Rolle |
|---|---|
| NHP-Agent | Client, der verschlüsselte Knock-Anfragen sendet, um Zugriff zu erhalten |
| NHP-Server | Authentifiziert und autorisiert Anfragen; läuft separat und ist architektonisch vom geschützten Host entkoppelt |
| NHP-AC | Zugriffs-Controller, der die Firewall-Regeln auf dem geschützten Server verwaltet |
| Zusatzkomponente | Rolle |
|---|---|
| NHP-Relay | HTTP-zu-UDP-Brücke, die browserbasierte Agents ermöglicht, NHP-Knocks über HTTPS zu senden |
| NHP-KGC | Key Generation Center für Identity-Based Cryptography (IBC) |
Protokollablauf
- Agent sendet einen verschlüsselten Knock (
NHP_KNK) an den Server. - Server validiert den Knock und schickt eine Operations-Anfrage (
NHP_AOP) an den AC. - AC öffnet die Firewall und antwortet (
NHP_ART) dem Server. - Server schickt eine Bestätigung (
NHP_ACK) mit Zugriffsinformationen an den Agent. - Agent erreicht die geschützte Ressource über den AC.
Kryptographie
OpenNHP liefert zwei austauschbare Cipher-Suiten mit:
CIPHER_SCHEME_CURVE– Curve25519 + AES-256-GCM + BLAKE2sCIPHER_SCHEME_GMSM– SM2 + SM4-GCM + SM3
Beide bauen auf dem Noise Protocol Framework auf. Ein Identity-Based Cryptography (IBC)-Modus ist über das Key Generation Center (KGC) verfügbar.
Für Protokolldetails, Bereitstellungsmodelle und kryptographisches Design siehe die Dokumentation.
Repository-Struktur
opennhp/
├── nhp/ # Kernprotokoll-Bibliothek (Go-Modul)
│ ├── core/ # Paketverarbeitung, Kryptographie, Noise-Protokoll, Geräteverwaltung
│ ├── common/ # Gemeinsame Typen und Nachrichtendefinitionen
│ ├── utils/ # Hilfsfunktionen
│ ├── plugins/ # Plugin-Handler-Schnittstellen
│ ├── log/ # Logging-Infrastruktur
│ └── etcd/ # Unterstützung für verteilte Konfiguration
└── endpoints/ # Daemon-Implementierungen (Go-Modul, abhängig von nhp)
├── agent/ # NHP-Agent-Daemon
├── server/ # NHP-Server-Daemon
├── ac/ # NHP-AC-(Zugriffs-Controller)-Daemon
├── db/ # NHP-DB (Data Broker für DHP)
├── kgc/ # NHP-KGC (Key Generation Center)
└── relay/ # NHP-Relay-Daemon
Schnellstart
Voraussetzungen
- Go 1.25.6+
make- Docker und Docker Compose (für die Full-Stack-Demo)
Bauen
# Alle Komponenten bauen
make
# Einzelne Daemons bauen
make agentd # NHP-Agent
make serverd # NHP-Server
make acd # NHP-AC
make db # NHP-DB
make relayd # NHP-Relay
make kgc # NHP-KGC
Testen
cd nhp && go test ./...
cd endpoints && go test ./...
Mit Docker starten
cd docker && docker-compose up --build
Folgen Sie dem Schnellstart-Tutorial, um den vollständigen Authentifizierungs-Workflow in einer Docker-Umgebung zu simulieren.
Mitwirken
Beiträge sind willkommen! Bitte lesen Sie CONTRIBUTING.md, bevor Sie Pull Requests einreichen.
Hinweis: Alle Commits müssen mit einem verifizierten GPG- oder SSH-Schlüssel signiert sein.
git commit -S -m "your message"
Sicherheit
Eine Schwachstelle gefunden? Bitte folgen Sie dem Responsible-Disclosure-Prozess in SECURITY.md, statt ein öffentliches Issue zu eröffnen.
Sponsoren
Lizenz
Veröffentlicht unter der Apache 2.0 Lizenz.
Kontakt
- E-Mail: [email protected]
- Discord: Discord beitreten
- Website: https://opennhp.org