Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
op4 — 基于终端的加密通讯工具,采用后量子密码学、Double Ratchet 协议和 Tor 匿名。具备胁迫密码短语、可否认认证,以及通过 seccomp-bpf 和 mlockall 实现的操作系统级加固。 | Kitploit
工具/GitHubGitHub/opfour/op4
身份验证与授权防御工具加密/解密工具密码学隐私保护身份验证
GitHubopfour/op4

op4

基于终端的加密通讯工具,采用后量子密码学、Double Ratchet 协议和 Tor 匿名。具备胁迫密码短语、可否认认证,以及通过 seccomp-bpf 和 mlockall 实现的操作系统级加固。

查看仓库
68511天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享


op4 — 安全终端信使

op4 是一款用 Rust 编写的、基于终端的加密消息应用。 它提供使用后量子密码学的端到端加密私密消息, 并完全通过 Tor 网络路由,因此你的消息内容和 IP 地址 都不会暴露给任何人——甚至包括你在交谈的对象。






目录

  1. op4 的功能
  2. 安装
  3. 连接另一名用户
  4. 安全模型
  5. 架构概览
  6. 项目结构
  7. 当前状态

op4 的功能

op4 让两个人无需任何一方泄露 IP 地址或真实身份即可 交换私密消息。每条消息都:

  • 端到端加密 — 使用 Double Ratchet 协议,与 Signal 采用的 基本设计相同。
  • 后量子加固 — 密钥交换层结合经典 X25519 与 ML-KEM-768(NIST 标准的 基于格的 KEM),因此未来的量子计算机无法追溯解密已记录的流量。
  • 匿名化 — 所有流量都通过 Tor 隐藏服务(.onion 地址)传输。 你的 IP 地址不会暴露给你的联系人或任何网络观察者。
  • 本地存储 — 没有服务器。你的消息和联系人存储在自己机器上的加密 保险库文件中,仅此一处。

op4 完全在终端中运行。它没有 GUI、没有浏览器组件, 也没有云账户。它唯一接触的外部进程是运行在你自己机器上的 Tor 守护进程。


安装

所有下载选项 — AppImage、源码压缩包、克隆并构建,以及 自动化安装程序 — 均记录在 下载与安装指南 中。 最新版本可在 Releases 页面 获取。

Debian / Ubuntu(自动安装)

在 Debian 和 Ubuntu 上,install/setup.sh 一条命令即可处理所有事项: Rust 工具链、构建依赖、Tor、控制端口配置、二进制编译、 系统用户、数据目录和 AppArmor 配置文件。

git clone https://github.com/Opfour/op4.git
cd op4
sudo bash install/setup.sh

脚本运行结束后,你必须注销并重新登录后才能运行 op4。 安装程序会将你的用户添加到 debian-tor 组, 以便读取 Tor 的 cookie 文件。Linux 不会将组变更应用到 已经打开的会话——需要重新登录。

跳过此步骤会导致 op4 启动时失败,并显示: Permission denied reading /run/tor/control.authcookie

然后,请验证脚本打印的源哈希是否与你所用版本的 公开发布哈希一致,然后再信任该二进制文件。

发布哈希校验

op4 启动时会打印一个源哈希,涵盖所有 Rust 源文件、 Cargo.toml、Cargo.lock 和 build.rs。请将其与下面 你所安装版本对应的值进行比较。

版本源哈希
0.3.080820cb41a63575d2c139dadd425d13d1e87e62a9d60200ae7b894ae2e9ad8ed
0.3.148115efb12747fa78b627ddbf7a56c46169f59e777d7d7508941bf89e4fe7521
0.2.0-dev35740577f6c4a4f19c5a08fe85b1f78a10347f2ba9dd7642d126552266bfa5a5
0.1.0e1a94761c7d3fa589ba892b47d5295aa417f95aee126809d51a7e7fb7e78982c

你也可以在不启动完整应用的情况下检查它:

op4 --print-hash

如果哈希不匹配,请不要使用该二进制文件——它要么由不同的提交构建, 要么已被篡改。

Fedora / Arch / 其他发行版(手动安装)

先安装依赖,然后运行脚本:

Rust 工具链(通过 rust-toolchain.toml 固定到 1.89.0):

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

Tor 和构建依赖:

# Fedora
sudo dnf install tor gcc pkg-config openssl-devel

# Arch
sudo pacman -S tor base-devel pkg-config openssl

配置 Tor 控制端口 — 添加到 /etc/tor/torrc:

ControlPort 9051
CookieAuthentication 1
sudo systemctl restart tor

将你的用户添加到 Tor 组:

sudo usermod -aG tor $USER        # Fedora / Arch

完成此步骤后,你必须注销并重新登录。 组成员变更 不会应用于当前的活跃会话。在此之前,op4 会因 Permission denied reading /run/tor/control.authcookie 而失败。

如果不想完全注销,可以通过以下命令应用变更:

newgrp tor

构建并安装:

git clone https://github.com/Opfour/op4.git
cd op4
cargo build --release
sudo bash install/setup.sh

运行

op4
# or, without system install:
./target/release/op4

首次启动时,op4 会引导你设置一个普通口令和一个胁迫口令, 然后生成你的身份密钥。你的保险库存储 在 ~/.local/share/op4/vault.op4。

支持的平台

发行版状态
Ubuntu 22.04 / 24.04支持
Debian 12支持
Fedora 39+支持
Arch Linux(当前)支持
Tails OS支持(安装指南)
macOS / Windows / WSL1不支持

最低内核:4.15(建议 5.4+)。架构:x86-64 (aarch64 应该可以工作,但尚未测试)。


连接另一名用户

双方都需要安装 op4、运行 Tor,并解锁各自的保险库。 交换过程是非对称的:一方先发送自己的联系代码, 另一方添加该代码,然后发送第一条消息, 这条消息会作为待处理请求到达,由先发送代码的一方接受。

步骤 1 — 首次启动

首次运行时,op4 会提示输入普通口令和胁迫口令, 然后生成你的身份密钥。此过程只会发生一次。 你的保险库存储在 ~/.local/share/op4/vault.op4。

$ op4

步骤 2 — 获取你的联系代码

你的联系代码包含完整的公钥包和你的 .onion 地址。 对方需要它才能联系到你。

  1. 导航到联系人标签页(按 2 或 →)
  2. 按 e 导出你的联系代码
  3. 你的代码会显示在屏幕上——它是一串很长的 Base58 字符串,以 op4: 开头
  4. 复制它并带外发送给对方(Signal、 电子邮件、当面等)

你的联系代码并非机密,可以公开分享。 它只包含你的公钥和 onion 地址——不含任何私密材料。

步骤 3 — 将对方添加为联系人

拿到对方的联系代码后:

  1. 在联系人标签页中,按 a 添加联系人
  2. 粘贴对方的 op4: 联系代码并按 Enter
  3. 为对方起一个名字并按 Enter

步骤 4 — 发送你的第一条消息

  1. 在联系人列表中选择该联系人(使用 ↑/↓,然后按 Enter)
  2. 切换到消息标签页(按 3 或 →)
  3. 输入你的消息并按 Enter

这条第一条消息会启动加密握手,并通过 Tor 投递到对方的 .onion 地址。对方会将其视为待处理联系人请求。

步骤 5 — 接受传入的请求

当有人向你发送第一条消息时,联系人标签页上会出现一个徽章, 显示有多少待处理的请求。

  1. 转到联系人标签页(按 2)
  2. 按 p 查看待处理请求
  3. 你会看到发送者的指纹和对方的第一条消息
  4. 为此联系人输入一个名字并按 Enter 接受 (按 Esc 拒绝并丢弃)

接受后,Double Ratchet 将被初始化,对话会立即出现在消息标签页中。

步骤 6 — 验证指纹(推荐)

在信任某个联系人之前,请确认对方的指纹与其自己屏幕上显示的指纹一致。 这可以防止在初始联系交换期间发生中间人攻击。

  1. 在联系人标签页中,选择该联系人
  2. 右侧的指纹面板会显示一个 16 组十六进制字符串, 例如 A3F2:91BC:…
  3. 请对方读出他们屏幕上你条目的指纹——必须完全匹配
  4. 可以通过语音通话、当面或任何其他你能确认对方身份的渠道进行验证

导航参考

按键操作
1 / ← →切换标签页(联系人 / 消息 / 设置)
↑ ↓移动选择
Enter打开对话 / 确认
Esc取消 / 返回
e导出你的联系代码(联系人标签页)
a添加联系人(联系人标签页)
p查看待处理请求(联系人标签页)
d删除选中的联系人(联系人标签页)
r轮换你的密钥(设置标签页)
q退出

密钥轮换

如果你认为自己的身份密钥可能已泄露:

  1. 转到设置标签页(按 4 或向右导航)
  2. 按 r 轮换密钥
  3. op4 会生成新的密钥对,用旧密钥签署撤销证书,并通过 Tor 广播给你所有联系人
  4. 你的联系代码会改变——将新代码分享给你的联系人

安全模型

密码学原语(全部来自 RustCrypto 生态)

用途算法
保险库密钥派生Argon2id (m=64 MiB, t=3, p=1)
保险库加密ChaCha20-Poly1305 (256-bit key, 96-bit nonce)
消息加密ChaCha20-Poly1305(来自棘轮的单条消息密钥)
密钥派生(棘轮)HKDF-SHA256
可否认认证HMAC-SHA256
经典密钥交换X25519
后量子密钥交换ML-KEM-768 (FIPS 203)
经典签名Ed25519
后量子签名ML-DSA-65 (FIPS 204)
传输匿名Tor v3 hidden services (.onion)

Double Ratchet

op4 使用 Double Ratchet 协议(类似于 Signal 协议)来 实现前向保密。这意味着:

  • 每条消息都使用从棘轮链派生出的唯一密钥进行加密。
  • 泄露一条消息的密钥不会暴露任何其他消息。
  • 如果你的设备被扣押,即使攻击者获知你的保险库口令,也无法解密已被删除的过往消息。

混合后量子密钥交换

KEM 步骤按如下方式结合 X25519 和 ML-KEM-768:

shared_secret = HKDF(X25519_ss || MLKEM_ss)

攻击者必须同时破解两种算法才能破坏密钥交换。 这可以抵御量子对手(ML-KEM-768),同时在 ML-KEM-768 存在未知缺陷时 仍能抵御经典攻击(X25519 回退)。

可否认认证

消息使用 HMAC-SHA256 进行认证,密钥从共享棘轮状态派生而来。 由于双方持有相同的 HMAC 密钥,任何一方都可以生成任意的 MAC。 这与 OTR 和 Signal 使用的可否认性属性相同: 在法庭程序中,消息无法在密码学上归因于特定发送者。

保险库与胁迫口令

位于 ~/.local/share/op4/vault.op4 的保险库文件存储所有联系人、 对话和身份密钥。它由两个独立的、通过 Argon2id 派生的密钥保护:

  • 普通口令 — 解锁你的真实联系人和消息。
  • 胁迫口令 — 解锁一个外观相同但内容为空的诱饵收件箱。如果你被迫解锁应用,请使用这个口令。从外部看,两个口令无法区分。

网络匿名

op4 会为你的收件箱创建一个 Tor v3 隐藏服务。 你的 .onion 地址由你的身份密钥确定性派生(通过 HKDF), 因此在重启后保持稳定,无需存储单独的密钥。 出站消息通过 Tor SOCKS5 代理发送。 你的真实 IP 地址永远不会出现在与 op4 相关的任何网络数据包中。

掩护流量(以泊松分布发送给自己的虚假消息,平均间隔 30 秒) 可防止网络观察者通过观察流量大小来推断你是否正在积极 与某人通信。

操作系统级加固

  • mlockall — 防止保险库密钥和明文被写入交换空间。
  • RLIMIT_CORE = 0 — 禁用可能暴露内存的核心转储。
  • PR_SET_DUMPABLE = 0 — 防止其他进程附加调试器。
  • seccomp-bpf — 安装系统调用白名单。任何不在列表中的系统调用都会导致进程被立即终止。
  • AppArmor 配置文件(apparmor/op4.profile)— 将文件系统访问限制为仅保险库目录、终端设备和 Tor。

架构概览

下载工具