内容图

一、为什么企业网络入口需要强认证

企业无线网络在绝大多数办公场景中,默认采用 WPA2-Personal 或 WPA3-Personal,也就是依赖一把共享预共享密钥(PSK)来让终端接入。这种做法在家庭和小型店铺里无可厚非,但放到员工规模成百上千、终端类型繁杂的企业环境,问题就非常突出。

第一,密钥是共享的,无法做到用户级区分。所有拿到这把密钥的人——无论是正式员工、外包人员、临时访客还是已经离职但尚未收回权限的人——都能连入同一个广播域。一旦密钥通过截屏、社交工程、内网外发邮件等方式泄露,整张企业网络就相当于向外部敞开了大门。更麻烦的是,PSK 模式没有"吊销单个用户"的能力,你要么改全网密钥(影响所有人重新配网),要么就只能任由泄露的账号继续存在。

第二,PSK 模式无法进行用户级审计。交换机和无线控制器看到的是"一个 SSID 下的设备",而不是"谁、在什么时间、用什么设备、从哪个位置接入"。当内网出现横向移动、数据外发或者勒索软件扩散时,安全团队很难从网络层回溯到具体责任人,取证链条从第一跳就断了。

第三,也是最致命的一点,扁平化的企业内网叠加弱入口认证,会直接放大"内网横向移动"的风险。攻击者在咖啡厅、停车场或者楼内通过某种方式拿到 WiFi 接入权限后,由于企业网络内部各终端往往互通、缺乏微隔离,他可以立刻对内网服务做端口扫描、对 SMB/RDP/SSH 做口令爆破、向域控投送恶意载荷。近几年的多起勒索软件事件复盘都显示,初始入侵入口恰恰是企业 WiFi 的一把弱共享密钥。

从合规视角看,等保 2.0 对"身份鉴别"和"访问控制"有明确要求:应对登录的用户进行身份标识和鉴别,并采用两种或两种以上组合的鉴别技术。一把共享密钥既无法标识具体用户,更谈不上双因子,自然无法满足三级系统的网络访问控制条款。

因此,企业网络入口需要的是"每用户、每设备、每会话"的强认证,而这正是 802.1X 端口准入技术的用武之地。它把"能不能上网"这件事,从"知不知道密钥"升级为"有没有经过身份校验",为后续叠加动态口令做双因素认证打下基础。

二、802.1X 端口准入与 EAP 方法原理

802.1X 是一套基于端口的网络访问控制标准,它定义了三个核心角色。其一是 Supplicant,也就是终端侧的客户端软件,比如 Windows 的 Wired AutoConfig 服务、手机系统的 WiFi 企业认证、或者 Linux 的 wpa_supplicant。其二是 Authenticator,即端口控制者,通常是接入交换机或者无线 AP,它负责在认证完成前把端口"关"起来,只允许 EAPOL 这种特殊的认证帧通过。其三是 Authentication Server,也就是后端做真正身份判定的服务器,业界几乎统一用 RADIUS 协议来承载。

802.1X 的工作逻辑可以这样理解:终端连上 AP 后,AP 默认把这个端口放在"未授权"状态,终端发不出任何业务流量。直到终端通过 EAP 流程把身份凭证送到 RADIUS 服务器并校验通过,AP 才把这个端口切换为"已授权",放开数据平面的访问。这个"先认证、后放通"的模型,天然适合做用户级准入。

EAP(Extensible Authentication Protocol)本身不是一个具体的认证算法,而是一个承载框架。它定义的是"客户端、认证者、认证服务器三方之间如何交换身份数据"的封装格式,真正干活的身份校验逻辑由具体的 EAP 方法来决定。在企业 WiFi 场景里,最常见的三种方法是:

EAP-TLS 使用双向证书做认证,客户端和服务端各自持有证书,握手时互相校验。它被认为是最安全的方法,因为凭证是私钥而非口令,几乎免疫口令爆破与中间人。但它的代价是需要一套完整的 PKI 体系来签发、分发、吊销终端证书,运维负担最重,落地周期也最长。

EAP-PEAP 的做法是先建立一个 TLS 隧道(只需要服务端证书),然后在隧道内部再用 MS-CHAPv2 做用户名加口令的校验。隧道的作用是保护内层明文口令不被嗅探,同时又免去了给每一个终端发证书的麻烦。它是目前企业里部署最广泛的方案。

EAP-TTLS 与 PEAP 思路类似,也是先建 TLS 隧道,但隧道内部的方法更灵活,可以承载 PAP、CHAP、MS-CHAP,甚至是嵌套的 EAP。这种灵活性让它非常适合把动态口令(OTP)当作内层身份凭证来用,因为 OTP 本质上就是一个随时间变化的"口令"。

下面用文字图描述一次典型的 802.1X 认证握手(以 EAP-PEAP/TTLS 这类隧道方法为例):

Supplicant(终端)          Authenticator(AP/交换机)            RADIUS Server
    |                            |                                |
    |--- EAPOL-Start ----------> |                                |
    |<-- EAP-Request/Identity ---|                                |
    |--- EAP-Response/Identity ->|                                |
    |                            |--- Access-Request(EAP) ------>|
    |                            |<-- Access-Challenge(EAP) ------|
    |<-- EAP-Request(TLS 开始) --|                                |
    |--- EAP-Response(证书/密钥交换) ----------------------------->|
    |<===== 建立 TLS 隧道(仅服务端证书) =====>                    |
    |   隧道内交换:用户名、内层口令、动态口令(OTP)                 |
    |                            |--- Access-Request(内层) ------>|
    |                            |<-- Access-Accept / Reject -----|
    |<-- EAP-Success / Failure --|                                |
    |   端口置为已授权,RADIUS 下发 VLAN / ACL 属性                 |

可以看到,动态口令在哪里介入,取决于你选择的内层方法。接下来我们就把 OTP 作为第二因子,正式接进这个流程。

三、动态口令(OTP)作为第二因子的技术原理

动态口令的核心标准是 OATH 组织定义的 TOTP(基于时间的一次性口令)。它的计算逻辑并不复杂,却非常稳健。通信双方预先共享一把密钥 K(通常用 base32 或 hex 字符串编码),并且各自维护一个大致同步的时钟。系统把当前 Unix 时间戳除以步长(通常为 30 秒)向下取整,得到一个时间计数器 T。随后用约定的杂凑算法对 K 和 T 做 HMAC 运算,再从结果里按 RFC 6238 定义的动态截断方法取出一段,对 10 的 6 次方取模,最终得到一个 6 位的十进制数字。

因为 OTP 每隔 30 秒就会变化一次,且每个口令只在极短的时间窗内有效,所以即便攻击者抓到了一次认证报文里的口令,也很难在有效期之外复用。服务端在校验时一般会允许前后各一个时间窗(也就是容忍 ±30 秒的时钟漂移),这样既兼顾了终端时钟不准的现实,又不会无限放宽窗口。

在杂凑算法的选择上,标准 TOTP 默认使用 SHA-1,但现代实现普遍支持 SHA-256、SHA-512、SHA-224、SHA-384,以及国密 SM3。其中 SM3 作为我国自主设计的密码杂凑算法,在信创改造和等保合规场景里具备特殊价值:它让你在网络准入这条链路上彻底摆脱对国际算法的依赖,满足"关键信息系统使用国产密码算法"的合规诉求。

以安当OTP为例,它的定位正是基于 OATH TOTP 的一次性密码体系,由客户端与服务端两部分构成。客户端形态包括手机 APP 与硬件令牌两类:手机令牌支持扫码注册,并且兼容谷歌验证器、微软验证器、腾讯验证器等通用 TOTP 客户端,这意味着企业无需强制员工安装特定应用,降低了终端部署门槛;硬件令牌则适用于无法安装 APP 的工控机、涉密终端等场景。服务端既支持本地化部署,也支持 SaaS 形态,通过 RADIUS 与 API 两种方式对外提供身份校验能力,并支持用户自注册。一个后台可以同时服务多个应用,例如 WiFi 网络准入、远程接入、业务系统登录等,密钥统一用 base32 或 hex 编码保存,算法涵盖 SHA-1/256/512/224/384 以及 SM3。

把 OTP 接进 RADIUS 做第二因子,业界有三种常见工程模式,各自的取舍并不相同。

第一种是拼接模式(Concatenation)。用户在输入框里填写"静态口令 + 动态口令"的组合,例如静态口令是 abcd1234,当前 OTP 是 882913,用户就输入 abcd1234882913。RADIUS 服务端在收到后,用固定长度或者分隔符把两者拆开,先校验静态口令,再校验 OTP。这种模式的优点是改造小,但缺点也很明显:MS-CHAPv2 对明文口令长度有上限,拼接后容易超长;而且 OTP 和静态口令耦合在同一个字段里,审计粒度偏弱,出问题后难以区分是哪一段失败。

第二种是替换模式(OTP-as-Password)。用户提交的口令直接就等于当前的 OTP,而静态口令作为用户名的一部分(例如 user1 改成 user1#staticpin)或者放在另一个独立字段。这种模式特别适合 EAP-TTLS-PAP 内层,因为 PAP 是以明文方式传输口令,对口令长度基本没有限制,可以直接把 6 位甚至 8 位 OTP 丢进去。它把"你记得的东西"(静态 PIN)和"你持有的东西"(令牌生成的 OTP)做了清晰的双因子分离。

第三种是独立校验模式(Decoupled Second Factor)。RADIUS 服务端把 OTP 当作一个完全独立的第二因子,通过本地模块或者 API 调用专门做校验,与第一因子(无论是证书还是静态口令)在逻辑上解耦。这种模式下,认证日志能清楚记录"第一因子通过时间、第二因子通过时间、最终结果",审计维度最干净,也最容易满足等保对双因子留痕的要求。从工程实践看,第三种和第二种是更推荐的组合。

具体到 RADIUS 报文层面,终端发来的 Access-Request 会携带 User-Name、User-Password(或者 CHAP-Password,取决于内层方法)、NAS-IP-Address、Called-Station-Id、Calling-Station-Id(通常是终端 MAC)。RADIUS 服务端在 authorize 阶段把 Auth-Type 指向 OTP 校验模块,在 authenticate 阶段完成口令与 OTP 的联合判定。判定通过后,Access-Accept 报文中再回送 Tunnel-Type、Tunnel-Medium-Type、Tunnel-Private-Group-ID 等属性,告诉 AP 应该把这个端口划到哪个 VLAN。下面是一段 RADIUS 服务端(以通用开源 RADIUS 为例)的虚拟配置,演示认证通过与后如何下发 VLAN:

# 授权阶段:调用 OTP 校验模块
authorize {
    preprocess
    if (User-Name =~ /^(.+)[+](.+)$/) {
        # 用户名后拼接静态 PIN 的拆分示例,按需调整
        update request {
            Stripped-User-Name := "%{1}"
            Tmp-String-0 := "%{2}"
        }
    }
    otp_module
    files
}

# 认证阶段:指定 OTP 作为认证类型
authenticate {
    Auth-Type OTP {
        otp_module
    }
}

# 认证通过后,按角色下发 VLAN
post-auth {
    update reply {
        Tunnel-Type := VLAN
        Tunnel-Medium-Type := IEEE-802
        Tunnel-Private-Group-ID := "100"
    }
}

这段配置里不会出现任何外部地址,也不依赖任何在线服务,OTP 的校验完全可以在企业内网闭环完成,这对数据不出网的合规要求非常友好。

四、把动态口令接进 RADIUS 的完整接入路径

把上面的零散知识点串起来,一条可落地的"802.1X 隧道 + 动态口令第二因子"接入路径就清晰了。第一步,在无线控制器或接入交换机上启用 802.1X,指定 RADIUS 服务器地址与共享密钥,并配置使用 EAP-PEAP 或 EAP-TTLS。第二步,在 RADIUS 服务端加载 OTP 校验模块,并把它和企业的用户目录(如 LDAP 或者本地账户库)关联,使"静态口令 + OTP"能够联合判定。第三步,为终端配置企业 WiFi 配置文件,内层方法选 MS-CHAPv2 或 PAP,认证身份填入"用户名 + OTP"。第四步,RADIUS 判定通过后,按用户角色下发对应的 Tunnel-Private-Group-ID,把终端送进正确的 VLAN。第五步,在交换机或控制器上用 ACL 对 VLAN 做访问约束。

这里有一个容易踩的坑:时钟同步。TOTP 完全依赖时间,如果终端、RADIUS 服务端、OTP 后台三方的时钟偏差超过一个步长,校验就会失败。生产环境务必在内网部署 NTP 服务,并让 OTP 后台、RADIUS 服务端都指向同一时间源,同时把服务端的容忍窗口设为 ±1 步长(即 90 秒范围)以吸收轻微抖动。

另一个坑是重放。OTP 在一个时间窗内是固定的,如果攻击者在同一窗内截获并立即重放,理论上有极小概率成功。缓解手段包括:服务端对"同一用户、同一 OTP 值"做一次性消费标记,一旦用过立即作废该窗口值;结合 Calling-Station-Id 做绑定;以及在重要网段叠加 EAP-TLS 证书因子。这些措施叠加后,重放风险可以被压到工程可接受的水平。

五、访客网络隔离(VLAN 与 ACL)

企业网络准入绝不能只管"谁能进",还必须管"进来之后能去哪"。一个最常见的设计是员工 VLAN 与访客 VLAN 彻底分离。员工通过 802.1X 加 OTP 认证后,RADIUS 下发 Tunnel-Private-Group-ID 指向员工 VLAN,可以访问内网资源;而访客走的是另一套轻量认证(例如前台发放的短期账号、或者自注册 Portal),被映射到 Guest VLAN,只能上互联网,且被 ACL 严格限制不能访问内网网段、不能互相访问。

ACL 的规则遵循"默认拒绝"原则:Guest VLAN 只放行 DHCP 与 DNS,以及到互联网出口的转发,其余一律丢弃。员工 VLAN 内部也可以按角色再细分,例如研发 VLAN、办公 VLAN、会议室 VLAN,彼此之间用三层访问控制列表隔开,阻断不必要的横向通信,这正是遏制"内网横向移动"的关键一环。

对于打印机、IP 摄像头、IoT 传感器这类本身不支持 802.1X 的设备,可以启用 MAB(MAC 认证旁路):让交换机用设备的 MAC 地址作为身份去 RADIUS 查询,匹配的设备被划入专门的设备 VLAN 并同样施加隔离策略。这样整张网络就形成了"支持 802.1X 的走强认证、不支持的走 MAB、访客走隔离 VLAN"的统一准入格局。

动态 VLAN 的部署有个明显好处:同一台 AP 的无线信号范围内,不同身份的用户会自动进入不同的广播域,你不需要为不同部门物理划分 SSID,运维上清爽很多。只要 RADIUS 下发的 Group-ID 准确,网络层隔离就随认证结果自动生效。

六、合规举证:等保条款与认证日志留存

把动态口令接进 802.1X 网络准入,最直接的价值之一是满足等保 2.0 对身份鉴别与访问控制的条款。我们逐项对照来看。

在身份鉴别部分,等保要求应对登录的用户进行身份标识和鉴别,并明确要求采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户身份进行鉴别。802.1X 提供第一因子(用户名加静态口令,或证书),动态口令提供第二因子(你持有的令牌生成的随时间变化口令),二者组合正好构成合规意义上的双因素认证。

在访问控制部分,等保要求应对入网设备进行身份鉴别与访问控制,并按用户或角色分配权限。802.1X 的端口级准入天然实现了"未认证不放行",而 RADIUS 下发的 VLAN 与 ACL 则实现了"按身份给权限",两者合在一起就是一条完整的入网访问控制证据链。

在安全审计部分,等保要求启用安全审计,审计涵盖到每个用户,对重要用户行为和重要安全事件进行审计;审计记录应包含事件的日期、时间、用户、事件类型、事件是否成功等要素;并对审计记录进行保护、定期备份,留存时间符合法律法规要求,实践中通常不少于 180 天(约 6 个月)。

落到工程上,RADIUS 服务器需要把每一次接入尝试都记录下来,字段至少包括:User-Name、 Calling-Station-Id(MAC)、NAS-IP-Address、认证结果(Accept/Reject)、所用 EAP 方法、下发的 VLAN、时间戳。这些日志应统一送到日志平台或者 SIEM,开启防篡改(例如只追加、哈希链)和定期备份,确保留存周期达标。测评时,你可以向测评机构提供:网络拓扑图(标注 802.1X 部署位置与 RADIUS 服务器)、EAP 方法与双因子配置截图、VLAN/ACL 分配策略、认证日志样例、以及密钥管理说明(base32/hex 种子如何加密存储、如何与用户绑定、如何轮换与注销)。

需要特别强调的是,OTP 种子(即那把共享密钥 K)是整个方案的安全底座之一,但它的保护不应依赖"不写入文档"这种口头约定,而要靠技术控制:种子在数据库里必须静态加密,访问走最小权限,令牌与用户强绑定,注销时立即销毁对应种子。只有这样,合规举证才经得起推敲。

七、第二因子与 EAP 方法的方案对比

为了帮助工程师选型,下面用两张表把关键决策点摆清楚。第一张表对比三种主流 EAP 方法在"动态口令做第二因子"场景下的表现:

EAP 方法外层保护内层身份动态口令可行性证书需求运维复杂度
EAP-TLS双向证书隧道客户端证书可叠加 OTP 作为二次挑战需完整 PKI高
EAP-PEAP服务端证书隧道MS-CHAPv2 口令口令与 OTP 拼接使用仅需服务端证书中
EAP-TTLS服务端证书隧道PAP/CHAP/OTPOTP 直接作内层口令仅需服务端证书中

第二张表对比可以作为 802.1X 第二因子的几种技术,帮助你在动态口令、短信验证码、硬件安全密钥、客户端证书之间做权衡:

第二因子防钓鱼能力是否离线可用终端依赖部署成本适用说明
动态口令(TOTP)中等是手机或硬件令牌低基于时间,无需网络往返,最易落地
短信验证码较弱否手机 SIM 卡低依赖运营商通道,存在被拦截与嗅探风险
硬件安全密钥(U2F 类)强是USB 或 NFC 设备中抗钓鱼,但需采购与分发硬件
客户端证书强是证书分发体系高需 PKI,适合高安全域

从"落地速度、成本、合规兼顾"的综合角度看,动态口令往往是大多数企业做 802.1X 二次认证的首选起步方案:它不依赖外部短信通道,不要求每张终端发证书,又能干净地满足双因子条款。

八、统一认证后台:一个后台服务多类接入场景

企业在做强认证时,往往不止 WiFi 一个场景。远程接入、业务系统登录、运维堡垒机、内部应用单点登录等,都可能要求双因素。如果每个系统各自维护一套 OTP 密钥、各自做令牌注册,后果是密钥分散、用户需要在不同地方重复注册、审计割裂、人员离职时漏注销。

更合理的做法是建设一个统一的动态口令后台,集中管理用户、密钥、令牌绑定关系,并通过 RADIUS 与 API 向各个消费方提供校验服务。用户只需注册一次令牌,就可以在 WiFi 准入、远程接入、业务系统等多个场景复用同一把 OTP。各个消费方(RADIUS 服务器、应用登录页、堡垒机)只需要信任后台返回的校验结果,自己不再保存种子,从而显著缩小密钥泄露面。

以安当OTP为例,它的服务端既支持本地化部署也支持 SaaS,并允许一个后台对接多个应用:同一套用户与密钥,可以同时在企业 WiFi 的 802.1X 准入、远程访问网关、以及业务系统登录页上完成双因子校验。手机令牌扫码注册降低了运维分发成本,硬件令牌则面向无法装 APP 的高安全域,算法上的 SM3 选项进一步满足国产化合规。对用户而言,他手机上只需要一个令牌 APP,就能在企业内部多个强认证入口之间通用,体验与安全性同时改善。

在密钥管理的工程细节上,统一后台需要做到:种子以 base32 或 hex 编码存储并做静态加密;令牌与用户强绑定,不支持随意解绑复用;支持扫码注册以替代手工录入;为高安全域保留硬件令牌通道;提供完整的注册、绑定、轮换、注销生命周期管控。只有这样,统一后台才不会成为新的单点风险。

方案参考

下面给出一套与具体产品无关的通用落地方法论,供安全工程师在企业内网实施 802.1X 加动态口令二次认证时参考。

第一步,先做资产与场景梳理。盘点哪些网段、哪些 SSID 需要强认证;统计终端类型,分清哪些支持 802.1X、哪些是只能走 MAB 的 IoT 设备;明确有哪些接入场景(WiFi、有线、远程接入、业务系统)需要双因子,避免一次性铺太大导致推进受阻。

第二步,选定 EAP 方法。如果没有现成 PKI,优先选 EAP-TTLS-PAP(OTP 直接作内层口令)或 EAP-PEAP(口令与 OTP 拼接);若已有证书体系且安全要求高,可直接上 EAP-TLS 并叠加 OTP 做二次挑战。

第三步,部署独立的 RADIUS 服务端。开启传输层保护,把 OTP 校验模块与各个消费方解耦,认证通过后再统一下发 VLAN 与 ACL 属性。RADIUS 应与企业用户目录关联,实现账户生命周期同步。

第四步,规划动态 VLAN 与 ACL。至少划分员工 VLAN、访客 VLAN、设备 VLAN、隔离 VLAN 四类;访客与设备 VLAN 执行默认拒绝策略,仅放行必要服务。动态 VLAN 随认证结果自动生效,减少物理 SSID 数量。

第五步,令牌选型与密钥管理。以手机令牌为主、硬件令牌为辅;在信创或等保场景优先选用支持 SM3 的实现。种子必须静态加密存储、按用户绑定、最小权限访问,并贯穿注册、轮换、注销的完整生命周期。

第六步,日志与举证。RADIUS 记录每次接入的身份、MAC、NAS、结果、EAP 方法、VLAN、时间戳;日志集中到日志平台,开启防篡改与定期备份,留存不少于 6 个月;提前准备网络拓扑、双因子配置、VLAN 策略、日志样例等测评材料。

第七步,灰度与回退。先在试点部门小规模上线,验证终端兼容性与时钟同步;保留短期的紧急账号或降级通道作为回退手段,但必须设短时效与强审计,避免回退通道被长期滥用。

第八步,持续运营。定期审视异常认证(频繁 Reject、异地 MAC、窗口外重试),把 OTP 校验与 SIEM 告警联动;人员离职、调岗时同步注销令牌与账户,保证准入边界始终与组织架构一致。

把动态口令接进 802.1X 加 RADIUS 的网络准入,本质上是在企业网络的"第一道门"上补齐身份鉴别与双因子能力。它既不改变现有网络的二层结构,又能直接命中蹭网防护、内网横向移动遏制、等保双因子条款这三类核心诉求,是性价比很高的安全加固动作。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐