atechnology-company/monoprotocol
GitHub: atechnology-company/monoprotocol
monoprotocol 是 Mono 同步协议的规范和参考实现,解决设备间端到端加密数据复制的问题。
Stars: 0 | Forks: 0
# Mono 同步协议 (`monoprotocol`)
**版本:** `mono-sync/0.2.0-draft`
**许可:** [Mozilla Public License 2.0](LICENSE)
**monoprotocol** 是 **Mono 同步** 的权威规范和参考实现 — 这是一种用于在设备间复制用户所有数据的线路格式和加密规则。一个**身份**拥有**同步对象**;每个对象根据一个**传输类别**在点对点之间复制,该类别定义了加密、中继、八卦和双因素要求。产品代码(网格、网关、浏览器)位于 [mono](https://github.com/atechnology-company/mono);此仓库仅包含协议层。
[`spec/`](spec/) 中的 **Markdown 规范** 是规范性的。位于 [`rust/monoprotocol/`](rust/monoprotocol/) 的 Rust crate [`monoprotocol`](https://crates.io/crates/monoprotocol) 是一个参考实现,它**必须**与规范及 [`conformance/`](conformance/) 测试套件保持一致。请首先依据规范用任何语言实现;可使用该 crate 进行互操作性测试或作为起点。
## 您将获得
- **规范性规范** — 标识符、传输类别、`SyncEnvelope` 线路编码(JSON 和 CBOR)、HKDF 密钥派生、AES-256-GCM 有效载荷、日志语义和能力授权([`spec/PROTOCOL.md`](spec/PROTOCOL.md)、[`spec/OBJECTS.md`](spec/OBJECTS.md))。
- **一致性测试向量** — 标准加密输出、JSON/CBOR 信封测试套件以及传输策略矩阵,以便独立实现可以逐字节验证兼容性([`conformance/`](conformance/)、[`spec/CONFORMANCE.md`](spec/CONFORMANCE.md))。
- **参考 Rust crate** — 作为 [`monoprotocol` 发布在 crates.io](https://crates.io/crates/monoprotocol)(MPL-2.0)的类型、加密、验证和测试。
## 仓库结构
| 路径 | 作用 |
|------|------|
| `spec/PROTOCOL.md` | 规范性协议(线路、加密、日志、能力) |
| `spec/OBJECTS.md` | 规范性复制对象模型 |
| `spec/CONFORMANCE.md` | 如何运行和扩展测试向量 |
| `conformance/` | 标准 HKDF/AES-GCM 向量、JSON 和 CBOR 线路测试套件 |
| `rust/monoprotocol` | 发布在 crates.io 的 crate `monoprotocol` (MPL-2.0) |
| `rust/monoprotocol-conformance` | 加载 `conformance/` 测试套件的测试 |
## 快速开始(Rust)
```
cd rust
cargo test
cargo run -p gen-golden # regenerate conformance/golden and wire fixtures
```
## 使用其他语言实现
1. 阅读 `spec/PROTOCOL.md` 和 `spec/OBJECTS.md`。
2. 严格按照 `spec/CONFORMANCE.md` 实现 HKDF + AES-256-GCM。
3. 通过 `conformance/golden/crypto.json` 中的所有向量测试。
4. 将 `conformance/json/*.json` 和 `conformance/cbor/*.cbor` 解析为您的信封类型。
## 相关项目
产品网格、网关、浏览器和适配器仍位于 [mono](https://github.com/atechnology-company/mono),并依赖于此协议 crate。
标签:AES-256-GCM, CBOR, Homebrew安装, JSON, Rust, wire格式, 一致性测试, 两因素认证, 传输类, 分布式复制, 加密信封, 加密协议, 协议层, 协议规范, 可视化界面, 安全通信, 密钥派生, 对象复制, 引用实现, 数据同步, 点对点同步, 端到端加密, 网络流量审计, 通知系统