MotionPro 客户端证书认证的配置与使用场景
什么是客户端证书认证
在 SSL/TLS 握手时,默认是服务器向客户端出示证书(证明"我是 AG 网关")。客户端证书认证则反过来——客户端也要向服务器出示一张证书,证明"我是合法的用户/设备"。
这是双向 TLS 认证(mTLS)在 VPN 场景的应用。客户端证书通常由组织的 PKI(公钥基础设施)签发,包含用户/设备的身份信息、有效期、签发机构签名等。
证书认证的优势
| 维度 | 密码认证 | 客户端证书认证 |
|---|---|---|
| 自动化 | 需要用户手动输入 | ✅ 自动完成,用户无感 |
| 抗泄漏 | 密码泄漏即失效 | 证书私钥存在设备上,即使被复制也难以使用 |
| 设备绑定 | 账号可以在任意设备用 | 证书与设备绑定,不能"账号+密码+换设备" |
| 到期处理 | 密码过期需要改密码 | 证书到期需要重新签发或吊销 |
| 用户体验 | 每次登录需要输密码 | 零交互登录 |
| 运维复杂度 | 低 | 高(需要维护证书签发和吊销体系) |
MotionPro 中证书的来源
MotionPro 客户端可以从以下几个地方加载客户端证书:
- AG 网关推送:首次成功登录后,网关下发客户端证书到 MotionPro 应用内存储
- 系统证书存储:从 Windows 证书存储、macOS Keychain、iOS/mAndroid 的系统安全存储中读取
- IT 手动安装:管理员通过 MDM(移动设备管理)平台直接把证书推送到受管设备上
证书中包含的 Subject 字段(通常是用户/设备名)用于在网关端标识身份。
MotionPro 中的证书认证配置
桌面端
在网关配置的高级设置 → 认证类型 中:
- 选择 Certificate(而不是 Password 或 Auto Detect)
- 系统会弹出证书选择对话框,选择 MotionPro 应用存储中可用的证书
- 如果没有证书可用,MotionPro 会提示先通过密码登录并接收网关下发的证书
移动端
移动端的证书认证通常对用户透明:
- 如果 AG 网关配置了"首次密码登录后自动注册设备证书",用户第一次用密码登录成功后,网关会推送证书到 MotionPro
- 后续每次连接会自动用证书认证,用户不需要输密码
- 如果是 MDM 推送的证书,首次连接 MotionPro 时系统可能弹出"信任此证书"的确认
证书过期处理
客户端证书有有效期(通常 1-2 年)。过期后:
- MotionPro 无法用证书认证
- 用户需要重新用密码登录 → 网关可能自动签发新证书(如果配置了自动注册)
- 或者 IT 通过 MDM 推送新证书
重要:根据官方 Release Notes 的一个已知问题:
在 MotionPro Windows 客户端中,如果先选择 Certificate 认证后再选 Auto Detect,会导致 Device ID 认证失效。
解决:直接手动选择 Certificate 或 Password,不要依赖 Auto Detect。
证书吊销与设备丢失
证书认证的一个关键优势是可远程吊销:
- 如果员工离职或设备丢失,IT 在证书颁发机构(CA)里把该用户/设备的证书加入吊销列表
- 之后即使有人拿到了证书的副本,也无法通过认证(网关检查吊销列表会发现证书已失效)
- 吊销操作对用户透明——下次连接 MotionPro 时会直接认证失败
这比"改密码"还要彻底——密码可以被猜到或泄漏,吊销的证书则完全无法绕过。