发布
社区首页 >问答首页 >实现非云应用程序的密钥库和密钥旋转

实现非云应用程序的密钥库和密钥旋转
EN

Security用户
提问于 2020-03-02 19:20:56
回答 1查看 194关注 0票数 1

我有一个用Python编写的桌面应用程序。该应用程序与外部SAP服务连接,并提取数据。到目前为止,有几个连接字符串未经加密存储的配置文件有几个。

我想加密配置文件,这些配置文件在用户登录时应该被解密。我检查了一些像加密-config这样的库,但是我的要求不适合这里。

我的计划如下

  1. 配置文件使用加密密钥:CK加密。
  2. CK以用户密码哈希加密的方式存储在另一台服务器上。
  3. 当用户登录到应用程序时,计算密码散列并将其连接到密钥服务器,解密CK,将其存储在缓存中,解密配置文件。
  4. 从SAP中提取数据

我不知道这种方法有多可靠,但几乎没有什么挑战:

  1. 如果CK是用用户密码Hash加密的,我需要为每个用户保留多个CK副本。
  2. 我想实现关键轮换,在这种情况下,上面共享的问题1将更加棘手。

**编辑**此密钥服务器不专门用于密钥管理。我刚刚将另一个远程服务器命名为密钥服务器,其中密钥要么存储在数据库中,要么存储在文件中。

请给我建议。

EN

回答 1

Security用户

发布于 2020-03-02 21:37:19

问题是对其中一些细节做了错误的假设。例如,它说要计算密码哈希,并且看起来它假设哈希作为加密密钥用于加密/解密密钥服务器上的密钥。但这通常不是关键服务器的工作方式。

密钥服务器有自己的加密机制,并将使用自己的密钥对所有密钥进行加密(通常称为“主密钥”或“密钥加密密钥(KEK)”)。当您用密码连接到密钥服务器时,服务器将验证您的用户名/密码组合。然后,您将请求访问特定的密钥名称或密钥标识,如果您获得授权,它将授予您访问权限。根据服务器的配置和请求,它可能会将密钥导出给您,这样您就可以使用它来加密和解密,或者它可以为您提供加密/解密服务。

密钥服务器的工作是安全地存储密钥,并执行密钥生命周期管理功能(密钥生成、密钥销毁等)。密钥服务器可以提供密钥旋转功能;但是,由于没有密钥旋转或密钥版本控制的加密标准,所以实现将依赖于服务器。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/226695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档