【问题标题】:Can the following be classified as end to end encryption?以下可以归类为端到端加密吗?
【发布时间】:2021-05-11 17:34:51
【问题描述】:

我正在从事一个个人项目,我计划将用户信息以加密形式存储在服务器上。这大致是我的应用程序的架构。

写入数据:

User Data -> [Encryption in browser via "Secret Key"] -> Encrypted data -> Server

读取数据:

Server -> Encrypted Data -> [Decryption in browser via "Secret Key"] -> User Data

我有两种加密方式:

方法一:

  • 使用用户提供的“Secret Key”进行加密并发送给服务器存储。

注意:这种方法会使更改“密钥”变得很麻烦。所有数据都应导入客户端,使用现有“密钥”解密并使用“新密钥”加密。

方法二:

  • 在客户端生成一个“随机密钥”,用于加密数据。

  • 使用用户提供的“Secret Key”将这个“Random Key”加密存储在服务器上——“Encrypted Random Key”。 - 解密时,使用“Secret Key”解密得到“Random Key”,用于进一步解密加密消息。

注意:使用此方法更改密码要容易得多,我必须解密“加密随机密钥”才能获得“随机密钥”,现在我可以使用“新密钥”再次对其进行加密。

我有两个问题:

  1. 虽然方法 1 可以明确归类为端到端加密。我想知道我是否也可以将方法 2 归类为端到端加密?

  2. 作为用户,您是否愿意使用使用方法 2 存储您的个人信息的应用程序。

提前致谢。

【问题讨论】:

    标签: encryption


    【解决方案1】:

    术语“端到端加密”通常用于表示两个用户之间的数据传输,而不是用户和服务器之间的数据传输(这就是 SSL 的用途)。但是,从概念上讲,如果您将信息发送回同一用户,则完全一样。重要的是服务器无法解密数据。

    通常,您的两种方法都可以。但出于实际目的,您可能会选择方法 2,因为它允许更改密码。如果您使用非对称加密算法(RSA 或类似算法),无论如何您都会这样做,因为这些仅用于恢复用于加密实际数据的对称密钥。因此,您的“随机密钥”可能是对称密钥,而“秘密密钥”是不对称的。

    您可能知道,在此设置中,当用户丢失密钥时,无法恢复数据。 “向我发送密码重置链接”之类的内容将不起作用。

    【讨论】:

    • 感谢您的回答。我有一个关于使用非对称密钥加密“随机密钥”的问题。鉴于同一个客户端必须取回“随机密钥”,对称加密是否也足以加密“随机密钥”?
    猜你喜欢
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 2020-03-23
    • 1970-01-01
    相关资源
    最近更新 更多