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

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

前言

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

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

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

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

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

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

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

《集成电路安全》

目录
相关文章
|
并行计算 异构计算
CUDA stream利用CUDA流重叠计
CUDA stream利用CUDA流重叠计
1057 0
CUDA stream利用CUDA流重叠计
|
机器学习/深度学习 算法 安全
密码学系列之五:MD5、SHA1——一文搞懂哈希函数
密码学系列之五:MD5、SHA1——一文搞懂哈希函数
10584 113
|
22天前
|
人工智能 JavaScript 安全
2026年OpenClaw Skills生态完全指南:从部署到技能选型,打造专属AI操作系统
很多用户部署OpenClaw(原Clawdbot)后都会有这样的困惑:"这款工具看似强大,实际用起来却没发挥出预期价值"。其实答案很简单——OpenClaw的核心潜力不在本体,而在其Skills生态。就像操作系统的价值源于丰富的应用程序,OpenClaw作为"本地AI操作系统",需要通过安装Skills(功能插件)才能解锁自动化办公、开发辅助、生活服务等多元场景。本文将从生态认知、阿里云快速部署、Skills获取渠道、精选技能推荐、安装管理等维度,全方位解析OpenClaw Skills的使用逻辑,搭配可直接复制的代码命令与避坑指南,帮助用户快速构建专属AI能力矩阵。
1461 1
|
人工智能 编解码 安全
如何使用Sora?Sora小白教程一文通
如何使用Sora?Sora小白教程一文通。本文深入探讨了OpenAI于2024年发布的Sora——一款创新的文生视频大模型,详细介绍了其功能、技术原理、精准度、安全性以及对未来影响的全面分析
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
763 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
安全 测试技术 网络安全
Cobalt Strike 4.10 for Windows - 对手模拟和红队行动
Cobalt Strike 4.10 for Windows - 对手模拟和红队行动
753 11
Cobalt Strike 4.10 for Windows - 对手模拟和红队行动
|
安全 API 数据处理
Android 15革命来袭:64位时代的大门轰然开启,开发者和用户将何去何从?
【8月更文挑战第20天】随着性能提升,Android 15的重大更新引领64位时代,提供更大内存支持、更快执行速度及增强安全性。新版本淘汰32位应用,优化系统库,并改善内存管理。开发者需适应64位开发,面对应用体积增大等挑战,同时享受更高效能。此转变标志着移动应用开发步入新阶段,为用户带来更流畅安全的体验。
1167 0
|
存储 缓存 数据处理
DP读书:鲲鹏处理器 架构与编程(八)3.1鲲鹏处理器片上系统与Taishan处理器内核架构
DP读书:鲲鹏处理器 架构与编程(八)3.1鲲鹏处理器片上系统与Taishan处理器内核架构
1545 0