写点什么

【我的物联网成长记 9】物联网平台安全如何破?

  • 2019-12-24
  • 本文字数:3918 字

    阅读完需:约 13 分钟

【我的物联网成长记9】物联网平台安全如何破?

【摘要】 很多朋友都很关心华为物联网云平台的安全能力,今天它来了。安全的设备接入,稳定放心;安全的数据传输,可靠不怕泄露;安全的数据处理,保护用户隐私。今天我们就将围绕端、管、云和应用的安全能力为大家进行详细介绍。


物联网的核心是建立一个万物感知、万物互联、万物智能的网络,驱使全球各行各业向数字化和智能化转型。正如硬币有正反两面,物联网在驱动全行业数字化的同时,也带来了物联网技术应用的安全风险,据 Gartner 分析预测,到 2020 年,企业发现的攻击中超过 25%涉及物联网。


://bbs.huaweicloud.com/static/ueditor/themes/default/images/spacer.gif


1573526172297834.png


(注:引自 Gartner 2017 年 IoT 分析报告,https://www.gartner.com/imagesrv/books/iot/iotEbook_digital.pdf)


随着物联网业务越来越多的进入落地运营阶段,客户也明显认识到物联网安全的重要性,全球各行业在物联网安全的支出也越来越高。由于不同的商业应用面临的安全威胁差异巨大,物联网安全也从单一的产品安全,逐步走向端到端解决方案,并从端到端解决方案安全提升到整个架构的安全。通过不断演进的安全架构,来满足未来更多新的商业场景,如智慧农业、智慧城市、智慧交通等。因此,华为凭借在互联网、运营商网络多年的安全技术和经验积累,围绕端、管、云和应用构筑领先的物联网安全解决方案防护体系架构。今天我们就将为大家详细讲述其中的几种安全方案。


1573526211751765.png

-----------一机一密设备安全接入-----------

一机一密安全接入方案适用于 MQTT 设备的接入鉴权。所谓一机一密,即物联网平台会为每一个 MQTT 设备分配唯一的密钥信息,设备在烧录时,将该密钥信息提前烧录到设备中。当设备与物联网平台进行连接时,物联网平台对设备接入时携带的密钥信息进行认证,认证通过后,设备与物联网平台之间才能建立连接和传输数据。


1573526246201244.png


  1. 用户通过应用在物联网平台上注册设备,将设备的 nodeId(设备的唯一标识,一般为 IMEI 或 MAC 地址)信息注册到平台中。

  2. 物联网平台收到注册信息后,将生成全局唯一的 deviceId 和 secret 信息,并在平台进行加密存储。

  3. 物联网平台向设备返回注册响应,携带 deviceId 和 secret 信息,用于后续设备的接入鉴权。

  4. 用户进行设备的烧录,将 deviceId 和 secret 信息烧录到设备中。

  5. 设备(MQTT 客户端)向物联网平台(MQTT 服务端)发起建链请求,携带 deviceId 和 secret 信息。

  6. 物联网平台将设备携带的 deviceId 和 secret 信息与平台存储的信息进行鉴权认证,鉴权通过后,允许设备与物联网平台之间建立 MQTT 连接。

  7. 设备与物联网平台之间通过建立的 MQTT 连接进行数据传输。

-----------DTLS+数据安全传输-----------

DTLS+加密方案,适用于建立 NB-IoT 设备的安全传输通道。在与物联网平台之间进行消息交互时,会在设备与平台之间建立 DTLS+(Datagram Transport Layer Security,数据报传输层安全性协议)通道,对设备与物联网平台之间的数据传输通道进行加密。相比传统的 DTLS 协议,DTLS+在会话协商等方面做了优化,减少了终端与物联网平台通信过程中的握手次数,从而延长终端电池的使用寿命。下面我们就来看看 NB-IoT 设备详细的接入过程。


1573526282584691.png


  1. 设备厂商批量烧录 PSK 到设备中,用于设备接入时的 DTLS 建链。

  2. 用户通过应用在物联网平台上注册设备,将设备的 nodeId(设备的唯一标识,一般为 IMEI 或 MAC 地址)和 PSK 信息注册到平台中。当然,用户也可以选择先在物联网平台上注册完设备后,再将注册的 PSK 烧录到设备中。

  3. 物联网平台将应用注册的设备信息在平台上进行加密存储,用于后续 DTLS 建链和设备的接入鉴权。

  4. 注册完成后,物联网平台会向设备返回注册响应消息。

  5. 设备接入物联网平台,发起 DTLS 建链请求,请求消息中携带 nodeId 和 PSK。其中,PSK 用于与平台存储的 PSK 进行校验,校验通过后,保留会话信息(源/目的 IP 地址、源/目的端口号、协议类型),建立 DTLS 链接成功。DTLS+是在 DTLS 的基础上,引入 Resume_ID,在后续的交互过程中,通过 Resume_ID 即可建立 DTLS 链路,而不需要重新协商,可以大大减少协商过程中的消息交互次数,达到设备省电的目的。nodeId 用于设备的身份认证,只有设备携带的 nodeId 与平台存储的一致,才允许设备的接入。

  6. 通过 DTLS 链路,设备上报数据和应用下发命令的传输通道,均为加密通道,从而保障了设备与平台、应用交互的过程中,数据不会被非法窃取。

-----------X.509 数字证书安全认证-----------

数字证书是由 CA(Certificate Authority)机构发行的一种电子文档,是一串能够表明网络用户身份信息的数字,提供了一种在计算机网络上验证网络用户身份的方式。数字证书可以校验对方身份的合法性,还可以协商数据加密密钥,对交换的数据进行加密,同时还可以通过数字摘要校验数据的完整性。在物联网平台中,数字证书校验用户身份主要用于以下场景:


  • MQTT 设备接入:MQTT 设备接入时,采用加密的 MQTTS 协议,设备侧需要校验物联网平台的合法性,同时协商数据传输的加密密钥。

  • 应用调用 API 接口:应用调用物联网平台的 API 接口时,采用加密的 HTTPS 协议,应用需要校验物联网平台的合法性,同时协商数据传输的加密密钥。

  • 设备数据推送:物联网平台向应用推送订阅的设备数据时,采用加密的 HTTPS 协议,物联网平台需要校验应用的合法性,同时协商数据传输的加密密钥。


首先我们来看下网络用户身份真实性的校验过程:


://bbs.huaweicloud.com/static/ueditor/themes/default/images/spacer.gif


1573526293361073.png


  1. Client A 预置 CA 机构颁发的 CA 根证书(包含了 CA 公钥),然后向 Server B 发起建链请求,以明文的方式发送随机数 RandomC、SSL 版本、支持的加密算法等信息。

  2. Server B 向 Client A 以明文的方式返回服务器证书、随机数 RandomS 和协商后的加密算法。服务器证书是用 CA 机构的 CA 私钥进行加密的,包含了服务器的公钥信息。

  3. Client A 获取到 Server B 返回的服务器证书后,验证证书的合法性。Client A 用 CA 根证书对服务器证书进行解密,获得证书的有效期、公钥、摘要(Hash 值 X)等信息,Client A 通过 Hash 算法计算证书内容,得到 Hash 值 Y,然后比较 Hash X 和 Hash Y 的一致性,如果一致,则验证了 Server B 的真实性。证书校验完成后,Client A 会生成随机数 PreMaster Key,然后根据获取的三个随机数(RandomC、RandomS 和 PreMaster Key)和协商后的加密算法生成一个会话密钥,该会话密钥用于后续的数据加密。

  4. 注:可能有人会问,为什么还需要一个额外的随机数来生成会话密钥。因为客户端与服务端在交换 RandomC 和 RandomS 的过程中,都是明文的方式在进行通信,很有可能被不法分子窃取。因此通过这两个随机数计算出的会话密钥是不安全的,所以引入了第三个随机数 PreMaster Key,该随机数在传递过程中,都是密文形式,即使被窃取,没有私钥也是解密不了的。然后在通过这三个随机数生成一个会话密钥,安全性就大大增加,破解的难度就更高了。

  5. Client A 用从 Server B 获得的公钥,对 PreMaster Key 进行加密,并以密文的形式发送给 Server B。

  6. Server B 获取到使用自己公钥加密后的密文后,使用自己的私钥对密文进行解密,得到随机数 PreMaster Key,然后根据获取的三个随机数(RandomC、RandomS 和 PreMaster Key)和协商后的加密算法生成一个会话密钥。

  7. Server B 会将握手消息通过 Hash 算法得到一个 Hash 值,然后使用计算生成的会话密钥进行加密,以密文的形式发送给 Client A。

  8. Client A 通过生成的会话密钥,对密文进行解密并计算握手消息的 Hash 值,计算的 Hash 值与解密获得的 Hash 值一致,表明密文是没有被修改过的。至此,Client A 和 Server B 的 SSL 握手结束。

  9. 后续 Client A 与 Server B 的通信,均通过会话密钥进行加密后进行传输,从而保障了传输过程中的数据安全。

-----------平台数据隐私保护处理-----------

华为物联网平台依据如下图的个人数据处理基本原则进行用户数据、设备数据的采集、存储、处理和销毁,满足 GDPR(General Data Protection Regulation)法规对个人数据处理的要求。


1573526307593324.png


(1)数据主体的“知情权”


通过华为云隐私政策提供隐私声明,包括详细的个人数据清单、系统收集用的所有个人数据,手机的目的和缺省存留期,帮助数据控制者了解平台个人数据的使用情况。


(2)数据主体的“更正权”


用户可以通过管理控制台或者 API 接口更新设备信息,例如更新设备的厂商信息、厂商名称等,以及新增、更新设备的产品模型信息。


(3)数据主体的“可删除、被遗忘权”


华为物联网平台提供个人数据的删除机制:


  • 对于设备静态数据,如设备注册信息,控制台和 API 接口均提供删除设备的接口。

  • 对于设备动态数据,如设备上报的数据,会根据用户设置的存留期进行处理,超过存留期则永久性删除。


(4)提供适当的安全保护措施


  • 个人数据的访问控制机制,租户之间相互隔离,只有授权的帐号才能访问个人、设备的数据,文件的管理权限采用最小权限原则设置。

  • 敏感数据的加密存储,对于个人、设备的敏感数据,如密钥、GPS 位置信息等敏感数据进行加密存储。

  • 个人数据匿名化处理,物联网平台支持用户导出个人数据,在导出数据时,对于个人敏感数据,如帐号、IMEI、GPS 位置信息等数据进行匿名化处理。

  • 提供 Web 安全防护机制,如防 XSS 攻击,防 SQL 注入攻击,防 CSRF 攻击等,防止通过上述攻击引起的数据泄露或篡改。

  • 提供基本的组网隔离措施,关键的数据库部署在独立的虚拟机,不同子网之间通过访问控制策略限制,从组网上提升整个系统安全性。


后记


物联网平台的安全能力构筑是一个端到端的系统工程,华为正在围绕端、管、云和应用,不断构筑和提升端到端的安全架构和能力,如 DICE 安全设备接入、HIDS 主机安全、异常设备检测/隔离等安全能力。后续也会逐步上线相关的物联网安全服务,敬请关注华为云物联网平台官网首页或华为 IoT 云服务微信公众号。


本文转载自华为云社区博客。


原文链接:https://bbs.huaweicloud.com/blogs/133781


2019-12-24 14:071043

评论

发布
暂无评论
发现更多内容

AI全流程开发难题破解之钥

华为云开发者联盟

人工智能 华为云

大数据培训机构应该注意什么

小谷哥

参加Java培训学习哪些方法

小谷哥

推荐算法的三大研究热点

博文视点Broadview

我和 TiDB 的故事 | TiDB 对我不离不弃,我亦如此

TiDB 社区干货传送门

人物访谈

TiDB升级与案例分享(TiDB v4.0.1 → v5.4.1)

TiDB 社区干货传送门

实践案例 版本升级 集群管理 管理与运维

Alluxio为Presto赋能跨云的自助服务能力

Alluxio

数据架构 presto 跨云 Alluxio

TiCDC同步延迟问题处理

TiDB 社区干货传送门

实践案例 管理与运维 故障排查/诊断 大数据场景实践

聊聊性能测试环境搭建

老张

性能测试 环境搭建

云图说丨华为云区块链引擎服务:高安全的区块链技术服务平台,轻松部署,快速上链

华为云开发者联盟

区块链 华为云 引擎 BCS

详细讲解https证书openssl公钥私钥以及ssh公钥私钥的生成以及使用

Geek_6516e4

签约计划第三季

参加web前端培训入门学习

小谷哥

TiFlash 源码阅读(五) DeltaTree 存储引擎设计及实现分析 - Part 2

TiDB 社区干货传送门

专访 | 软通动力高级副总裁秦张波:开源驱动创新,推动操作系统产业生态建设

kk-OSC

开放原子全球开源峰会

共建共享数字世界的根:阿里云打造全面的云原生开源生态

阿里巴巴云原生

阿里云 容器 云原生 开源生态

LED透明屏和LED玻璃显示屏区别

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

多元宇宙:重塑新商业格局

智捷云

元宇宙 智捷云 智捷云科技

web前端培训好还是自学前端

小谷哥

专访 | 阿里巴巴首席技术官程立:云 + 开源共同形成数字世界的可信基础

kk-OSC

开放原子全球开源峰会

开源峰会抢先看 | 7 月 29 日分论坛 & 活动议程速览

kk-OSC

开放原子全球开源峰会

一键搭建博客:如何使用WordPress插件搭建专属博客

hum建应用专家

Wordpress 部署 Wordpress 博客部署

QCon大会广州站它来了!独家定制双肩背包等你领取!

InfoQ写作社区官方

Qcon

TiDB 操作实践 -- 备份与恢复

TiDB 社区干货传送门

备份 & 恢复

PD 源码分析- Checker: region 健康卫士

TiDB 社区干货传送门

TiKV 源码解读

命里有时终须有--记与TiDB的一次次擦肩而过

TiDB 社区干货传送门

人物访谈 社区活动

我和 TiDB 的故事 | 缘份在,那就终是能相遇的

TiDB 社区干货传送门

人物访谈 社区活动

即学即用的问题解决思维,给无意识的生活装上“后视镜”

图灵教育

大数据培训技术入门

小谷哥

2022年企业直播行业发展洞察

易观分析

数据分析 报告 企业直播

CSDN TOP1“一个处女座的程序猿“如何通过写作成为百万粉丝博主

Lansonli

7月月更 如何写作

Dapr相比于SpringCloud和Istio的优势在哪?

王小凡

Java 程序员 istio SpringCloud 微服务框架

【我的物联网成长记9】物联网平台安全如何破?_语言 & 开发_我是卤蛋_InfoQ精选文章