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

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

3天内不再提示

数据完整性:验证数据未被更改

星星科技指导员 来源:ADI 作者:jwallrabenstein 2023-02-07 11:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我们怎么知道展出的著名艺术品是真实的而不是伪造的?这显然不是一件容易的事,因为艺术品伪造行业估计每年产生约30亿美元的收入。艺术家经常在他们的原创作品上签名,但很难区分原始签名和复制品。

识别伪造品的一种方法是利用原子弹,或者更确切地说,在14年代原子弹试验之后在所有有机材料中发现的高碳-1960同位素比率的特征。如果用于结合油漆中颜料的有机物来自在此期间之前死亡的植物,则碳-14的比例将大大低于更现代油漆中的比例,从而使调查人员能够可靠地识别现代伪造品。

与艺术一样,我们经常更关心数据的真实性,而不是其他人是否能够查看它。例如,我们如何知道设备上运行的代码是真实的?我们并不总是关心隐藏代码 - 任何人都可以查看开源的u-boot引导加载程序代码。但是,在开始执行之前,我们的设备能够验证引导加载程序代码是否未经更改且真实,这一点至关重要。

本博客介绍了消息身份验证代码和数字签名,它们是验证数据的完整性(数据是否已更改?)和真实性(谁生成了数据?)的加密方法。但是,为什么不直接使用校验和或CRC来验证数据是否未被更改呢?正如我们将在下一节中看到的那样,不幸的是,它们无法抵御故意修改数据的对手。

为什么CRC不合适

验证数据是否已被更改的一种众所周知的方法是添加错误检测代码,例如循环冗余校验 (CRC)。例如,考虑由多项式 x+1 生成的 1 位 CRC。这相当于添加一个偶数奇偶校验位,如果数据中的 1 个数为奇数,则在数据后附加 1,否则附加 0。

如果我们10010111输入数据,我们可以看到数据中有一个奇数个 1,所以我们的奇偶校验位将是 1。那么,为什么这种有效的错误检测方案不适合确保完整性和真实性呢?

问题在于CRC相当于艺术家的签名。如果我们像CRC伪造者一样思考,设备怎么会被愚弄,接受更改后的数据不变?首先,让我们采用最简单的情况:假设数据及其CRC一起存储在未受保护的内存(例如闪存)中。攻击者需要做的就是用自己的数据覆盖原始数据,然后计算适当的CRC并将其附加到他们的数据中。当设备读取更改后的数据时,它将计算CRC并验证其是否与攻击者生成的CRC匹配,接受更改后的数据为原始数据!对于此攻击的真实示例,本演练详细解释了黑客如何通过操纵 Linux 内核中的 CRC 来控制 Docker 服务器。

poYBAGPhxR2AOXhOAACVToiOJCA426.png

规避 CRC:(左)原始代码和 CRC 通过验证,(中间)具有对抗性修改和原始 CRC 验证失败的代码,(右)具有对抗性修改和对抗性 CRC 通过验证的代码

为了使攻击者更难,该设备可以将CRC存储在一次性可编程(OTP)存储器中。不幸的是,这并不能消除问题。虽然CRC是检测通道噪声或不稳定单元良性错误的好方法,但它们不能防止主动恶意修改。

假设我们前面的示例数据用于启用或禁用不同的产品功能,具体取决于客户选择的许可证模型。如果高价值功能位于最左侧的位中,则能够更改我们的示例向量10010111将更左侧的位翻转为 1s 将启用这些功能,而无需为价格较高的许可模型付费。对于对手来说,这是微不足道的:

原始数据 修改后的数据
10010111 1 11110111 1

由于 1 位 CRC 在原始数据中为 1(表示数据中的奇数为 1),因此对手只需要确保修改后的数据也有奇数 1。通过将最左边的两个 0 翻转为 1,攻击者启用了两个额外的高价值功能,而无需修改安全存储在 OTP 中的 CRC 检查位。此策略也适用于实际应用中使用的较大 CRC。

重要的一点是,CRC仅提供良性错误保护,例如通信通道上的噪声或不稳定的SRAM单元。当攻击者主动尝试修改数据时,他们可以以一种不会改变从原始数据生成的CRC的方式进行修改。

审核编辑:郭婷

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

    关注

    39

    文章

    7774

    浏览量

    172514
  • 服务器
    +关注

    关注

    14

    文章

    10467

    浏览量

    91890
  • crc
    crc
    +关注

    关注

    0

    文章

    206

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    IDT信号完整性产品:解决高速信号传输难题

    IDT信号完整性产品:解决高速信号传输难题 在当今的电子设备中,随着计算、存储和通信应用中信号速度的不断提高,系统设计师面临着越来越大的信号完整性挑战。高速信号在传输过程中,由于发射器、接收器和通道
    的头像 发表于 03-04 17:10 826次阅读

    SI合集002|信号完整性测量应用简介,快速掌握关键点

    一、信号完整性定义信号完整性(SignalIntegrity,简称SI)是衡量信号从驱动端经传输线抵达接收端后,波形完整程度的关键指标,反映了信号在电路中能否以正确的时序、持续时间和电压幅度作出响应
    的头像 发表于 01-26 10:58 540次阅读
    SI合集002|信号<b class='flag-5'>完整性</b>测量应用简介,快速掌握关键点

    使用MATLAB和Simulink进行信号完整性分析

    信号完整性是保持高速数字信号的质量的过程。信号完整性是衡量电信号从源传输到目标位置时的质量的关键度量。在高速数字和模拟电子中,确保信号的预期形状、时序和功率得以保持,能够保证数据的可靠且准确传输。
    的头像 发表于 01-23 13:57 8951次阅读
    使用MATLAB和Simulink进行信号<b class='flag-5'>完整性</b>分析

    是德科技推出AI软件完整性构建器解决方案

    是德科技(NYSE: KEYS )近日推出AI软件完整性构建器,这款全新软件解决方案旨在革新AI系统的验证与维护方式,确保系统的可信度。随着监管审查日益严格,加之AI开发复杂度持续增加,该解决方案为汽车等安全关键环境,提供透明、可适应、
    的头像 发表于 01-15 16:49 411次阅读

    PK6350无源探头在高速数字总线信号完整性测试中的应用案例

    一、应用背景 在现代电子设备架构中,PCIe、USB 3.0等高速数字总线是实现数据高速传输的核心载体,其信号完整性测试已成为保障设备性能稳定性与运行可靠的关键环节。随着数据传输速率
    的头像 发表于 01-07 13:41 393次阅读
    PK6350无源探头在高速数字总线信号<b class='flag-5'>完整性</b>测试中的应用案例

    Cadence工具如何解决芯粒设计中的信号完整性挑战

    在芯粒设计中,维持良好的信号完整性是最关键的考量因素之一。随着芯片制造商不断突破性能与微型化的极限,确保组件间信号的纯净与可靠面临着前所未有的巨大挑战。对于需要应对信号完整性与电源
    的头像 发表于 12-26 09:51 560次阅读
    Cadence工具如何解决芯粒设计中的信号<b class='flag-5'>完整性</b>挑战

    网络延迟具体是怎样影响电能质量在线监测装置的实时完整性的?

    网络延迟对电能质量在线监测装置实时完整性的影响,本质是 破坏 “数据传输的时序” 与 “数据接收的
    的头像 发表于 10-23 11:59 1092次阅读

    远程校准电能质量在线监测装置时,如何保证数据传输的完整性

    远程校准电能质量在线监测装置时,保证数据传输完整性的核心是建立 “ 预处理防错→实时校验防篡改→丢包重传补缺失→全量验证闭环 ” 的全流程机制,通过技术手段确保数据在传输中不被篡改、不丢失、不重
    的头像 发表于 10-11 16:47 1031次阅读
    远程校准电能质量在线监测装置时,如何保证<b class='flag-5'>数据</b>传输的<b class='flag-5'>完整性</b>?

    别踩分页坑!京东商品详情接口实战指南:从并发优化到数据完整性闭环

    京东商品详情接口(jingdong.ware.get)是电商数据开发的核心难点,本文详解其权限申请、分页优化、多规格递归解析与完整性校验等实战方案,结合代码示例与性能调优参数,助你高效稳定对接,提升数据获取效率2.5倍以上,适用
    的头像 发表于 09-30 15:50 1261次阅读

    Wisim DC电源完整性EDA物理验证仿真工具介绍

    Wisim DC是一款高效、高性能的平台级电源完整性EDA物理验证仿真工具。可快速诊断IC封装和系统级板图内的设计缺陷和电源管理风险,通过定位板图中的“热点”,自动优化VRM感应线位置,使系统PDN达到最优设计。
    的头像 发表于 09-26 15:57 822次阅读
    Wisim DC电源<b class='flag-5'>完整性</b>EDA物理<b class='flag-5'>验证</b>仿真工具介绍

    串扰如何影响信号完整性和EMI

    欢迎来到 “掌握 PCB 设计中的 EMI 控制” 系列的第六篇文章。本文将探讨串扰如何影响信号完整性和 EMI,并讨论在设计中解决这一问题的具体措施。
    的头像 发表于 08-25 11:06 1w次阅读
    串扰如何影响信号<b class='flag-5'>完整性</b>和EMI

    当通信中断时,电能质量在线监测装置如何保障数据完整性

    LZ-DZ300B电能质量在线监测装置 当通信中断时,电能质量在线监测装置通过本地存储、数据优先级管理、时间同步、自动补传等多重机制保障数据完整性,具体设计如下: 1. 本地大容量存储:核心保障
    的头像 发表于 08-19 14:25 1106次阅读
    当通信中断时,电能质量在线监测装置如何保障<b class='flag-5'>数据</b><b class='flag-5'>完整性</b>?

    什么是信号完整性

    电子发烧友网站提供《什么是信号完整性?.pdf》资料免费下载
    发表于 07-09 15:10 1次下载

    罗德与施瓦茨示波器RTO2014破解信号完整性难题的全面指南

    信号完整性在现代高速数字系统和通信领域中至关重要。随着数据传输速率的不断提升,信号在传输过程中面临的挑战也愈加严峻,如信号衰减、反射、串扰和电磁干扰等。罗德与施瓦茨示波器RTO2014作为一款高性能
    的头像 发表于 07-08 17:37 722次阅读
    罗德与施瓦茨示波器RTO2014破解信号<b class='flag-5'>完整性</b>难题的全面指南

    季丰电子自建引脚完整性测试能力

    季丰可靠测试项目拓展AEC-Q100车规芯片验证C6:LI - Lead Integrity 引脚完整性Q100要求。
    的头像 发表于 06-23 09:22 1203次阅读
    季丰电子自建引脚<b class='flag-5'>完整性</b>测试能力