Encryption 生成用于加密的密码短语

Encryption 生成用于加密的密码短语,encryption,aes,Encryption,Aes,我正在使用AES 128位加密算法对称加密算法对一些数据进行加密 我面临的问题是生成密钥?因为我有多个用户,我不想在用户之间共享公共密钥 是否有可能以一种并非所有人都通用的方式生成密码短语,并将其传递给AES以解密/加密相同的数据 例如: 假设我有一张员工和他们工资的表格。我想用AES加密对员工的工资列进行加密 现在,当人力资源部授权的人想要查看员工的工资时,他们可以查看,但他们应该拥有自己的密钥而不是公共密钥。一个可能的解决方案是为每个用户创建主密钥的加密版本 因此,你将: 使用主密钥加密数据

我正在使用AES 128位加密算法对称加密算法对一些数据进行加密

我面临的问题是生成密钥?因为我有多个用户,我不想在用户之间共享公共密钥

是否有可能以一种并非所有人都通用的方式生成密码短语,并将其传递给AES以解密/加密相同的数据

例如: 假设我有一张员工和他们工资的表格。我想用AES加密对员工的工资列进行加密


现在,当人力资源部授权的人想要查看员工的工资时,他们可以查看,但他们应该拥有自己的密钥而不是公共密钥。

一个可能的解决方案是为每个用户创建主密钥的加密版本

因此,你将:

使用主密钥加密数据 使用个人密钥加密主密钥,每个用户一个密钥 然后,当用户提供其个人密钥时,您可以使用它来解密存储和加密的主密钥,然后使用它来解密数据。通过这种方式,数据的加密可以始终使用相同的密钥完成,并且您可以使用个人密钥管理访问

这假设虽然主密钥和加密数据从未离开服务器,但您必须在服务器上解密并将未加密的数据发送给用户,但当然要使用安全线路,以防窃听

如果要将数据加密发送给用户,则无法执行此操作

现在,当人力资源部授权的人想要查看员工的薪资时,他们可以查看,但他们应该有自己的密钥,而不是公用密钥

使用对称加密-实际上只有一个数据加密密钥DEK。DEK可以是随机的,也可以是特定于内容的。不能有多个密钥对同一加密内容进行解密

通常使用非对称加密进行的操作是,当有人授权共享/分配加密内容给用户时,DEK由用户的公钥重新加密,因此只有授权用户才能解密DEK,然后解密内容-DEK对所有用户都是相同的

当用户登录时,我会询问他们密钥


无论如何,要登录用户,需要提供其用户密码或其他凭据的密码,所以-你真的需要经历所有的喧嚣吗?仅使用某些特定于系统的主密钥对静态数据进行加密并仅向经过身份验证和授权的用户提供加密内容还不够吗?

因此,如果我没有弄错,您希望使用密钥A进行加密,然后使用密钥B、C、D进行解密?不要认为这对对称密码有效。您不需要指定数据流。您是否向所有用户发送或接收一条消息?@BartFriederichs:是的,这在AES中不可能直接实现,但是如果我们使用一些可以使用多个密钥解密密码短语的函数来加密密码短语会怎么样。。只是一个thought@HenkHolterman:是,我想向授权用户发送一条消息。数据将在静止时被加密,但当用户登录时,我将要求他们提供密钥并解密数据。当您将数据保存在服务器上时,您可以在列上设置授权。“个人钥匙可能只是一种要求。”亨克霍特曼同意。无论如何,我不会以这种方式构建它,但问题是关于加密,而不是传递数据的方式。@Barterichs:同意这个解决方案,但如何保证主密钥的安全?由于主密钥驻留在系统中,并且有权访问主密钥将泄露数据。@ShreeTiwari否,主密钥将锁定在保险库或单独的机器中,仅用于加密数据。主密钥使用用户密钥加密。