Voltar às atualizações
New releaseSep 11, 2026

opennhp v1.0.1

Um kit de ferramentas leve, baseado em criptografia e de código aberto, construído para aplicar a segurança Zero Trust em infraestruturas, aplicações e dados no mundo impulsionado por IA.

Compartilhar

en zh-cn zh-tw de ja fr es

OpenNHP Logo

OpenNHP: Kit de Ferramentas de Segurança Zero Trust de Código Aberto

Build Release License codecov Ask DeepWiki

OpenNHP é um kit de ferramentas leve, baseado em criptografia e de código aberto que implementa segurança Zero Trust para infraestrutura, aplicações e dados. É a implementação de referência da especificação Network-infrastructure Hiding Protocol (NHP) da Cloud Security Alliance (CSA), e apresenta dois protocolos principais:

  • Network-infrastructure Hiding Protocol (NHP): Oculta portas de servidor, endereços IP e nomes de domínio para proteger aplicações e infraestrutura contra acesso não autorizado.
  • Data-content Hiding Protocol (DHP): Garante a segurança e privacidade dos dados por meio de criptografia e computação confidencial, tornando os dados "utilizáveis, mas não visíveis".

Site · Visão · Demonstração ao Vivo · Documentação · Discord


Por que OpenNHP

A internet moderna é uma dark forest. Atacantes — cada vez mais apoiados por LLMs que escaneiam, identificam e exploram em velocidade de máquina via Autonomous Vulnerability Exploitation — tratam todo serviço alcançável como um alvo. A Gartner projeta que os ciberataques impulsionados por IA aumentarão rapidamente. As defesas tradicionais autenticam os usuários após a rede deixá-los entrar, deixando portas, IPs e domínios expostos como uma superfície de ataque permanente.

Na era da IA, VISIBILIDADE = VULNERABILIDADE.

O OpenNHP inverte esse modelo: invisível até ser confiável. Cada porta, IP e nome de host fica atrás de uma barreira de negação padrão. O acesso é concedido apenas após um knock criptograficamente assinado ser autenticado e autorizado fora de banda. Os atacantes não podem explorar o que não conseguem descobrir.

O protocolo de ocultação de rede de terceira geração

O NHP é o próximo passo em uma linhagem de designs de "ocultar o serviço primeiro":

GeraçãoProtocoloLimitações
1Port KnockingTexto simples, propenso a repetição
2Single Packet Authorization (SPA)Segredos compartilhados, unidirecional, normalmente oculta apenas portas, tipicamente C/C++
3NHPCriptografia moderna, bidirecional com status, oculta domínio + IP + portas, sem estado e escalável horizontalmente, Go seguro em memória

O NHP se insere ao lado dos mecanismos existentes de IAM, DNS, FIDO e políticas Zero Trust, em vez de substituí-los — ele estende sua pilha em vez de bifurcá-la.


Arquitetura

O OpenNHP segue um design modular com três componentes principais, inspirado na Arquitetura Zero Trust do NIST:

OpenNHP architecture

Componente PrincipalFunção
NHP-AgentCliente que envia solicitações de knock criptografadas para obter acesso
NHP-ServerAutentica e autoriza solicitações; é executado separadamente e desacoplado arquiteturalmente do host protegido
NHP-ACControlador de acesso que gerencia regras de firewall no servidor protegido
Componente AdicionalFunção
NHP-RelayPonte HTTP-para-UDP que permite que agentes baseados em navegador enviem knocks NHP via HTTPS
NHP-KGCCentro de Geração de Chaves para Criptografia Baseada em Identidade (IBC)

Fluxo do protocolo

  1. O agente envia um knock criptografado (NHP_KNK) ao Servidor.
  2. O servidor valida o knock e envia uma solicitação de operação (NHP_AOP) ao AC.
  3. O AC abre o firewall e responde (NHP_ART) ao Servidor.
  4. O servidor retorna um reconhecimento (NHP_ACK) com informações de acesso ao Agente.
  5. O agente alcança o recurso protegido através do AC.

Criptografia

O OpenNHP acompanha dois conjuntos de cifras intercambiáveis:

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

Ambos são orientados pelo Noise Protocol Framework. Um modo de Criptografia Baseada em Identidade (IBC) está disponível através do Centro de Geração de Chaves (KGC).

Para detalhes do protocolo, modelos de implantação e design criptográfico, consulte a documentação.


Estrutura do Repositório

opennhp/
├── nhp/              # Core protocol library (Go module)
│   ├── core/         # Packet handling, cryptography, Noise Protocol, device management
│   ├── common/       # Shared types and message definitions
│   ├── utils/        # Utility functions
│   ├── plugins/      # Plugin handler interfaces
│   ├── log/          # Logging infrastructure
│   └── etcd/         # Distributed configuration support
└── endpoints/        # Daemon implementations (Go module, depends on nhp)
    ├── agent/        # NHP-Agent daemon
    ├── server/       # NHP-Server daemon
    ├── ac/           # NHP-AC (access controller) daemon
    ├── db/           # NHP-DB (Data Broker for DHP)
    ├── kgc/          # NHP-KGC (Key Generation Center)
    └── relay/        # NHP-Relay daemon

Início Rápido

Pré-requisitos

  • Go 1.25.6+
  • make
  • Docker e Docker Compose (para a demonstração completa)

Compilar

# Build all components
make

# Build individual daemons
make agentd    # NHP-Agent
make serverd   # NHP-Server
make acd       # NHP-AC
make db        # NHP-DB
make relayd    # NHP-Relay
make kgc       # NHP-KGC

Testar

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

Executar com Docker

cd docker && docker-compose up --build

Siga o tutorial de Início Rápido para simular o fluxo completo de autenticação em um ambiente Docker.


Contribuindo

Aceitamos contribuições! Leia CONTRIBUTING.md antes de enviar pull requests.

Nota: Todos os commits devem ser assinados com uma chave GPG ou SSH verificada.

git commit -S -m "sua mensagem"

Segurança

Encontrou uma vulnerabilidade? Siga o processo de divulgação responsável em SECURITY.md em vez de abrir um issue público.


Patrocinadores

Logotipo da LayerV.ai    Logotipo da Atlas Cloud

Licença

Lançado sob a Licença Apache 2.0.

Contato

Categorias