[Others] WIFI密码明文存储在配置文件中是否妥当? V23
Tofloor
poster avatar
深度之家
deepin
2024-10-08 15:00
Author
【系统环境】: deepin V23 【复现步骤】: /etc/NetworkManager/system-connections$ sudo cat CMCC.nmconnection [connection] id=CMCC uuid= type=wifi [wifi] mac-address= mode=infrastructure ssid=CMCC [wifi-security] auth-alg=open key-mgmt=wpa-psk psk=1122334455 [ipv4] method=auto [ipv6] addr-gen-mode=default method=auto [proxy] 【预期结果】: 应该有一种更加妥当的方式将密码加密后将密文存储在psk中 【实际结果】: psk=1122334455

Reply Favorite View the author
All Replies
深度之家
deepin
2024-10-08 15:00
#1
你好,请查看联系邮件,已对你的疑问,进行回复,感谢你的反馈与支持。
Reply View the author
boydreaming
deepin
2024-10-08 16:06
#2

支持,应该加密的。不过,那个文件只有sudo可以查看。

Reply View the author
jjcui8595
deepin
2024-10-08 18:11
#3
深度之家
你好,请查看联系邮件,已对你的疑问,进行回复,感谢你的反馈与支持。

这样的回复放在论坛有何用?!

Reply View the author
安洛
deepin
2024-10-08 18:49
#4

这会导致每次连接wifi时都需要输入密码(不是wifi密码,而是用来加密wifi密码的密码,大多数软件例如gnome-keyring会将其设置为用户的用户密码)。考虑到很多人都是登陆后连接wifi,这就会导致那个经典的“解锁之后又弹出密码输入框要求输入密码”的问题。
如果确实希望这样做,这是可以自己配置的。这里贴一下Arch Wiki的相关内容:https://wiki.archlinux.org/title/NetworkManager#Encrypted_Wi-Fi_passwords。对于Deepin,除了包名不一样,其它的操作都是一样的。

Reply View the author
pgxppp
deepin
2024-10-09 08:54
#5
jjcui8595

这样的回复放在论坛有何用?!

这是由机器人从深度之家转过来的,回复内容表示已向问题发起人作出回复

Reply View the author
乾豫恒益
deepin
2024-10-09 09:38
#6

这个问题,持续关注中。。。

Reply View the author
小鱼贝壳
deepin
2024-10-10 00:58
#7
jjcui8595

这样的回复放在论坛有何用?!

哈哈哈哈哈

Reply View the author
xia
deepin
2024-10-19 20:21
#8
jjcui8595

这样的回复放在论坛有何用?!

回复的意思跟二楼差不多:既然能进家门,卧室的门就没必要上锁了

Reply View the author
xia
deepin
2024-10-19 20:33
#9
安洛

这会导致每次连接wifi时都需要输入密码(不是wifi密码,而是用来加密wifi密码的密码,大多数软件例如gnome-keyring会将其设置为用户的用户密码)。考虑到很多人都是登陆后连接wifi,这就会导致那个经典的“解锁之后又弹出密码输入框要求输入密码”的问题。
如果确实希望这样做,这是可以自己配置的。这里贴一下Arch Wiki的相关内容:https://wiki.archlinux.org/title/NetworkManager#Encrypted_Wi-Fi_passwords。对于Deepin,除了包名不一样,其它的操作都是一样的。

安全和方便二者不可兼得,或许可以折中一下。

就像auth2的处理token一样:随机生成加密密钥,密钥有一定的有效期,例如7天。将密码加密后密文存于配置文件psk,要用的时候用密钥解密。7天之后密钥过期,此时需要重新输入wifi密码才能登陆。

Reply View the author
安洛
deepin
2024-10-19 23:54
#10
xia

安全和方便二者不可兼得,或许可以折中一下。

就像auth2的处理token一样:随机生成加密密钥,密钥有一定的有效期,例如7天。将密码加密后密文存于配置文件psk,要用的时候用密钥解密。7天之后密钥过期,此时需要重新输入wifi密码才能登陆。

那么你依然需要一个安全的地方来存储密钥。如果有这样的地方,直接将密码存储进去就好了。

auth2的token仅仅用于验证,并没有对应的密文。所以一但更换token,攻击者就无法继续攻击。即使在这样的场景下,所有服务提供者都会提醒你不要泄露你的token;泄露token的后果可能和泄露密码同样严重。

而在wifi密码的场景下,密钥有对应的密文,更糟糕的是,密钥和密文存储在同一台机器上。所以攻击者可以轻易地同时获取密钥和密文,之后立即用密钥解密密文。即使后续再更换密钥,攻击者同样可以使用得到的明文密码进行攻击。这样定期更换密钥就没有意义了。

auth2的另一个应用场景是使用随机生成的密钥替代密码,来避免用户使用弱密码被枚举攻击的可能性。因此,一些服务提供者提供了token之后就会拒绝密码登陆,或者至少需要两步验证。

但是,在wifi密码的场景中,密钥并没有完全替代wifi密码。即使没有密钥,单独拥有wifi密码同样可以连接wifi。因此,采用随机密钥同样不能对抗针对弱密码的攻击。

综上所述,使用保存的随机密钥来加密存储wifi密码并不能带来像auth2的token那样的安全提升。

另外,其实更换密钥并不需要用户重新输入数据内容。只需要在生成新密钥之后,利用旧密钥和新密钥完成密文的更新就好了。密文的自动更新也有很多很成熟的算法可以实现。更换token之所以需要用户重新输入登陆凭据,也是因为token没有对应的密文,无法自动更新。

Reply View the author