[发明专利]一种安全芯片抗功耗攻击防护能力量化评估的加速方法无效
| 申请号: | 201010600460.X | 申请日: | 2010-12-22 |
| 公开(公告)号: | CN102073811A | 公开(公告)日: | 2011-05-25 |
| 发明(设计)人: | 孙迎红;童元满;陆洪毅;王志英 | 申请(专利权)人: | 孙迎红 |
| 主分类号: | G06F21/00 | 分类号: | G06F21/00 |
| 代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 周长清 |
| 地址: | 410073 湖南省长沙市砚瓦池正街47号中*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 安全 芯片 功耗 攻击 防护 能力 量化 评估 加速 方法 | ||
1.一种安全芯片抗功耗攻击防护能力量化评估的加速方法,其特征在于在对安全芯片进行抗功耗攻击防护能力量化评估时,对功耗样本进行以下处理:
①功耗样本存储:将功耗样本以二维数组的方式存储;其中,不同功耗样本中同一个时间点的瞬态功耗值按“行”存储,不同时间点的功耗值按“列”存储;
②准备输入流:根据流处理器的设备内存容量,将能够完全容纳在流处理器的设备内存中的部分功耗样本复制到流处理器设备内存中;
③流处理器对输入流进行加工处理并产生输出流:按照不同时间点功耗均值并行计算以及同一时间点大量功耗值并行累加这两级并行的方式进行加速处理,计算出每个时间点的功耗均值;
④读出输出:将步骤③中流处理器计算得到的功耗均值结果读出并存储在系统主存中;
⑤循环处理:反复进行上述步骤②~④,以数据流的方式完成所有功耗样本的处理。
2.根据权利要求1所述的安全芯片抗功耗攻击防护能力量化评估的加速方法,其特征在于:所述步骤①中,功耗样本包括功耗样本集S1和功耗样本集S0,设功耗样本数为n,n为大于等于1的整数,功耗样本集S1包含的功耗样本记为X1,X2,...,Xi,...,Xn,其中1≤i≤n;单个功耗样本包含m个时刻的功耗样本值,m为大于1的整数,功耗样本Xi记为xil,xi2,...,xij,...,xim,其中1≤j≤m;功耗样本集S0包含的功耗样本记为Y1,Y2,...,Yi,...,Yn,功耗样本Yi记为yi1,yi2,...,yij,...,yim。
3.根据权利要求2所述的安全芯片抗功耗攻击防护能力量化评估的加速方法,其特征在于:所述功耗样本集在系统内存中按照二维数组方式存储,单个功耗样本在不同时刻的值按“列”存储,不同功耗样本在同一时刻的值按“行”存储,即功耗样本集S1的第一行为x11,x21,x31,...,xi1,...,xn1,第二行为x12,x22,x32,...,xi2,...,xn2,依此类推,第i行为x1i,x2i,x3i,...,xii,...,xni,第m行为x1m,x2m,x3m,...,xim,...,xnm;功耗样本集S0的第一行为y11,y21,y31,...,yi1,...,yn1,第二行为y12,y22,y32,...,yi2,...,yn2,依此类推,第i行为y1i,y2i,y3i,...,yii,...,yni,第m行为y1m,y2m,y3m,...,yim,...,ynm。
4.根据权利要求3所述的安全芯片抗功耗攻击防护能力量化评估的加速方法,其特征在于:所述步骤①中,除功耗样本外,在系统内存中开辟一个长度为m的一维数组dm,用于存储功耗样本集S1和S0的均值之差。
5.根据权利要求2或3或4所述的安全芯片抗功耗攻击防护能力量化评估的加速方法,其特征在于:所述步骤②中,先在流处理器的设备内存中开辟用于存储功耗样本和均值结果的存储空间,即根据流处理器设备内存的容量,分别开辟2个r行n列的二维数组,以及1个长度为r的一维数组,其中r≤m,2个二维数组分别记为gx和gy,长度为r的一维数组记为dg;2个r行n列的二维数组用于暂存功耗样本,长度为r的数组用于存储功耗样本的均值计算结果。
6.根据权利要求5所述的安全芯片抗功耗攻击防护能力量化评估的加速方法,其特征在于所述步骤②和步骤③的详细步骤为:
1.1复制输入流:当执行第s次迭代时,将功耗样本集S1和S0的第s个子块分别复制到流处理器设备内存的gx和gy中,其中1≤s≤m/r;
1.2在流处理器中创建大量独立的并发线程:按照两级结构组织所有的线程,第一级为线程块,第二级为单个独立的线程,所有线程共分为r个线程块,r个线程块组成完整的线程网格,每个线程块负责计算两个功耗样本集在一个时刻的功耗均值之差;每个线程块共包括B个独立并发线程,其中B为流处理器中线程块所能支持的最大线程数;按照这种线程组织方式,每个线程块被赋予一个索引号bx,且1≤bx≤r;线程块中每个线程也被赋予一个线程索引号tx,且1≤tx≤B;
1.3定义共享变量:在流处理器的片内共享内存区域为每个线程块开辟两个长度为B的一维数组,分别记为sx和sy,sx和sy可以被同一线程块内的任意线程访问;
1.4共享变量初始化:将每个线程块中sx与sy的所有元素初始化为0;
1.5面向设备内存的并行累加:在所有的线程块中,每个线程做如下的累加操作:
1.6面向共享内存的并行累加:在所有的线程块中,共执行log2B次累加操作,每步累加的具体方法为在第i步累加中,只有线程索引号小于等于B/2i的线程执行有效操作,其余的B-B/2i个线程空转,其中1≤i≤log2B;B/2i个线程分别执行如下累加操作,sx[tx]=sx[tx]+sx[tx+B/2i],sy[tx]=sy[tx]+sy[tx+B/2i];每个线程在累加操作完成之后进行栅栏同步,确保B/2i个线程的累加操作都已完成,方可进行下一步的累加操作;在第log2B步累加操作完成之后,sx[1]和sy[1]分别为gx和gy第bx行的累加和;
1.7产生输出流:在每个线程块中,线程索引号为1的线程执行如下操作:dg[bx]=(sx[1]-sy[1])/n,即计算第bx行的均值之差,并将结果写入到位于流处理器设备内存的数组dg中;同一线程块中其余B-1个线程空转;
1.8读出输出流:将数组dg中r个元素从流处理器设备内存中复制到位于系统内存的dm中,且dm的起始位置为1+(s-1)r,即得到了第s次迭代的均值之差计算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于孙迎红,未经孙迎红许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010600460.X/1.html,转载请声明来源钻瓜专利网。





