0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种更简便的增强Wi-Fi连接式物联网设计安全性的解决方案

电子设计 来源:互联网 作者:佚名 2017-11-06 15:20 次阅读

Wi-Fi 连接是许多物联网 (IoT) 设备的关键要求,也是黑客们最喜爱的攻击目标。薄弱的安全措施会导致设备在持续的网络通信过程中容易遭到入侵。更糟糕的是,物联网设备有可能在其生命周期的早期,即设备尝试加入受信任的网络时,便沦为攻击的牺牲品。

利用 Texas Instruments 的双核无线 MCU工程师可以轻松地增强物联网设备在其整个产品生命周期内的安全性,并支持多层端到端安全策略。

安全组件

要保证任何系统的安全性,都采用需要多层方法。尽管在诸多安全措施中,数据加密是最容易想到的,但它只是稳健安全策略的一个方面。类似中间人攻击的黑帽子方法在经加密的数据交换开始之前很早便已在利用任何可能的漏洞。事实上,安全的主机会对客户端进行验证,确保只有经授权的用户、设备或其他系统才能获得访问权。反过来,这些客户端也会对主机进行验证,以确认其身份。

这种双向验证居于安全应用的核心位置,但它最终依赖于更基础的机制和策略。首先,密钥和既有的信任根是任何安全应用的基础构件。在互联网上常用的公钥基础架构 (PKI) 中,与私人密钥配对的公钥提供了必不可少的实体身份验证。X.509 证书标准在更广泛的上下文中封装了建构在证书链之上且记录了身份的实体公钥,为应用提供了扎实可靠的信任根。

密钥、加密、X.509 证书和信任根的使用是构建安全应用的必要而充分的条件。基于这些组件构建关键系统,并增加中间件和应用级安全协议,便可满足苛刻的安全要求。但对于大多数应用而言,开发人员只需使用上述组件和某些最佳操作实践(例如启动和无线 (OTA) 更新)便能锁定安全性。

而且,甚至这些“基本”安全组件就代表了其自身的复杂机制和策略组合。对于产品经理,创建复杂的安全组件与专注于应用的差异化功能之间很快就会出现冲突。这种情况下安全措施往往会退居其次,因为物联网开发人员很少有时间来获取与精英黑客针锋相对所需要的知识或经验。Texas Instruments 无线 MCU 提供了让上述二者公平竞争的单一器件。

无线 MCU

TI 的无线 MCU 中有一个 CC3220 双核器件,其中包括一个 ARM<® Cortex®-M4 内核和一个专用网络处理器内核,并带有集成式收发器。该 MCU 提供三种变体:CC3220R、CC3220S 和 CC3220SF。三者均附带 256 KB 片载 SRAM,用于在器件处于各种低功耗模式期间保持数据。CC3220SF 还集成了 1 MB 闪存,用于实现代码的原位执行,而将 SRAM 仅用于可写入数据。独立的片载 ROM 提供了全套 Wi-Fi 和互联网逻辑层,从而使网络处理器无需 M4 内核的介入,便能提供全套连接服务。或许对于物联网开发人员而言,最重要的是,该器件可运用其嵌入式无线功能及多种片载硬件安全机制,来支持以下所述的各种各样安全服务。

除了安全连接以外,该 MCU 还提供了大多数物联网应用所需的全套外设和连接接口。该器件提供了一个四通道 12 位模数转换器 (ADC)、四个采用 16 位脉冲宽度调制 (PWM) 的定时器看门狗定时器,以及全套接口,包括多达 27 个 GPIO、8 位并行相机、安全数字 (SD) 卡、SPI、I2CUART 端口,以及 JTAG、cJTAG 和串行线调试 (SWD) 接口。

对开发人员而言,在复杂的设计中使用此器件非常简单。工程师可在相对简单的设计中,利用该器件的多个接口选择来运用其广泛的功能(图 1)。TI 通过其 CC3220S LaunchXL LaunchPad 和 CC3220SF LaunchXL LaunchPad 开发套件进一步简化了物联网设计实施。除了硬件评估板以外,这些套件还包括一个完整的参考设计,其中包含了硬件原理图、软件开发套件 (SDK) 和示例软件。

图 1:用于 CC3220 无线 MCU 的 TI LaunchPad 开发套件提供了一套完整的物联网评估系统,其中包括硬件参考设计和用于实现安全连接的软件。(图片来源:Texas Instruments)

安全连接

CC3220 具备全套片载外设,设计要求简单,更像是一种专为像物联网这样的嵌入式应用而设计的集成式 MCU。但与其他高度集成的 MCU 不同,CC3220 针对各种各样的必要安全组件提供了片上支持,以帮助确保物联网应用中的端到端安全性。除了用于实现安全验证和会话安全性的功能以外,该器件的安全机制还能针对所有三种数据状态提供保护:适用于“静态数据”的安全存储;适用于“使用中数据”的防篡改和其他运行时安全措施;以及适用于“传输中数据”的安全交换(图 2)。

图 2:在 TI CC3220 MCU 中,网络处理器的固件利用集成的安全硬件来支持各种端到端安全性,覆盖加密存储、安全 Wi-Fi 访问,甚至是嵌入式安全 Web 服务器。(图片来源:Texas Instruments)

CC3220 MCU 也不同于许多旨在提供低层次安全机制(例如加密和验证)的 IC。该 TI MCU 基于如安全存储和硬件加速加密之类集成功能构建而成,可提供全套更高层次的服务,甚至包括嵌入式服务器。例如,该器件使用标准传输层安全 (TLS) 协议支持多达 6 个安全套接字,并使用这些套接字提供嵌入式 HTTPS 服务器。为实现安全的验证和数据交换,该器件的信任根证书目录提供了一种机制,来帮助确保与其他受信任主机和客户端的交互。在更广泛的层面上,开发人员还可以使用该器件为建立信任链的关键进程构建 TI 信任根。

TI 的 SimpleLink MCU 软件开发套件 (SDK) 通过一个 API 提供了这些功能,该 API 将受硬件或固件支持的详细功能抽象为若干简单的调用。例如,开发人员可通过调用一个 API 例程连接到网络:

sl_WlanConnect(access_point_name, name_length, MAC_address, security_parameters, optional_enterprise_parameters)

并将 security_parameters 设为器件所支持的标准 Wi-Fi 安全协议之一。

完成连接后,器件可以同样轻松地提供其更高层次的服务。例如,开发人员可使用一个简单的调用启动内部 HTTP 服务器:

sl_NetAppStart(SL_NETAPP_HTTP_SERVER_ID)。

除了 SL_NETAPP_HTTP_SERVER_ID 之外,其他保留的位图 ID 将会启动用于 DHCP(动态主机配置协议)、DNS(域名服务器)和 mDNS(多播 DNS)的嵌入式服务器。

类似地,开发人员可使用简单的 API 调用来运用芯片内集成的基本安全机制。例如,CC3220S 和 CC3220SF 变体均支持将数据作为加密文件存储在闪存中的增强文件系统(图 3)。这些 MCU 以透明的方式对数据进行动态加密和解密,并且仅允许通过 API 进行访问。当在开发期间或在运行时创建了安全文件时,MCU 会创建四个不同的令牌,分别代表不同的访问权限:完全访问权(主令牌)、读/写访问权、只写访问权和只读访问权。

图 3:TI 的 CC3220S 和 CC3220SF 提供了扩展的安全功能,包括闪存上的安全文件存储,以及包括锁定 JTAG 和调试端口的功能在内的扩展型调试安全性。(图片来源:Texas Instruments)

开发人员通过 API 调用(类似于面向文件的传统操作)使用此安全功能,只需一个用于相关安全令牌的额外参数。如列表 1 所示,开发人员将 API 调用 (sl_FsOpen) 与用于指示应创建安全文件的标志配合使用,创建了一个新文件。后续打开该文件的调用需要使用提供的令牌 (MasterToken)。要实现更精细的访问控制,开发人员可使用 API 调用 (sl_FsGetInfo) 来读取在文件创建期间创建的所有四个令牌。

char* DeviceFileName = "MyFile.txt";

unsigned long MaxSize = 63 * 1024; //62.5K is max file size

long DeviceFileHandle = -1;

_i32 RetVal; //negative retval is an error

unsigned long Offset = 0;

unsigned char InputBuffer[100];

_u32 MasterToken = 0;

// Create a file and write data.The file in this example is secured, without signature and with a fail safe commit

//create a secure file if not exists and open it for write.

DeviceFileHandle = sl_FsOpen(unsigned char *)DeviceFileName,

SL_FS_CREATE|SL_FS_OVERWRITE | SL_FS_CREATE_SECURE | SL_FS_CREATE_NOSIGNATURE | SL_FS_CREATE_MAX_SIZE( MaxSize ),

&MasterToken);

Offset = 0;

//Preferred in secure file that the Offset and the length will be aligned to 16 bytes.

RetVal = sl_FsWrite( DeviceFileHandle, Offset, (unsigned char *)"HelloWorld", strlen("HelloWorld"));

RetVal = sl_FsClose(DeviceFileHandle, NULL, NULL , 0);

// open the same file for read, using the Token we got from the creation procedure above

DeviceFileHandle = sl_FsOpen(unsigned char *)DeviceFileName,

SL_FS_READ,

&MasterToken);

Offset = 0;

RetVal = sl_FsRead( DeviceFileHandle, Offset, (unsigned char *)InputBuffer, strlen("HelloWorld"));

RetVal = sl_FsClose(DeviceFileHandle, NULL, NULL , 0);

列表 1:SimpleLink SDK API 能够使用熟悉的传递令牌(如 MasterToken)或标志(如用于创建安全文件的 SL_FS_CREATE_SECURE)的文件访问调用,让开发人员访问稳健的安全功能,如安全文件访问。(代码来源:Texas Instruments)

简化配置

在开发期间,全面的片载安全功能集大幅加快了创建更坚固耐用的物联网设备的速度。但在网络部署期间,如果物联网设备无法轻松连接到现有的 Wi-Fi 网络,则大型物联网应用的推出可能严重滞后于计划。

在针对 Wi-Fi 网络的典型配置过程中,用户为设备配置加入网络所需的网络名称和安全凭据。在这一关键阶段,设备设置和初始化中出现的错误步骤可能导致设备无法连接或让设备容易遭受攻击。对用户而言,无论设备的操作功能如何,无法连接的设备都会被视为失败,而且已被隐蔽侵入的设备将成为入侵用户的整个设备网络的方便之门。

相比传统的网络产品,物联网设备配置可能面临更为严峻的困难。只有很少的物联网设备包含用于提供配置信息的本地显示屏和键盘输入选件。使用像使用蓝牙NFC,甚至 USB 这样的带外方法提供此信息在成本上可能不允许,而且会增加设计的复杂度。最后,大型物联网应用中过多的设备数量可能导致传统的配置方法不切实际。相反,将相同的 Wi-Fi 介质同时用于配置和普通操作,则提供了一种极具吸引力的解决方案。

但在实践中,Wi-Fi 配置存在自身的逻辑和安全挑战。为简化用户的这一步骤,无线业界针对诸如 Wi-Fi 安全设定 (WPS) 之类标准进行了演进。有了 WPS,用户可输入一个个人识别码 (PIN) 或按下一个按钮(按钮连接,或 PBC)。

WPS PIN 机制中发现的零日安全缺陷曾令多数采用这种方法的用户大失所望。相反,一种被称为 AP 模式的流行方法则使用设备的无线连接向用户收集安全凭据。这种情况下,设备将临时充当 Wi-Fi 接入点,建立一个专用网络。用户使用其移动设备连接到此网络,时间长度足够上传安全凭据即可。完成此配置步骤后,设备将切换至站模式并使用新提供的凭据访问无线网络。

TI 为这些标准配置机制补充了自己的名为 SmartConfig 的专有机制。采用此方法时,用户只需将网络名称 (SSID) 和密码加载到其移动设备一次即可。附近的任何物联网设备都可以主动扫描检测安全的 SmartConfig 广播,并自动加载广播中包含的经加密的配置信息(图 4)。

图 4:在完整的 TI SmartConfig 流中,用户将输入配置信息,从其移动设备激活 SmartConfig 广播,然后依靠物联网设备自动查找 SmartConfig 配置数据。(图片来源:Texas Instruments)

完成后,基于 CC3220 的物联网设备可使用其嵌入式 Web 服务器来通知用户,或直接将其状态上传到基于云的配置日志。利用此方法,物联网开发人员可提供无需介入的配置过程,让信任的物联网设备找到自己的方法加入安全物联网应用网络。

尽管 SmartConfig 有着明显的优势,但配置方法的选择可能还取决于其他多种因素,这些因素可能要求使用更传统的机制甚至多种方法的组合。TI CC3220 无线 MCU 通过支持多种配置方法提供了需要的灵活性。除了 AP 方法和 SmartConfig 以外,该器件还允许开发人员采用组合 AP 与 SmartConfig 的混合方法。这种情况下,物联网设备可扫描检测 SmartConfig 广播并响应与用户之间的 AP 类型的交互,或在 SmartConfig 配置失败的情况下自动切换至 AP 模式(同样参见图 4)。

在其支持的任何配置方法中,网络处理器都会处理包括侦听 SmartConfig 广播和加载 SSID 及安全凭据在内的所有进程方面。主机的参与仅限于使用单一命令 WlanProvisioning:

_i16 sl_WlanProvisioning(_u8 ProvisioningCmd, _u8 RequestedRoleAfterSuccess, _u16 InactivityTimeoutSec, char *pSmartConfigKey, _u32 Flags);

ProvisioningCmd 来启动或(停止)该进程。如此一来,便会允许主机采用受支持的 CC3220 配置方法开始配置,或停止配置进程。以下详细说明此命令:

RequestedRoleAfterSuccess 指示物联网设备在成功配置后应切换至站模式还是 AP 模式。

InactivityTimeoutSec 指示设备何时应自动停止不完整的配置进程。

pSmartConfigKey 提供用于在移动端加密配置凭据并在物联网设备端为其解密的安全密钥。

Flags:它提供了在进程中使用的具体配置细节。

最后,该调用将返回 STATUS_OK 或各种诊断错误消息。

在此进程的移动端,TI 在一组适用于 JavaAndroidiOS 的库中提供了其 SmartConfig API,以便开发人员在移动应用中嵌入配置进程。与物联网设备端一样,移动应用使用单一命令和 TI SmartConfig 类对象启动 SmartConfig 广播(列表 2)。

try {

smartConfig = new SmartConfig(smartConfigListener, freeData, passwordKey, paddedEncryptionKey,gateway, SSID, (byte) 0, "");

} catch (SocketException e) {

Log.e(TAG, "Failed to create instance of smart config");

return;

}

列表 2:移动应用开发人员只需调用一次 TI SmartConfig 库就能在其智能手机或其他移动设备中调用 SmartConfig 配置。(代码来源:Texas Instruments)

总结

对物联网开发人员而言,安全的 Wi-Fi 连接和配置可能存在诸多挑战,既包括设计成本和复杂性,也包括最终部署。过去,由于上述挑战,开发人员被迫在应用功能与安全性之间做出艰难取舍。

TI CC3220 无线 MCU 凭借其嵌入式安全连接功能,可大幅简化设备的设计和部署,使其能够在物联网应用中支持稳健的端到端安全性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2865

    文章

    41545

    浏览量

    358107
  • WIFI
    +关注

    关注

    81

    文章

    5155

    浏览量

    199365
  • cc3220
    +关注

    关注

    0

    文章

    6

    浏览量

    2779
收藏 人收藏

    评论

    相关推荐

    Wi-Fi HaLow和传统Wi-Fi的区别

    Wi-Fi HaLow和传统Wi-Fi的区别  Wi-Fi一种无线网络技术,可以连接到互联网
    的头像 发表于 02-02 15:28 237次阅读

    康普携手Wi-Fi联盟,RUCKUS Wi-Fi 7系列接入点成Wi-Fi

     康普高级副总裁兼网络、智能蜂窝和安全解决方案总裁Bart Giordano对此表示: “我们非常荣幸能与Wi-Fi Alliance形成长期合作伙伴关系,将我们的RUCKUS Wi-Fi
    的头像 发表于 01-23 14:10 295次阅读

    RA AWS MQTT/TLS云连接解决方案-Wi-Fi DA16600

    电子发烧友网站提供《RA AWS MQTT/TLS云连接解决方案-Wi-Fi DA16600.pdf》资料免费下载
    发表于 01-03 10:00 0次下载
    RA AWS MQTT/TLS云<b class='flag-5'>连接</b><b class='flag-5'>解决方案</b>-<b class='flag-5'>Wi-Fi</b> DA16600

    英飞凌推出AIROC CYW5551x Wi-Fi 6/6E和蓝牙5.4二合一解决方案

    Wi-Fi 6/6E(802.11ax)连接以及先进的超低功耗蓝牙(BT)连接。经过优化的双频Wi-Fi 6解决方案CYW55512和三频
    的头像 发表于 12-19 13:42 326次阅读

    Wi-Fi 6和Wi-Fi 5之间有哪些区别呢?

    可提供的速度为10 Gbps,而Wi-Fi 5最高只能提供3.5 Gbps的速度。这意味着Wi-Fi 6可以更快地下载和上传文件,同时更好地支持多个设备同时连接。 2.带宽管理: Wi-Fi
    的头像 发表于 12-09 16:09 976次阅读

    BK7258,上海博通soc音视频Wi-Fi单芯片,详细资料

    BK7258是款高度集成的1x1单波段2.4 GHz Wi-Fi 6 (802。11b/g/n/ax)和蓝牙5.4低能耗(LE)组合解决方案,设计用于需要高安全性和丰富资源的应用程序
    发表于 12-07 10:33

    Wi-Fi 7终端认证加速,高通Wi-Fi 7端到端解决方案持续引领先进连接体验变革

    强大,能更从容地应对用户和企业在不同场景中的连接需求,并助力打造更多的创新用例。基于Wi-Fi 7带来的更快连接速率、多连接以及自适应连接
    的头像 发表于 11-28 15:40 310次阅读
    <b class='flag-5'>Wi-Fi</b> 7终端认证加速,高通<b class='flag-5'>Wi-Fi</b> 7端到端<b class='flag-5'>解决方案</b>持续引领先进<b class='flag-5'>连接</b>体验变革

    低功耗Wi-Fi无线连接解决方案

    当前的工业4.0正在改变工业领域的发展,并创造了数万亿美元的新市场机会,其中的节能制造、供应链和资产密集型场所,均可以用工业物联网(IIoT)智能解决方案来实现。用于IIoT连接的低功耗Wi-
    的头像 发表于 11-15 10:13 549次阅读
    低功耗<b class='flag-5'>Wi-Fi</b>无线<b class='flag-5'>连接</b><b class='flag-5'>解决方案</b>

    恩智浦推出全新车规级无线连接解决方案:支持Wi-Fi 6E和蓝牙5.3安全连接

    高度集成的AW693通过并发双MAC Wi-Fi 6E和蓝牙5.3带LE Audio, 提供先进的汽车安全性,在车内实现多个安全连接,支持向软件定义汽车的过渡。       了解详情
    的头像 发表于 11-10 08:15 260次阅读
    恩智浦推出全新车规级无线<b class='flag-5'>连接</b><b class='flag-5'>解决方案</b>:支持<b class='flag-5'>Wi-Fi</b> 6E和蓝牙5.3<b class='flag-5'>安全</b><b class='flag-5'>连接</b>!

    满足工业物联网应用需求的低功耗Wi-Fi无线连接解决方案

    Wi-Fi 无线连接,将在恶劣条件和具有挑战性的 RF (射频)环境中,为各种 IIoT 应用提供支持。本文将为您介绍 IIoT 的应用需求与低功耗 Wi-Fi 无线连接的特性,以及
    的头像 发表于 10-30 19:45 365次阅读
    满足工业物<b class='flag-5'>联网</b>应用需求的低功耗<b class='flag-5'>Wi-Fi</b>无线<b class='flag-5'>连接</b><b class='flag-5'>解决方案</b>

    摩尔斯微电子与卓越电子合作推出 Wi-Fi HaLow 物联网解决方案

    的无晶圆厂半导体公司摩尔斯微电子(Morse Micro),宣布与卓越电子(AsiaRF Corp)合作推出最新的 Wi-Fi HaLow IoT 解决方案。产品阵容包括 Wi-Fi HaLow 物
    发表于 10-08 15:27 312次阅读
    摩尔斯微电子与卓越电子合作推出 <b class='flag-5'>Wi-Fi</b> HaLow 物<b class='flag-5'>联网</b><b class='flag-5'>解决方案</b>

    下一代Wi-Fi 6技术对工业物联网的影响

    用于通信的方式。与任何其他一代相比,Wi-Fi 6 具有更高的可靠性和最大的安全性,并为各种设备提供支持。随着IEEE批准了各种修正案,让我们参观一下利用最新的IEEE 802.11ax差异与快速增长的物联网
    发表于 06-09 09:43 194次阅读

    Wi-Fi 6E:迈向未来连接的下一个重要步骤

    6 GHz频段的Wi-Fi 6功能。Wi-Fi的这一举措将释放Wi-Fi 6的潜力,并提供一些额外的功能,提供下一代解决方案
    发表于 06-08 10:41 267次阅读

    如何将ESP-12F仅作为Wi-Fi模块进行无线传输?

    你好!我正在设计个基于 Raspberry RP2040 处理器和 ESP-12F 的 PCB 板,用于通过 Wi-Fi 提供联网服务。我已经按照 创建了 RP2040
    发表于 06-01 08:59

    Wi-Fi6和5G对比分析哪个好?

    WLAN接入点都集成了RFID、ZigBee和蓝牙等功能模块,并且可以通过外部卡支持更多的联网协议。将联网Wi-Fi相结合可以提供
    发表于 05-05 10:59