wpa_supplicant.conf 中超过 14 个字符的哈希密码

信息安全 密码 wpa2 树莓派
2021-09-05 07:11:13

我的大学有一个 WPA2 企业网络,在wpa_supplicant.conf中配置网络后,我可以在我的 Pi 上连接到该网络。

我不希望我的 Wi-Fi 密码以纯文本形式存储,所以我使用echo -n $password | iconv -t utf16le | openssl md4它对其进行哈希处理,然后将 MD4 哈希值而不是纯文本密码存储在文件中。

我编写了一个 Bash 脚本,它添加了配置并对密码进行哈希处理,很多学生都用它来将他们的 Pis 连接到网络。它总是有效的,除了密码超过 14 个字符的人。这对安全性很有好处,但它会导致 MD4 哈希算法出现问题。

wpa_passphrase不起作用,因为它会为 WPA-PSK 网络生成 PSK。我学校的网络是 WPA-EAP,它需要单独的用户名和密码,这就是我一直使用 NTLM 密码散列的原因。

有没有办法对wpa_supplicant.conf文件中长度超过 14 个字符的密码进行哈希处理?我尝试仅对密码的前 14 个字符或空字符串进行哈希处理,但这些都不起作用。

1个回答

md4当用作散列算法时,对密码进行散列是没有意义的。

您试图通过散列密码来克服的威胁是:

  1. 有人物理访问设备并从文件系统中提取密码。
  2. 有人获得远程访问和权限升级到 root 以便能够读取密码。

md4现在,可以预期这两种威胁都可以访问相当新的硬件,这些硬件可以像纯文本一样暴力破解。

帮助对抗

  1. 您可以使用全盘加密来保证密码安全,
  2. 您应该考虑具有远程 root 访问权限的人已经可以访问网络(因为连接来自该网络,或者因为他们控制的设备已经连接到网络)。

    由于出于多种原因,通常首选通过已经受感染的主机而不是将攻击者机器连接到网络本身,因此攻击者从配置中破坏 WPA 密码并没有太多好处 - 如果有,md4不会- 如前所述 - 充分阻止攻击者。