首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理端到端加密

如何处理端到端加密
EN

Security用户
提问于 2018-09-20 12:47:59
回答 1查看 719关注 0票数 1

我正在开发一个应用程序,其目标是上传用户数据、存储数据、对这些数据进行处理,并在询问时将其呈现给用户。在系统无法解密用户上传的数据的情况下,我们希望遵循端到端加密模型。我以前从未以这种方式处理过安全性问题,在提出的体系结构中,我有一些问题/关注事项,我想和大家分享一下。

方法:

  1. 当用户注册时,我们为他生成一个公共私钥,这里将私钥称为主密钥。
  2. 当用户添加信息时,我们使用会话密钥对其进行加密。只有我们系统的数据处理单元(DPU)才能解密这些数据。由于数据大小可能大于RSA-3072,所以数据首先使用AES-256加密,然后用RSA会话密钥加密。
  3. 上传的数据进入DPU,对其进行解密,进行处理并再次加密。
  4. 当用户想要访问这些信息时,我们用会话密钥加密主密钥,并将其发送到DPU,以便解密该数据。
  5. 后解密DPU收集所请求的所有数据,生成一个新的数据密钥,使用该数据密钥加密响应,用客户端的会话公钥加密数据密钥,并将加密密钥和响应组合在一起并返回。
  6. 客户端应用程序用客户端的会话私钥解密密钥,并用数据密钥解密响应。

关切事项:

  1. 到目前为止,这个模型是理论的,这能做到吗?
  2. 是谁生成这些密钥(会话密钥、数据键),开发人员(Java和Python)是否生成这些密钥?
  3. 有图书馆可以让我们的生活变得简单吗?同样,我们不希望我们的系统能够访问用户数据,而没有用户的主密钥在他的设备上。我们计划使用AWS认知来进行身份验证和授权,据我所知,它没有提供任何会话密钥,那么我们如何实现所提到的呢?
  4. 通过有线发送私钥来解密数据,这是个好主意吗?

我知道这是很多信息,请告诉我,如果您有更多的问题,期待建议/意见。

EN

回答 1

Security用户

发布于 2018-09-20 14:38:11

您所描述的不是端到端加密(e2ee).事实上,在处理数据时,e2ee通常是不可能的,因为您的服务器无法访问这些数据。

你所描述的很难理解,而且似乎毫无用处。如果攻击者破坏了任何一个服务器,他就可以访问数据。如果您担心服务器之间的传输问题,可以使用标准TLS。如果您担心rest中的数据,可以使用FDE或某些棘轮加密方案(如果您只希望客户端能够在处理完成后对其进行解密)。

无论哪种方式,在处理数据之前,都没有必要像您描述的那样进行加密。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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