可以使用 PAKE 协议强制执行密码强度吗?

信息安全 验证 密码 密码学 密码策略 密钥交换
2021-08-15 10:51:50

密码强度策略是否可以,即:必须包含至少 8 个字符 必须包含一个大写字母 必须包含一个小写字母 必须包含一个数字

如果使用 PAKE 协议(例如 OPAQUE?这些协议(例如,OPAQUE)有什么方法可以证明密码符合上述规定。与 PAKE 一样,密码永远不会到达服务器,并且可以轻松绕过客户端检查。这是否意味着 PAKE 用户可以使用 3 或 4 个字符(当然,或者更少)的密码?

我知道我可以通过加密和比较输出来检查常用密码和特定密码,例如历史用户密码。当然,检查每个密码组合最多 8 个字符的输出是不可行的。

我只想检查符合此政策的历史密码和常用密码。

服务器端是否有任何方法可以证明客户端的输入符合 OPAQUE 之类的协议?鉴于服务器从未真正看到密码。

这是否意味着使用 PAKE(例如 OPAQUE)可能会降低密码安全性?

编辑:我知道强制执行最低字符要求(例如:一个数字等)是有争议的。上述政策只是一个例子。

1个回答

不,您不能通过技术手段强制执行客户端策略。正如您所提到的,您对实现的任何限制都可能被使用修改后的客户端的人绕过。但这假设您至少有一些用户打算使用特别弱化的客户端,这似乎很不寻常。你的用户有什么理由避开你的官方客户?

虽然您无法阻止某人在您的系统周围进行最终运行,但您可以使用策略棒来要求人们仅使用经过批准的客户端。您可以审核他们的系统以确保他们安装了官方客户端。您可以使用代码签名、应用程序白名单、病毒扫描和/或文件完整性监控等技术手段来帮助确保他们不会安装恶意客户端。如果您发现他们正在使用外部网站来执行生成和交换密钥等操作,请将该网站添加到防火墙的黑名单中。让做错事更难。

也许您可以要求他们仅从运行在防火墙后面的堡垒主机管理这些特定密码。堡垒主机将被锁定并仅用于那些特定的安全操作,然后任何交换的密码都将被复制回客户端。我并不是说这是最安全的选择,只是说它可能是另一种控制用户行为的方式。类似地,您可以在 PAKE 系统前面提供包装服务,并使用包装来测试密码一致性。当然,这些方法给您留下了必须保护、管理和检查的堡垒主机或包装服务,这可能是一个更大、更昂贵的问题。

有时您所能做的就是说明您的政策(以及对违规行为的可怕处罚)并期望人们遵守它。在声称(或证明)用户正在规避它之前,请考虑仅使用策略的方法。