《消费物联网安全入门指南》
第4章 设备身份认证
4. 设备身份认证:弱密码风险、默认凭证问题与多因素认证在IoT中的应用
🔐 4.1 弱密码风险与默认凭证问题
在消费物联网中,弱密码和默认凭证是最大的安全漏洞之一。许多设备出厂时使用固定的默认用户名和密码(如 admin/admin、root/123456),用户若不修改,攻击者可轻易通过扫描工具入侵。据统计,超过 70% 的 IoT 安全事件与弱密码或默认凭证有关。
常见弱密码示例
admin / adminroot / rootuser / 123456support / support空密码 / password
默认凭证风险
- 设备出厂统一凭证
- 用户忘记修改
- 固件升级后重置
- 远程扫描工具利用
- 僵尸网络感染入口
🔑 4.2 多因素认证在IoT中的应用
多因素认证 (MFA) 是提升IoT设备安全性的关键手段。它要求用户提供至少两种不同类型的验证因素:知识因素(密码)、持有因素(手机/硬件令牌)、固有因素(指纹/面部)。在资源受限的IoT设备上,MFA需要轻量化实现。
🛡️ 4.3 最佳实践与代码示例
✅ 安全建议
- 强制修改默认密码
- 密码复杂度要求(大小写+数字+符号)
- 启用双因素认证(2FA)
- 使用TOTP时间戳算法
- 定期轮换凭证
- 禁用不必要的远程访问
💻 TOTP 验证代码示例 (Python)
import hmac
import base64
import struct
import time
def generate_totp(secret_key, interval=30):
"""生成基于时间的一次性密码 (TOTP)"""
key = base64.b32decode(secret_key)
counter = struct.pack('>Q', int(time.time() // interval))
h = hmac.new(key, counter, 'sha1').digest()
offset = h[-1] & 0x0f
code = (struct.unpack('>I', h[offset:offset+4])[0] & 0x7fffffff) % 1000000
return f"{code:06d}"
# 示例密钥 (Base32编码)
secret = "JBSWY3DPEHPK3PXP"
print(f"当前TOTP: {generate_totp(secret)}")
📌 关键总结
- 弱密码和默认凭证是IoT设备被入侵的首要原因,必须强制修改。
- 多因素认证 (MFA) 能显著提升安全性,推荐使用 TOTP 或 硬件密钥。
- 在资源受限的IoT设备上,可优先实现 密码 + 验证码 的双因素方案。
- 定期审计设备凭证,禁用不安全的远程访问协议(如Telnet、默认SSH端口)。
专注课程资料整理