AliOS Things自组织网络安全认证架构概述

简介: AliOS Things自组织网络(uMesh)结合阿里云Link ID²设备身份认证平台为物联网嵌入式设备提供了自主安全认证授权接入无线mesh网络的解决方案,并且兼容IEEE802.1X端口控制访问协议和EAP(RFC3748)扩展认证协议,提供了一种灵活可扩展的安全认证机制框架。

AliOS Things 是 AliOS 家族旗下的、面向 IoT 领域的、轻量级物联网嵌入式操作系统。 AliOS Things 致力于搭建云端一体化 IoT 基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、新出行等领域。

近年随着越来越多被曝光的物联网安全漏洞问题以及遭受到的网络攻击,安全将会成为物联网生态体系要面对的一个尖锐问题,尤其是嵌入式安全因为设备的数量巨大使得常规的更新和维护操作面临挑战,而基于云的操作使得边界安全不太有效。

针对上述物联网安全的痛点,作为AliOS Things核心组件之一自组织网络(uMesh)不仅提供了AliOS Things原生自组织网络能力,本地互联互通的能力,也将更多的注意力放到了如何保障嵌入式设备能够自主安全接入自组织网络,并保证和云端数据通信的完整性和机密性。uMesh具有自组织、自修复、多跳、兼容标准端口网络访问控制和扩展认证协议,可扩展多种标准安全认证方式等特性。适用于需要大规模部署且对设备节点有安全性需求的场景,如智能家居,智能照明,及商业楼宇等场景。主要功能特性包括:

  • 无缝支持IPv4 和IPv6
  • 支持WiFi、BLE和802.15.4等通信媒介
  • 支持不同通信媒介间的异构组网
  • 支持树状拓扑和网状拓扑
  • 支持低功耗特性
  • 支持阿里云设备身份认证平台ID²对接入设备进行安全认证授权
  • 支持AES-128共享对称密钥在全网范围内点对点的数据加密解密
  • 兼容标准IEEE802.1x端口控制协议和EAP扩展认证协议(RFC3748)

阿里云Link ID²设备身份认证平台

ID²(Internet Device ID),是一种物联网设备的可信身份标识,具备不可篡改、不可伪造、全球唯一的安全属性,是实现万物互联、服务流转的关键基础设施。

ID²设备身份认证平台由互联网设备,ID²分发中心,云端ID²认证中心和部署在本地或者云端的互联网服务组成。芯片厂商产线通过调用提供的ID²产线烧录SDK(可集成到厂商的烧录工具)完成向ID²分发中心在线的ID²申请,获取和烧录。烧录完成后,可通过调用烧录回执相关的API来确认是否已经成功烧录到芯片。具体产线烧录ID²过程可参考:ID²申请和产线烧录

烧录ID²的同时也会将相应的私钥(private key)烧录到芯片内,公钥(public key)会上传给云端ID²认证中心,该私钥可用于解密由云端ID²认证中心下发的加密数据,这种模式可用于实现应用层协议的通道认证或者秘钥协商。ID²的一个重要应用场景就是连接协议的安全性增强,ID²和各种连接协议(如MQTT,CoAP)结合,为连接提供设备认证和密钥协商等基础能力,为整个IoT管理系统提供基础的安全保障。后面也会介绍利用该安全特性将ID²设备身份认证平台与AliOS Things自组织网络节点安全入网相结合。ID²认证平台系统架构如下:

_2018_01_05_1_52_40

ID²设备身份认证平台提供了两种认证模式:基于挑战应答模式(challenge-response Based)和基于时间戳(Timestamp-Based),可防止重放(replay)攻击。以挑战应答认证模式为例,sp server(业务服务器)作为消息代理(proxy),转发设备节点和云端ID²认证中心之间的交互消息(默认设备节点已经预置烧录ID²)。具体认证消息交互流程图如下:

_2018_01_05_2_21_56

  • 设备端发送认证请求给sp server,向云端ID²认证中心申请挑战随机数(challenge)
  • sp server调用POP SDK Java API:getServerRandom()从云端ID²认证中心获取到挑战随机数并转发给终端设备节点
  • 设备节点获取到挑战随机数后,根据预置根ID²,challenge,extra data(可选)作为计算auth code的参数,调用端上提供的TFS API:tfs_id2_get_challenge_auth_code()计算auth code
  • 设备节点将计算出的auth code发送给sp server, 将帮助转发给云端ID²认证中心
  • sp server调用POP SDK Java API:VerifyRequest() 与云端ID²认证中心做认证
  • sp server最后将根据云端ID²认证中心返回的认证结果做相应的业务处理

此外,对于允许接入该sp server服务的设备,ID²能够确保设备和server之间的双向认证。即,不仅sp server需要确认该拥有ID²身份信息的设备是否允许接入,同时接入设备也需要确认该sp server是否具有提供认证服务的合法性。通过双向认证的方式从而可以过滤掉那些虽拥有合法的ID²身份信息,但不属于sp server所提供服务的范畴内的一些接入设备。不同的厂商可自行定义设备具体的接入sp server方式,这一部分暂时不在本文讨论范围之内。

具体认证过程中sp server所用到的POP SDK API用法可参考相应的sample code:获取随机数; 认证请求; 认证请求并加密。终端节点上调用的TFS API可参考相应的API说明,tfs静态库的路径:AliOS-Things/security/tfs/lib.

AliOS Things自组织网络的安全认证架构

传统的AAA(Authentication、Authorization、Accounting)服务在部署和配置上都需要额外的专业IT人员操作,而对于像物联网这样拥有大量设备节点的场景,手动的为每一个设备节点生成证书显然有些不切实际。此外,x.509证书不仅需要出厂预置占用较多的flash资源,并且在ASN.1解析和认证过程中的消息传递也会消耗大量的MCU资源(根据不同的签名算法,密钥协商算法,加密算法而生成的证书的大小各不相同,大一点的证书可能会超过1KBytes),因此对于资源受限的嵌入式设备节点,基于证书的认证方式可能不是一个最优选择。

ID²设备身份认证平台是一个更为轻量级的基于身份信息的双向认证服务平台,尤其适合硬件资源不足的嵌入式设备的认证方式。认证服务中心云端化也省去大量IT人员的时间来重复相同的部署和配置过程,客户所需要做的仅仅是调用相应的SDK对接云端ID²认证中心。基于这个优势,设计自组织网络(uMesh)的设备节点端安全认证过程时也依托于上述ID²设备身份认证平台的挑战应答认证模式。目前新加入的设备节点和已经入网节点之间的认证通信协议兼容标准的IEEE802.1x和EAP扩展认证协议,利用IEEE802.11 WiFi协议标准进行数据传输。EAP扩展协议也为后续扩展和兼容多种标准认证方式(如MD5, OTP, TLS等)提供了基本协议框架。

自组织网络uMesh和ID²设备身份认证平台结合的安全认证架构框图如下:

_2018_01_06_4_11_01

树莓派3作为直接和AP相关联的节点充当网络的Leader角色来创建一个新的自组织网络并负责分配短地址(16 bits)给后续加入网络的设备节点,该地址用于在uMesh网络内通信,同时在树莓派3上利用iptables建立NAT来相互转发tun0接口和eth0接口之间的ip数据包(NAT更改ip数据包头里的源地址),这样就可以让uMesh网络内的节点成功和外网的sp server通信,从而和云端ID²认证中心进行身份认证。

uMesh网络节点和云端ID²认证中心的安全认证消息交互流程如下:

_2018_01_06_4_51_42

EAP扩展认证协议框架不仅定义了标准的认证类型(如MD5, OTP, GTC, TLS等),还定义了扩展类型(Expanded Types, type值为254)用来兼容不同的vendor现有的自定义认证方式。EAP-ID²即为基于ID²设备身份认证所设计的一种认证协议用于uMesh自组织网络节点的安全认证方式之一。详细的扩展类型包头格式如下:

_2018_01_06_4_59_42

总结

兼容IEEE802.1x端口访问控制协议和EAP扩展认证协议为自组织网络(uMesh)的安全认证体系提供了更为丰富,更加灵活可扩展的协议认证框架,可以满足不同客户现有自定义或者标准的认证流程。目前通过搭建实际测试环境验证了AliOS Things自组织网络(uMesh)结合ID²设备身份认证平台提供对新加入节点做身份信息的认证方案,也为后续大规模的商业场景部署提供了有力支撑。

想了解更多关于AliOS Things的细节,可以访问AliOS Things Github

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
7天前
|
存储 网络协议 算法
【计算机网络】第一章 概述
【计算机网络】第一章 概述
57 8
【计算机网络】第一章 概述
|
9天前
|
安全 网络协议 Linux
Linux网络名称空间概述
Linux网络名称空间是操作系统级别的一种虚拟化技术🔄,它允许创建隔离的网络环境🌐,使得每个环境拥有自己独立的网络资源,如IP地址📍、路由表🗺️、防火墙规则🔥等。这种技术是Linux内核功能的一部分,为不同的用户空间进程提供了一种创建和使用独立网络协议栈的方式。本文旨在全方面、多维度解释Linux网络名称空间的概念、必要性和作用。
Linux网络名称空间概述
|
28天前
|
存储 SQL 关系型数据库
ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
ClickHouse的核心架构包括执行过程和数据存储两部分。执行过程涉及Parser与Interpreter解析SQL,通过Column、DataType、Block、Functions和Storage模块处理数据。Column是内存中列的表示,Field处理单个值,DataType负责序列化和反序列化,Block是内存中表的子集,Block Streams处理数据流。Storage代表表,使用不同的引擎如StorageMergeTree。数据存储基于分片和副本,1个分片由多个副本组成,每个节点只能拥有1个分片。
69 0
ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
|
2月前
|
机器学习/深度学习 存储 算法
【轻量化网络】概述网络进行轻量化处理中的:剪枝、蒸馏、量化
【轻量化网络】概述网络进行轻量化处理中的:剪枝、蒸馏、量化
56 0
|
4月前
|
存储 SQL Java
数据库TiDB-01.数据库架构概述
TiDB兼容MySQL 5.7协议,支持水平扩容或者缩容的金融级高可用的云原生分布式数据库。
262 2
数据库TiDB-01.数据库架构概述
|
4月前
|
存储 安全 Java
SpringCloud整体架构概述
SpringCloud整体架构概述
62 0
|
28天前
|
Cloud Native 安全 网络安全
构建未来:云原生架构在企业数字化转型中的关键角色网络安全与信息安全:防御前线的关键技术
【2月更文挑战第30天】 随着数字转型的浪潮席卷各行各业,企业正寻求更加灵活、可扩展的解决方案以适应不断变化的市场需求。本文将深入探讨云原生架构如何成为支持这一转型的核心技术,分析其优势和挑战,并提出实施策略。云原生技术的采用不仅加速了开发过程,还提供了自动化运维、弹性伸缩等特性,为企业带来了前所未有的敏捷性和效率。然而,迁移至云原生架构也伴随着技术复杂性增加和安全风险的挑战。文章最后,我们将提供一系列最佳实践,帮助企业在采纳云原生技术的过程中规避风险,实现持续创新。 【2月更文挑战第30天】 在数字化时代,数据成为核心资产,而网络安全与信息安全则是维护这些资产不可或缺的屏障。本文深入探讨了
|
1月前
|
机器学习/深度学习 编解码 Unix
超分数据集概述和超分经典网络模型总结
超分数据集概述和超分经典网络模型总结
20 1
|
1月前
|
存储 缓存 安全
【ARM架构】ARMv8-A 系统中的安全架构概述
【ARM架构】ARMv8-A 系统中的安全架构概述
31 0
|
2月前
|
内存技术
计算机网络——物理层概述(二)
计算机网络——物理层概述(二)
57 0
计算机网络——物理层概述(二)