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

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

3天内不再提示

物联网安全实施中的常见陷阱以及如何避免它们

星星科技指导员 来源:嵌入式计算设计 作者:Brent Wilson 2022-06-08 09:25 次阅读

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

明文披露

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

中间人攻击

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

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

蛮力攻击

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

弱密码

由于计算能力的提高以及发现加密弱点的进步,许多早期的密码系统已经过时。例如,使用 40 位密钥对密码进行暴力攻击需要约 1.1 万亿次测试。这听起来可能是一个很高的数字,但如果再加上当今显卡、FPGA 或云服务的计算能力,就显得不够了。

2017 年,比利时鲁汶大学的研究人员成功破解了 DST40,这是早期特斯拉 Model S 密钥卡中使用的 40 位密码。“假冒 fob”攻击使用连接到 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(“Cipher Block Chaining”)或 AES_CTR(“计数器”),或者更好的是,使用经过身份验证的加密模式,例如 AES_CCM(“带有 CBC-MAC 的计数器”)或 AES_GCM(“Galois/计数器模式”),这可以确保机密性和真实性的数据。

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

硬编码键

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

熵不足

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

图 2 显示了使用“rand()”生成的位图和使用 TRNG(真随机数生成器)生成的位图。请注意“rand()”图片中的莫尔状图案。模式不是随机的,这表明这是熵源的错误选择。

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

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

如果 MCU 没有 TRNG 外设,则可以使用其他外设(例如无线 RF 接收器或 ADC)作为熵源,但必须小心使用这种方法。具体来说,必须将源表征为熵源,以确定其数学属性是否足以满足 NIST 要求的密码学要求。NIST 标准还要求对原始熵源添加健康检查,以确保其保持适当的功能,并添加调节功能(例如 SHA-256)以消除输出中的任何偏差。

审核编辑:郭婷

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

    关注

    146

    文章

    17123

    浏览量

    350973
  • 接收器
    +关注

    关注

    14

    文章

    2468

    浏览量

    71871
  • soc
    soc
    +关注

    关注

    38

    文章

    4161

    浏览量

    218152
收藏 人收藏

    评论

    相关推荐

    aes技术在联网的应用前景

    问题也日益凸显。高级加密标准(AES)作为一种广泛使用的对称加密算法,因其高效性和安全性,在联网扮演着越来越重要的角色。 1.
    的头像 发表于 11-14 15:15 361次阅读

    光,让城市生活更有温度 联网智慧路灯实施案例

    光,让城市生活更有温度 联网智慧路灯实施案例
    的头像 发表于 11-13 10:33 166次阅读
    光,让城市生活更有温度 <b class='flag-5'>物</b><b class='flag-5'>联网</b>智慧路灯<b class='flag-5'>实施</b>案例

    联网学习路线来啦!

    和组合逻辑电路、触发器及时序逻辑电路。 EDA软件应用基础:掌握电路设计EDA软件的基本用法,了解硬件PCBA设计基本流程。 常见传感器电路:联网的底层依赖各种传感器,对常见的传感器
    发表于 11-11 16:03

    蓝牙AES+RNG如何保障联网信息安全

    指定地点,对鱼缸所在企业造成较大经济损失以及其他损失。因此物联网数据安全尤为重要。蓝牙通信协议常作为联网通信协议,应用到各大
    发表于 11-08 15:38

    EDA在联网设计的应用

    设计和验证电子系统的重要辅助工具,它们可以帮助工程师更高效、更准确地完成设计任务。 2. EDA在硬件设计的应用 联网设备通常需要集成多种传感器、微控制器和无线通信模块。EDA工具
    的头像 发表于 11-08 14:22 387次阅读

    MCU在联网的应用前景

    与网络的智能化交互。联网的核心在于数据的收集、传输、处理和应用,而MCU在这一过程扮演着至关重要的角色。 2. MCU在联网
    的头像 发表于 11-01 13:39 344次阅读

    联网系统的安全漏洞分析

    设备制造商的安全意识不足 许多联网设备制造商在设计和生产过程,往往忽视了安全问题,导致设备存在先天性的
    的头像 发表于 10-29 13:37 353次阅读

    如何实现联网安全

    随着联网(IoT)技术的飞速发展,越来越多的设备被连接到互联网上,从智能恒温器到工业控制系统,IoT设备已经成为我们日常生活和工业生产中不可或缺的一部分。然而,随着这些设备的普及,安全
    的头像 发表于 10-29 10:24 323次阅读

    联网僵尸网络的历史

    自从联网 (IoT) 出现以来,我们与技术交互方式、跨设备的自动化以及前所未有的连接方式都发生了革命性的变化,但这项创新也给我们带来了各种安全挑战,其中之一就是
    的头像 发表于 09-06 09:36 727次阅读

    什么是联网技术?

    :这是联网的基础层,负责采集物理世界的各种信息。包括各类传感器(如温度传感器、湿度传感器、压力传感器等)、摄像头、RFID 标签和读写器、GPS 定位设备等。这些设备能够感知环境的物理量、物体
    发表于 08-19 14:08

    IP地址与联网安全

    联网(IoT)迅速发展大量的设备接入网络,使得我们的生活获得极大的便利。那么你了解联网吗?本文将探讨IP地址在
    的头像 发表于 07-15 10:26 481次阅读

    家里联网设备每天遭受10次攻击,联网安全制度建设需加速推进

    近日,安全解决方案厂商NETGEAR和网络安全软件供应商Bitdefender联合发布了一份关于联网设备安全形势的报告,该报告研究了
    的头像 发表于 07-11 08:05 286次阅读
    家里<b class='flag-5'>联网</b>设备每天遭受10次攻击,<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>安全</b>制度建设需加速推进

    PCB线路板制造中常见的错误有哪些,如何避免?

    您在PCB设计过程避免常见错误: 避免常见PCB设计错误的方法 1. 简化设计:复杂的PCB设计会增加制造复杂度,可能导致功能问题。与PC
    的头像 发表于 06-07 09:15 469次阅读

    常见联网模型优缺点简介

    每种联网模型都有其适用的场景和条件,选择哪种模型取决于具体的应用需求、设备特性、网络环境以及数据安全要求等因素。因此,在实际应用,需要根
    的头像 发表于 03-20 17:44 1055次阅读

    联网常见术语及缩写词

    联网领域存在诸多重要词汇及缩略语。以下列举部分常见术语。由于联网涉及广泛,本篇文章仅能探究其中一部分。敬请提出任何可能有助于补充的概念。
    的头像 发表于 12-29 10:53 1915次阅读