[发明专利]一种适用于嵌入式实时信息处理单元的加密方法有效
申请号: | 201510750224.9 | 申请日: | 2015-11-05 |
公开(公告)号: | CN105447403B | 公开(公告)日: | 2018-05-25 |
发明(设计)人: | 吴旭;王冬 | 申请(专利权)人: | 天津津航计算技术研究所 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/60 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 周恒 |
地址: | 300308 天津*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 信息处理单元 加密 实时信息处理 实时性 通用计算机平台 产权保护 加密技术 加密效果 软件产品 软件平台 硬件平台 应用 | ||
1.一种适用于嵌入式实时信息处理单元的加密方法,其特征在于,其基于加密系统来实施,所述加密系统包括加密主机及目标机,其中,加密主机为运行桌面操作系统的通用计算机,目标机为PowerPC嵌入式信息处理单元,作为待操作的对象,其硬件电路包括:CPLD/FPGA、Power PC处理器、Boot flash、Nand flash;
此外,所述加密系统还包括:精简AES加密模块和解密模块,其中精简AES加密模块运行在加密主机上,解密模块运行在目标机上;
其中,所述目标机包括:第一次逻辑校验模块、密钥管理模块、解密模块、启动模块、操作系统模块、用户应用模块;其中,密钥管理模块、解密模块和启动模块存在于Boot flash中,操作系统模块和用户应用模块以软件密文的形式存在于Nand flash中;
所述加密方法包括如下步骤:
步骤S1:在加密主机上,Vxworks IDE开发环境生成elf格式的镜像文件,此elf文件为待进行加密处理的软件明文;此软件明文读入精简AES加密模块,处理得到目标机上需要的以密文形式存在的操作系统模块和用户应用模块;
步骤S2:将步骤S1加密主机处理得到的密文加载到Nand flash中;
步骤S3:在加密主机上的在交叉编译环境下,设计目标机需要的密钥管理模块、解密模块、启动模块,并将得到的二进制文件加载到Boot flash中;
步骤S4:将第一次逻辑校验模块加载到CPLD/FPGA中;
步骤S5:目标机完成步骤S2、步骤S3和步骤S4涉及的各个模块的加载;
步骤S6:目标机执行启动模块,完成Power PC嵌入式信息处理单元的硬件初始化;执行密钥管理模块;
步骤S7:目标机执行第一次逻辑校验模块,该模块通过接受CPLD/FPGA的芯片ID信息,进行逻辑运算和校验,校验通过则继续执行任务,校验失败,则擦除软件密文达到对侵权行为的惩罚;
步骤S8:步骤S7校验成功,回读密钥;
步骤S9:目标机执行解密模块;解密模块用于从Nand flash中读入软件密文,并在内存中开辟缓存空间,执行精简AES加密算法对应的精简解密算法,并将执行结果加载到制定的缓存空间;
步骤S10:校验步骤S9得到的解密数据是否为Vxworks加载文件,校验成功则引导Vxworks操作系统;
其中,加密主机中,精简AES加密算法的实现过程为:
步骤1a:确定AES算法常数,其中算法轮数确认为二,并载入elf软件镜像文件;
步骤2a:密钥扩展KeyExpansion();
步骤3a:轮密相加AddRoundKey(0);
步骤4a:字节变换SubBytes();
步骤5a:行变换shiftrows();
步骤6a:列混合MixColumns();
步骤7a:轮密相加AddRoundKey(N),N=1,2;
步骤8a:再次运行步骤4a、步骤5a、步骤7a;并保存软件密文;
循环执行步骤1a-步骤8a的操作,直至加密结束;
其中,目标机上执行的解密模块,其运算过程为所述精简AES加密算法的逆运算过程;
目标机上,移植解密模块的步骤为:
步骤1b:封装解密模块;
步骤2b:重新分配内存,增加软件密文解密模块的缓存区域;
步骤3b:在启动模块中Vxworks操作系统模块加载函数bootVxworks()的调用过程中,自nandRead()函数后添加所述的解密模块。
2.如权利要求1所述的适用于嵌入式实时信息处理单元的加密方法,其特征在于,为了提高加密方法的层次型,设置二次校验模式:第一次逻辑校验模块和Vxworks操作系统校验模块;
第一次逻辑校验模块由CPLD/FPGA实现;Vxworks操作系统校验模块内嵌在步骤S3所涉及的目标机的解密模块中;
第一次逻辑校验模块接Power PC芯片ID,进行逻辑运算和校验;校验过程过多的数据交互会降低算法的加密强度;因此设置第一次逻辑校验模块由CPLD/FPGA实现;
CPLD/FPGA校验芯片ID,仅仅采用线性逻辑运算;校验成功返回密钥,校验失败,则进行软件密文的擦除操作,以惩处恶意侵权行为;针对CPLD/FPGA校验的状态机,定义IDLE为初始状态,DT_REQ状态为校验请求状态,DT_S为校验成功状态,DT_F_ONE为第一次校验失败状态,DT_TWO为二次校验状态,DT_F为校验失败状态;
接收到校验ID请求后由初始状态IDLE进入校验请求状态DT_REQ,校验ID正确则进入校验成功状态DT_S;校验失败进入第一次校验失败状态DT_F_ONE;为了提高校验的可靠性,向Power PC请求再次校验,并进入二次校验状态DT_TWO,两次校验信息一致,则进入校验失败状态DT_F;第二次校验成功则进入校验成功状态DT_S;DT_S校验成功状态,完成密钥的回读;DT_F为校验失败状态,发送Nand flash擦除请求,等待擦除完信号,控制系统断电。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510750224.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种云存储中图像隐私保护的方法及系统
- 下一篇:文本加密方法及装置