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

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

前言

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

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

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

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

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

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

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

《集成电路安全》

目录
相关文章
|
机器学习/深度学习 算法 安全
密码学系列之五:MD5、SHA1——一文搞懂哈希函数
密码学系列之五:MD5、SHA1——一文搞懂哈希函数
11080 113
|
10月前
|
人工智能 运维 安全
智能体安全与可信AI:防护机制与伦理考量
作为一名长期专注于人工智能安全领域的技术博主"摘星",我深刻认识到随着智能体(AI Agent)技术的快速发展和广泛应用,其安全性和可信度已成为当前AI领域最为关键的挑战之一。在过去几年的研究和实践中,我见证了从简单的规则基础智能体到复杂的大语言模型驱动智能体的演进历程,同时也观察到了伴随而来的各种安全威胁和伦理问题。智能体系统不仅面临着传统网络安全中的攻击威胁,还要应对AI特有的对抗攻击、数据投毒、模型窃取等新型安全挑战。更为复杂的是,智能体的自主决策能力使其在执行任务时可能产生意想不到的行为,这不仅涉及技术层面的安全防护,更触及了AI伦理、责任归属、隐私保护等深层次问题。本文将从智能体安全
794 0
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
19191 14
|
安全 API 数据处理
Android 15革命来袭:64位时代的大门轰然开启,开发者和用户将何去何从?
【8月更文挑战第20天】随着性能提升,Android 15的重大更新引领64位时代,提供更大内存支持、更快执行速度及增强安全性。新版本淘汰32位应用,优化系统库,并改善内存管理。开发者需适应64位开发,面对应用体积增大等挑战,同时享受更高效能。此转变标志着移动应用开发步入新阶段,为用户带来更流畅安全的体验。
1316 0
|
JavaScript 前端开发 Docker
全栈开发实战:结合Python、Vue和Docker进行部署
【4月更文挑战第10天】本文介绍了如何使用Python、Vue.js和Docker进行全栈开发和部署。Python搭配Flask创建后端API,Vue.js构建前端界面,Docker负责应用的容器化部署。通过编写Dockerfile,将Python应用构建成Docker镜像并运行,前端部分使用Vue CLI创建项目并与后端交互。最后,通过Nginx和另一个Dockerfile部署前端应用。这种组合提升了开发效率,保证了应用的可维护性和扩展性,适合不同规模的企业使用。
1190 4
|
存储 缓存 数据处理
DP读书:鲲鹏处理器 架构与编程(八)3.1鲲鹏处理器片上系统与Taishan处理器内核架构
DP读书:鲲鹏处理器 架构与编程(八)3.1鲲鹏处理器片上系统与Taishan处理器内核架构
1812 0