AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

评论

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

基于eBPF的云原生可观测实践

谐云

低代码PAAS加速推进企业数字化转型

力软低代码开发平台

低代码 信息化 PaaS平台

语音识别技术在医疗健康领域的应用与挑战

数据堂

自动化混沌工程 ChaosMeta V0.6 版本发布

ChaosMeta

云原生 自动化 稳定性 混沌工程 攻防演练

如何调用API获取你想要的数据

Noah

Denodo全球CEO兼创始人Angel Viña访华 共襄中国经济数字化转型新机遇

科技汇

如何利用 NFTScan NFT API 在 Aptos 网络上进行 Web3 应用程序开发

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

《完蛋!我被美女包围了》突然火了!世界首个开源贡献榜出炉丨 RTE 开发者日报 Vol.75

声网

2023-11-01:用go语言,沿街有一排连续的房屋。每间房屋内都藏有一定的现金, 现在有一位小偷计划从这些房屋中窃取现金, 由于相邻的房屋装有相互连通的防盗系统,所以小偷 不会窃取相邻的房屋, 小

福大大架构师每日一题

福大大架构师每日一题

2023年度openEuler领先商业实践遴选征集工作正式启动

彭飞

为什么需要对特权账号进行管理

尚思卓越

运维 网络安全 信息安全

容器安全和安全运行时的重要性

极客天地

低代码,程序员提高生产力的开发工具

互联网工科生

低代码开发 JNPF

软件测试/测试开发丨如何利用ChatGPT完善简历

测试人

人工智能 软件测试 ChatGPT

语音识别技术在智能客服领域的应用与优化

数据堂

云桌面是否可以运行3D软件

青椒云云电脑

桌面云 云桌面

IoT与鸿蒙、低代码、生成式AI,引爆技术浪潮——华为云开发者日南京站成功举办

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 华为云开发者日

外贸网站建设攻略:如何建设一个高效的外贸网站

九凌网络

如何使用查看器筛选、搜索功能进行数据定位?

观测云

数据分析 数据可视化

低代码可视化平台 快速搭建油库2D组态管理平台

2D3D前端可视化开发

物联网 可视化 组态软件 组态工具 智慧油库

语音识别技术在智能家居领域的创新应用与挑战

数据堂

软件测试/测试开发丨利用ChatGPT自动生成架构图

测试人

人工智能 软件测试 ChatGPT

特权账号安全管理的难点

尚思卓越

网络安全 数据安全 特权账号管理

特权账号管理系统PAM的优势特点

尚思卓越

网络安全 数据安全 PAM

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