简单来看看什么是侧信道攻击

简介: 简单来看看什么是侧信道攻击

前言

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

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

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

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

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

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

如果算法在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/

《集成电路安全》

目录
相关文章
|
人工智能 编解码 安全
如何使用Sora?Sora小白教程一文通
如何使用Sora?Sora小白教程一文通。本文深入探讨了OpenAI于2024年发布的Sora——一款创新的文生视频大模型,详细介绍了其功能、技术原理、精准度、安全性以及对未来影响的全面分析
|
并行计算 异构计算
CUDA stream利用CUDA流重叠计
CUDA stream利用CUDA流重叠计
969 0
CUDA stream利用CUDA流重叠计
|
JavaScript 前端开发 API
Fish开发与使用
审批系统使用es5,现在fish组件里面,用了大量的bind(this)方法,bind解决了this作用域问题,es6有箭头函数解决这个问题 es5没有箭头函数。 正常的js文件中必须包含的几个内容: 1.在文件的开始,要引入当前js文件需要用到的html文件,调接口使用到的action文件,或者特定样式的css文件, 引入HTML文件,格式是:”hbs!”+对应文件的整个路径, 引入js文件,格式是:对应文件的整个路径,文件名不需要加后缀名js
Fish开发与使用
|
11月前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
638 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
安全 API 数据处理
Android 15革命来袭:64位时代的大门轰然开启,开发者和用户将何去何从?
【8月更文挑战第20天】随着性能提升,Android 15的重大更新引领64位时代,提供更大内存支持、更快执行速度及增强安全性。新版本淘汰32位应用,优化系统库,并改善内存管理。开发者需适应64位开发,面对应用体积增大等挑战,同时享受更高效能。此转变标志着移动应用开发步入新阶段,为用户带来更流畅安全的体验。
1018 0
|
传感器 存储 监控
物联网中级试题
物联网中级试题
268 4
|
前端开发 关系型数据库 MySQL
使用PHP构建动态网站的技术指南
【5月更文挑战第27天】本文是使用PHP构建动态网站的指南,涵盖基本概念、技术栈选择(PHP、MySQL/MariaDB、HTML/CSS/JavaScript及Web服务器)、数据库交互示例、安全性考虑(SQL注入防护、输入验证、HTTPS使用、安全更新)和性能优化(缓存、查询优化、代码优化、输出压缩)。通过学习和实践,开发者能创建安全、高性能的动态网站。
|
算法 应用服务中间件 Shell
搭建高可用负载均衡器: haproxy+keepalived
企业业务量比较小的时候,单台服务器就可以满足业务需要了。但是随着业务发展,单服务器的问题就凸显出来了,如何透明的扩展服务器和带宽,增加服务器吞吐量呢?负载均衡器可以解决以上问题。
10261 47
|
弹性计算 Ubuntu 网络协议
现在你还不知道怎么使用宝塔面板嘛,下面带你从某里云购域名开始
现在你还不知道怎么使用宝塔面板嘛,下面带你从某里云购域名开始
|
架构师 算法 测试技术
嵌入式系统软件架构设计(长篇深度好文)
嵌入式系统软件架构设计(长篇深度好文)
8757 2