首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与他人共享文件,在不可信的文件存储(例如云)上加密

与他人共享文件,在不可信的文件存储(例如云)上加密
EN

Security用户
提问于 2021-07-28 17:03:54
回答 2查看 198关注 0票数 2

我想开发一个照片分享工具,在那里我可以:

  • 将照片存储在不可信的磁盘空间(如云)
  • 与朋友及家人分享相册
  • 更新相册(很少发生)
  • 与其他人共享现有专辑

出现的一个问题是:

  • 如果照片是加密的客户端,通常意味着只有我有密钥。
  • 这意味着其他人可以下载,但不能解密文件。

围绕这个问题有一个很好的解决方案吗?在这个问题上,不同的用户可以在文件集合上进行协作,而文件则保存在磁盘上?

附注:

  • 我知道这个问题,但我正在寻找密码技术,而不是现成的工具。
  • 我希望任何服务器组件都是可选的,所以这个应用程序是P2P优先的。云存储也是可选的,作为备份目标。这意味着可能不会有任何集中管理的用户数据库。
EN

回答 2

Security用户

回答已采纳

发布于 2021-07-28 17:19:57

与多个收件人安全共享同一文件的典型方法如下:

  1. 首先,发送方生成一个随机对称加密密钥,并使用该密钥使用对称加密对文件进行加密。
  2. 对于每个收件人,发送方使用收件人的公钥加密对称密钥。发送方将加密的对称密钥发送给收件人,并提供一个指向收件人下载加密文件的链接。
  3. 接收方下载加密文件,并使用他/她的私钥解密对称密钥。然后,接收方使用对称密钥解密文件。

使用此方法,文件只加密一次,而不是对每个收件人的文件进行加密。

票数 2
EN

Security用户

发布于 2021-07-28 17:31:51

您可以检查信号协议

该协议主要用于端到端加密数据的传输.

协议主要包括:

1) X3DH (扩展的Triple Diffie-Hellman)密钥协商协议

X3DH在双方之间建立一个基于公钥相互认证的共享密钥。X3DH提供前向保密和密码否认性。

2) 双棘轮算法

双棘轮集算法,由双方根据共享密钥交换加密消息。各方为每一条双棘轮信息获得新的密钥,这样就不能从以后的消息中计算出早期的密钥。双方还将迪夫-赫尔曼的公共价值观附加在他们的信息中。Diffie-Hellman计算的结果被混合到导出的键中,这样以后的键就不能从早期的键中计算。这些属性为早期或以后加密的消息提供了一些保护,以防一方的密钥受到损害。

通过使用,您可以安全地在某些方之间传输任何类型的通信,甚至无法看到您的用户使用您的工具共享的照片。

此外,只要用户注意到在执行MiTM握手后生成的聊天代码(信号中的安全号和whatsapp中的安全代码),Signal Protocol就不会受到X3DH攻击的攻击(您将从下面的资源中的视频中了解到这一点)。

关于管理文件加密密钥的

您可以使用零知识认证协议对用户进行身份验证,这样您就无法知道用户使用的是哪些密码。因此,您可以(在客户端)使用用户帐户的密码(如果您有一个帐户系统)从它派生一个加密密钥来加密要安全存储在云中的加密照片的加密密钥,所以您不会担心如何管理客户端的加密密钥。

注意:如果用户忘记了密码,则无法恢复加密密钥。

其他有用资源:

  1. 视频将帮助您了解有关端到端加密的更多信息。
  2. 视频将帮助您理解X3DH密钥协商协议。
  3. 视频将帮助您理解双棘轮算法。
  4. 视频将帮助您了解如何在多个方之间共享端到端加密数据。
  5. 视频将帮助您了解有关零知识身份验证的更多信息。
票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/252745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档