GitHub Hot Board

GitHub Hot Board · Archive du dépôt

OpenNHP/opennhp

Make your infrastructure invisible to attackers. OpenNHP implements the Network-infrastructure Hiding Protocol (NHP): authenticate before connection, cryptographically. IETF draft. (Cette description provient du dépôt lui-même.)

Données au October 26OpenNHP

Meilleur rang

#309

Tous temps · Go par langue

14K

Étoiles totales

2.5K

Forks totaux

0

Jours classés (30 j)

État du projetLicence: Apache-2.0Dernier push: October 23Issues ouvertes (PR incl.): 11

Collecté depuis 2026-10-25 ; inconnu = pas encore récolté

Mettez le badge dans votre README · OpenNHP/opennhp[![Mettez le badge dans votre README](https://git.vaiox.xyz/api/badge/OpenNHP/opennhp.svg)](https://git.vaiox.xyz/fr/repo/OpenNHP/opennhp)
<a href="https://git.vaiox.xyz/fr/repo/OpenNHP/opennhp"><img src="https://git.vaiox.xyz/api/badge/OpenNHP/opennhp.svg" alt="Mettez le badge dans votre README" height="20"></a>

Documentation du projet

en zh-cn zh-tw de ja fr es id

OpenNHP Logo

Rendre Internet invisible aux attaquants

Build Release License codecov Ask DeepWiki

OpenNHP dissimule vos serveurs, ports et domaines de l'Internet public. Rien ne répond tant qu'un client n'a pas prouvé son identité avec un seul paquet chiffré : scanners, bots et attaquants pilotés par l'IA ne trouvent rien à attaquer.

OpenNHP est une boîte à outils open source légère et basée sur la cryptographie, qui met en œuvre la sécurité Zero Trust pour les infrastructures, les applications et les données. C'est l'implémentation de référence de la spécification Network-infrastructure Hiding Protocol (NHP) de la Cloud Security Alliance (CSA), et elle comprend deux protocoles principaux :

  • Network-infrastructure Hiding Protocol (NHP) : dissimule les ports serveur, les adresses IP et les noms de domaine pour protéger les applications et l'infrastructure contre les accès non autorisés.
  • Data-content Hiding Protocol (DHP) : assure la sécurité et la confidentialité des données grâce au chiffrement et au confidential computing, rendant les données « utilisables mais invisibles ».

Site web · Vision · Démo en direct · Documentation · Discord


Pourquoi OpenNHP

L'internet moderne est une forêt sombre. Les attaquants — de plus en plus soutenus par des LLM qui scannent, identifient et exploitent à la vitesse de la machine via l'Autonomous Vulnerability Exploitation — considèrent chaque service accessible comme une cible. Gartner prévoit une hausse rapide des cyberattaques pilotées par l'IA. Les défenses traditionnelles authentifient les utilisateurs après que le réseau les ait laissés entrer, laissant les ports, IP et domaines exposés comme une surface d'attaque permanente.

À l'ère de l'IA, VISIBILITÉ = VULNÉRABILITÉ.

OpenNHP inverse ce modèle : invisible jusqu'à la confiance. Chaque port, IP et nom d'hôte est placé derrière une porte refusant tout par défaut. L'accès n'est accordé qu'après qu'un « toc-toc » cryptographiquement signé a été authentifié et autorisé hors bande. Les attaquants ne peuvent pas exploiter ce qu'ils ne peuvent pas découvrir.

Le protocole de masquage réseau de troisième génération

NHP est la prochaine étape dans la lignée des conceptions « cacher le service d'abord » :

Génération Protocole Limitations
1 Port Knocking Texte clair, vulnérable au rejeu
2 Single Packet Authorization (SPA) Secrets partagés, unidirectionnel, cache généralement uniquement les ports, souvent en C/C++
3 NHP Cryptographie moderne, bidirectionnel avec statut, cache domaine + IP + ports, sans état et scalable horizontalement, Go memory-safe

NHP s'intègre aux moteurs IAM, DNS, FIDO et aux policy engines Zero Trust existants au lieu de les remplacer — il étend votre stack sans la forker.


Architecture

OpenNHP adopte une conception modulaire avec trois composants principaux, inspirée de l'architecture Zero Trust du NIST :

OpenNHP architecture

Composant principal Rôle
NHP-Agent Client qui envoie des requêtes « toc-toc » chiffrées pour obtenir l'accès
NHP-Server Authentifie et autorise les requêtes ; s'exécute séparément et est architecturalement découplé de l'hôte protégé
NHP-AC Contrôleur d'accès qui gère les règles de pare-feu sur le serveur protégé
Composant additionnel Rôle
NHP-Relay Pont HTTP vers UDP permettant aux agents basés sur navigateur d'envoyer des knocks NHP via HTTPS
NHP-KGC Centre de génération de clés pour la cryptographie basée sur l'identité (IBC)

Flux protocolaire

  1. L'Agent envoie un knock chiffré (NHP_KNK) au Server.
  2. Le Server valide le knock et envoie une requête d'opération (NHP_AOP) à l'AC.
  3. L'AC ouvre le pare-feu et répond (NHP_ART) au Server.
  4. Le Server renvoie un acquittement (NHP_ACK) avec les informations d'accès à l'Agent.
  5. L'Agent atteint la ressource protégée via l'AC.

Cryptographie

OpenNHP fournit deux suites cryptographiques interchangeables :

  • CIPHER_SCHEME_CURVE — Curve25519 + AES-256-GCM + BLAKE2s
  • CIPHER_SCHEME_GMSM — SM2 + SM4-GCM + SM3

Toutes deux reposent sur le Noise Protocol Framework. Un mode Identity-Based Cryptography (IBC) est disponible via le Key Generation Center (KGC).

Pour les détails du protocole, les modèles de déploiement et la conception cryptographique, consultez la documentation.


Structure du dépôt

opennhp/
├── nhp/              # Bibliothèque principale du protocole (module Go)
│   ├── core/         # Traitement des paquets, cryptographie, protocole Noise, gestion des périphériques
│   ├── common/       # Types partagés et définitions de messages
│   ├── utils/        # Fonctions utilitaires
│   ├── plugins/      # Interfaces des gestionnaires de plugins
│   ├── log/          # Infrastructure de journalisation
│   └── etcd/         # Support de configuration distribuée
└── endpoints/        # Implémentations des daemons (module Go, dépend de nhp)
    ├── agent/        # Daemon NHP-Agent
    ├── server/       # Daemon NHP-Server
    ├── ac/           # Daemon NHP-AC (contrôleur d'accès)
    ├── db/           # NHP-DB (Data Broker pour DHP)
    ├── kgc/          # NHP-KGC (Key Generation Center)
    └── relay/        # Daemon NHP-Relay

Démarrage rapide

Prérequis

  • Go 1.25.6+
  • make
  • Docker et Docker Compose (pour la démo complète)

Construction

# Construire tous les composants
make

# Construire les daemons individuellement
make agentd    # NHP-Agent
make serverd   # NHP-Server
make acd       # NHP-AC
make db        # NHP-DB
make relayd    # NHP-Relay
make kgc       # NHP-KGC

Tests

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

Exécution avec Docker

cd docker && docker-compose up --build

Suivez le tutoriel de démarrage rapide pour simuler le workflow d'authentification complet dans un environnement Docker.


Contribuer

Les contributions sont les bienvenues ! Veuillez lire CONTRIBUTING.md avant de soumettre une Pull Request.

Remarque : tous les commits doivent être signés avec une clé GPG ou SSH vérifiée.

git commit -S -m "your message"

Sécurité

Vous avez trouvé une vulnérabilité ? Merci de suivre le processus de divulgation responsable décrit dans SECURITY.md plutôt que d'ouvrir un ticket public.


Sponsors

LayerV.ai logo

Licence

Publié sous licence Apache 2.0.

Contact

Classements actuels

Évolution sur 30 jours

Aucun classement au cours des 30 derniers jours.

Projets similaires · sujets partagés

← Retour aux classements