我正在构建一个对其用户一无所知的网络服务。我只是存储加密的共享/公钥,并且从用户接收的任何元数据也都是加密发送/存储的。任何涉及私钥的操作都发生在客户端,并且客户端需要导出其私钥以便在 cookie 被删除时安全保存。
我正在构建的服务通过可公开验证的秘密共享方案大量使用椭圆曲线加密技术。
是否有一种标准化的方法以这种方式使用 HTTP 服务进行身份验证?我已经使用 OAuth 和其他方式很多年了,但不能说我见过类似的实现......除了解密 PGP 消息并提供服务器使用您的公钥加密的令牌之外。我不想重新发明轮子并尽可能遵循某种标准。
在前端的初始站立中,我使用私钥设置 cookie,从中派生公钥,并从后端的公钥查询匿名参与者。如果 cookie 中没有密钥,客户端可以生成新身份或上传导出的私钥来设置 cookie 并查看他们之前创建的秘密或共享。
事物最终将迁移到本地存储,因此关闭选项卡时不会留下私钥,除非有标准化的方法来执行此操作,否则我被告知这是不明智的。如有任何帮助,我们将不胜感激。
由于您正在寻找一种使用 HTTP 服务进行身份验证的标准化方法,同时通过加密和客户端密钥管理来维护用户隐私,因此您可能会考虑采用非对称加密技术的 JSON Web Takes (JWT)。 以下是如何实现它的高级概述: