2010-12-09 53 views
0

我们有一个openssl/kerberos/openssh用户认证,它需要私钥和公钥对。重用认证密钥对用于数据的加密和解密

我需要登录并从数据库中获取一些数据。但我不允许以简单的形式将数据存储在数据库中。 用于解密的私钥需要异地存储。

我们不想在oracle,db2,mysql等中使用transparrent数据加密,但创建自己的。

而不是添加另一个加密层,我可以重新启用我已有的密钥对。

这是为了符合存储敏感数据的PCIDSS要求。 https://www.pcisecuritystandards.org/security_standards/index.php

一些最佳实践建议真的很感激。

谢谢

回答

0

通常不建议使用相同的密钥对进行验证和加密。这就是为什么GnuPG密钥实际上包含2个私人密钥的原因。从密码学者的角度来看,您需要存储另一个密钥对进行加密,或使用对称密钥进行数据加密。

你是否用同一个客户端读写数据库内容?如果是这样,您可以使用一个symmeric加密并将密钥存储在客户端上。

0

PCI是巨大的,错误可能会摧毁一个企业,因此找到专家可能是最好的。

这就是我的想法:如果所有数据只需要加密,以便只有非现场方可以打开它,请使用一个好的公钥密码系统来保存数据。 (请仔细阅读文档以确保磁带库使用会话密钥加密数据,并使用对方的公钥对会话密钥进行加密。您不希望使用公钥对数据进行加密如果需要存储与每用户密钥的所有数据会话密钥

,你也可以这样做,但Kerberos是专门设计,以避免公共密钥密码系统 - 他们去了大量的精力只使用对称密码来构建几乎相似的东西。聪明,但这可能意味着你甚至不能使用你希望使用的密钥(如果要求的确是只有非现场存储的密钥才能解密存储的密文)。

希望这会有所帮助。

相关问题