Назад к обновлениям
New releaseSep 11, 2026

opennhp v1.0.1

Легковесный, работающий на криптографии, набор инструментов с открытым исходным кодом, созданный для обеспечения безопасности по модели Zero Trust для инфраструктуры, приложений и данных в мире, управляемом ИИ.

Поделиться

en zh-cn zh-tw de ja fr es

Логотип OpenNHP

OpenNHP: Открытый набор инструментов Zero Trust Security

Build Release License codecov Ask DeepWiki

OpenNHP — это лёгкий, основанный на криптографии открытый набор инструментов, реализующий безопасность с нулевым доверием (Zero Trust) для инфраструктуры, приложений и данных. Он является эталонной реализацией спецификации Cloud Security Alliance (CSA) Network-infrastructure Hiding Protocol (NHP) и включает два основных протокола:

  • Network-infrastructure Hiding Protocol (NHP): Скрывает порты серверов, IP-адреса и доменные имена для защиты приложений и инфраструктуры от несанкционированного доступа.
  • Data-content Hiding Protocol (DHP): Обеспечивает безопасность и конфиденциальность данных с помощью шифрования и конфиденциальных вычислений, делая данные «используемыми, но невидимыми».

Веб-сайт · Видение · Живая демонстрация · Документация · Discord


Почему OpenNHP

Сегодняшний интернет — это тёмный лес. Злоумышленники, всё чаще поддерживаемые LLM, которые сканируют, снимают отпечатки и эксплуатируют на машинной скорости с помощью Автономной эксплуатации уязвимостей, рассматривают каждый доступный сервис как цель. Gartner прогнозирует стремительный рост кибератак с использованием ИИ. Традиционные средства защиты аутентифицируют пользователей после того, как сеть впускает их, оставляя открытые порты, IP и домены в качестве постоянной поверхности атаки.

В эпоху ИИ ВИДИМОСТЬ = УЯЗВИМОСТЬ.

OpenNHP переворачивает эту модель: невидим, пока не проверен. Каждый порт, IP и имя хоста находятся за шлюзом по умолчанию запрещающим (default-deny). Доступ предоставляется только после того, как криптографически подписанный «стук» (knock) аутентифицирован и авторизован внеполосным способом. Атакующие не могут эксплуатировать то, что не могут обнаружить.

Протокол скрытия сети третьего поколения

NHP — это следующий шаг в линейке конструкций «сначала спрячь сервис»:

ПоколениеПротоколОграничения
1Port KnockingОткрытый текст, подвержен повторному воспроизведению
2Single Packet Authorization (SPA)Общие секреты, однонаправленный, обычно скрывает только порты, обычно C/C++
3NHPСовременная криптография, двунаправленный с состоянием, скрывает домен + IP + порты, без сохранения состояния (stateless) и горизонтально масштабируемый, безопасный по памяти Go

NHP встраивается вместе с существующими механизмами IAM, DNS, FIDO и политик Zero Trust, не заменяя их — он расширяет ваш стек, а не ответвляет его.


Архитектура

OpenNHP имеет модульную конструкцию с тремя основными компонентами, вдохновлённую Архитектурой нулевого доверия NIST:

Архитектура OpenNHP

Основной компонентРоль
NHP-AgentКлиент, отправляющий зашифрованные запросы-стуки (knock) для получения доступа
NHP-ServerАутентифицирует и авторизует запросы; работает отдельно и архитектурно отделён от защищаемого хоста
NHP-ACКонтроллер доступа, управляющий правилами межсетевого экрана на защищаемом сервере
Дополнительный компонентРоль
NHP-RelayМост HTTP-to-UDP, позволяющий агентам на базе браузера отправлять NHP-стуки через HTTPS
NHP-KGCЦентр генерации ключей для криптографии на основе идентичности (IBC)

Поток протокола

  1. Агент отправляет зашифрованный стук (NHP_KNK) на Сервер.
  2. Сервер проверяет стук и отправляет запрос на операцию (NHP_AOP) на AC.
  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. Режим криптографии на основе идентичности (IBC) доступен через Центр генерации ключей (KGC).

Подробнее о протоколе, моделях развёртывания и криптографической конструкции см. в документации.


Структура репозитория

opennhp/
├── nhp/              # Основная библиотека протоколов (модуль Go)
│   ├── core/         # Обработка пакетов, криптография, Noise Protocol, управление устройствами
│   ├── 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 перед отправкой pull request.

Примечание: Все коммиты должны быть подписаны проверенным ключом GPG или SSH.

git commit -S -m "ваше сообщение"

Безопасность

Нашли уязвимость? Пожалуйста, следуйте процессу ответственного раскрытия в SECURITY.md, а не открывайте публичный issue.


Спонсоры

LayerV.ai logo    Atlas Cloud logo

Лицензия

Выпущено под лицензией Apache 2.0.

Контакты

Категории