您可以做的任何事情都可以使用凭据,攻击者也可以
混淆实际上给你买了什么?时间。毕竟,数据也存在,您自己使用它的计划也是如此。有人弄清楚您的计划是什么,只是时间问题。这一切都取决于您的偏执狂以及对您舒适的风险水平的评估。特别是,您如何存储任何凭据应取决于谁可以访问运行数据库的机器。
最终,橡胶必须走上路,所以要去征服。不要完全混淆。只要确保将其与智能实践相结合。
方法和建议
为每个帐户生成每个帐户的每次申请API键
如果您可以从第三方帐户生成API键,这将使您能够在不关闭所有潜在应用程序的情况下撤销对帐户的访问。许多服务都有此类API键(Google,Twitter,Stackexchange,Facebook等)。
您只需设置“应用程序”,然后使用消费者密钥和秘密以及访问令牌和访问秘密。该机器只需要存储这些凭据。如果发生妥协,您只需撤销该键即可。此外,这些允许您每个帐户指定权限。
使用每个用户密码作为其凭据集
当用户登录时,您才能解锁其密码集。为此,您将根据适当的哈希方案生成键,并进行验证检查,该检查发生在密钥之前的几个哈希步骤。
无论如何,它都会在磁盘上加密
您总是可以用一个键加密凭据。然后,您只有一个钥匙来保护(保护所有其他秘密)。然后,您必须在访问其他凭据之前解密。
将秘密存储在系统的钥匙扣中
在Linux上,使用 gnome狂欢. 。然后,您可以进行简单的创建阅读删除调用,将其视为密码数据库。 GNOME钥匙扣基于PKCS#11标准。
这 Gnome-Keyring具有API 保存到钥匙扣和检索物品。
/* A callback called when the operation completes */
static void
found_password (GnomeKeyringResult res, const gchar* password, gpointer user_data)
{
/* user_data will be the same as was passed to gnome_keyring_find_password() */
// ... do something with the password ...
/* Once this function returns |password| will be freed */
}
static void
find_my_password()
{
gnome_keyring_find_password (GNOME_KEYRING_NETWORK_PASSWORD, /* The password type */
found_password, /* callback */
NULL, NULL, /* User data for callback, and destroy notify */
"user", "me",
"server", "gnome.org",
NULL);
}
在Windows 7+上,使用“加密文件系统”(EFS)功能。所有文件都用证书加密,然后使用Windows密码保护。
不过,不要让您陷入错误的安全感。如果这是它正在运行的服务器,则如果某人可以访问网络访问该框,则他们也可以访问键盘数据本身。
设置授予访问权限的远程计算机
您可以设置可以使用公共和私钥对授予凭据或解锁密钥的机器吗?
在哈希上
如果使用用户名和密码,则不会将它们返回。哈希设计为单向功能。
你可以 编码 但是,混淆的数据,但我不建议这样做。