写点什么

【我的物联网成长记 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:07879

评论

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

PRT普瑞缇ProTradex系统技术开发丨质押挖矿开发详情

V\TG【ch3nguang】

关于亚马逊 CodeWhisperer 的使用体验

亚马逊云科技 (Amazon Web Services)

人工智能 云上探索实验室 Amazon CodeWhisperer

提高数据研究效率,优化成果分享及复用|ModelWhale 版本更新

ModelWhale

人工智能 低代码 数据服务 模型服务 数据引用

iOS安全加固方法及实现

雪奈椰子

权威认可!应急专家吴志强少将高度认可卓翼系留无人机高层灭火解决方案

硬科技星球

MobPush数智化推送,精准定位万圣节狂欢年轻一族

MobTech袤博科技

HBuilder开发者必备!Windows上传IPA文件的软件分享

雪奈椰子

企业im即时通讯软件私有化部署,确保信息安全与高效办公

WorkPlus

告别手绘,15款网络拓扑图软件全攻略

Geek_09ea8e

“草料二维码”插件登陆飞书多维表格,可批量生成二维码标签

草料二维码

二维码 飞书

OmniFocus Pro 3 for Mac(GTD时间管理工具)v3.15.4正式版

mac

苹果mac Windows软件 OmniFocus GTD时间管理工具

LP丨IDO丨DeFi流动性质押挖矿系统制度开发设计

V\TG【ch3nguang】

Swagger API 未授权访问漏洞问题解决方法

Liam

Java 程序员 API swagger Swagger API

Wealth威尔士质押挖矿系统技术开发(详情分析)

V\TG【ch3nguang】

LP单双币质押挖矿代币奖励模式系统开发源码详情

V\TG【ch3nguang】

企业内部IM即时聊天软件WorkPlus,自主可控的信创即时通讯IM

WorkPlus

PAXGOLD(PAXG)子母双币质押挖矿系统开发(技术分析)

V\TG【ch3nguang】

退运险业务及系统架构演进史

ZA技术社区

众安科技 众安保险 ZA技术社区

释放搜索潜力:基于ES(ElasticSearch)打造高效的语义搜索系统,让信息尽在掌握

汀丶人工智能

人工智能 自然语言处理 向量检索 语义搜索 语义搜索系统

扫盲低代码——基本原理

树上有只程序猿

软件开发 低代码 JNPF

一图读懂融云出海 & 全球化通信方案

融云 RongCloud

全球化 IM RTC 图论 出海

ios ipa包上传需要什么工具

雪奈椰子

迪斯克质押众筹挖矿系统程序开发/技术/Python语言

V\TG【ch3nguang】

智能合约ARB链上质押挖矿系统DAPP开发

V\TG【ch3nguang】

DAPP去中心化流动性LP质押挖矿系统开发

V\TG【ch3nguang】

MobPush厂商通道回执配置指南(Vivo,荣耀)

MobTech袤博科技

第15期 | GPTSecurity周报

云起无垠

如何应用 NFTScan NFT API 在 Aptos 网络上开发 Web3 应用

NFT Research

NFT\ NFTScan nft工具

Typora for Mac(Markdown文本编辑器) 1.7.6中文直装版

mac

Typora markdown编辑器 苹果mac Windows软件

网络拓扑图一本通:手把手教你怎么画

Geek_09ea8e

私有化部署企业IM即时通讯app,群聊多样化管控

WorkPlus

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