#opaque #passwords #serialization #server-client

opaque-borink

简单配置OPAQUE密码认证密钥交换协议

2个不稳定版本

0.4.0 2024年6月14日
0.3.7 2024年6月13日

#466 in 认证

每月39次下载

Apache-2.0 OR MIT

21KB
323

简单配置opaque-ke OPAQUE实现,使用base64url编码格式来序列化和反序列化Rust结构体。

OPAQUE (参见Internet-Draft) 是一种即将推出的密码认证标准。它比传统的简单盐和密码哈希方案更安全。

它允许一种工作流程,其中服务器永远不会了解用户密码,同时服务器不需要向任何询问者提供盐,从而提供对预计算攻击的安全性。

它使用以下配置的基本CipherSuite

  • curve25519_dalek Ristretto群作为群组
  • 使用opaque-ke自己的TripleDH作为密钥交换
  • sha2 Sha512作为哈希
  • argon2 默认Argon2作为慢速哈希

它同时在服务器和客户端暴露了四个函数:登录完成/开始和注册完成/开始;以及一个密钥生成函数。

opaque-borink 作为独立库很有用,但也作为 opaquepy@tiptenbrink/opaquewasm 的核心库,分别是Python和WebAssembly的绑定。

依赖项

~5.5MB
~114K SLoC