Philosophie de sécurité — Inspirée de ₿itcoin

Cryptographie + open source

La conception de sécurité d'OpenNHP s'inspire du modèle de sécurité le plus éprouvé de l'histoire.

L'inspiration Bitcoin

Bitcoin détient plus de 1 000 milliards de dollars de valeur — la cible la plus tentante pour chaque pirate de la planète. Pourtant, après plus de 15 ans d'attaques incessantes, il reste inviolé. Les approches de sécurité traditionnelles auraient échoué depuis longtemps. Qu'est-ce qui rend Bitcoin différent ?

🔐

Cryptographie

La cryptographie est le socle de la cybersécurité — bâtie sur des preuves mathématiques rigoureuses, et non sur des hypothèses. Lorsque la sécurité est enracinée dans les mathématiques, les attaquants se heurtent à des défis computationnellement impossibles, et non à de simples contournements astucieux.

👁️

Open source

L'open source permet une relecture par les pairs à l'échelle mondiale — des milliers de développeurs du monde entier peuvent auditer chaque ligne de code pour en vérifier la justesse et détecter les vulnérabilités. La sécurité par la transparence, et non par l'obscurité.

OpenNHP applique cette formule éprouvée : une cryptographie mathématiquement solide mise en œuvre dans un open source totalement transparent.

🛡️

Noise Protocol

Cadre cryptographique moderne pour l'authentification mutuelle et la confidentialité persistante

🔍

Audit communautaire

Relecture rigoureuse par des chercheurs et développeurs en sécurité du monde entier

📜

Apache 2.0

Licence permissive pour une adoption maximale et la confiance des entreprises

Implémentation de référence

OpenNHP Core

L'implémentation officielle de référence du Network-Infrastructure Hiding Protocol. Écrite en Go pour la sûreté mémoire, les hautes performances et la compatibilité multiplateforme.

13,7k étoiles
🍴 2,5k forks

Composants

nhp-agent Agent côté client pour initier les connexions NHP
nhp-server Serveur du plan de contrôle pour l'authentification
nhp-ac Contrôleur d'accès pour l'application des politiques

Plateformes prises en charge

Linux Windows macOS FreeBSD Android iOS
Application d'exemple

StealthDNS

Un client DNS Zero Trust propulsé par OpenNHP. Il illustre le modèle de « résolution DNS invisible » où les domaines protégés renvoient NXDOMAIN aux clients non autorisés.

  • Résolution DNS invisible — domaines dissimulés aux requêtes non autorisées
  • Authentification propulsée par NHP avant la recherche DNS
  • Résolveur local transparent (127.0.0.1:53)
  • Multiplateforme : Windows, macOS, Linux, Android, iOS
Voir StealthDNS

Comment fonctionne StealthDNS

Étape 1

L'application effectue une recherche DNS pour un domaine protégé

Étape 2

StealthDNS effectue un knock NHP avec le contexte d'identité

Étape 3

Le contrôleur NHP valide et renvoie une adresse éphémère

Résultat

Autorisé : réponse DNS valide
Non autorisé : NXDOMAIN


Plateformes prises en charge

Windows macOS Linux Android iOS
Intégration

NHP-FRP

Reverse proxy Zero Trust qui intègre la dissimulation réseau d'OpenNHP avec frp — rendant les ports du serveur totalement invisibles tant que le client n'est pas authentifié.

  • Authentification propulsée par NHP avant le tunnel du reverse proxy
  • Ports du serveur dissimulés jusqu'à preuve de l'identité cryptographique
  • Construit sur le framework de reverse proxy frp, éprouvé au combat
  • Exposez des services internes en toute sécurité sans ouvrir de ports
Voir NHP-FRP

Comment fonctionne NHP-FRP

Étape 1

Le client envoie un knock NHP pour authentifier son identité

Étape 2

Le serveur NHP vérifie et ouvre le port du proxy frp pour le client

Étape 3

Le client se connecte via le tunnel frp au service interne

Résultat

Services internes accessibles en toute sécurité — invisibles à tous les autres


Cas d'usage

Accès distant Traversée NAT Services internes Tunnels de développement
Implémentation web

JavaScript Agent

Apportez le Zero Trust dans le navigateur. Le JS Agent permet aux applications web d'effectuer une authentification NHP directement depuis le client, rendant possible un accès sécurisé aux services dissimulés.

  • Implémentation pur JavaScript
  • Types TypeScript inclus
  • Fonctionne dans tous les navigateurs modernes
  • Intégration WebSocket et fetch
Voir JS Agent

Démarrage rapide

import { NHPAgent } from '@opennhp/js-agent';

// Initialize the agent
const agent = new NHPAgent({
  server: 'nhp.example.com',
  identity: userCredentials
});

// Perform NHP knock
const access = await agent.knock({
  resource: 'api.hidden.example.com'
});

// Access granted - connect to service
const response = await fetch(access.endpoint);
Rejoignez-nous

Contribuer à OpenNHP

OpenNHP est un projet open source qui accueille les contributions de développeurs, chercheurs en sécurité et rédacteurs de documentation.

🐛

Signaler des problèmes

Bug découvert ou demande de fonctionnalité ? Ouvrez une issue sur GitHub avec des informations détaillées.

Ouvrir une issue
🔧

Soumettre des pull requests

Consultez notre guide de contribution, forkez le dépôt et soumettez vos améliorations.

Voir les PR
📚

Améliorer la documentation

Aidez à rendre OpenNHP plus accessible en améliorant les guides, tutoriels et docs d'API.

Voir la documentation
🔬

Recherche en sécurité

Relisez le protocole, auditez l'implémentation et aidez à identifier les vulnérabilités.

Politique de sécurité

Commencez à construire avec OpenNHP

Déployez dès aujourd'hui une sécurité réseau Zero Trust dans votre infrastructure.