前言

之前在看逻辑层面的安全,其中有个旁路攻击,书里面说这玩意就是防范侧信道攻击。

旁路攻击又被称为旁路信道攻击或侧信道攻击。这种硬件层面的攻击通常以从电子设备获取机密信息为目标。对于密码算法,加密是将普通信息(称为纯文本或明文)转换为难以理解的文本(称为密文)的过程。

对于密码电路,要访问秘密信息,需要知道加密过程中使用的密钥。与传统的功能测试不同,旁路攻击通常在执行某些操作时要利用加密设备泄露的并且是可观察到的物理信息。

与密码分析中使用的理论模型(攻击者试图使用数学模型和输入/输出信息组来破坏密码操作)相反,旁路攻击针对的是密码算法的实际硬件系统,即利用特定硬件系统的某些特征对密码设备实施物理攻击,以恢复计算中涉及的秘密参数。

鉴于此,这种攻击的通用性相对于密码分析要低得多,且受限于给定的硬件系统,比采用经典的密码分析方法功能更加强大,备受密码设备制造商的关注。

任何加密或解密算法都必须由特定(微)处理器或特定硬件电路来实现,具有与电路相关的物理属性。如果算法在处理器或微处理器中实现,则它将被转化为一组流水线指令来执行。

如果算法在FPGA中实现,则它将被转化为基于FPGA的基本逻辑单元(包括寄存器和查找表等)。

如果算法在ASIC中实现,则基本运算单元是来自某些工艺技术库的标准单元。无论采用哪种方式进行加密运算,其物理表现都包括时序差异、功耗、电磁(EM)辐射、声波、光学辐射、热量等。

利用旁路信道(侧信道)是攻击者获取秘密信息(如密钥)的最常见方法。此外,除了物理旁路信道,还存在其他可由跨层攻击者利用的旁路信道,如错误传播旁路信道、缓存访问定时旁路信道等。这些非物理的旁路信道有时候又被称为微架构旁路信道。

一、侧信道攻击(SCA)

本文主要介绍侧信道攻击(SCA)的基本知识,它们对硬件级安全构成的威胁,以及为什么它们可以如此强大。

在电子系统中,人们往往只想到软件层面的安全。

人们通常认为像特洛伊木马、恶意软件和其他形式的黑客攻击是最大的威胁;然而,从EE的角度来看,安全具有全新的意义。

许多最大的安全威胁是基于硬件的,攻击者可以直接从我们安全和加密的软件运行的硬件上窃取信息。

最有力的硬件安全威胁之一是侧信道攻击(SCA)。

在这篇文章中,我们将介绍SCA的概念,它们是如何工作的,以及为什么它们如此强大。

二、什么是侧信道攻击?

许多形式的安全漏洞,包括硬件和软件,往往集中在直接窃取秘密信息。

另一方面,侧信道攻击是硬件安全攻击的一种分类,主要是通过利用非预期的信息泄漏来间接窃取信息。

顾名思义,SCA不通过直接窃取信息来获得信息。相反,他们通过 "旁门左道 "窃取信息。图1中可以看到SCA的例子。

SCA 之所以如此普遍,是因为电子系统固有地存在大量泄漏(即,侧通道)。

这些侧信道包括:

  • 电源: 所有电子设备都通过电源轨供电。在基于功率的侧信道攻击中,攻击者将在运行期间监控设备的电源轨,以获取电流消耗或电压波动以窃取信息。

  • 电磁 (EM) 辐射:正如法拉第定律所定义的,电流会产生相应的磁场。图 2 所示的基于 EM 的侧信道攻击通过监控设备在运行期间发出的 EM 辐射来窃取信息,从而利用这一事实。

  • 时序攻击:在加密实现中,不同的数学运算可能需要不同的时间来计算,具体取决于输入、键值和运算本身。时序攻击试图利用这些时序变化来窃取信息。

三、侧信道攻击示例

为了更好地理解侧信道攻击的工作原理,我们将看一个过于简单但很有帮助的例子。

考虑一个 CMOS 反相器,如图 3 所示。在此示例中,考虑到反相器的输入是表示敏感数据的二进制字符串,例如加密密钥,攻击者的目标是找出这个密钥是什么。

此外,假设攻击者没有对输入和输出的直接探测权限(在这个例子中,输入和输出将是直接通道)。

这个假设可能是现实的,因为集成电路内的逻辑门和铜导体被器件封装所隐藏,如果不解封就不能直接探测。然而,在这种情况下,攻击者可以接触到器件的电源轨,这是一个现实的假设,因为电源轨通常是全局的,并在PCB层面提供给集成电路(即攻击者可以直接探测PCB上的电源轨)。

通过执行基于功率的侧信道攻击,我们的对手可以通过探测 3.3V 电源轨的电流消耗(或等效地通过探测接地电流)来计算输入串。

查看图 4 中的输入和功率波形,我们可以看到器件电流消耗的确定性模式。当输入中出现从高到低的转换(1 到 0)时,器件的电流消耗会出现尖峰。

通过只查看当前波形,攻击者可以快速确定输入信号一定是10101010。这样,攻击者利用了一个侧信道,成功地窃取了密钥,而无需知道任何其他关于输入、输出或设备正在执行什么操作。

四、是什么让侧信道攻击如此强大?

出于各种原因, 侧信道攻击是一种独特的强大攻击形式。

首先,SCA 之所以如此强大,是因为它们难以预防。SCA 利用电子设备的无意且在很大程度上不可避免的行为——诸如设备的功耗和 EM 辐射之类的事情是固有且不可避免的。

充其量,设计师可以掩盖这些侧通道,但他们永远无法完全消除它们,这使得 SCA很难预防。另一个原因是许多 SCA 很难检测到。

由于许多 SCA(如 EM 攻击)是被动且非侵入性的,因此攻击者使用时根本不需要对设备进行物理干预。出于这个原因,从电气角度来看,几乎不可能检测到您的设备受到攻击或之前已被入侵。

最后,由于机器学习(ML)的发展,如今SCA正变得越来越强大。历史上的SCA需要对泄漏信息进行严格的统计分析,而今天的许多侧面通道攻击则利用了ML。

通过使用足够大的泄漏信息数据集训练 ML 模型,攻击者可以开发出强大且易于使用的攻击。

参考资料:
https://www.allaboutcircuits.com/technical-articles/understanding-side-channel-attack-basics/
《集成电路安全》

简单来看看什么是侧信道攻击相关推荐

  1. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]43 为AES 对抗侧信道攻击的防御

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 为AES描述一些基础的(可能无 ...

  2. 漏洞挖掘——实验11 侧信道攻击+TCP/IP实验

    漏洞挖掘前言 题目 Lab 侧信道攻击 + TCP/IP实验 Pre 1.用IE访问某些网站的时候,输入javascript:alert(document.cookie)会有什么反应,解释原因. 2. ...

  3. 头歌-信息安全技术-Spectre侧信道攻击过程验证

    头歌-信息安全技术-Spectre侧信道攻击过程验证 一.第1关:Cache vs Memory 1.编程要求 2.评测代码 二.第2关:基于Flush+Reload的侧信道实现 1.编程要求 2.评 ...

  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第39篇]侧信道攻击和故障攻击有什么区别

    这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 侧信道攻击(Side-chan ...

  5. Intel CPU 易受新型的 SGAxe 和 CrossTalk 侧信道攻击

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 网络安全研究员发现了两种针对当代 Intel 处理器的攻击,可泄露CPU 可新执行环境 (TEE) 中的敏感信息. 第一种攻击名为 & ...

  6. 【安全硬件】Chap.6 IC和半导体产业的全球化;芯片生产猜疑链与SoC设计流程;可能会存在的安全威胁: 硬件木马、IP盗版、逆向工程、侧信道攻击、伪造

    [安全硬件]Chap.6 IC和半导体产业的全球化:芯片生产猜疑链与SoC设计流程:可能会存在的安全威胁: 硬件木马.IP盗版.逆向工程.侧信道攻击.伪造 背景 1. IC和半导体产业的全球化 2. ...

  7. 基于Montgomery算法的高速、可配置 RSA密码IP核硬件设计系列(五)——模幂模块(抵抗侧信道攻击)模块的设计实现方案

    基于Montgomery算法的高速.可配置RSA密码IP核硬件设计系列(五) 2.2 模幂模块设计(抵抗测信道攻击模块) 2.2.1 模幂模块及内部模块的功能 2.2.3 模幂各模块的实现方案 2.2 ...

  8. CATalyst——针对末级缓存侧信道攻击的防御技术

    CATalyst: Defeating Last-Level Cache Side Channel Attacks inCloud Computing, HPCA'16 (A类), 2016年3月[1 ...

  9. 基于RF算法的侧信道攻击方法研究

    摘要 目前,随机森林(RF)算法在侧信道分析领域的潜力还没有得到充分利用.文章提出一种基于RF算法的侧信道攻击方法,分别从输入数据处理和参数控制两方面进行模型优化,在特征点选择和RF算法参数调优两方面 ...

最新文章

  1. 柏拉图-理想国(西方哲学的源头)-教你如何思考人生 思考世界 思考社会
  2. Special Judge Ⅲ(这道题考的就是出栈序列判定_关键代码不差什么)
  3. LeetCode 08字符串转整数09回文数
  4. 2021华宁三五班高考成绩查询,2021娄底市地区高考成绩排名查询
  5. JSP简介及入门(含Eclipse for Java EE及Tomcat的配置)
  6. 前端学习(2358):v-bind和v-for
  7. 调节e18-d80nk的测量距离_地坪研磨机磨盘平整度的调节方法及好处
  8. 表情包+外卖+壁纸小程序源码
  9. vs2002 vs2003 可能存在的问题以及解决办法!
  10. 山东科技职业学院单招计算机,山东科技职业学院单招
  11. 80. Session
  12. RDD与DataFrame
  13. 【开发工具】【windows】Visual Studio Code(VS Code)常用插件
  14. 失落的帝国:盛大业务大收缩
  15. 制作纯净版WinPE1.0
  16. windows下使用nvm管理node版本
  17. AXI接口协议详解-AXI总线、接口、协议
  18. 联想集团是一家在信息产业内多元化发展的大型企业集团
  19. axios在vue中的简单配置与使用
  20. python 函数的参数 (必看)

热门文章

  1. python爬虫实现火车票余票查询
  2. Python的文本对比模块difflib
  3. 吴恩达机器学习17-大规模机器学习
  4. steam平台,分手厨房2如何实现键盘+手柄,双人游戏
  5. 2022G3锅炉水处理考试题库及答案
  6. 哈夫曼编码(java版+详细代码)
  7. 浏览器调用打印功能打印页面内容(可全局打印,可局部打印)
  8. 专题丨数字孪生城市框架与发展建议
  9. oracle 跨平台adg,oracle ADG 跨版本跨平台搭建实测
  10. 微软官方补丁6B BUG造成WIN7系统蓝屏解决方案