以下可以归类为端到端加密吗?
Posted
技术标签:
【中文标题】以下可以归类为端到端加密吗?【英文标题】: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 可以明确归类为端到端加密。我想知道我是否也可以将方法 2 归类为端到端加密?
作为用户,您是否愿意使用使用方法 2 存储您的个人信息的应用程序。
提前致谢。
【问题讨论】:
【参考方案1】:术语“端到端加密”通常用于表示两个用户之间的数据传输,而不是用户和服务器之间的数据传输(这就是 SSL 的用途)。但是,从概念上讲,如果您将信息发送回同一用户,则完全一样。重要的是服务器无法解密数据。
通常,您的两种方法都可以。但出于实际目的,您可能会选择方法 2,因为它允许更改密码。如果您使用非对称加密算法(RSA 或类似算法),无论如何您都会这样做,因为这些仅用于恢复用于加密实际数据的对称密钥。因此,您的“随机密钥”可能是对称密钥,而“秘密密钥”是不对称的。
您可能知道,在此设置中,当用户丢失密钥时,无法恢复数据。 “向我发送密码重置链接”之类的内容将不起作用。
【讨论】:
感谢您的回答。我有一个关于使用非对称密钥加密“随机密钥”的问题。鉴于同一个客户端必须取回“随机密钥”,对称加密是否也足以加密“随机密钥”?以上是关于以下可以归类为端到端加密吗?的主要内容,如果未能解决你的问题,请参考以下文章