保护R代码中使用的AES密钥

时间:2015-04-11 17:18:44

标签: r encryption cryptography obfuscation digest

我写了一个连接某些服务的R包 需要用户名和密码。

我想避免输入我的用户名和密码 每一次,所以我让我的包从文件中读取它们 使用AES加密(我使用摘要包的方式与此问题的答案类似:How do I read an encrypted file from disk with R

当用户安装软件包时会生成AES密钥,并且密钥用于加密和解密用户凭据。

这样,用户此刻只需要插入一次凭证 安装,然后不需要在代码中的任何地方写它们。

然而,如果有人能够访问他们的笔记本电脑,那么他很容易 使用我的包生成的密钥解密凭证。

我有什么方法可以保护密钥(可能以跨平台的方式, 因为包必须在Windows,Linux和Mac中使用?

1 个答案:

答案 0 :(得分:0)

保护加密密钥的最佳方法是硬件安全模块,如Thales PayShield / nCipher或SafeNet PSO / PSW / Luna等...密钥加密密钥(KEK)存储在单独的设备上,在操作系统中只保存密码,在密钥下加密的密钥,您无法获得任何访问权限(此类设备受到强烈保护,并且#34;入侵"),使用此类设备的代码,您可以在Java或Python上编写,例如,它将使您的软件OS独立。但它花了一些钱:)