密码学 + 开源
OpenNHP 的安全设计借鉴了历史上最经受考验的安全模型。
Bitcoin 的启示
Bitcoin 持有超过 1 万亿美元的价值——是地球上每个黑客最具诱惑力的目标。 然而在 15 年以上的不断攻击之后,它仍然未被攻破。传统的安全方法 早就失败了。是什么让 Bitcoin 与众不同?
密码学
密码学是网络安全的基石——建立在严格的数学证明之上, 而非假设。当安全性植根于数学时,攻击者面临的是计算上 不可能的挑战,而非巧妙的变通方法。
开源
开源实现了全球同行评审——全世界数千名开发者可以审计 每一行代码的正确性和漏洞。安全性来自透明, 而非隐蔽。
OpenNHP 应用了这个经过验证的公式: 数学上可靠的密码学以完全透明的开源方式实现。
Noise Protocol
用于双向认证和前向保密的现代密码学框架
社区审计
来自全球安全研究人员和开发者的严格同行评审
Apache 2.0
宽松许可证,最大化采用率和企业信心
OpenNHP Core
Network-Infrastructure Hiding Protocol 的官方参考实现。 使用 Go 语言编写,具备内存安全、高性能和跨平台兼容性。
组件
nhp-agent
用于发起 NHP 连接的客户端代理nhp-server
用于认证的控制平面服务器nhp-ac
用于策略执行的访问控制器平台支持
StealthDNS
由 OpenNHP 驱动的零信任 DNS 客户端。展示了"隐身 DNS 解析" 模式,受保护的域名对未授权客户端返回 NXDOMAIN。
- ✓ 隐身 DNS 解析 - 域名对未授权查询隐藏
- ✓ NHP 驱动的认证先于 DNS 查询
- ✓ 透明本地解析器 (127.0.0.1:53)
- ✓ 跨平台:Windows、macOS、Linux、Android、iOS
StealthDNS 工作原理
应用程序对受保护的域名执行 DNS 查询
StealthDNS 携带身份上下文执行 NHP 敲门
NHP 控制器验证并返回临时地址
已授权:有效的 DNS 响应
未授权:NXDOMAIN
平台支持
NHP-FRP
零信任反向代理,将 OpenNHP 网络隐藏功能与 frp 集成 —— 在客户端通过认证之前,服务器端口完全不可见。
- ✓ 在反向代理隧道之前进行 NHP 驱动的认证
- ✓ 在密码学身份验证通过之前服务器端口保持隐藏
- ✓ 基于经过实战检验的 frp 反向代理框架构建
- ✓ 无需开放端口即可安全暴露内部服务
NHP-FRP 工作原理
客户端发送 NHP 敲门进行身份认证
NHP 服务器验证并为客户端开放 frp 代理端口
客户端通过 frp 隧道连接到内部服务
内部服务安全可访问 — 对其他人不可见
使用场景
JavaScript Agent
将零信任带入浏览器。JS Agent 使 Web 应用能够直接在客户端执行 NHP 认证,实现对隐藏服务的安全访问。
- ✓ 纯 JavaScript 实现
- ✓ 包含 TypeScript 类型定义
- ✓ 适用于所有现代浏览器
- ✓ WebSocket 和 fetch 集成
快速开始
import { NHPAgent } from '@opennhp/js-agent';
// Initialize the agent
const agent = new NHPAgent({
server: 'nhp.example.com',
identity: userCredentials
});
// Perform NHP knock
const access = await agent.knock({
resource: 'api.hidden.example.com'
});
// Access granted - connect to service
const response = await fetch(access.endpoint);