업데이트로 돌아가기
New releaseSep 11, 2026

opennhp v1.0.1

AI 중심 세계에서 인프라, 애플리케이션 및 데이터에 Zero Trust 보안을 적용하도록 설계된 경량의 암호화 기반 오픈소스 툴킷입니다.

공유

en zh-cn zh-tw de ja fr es

OpenNHP Logo

OpenNHP: 오픈소스 제로 트러스트 보안 툴킷

Build Release License codecov Ask DeepWiki

OpenNHP는 암호화 기반의 가볍고 오픈소스인 툴킷으로, 인프라, 애플리케이션 및 데이터에 제로 트러스트 보안을 구현합니다. CSA(Cloud Security Alliance)의 *네트워크 인프라 하이딩 프로토콜(NHP) 명세*의 참조 구현체이며, 두 가지 핵심 프로토콜을 제공합니다:

  • 네트워크 인프라 하이딩 프로토콜 (NHP): 서버 포트, IP 주소 및 도메인 이름을 숨겨 승인되지 않은 접근으로부터 애플리케이션과 인프라를 보호합니다.
  • 데이터 콘텐츠 하이딩 프로토콜 (DHP): 암호화와 기밀 컴퓨팅을 통해 데이터의 보안과 프라이버시를 보장하며, 데이터를 "사용 가능하지만 보이지 않도록" 만듭니다.

웹사이트 · 비전 · 라이브 데모 · 문서 · Discord


왜 OpenNHP인가

현대 인터넷은 어두운 숲(dark forest)입니다. 공격자들은 점점 더 LLM의 지원을 받아 자율 취약점 악용(Autonomous Vulnerability Exploitation)을 통해 기계 속도로 스캔, 핑거프린팅, 악용을 수행하며, 도달 가능한 모든 서비스를 표적으로 삼습니다. Gartner는 AI 기반 사이버 공격이 급증할 것으로 예측합니다. 전통적인 방어는 네트워크가 사용자를 받아들인 후에 사용자를 인증하므로, 노출된 포트, IP 및 도메인이 영구적인 공격 표면으로 남게 됩니다.

AI 시대에는 VISIBILITY = VULNERABILITY입니다.

OpenNHP는 이 모델을 뒤집습니다: 신뢰할 수 있을 때까지 보이지 않습니다. 모든 포트, IP 및 호스트 이름은 기본 거부 게이트 뒤에 있습니다. 접근은 암호학적으로 서명된 노크가 대역 외에서 인증되고 승인된 후에만 부여됩니다. 공격자는 발견할 수 없는 것을 악용할 수 없습니다.

3세대 네트워크 하이딩 프로토콜

NHP는 "먼저 서비스를 숨겨라"는 설계 흐름의 다음 단계입니다:

세대프로토콜한계
1포트 노킹(Port Knocking)평문, 재생 공격에 취약
2단일 패킷 권한 부여(SPA)공유 비밀, 단방향, 일반적으로 포트만 숨김, 주로 C/C++
3NHP최신 암호화, 상태 정보 포함 양방향, 도메인 + IP + 포트 숨김, 무상태 및 수평 확장 가능, 메모리 안전 Go

NHP는 기존 IAM, DNS, FIDO 및 제로 트러스트 정책 엔진과 함께 사용되며, 이를 대체하지 않고 확장합니다.


아키텍처

OpenNHP는 NIST 제로 트러스트 아키텍처에서 영감을 받아 세 가지 핵심 구성 요소로 모듈식 설계를 따릅니다:

OpenNHP architecture

핵심 구성 요소역할
NHP-Agent접근 권한을 얻기 위해 암호화된 노크 요청을 보내는 클라이언트
NHP-Server요청을 인증 및 승인하며, 보호 대상 호스트와 분리되어 아키텍처적으로 독립적으로 실행됨
NHP-AC보호 대상 서버에서 방화벽 규칙을 관리하는 접근 제어기
추가 구성 요소역할
NHP-Relay브라우저 기반 에이전트가 HTTPS를 통해 NHP 노크를 보낼 수 있게 하는 HTTP-to-UDP 브리지
NHP-KGCID 기반 암호화(IBC)를 위한 키 생성 센터

프로토콜 흐름

  1. 에이전트가 암호화된 노크(NHP_KNK)를 서버로 전송합니다.
  2. 서버가 노크를 검증하고 AC로 작업 요청(NHP_AOP)을 전송합니다.
  3. AC가 방화벽을 열고 응답(NHP_ART)을 서버로 보냅니다.
  4. 서버가 접근 정보가 포함된 확인(NHP_ACK)을 에이전트에 반환합니다.
  5. 에이전트가 AC를 통해 보호 대상 리소스에 도달합니다.

암호화

OpenNHP는 두 가지 교체 가능한 암호 제품군을 제공합니다:

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

둘 다 Noise Protocol Framework를 기반으로 합니다. ID 기반 암호화(IBC) 모드는 키 생성 센터(KGC)를 통해 사용할 수 있습니다.

프로토콜 세부 사항, 배포 모델 및 암호화 설계에 대한 자세한 내용은 문서를 참조하세요.


저장소 구조

opennhp/
├── nhp/              # 핵심 프로토콜 라이브러리 (Go 모듈)
│   ├── core/         # 패킷 처리, 암호화, Noise 프로토콜, 장치 관리
│   ├── common/       # 공유 타입 및 메시지 정의
│   ├── utils/        # 유틸리티 함수
│   ├── plugins/      # 플러그인 핸들러 인터페이스
│   ├── log/          # 로깅 인프라
│   └── etcd/         # 분산 구성 지원
└── endpoints/        # 데몬 구현 (Go 모듈, nhp에 의존)
    ├── agent/        # NHP-Agent 데몬
    ├── server/       # NHP-Server 데몬
    ├── ac/           # NHP-AC (접근 제어기) 데몬
    ├── db/           # NHP-DB (DHP용 데이터 브로커)
    ├── kgc/          # NHP-KGC (키 생성 센터)
    └── relay/        # NHP-Relay 데몬

빠른 시작

사전 요구 사항

  • Go 1.25.6+
  • make
  • Docker 및 Docker Compose (전체 스택 데모용)

빌드

# 모든 구성 요소 빌드
make

# 개별 데몬 빌드
make agentd    # NHP-Agent
make serverd   # NHP-Server
make acd       # NHP-AC
make db        # NHP-DB
make relayd    # NHP-Relay
make kgc       # NHP-KGC

테스트

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

Docker로 실행

cd docker && docker-compose up --build

빠른 시작 튜토리얼을 따라 Docker 환경에서 전체 인증 워크플로를 시뮬레이션하세요.


기여하기

기여를 환영합니다! 풀 리퀘스트를 제출하기 전에 CONTRIBUTING.md를 읽어주세요.

참고: 모든 커밋은 검증된 GPG 또는 SSH 키로 서명되어야 합니다.

git commit -S -m "your message"

보안

취약점을 발견하셨나요? 공개 이슈를 열지 말고 SECURITY.md에 명시된 책임 있는 공개 절차를 따라주세요.


스폰서

LayerV.ai logo    Atlas Cloud logo

라이선스

Apache 2.0 라이선스에 따라 배포됩니다.

연락처

카테고리