CN118070358A - 对建模边信道攻击的预防 - Google Patents
对建模边信道攻击的预防 Download PDFInfo
- Publication number
- CN118070358A CN118070358A CN202311367065.5A CN202311367065A CN118070358A CN 118070358 A CN118070358 A CN 118070358A CN 202311367065 A CN202311367065 A CN 202311367065A CN 118070358 A CN118070358 A CN 118070358A
- Authority
- CN
- China
- Prior art keywords
- key
- configuration
- modeled
- memory device
- modeling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000002265 prevention Effects 0.000 title description 3
- 238000000034 method Methods 0.000 claims description 48
- 238000010586 diagram Methods 0.000 description 10
- 238000007667 floating Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 4
- 230000005689 Fowler Nordheim tunneling Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002784 hot electron Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本文所述的实施方案涉及预防建模边信道攻击。主机装置可以获得基于多个密钥和第一存储器装置的一或多个特性的第一建模配置,并且可以获得基于所述多个密钥和第二存储器装置的一或多个特性的第二建模配置。所述主机装置可以基于所述第一建模配置和所述第二建模配置而生成模型。所述主机装置可以使用所述模型发起或执行建模边信道攻击。
Description
技术领域
本公开大体上涉及存储器装置、存储器装置操作,并且例如涉及预防建模边信道攻击(profiled side channel attack)。
背景技术
存储器装置广泛用于在各种电子装置中存储信息。存储器装置包含存储器单元。存储器单元是能够被编程为两个或更多个数据状态中的某一数据状态的电子电路。例如,存储器单元可编程为表示单个二进制值的数据状态,通常由二进制“1”或二进制“0”表示。作为另一实例,存储器单元可以编程为表示小数值的数据状态(例如,0.5、1.5等)。为了存储信息,电子装置可以写入或编程一组存储器单元。为了存取所存储的信息,电子装置可以从所述一组存储器单元读取或感测所存储的状态。
存在各种类型的存储器装置,包含随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、静态RAM(SRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、全息RAM(HRAM)、快闪存储器(例如,NAND存储器和NOR存储器)等等。存储器装置可以是易失性或非易失性的。即使在没有外部电源的情况下,非易失性存储器(例如,快闪存储器)也可长时间存储数据。易失性存储器(例如,DRAM)可能会随着时间的推移丢失所存储的数据,除非易失性存储器通过电源刷新。
发明内容
本公开的实施例提供一种主机装置,包括:一或多个组件,其配置成:获得基于多个密钥和第一存储器装置的一或多个特性的第一建模配置;获得基于所述多个密钥和第二存储器装置的一或多个特性的第二建模配置;基于所述第一建模配置和所述第二建模配置,生成模型;以及使用所述模型发起建模边信道攻击。
本公开的另一实施例提供一种由主机装置执行的方法,包括:获得基于多个密钥和第一存储器装置的一或多个特性的第一建模配置;获得基于所述多个密钥和第二存储器装置的一或多个特性的第二建模配置;基于所述第一建模配置和所述第二建模配置,生成模型;以及使用所述模型发起建模边信道攻击。
本公开的又一实施例提供一种设备,包括:用于获得基于第一密钥和第一存储器装置的一或多个特性的第一建模配置的构件;用于获得基于所述第一密钥、第二密钥和所述第一存储器装置的所述一或多个特性的第二建模配置的构件;用于获得基于所述第一密钥和第二存储器装置的一或多个特性的第三建模配置的构件;用于获得基于所述第一密钥、所述第二密钥和所述第二存储器装置的所述一或多个特性的第四建模配置的构件;以及用于基于所述第一建模配置、所述第二建模配置、所述第三建模配置和所述第四建模配置而生成模型的构件。
附图说明
图1是示出能够预防建模边信道攻击的实例系统的图。
图2是包含在存储器装置中的实例组件的图。
图3是包含在主机装置中的实例组件的图。
图4是示出预防建模边信道攻击的实例的图。
图5是包含在存储器装置中的实例组件的图。
图6是与预防建模边信道攻击相关联的实例方法的流程图。
具体实施方式
从高性能服务器到超轻量级微控制器,现代数字系统都普遍配备了加密算法,这些算法是安全、信任和隐私协议的基础。尽管这些基元在数学上被证明是安全的,但糟糕的实施方案选择可能会使它们容易受到攻击者的攻击。这些加密算法的安全性可能取决于密钥(例如,短密钥)的保密性,密钥为通信方提供了优于对手的计算优势。例如,装置可以接收输入(例如明文),并且可以使用秘密密钥对输入进行加密以生成输出(例如密文)。在一些情况下,对这些算法的暴力攻击成功的概率可能微不足道。
边信道攻击(SCA)是一种加密攻击形式,旨在通过利用由加密算法的物理实施方案引起的边信道泄漏来破坏装置的秘密密钥。边信道泄漏可以通过监测运行算法的装置的功耗、由加密操作产生的电磁发射、由加密操作产生的热输出和/或要执行加密操作的时间段等来获得。SCA可以利用物理变量和处理后的数据之间的相关性(例如,泄漏)来提取加密过程中使用的秘密信息。在一些情况下,建模SCA可能涉及使用克隆装置来产生泄漏模型,然后模型可能用于攻击实际目标装置。在建模阶段,可以使用不同的子密钥(例如,加密密钥的部分)来收集来自相同装置的多个轨迹,并且可以建立模型。在攻击阶段期间,模型可用于对受攻击装置的每个子密钥进行分类。
第一类型的建模SCA(例如,第一建模SCA)可以考虑单个装置和单个密钥用于建模阶段和攻击阶段两者。在这种情况下,攻击成功率可能较高,并且执行攻击所需的时间段可能较短。但是,第一建模SCA并不代表真实的情形,因为它们需要攻击者配置有目标装置的密钥和架构信息。第二类型的建模SCA(例如,最近建模SCA)可以考虑在建模阶段和攻击阶段之间使用不同装置和不同密钥。虽然这代表了一个更真实的情形,但这种类型的建模SCA的攻击成功率可能更低,执行攻击的时间可能更长。
本文所述的一些实施方案支持使用模型预防建模边信道攻击,此模型能够参照装置-密钥配置成功且快速地检测SCA。主机装置可以获得基于多个密钥和第一存储器装置的一或多个特性的建模配置,并且可以获得基于相同多个密钥和第二存储器装置的一或多个特性的另一建模配置。第一存储器装置和第二存储器装置的所述一或多个特性可分别对应于第一存储器装置和第二存储器装置使用所述多个密钥执行加密操作的特性,例如由第一存储器装置和第二存储器装置执行加密操作产生的泄漏信息。在一些实例中,主机装置可以获得多个建模配置,例如基于第一密钥和第一存储器装置的一或多个特性的第一建模配置、基于第一密钥、第二密钥和第一存储器装置的所述一或多个特性的第二建模配置、基于第一密钥和第二存储器装置的一或多个特性的第三建模配置和基于第一密钥、第二密钥和第二存储器装置的所述一或多个特性的第四建模配置。主机装置可以基于建模配置生成模型,例如第一建模配置、第二建模配置、第三建模配置和第四建模配置。模型可以使用与相应存储器装置相关联的多个密钥和多个存储器装置特性训练。因此,模型可以是稳健的,并且可以帮助减小未来针对存储器装置的建模边信道攻击的成功率。本文中描述了额外细节。
图1是示出能够预防建模边信道攻击的实例系统100的图。系统100可包含用于执行本文所述的操作的一或多个装置、设备和/或组件。例如,系统100可包含主机装置110和存储器装置120。存储器装置120可包含控制器130和存储器140。主机装置110可经由主机接口150与存储器装置120(例如,存储器装置120的控制器130)通信。控制器130和存储器140可经由存储器接口160通信。
系统100可以是配置成在存储器中存储数据的任何电子装置。例如,系统100可以是计算机、移动电话、有线或无线通信装置、网络装置、服务器、数据中心中的装置、云计算环境中的装置、车辆(例如,汽车或飞机)和/或物联网(IoT)装置。主机装置110可包含配置成执行指令并在存储器140中存储数据的一或多个处理器。例如,主机装置110可包含中央处理单元(CPU)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或另一类型的处理组件。
存储器装置120可以是配置成在存储器中存储数据的任何电子装置或设备。在一些实施方案中,存储器装置120可以是配置成在非易失性存储器中持久性地存储数据的电子装置。例如,存储器装置120可以是硬盘驱动器、固态硬盘(SSD)、快闪存储器装置(例如,NAND快闪存储器装置或NOR快闪存储器装置)、通用串行总线(USB)随身盘、存储卡(例如,安全数字(SD)卡)、辅助存储装置、非易失性存储器高速(NVMe)装置和/或嵌入式多媒体卡(eMMC)装置。在此情况下,存储器140可包含配置成在存储器装置120断电之后维持所存储数据的非易失性存储器。例如,存储器140可包含NAND存储器或NOR存储器。在一些实施方案中,存储器140可包含需要电力来维持所存储数据并且在存储器装置120断电之后丢失所存储数据的易失性存储器,例如一或多个锁存器和/或随机存取存储器(RAM),如动态RAM(DRAM)和/或静态RAM(SRAM)。例如,易失性存储器可高速缓存从非易失性存储器读取或写入到非易失性存储器的数据,和/或可高速缓存由控制器130执行的指令。
控制器130可以是配置成与主机装置(例如,经由主机接口150)和存储器140(例如,经由存储器接口160)通信的任何装置。另外或替代地,控制器130可配置成控制存储器装置120和/或存储器140的操作。例如,控制器130可包含存储器控制器、系统控制器、ASIC、FPGA、处理器、微控制器和/或一或多个处理组件。在一些实施方案中,控制器130可以是高级控制器,其可与主机装置110直接通信,并且可就将结合存储器140执行的存储器操作指示一或多个低级控制器。在一些实施方案中,控制器130可以是低级控制器,其可从与主机装置110直接介接的高级控制器接收有关存储器操作的指令。作为实例,高级控制器可以是SSD控制器,低级控制器可以是非易失性存储器控制器(例如,NAND控制器)或易失性存储器控制器(例如,DRAM控制器)。在一些实施方案中,本文中描述为由控制器130执行的一组操作可由单个控制器执行(例如,整个一组操作可由单个高级控制器或单个低级控制器执行)。替代地,本文中描述为由控制器130执行的一组操作可由超过一个控制器执行(例如,操作的第一子集可由高级控制器执行,操作的第二子集可由低级控制器执行)。
主机接口150启用主机装置110和存储器装置120之间的通信。主机接口150可包含例如小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、NVMe接口、USB接口、通用快闪存储(UFS)接口和/或嵌入式多媒体卡(eMMC)接口。
存储器接口160启用存储器装置120和存储器140之间的通信。存储器接口160可包含非易失性存储器接口(例如,用于与非易失性存储器通信),例如NAND接口或NOR接口。另外或替代地,存储器接口160可包含易失性存储器接口(例如,用于与易失性存储器通信),例如双倍数据速率(DDR)接口。
在一些实施方案中,主机装置110可配置成获得基于多个密钥和第一存储器装置的一或多个特性的第一建模配置;获得基于所述多个密钥和第二存储器装置的一或多个特性的第二建模配置;基于第一建模配置和第二建模配置,生成模型;并且使用所述模型发起建模边信道攻击。
在一些实施方案中,主机装置110可配置成获得基于第一密钥和第一存储器装置的一或多个特性的第一建模配置;获得基于第一密钥、第二密钥和第一存储器装置的所述一或多个特性的第二建模配置;获得基于第一密钥和第二存储器装置的一或多个特性的第三建模配置;获得基于第一密钥、第二密钥和第二存储器装置的所述一或多个特性的第四建模配置;以及基于第一建模配置、第二建模配置、第三建模配置和第四建模配置,生成模型。
如上文所指出,图1提供为实例。其它实例可与关于图1描述的情况不同。
图2是包含在存储器装置120中的实例组件200的图。如上文结合图1所描述,存储器装置120可包含控制器130和存储器140。如图2所示,存储器140可包含一或多个非易失性存储器阵列205,例如一或多个NAND存储器阵列和/或一或多个NOR存储器阵列。另外或替代地,存储器140可包含一或多个易失性存储器阵列210,例如一或多个SRAM阵列和/或一或多个DRAM阵列。控制器130可使用非易失性存储器接口215向非易失性存储器阵列205传输信号和从其接收信号。控制器130可使用易失性存储器接口220向易失性存储器阵列210传输信号和从其接收信号。
控制器130可控制存储器140的操作,例如通过执行一或多个指令来控制。例如,存储器装置120可在存储器140中存储一或多个指令作为固件,并且控制器130可执行所述一或多个指令。另外或替代地,控制器130可经由主机接口150从主机装置110接收一或多个指令,并且可执行所述一或多个指令。在一些实施方案中,非暂时性计算机可读媒体(例如,易失性存储器和/或非易失性存储器)可存储一组指令(例如,一或多个指令或代码)以供控制器130执行。控制器130可执行所述一组指令以执行本文所述的一或多个操作或方法。在一些实施方案中,由控制器130执行所述一组指令使得控制器130和/或存储器装置120执行本文所述的一或多个操作或方法。在一些实施方案中,代替所述一或多个指令或与其结合使用硬接线电路系统,以执行本文所述的一或多个操作或方法。另外或替代地,控制器130和/或存储器装置120的一或多个组件可配置成执行本文所述的一或多个操作或方法。指令有时称为“命令”。
例如,控制器130可基于所述一或多个指令向存储器140传输信号和/或从其接收信号,以便向存储器140的全部或一部分(例如,存储器140的一或多个存储器单元、页、子块、块或平面)传递数据(例如,写入或编程)、从其传递数据(例如,读取)和/或将其擦除。另外或替代地,控制器130可配置成控制对存储器140的存取和/或提供主机装置110和存储器140之间的转换层(例如,用于将存储器阵列的逻辑地址映射到物理地址)。在一些实施方案中,控制器130可将主机接口命令(例如,从主机装置110接收到的命令)转换成存储器接口命令(例如,用于在存储器阵列上执行操作的命令)。
如图2所示,控制器130可包含存储器管理组件225和/或SCA数据生成组件230。在一些实施方案中,这些组件中的一或多个实施为由控制器130执行的一或多个指令(例如,固件)。替代地,这些组件中的一或多个可以实施为不同于控制器130的专用集成电路。
存储器管理组件225可配置成管理存储器装置120的操作。例如,存储器管理组件225可执行耗损均衡、不良块管理、块引退、读取干扰管理和/或其它存储器管理操作。在一些实施方案中,存储器装置120可(例如,在存储器140中)存储一或多个存储器管理表。存储器管理表可存储可由存储器管理组件225使用或更新的信息,例如有关存储器块使用期、存储器块擦除计数和/或与存储器分区(例如,存储器单元、存储器行、存储器块等等)相关联的错误信息的信息。
SCA数据生成组件230可配置成生成与SCA相关联的数据。在一些实施方案中,SCA数据生成组件230可基于被模型攻击而输出数据。例如,主机装置110可以使用模型攻击(例如,测试)存储器装置120,并且SCA数据生成组件230可以基于被模型攻击而生成输出。在一些实施方案中,SCA数据生成组件230可配置成从存储器装置120收集数据。例如,SCA数据生成组件230可基于存储器装置120经历SCA和/或基于存储器装置120被模型攻击而从存储器装置120收集功耗数据。在一些实施方案中,SCA数据生成组件230可从主机装置110接收信息,包含一或多个对策。所述一或多个对策可由主机装置110基于SCA数据生成组件230的输出而确定。SCA数据生成组件230可以使用包含所述一或多个对策的信息来预防未来对存储器装置120的建模边信道攻击。
图2所示的一或多个装置或组件可配置成执行本文中其它地方描述的操作,例如结合图4描述的一或多个操作和/或方法。例如,控制器130、存储器管理组件225和/或SCA数据生成组件230可配置成执行用于存储器装置120的一或多个操作和/或方法。
图2所示的组件的数目和布置提供为实例。实际上,相比于图2所示的那些组件,可存在额外组件、更少组件、不同组件或以不同方式布置的组件。此外,图2所示的两个或更多个组件可在单个组件内实施,或者图2所示的单个组件可实施为多个分布式组件。另外或替代地,图2所示的一组组件(例如,一或多个组件)可执行被描述为由图2所示的另一组组件执行的一或多个操作。
图3是包含在主机装置110中的实例组件300的图。主机装置110可包含控制器310和存储器320。与主机装置110相关联的控制器310可包含与存储器装置120相关联的控制器130的特征中的一些或全部。另外或替代地,与主机装置110相关联的存储器320可包含与存储器装置120相关联的存储器140的特征中的一些或全部。
控制器310可以控制存储器320的操作,例如通过执行一或多个指令。例如,主机装置110可以将一或多个指令存储在存储器320中,并且控制器310可以执行所述一或多个指令。另外或替代地,控制器310可经由主机接口150从存储器装置120接收一或多个指令,并且可执行所述一或多个指令。在一些实施方案中,非暂时性计算机可读媒体(例如,易失性存储器和/或非易失性存储器)可以存储一组指令(例如,一或多个指令或代码)以供控制器310执行。控制器310可执行所述一组指令以执行本文所述的一或多个操作或方法。在一些实施方案中,控制器310执行所述一组指令使得控制器310和/或主机装置110执行本文所述的一或多个操作或方法。在一些实施方案中,作为所述一或多个指令的替代或与其结合,使用硬接线电路系统,以执行本文所述的一或多个操作或方法。另外或替代地,控制器310和/或主机装置110的一或多个组件可配置成执行本文所述的一或多个操作或方法。
如图3所示,控制器310可包含密钥生成组件330、建模配置组件340和/或模型生成组件350。在一些实施方案中,这些组件中的一或多个实施为由控制器310执行的一或多个指令(例如,固件)。替代地,这些组件中的一或多个可以实施为不同于控制器310的专用集成电路。
密钥生成组件330可配置成生成一或多个密钥。例如,密钥生成组件330可生成一或多个公用密钥和/或一或多个私用密钥。如果使用私钥加密,那么私用密钥可以在两个装置之间共享,并且可用于数据加密和数据解密两者。如果使用公钥加密,那么传输器装置可以使用一个密钥对数据进行加密,接收器装置可以使用另一密钥对数据进行解密。密钥生成组件330可使用随机密钥生成功能生成所述一或多个密钥。因此,所述一或多个密钥可以是随机生成的,或者可以是伪随机生成的。
建模配置组件340可配置成生成一或多个建模配置。建模配置可以基于一或多个密钥和/或一或多个存储器装置的特性生成。例如,建模配置可以基于数据输入、数据输出、一或多个密钥和/或与存储器装置120使用所述一或多个密钥执行加密操作相关联的边信道泄漏信息而生成,所述边信道泄漏信息例如功耗信息、电磁发射信息、热信息或时间信息等。在一个实例中,建模配置组件340可生成基于第一密钥和第一存储器装置的一或多个特性的第一建模配置、基于第一密钥、第二密钥和第一存储器装置120的所述一或多个特性的第二建模配置、基于第一密钥和第二存储器装置的一或多个特性的第三建模配置及基于第一密钥、第二密钥和第二存储器装置的所述一或多个特性的第四建模配置。建模配置可包含任何数目个迭代,并且可以基于任何数目个密钥和/或任何数目个装置。
在一些实施方案中,建模配置组件340可配置成确定用于建模阶段的一或多个装置-密钥组合。例如,建模配置组件340可确定将用于建模阶段的装置数目和/或密钥数目。较大数目的存储器装置和较大数目的密钥可使得模型更稳健和精确,但是可能需要较多资源(例如时间和处理资源)。替代地,较小数目的存储器装置和较小数目的密钥可使得模型对建模边信道攻击的检测不太确定,但是需要的资源可能更少。建模配置组件340可基于任何数目个因素来确定装置和密钥的数目,例如装置的处理能力、装置被攻击的可能性,或与装置相关联的过往攻击等。在一个实例中,建模配置组件340可确定使用两个密钥训练两个装置。这可引起模型迭代四次(如上文所描述)。可以使用任何数目个装置和/或任何数目个密钥。在一些实例中,可能更希望增加密钥的数目而不是建模装置的数目,因为生成额外密钥需要的资源比增加建模装置的数目更少。
模型生成组件350可配置成生成模型。模型可以基于一或多个建模配置。在一些实施方案中,模型可以基于多个建模配置。较大数目个建模配置可使得模型能够更有效用于预防未来建模SCA。例如,每个建模配置可指示不同存储器装置执行加密操作的不同响应。在一些实施方案中,模型生成组件350可配置成在存储器装置120上发起和/或执行建模边信道攻击。例如,模型生成组件350可生成模型,并且可使用模型攻击存储器装置120(例如,基于在存储器装置120上测试模型)以生成用于预防未来建模边信道攻击的一或多个对策。
图3所示的一或多个装置或组件可用于实行本文中其它地方描述的操作,例如图4的一或多个操作和/或图6的方法的一或多个过程框。例如,控制器310、密钥生成组件330、建模配置组件340和/或模型生成组件350可执行用于主机装置110的一或多个操作和/或方法。
图3所示的组件的数目和布置提供为实例。实际上,相比于图3所示的那些组件,可存在额外组件、更少组件、不同组件或以不同方式布置的组件。此外,图3所示的两个或更多个组件可在单个组件内实施,或者图3所示的单个组件可实施为多个分布式组件。另外或替代地,图3所示的一组组件(例如,一或多个组件)可执行被描述为由图3所示的另一组组件执行的一或多个操作。
如上文所指出,图3提供为实例。其它实例可与关于图3描述的情况不同。
图4是示出预防建模边信道攻击的实例400的图。在一些实施方案中,主机装置110可配置成生成模型。模型可以基于多个建模配置,其中每个建模配置与特定装置-密钥组合相关联。下文描述了额外细节。
如由附图标记405所示,主机装置110可获得基于第一密钥(密钥A)的第一建模配置。第一密钥可以基于随机密钥生成功能而生成。随机密钥生成功能可以在主机装置110中配置。例如,随机密钥生成功能可以是密钥生成组件330,或者可以包含在密钥生成组件330中。另外或替代地,随机密钥生成功能可以在第一存储器装置120-1中配置。在一些实施方案中,第一建模配置可以基于第一密钥和第一存储器装置120-1的一或多个特性。例如,第一建模配置可以基于第一密钥和通过使用第一密钥对第一存储器装置120-1建模产生的一或多个特性而生成。在一些实施方案中,所述一或多个特性可包含与第一存储器装置120-1相关联的边信道泄漏信息,例如功耗信息、电磁发射信息、热信息或时间信息等。
如由附图标记410所示,主机装置110可获得基于第一密钥(密钥A)、第二密钥(密钥B)的第二建模配置。第二密钥可以由主机装置110基于随机密钥生成功能生成,例如用于生成第一密钥的密钥生成功能或另一密钥生成功能。在一些实施方案中,第二建模配置可以基于第一密钥、第二密钥和第一存储器装置120-1的所述一或多个特性。例如,第二建模配置可以基于第一密钥、第二密钥和通过使用第一密钥和第二密钥对第一存储器装置120-1建模产生的一或多个特性而生成。在一些实施方案中,所述一或多个特性可包含与第一存储器装置120-1相关联的边信道泄漏信息,例如功耗信息、电磁发射信息、热信息或时间信息等。
主机装置110可配置成生成基于任何数目个密钥的任何数目个与第一存储器装置120-1相关联的建模配置。在一些实施方案中,主机装置110可生成N个与第一存储器装置120-1相关联的建模配置,其中每个建模配置基于对应于当前建模配置的密钥和来自先前建模配置的先前密钥。例如,第一建模配置可以基于第一密钥,第二建模配置可以基于第一密钥和第二密钥,建模配置N-2可以基于第一密钥、第二密钥和密钥N-2,建模配置N-1可以基于第一密钥、第二密钥、密钥N-2和密钥N-1,且建模配置N可以基于第一密钥、第二密钥、密钥N-2、密钥N-1和密钥N。
如由附图标记415所示,主机装置110可获得基于第一密钥(密钥A)的第三建模配置。第一密钥可以是用于对第一存储器装置120-1建模的第一密钥。在一些实施方案中,第三建模配置可以基于第一密钥和第二存储器装置120-2的一或多个特性。例如,第三建模配置可以基于第一密钥和通过使用第一密钥对第二存储器装置120-2建模产生的一或多个特性而生成。在一些实施方案中,所述一或多个特性可包含与第二存储器装置120-2相关联的边信道泄漏信息,例如功耗信息、电磁发射信息、热信息或时间信息等。
如由附图标记420所示,主机装置110可获得基于第一密钥(密钥A)、第二密钥(密钥B)的第四建模配置。第二密钥可以是用于第一存储器装置120-1的建模的第二密钥。在一些实施方案中,第四建模配置可以基于第一密钥、第二密钥和第二存储器装置120-2的所述一或多个特性。例如,第四建模配置可以基于第一密钥、第二密钥和通过使用第一密钥和第二密钥对第二存储器装置120-2建模产生的一或多个特性而生成。在一些实施方案中,所述一或多个特性可包含与第二存储器装置120-2相关联的边信道泄漏信息,例如功耗信息、电磁发射信息、热信息或时间信息等。
在一些实施方案中,主机装置110可生成基于任何数目个密钥的任何数目个与第二存储器装置120-2相关联的建模配置。在一些实施方案中,主机装置110可生成N个与第二存储器装置120-2相关联的建模配置,其中每个建模配置基于对应于当前建模配置迭代的密钥和来自先前建模配置的先前密钥。例如,第一建模配置可以基于第一密钥,第二建模配置可以基于第一密钥和第二密钥,建模配置N-2可以基于第一密钥、第二密钥和密钥N-2,建模配置N-1可以基于第一密钥、第二密钥、密钥N-2和密钥N-1,并且建模配置N可以基于第一密钥、第二密钥、密钥N-2、密钥N-1和密钥N。
在一些实施方案中,所述一组存储器装置中包含的用于生成模型的所有存储器装置可以使用相同数目的密钥。例如,存储器装置120-1可以使用密钥A-N生成基于存储器装置120-1的一或多个特性的多个建模配置,存储器装置120-2可以使用密钥A-N生成基于存储器装置120-2的一或多个特性的多个建模配置,并且存储器装置120-K可以使用密钥A-N生成基于存储器装置120-K的一或多个特性的多个建模配置。在一些其它实施方案中,所述一组存储器装置中包含的用于生成模型的至少一个其它存储器装置与所述一组存储器装置中包含的用于生成模型的另一存储器装置可以使用不同密钥。
如由附图标记425所示,主机装置110可以基于建模配置生成模型。在一些实施方案中,主机装置110可以基于两个或更多个建模配置生成模型。在一些其它实施方案中,主机装置110可以基于至少四个建模配置生成模型,所述建模配置对应于包含至少两个装置和至少两个密钥的装置-密钥组合。例如,主机装置110可以基于第一建模配置(与密钥A和第一存储器装置120-1的一或多个特性相关联)、第二建模配置(与密钥A、密钥B和第一存储器装置120-1的一或多个特性相关联)、第三建模配置(与密钥A和第二存储器装置120-2的一或多个特性相关联)和第四建模配置(与密钥A、密钥B和第二存储器装置120-2的一或多个特性相关联)而生成模型。
在一些实施方案中,主机装置110可以确定将用于生成模型的存储器装置数目和/或密钥数目。较大数目的存储器装置和较大数目的密钥可使得模型更稳健和精确,但是可能需要较多资源(例如时间和处理资源)。替代地,较小数目的存储器装置和较小数目的密钥可使得模型对建模边信道攻击的检测不太确定,但是需要的资源可能更少。
如由附图标记430所示,主机装置110可以使用模型发起和/或执行建模SCA。例如,主机装置110可以使用模型攻击一或多个存储器装置和/或可以在所述一或多个存储器装置上测试模型。在一些实施方案中,主机装置110可以基于攻击第一存储器装置120-1或第二存储器装置120-2来执行建模SCA。另外或替代地,主机装置110可以基于攻击建模阶段中不包含的一或多个其它存储器装置来执行建模SCA。
在一些实施方案中,主机装置110可以确定用于预防未来建模边信道攻击的一或多个对策。主机装置110可以基于模型、建模配置和/或基于使用模型攻击存储器装置而从存储器装置接收到的数据来确定所述一或多个对策。在一些实施方案中,主机装置110可以传输包含所述一或多个对策的信息。例如,主机装置110可以向已使用模型攻击的一或多个存储器装置传输所述一或多个对策的指示。另外或替代地,主机装置110可以向未使用模型攻击的一或多个存储器装置传输所述一或多个对策的指示。信息可供所述一或多个存储器装置用于预防未来的建模边信道攻击。
如本文所描述,主机装置可以获得与相应的多个装置密钥组合相关联的多个建模配置。例如,主机装置可以获得基于第一密钥和第一存储器装置的一或多个特性的第一建模配置、基于第一密钥、第二密钥和第一存储器装置的所述一或多个特性的第二建模配置、基于第一密钥和第二存储器装置的一或多个特性的第三建模配置及基于第一密钥、第二密钥和第二存储器装置的所述一或多个特性的第四建模配置。主机装置可以基于建模配置生成模型,例如第一建模配置、第二建模配置、第三建模配置和第四建模配置。主机装置可以使用模型发起和/或执行建模边信道攻击。例如,主机装置110可以基于使用模型攻击一或多个装置来测试模型。
如上文所指出,图4提供为实例。其它实例可与关于图4描述的情况不同。
图5是包含在存储器装置120中的实例组件的图。如上文结合图1所描述,存储器装置120可包含控制器130和存储器140。如图5所示,存储器140可包含存储器阵列502,其可对应于上文结合图2描述的非易失性存储器阵列205。
在图5中,存储器阵列502是NAND存储器阵列。但是,在一些实施方案中,存储器阵列502可以是另一类型的存储器阵列,例如NOR存储器阵列、电阻RAM(RRAM)存储器阵列、磁阻性RAM(MRAM)存储器阵列、铁电RAM(FeRAM)存储器阵列、自旋转移力矩RAM(STT-RAM)存储器阵列等等。在一些实施方案中,存储器阵列502是三维存储器阵列堆叠的一部分,例如3DNAND快闪存储器、3D NOR快闪存储器等等。
存储器阵列502包含多个存储器单元504。存储器单元504可以存储表示数据状态的模拟值(例如,数字值),例如电气电压或电荷。模拟值和对应数据状态取决于在存储器单元504的某一区(例如电荷阱,如浮动栅极)内捕获或存在的电子量,如下文所描述。
NAND串506(有时称为串)可包含串联连接的多个存储器单元504。NAND串506耦合到位线508(有时称为数字线或列线,并示出为BL0-BLn)。数据可以使用一或多个输入/输出(I/O)组件510(例如,I/O电路、I/O总线、页缓冲器和/或感测组件,如感测放大器)经由对应位线508从NAND串506的存储器单元504读取或向其写入。不同NAND串506的存储器单元504(例如,每NAND串506一个存储器单元504)可以经由存取线512(有时称为字线或行线,并示出为AL0-ALm)彼此耦合,所述存取线选择受存储器操作(例如,读取操作或写入操作)影响的存储器单元504的行。
NAND串506的一端可以连接到位线508,另一端连接到共同源极线(CSL)514。串选择线(SSL)516可用于控制相应的串选择晶体管518。串选择晶体管518选择性地将NAND串506耦合到对应位线508。地选择线(GSL)520可用于控制相应的地选择晶体管522。地选择晶体管522选择性地将NAND串506耦合到共同源极线514。
存储器的“页”(或“存储器页”)可以指连接到相同存取线512的存储器单元504的群组,如由附图标记524所示。在一些实施方案中(例如,对于单层级单元),连接到存取线512的存储器单元504可以与单个存储器页相关联。在一些实施方案中(例如,对于多层级单元),连接到存取线512的存储器单元504可以与多个存储器页相关联,其中每一页表示存储在每个存储器单元504中的一个位(例如,下部页表示存储在每一存储器单元504中的第一位,上部页表示存储在每一存储器单元504中的第二位)。在NAND存储器中,页是写入操作(有时称为编程操作)的最小物理寻址数据单元。
在一些实施方案中,存储器单元504是浮动栅极晶体管存储器单元。在此情况下,存储器单元504可包含沟道526、源极区528、漏极区530、浮动栅极532和控制栅极534。源极区528、漏极区530和沟道526可以在衬底536(例如,半导体衬底)上。存储器装置120可以通过将浮动栅极532充电到与数据状态相关联的特定电压和/或在与所述数据状态相关联的电压范围内是电压来将所述数据状态存储在存储器单元504中。这可使得当指定的读取电压施加到控制栅极534(例如,通过连接到控制栅极534的对应存取线512)时,预定义量的电流流过沟道526(例如,从源极区528到漏极区530)。尽管未示出,但是浮动栅极532和沟道526之间可以插入有隧道氧化物层(或隧道介电层),并且浮动栅极532和控制栅极534之间可以插入有栅极氧化层(例如,栅极介电层)。如图所示,漏极电压Vd可以从位线508供应,控制栅极电压Vcg可以从存取线512供应,并且源极电压Vs可以经由共同源极线514供应(其在一些实施方案中是接地电压)。
为了写入或编程存储器单元504,可以使用佛勒-诺特海姆隧穿(Fowler-Nordheimtunneling)。例如,当电流流过沟道526(例如,从共同源极线514到位线508,反之亦可)时,可以在控制栅极534和沟道526之间形成强正电压电势(例如,通过经由对应存取线512向控制栅极534施加较大正电压)。控制栅极534处的强正电压使沟道526内的电子穿过隧道氧化物层并被捕获在浮动栅极532中。接着,这些带负电荷的电子充当控制栅极534和沟道526之间的电子势垒,增加存储器单元504的阈值电压。阈值电压是控制栅极534处使电流(例如,阈值量的电流)流过沟道526所需的电压。佛勒-诺特海姆隧穿是一种在浮动栅极中存储电荷的实例技术,并且可以使用其它技术,例如沟道热电子注射。
为了读取存储器单元504,可以向控制栅极534施加读取电压(例如,经由对应存取线512),并且I/O组件510(例如,感测放大器)可以基于电流是否因为所施加电压通过存储器单元504(例如,沟道526)而确定存储器单元504的数据状态。可以向与正在读取存储器单元504相同的NAND串506中的所有存储器单元504(除正在读取的存储器单元504以外)施加通过电压。例如,通过电压可以施加在每个存取线512上,正在读取的存储器单元504的存取线512(例如,其中施加读取电压)除外。通过电压高于与任何存储器单元数据状态相关联的最高读取电压,使得NAND串506中的所有其它存储器单元504导通,并且I/O组件510可以通过感测对应位线508上的电流(或其缺失)来检测正在读取的存储器单元504的数据状态。例如,在存储两个数据状态之一的单层级存储器单元中,如果检测到电流,那么数据状态是“1”,并且如果未检测到电流,那么数据状态是“0”。在存储三个或更多个数据状态之一的多层级存储器单元中,随时间推移向控制栅极534施加多个读取电压,以区分所述三个或更多个数据状态并确定存储器单元504的数据状态。
为了擦除存储器单元504,可以在控制栅极534和沟道526之间形成强负电压电势(例如,通过经由对应存取线512向控制栅极534施加较大负电压)。控制栅极534处的强负电压使浮动栅极532中捕获到的电子从浮动栅极532穿过氧化物层到达沟道526,并在共同源极线514和位线508之间流动。这去除了控制栅极534和沟道526之间的电子势垒,并降低了存储器单元504的阈值电压(例如,变成空或已擦除状态,其可以表示“1”)。
如上文所指出,图5提供为实例。其它实例可与关于图5描述的情况不同。
图6是与预防建模边信道攻击相关联的实例方法600的流程图。在一些实施方案中,主机装置(例如,主机装置110)可执行或者可配置成执行方法600。在一些实施方案中,与主机装置分开或包含主机装置的另一装置或装置群组(例如,装置-密钥配置组件330或模型生成组件340)可执行或者可配置成执行方法600。另外或替代地,主机装置的一或多个组件(例如,装置-密钥配置组件330或模型生成组件340)可执行或者可配置成执行方法600。因此,用于执行方法600的构件可包含主机装置和/或主机装置的一或多个组件。另外或替代地,非暂时性计算机可读媒体可以存储一或多个指令,所述指令在由主机装置执行时使主机装置执行方法600。
如图6所示,方法600可包含获得基于多个密钥和第一存储器装置的一或多个特性的第一建模配置(框610)。如图6进一步所示,方法600可包含获得基于所述多个密钥和第二存储器装置的一或多个特性的第二建模配置(框620)。如图6进一步所示,方法600可包含基于第一建模配置和第二建模配置,生成模型(框630)。如图6进一步所示,方法600可包含使用模型发起建模边信道攻击(框640)。
方法600可包含额外方面,例如下文描述和/或结合本文中其它地方描述的一或多个其它方法或操作描述的任何单个方面或方面的任何组合。
在第一方面中,获得第一建模配置包括获得基于所述多个密钥中的第一密钥、所述多个密钥中的第二密钥和第一存储器装置的所述一或多个特性的第一建模配置,并且其中获得第二建模配置包括获得基于第一密钥、第二密钥和第二存储器装置的所述一或多个特性的第二建模配置。
在单独或与第一方面组合的第二方面中,获得第一建模配置包括获得基于所述多个密钥中的第一密钥和第一存储器装置的所述一或多个特性的第一建模配置的第一部分及基于第一密钥、所述多个密钥中的第二密钥和第一存储器装置的所述一或多个特性的第一建模配置的第二部分,并且其中获得第二建模配置包括获得基于第一密钥和第二存储器装置的所述一或多个特性的第二建模配置的第一部分及基于第一密钥、第二密钥和第二存储器装置的所述一或多个特性的第二建模配置的第二部分。
在单独或与第一和第二方面中的一或多个组合的第三方面中,获得第一建模配置包括获得基于第一密钥、第二密钥、所述多个密钥中的第三密钥和第一存储器装置的所述一或多个特性的第一建模配置的第三部分,并且其中获得第二建模配置包括获得基于第一密钥、第二密钥、第三密钥和第二存储器装置的所述一或多个特性的第二建模配置的第三部分。
在单独或与第一到第三方面中的一或多个组合的第四方面中,方法600包含获得基于所述多个密钥和第三存储器装置的一或多个特性的第三建模配置,并且其中生成所述模型包括基于第一建模配置、第二建模配置和第三建模配置,生成所述模型。
在单独或与第一到第四方面中的一或多个组合的第五方面中,方法600包含基于执行建模边信道攻击,确定用于预防另一建模边信道攻击的对策。
在单独或与第一到第五方面中的一或多个组合的第六方面中,方法600包含向第一存储器装置、第二存储器装置或第三存储器装置传输用于预防另一建模边信道攻击的对策的指示。
在单独或与第一到第六方面中的一或多个组合的第七方面中,第一建模配置和第二建模配置基于所述多个密钥中的相同密钥。
在单独或与第一到第七方面中的一或多个组合的第八方面中,第一建模配置基于所述多个密钥中的第一组密钥,第二建模配置基于所述多个密钥中的第二组密钥,其中第二组密钥包含第一组密钥中不包含的至少一个密钥。
在单独或与第一到第八方面中的一或多个组合的第九方面中,发起建模边信道攻击包括在第一存储器装置、第二存储器装置或第三存储器装置上执行建模边信道攻击。
尽管图6示出方法600的实例框,但是在一些实施方案中,相比于图6中描绘的那些框,方法600可包含额外框、更少框、不同框或以不同方式布置的框。另外或替代地,方法600的两个或更多个框可并行地执行。方法600是可由本文所述的一或多个装置执行的一个方法的实例。所述一或多个装置可执行或者可配置成执行基于本文所述的操作的一或多个其它方法。
在一些实施方案中,一种主机装置包含一或多个组件,其配置成:获得基于多个密钥和第一存储器装置的一或多个特性的第一建模配置;获得基于所述多个密钥和第二存储器装置的一或多个特性的第二建模配置;基于所述第一建模配置和所述第二建模配置,生成模型;以及使用所述模型发起建模边信道攻击。
在一些实施方案中,一种由主机装置执行的方法包含:获得基于多个密钥和第一存储器装置的一或多个特性的第一建模配置;获得基于所述多个密钥和第二存储器装置的一或多个特性的第二建模配置;基于所述第一建模配置和所述第二建模配置,生成模型;以及使用所述模型发起建模边信道攻击。
在一些实施方案中,一种设备包含:用于获得基于第一密钥和第一存储器装置的一或多个特性的第一建模配置的构件;用于获得基于所述第一密钥、第二密钥和所述第一存储器装置的所述一或多个特性的第二建模配置的构件;用于获得基于所述第一密钥和第二存储器装置的一或多个特性的第三建模配置的构件;用于获得基于所述第一密钥、所述第二密钥和所述第二存储器装置的所述一或多个特性的第四建模配置的构件;以及用于基于所述第一建模配置、所述第二建模配置、所述第三建模配置和所述第四建模配置而生成模型的构件。
前述公开内容提供了说明和描述,但并非旨在穷举或将实施方案限制为所公开的精确形式。可以根据上述公开内容进行修改和变化,或者可以从本文描述的实施方案的实践中获得修改和变化。
即使在权利要求中叙述和/或在说明书中公开了特征的特定组合,但这些组合并不旨在限制本文所述的实施方案的公开内容。这些特征中的许多可以以权利要求书中未具体叙述和/或说明书中未公开的方式组合。例如,本公开包含权利要求集中的每个从属权利要求,以及所述权利要求集中每个其它单独权利要求和多个权利要求的每个组合。如本文中所使用,提及项目列表“中的至少一个”的短语是指这些项目的任何组合,包含单个成员。作为实例,“a、b或c中的至少一个”旨在涵盖a、b、c、a+b、a+c、b+c和a+b+c,以及同一元素的倍数的任何组合(例如,a+a、a+a+a,a+a+b、a+a+c、a+b+b、a+c+c、b+b、b+b+b、b+b+c、c+c和c+c+c,或a、b和c的任何其它顺序)。
除非明确描述,否则本文使用的任何元件、行为或指令均不应被视为关键的或必要的。此外,如本文中所使用,“一(冠词“a”和“an”)”旨在包含一或多个项目,并且可与“一或多个”互换使用。此外,如本文中所使用,“所述(冠词“the”)”旨在包含结合“所述”引用的一或多个项目,并且可与“所述一或多个”互换使用。如果预期仅一个项目,那么使用短语“仅一个”、“单个”或类似的语言。此外,如本文中所使用,术语“具有(has/have/having)”等预期是开放式术语,并不限制它们所修饰的元素(例如,“具有”A的元素还可具有B)。此外,除非另外明确陈述,否则短语“基于”意指“至少部分地基于”。如本文中所使用,术语“多个(multiple)”可替换为“多个(a plurality of)”,反之亦可。并且,如本文中所使用,除非另外明确陈述(例如,如果以及“任一”或“中的仅一个”使用的话),否则术语“或”在串联使用时意在具有包含性,并且可与“和/或”互换使用。
Claims (20)
1.一种主机装置,其包括:
一或多个组件,其配置成:
获得基于多个密钥和第一存储器装置的一或多个特性的第一建模配置;
获得基于所述多个密钥和第二存储器装置的一或多个特性的第二建模配置;
基于所述第一建模配置和所述第二建模配置,生成模型;并且
使用所述模型发起建模边信道攻击。
2.根据权利要求1所述的主机装置,其中为了获得所述第一建模配置,所述一或多个组件配置成获得基于所述多个密钥中的第一密钥、所述多个密钥中的第二密钥和所述第一存储器装置的所述一或多个特性的第一建模配置,并且其中为了获得所述第二建模配置,所述一或多个组件配置成获得基于所述第一密钥、所述第二密钥和所述第二存储器装置的所述一或多个特性的第二建模配置。
3.根据权利要求1所述的主机装置,其中为了获得所述第一建模配置,所述一或多个组件配置成获得基于所述多个密钥中的第一密钥和所述第一存储器装置的所述一或多个特性的所述第一建模配置的第一部分及基于所述第一密钥、所述多个密钥中的第二密钥和所述第一存储器装置的所述一或多个特性的所述第一建模配置的第二部分,并且其中为了获得所述第二建模配置,所述一或多个组件配置成获得基于所述第一密钥和所述第二存储器装置的所述一或多个特性的所述第二建模配置的第一部分及基于所述第一密钥、所述第二密钥和所述第二存储器装置的所述一或多个特性的所述第二建模配置的第二部分。
4.根据权利要求3所述的主机装置,其中为了获得所述第一建模配置,所述一或多个组件进一步配置成获得基于所述第一密钥、所述第二密钥、所述多个密钥中的第三密钥和所述第一存储器装置的所述一或多个特性的所述第一建模配置的第三部分,并且其中为了获得所述第二建模配置,所述一或多个组件进一步配置成获得基于所述第一密钥、所述第二密钥、所述第三密钥和所述第二存储器装置的所述一或多个特性的所述第二建模配置的第三部分。
5.根据权利要求1所述的主机装置,其中所述一或多个组件进一步配置成获得基于所述多个密钥和第三存储器装置的一或多个特性的第三建模配置,并且其中为了生成所述模型,所述一或多个组件配置成基于所述第一建模配置、所述第二建模配置和所述第三建模配置而生成所述模型。
6.根据权利要求1所述的主机装置,其中所述一或多个组件进一步配置成:
确定用于预防另一建模边信道攻击的对策;以及
向所述第一存储器装置、所述第二存储器装置或第三存储器装置传输用于预防另一建模边信道攻击的所述对策的指示。
7.根据权利要求1所述的主机装置,其中所述第一建模配置和所述第二建模配置基于所述多个密钥中的相同密钥。
8.根据权利要求1所述的主机装置,其中所述第一建模配置基于所述多个密钥中的第一组密钥,且所述第二建模配置基于所述多个密钥中的第二组密钥,其中所述第二组密钥包含所述第一组密钥中不包含的至少一个密钥。
9.一种由主机装置执行的方法,其包括:
获得基于多个密钥和第一存储器装置的一或多个特性的第一建模配置;
获得基于所述多个密钥和第二存储器装置的一或多个特性的第二建模配置;
基于所述第一建模配置和所述第二建模配置,生成模型;以及
使用所述模型发起建模边信道攻击。
10.根据权利要求9所述的方法,其中获得所述第一建模配置包括获得基于所述多个密钥中的第一密钥、所述多个密钥中的第二密钥和所述第一存储器装置的所述一或多个特性的第一建模配置,并且其中获得所述第二建模配置包括获得基于所述第一密钥、所述第二密钥和所述第二存储器装置的所述一或多个特性的第二建模配置。
11.根据权利要求9所述的方法,其中获得所述第一建模配置包括获得基于所述多个密钥中的第一密钥和所述第一存储器装置的所述一或多个特性的所述第一建模配置的第一部分及基于所述第一密钥、所述多个密钥中的第二密钥和所述第一存储器装置的所述一或多个特性的所述第一建模配置的第二部分,并且其中获得所述第二建模配置包括获得基于所述第一密钥和所述第二存储器装置的所述一或多个特性的所述第二建模配置的第一部分及基于所述第一密钥、所述第二密钥和所述第二存储器装置的所述一或多个特性的所述第二建模配置的第二部分。
12.根据权利要求11所述的方法,其中获得所述第一建模配置包括获得基于所述第一密钥、所述第二密钥、所述多个密钥中的第三密钥和所述第一存储器装置的所述一或多个特性的所述第一建模配置的第三部分,并且其中获得所述第二建模配置包括获得基于所述第一密钥、所述第二密钥、所述第三密钥和所述第二存储器装置的所述一或多个特性的所述第二建模配置的第三部分。
13.根据权利要求9所述的方法,其进一步包括获得基于所述多个密钥和第三存储器装置的一或多个特性的第三建模配置,并且其中生成所述模型包括基于所述第一建模配置、所述第二建模配置和所述第三建模配置而生成所述模型。
14.根据权利要求9所述的方法,其进一步包括:
基于执行所述建模边信道攻击,确定用于预防另一建模边信道攻击的对策;以及
向所述第一存储器装置、所述第二存储器装置或第三存储器装置传输用于预防另一建模边信道攻击的所述对策的指示。
15.根据权利要求9所述的方法,其中所述第一建模配置和所述第二建模配置基于所述多个密钥中的相同密钥。
16.根据权利要求9所述的方法,其中所述第一建模配置基于所述多个密钥中的第一组密钥,且所述第二建模配置基于所述多个密钥中的第二组密钥,其中所述第二组密钥包含所述第一组密钥中不包含的至少一个密钥。
17.一种设备,其包括:
用于获得基于第一密钥和第一存储器装置的一或多个特性的第一建模配置的构件;
用于获得基于所述第一密钥、第二密钥和所述第一存储器装置的所述一或多个特性的第二建模配置的构件;
用于获得基于所述第一密钥和第二存储器装置的一或多个特性的第三建模配置的构件;
用于获得基于所述第一密钥、所述第二密钥和所述第二存储器装置的所述一或多个特性的第四建模配置的构件;以及
用于基于所述第一建模配置、所述第二建模配置、所述第三建模配置和所述第四建模配置而生成模型的构件。
18.根据权利要求17所述的设备,其进一步包括:
用于获得基于所述第一密钥、所述第二密钥、第三密钥和所述第一存储器装置的所述一或多个特性的第五建模配置的构件;
用于获得基于所述第一密钥、所述第二密钥、所述第三密钥和所述第二存储器装置的所述一或多个特性的第六建模配置的构件;以及
用于基于所述第一建模配置、所述第二建模配置、所述第三建模配置、所述第四建模配置、所述第五建模配置和所述第六建模配置而生成模型的构件。
19.根据权利要求17所述的设备,其进一步包括:
用于获得基于所述第一密钥和第三存储器装置的一或多个特性的第五建模配置的构件;
用于获得基于所述第一密钥、所述第二密钥和所述第三存储器装置的所述一或多个特性的第六建模配置的构件;以及
用于基于所述第一建模配置、所述第二建模配置、所述第三建模配置、所述第四建模配置、所述第五建模配置和所述第六建模配置而生成模型的构件。
20.根据权利要求17所述的设备,其进一步包括使用所述模型执行建模边信道攻击。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263384682P | 2022-11-22 | 2022-11-22 | |
US63/384,682 | 2022-11-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118070358A true CN118070358A (zh) | 2024-05-24 |
Family
ID=91079870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311367065.5A Pending CN118070358A (zh) | 2022-11-22 | 2023-10-20 | 对建模边信道攻击的预防 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240169063A1 (zh) |
CN (1) | CN118070358A (zh) |
-
2023
- 2023-10-20 CN CN202311367065.5A patent/CN118070358A/zh active Pending
- 2023-11-16 US US18/511,425 patent/US20240169063A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240169063A1 (en) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112313632B (zh) | 被管理的nand装置中的主机加速操作 | |
US11321468B2 (en) | Systems for providing access to protected memory | |
US20140037086A1 (en) | Memory system generating random number and method generating random number | |
US11469909B2 (en) | Physical unclonable function with NAND memory array | |
US20140063938A1 (en) | Nonvolatile memory device and sub-block managing method thereof | |
US11886339B2 (en) | Secure logical-to-physical caching | |
US10884944B2 (en) | Host accelerated operations in managed NAND devices | |
US9875044B2 (en) | Data storage device compensating for initial threshold voltage distribution shift, method of operating the same, and data processing system including the same | |
US10417122B2 (en) | Data randomization using memory block access counts | |
US9524235B1 (en) | Local hash value generation in non-volatile data storage systems | |
US20150046638A1 (en) | Multi-bit memory device and on-chip buffered program method thereof | |
US10990542B2 (en) | Flash memory system and method of generating quantized signal thereof | |
US11487454B2 (en) | Systems and methods for defining memory sub-blocks | |
US11275528B2 (en) | Memory system and method of operating the same | |
US11442634B2 (en) | Replay protected memory block command queue | |
US9841918B2 (en) | Flash memory device including deduplication, and related methods | |
US20180267903A1 (en) | Memory system and operating method thereof | |
US20240169063A1 (en) | Preventing profiled side channel attacks | |
CN115527587A (zh) | 存储系统及其操作方法、存储器控制器和存储器 | |
US20220083240A1 (en) | Memory system and operating method thereof | |
CN113544779A (zh) | 用于保护存储器的设备和方法 | |
KR102462829B1 (ko) | Nand 플래시 메모리의 보안 카피-백 프로그램 방법 | |
US20240242768A1 (en) | Controlling erase-to-program delay for improving data retention | |
US11749346B2 (en) | Overwrite mode in memory programming operations | |
US20240126478A1 (en) | Memory systems and operation methods thereof, memory controllers and memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |