用于处理存储在存储器中的数据的方法和装置制造方法及图纸

技术编号:34464641 阅读:44 留言:0更新日期:2022-08-10 08:37
提出一种用于处理存储在存储器中的数据的方法,其中当对数据执行运算时,根据功能设定删除数据。定删除数据。定删除数据。

【技术实现步骤摘要】
用于处理存储在存储器中的数据的方法和装置


[0001]本专利技术涉及根据不同的操作模式处理数据。

技术介绍

[0002]旁道攻击(英语:side

channel attack)表示一种密码分析方法,其利用在设备(例如芯片卡、安全令牌或硬件安全模块)或软件中的密码系统的物理实施方案。在此,并非加密方法本身,而是仅特定的实施方案受到攻击。细节例如在https://de.wikipedia.org/wiki/Seitenkanalattacke找到。例如,攻击者能够利用设备的电流消耗与所处理的数据成比例。
[0003]具有防旁道攻击的保护的软件通常需要在两部分中进行处理(所谓的共享),其中应确保:这两部分不会在同一硬件中发生冲突,例如在该处一起被处理。在一个硬件中的这两个部分的这种冲突可能会引起:电流消耗与秘密值成比例。由此防旁道攻击的保护在很大程度上可能是无效的。

技术实现思路

[0004]本专利技术的目的在于,能够克服上述缺点并且改进防旁道攻击的安全性。
[0005]所述目的根据实施形式的特征来实现。优选的实施形式尤其能够在本专利技术的描述中得出。
[0006]为了实现所述目的,提出一种用于处理存储在存储器中的数据的方法,
[0007]‑
其中当对数据执行运算时,根据功能设定删除数据。
[0008]在这种情况下,尤其在(至少部分)对数据执行运算期间或者如果要执行运算,能够根据功能设定删除所述数据。
[0009]功能设定确定:是否删除存储器中的数据。
[0010]删除能够在对外部可见的或从外部不可见的存储器或寄存器中进行。这种从外部不可见的存储器也称为非架构存储器,其例如固定地分配给处理单元(例如CPU的内部寄存器)。
[0011]例如能够通过在此提出的方法删除非架构存储器,而程序员不必关心这种删除(对此受制于系统,程序员也不能如此)。
[0012]数据能够是一个值或多个值。存储器能够包括寄存器,这种值能够从另一存储器中加载到所述寄存器中。所述运算能够是对该值执行的逻辑运算。也可行的是,将多个值加载到多个寄存器中,并且对多个这种值(数据)执行运算,其方式为:将所述值相互关联。所述运算能够是移位运算或布尔运算。原则上,运算能够包括多个操作数,其中每个操作数能够是值或常数之一。
[0013]有利地,删除是能够借助于功能设定根据预设的安全设定或安全要求来激活的过程。因此能够确保:在每次对数据进行运算之后,将中间存储在存储器中的数据再次主动删除。由此有效地防止:例如针对该存储器的旁道攻击能够成功,因为数据仅在存储器中保存
很短的时间来执行运算。
[0014]删除例如能够包括:借助预设值进行覆写、借助随机或伪随机值进行覆写、借助后置的纠错无法执行纠正的值进行覆写、“0”或“1”值的预设的集合等。
[0015]一个改进方案是,存储器包括至少一个寄存器或缓存存储器,并且数据对应于能够加载到存储器中的值。
[0016]一个改进方案是,借助于至少一个:
[0017]‑
常数,
[0018]‑
随机值,
[0019]‑
伪随机值
[0020]删除数据。
[0021]一个改进方案是,在对数据执行运算之后,在对数据执行运算期间和/或在对数据执行运算之前,根据功能设定删除所述数据。
[0022]一个改进方案是,存储器包括以下组件中的至少一个:
[0023]‑
寄存器,
[0024]‑
相对于处理单元从外部不可访问或不可见的存储器,
[0025]‑
相对于处理单元从外部可访问或可见的存储器,
[0026]‑
RAM(随机存取存储器),
[0027]‑
非易失性存储器,
[0028]‑
缓存存储器。
[0029]一个改进方案是,所述方法在如下组件中的至少一个组件上执行:
[0030]‑
处理单元,
[0031]‑
处理器单元,尤其是CPU,
[0032]‑
控制器,
[0033]‑
算术逻辑单元,ALU,
[0034]‑
缓存存储器,
[0035]‑
安全模块,
[0036]‑
加密单元,
[0037]‑
协处理器。
[0038]一个改进方案是,删除由硬件触发和/或执行。
[0039]尤其,删除(删除过程)能够是由硬件发起的删除,所述删除例如包括重置和/或覆写存储在存储器中的数据。因此,功能设定确定:是否应进行硬件发起的删除。
[0040]删除过程本身同样能够由硬件执行。
[0041]硬件优选能够是以下处理单元(例如处理器、微控制器),在所述处理单元上或由所述处理单元执行方法步骤。
[0042]一个改进方案是,能够借助于功能设定来激活或禁用安全模式。
[0043]功能设定可能会受到一个或多个开关、例如标志影响。尤其能够设有能够接通或关断的开关模拟(Schaltmimik)。这能够借助于至少一个功能开关来实现。功能开关例如能够借助于(另外的)寄存器或者借助于程序的操作码来实现。
[0044]一种改进方案是,能够根据以下标准中的至少一个标准来激活或禁用安全模式:
[0045]‑
预设的设定,
[0046]‑
跳转到异常例程,
[0047]‑
从异常例程返回,
[0048]‑
调用函数,
[0049]‑
从函数返回,
[0050]‑
所使用或待使用的地址范围或程序范围,
[0051]‑
所使用的加密单元,
[0052]‑
输入/输出单元,
[0053]‑
指令或指令的集合,
[0054]‑
程序指针的位置,
[0055]‑
堆栈指针的位置。
[0056]异常例程能够是中断或陷阱。
[0057]功能设定也能够通过预设的条件触发(接通和/或关断):例如,地址范围、加密单元、程序范围、指令(操作码)或指令的集合、程序指针或堆栈指针(Stackpointer)的位置确定功能设定,使得由此激活或禁用安全模式。
[0058]一个改进方案是,能够根据以下组件中的至少一个组件的加入来激活或禁用安全模式:
[0059]‑
开关,
[0060]‑
寄存器,
[0061]‑
配置寄存器,
[0062]‑
加密单元,
[0063]‑
输入/输出单元,
[0064]‑
处理单元,
[0065]‑
处理器单元,尤其是CPU,
[0066]‑
控制器,
[0067]‑
算术逻辑单元,A本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理存储在存储器中的数据的方法,

其中当对数据执行运算时,根据功能设定删除数据。2.根据权利要求1所述的方法,其中所述存储器包括至少一个寄存器或缓存存储器,并且所述数据对应于能够加载到所述存储器中的值。3.根据上述权利要求中任一项所述的方法,其中借助于至少一个:

常数,

随机值,

伪随机值删除数据。4.根据上述权利要求中任一项所述的方法,其中在对所述数据已执行所述运算之后,在对所述数据执行所述运算期间和/或在对所述数据执行所述运算之前,根据所述功能设定删除所述数据。5.根据上述权利要求中任一项所述的方法,其中所述存储器包括以下组件中的至少一个:

寄存器,

相对于处理单元从外部不可访问或不可见的存储器,

相对于处理单元从外部可访问或可见的存储器,

缓存存储器,

RAM,

非易失性存储器,

缓存存储器。6.根据上述权利要求中任一项所述的方法,所述方法在以下组件中的至少一个组件上执行:

处理单元,

处理器单元,尤其是CPU,

控制器,

算术逻辑单元,ALU,

缓存存储器,

安全模块,

加密单元,

协处理器。7.根据上述权利要求中任一项所述的方法,其中由硬件触发和/或执行所述删除。8.根据上述权利要求中任一项所述的方法,其中借助于所述功能设定来激活或禁用安全模式。9.根据权利要求7所述的方法,其中能够根据以下标准中的至少一个标准来激活或禁用所述安全模式:

预设的设定,

跳转到异常例程,

从异常例程返回,

调用函数,

从函数返回,

所使用或待使用的地址范围或程序范围,

所使用的加密单元,

输入/输出单元,

指令或指令的集合,

程序指针的位置,

堆栈指针的位置。10.根据权...

【专利技术属性】
技术研发人员:埃里克
申请(专利权)人:英飞凌科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1