Torna agli aggiornamenti
New releaseSep 11, 2026

opennhp v1.0.1

Toolkit Zero Trust basato sulla crittografia che implementa i protocolli NHP e DHP per nascondere l'infrastruttura di rete, crittografare i dati e applicare l'accesso predefinito negato per applicazioni e infrastrutture.

Condividi

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

OpenNHP Logo

Rendi Internet invisibile agli attaccanti

Build Release License codecov Ask DeepWiki

OpenNHP nasconde i tuoi server, le porte e i domini da internet pubblico. Nulla risponde finché un client non dimostra la propria identità con un singolo pacchetto cifrato, così gli scanner, i bot e gli attaccanti guidati dall'IA non trovano nulla da attaccare.

OpenNHP è un toolkit leggero, open-source e basato sulla crittografia che implementa la sicurezza Zero Trust per infrastrutture, applicazioni e dati. È l'implementazione di riferimento della specifica Network-infrastructure Hiding Protocol (NHP) della Cloud Security Alliance (CSA), e presenta due protocolli principali:

  • Network-infrastructure Hiding Protocol (NHP): Occulta le porte dei server, gli indirizzi IP e i nomi di dominio per proteggere applicazioni e infrastrutture da accessi non autorizzati.
  • Data-content Hiding Protocol (DHP): Garantisce la sicurezza e la privacy dei dati tramite crittografia e confidential computing, rendendo i dati "utilizzabili ma non visibili."

Sito web · Visione · Demo live · Documentazione · Discord


Perché OpenNHP

L'internet moderno è una foresta oscura. Gli attaccanti — sempre più supportati da LLM che scansionano, identificano e sfruttano a velocità macchina tramite l'Autonomous Vulnerability Exploitation — trattano ogni servizio raggiungibile come un bersaglio. Gartner prevede che gli attacchi informatici guidati dall'IA aumenteranno rapidamente. Le difese tradizionali autenticano gli utenti dopo che la rete li ha fatti entrare, lasciando porte, IP e domini esposti come una superficie d'attacco permanente.

Nell'era dell'IA, VISIBILITÀ = VULNERABILITÀ.

OpenNHP inverte questo modello: invisibile finché non fidato. Ogni porta, IP e hostname si trova dietro un cancello a negazione predefinita. L'accesso viene concesso solo dopo che un knock firmato crittograficamente è stato autenticato e autorizzato fuori banda. Gli attaccanti non possono sfruttare ciò che non possono scoprire.

Il protocollo di occultamento di rete di terza generazione

NHP è il passo successivo in una linea di progetti che "nascondono prima il servizio":

GenerazioneProtocolloLimitazioni
1Port KnockingIn chiaro, soggetto a replay
2Single Packet Authorization (SPA)Segreti condivisi, unidirezionale, tipicamente nasconde solo le porte, tipicamente C/C++
3NHPCrittografia moderna, bidirezionale con stato, nasconde dominio + IP + porte, stateless e scalabile orizzontalmente, Go memory-safe

NHP si affianca ai motori di policy esistenti IAM, DNS, FIDO e Zero Trust anziché sostituirli — estende il tuo stack invece di frammentarlo.


Architettura

OpenNHP segue un design modulare con tre componenti principali, ispirato alla NIST Zero Trust Architecture:

OpenNHP architecture

Componente principaleRuolo
NHP-AgentClient che invia richieste di knock cifrate per ottenere l'accesso
NHP-ServerAutentica e autorizza le richieste; viene eseguito separatamente ed è architetturalmente disaccoppiato dall'host protetto
NHP-ACController di accesso che gestisce le regole del firewall sul server protetto
Componente aggiuntivoRuolo
NHP-RelayBridge HTTP-to-UDP che consente agli agent basati su browser di inviare knock NHP tramite HTTPS
NHP-KGCKey Generation Center per la crittografia basata sull'identità (IBC)

Flusso del protocollo

Registrazione (una volta per dispositivo). L'agent genera la propria coppia di chiavi, quindi registra la chiave pubblica:

  1. L'agent richiede una password monouso (NHP_OTP); il plugin di autenticazione del Server la consegna all'utente (ad es. via email).
  2. L'agent invia l'OTP e la propria chiave pubblica (NHP_REG); il Server associa la chiave all'utente e risponde (NHP_RAK).

La chiave privata non lascia mai il dispositivo.

Knock (a ogni accesso).

  1. L'agent invia un knock cifrato (NHP_KNK) al Server.
  2. Il Server convalida il knock e invia una richiesta di operazione (NHP_AOP) all'AC.
  3. L'AC apre il firewall e risponde (NHP_ART) al Server.
  4. Il Server restituisce un acknowledgment (NHP_ACK) con le informazioni di accesso all'Agent.
  5. L'Agent raggiunge la risorsa protetta attraverso l'AC.

Gli agent basati su browser, che non possono inviare UDP grezzo, raggiungono il Server tramite NHP-Relay su HTTPS; il relay inoltra ogni pacchetto all'interno di una busta NHP_RLY autenticata.

Crittografia

OpenNHP include due suite di cifratura intercambiabili:

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

Entrambe sono gestite dal Noise Protocol Framework. È disponibile una modalità di crittografia basata sull'identità (IBC) tramite il Key Generation Center (KGC).

Per i dettagli del protocollo, i modelli di deployment e il design crittografico, consulta la documentazione.


Struttura del repository

Categorie