我需要一个框架来为我平台上的所有用户提供端到端加密。我的平台上有两种类型的用户:
- 发布敏感数据的那些(称为用户集
P
) - 想要接收敏感数据的人(调用用户集
R
)
用户应该能够决定数据中的哪些人p
可以使用(当然,作为平台提供者,我永远不应该使用数据)。因此,我认为,每个用户都会获得一对密钥,并且每当发布某些内容时,都必须使用被列入白名单的用户的每个公钥对数据进行加密。这在理论上听起来很可靠,但我想,在实现这一点时会出现很多问题。P
R
R
p
R
- 每个白名单用户的每个加密数据记录都必须存储在数据库中,
R
这会产生非常大的存储开销因素 - 一个人必须跟踪
p
他的白名单的变化 - ...
但主要的问题是:是否有稳定的解决方案可以为用户提供一对密钥?我发现的唯一方法是Web Crypto,它似乎处于早期开发模式。
我提出的想法:
- 是否可以将加密的私钥本身存储在服务器上并在标准身份验证后提供?(也许通过为交付添加另一个加密层)
- 这不是一个最佳方法,但如果没有其他方法:如果我们让用户安装额外的软件,会有一个可靠的解决方案吗?