微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Linux上可靠地存储密码?

首先,我的问题不是密码哈希,而是密码encryption。 我正在构build一个需要authentication用户到第三方服务的桌面应用程序。 为了加快login过程,我想给用户select保存他的凭据。 由于我需要密码来authentication他的服务,所以不能被散列。

我想过使用pyCrypto模块及其Blowfish或AES实现来encryption证书。 问题是在哪里存储密钥。 我知道一些应用程序将密钥直接存储在源代码中,但是由于我正在编写一个开源应用程序,所以这看起来不是一个非常有效的解决scheme。

所以我想知道在Linux上如何实现用户特定的或系统特定的密钥来增encryption码存储的安全性。

如果您比使用pyCrypto和系统/用户特定键有更好的解决scheme,请不要犹豫分享。 正如我之前所说,哈希不是一个解决scheme,我知道密码encryption是脆弱的,但我想给用户的select。 使用Gnome-Keyring也不是一种select,因为很多人(包括我自己)都不使用它。

Active Directory如何模拟用户login并更改密码

使用wget从受密码保护的链接下载文件

如何在Windows中validation用户名和密码?

GPG自动解密密码传递

检查密码上次更改的时间

如何影响python内buildpwd模块

如何使用cmd或pythonvalidationWindows密码?

使用Azure命令行工具为Linux创build虚拟机

有没有一种工具可以从任何types的文件提取所有string?

如何在开发机器上强制导入错误? (pwd模块)

加密密码实际上并不比以纯文本形式存储更多的保护。 任何能够访问数据库的人都可能拥有对您的Web服务器机器的完全访问权限。

但是,如果安全性的损失是可以接受的,而且你真的需要这个,那么我会在安装过程中生成一个新的密钥文件(来自一个很好的随机数据源)并使用它。 显然存储此密钥尽可能安全(锁定文件权限等)。 使用嵌入源中的单个密钥不是一个好主意 – 没有理由为什么单独的安装应该具有相同的密钥。

尝试使用PAM 。 您可以创建一个模块,在用户登录自动解密密钥。这是GNOME-Keyring在内部的工作方式(如果可能的话)。 您甚至可以使用pam_python在Python中编写PAM模块。

Password Safe由Bruce Schneier和开源设计。 这是Windows的,但你应该能够看到他们在做什么,并可能重用。

http://www.schneier.com/passsafe.html

http://passwordsafe.sourceforge.net/

阅读这个: 如果你在你的代码中键入AES,你做错了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐