Torna agli aggiornamenti
New releaseSep 11, 2026

opennhp v1.0.1

Un toolkit open-source leggero, basato sulla crittografia, progettato per imporre la sicurezza Zero Trust per infrastrutture, applicazioni e dati nel mondo guidato dall'IA.

Condividi

en zh-cn zh-tw de ja fr es

Logo di OpenNHP

OpenNHP: Toolkit Open Source per la Sicurezza Zero Trust

Build Release License codecov Ask DeepWiki

OpenNHP è un toolkit open source leggero 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 offre due protocolli principali:

  • Network-infrastructure Hiding Protocol (NHP): Nasconde porte del server, indirizzi IP e 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 elaborazione riservata (confidential computing), rendendo i dati "utilizzabili ma invisibili".

Sito web · Visione · Demo dal vivo · Documentazione · Discord


Perché OpenNHP

Internet moderno è una foresta oscura. Gli attaccanti — sempre più supportati da LLM che scansionano, identificano e sfruttano le vulnerabilità a velocità meccanica tramite Autonomous Vulnerability Exploitation — trattano ogni servizio raggiungibile come un bersaglio. Gartner prevede un rapido aumento degli attacchi informatici guidati dall'IA. 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 nome host si trova dietro un cancello di default-negato. L'accesso viene concesso solo dopo che un knock crittograficamente firmato è stato autenticato e autorizzato out-of-band. Gli attaccanti non possono sfruttare ciò che non possono scoprire.

Il protocollo di rete nascosta di terza generazione

NHP è il passo successivo in una serie di progetti "nascondi prima il servizio":

GenerazioneProtocolloLimitazioni
1Port KnockingTesto in chiaro, soggetto a replay
2Single Packet Authorization (SPA)Segreti condivisi, unidirezionale, di solito 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 inserisce accanto ai motori IAM, DNS, FIDO e Zero Trust esistenti, senza sostituirli — estende il tuo stack invece di bifurcarlo.


Architettura

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

Architettura di OpenNHP

Componente principaleRuolo
NHP-AgentClient che invia richieste di knock crittografate per ottenere accesso
NHP-ServerAutentica e autorizza le richieste; viene eseguito separatamente ed è disaccoppiato architetturalmente 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 agenti basati su browser di inviare knock NHP tramite HTTPS
NHP-KGCCentro di generazione delle chiavi per la crittografia basata sull'identità (IBC)

Flusso del protocollo

  1. L'Agente invia un knock crittografato (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 acknowledgement (NHP_ACK) con le informazioni di accesso all'Agente.
  5. L'Agente raggiunge la risorsa protetta tramite l'AC.

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 guidate dal Noise Protocol Framework. Una modalità di crittografia basata sull'identità (IBC) è disponibile tramite il Key Generation Center (KGC).

Per i dettagli del protocollo, i modelli di distribuzione e la progettazione crittografica, consulta la documentazione.


Struttura del Repository

opennhp/
├── nhp/              # Libreria del protocollo core (modulo Go)
│   ├── core/         # Gestione dei pacchetti, crittografia, Noise Protocol, gestione dispositivi
│   ├── common/       # Tipi condivisi e definizioni dei messaggi
│   ├── utils/        # Funzioni di utilità
│   ├── plugins/      # Interfacce per gli handler dei plugin
│   ├── log/          # Infrastruttura di logging
│   └── etcd/         # Supporto per configurazione distribuita
└── endpoints/        # Implementazioni dei daemon (modulo Go, dipende da nhp)
    ├── agent/        # Daemon NHP-Agent
    ├── server/       # Daemon NHP-Server
    ├── ac/           # Daemon NHP-AC (controllore di accesso)
    ├── db/           # NHP-DB (Data Broker per DHP)
    ├── kgc/          # NHP-KGC (Key Generation Center)
    └── relay/        # Daemon NHP-Relay

Avvio Rapido

Prerequisiti

  • Go 1.25.6+
  • make
  • Docker e Docker Compose (per la demo completa)

Compilazione

# Compila tutti i componenti
make

# Compila singoli daemon
make agentd    # NHP-Agent
make serverd   # NHP-Server
make acd       # NHP-AC
make db        # NHP-DB
make relayd    # NHP-Relay
make kgc       # NHP-KGC

Test

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

Esecuzione con Docker

cd docker && docker-compose up --build

Segui il tutorial di Avvio Rapido per simulare l'intero flusso di autenticazione in un ambiente Docker.


Contribuire

I contributi sono benvenuti! Leggi CONTRIBUTING.md prima di inviare pull request.

Nota: Tutti i commit devono essere firmati con una chiave GPG o SSH verificata.

git commit -S -m "il tuo messaggio"

Sicurezza

Hai trovato una vulnerabilità? Segui il processo di divulgazione responsabile in SECURITY.md invece di aprire un issue pubblico.


Logo di LayerV.ai    Logo di Atlas Cloud

Licenza

Rilasciato sotto Licenza Apache 2.0.

Contatti

Categorie