发明名称 基于安全MCU的嵌入式软件程序的加密系统
摘要 本发明公开了一种基于安全MCU的嵌入式软件程序的加密系统,采用的安全MCU包括微控制器和验证模块A;所述验证模块A包括随机数产生器、加密模块A、解密模块B和比较验证单元;所述嵌入程序固件包括主处理器和验证模块B;所述验证模块B包括解密模块A、加密模块B和比较验证单元;以上系统采用MCU的加密方法与固件的解密方法相对应,同理固件的加密方法与MCU的解密方法相对应的双向验证的方式,实现了程序加密。该系统采用了安全MCU,其加密技术相当成熟,程序代码不可读,防止了程序被复制,价钱也比较便宜,种类繁多,开发技术也比较成熟,另外,针对多数电子系统都已具备本发明实施的硬件架构具有通用性适于广泛推广。
申请公布号 CN101635019B 申请公布日期 2011.07.20
申请号 CN200910013430.6 申请日期 2009.08.25
申请人 中国华录集团有限公司 发明人 王敏;朱兆勋;甄钊博;姚磊
分类号 G06F21/22(2006.01)I;G06F21/02(2006.01)I 主分类号 G06F21/22(2006.01)I
代理机构 大连东方专利代理有限责任公司 21212 代理人 李洪福
主权项 一种基于安全MCU的嵌入式软件程序的加密系统,其特征在于安全MCU同嵌入程序固件通过数据通信总线相连接;所述安全MCU包括微控制器(101)和验证模块A(2);所述验证模块A包括随机数产生器(201)、加密模块A(202)、解密模块B(204)和比较验证单元(205);所述随机数产生器(201),用于产生验证过程中使用的随机数;所述加密模块A(202),用于对随机数产生器(201)产生的随机数进行加密处理;所述解密模块B(204),用于对安全MCU接收到的嵌入程序固件传回的加密数据进行解密处理;所述比较验证单元(205),用于对随机数产生器(201)随机数同解密模块B(204)解密数据进行比对,同时将解密结果发送给微控制器(101)进行处理;所述嵌入程序固件包括主处理器(102)和验证模块B(3);所述验证模块B包括解密模块A(302)、加密模块B(304)和比较验证单元(303);所述解密模块A(302),用于对嵌入程序固件接收到的加密数据进行解密处理;所述比较验证单元(303),用于将解密模块A(302)还原的数据与预设的执行指令数据进行比较,并将比较结果发送给主处理器(102);所述加密模块B(304),用于对解密模块A(302)解密的随机数进行再次加密;在使用时所述随机数产生器(201)产生一个随机数通过数据线传输给加密模块A(202)进行加密,通过数据通信总线(203)传输到验证模块B(3)的解密模块A(302)中进行解密,后通过与解密模块A(302)相连接的比较验证单元(303)进行比较判断,当比对结果满足条件,主处理器(102)控制嵌入程序固件其它单元继续工作,当比对结果不满足条件,主处理器(102)控制与其连接的加密模块B(304)对解密模块A(302)解密的随机数进行再次加密,后通过数据通信总线(203)将再次加密的随机数传送到验证模块A的解密模块B(204)中进行解密,再经过与解密模块B(204)相连接的比较验证单元(205)进行比较判断,当比对结果不满足条件,微控制器(101)控制可控电源(105)切掉主处理器(102)、固件存储器(103)和随机存储器(104)的电源,当比对结果满足条件,微控制器(101)通过数据通信总线(203)向主处理器(102)发送继续执行程序的控制指令。
地址 116023 辽宁省大连市高新园区华路1号