物联网安全技术与实践(社区版本)

介绍物联网安全的背景、挑战和解决方案。解决方案已产品化,将对该产品的特性、优势、技术方案、使用流程、厂商对接等方面进行详细揭秘。

展开查看详情

1.物联网安全技术与实践 沈海迪 腾讯云高级产品经理

2.01 物联网安全风险 02 物联网安全产品技术架构 03 物联网安全产品业务流程 0 4 应用场景开发示例 目录

3.物联网安全风险: 安全态势 2018 信通院 IoT 安全报告,全球 IoT 设备暴露超过 5000 万台 早在 2016 年,针对部分 IoT 设备的攻击次数相比 2015 年就有 指数级增长 路由器 与 视频监控设备 占据前两位

4.物联网安全风险: 攻击分类 现场攻击 远程攻击 硬件攻击 软件攻击 侧信道攻击 激光注入 错误注入 …… JTAG 调试接口分析 SPI 、 IIC 、 USB 搭线分析 …… Rowhammer 攻击 Cache 时序攻击 …… 内存泄漏 SQL 注入 DDoS …… 攻击者需要评估代价与获益平衡点 应关注超过生命周期的 IoT 设备数据保护措施 重点防范利用本地调试接口获取软件,以进行逻辑分析,避免被普通人员利用。 重点防范利用已知网络协议漏洞、弱密码等手段入侵、置入木马 ,被普通人员利用实现提权数据窃取,以及自动化、批量化的攻击网络。 硬件攻击 软件攻击 应对策略

5.物联网安全风险: 攻击案例 漏洞描述:某品牌局域网控制协议,无需认证即可获得控制设备的 token 攻击流程:扫描互联网发现家庭路由器,并利用弱口令或设备漏洞获得路由器的 shell 权限,进而可直接获得设备 token 进行控制 某品牌智能家居设备 — 无需认证即返回 token

6.物联网安全风险: 攻击案例 固件协议漏洞: 通信嗅探设备分析网络协议(已加密) 提取 MCU 固件分析协议是否存在漏洞,利用协议漏洞解密通信协议报文 监听并获取开锁密码。 单向认证漏洞: 利用 2G SIM 卡单向认证协议漏洞,重定向小黄车通信后台 利用固件 OTA 漏洞,完全劫持小黄车 某品牌共享单车 — 单向认证漏洞

7.物联网安全风险: 攻击案例 通过抓包分析,该智能插座的所有指令和数据均进行了加密,具有一定安全防护 通过逆向 APK 文件看出, 加密方式采用了 AES ,并且获取到了 固定的对称密钥 通过解密可分析出空口协议报文,编写恶意代码实现设备伪造、重放攻击 某品牌智能插座安全漏洞 — 不安全的加密方式

8.物联网安全风险: 安全提升方案 从物联网安全源头 — 设备身份认证 切入,可以有效提升物联网设备的安全性。

9.技术架构:框架图 可信 信任根 主控 MCU IoT Hub 物联网 云平台 物联网 业务平台 设备认证 密钥协商 密钥管理 空中发行 运营使用者入驻 芯片合作伙伴入驻 安全认证平台 安全分发平台 安全开放平台 TID 认证服务平台 物联网设备 实现 端到端、与中继无关 的安全体系架构

10.技术架构:什么是 TID 1 定义 TID ( Trust ID )为物联网设备的唯一标识,烧录在 SE 、 TEE 、 MCU 等不同载体中,具备不可篡改、不可预测、全球唯一等特性。 2 功能 根据作用对象不同, TID 具备以下功能: 端云之间 : TID 可作为信任锚完成设备端与服务端之间的双向身份认证、会话密钥协商和 业务 数据加解密。 设备 之 间: TID 可提供设备端之间的离线身份认证。 3 示例 一个 TID 占 128 位, 16 个字节。 TID 的采用随机生成方式,而不是从 0 开始简单自增 1 ,避免被猜测出规律从而伪造 TID 。 27 8A E1 1B C2 4E 19 82 E9 8B BE 31 D6 D2 20 4 证书组成 在 TLS 标准证书的基础上,对证书内容做了大幅优化,以便适应算力、网络带宽等资源有限的物联网设备:证书由 TID+ 设备公钥 + 设备公钥的签名组成。

11.技术架构:什么是可信信任根 独立安全芯片( SE , TPM) 白盒密钥 ARM 生态: TrustZone (+ eSE ) Intel 生态: SGX (+TPM) 安全芯片烧录 TID 设备端获取空发数据 完成双向认证 对密钥进行混淆,生成 so 动态库 设备端获取 so 动态库 完成双向认证 规划中

12.独立安全芯片:原理介绍 定义 : SE(Secure Element) 为安全模块,也称安全芯片,包括安全硬件和安全软件两个部分:安全硬件包括安全的运行环境、安全存储、安全算法、安全接口等;安全软件提供安全的交互机制,确保 SE 与上位机之间命令和数据的交互安全。 功能特性: 密钥的安全存储:芯片内部具备相对完善的密钥管理体系,保证密钥不可被读取。 数据加解密运算:支持通用的安全算法、敏感数据密文传输和数据传输防篡改等。 信息的安全存放:具备严格的文件访问权限机制和可靠的认证算法和流程。 算法支持: 非对称算法: RSA 、 ECC 、 SM2…… 对称算法: DES 、 3DES 、 AES 、 SM4…… 哈希算法: MD5 、 HMAC 、 SM3…… 不同型号的安全芯片支持不同的安全算法,可根据需要自行选用,推荐使用自主可控的 国密算法 SM2 、 SM3 、 SM4 以及 ECC 安全等级: 一般使用由美国、加拿大、欧盟共同起草的 CC 标准作为评价芯片安全等级的依据 常见芯片安全等级: CC EAL2+ 、 CC EAL3+ 、 CC EAL4+ 、 CC EAL5+ ,等级越高,安全性越高

13.SE 方式业务流程:安全芯片烧录 TID 芯片烧录 TID 关键步骤 创建订单 :在 TID 下载控制台中针对安全芯片创建订单,该订单将用于下一步的鉴权、下发 TID 条数的限制(不得超过订单中的 TID 数量)。 请求烧录数据 :安全芯片带上用户 ID 、订单编号等信息,并使用产线私钥进行签名,将请求发送给 TID 认证服务平台。 请求鉴权 : TID 认证服务平台使用产线公钥对请求进行验签,并校验用户 ID 、订单编号的合法性。 下发烧录数据 : TID 认证服务平台将烧录数据下发给安全芯片,数据包含: TID 、设备密钥对、设备私钥的 SHA256 等。 将数据烧录至芯片 :安全芯片收到烧录数据后,调用烧录 SDK 将其烧录至芯片中。 上传烧录回执 :烧录完成后,安全芯片向 TID 认证服务平台发送烧录回执。服务平台收到回执后,将该 TID 标记为“已烧录”。 芯片出厂 TID 验证 :安全芯片调用 TID 验证接口,对烧录的 TID 进行功能验证,如验证 OK ,则说明功能正常,是芯片出厂的必要条件。

14.SE 方式业务流程:设备端获取空发数据 设备端获取空发数据关键步骤 创建订单 :在 TID 使用控制台中针对设备创建订单,该订单将用于下一步的鉴权。 请求空发数据 :空发请求带上 TID 、订单编号等信息,并使用设备私钥进行签名,然后将请求发送给 TID 认证服务平台。 请求鉴权 : TID 认证服务平台使用设备公钥对请求进行验签,并校验 TID 、订单编号的合法性。 空发数据 : TID 认证服务平台将数据空发给设备,数据包含:企业公钥,用于设备间的离线认证。 将数据保存至 MCU :设备收到烧录数据后,将其保存至 MCU 中。 上传空发回执 :空发完成后,设备向 TID 认证服务平台发送空发回执。服务平台收到回执后,将该 TID 标记为“已空发”。只有标记为“已空发”状态设备才能正常使用 TID 认证服务。 设备出厂 TID 验证 :设备在出厂前调用 TID 验证接口,验证 TID 认证服务,如验证 OK ,则说明功能正常,是设备出厂的必要条件。

15.SE 方式业务流程:完成双向认证 完成双向认证关键步骤 生成设备端认证码 :设备端以 TID 、随机数、临时公私钥对等信息为 message ,生成设备端认真码,并发送给 TID 认证服务平台。 校验设备端认证码 : TID 认证服务平台对设备端认证码进行校验,验证设备端合法性。 生成服务端认证码 : TID 认证服务平台以 TID 、随机数、临时公私钥对等信息为 message ,生成服务端认真码,并发送给设备端。 校验服务端认证码 : 设备端对服务端认证码进行校验,验证 TID 认证服务平台合法性 。 基于 seessionKey 进行业务通信 :端云以密钥交换协议分别生成会话密钥,上述安全协议已保证两者的会话密钥一致性,避免会话密钥在网络中传输造成泄露。 相比 TLS 协议,握手数据传输量 降低 92% ,握手次数 减少 86% ,库文件大小 减小 81% 。 大大提高设备身份认证的效率与适用面。

16.白盒密钥:原理介绍 定义: 白盒密码技术是一项能够抵抗白盒攻击的密码技术,白盒攻击是指攻击者对设备终端拥有完全的控制能力,能够 观测和更改程序运行时的内部数据 。这种攻击环境称为白盒攻击环境。大多智能终端环境 (Android 、 iOS 等 ) 在很多情况下就是一个白盒攻击环境。 思路: 对密钥进行保护 ,不在运行环境中出现完整的密钥,其核心实现方法是 混淆 。对密钥本身做尽量复杂的混淆,比如明文密钥是 abcd ,混淆后的密钥变成了非常复杂的矩阵。 在业务运行的整个过程中,最原始的密钥一直没有出现在内存中,大大增加了通过白盒攻击拿到密钥的难度。 标准密码算法 明文 key 密文 硬件标识码 key 白盒 处理 明文 密文

17.白盒密钥使用流程关键步骤 上传硬件标识码 :密钥与设备是一一绑定的,为实现一机一密,需上传硬件标识码,以建立绑定关系。 生成 so 动态库 : TID 认证服务平台将对密钥与硬件标识码进行混淆,生成 so 动态库,每个设备对应一个动态库。 空发 so 动态库 : TID 认证服务平台收到设备端的空发请求后,将该设备对应的 TID 、设备公钥、 so 动态库下发给该设备。 空发数据写入设备 :设备收到空发数据后,调用设备端 SDK 将其写入设备中。 上传空发回执 :写入完成后,设备向 TID 认证服务平台发送写入回执。服务平台收到回执后,将该 TID 标记为“已空发”。 设备出厂 TID 验证 :设备调用 TID 验证接口,进行身份认证功能验证,如验证 OK ,则说明功能正常,是设备出厂的必要条件。 白盒密钥:使用流程

18.特性总结 1 多安全等级 支持 SE 、 TEE 、白盒密钥等多种可信信任根,为客户的成本与安全的平衡提供更多选择 。 2 跨平台支持 支持 Android、Windows、Linux 等多种操作系统平台 。 3 资源占用少 相比 TLS 认证加密协议,极大减少数据传输量以及握手次数,更适合物联网设备。 4 一机一密 采用一机一密、一次一密的方式,确保每台设备、每次会话的密钥都不同。 5 离线认证 支持端端离线认证,尤其适合边缘计算需快速响应的场景。 6 支持国密 不仅支持国际主流密码算法,更可支持国密算法,满足不同安全资质要求。

19.应用场景开发示例:智能门锁业务流程 主控 MCU 腾讯云 IoT Hub 物联平台 设备认证 密钥协商 密钥管理 空中发行 运营使用者入驻 芯片合作伙伴入驻 安全认证平台 安全分发平台 安全开放平台 TID 认证服务平台 智能门锁厂商 SaaS 平台 LoRa 通信模块 SE 安全 芯片 LoRa 网关 / LoRa 核心网 指令分发 身份管理 固件升级 指标统计 …… 手机 智能门锁 ①请求认证设备 ②生成设备 认证码 ③转发设 备认证码 ④请求认证设备 ⑤校验设备认证码,生成服务器认证码、会话密钥 ⑥返回设备认证结果、服务器认证码 ⑦返回设备认证结果、服务器认证码 ⑧校验服务器认证码,生成会话密钥

20.THANKS 关注云加社区公众号