
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.

Rendi Internet invisibile agli attaccanti
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":
| Generazione | Protocollo | Limitazioni |
|---|---|---|
| 1 | Port Knocking | In chiaro, soggetto a replay |
| 2 | Single Packet Authorization (SPA) | Segreti condivisi, unidirezionale, tipicamente nasconde solo le porte, tipicamente C/C++ |
| 3 | NHP | Crittografia 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:

| Componente principale | Ruolo |
|---|---|
| NHP-Agent | Client che invia richieste di knock cifrate per ottenere l'accesso |
| NHP-Server | Autentica e autorizza le richieste; viene eseguito separatamente ed è architetturalmente disaccoppiato dall'host protetto |
| NHP-AC | Controller di accesso che gestisce le regole del firewall sul server protetto |
| Componente aggiuntivo | Ruolo |
|---|---|
| NHP-Relay | Bridge HTTP-to-UDP che consente agli agent basati su browser di inviare knock NHP tramite HTTPS |
| NHP-KGC | Key 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:
- L'agent richiede una password monouso (
NHP_OTP); il plugin di autenticazione del Server la consegna all'utente (ad es. via email). - 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).
- L'agent invia un knock cifrato (
NHP_KNK) al Server. - Il Server convalida il knock e invia una richiesta di operazione (
NHP_AOP) all'AC. - L'AC apre il firewall e risponde (
NHP_ART) al Server. - Il Server restituisce un acknowledgment (
NHP_ACK) con le informazioni di accesso all'Agent. - 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 + BLAKE2sCIPHER_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.