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

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

3天内不再提示

如何避免IoT安全实施中的陷阱

星星科技指导员 ? 来源:嵌入式计算设计 ? 作者:Brent Wilson ? 2022-10-20 17:34 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文特别关注小型无线连接系统,这些系统通常由电池供电并运行轻量级,低带宽RF协议。

明文披露

明文泄露是指机密(如密钥或敏感数据)以“明文形式”或未加密的方式传递或存储。大多数传输漏洞适用于通过未加密通道传递的敏感用户数据(如登录凭据)。存储漏洞包括敏感的用户数据和密钥,这是一次性物联网设备需要特别关注的领域。我们大多数人在处理笔记本电脑智能手机时都要小心谨慎,以确保敏感信息已被适当删除。当涉及到连接的灯泡时,您是否同样小心?“垃圾桶攻击”是指从丢弃的设备中提取敏感信息(如 Wi-Fi 凭据)。

中间人攻击

“中间人”(MITM)是一种攻击,攻击者秘密中继并可能改变认为自己直接相互通信的双方之间的通信。MITM 攻击的漏洞表示身份验证存在弱点。这种类型的漏洞利用通常在调试期间将新设备引入网络时执行。有多种方法可用于对设备进行身份验证,以允许其安全地加入网络。其中一些需要用户干预,例如输入 PIN 码 (BLE) 或扫描条形码 (Z-Wave)。其他情况可能会在没有用户干预的情况下发生,例如使用设备证书与证书颁发机构和/或云服务结合使用来提供身份验证。

MITM 最常见的实现问题是无法包含身份验证(例如,BLE 中的“Just Works”配对方法),或者未能使用受信任的第三方(如证书颁发机构 (CA))正确验证证书。

暴力攻击

“暴力”攻击试图利用加密系统实现中的弱点。如果正确实现,破解加密系统所需的工作量可以在理论上估计,并且很容易超过计算可能性。但是,实现中的弱点会大大减少整体解决方案空间,将不可能的事情变成可行甚至容易的事情。示例包括弱密码、加密函数使用不当、硬编码密钥和熵不足。

弱密码

由于计算能力的可及性越来越高,加上寻找加密弱点的进步,许多早期的加密系统已经过时了。例如,对具有 40 位密钥的密码的暴力攻击需要大约 1.1 万亿次测试。这听起来像是一个很大的数字,但当与当今显卡、FPGA或云服务的计算能力相结合时,它是不够的。

2017年,比利时KU鲁汶大学的研究人员能够破解DST40,这是早期特斯拉Model S密钥卡中使用的40位密码。“假冒密钥卡”攻击使用连接到Raspberry Pi的RF接收器来“嗅探”汽车的标识符RF信标,从汽车请求随机挑战短语,并计算并传输对挑战的正确响应,然后可用于解锁门或启动汽车,所有这些都在大约两秒钟内完成。系统使用包含所有可能的质询短语的 5.4 TB 数据结构来查找正确的响应。破解密码的蛮力工作,使用相同的Raspberry Pi需要777天,这是使用更强大的计算资源预先计算的。

这种攻击的对策是不选择弱密码,特别是如果这些密码已经被破解。上面的DST40密码最初是在2005年由约翰霍普金斯大学和RSA实验室的团队破解的,并在2005年的福特Escape SUV上以类似的方式进行了演示。其他已被证明较弱的流行密码包括 DES、3DES、RC2 和 RC4。对于 TLS 连接或协商密码或密码套件的任何连接,重要的是不允许弱协议(如 SSL)或弱密码套件。

加密功能的不当使用

高级加密标准 (AES) 是一种分组密码,它对固定大小为 128 位(16 字节)的数据元素进行操作。加密或解密长度超过 16 字节的数据流时,需要执行多个 AES 操作。独立处理每个块(称为“AES_ECB”或“电子代码簿”)可以揭示密文数据中的一些模式,这对于机密性来说是不希望的,因此建议使用NIST批准的链式密码模式,例如AES_CBC(“密码块链接”)或AES_CTR(“计数器”),或者更好的是,使用经过身份验证的加密模式,例如AES_CCM(“CBC-MAC计数器”)或AES_GCM(“伽罗瓦/计数器模式”), 确保数据的机密性和真实性。

请注意,其中许多模式需要使用初始化向量 (IV),该向量的安全要求因所选的特定模式而异。保守的指导是使用强随机数,例如来自批准的加密随机数生成器,并且仅使用IV一次,使其成为“nonce”。IV最常见的错误是使用硬编码或常量IV。

硬编码键

“硬编码”密钥是指嵌入在源代码中的密钥。硬编码的密钥很糟糕,因为它们很难更改(需要重新编译源代码),并且它们是最容易窃取的密钥之一(通过逆向工程,读取源代码或其他方式)。理想情况下,密钥在需要时计算或以加密形式存储。NIST SP 800-57 建议根据密钥的使用方式定期更改密钥,通常每一到三年或更频繁地更改一次密钥。此外,系统还应支持一种机制,以便在密钥遭到破坏时吊销密钥。

熵不足

密码学依赖于具有高熵的随机数的来源。常见且看似无害的加密实现错误之一是选择错误的随机数源。当开发人员使用编译器本机“rand()”函数而不是加密强伪随机数生成器 (PRNG) 或使用具有错误种子值的良好 PRNG(如常量或时间引用)时,会发生这种情况。

图 2 显示了使用“rand()”生成的位图和使用 TRNG(真随机数生成器)生成的位图。请注意“兰特()”图片中的摩尔纹状图案。模式不是随机的,这表明这对于熵源来说是一个糟糕的选择。

密码学的强度取决于随机数中的熵量。随机数源中的任何模式或偏差都会减少在暴力攻击期间测试所需的选项数。为了便于说明,我们假设嵌入式系统使用“自上次重置以来的系统时钟”作为其“rand()”函数的种子,而“rand()”函数用于在系统初始化期间生成密钥。由于MCU在很大程度上是确定性的,因此该系统将倾向于生成相同的密钥或一小组密钥之一。如果系统只生成八个唯一密钥,则密钥的长度是 128 位还是 256 位并不重要。该密钥的强度仅为三位,因为攻击者只需八次尝试即可确定密钥。此外,C标准规定“rand()”的周期至少为232,这完全在暴力攻击范围内,这意味着如果攻击者能够辨别PRNG序列中的当前位置,则所有未来的数字都将是已知的。

幸运的是,许多MCU和无线SoC都配备了硬件TRNG外设,这些外设提供了极好的熵源。TRNG是从物理源(如热能)获取熵的外围设备。NIST 800-90A/B/C 和 AIS-31 规定了加密的合适要求。或者,如果加密 PRNG 定期播种 TRNG 源,则可以使用该加密 PRNG(例如CTR_DRBG)。

如果MCU没有TRNG外设,则可以使用另一个外设(例如无线RF接收器或ADC)作为熵源,但这种方法必须小心。具体来说,必须将源描述为熵源,以确定其数学属性是否足以满足 NIST 要求的加密。NIST标准还要求在原始熵源上添加运行状况检查,以确保其保持正确的功能,并添加条件函数(如SHA-256)以消除输出中的任何偏差。

审核编辑:郭婷

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

    关注

    2

    文章

    434

    浏览量

    40751
  • 电池
    +关注

    关注

    84

    文章

    11132

    浏览量

    137878
  • IOT
    IOT
    +关注

    关注

    188

    文章

    4321

    浏览量

    203022
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电商API常见错误排查指南:避免集成陷阱

    ,帮助您高效避免集成陷阱。内容基于真实电商API实践,确保可靠性和实用性。 一、常见错误类型 电商API集成,错误往往源于认证、数据、限流等环节。以下是高频问题: 认证失败错误 当API请求未通过身份验证时,系统返回错误码如4
    的头像 发表于 07-11 14:21 ?220次阅读
    电商API常见错误排查指南:<b class='flag-5'>避免</b>集成<b class='flag-5'>陷阱</b>

    电气控制设备厂家如何避免 BK 控制变压器的 “陷阱

    BK机床控制变压器电气控制设备厂家们在追求发展的同时,正面临着BK机床控制变压器采购的“陷阱”,一不小心就会陷入困境,影响整个企业的运营与发展,这究竟是怎样的情况呢?一些厂家在采购BK控制变压器
    的头像 发表于 07-04 13:45 ?191次阅读
    电气控制设备厂家如何<b class='flag-5'>避免</b> BK 控制变压器的 “<b class='flag-5'>陷阱</b>

    存储示波器在校准过程需要注意哪些安全问题

    在存储示波器的校准过程,需严格遵守电气安全、设备保护及操作规范,以避免人身伤害、设备损坏或数据丢失。以下从电气安全、设备防护、环境控制及操作流程四个维度,系统化梳理关键
    发表于 05-28 15:37

    如何避免存储示波器再次崩溃?

    避免存储示波器再次崩溃,需从系统维护、硬件管理、操作规范和应急预案四个维度构建完整的防护体系。以下是具体措施及实施要点:一、系统与软件层面1. 固件与软件管理 定期更新固件 操作:每6个月检查
    发表于 05-23 14:47

    光纤涂覆质量金标准实施总结汇报

    突破 : ? 动态固化散热, 涂层温度适中,散热性能好,避免因温度过高影响涂层质量。 ? -40℃~85℃极端环境适应性 ? 避免高温变形/低温固化不足问题 实施效果 : ? 涂层温度一致性提升99
    发表于 03-28 11:45

    必看!15个C语言常见陷阱及避坑指南

    ? C语言虽强大,但隐藏的“坑”也不少!稍不留神就会导致程序崩溃、数据异常。本文整理15个高频陷阱,助你写出更稳健的代码! ? 陷阱1:运算符优先级混淆? 问题:运算符优先级不同可能导致计算顺序错误
    的头像 发表于 03-16 12:10 ?781次阅读

    整流桥选型十大陷阱:MDD从电流谐波到散热设计的实战解析

    在工业电源设计,整流桥选型失误可能引发灾难性后果。某光伏逆变器项目因忽略反向恢复电荷(Qrr)导致整机效率下降8%,直接损失超百万元。本文结合MDD(模块化设计方法),深度解析整流桥选型的十大
    的头像 发表于 03-10 10:41 ?548次阅读
    整流桥选型十大<b class='flag-5'>陷阱</b>:MDD从电流谐波到散热设计的实战解析

    MOS管选型十大陷阱:参数误读引发的血泪教训MDD

    在电力电子设计,MOS管选型失误导致的硬件失效屡见不鲜。某光伏逆变器因忽视Coss参数引发炸管,直接损失50万元。本文以真实案例为鉴,MDD辰达半导体带您解析MOS管选型的十大参数陷阱,为工程师
    的头像 发表于 03-04 12:01 ?741次阅读
    MOS管选型十大<b class='flag-5'>陷阱</b>:参数误读引发的血泪教训MDD

    如何避免直流负载箱的常见操作误区?

    ,可以有效避免直流负载箱的常见操作误区,确保设备的安全稳定运行,延长其使用寿命,同时也能保障操作人员的人身安全
    发表于 02-13 13:49

    AN-348: 避开无源元件的陷阱

    电子发烧友网站提供《AN-348: 避开无源元件的陷阱.pdf》资料免费下载
    发表于 01-13 15:14 ?0次下载
    AN-348: 避开无源元件的<b class='flag-5'>陷阱</b>

    交流负载箱的安全事项和注意事项有哪些?

    合适的交流负载箱,确保其容量、电压等级等参数满足使用要求。同时,要选择具有质量保证和安全认证的产品,避免使用劣质产品。 安装和使用过程遵循相关规定:在安装和使用交流负载箱时,应遵循国家和行业
    发表于 12-14 16:09

    物联数据台是什么意思?AI+IOT物联网台平台解决方案

    物联数据台是什么意思?AI+IOT物联网台平台解决方案
    的头像 发表于 11-25 10:37 ?1185次阅读
    物联数据<b class='flag-5'>中</b>台是什么意思?AI+<b class='flag-5'>IOT</b>物联网<b class='flag-5'>中</b>台平台解决方案

    DCS系统实施的常见挑战

    在现代工业自动化,分布式控制系统(DCS)扮演着至关重要的角色。它通过集成的控制网络,实现了对工厂或生产过程的高效监控和控制。然而,DCS系统的实施并非没有挑战。 一、技术整合挑战 兼容性
    的头像 发表于 11-13 09:20 ?1470次阅读

    IoT平台在设备远程运维的应用

    IoT平台 是物联网技术的核心组成部分,实现了设备、数据、应用之间的无缝连接与交互。通过提供统一的设备管理、数据处理、安全监控等功能,IoT平台为企业构建了智能化、可扩展的物联网生态系统。在设备远程
    的头像 发表于 10-31 15:52 ?685次阅读

    如何构建一个高效、安全、可扩展的跨工厂IoT平台?

    在数字化转型的浪潮,工业物联网(IoT)作为关键驱动力,正深刻改变着传统制造业的面貌。随着智能制造的兴起,多个工厂间的协同作业、数据共享与智能决策成为了提升生产效率、降低成本、增强市场响应速度
    的头像 发表于 10-25 17:21 ?527次阅读