我想从软件即服务(SaaS)提供商处调配服务。这是一个多租户环境(多个公司将使用应用程序的单个实例,具有单个数据库,在相同的硬件和相同的操作系统上运行)。
我们公司要求对静态数据进行加密。
我读过的大多数指南都指出,密钥应该留给客户或第三方,而不是云提供商。
如果我有这个密钥,那么我公司的每个用户在登录后都需要这个密钥来访问文件存储?这实际上是如何工作的呢?密钥是否会与我的用户用户名和密码绑定?
另一种选择是将密钥存储在云平台上的配置文件中,并由云提供商管理。但这会产生另一个问题,即保护配置文件的安全,以及将密钥放在共享平台上的风险。
云提供商可以在哪里安全地存储密钥,以便只有我和我的员工可以使用它?
在云上存储加密数据时,在密钥管理方面的最佳实践是什么?
我的研究中的最佳实践陈述如下:
·将密钥存储在客户或第三方处
·只有经过授权的人员才能访问密钥。
·不要将密钥存储在与数据相同的平台上。
发布于 2018-08-27 18:04:22
我读过的大多数指南都指出,密钥应该由客户或第三方保留,而不是云提供商。
这样的语句很容易实现,但实现起来却很难。
然而,如果一切都在云上,数据需要共享,你也必须以某种方式共享密钥。我更愿意声明密钥应该与加密的数据分开存储。然后,您需要指定什么是“单独”。
如果我有这个密钥,那么我公司的每个用户在登录后都需要这个密钥才能访问文件存储?这实际上是如何工作的呢?密钥是否会与我的用户用户名和密码绑定?
在加密rest -数据时,提供内容的服务需要密钥,而不是终端用户本身的。我看不出为什么终端用户需要加密密钥来进行“静态”加密。例外的是,如果密钥是使用非对称加密加密的,并且需要用户的私钥来解密密钥和数据。
云提供商可以在哪里安全地存储密钥,以便只有我和我的员工可以使用它?在云上存储加密数据时,在密钥管理方面的最佳实践是什么?我的研究中的最佳实践如下:将密钥存储在客户或第三方,只有授权的人才能访问密钥。不要将密钥存储在与数据相同的平台上。
基本上,你列出了你的选择。这取决于什么对你来说是“足够好的”,以及你是否受到一些规则的约束。
也许你不应该重新发明一个轮子,然后看看其他很多聪明人都做了什么。看看大型云提供商(AWS、Azure、Google等)他们是如何处理这个问题的。你既不是第一个也不是最后一个有这个要求的人。
每个更大的云提供商都有一个管理秘密和访问秘密的地方(例如,亚马逊网络服务提供KMS和秘密管理器,Azure提供KeyVault等)。
您也可以使用第三方凭证保管库,但您也需要将服务凭证存储在某个地方。
https://stackoverflow.com/questions/51839341
复制相似问题