【发布时间】:2014-10-13 15:28:46
【问题描述】:
我用 Ruby 编写了一个帮助脚本来通过一些服务器处理我的文件同步。它仅在我的 Intranet 中使用,并且通过 SSH 密钥进行身份验证。但是现在我想在不能使用 SSH 密钥的地方使用它,并且我想将密码存储在配置文件中。
我知道,有一些加密库,如 bcrypt 或 OpenSSL,但我有一个问题:
- 我启动我的脚本并输入我的密码,它存储在一个变量中以解密我的密码。
- 我的代码是开源的。
因此,可以与我的用户一起访问我的计算机(这将是我想扩展的第一个障碍)并查看内存(存储我的密码短语)的每个人都可以解密我的密码文件。在与安全相关的应用程序中如何处理?
Edith 作为对 DevDude 的回复说(但在这里,因为我想在我的问题中保留我的规范): 但是这个配置文件将是纯文本而不是加密的。当我加密这个文件时,我认为还有两个问题:
- super_secret_pwd 将存储在一个变量中,所以当我在计算机的内存中搜索时,我会找到它,不是吗?
- 用于加密的主密码也将以纯文本形式保存在内存中。
所以最大的问题是:是否可以从内存中读取纯文本变量?据我所知,这在 C 中是可能的,并且存在很大的安全问题。
【问题讨论】:
标签: ruby security encryption passwords