我想为自己编写一个小密码管理器。可以使用键盘快捷键调用的应用程序,然后我可以选择我需要的任何密码。这将让我使用巨大的复杂密码,只需要记住一个密码。该工具的数据(密码)将保存在光盘上,加密,并且希望通过单个授权步骤,该工具可供用户用于多个标识。然而,这会造成单点故障,因此我想知道应该记住哪种安全问题。
这个密码管理器必须直观地调用,所以我认为操作系统范围的键盘快捷键可以做到这一点,但我担心其他应用程序最终可能会在未经许可的情况下调用它。因此,每次调用此应用程序时,是否应该询问用户密码?或者我应该假设一个可以调用此应用程序的恶意应用程序,可以轻松记录授权此工具的用户的击键,并避免这个额外无用的步骤?
我还在考虑密码中的字符数和字符类型。有些应用程序每个密码最多只允许16个字符,我想在一个案例中让用户选择base64密码,这样只会留下2 ^ 96种可能的密码组合。我不应该使用base64密码吗?字符' +'和' /'通常被接受为密码字符(在base64中使用)?我应该在密码中允许不可打印的字符,如换行符和null(base128)吗?使用(null)字符时,我是否应该担心内存损坏问题?我应该在密码(base256)中允许使用扩展的ascii字符吗?
我想在选择后立即提供密码,只需在任何具有焦点的对象中输入密码即可。在图形环境中虽然我正在考虑使用特定的操作系统剪贴板API,但我还没有读过。那里会有安全问题吗?比如安全地清除剪贴板,或与其他应用程序共享该数据。我似乎记得读过一些关于代码访问剪贴板的javascript代码(几年前我读过这篇文章)。
到目前为止,我担心这样一个应用程序的安全性。如果您对它们有一些了解,我想阅读它,并且我也愿意听取有关其他问题的论点。
答案 0 :(得分:1)
剪贴板管理员肯定可以访问密码。清除剪贴板无效 一些剪贴板扩展器将遵循CF_ClipBoard_Viewer_Ignore标志(用于不从密码管理器捕获密码的私有剪贴板格式),但不是全部。在这里阅读更多相关信息: http://www.clipboardextender.com/developing-clipboard-aware-programs-for-windows/ignoring-clipboard-updates-with-the-cf_clipboard_viewer_ignore-clipboard-format