针对多核处理器信息安全的任务映射方法技术

技术编号:19009404 阅读:23 留言:0更新日期:2018-09-22 09:14
本发明专利技术公开了一种针对多核处理器信息安全的任务映射方法,属于片上多处理器任务映射算法及硬件安全技术领域。本发明专利技术针对多核处理器的热边信道泄漏问题,提供了一种动态安全性任务映射方法,将任务线程映射到从具有相同代价函数值的处理器核集合中选择出的最佳组合上,降低了执行过程中处理器的指令信息和瞬态温度与空间温度之间的相关性,进而降低了攻击者利用热边信道对芯片进行信息窃取的成功率。

Task mapping method for information security of multi-core processors

The invention discloses a task mapping method for information security of multi-core processors, which belongs to the field of task mapping algorithm of multi-processor on chip and hardware security technology. The invention provides a dynamic security task mapping method for hot-side channel leakage of multicore processors, mapping task threads to the best combination selected from the set of processor cores with the same cost function values, thereby reducing the instruction information of processors and the transient and spatial temperatures during execution. The correlation between them can further reduce the success rate of information stealing by attackers using hot-side channels.

【技术实现步骤摘要】
针对多核处理器信息安全的任务映射方法
本专利技术属于片上多处理器任务映射算法及硬件安全
,具体涉及一种针对多核处理器信息安全的任务映射方法的设计。
技术介绍
近年来,学者们提出了众多防御技术,以从边信道攻击中保护芯片,这些技术可以大致分为两个类别,其一是基于硬件的防御技术,其二是基于软件的防御技术。基于硬件的防御技术涉及到逻辑的设计与实现,换言之,是在电路设计层面,实现芯片的操作与边信道泄漏的解耦。例如,在供电网络与逻辑门之间集成一系列专用电容,或是设计分布式片上电压调节器,这两种技术通过控制芯片的功率谱,有效减少了信息泄漏。此外,时间边信道防御也是众多学者关注的焦点,例如,随机驱逐Cache及异构路径延迟Cache,以降低攻击成功率,或是设计新型的片上互联网络,通过流量管理来对时间边信道攻击进行防御。除了上述提到的技术之外,学者们还提出了基于电流型逻辑电路、异步逻辑以及双轨预充电逻辑的技术来降低边信道泄漏。基于软件的防御技术可以包含多个抽象层次的实现,例如代码级、算法级及以及协议级。在代码级实现中,学者们提出了多种编译器设计,以将高级语言编译为具有高度安全性的二进制代码。例如,设计出可以自动插入随机编码以及布尔掩码的编译器,以防御功率边信道攻击,或是设计可以保证程序执行时间不受数据量影响的动态编译器,以防御时间边信道攻击,此外还有结合动态编译技术以及代码特化技术,设计出一套工具链,用以降低处理器的电磁信号泄漏。在算法级实现中,利用安全性任务调度算法,降低攻击者推断出任务正确执行顺序的概率及通过追踪芯片的运行状态,动态注入功率噪声,以降低热边信道信息泄漏及都属于算法实现这一类别。除了代码级与算法级的实现,安全性协议也可以实现边信道防御,例如全有/全无转换协议、ReSecure协议及缓存行锁定协议等。利用任务映射算法对边信道泄漏进行优化,属于基于软件的防御技术中的算法级实现,且可以与上述提到的各种技术协同使用,强化边信道防御能力。尽管现有的研究已经提出很多片上多处理器任务映射算法,然而这些研究中提出的算法,旨在对片上多处理器的运算性能、能耗效率及发热量等方面进行优化,而很少考虑到片上多处理器的安全性问题。在过去的十年间,片上多处理器面临着诸如边信道攻击、硬件木马以及芯片克隆等攻击手段带来的日益严重的安全威胁。这也促使学者们不断地研究如何保护片上多处理器的信息安全。热边信道(TSCleakage,ThermalSideChannelleakage)便是其中一种攻击途径。显然,片上多处理器的温度,包括其空间温度以及瞬态温度,都取决于处理器执行的具体操作。当片上多处理器的某些核心被激活时,这些被激活区域会使得芯片温度上升,从而使我们可以在空间上观察到相应到温度分布。此外,当某个核心被激活时,它的瞬态温度也一定程度上反映出,在其上执行的指令流的特点,这是由于不同指令的功耗差异造成的。因此,攻击者通过获取芯片的热量(热边信道信息),再结合一定的方法,便可以一定概率推断出一条指令在片上多处理器中的执行位置以及执行时间,并进一步预测出任务的执行顺序。因此,减少热边信道泄漏对保护片上多处理器免受相应边信道攻击是非常关键的。
技术实现思路
本专利技术的目的是针对片上多处理器的热边信道泄漏问题,提出了一种针对多核处理器信息安全的任务映射方法,以降低执行过程中处理器的指令信息和瞬态温度与空间温度之间的相关性,从而降低攻击者利用热边信道对芯片进行信息窃取的成功率。本专利技术的技术方案为:针对多核处理器信息安全的任务映射方法,包括以下步骤:S1、获取处理器核的数量n以及任务包含的线程数量m。S2、判断是否满足n<m,若是则条件错误,映射结束,否则进入步骤S3。S3、根据每个处理器核的位置信息计算得到权重矩阵W。权重矩阵W的第i个元素,即处理器i的权重值W(xi,yi)的计算公式为:其中(xi,yi)表示处理器i在芯片中的位置,(u1,u2)表示片上多核处理器的中心位置,σ1,σ2分别表示x与y分量上的标准差,ρ表示两个分量的相关系数,i=1,2,...,n。S4、当新的映射时间槽到来,将任务中的线程加入待映射线程队列La并清空已映射线程队列Le。S5、获取芯片中每个处理器核的使用率信息和温度信息,并根据使用率信息和温度信息计算得到对应芯片的使用率矩阵U及温度矩阵T。使用率矩阵U的第i个元素,即处理器i的使用率U(xi,yi)的计算公式为:其中表示处理器i在第k个映射时间槽的使用情况,l表示当前总的映射时间槽数量,计算公式为:温度矩阵T的第i个元素,即处理器i的归一化温度值T(xi,yi)的计算公式为:其中,To表示有量纲的原始处理器温度值,To(xi,yi)表示处理器i的原始温度值。S6、根据使用率矩阵U、权重矩阵W以及温度矩阵T计算得到代价函数矩阵C。代价函数矩阵C的第i个元素,即处理器i的代价值C(xi,yi)的计算公式为:C(xi,yi)=W(xi,yi)×U(xi,yi)×T(xi,yi)(5)S7、将代价函数矩阵C中的元素按升序排列,得到代价函数值列表Lc。S8、根据代价函数值列表Lc实现任务映射。步骤S8包括以下分步骤:S81、确定代价函数值列表Lc中相同的最小代价值的数量,记为r。S82、判断是否满足r≤|La|,若是则进入步骤S83,否则进入步骤S84;|La|表示待映射线程队列La的队列长度。S83、将待映射线程队列La中的前r个任务映射到代价函数值列表Lc的前r个元素所对应的处理器核上,并从待映射线程队列La中移除已映射任务,同时从代价函数值列表Lc中移除这r个已使用处理器核所对应的数据,进入步骤S85。S84、从这r个处理器核中选出|La|个,使得处理器核之间的曼哈顿距离最小,将待映射线程队列La中的所有任务映射到这些被选中的处理器核上,进入步骤S85。S85、将已映射任务从待映射线程队列La移至已映射线程队列Le,同时从代价函数值列表Lc中移除已被使用的处理器核对应的代价值。S86、根据当前映射情况更新并令映射时间槽计数值k加1。S9、判断是否还存在未映射的任务线程,若是则返回步骤S8,否则返回步骤S4等待下一个映射时间槽到来,具体判断方法为:判断是否满足|La|>0,若是则说明还存在未映射的任务线程,返回步骤S8,否则说明所有线程已映射完毕,返回步骤S4等待下一个映射时间槽到来。本专利技术的有益效果是:本专利技术针对多核处理器的热边信道泄漏问题,提供了一种动态安全性任务映射方法,将任务线程映射到从具有相同代价函数值的处理器核集合中选择出的最佳组合上,降低了执行过程中处理器的指令信息和瞬态温度与空间温度之间的相关性,进而降低了攻击者利用热边信道对芯片进行信息窃取的成功率。附图说明图1所示为本专利技术实施例提供的针对多核处理器信息安全的任务映射方法流程图。图2所示为本专利技术实施例提供的均匀分布热图与高斯分布的相似性对比图。图3所示为本专利技术实施例提供的步骤S8的分步骤流程图。图4所示为本专利技术实施例提供的NS与Linux映射算法示意图。图5所示为本专利技术实施例提供的22nm工艺Dunnington的SVF对比图。图6所示为本专利技术实施例提供的不同映射算法的稳态热量分布图。图7所示为本专利技术实施例提供本文档来自技高网
...
针对多核处理器信息安全的任务映射方法

【技术保护点】
1.针对多核处理器信息安全的任务映射方法,其特征在于,包括以下步骤:S1、获取处理器核的数量n以及任务包含的线程数量m;S2、判断是否满足n

【技术特征摘要】
1.针对多核处理器信息安全的任务映射方法,其特征在于,包括以下步骤:S1、获取处理器核的数量n以及任务包含的线程数量m;S2、判断是否满足n<m,若是则条件错误,映射结束,否则进入步骤S3;S3、根据每个处理器核的位置信息计算得到权重矩阵W;S4、当新的映射时间槽到来,将任务中的线程加入待映射线程队列La并清空已映射线程队列Le;S5、获取芯片中每个处理器核的使用率信息和温度信息,并根据使用率信息和温度信息计算得到对应芯片的使用率矩阵U及温度矩阵T;S6、根据使用率矩阵U、权重矩阵W以及温度矩阵T计算得到代价函数矩阵C;S7、将代价函数矩阵C中的元素按升序排列,得到代价函数值列表Lc;S8、根据代价函数值列表Lc实现任务映射;S9、判断是否还存在未映射的任务线程,若是则返回步骤S8,否则返回步骤S4等待下一个映射时间槽到来。2.根据权利要求1所述的针对多核处理器信息安全的任务映射方法,其特征在于,所述步骤S3中,权重矩阵W的第i个元素,即处理器i的权重值W(xi,yi)的计算公式为:其中(xi,yi)表示处理器i在芯片中的位置,(u1,u2)表示片上多核处理器的中心位置,σ1,σ2分别表示x与y分量上的标准差,ρ表示两个分量的相关系数,i=1,2,...,n。3.根据权利要求2所述的针对多核处理器信息安全的任务映射方法,其特征在于,所述步骤S5中,使用率矩阵U的第i个元素,即处理器i的使用率U(xi,yi)的计算公式为:其中表示处理器i在第k个映射时间槽的使用情况,l表示当前总的映射时间槽数量,计算公式为:温度矩阵T的第i个元素,即处理器i的归一化温度值T(xi,yi)的计算公式...

【专利技术属性】
技术研发人员:王坚陈哲郭世泽杨鍊
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

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

1