我目前正在为表中被认为是敏感的单个列在AWS DynamoDB上设置加密。根据我的研究,我认为最好的方法可能是使用AWS KMS。由此产生了一个关于这样做的基本工作原理的问题(可能是非常基本的)。
我想,我加密这些数据的真正目的是防止人们通过被攻破的AWS账户访问我的数据(也许AWS本身也被攻破了,但我认为这是次要的)。但是,如果我的AWS账户被攻破...攻击者是否有权访问我的KMS密钥(不是直接访问,而是能够使用API加密和解密数据?)
我敢肯定,这是一个非常基本的问题,但我觉得我的知识有这么大的漏洞,我不能继续前进。
发布于 2017-07-08 01:43:06
拥有KMS的目的是保护您的数据,而密钥永远不会对您的应用程序可见,因为密钥永远不会离开KMS。您将数据提交到AWS KMS,以便在您控制的密钥下进行加密或解密。您可以对这些密钥设置使用策略,以确定哪些用户可以使用它们来加密和解密数据。所有使用这些密钥的请求都记录在亚马逊网络服务CloudTrail中,因此您可以了解谁在何时使用了哪个密钥。
拥有KMS会使攻击者无法获得加密密钥。即使攻击者获得您的AWS帐户(假设他获得管理员访问权限和KMS访问权限)并使用KMS解密消息,您也可以通过访问这些密钥的日志看到这一点,这是识别这些威胁的必要安全步骤。
因此,通常情况下,如果您为用户提供了最小的权限(不允许每个人访问KMS),同时使用MFA保持root帐户的安全,攻击者将很难访问KMS。
https://stackoverflow.com/questions/44976574
复制相似问题