16个版本 (7个破坏性更新)

0.41.2 2024年8月15日
0.41.0 2024年7月24日
0.39.0 2024年3月26日
0.36.0 2023年12月8日
0.35.0 2023年11月20日

#194 in 加密学

Download history 7/week @ 2024-04-29 2/week @ 2024-05-06 1/week @ 2024-05-13 14/week @ 2024-05-20 16/week @ 2024-05-27 13/week @ 2024-06-03 22/week @ 2024-06-10 180/week @ 2024-06-17 331/week @ 2024-06-24 22/week @ 2024-07-01 21/week @ 2024-07-08 208/week @ 2024-07-15 206/week @ 2024-07-22 121/week @ 2024-07-29 56/week @ 2024-08-05 131/week @ 2024-08-12

每月521次下载
用于 2 crates

Apache-2.0 OR MIT

1.5MB
36K SLoC

mls-rs ─ 构建状态 最新版本 API文档 codecov

IETF消息层安全的端到端加密(E2EE)协议的实现。

什么是MLS?

MLS是一种新的IETF端到端加密标准,旨在为客户端组之间提供与传输无关、异步且高性能的通信。

MLS协议特性

  • 通过“提议-提交”机制实现多方E2EE组演变
  • 设计上异步,具有预计算的密钥包,允许在离线状态下将成员添加到组中。
  • 可定制的凭证系统,内置对X.509证书的支持。
  • 扩展系统,允许通过协议协商特定于应用程序的数据。
  • 强大的前向机密性和后泄露安全性。
  • 通过支持多个加密套件实现加密灵活性。
  • 支持预共享密钥。
  • 子组分叉。
  • 针对协议升级等破坏性变更的组重新初始化。

特性

  • 易于使用的客户端接口,可管理多个MLS身份和组。
  • 100%符合RFC 9420,支持所有默认凭证、提案和扩展类型。
  • 支持WASM构建。
  • 通过特性实现可配置的存储,包括密钥包、秘密和组状态,同时提供“内存中”和SQLite实现。
  • 支持自定义用户提案和扩展类型。
  • 可以创建具有自定义验证例程的用户定义凭据,这些例程可以与现有的凭据方案兼容。
  • 基于OpenSSL和Rust Crypto的加密套件实现。
  • 支持用户定义的加密套件,具有加密灵活性。
  • 包括针对预计算测试向量的安全和互操作测试在内的全面测试套件。

加密提供者

有关加密套件的描述,请参阅RFC文档此处

名称 加密套件 X509 支持
OpenSSL 1-7 稳定
AWS-LC 1,2,3,5,7 稳定
Rust Crypto 1,2,3 ⚠️ 试验性
Web Crypto ⚠️ 试验性 2,5,7 不受支持
CryptoKit 1,2,3,5,7 不受支持

安全通知

该库已通过RFC 9420规范的验证,但尚未收到第三方全面的安全审计。

许可证

本库采用Apache-2.0或MIT许可证。

依赖项

~2.3–8.5MB
~155K SLoC