当前位置: 首页 > news >正文

了解侧信道攻击基础知识

人们通常认为特洛伊木马、恶意软件和其他形式的黑客攻击等漏洞是的威胁;然而,从 EE 的角度来看,安全性具有全新的含义。 
 事实上,许多的安全威胁都是基于硬件的,攻击者可以直接从运行我们的安全加密软件的硬件中窃取信息。 
 有力的硬件安全威胁之一是旁道攻击。 
 在本文中,我们将介绍 SCA 的概念、它们的工作原理以及它们为何如此强大。  
 什么是侧信道攻击? 
 许多形式的安全漏洞(包括硬件和软件)通常侧重于直接窃取秘密信息。 
 另一方面,侧通道攻击是硬件安全攻击的一种,其重点是通过利用无意的信息泄漏来间接窃取信息。 
 顾名思义,SCA 不会通过直接窃取信息来获取信息。相反,他们通过“侧渠道”窃取信息。SCA 的示例如图 1 所示。

 

 图 1.旁路攻击的概述。图片由 R. Vanathi 和 SP 提供 。乔卡林加姆 
 SCA 之所以如此普遍,是因为电子系统本身就存在大量泄漏(即侧通道)。 
 其中一些侧渠道包括:
 电源: 所有电子设备均通过电源轨供电。在基于电源的侧通道攻击中,攻击者会在运行期间监视设备的电源轨,以了解电流消耗或电压波动,以窃取信息。 
 电磁 (EM) 辐射:根据法拉第定律的定义,电流会产生相应的磁场。基于电磁的侧信道攻击(如图 2 所示)利用这一事实,通过监控设备在操作过程中发出的电磁辐射来窃取信息。 
 定时攻击:在加密实现中,根据输入、密钥值和运算本身,不同的数学运算可能需要不同的时间来进行计算。定时攻击试图利用这些定时变化来窃取信息。  
一种 EM 攻击设置,攻击者将天线直接放置在设备处理器上方。图片由Sayakkara 等人提供 
 侧信道攻击示例
 为了更好地理解旁路攻击的工作原理,我们将看一个过于简单但有用的示例。 
 考虑一个 CMOS 反相器,如图 3 所示。在此示例中,考虑反相器的输入是表示敏感数据(例如加密密钥)的二进制字符串,攻击者的目标是找出该密钥是什么。

 

 图 3. CMOS 反相器由方波驱动 
 此外,假设攻击者无法直接探测访问输入和输出(在本例中,输入和输出将是直接通道)。 
 这种假设可能是现实的,因为集成电路内的逻辑门和铜导体被器件封装隐藏,并且在不解封的情况下无法直接探测。然而,在这种情况下,我们的攻击者可以访问设备的电源轨,这是一个现实的假设,因为电源轨通常是全局的,并在 PCB 级别上提供给 IC(即,攻击者可以直接在 PCB 上探测电源轨) )。 
 通过执行基于电源的侧通道攻击,我们的对手只需探测 3.3 V 电源轨的电流消耗(或等效地探测返回接地的电流)即可找出输入字符串。 
 查看图 4 中的输入和功率波形,我们可以看到器件电流消耗的确定性模式。当输入中存在从高到低的转换(1 到 0)时,器件的电流消耗会出现尖峰。 

 上图显示了输入信号,下图显示了逆变器从 3.3V 电源轨汲取的电流。

 图 4.上图显示了输入信号,下图显示了逆变器从 3.3V 电源轨汲取的电流。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 封装了一个仿照抖音评论轮播效果的iOS轮播视图
  • JavaScript中的事件循环机制
  • Google ghOSt 调度器分析(1)
  • Java语言程序设计 第九章:三个修饰符
  • 【设计模式】行为型设计模式之 策略模式学习实践
  • 【Vue】图形验证码功能
  • python类中常见的内置函数
  • 表的设计与查询
  • 豆瓣电影信息爬虫实战-2024年6月
  • 《Navi日语社》App:日语学习与翻译的智能助手,支持日文OCR识别提取文字,无需打字对着说话就能翻译的日语语音翻译工具!
  • 华为od-C卷100分题目-3用连续自然数之和来表达整数
  • Word中插入Mathtype右编号,调整公式与编号的位置
  • PHP维吾尔文转换成拉丁文
  • 前端JS必用工具【js-tool-big-box】学习,获取当前浏览器向上滚动还是向下滚动,获取当前距离顶部和底部的距离
  • vue-$set修改深层对象的值
  • [译] 怎样写一个基础的编译器
  • 2018一半小结一波
  • C++类中的特殊成员函数
  • crontab执行失败的多种原因
  • ES6简单总结(搭配简单的讲解和小案例)
  • HTTP请求重发
  • JavaScript新鲜事·第5期
  • JSDuck 与 AngularJS 融合技巧
  • mongo索引构建
  • mysql常用命令汇总
  • PV统计优化设计
  • spring-boot List转Page
  • Wamp集成环境 添加PHP的新版本
  • 分布式任务队列Celery
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 解析 Webpack中import、require、按需加载的执行过程
  • 前端之React实战:创建跨平台的项目架构
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 追踪解析 FutureTask 源码
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 函数计算新功能-----支持C#函数
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #DBA杂记1
  • #传输# #传输数据判断#
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (70min)字节暑假实习二面(已挂)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (pojstep1.3.1)1017(构造法模拟)
  • (vue)页面文件上传获取:action地址
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (五)IO流之ByteArrayInput/OutputStream
  • (一) springboot详细介绍
  • (转)Sublime Text3配置Lua运行环境
  • (转)全文检索技术学习(三)——Lucene支持中文分词