去年帮一个智慧园区做WiFi认证系统升级,客户抱着厚厚一叠设备清单来找我,说这些设备都需要接入无线网络。我翻了一下清单,里面有各种稀奇古怪的东西:智能水表、烟感探测器、楼宇自控的温控面板、物流AGV小车、还有停车场道闸的控制模块。这些设备有一个共同点:它们都没有浏览器,都不支持802.1X,甚至有些连DHCP都不一定能正常工作。要把这些东西无缝接入WiFi认证系统,比想象中麻烦得多。
MAC旁路认证的便利和风险
对于没有交互界面的物联网设备,MAC旁路认证几乎是唯一可行的方式。原理很简单:在WiFi认证系统的Radius服务器里预先录入这些设备的MAC地址白名单,当设备关联AP时,AC发起MAC认证请求,Radius查白名单放行。
但这个方案有两个致命问题。第一个是安全性:MAC地址是可以伪造的。一个稍微懂点网络知识的人,完全可以在自己的设备上把MAC地址改成某个白名单里设备的地址,然后绕过认证直接上网。在开放区域比如停车场、公共走廊,这个风险尤其需要重视。
第二个问题是MAC地址的动态变化。现在越来越多的手机和笔记本电脑默认开启了随机MAC地址功能,每次连接WiFi都换一个MAC。如果你在WiFi认证系统里只做了MAC白名单而没有考虑这个特性,这些设备可能第一次认证成功之后就再也连不上了,因为第二次连的时候MAC变了,Radius查不到白名单。
我们的应对方案是分层处理。对于固定位置的物联网设备——比如水表、烟感、道闸控制器——用MAC旁路认证,但配合AC侧的端口安全策略和AP位置绑定,限制只有特定AP、特定交换机端口上来的MAC才能通过。对于移动设备,引导用户关闭随机MAC或者在认证系统中做设备指纹识别,用MAC之外的维度来唯一标识一个设备。
PSK预共享密钥什么时候该用什么时候不该用
PSK是另一种常见的物联网WiFi认证方式。给所有物联网设备配同一个密码,SSID和设备密码都预设好,设备出厂就直接能连。比MAC白名单简单得多,但也有自己的问题。
最大的问题是密钥管理。如果一个WiFi认证系统里所有物联网设备共用一个PSK,一旦这个密码泄露——比如离职员工带走了、或者某个设备的配置文件被导出了——你就得把所有设备的密码全部换掉。几百个设备、分布在园区各个角落、有些还装在吊顶上面,换一次密码的工作量可能比你重新部署一套系统还大。
所以PSK更适合那些设备数量不多、设备都在物理安全可控区域内的场景。如果设备数量大、分布范围广、物理安全不可控,那我建议还是上证书认证或者MAC旁路加策略绑定,虽然管理复杂一些,但安全底线守得住。
CoA和动态策略下发对物联网的意义
物联网场景下有一个特殊需求:设备的行为模式是固定的,但权限不应该一成不变。比如一个智能电表,平时只需要上报读数,给它极小的带宽就够了;但固件升级的时候,需要临时开放一个大的带宽通道和一个特定服务器的下载权限。
这就对WiFi认证系统提出了更高的要求:不只是"认证通过就放行",而是要在认证通过之后,还能根据设备的行为动态调整网络策略。这个能力在Radius协议里叫CoA——计费变更授权——但很多WiFi认证系统的实现只做了CoA的"踢人下线",没有做"动态修改策略"。等于说你的认证系统只负责开门,门里面每个房间的钥匙你得另外想办法。
如果你的WiFi认证系统要管理大量物联网设备,选型时别只看"支持不支持MAC认证"这种浅层问题,去问厂商:你们的策略服务器能不能通过CoA动态调整单个设备的带宽限制、ACL规则、VLAN归属?如果对方的答案是你需要再买一套策略管理平台,那你就要认真算一下这套平台额外的采购和运维成本了。