关于存储加密密钥的堆栈溢出和security.stackexchange上有很多文章,但我仍然感到困惑,所以这就是我决定再次询问的原因。
基本上,我正在创建一个用于教育目的的电子邮件客户端,因为用户可以创建帐户,他们在那里输入电子邮件ID和密码。我正在寻找安全的方法来保存信息。
我将
从阅读中我明白了,
在互联网上查看关于这个主题的所有文章,这是一个重复,但我会学习制作应用程序,过去两天我进入循环但没有成功。
OS:Linux Ubuntu 14.04
编程语言/框架:Python / Gtk +
答案 0 :(得分:0)
您的理解是正确的。
无法阻止访问本地密钥的攻击者访问密码。模糊存储它的路径几乎不提供额外的安全性 - 任何具有执行解密所需的专有技术的攻击者都很容易绕过这种机制。
唯一安全的方法是存储计算机的密钥(或密钥的密钥) out - 在用户的想法中,如果是主密码机制。
如果您最终使用主密码,请不要忘记使用正确的key derivation function,理想情况下使用key-stretching机制,例如PBKDF2或bcrypt。 不要直接使用密码作为密钥(或者甚至是密码的简单哈希。