鉴于以下假设:
是否有任何安全原语允许客户端提供密码而不是加密密钥,以便适当地保护存储在远程服务器上的加密数据?客户端软件是否安全地将数据加密密钥与用户密码的哈希用于服务器,然后将结果存储在服务器上,以便稍后重新生成原始加密密钥?如果这(无论是一般的还是概述的过程)本质上是不安全的,那么是什么使得它不安全呢?
发布于 2017-01-10 05:33:04
由于服务器不受信任以使数据保持私有,因此必须在客户端对数据进行本地加密和解密,并且服务器永远不能访问用于加密的密钥。而且,由于只有已经加密的数据是通过这种方式与服务器交换的,所以传输是否安全甚至都无关紧要。
方法从一个名为密钥推导函数的密码派生密钥。本地加密和解密数据的功能已经存在于各种应用程序中,其中许多也是开源的。例如GPG和Veracrypt。
https://security.stackexchange.com/questions/147837
复制相似问题