Nepumuk Asked: 2019-01-25 13:23:46 +0800 CST2019-01-25 13:23:46 +0800 CST 2019-01-25 13:23:46 +0800 CST 如何设置可区分不同密钥的密码 772 我可以更改我的密码/-短语(的设置),以使选择多个键中的哪个键(例如左键shift而不是右键)很重要吗? 如果在(纽约)文本程序中输入密码短语(例如在输入期间删除文本),即使结果不可见,我是否可以更进一步并要求特定的击键顺序及其组合? security password 3 个回答 Voted DopeGhoti 2019-01-25T13:29:21+08:002019-01-25T13:29:21+08:00 不。两个Shift键(假设您的键盘有两个 Shift 键,这是绝对不能保证的)在通过键盘输入输入文本时执行完全相同的操作(尽管有一些奢侈的想法,例如重新映射RShift到Compose或诸如此类,但它不再是一个Shift键)。Ana与 an 不同A,但无法区分-A创建的RShift-A和 - 发送到输入的LShift- A,或者实际上是通过从剪贴板粘贴发送的,或者在按住Alt(在某些配置中),或任何发送文本输入的可能方式。A输入后,anA是A是一个A。 ctrl-alt-delor 2019-01-25T14:35:38+08:002019-01-25T14:35:38+08:00 不适用于密码,因为它只是一个字节序列。 至于密码,那么如果你重新编写密码认证系统(或者只是添加一个模块)。但是,您可能会破坏一些东西(例如 sudo,以及您或我都不会考虑的其他东西)。计算机可以读取密钥代码并测量时间,但标准密码系统仅存储一个测试字符串。它可以进行调整,但请参见下一段。 您正在考虑违反第一条安全规则:“安全设备必须对攻击者来说很难,而对合法用户来说必须很容易。” 这对合法用户来说似乎很困难,而对攻击者的难度却很小。 话虽如此,它可能是一个很好的锻炼者,即使实际上它会降低安全性。一位朋友曾经写过一个登录系统,它只是测量他按下空格的速度(多年后,我意识到这是一个生物识别系统)。 Best Answer frostschutz 2019-01-25T14:38:20+08:002019-01-25T14:38:20+08:00 DopeGhoti 的答案(不!)是正确的,只要我们在谈论标准软件,这意味着将密码作为单行文本读取,您可以以任何您想要的方式输入(甚至更正拼写错误),直到您点击进入。 也就是说,从技术上讲,区分左/右 shift 键是可能的,这xev很容易证明。因此,只要键盘本身根据按下的键发送不同的键码,您就可以使用它 - 如果您不厌其烦地创建自己的包装器来读取单个击键而不是文本。 更进一步,您甚至可以添加诸如必须以特定节奏输入密码短语之类的内容。有点像一些旧游戏曾经拥有的作弊码。你甚至可以使用真正的游戏控制器来输入这些...... 所以(是的!)几乎任何事情都是可能的,但是您必须开发一个提供此类功能的程序,并将您想要的输入转换为文本表示或哈希,然后可以将其用作密码。然后的问题是使用户有一个现实的机会重复生成相同的表示/散列。 因此,如果您确实决定将密码输入变成节奏游戏,它应该留有一些余地。使用常规键盘按两次 shift(不输入字母)并没有什么坏处,您的软件将如何处理此类错误输入? 无论如何,只要努力,就有可能。那么更大的问题是,这样做是否有任何意义。无论如何,区分左/右移位键只会增加 1 位熵。它似乎不是很有用。 一般来说,密码短语包装器并非闻所未闻,它是为了支持专用硬件(例如集成 yubikey 质询响应)而完成的。2 因素身份验证,高熵密码,可能是值得的。
不。两个Shift键(假设您的键盘有两个 Shift 键,这是绝对不能保证的)在通过键盘输入输入文本时执行完全相同的操作(尽管有一些奢侈的想法,例如重新映射RShift到Compose或诸如此类,但它不再是一个Shift键)。An
a
与 an 不同A
,但无法区分-A
创建的RShift-A和 - 发送到输入的LShift- A,或者实际上是通过从剪贴板粘贴发送的,或者在按住Alt(在某些配置中),或任何发送文本输入的可能方式。A
输入后,anA
是A
是一个A
。不适用于密码,因为它只是一个字节序列。
至于密码,那么如果你重新编写密码认证系统(或者只是添加一个模块)。但是,您可能会破坏一些东西(例如 sudo,以及您或我都不会考虑的其他东西)。计算机可以读取密钥代码并测量时间,但标准密码系统仅存储一个测试字符串。它可以进行调整,但请参见下一段。
您正在考虑违反第一条安全规则:“安全设备必须对攻击者来说很难,而对合法用户来说必须很容易。” 这对合法用户来说似乎很困难,而对攻击者的难度却很小。
话虽如此,它可能是一个很好的锻炼者,即使实际上它会降低安全性。一位朋友曾经写过一个登录系统,它只是测量他按下空格的速度(多年后,我意识到这是一个生物识别系统)。
DopeGhoti 的答案(不!)是正确的,只要我们在谈论标准软件,这意味着将密码作为单行文本读取,您可以以任何您想要的方式输入(甚至更正拼写错误),直到您点击进入。
也就是说,从技术上讲,区分左/右 shift 键是可能的,这
xev
很容易证明。因此,只要键盘本身根据按下的键发送不同的键码,您就可以使用它 - 如果您不厌其烦地创建自己的包装器来读取单个击键而不是文本。更进一步,您甚至可以添加诸如必须以特定节奏输入密码短语之类的内容。有点像一些旧游戏曾经拥有的作弊码。你甚至可以使用真正的游戏控制器来输入这些......
所以(是的!)几乎任何事情都是可能的,但是您必须开发一个提供此类功能的程序,并将您想要的输入转换为文本表示或哈希,然后可以将其用作密码。然后的问题是使用户有一个现实的机会重复生成相同的表示/散列。
因此,如果您确实决定将密码输入变成节奏游戏,它应该留有一些余地。使用常规键盘按两次 shift(不输入字母)并没有什么坏处,您的软件将如何处理此类错误输入?
无论如何,只要努力,就有可能。那么更大的问题是,这样做是否有任何意义。无论如何,区分左/右移位键只会增加 1 位熵。它似乎不是很有用。
一般来说,密码短语包装器并非闻所未闻,它是为了支持专用硬件(例如集成 yubikey 质询响应)而完成的。2 因素身份验证,高熵密码,可能是值得的。