跳转到内容

安全

  • 配对二维码里有 Mac 的节点 ID、服务端公钥和一次性配对码。
  • 配对码 10 分钟内有效,用一次即作废,输错 5 次作废,关掉配对窗口也会作废。
  • 每台设备的身份就是它的 iroh 节点密钥(Ed25519),手机上存在钥匙串里,不进备份。连接时由 iroh 双向认证,Mac 只接受已配对设备的节点。
  • 移除设备后,它的连接立即断开。

手机和 Mac 在同一网络时直接连接;不在同一网络时尽量打洞直连,打不通再经中继转发。默认使用 n0 的公共中继,也可以在 Mac「设置 › 网络」里填自建中继(iroh-relay)。不经过 Nohup 的服务器,Mac 也不需要端口转发。

  1. 传输层:iroh 的 QUIC 连接(TLS 1.3),双方用节点密钥互相认证。
  2. 应用层:在 QUIC 之上再加一层端到端加密,中继即使转发也看不到内容。
    • X25519 握手(服务端静态密钥 + 双方临时密钥),HKDF 派生出两个方向各两把 ChaCha20-Poly1305 密钥。
    • 长度头单独加密,每条记录带随机填充,线上没有明文结构或固定长度。

服务端公钥在配对二维码里,手机配对时直接记住,之后公钥变化会拒绝连接并提示「服务端身份已变更」。指纹可以在 Mac「设置 › 网络」中比对。

发到手机的网页通过 nohup-page:// 协议加载,每个请求都经同一条加密连接读取,Mac 不开放 HTTP 端口。