代码完整性校验电路的制作方法

文档序号:6589698阅读:471来源:国知局
专利名称:代码完整性校验电路的制作方法
技术领域
本实用新型涉及信息安全技术领域,具体涉及一种代码完整性校验电路。
背景技术
—般的数据完整性校验方法主要是校验动态的数据,譬如,l.通讯过程中的某些 消息发送机制,在要发送的消息前加上一个前导位,或在消息后面加上一个CRC16效验值, 跟消息一起发送,接收机根据前导位使消息同步,根据CRC效验值判断所发消息是否发生 错误;2.采用密码或非密码方法使消息与一段信息关联,通过这个信息可以验证消息是否 完整以及消息的来源。但是,保护静态数据的完整性也同样重要,比如存储在FLASH闪存中 的程序和数据,为保护公司的经济利益,任何非法的纂改都应该被禁止。 现有技术的芯片代码完整性保护方法,其实现过程大都如下 1.芯片内部都集成了两个有优先级别的处理器,由仲裁模块来调度处理器的工 作。譬如,飞思卡尔半导体有限公司自主研发的芯片MCMX31RM,就含有CPU和DMA两种处 理器。DMA—般含有多个通道,每个通道都能进行数据的搬运处理,其中,负责代码完整性保 护的那个通道,譬如通道0, CPU不能对其控制访问,而由专门的代码完整性保护电路来控 制它。通道0具有最高的优先级,当CPU和DMA各个通道同时向仲裁器申请系统总线时,通 道0总能先拿到总线控制权。 2.对需要效验的代码部分,用某种HASH算法算出摘要,譬如SHA1算法,然后把摘 要存储在芯片内部某安全区,此安全区必须是禁止CPU访问的。 3.使用一个定时器来调节DMA和CPU占用系统总线的比例。 然而,现有技术中,只支持SHA1算法,导致安全性不高。

实用新型内容本实用新型的目的在于提供一种安全性高的代码完整性保护电路。 本实用新型提供一种代码完整性校验电路,其包括系统总线、闪存、实时完整性校 验单元、一次性可编程存储器、DMA控制器及CPU,所述闪存、实时完整性校验单元、一次性 可编程存储器、DMA控制器及CPU都连接到所述系统总线上,所述实现完整性校验单元与所 述DMA控制器相连接。 较优的,所述实现完整性校验单元包括算法控制模块,算法模块、时序控制模块、 DMA配置模块及看门狗,所述算法控制模块分别连接至所述算法存储模块、时序控制模块、 DMA配置模块及看门狗,所述DMA配置模块连接至所述DMA控制器。。较优的,所述算法模块包括SHA1和SHA256两种HASH算法。 与现有技术相比较,本实用新型在算法模块中增加了 SHA256算法,具有更高的安 全性;对RTIC专用通道实行单独处理,完全隔绝了 CPU对RTIC专用通道的访问;结果寄存 器以寄存器和指针方式给出,应用更加灵活;DMA操作封装成指令形式,集成更加方便。
图1是代码完整性保护电路的系统框图。 图2是图1中的实时完整性校验单元的工作流程图。
具体实施方式如图1所示,本实用新型的代码完整性校验电路系统包括系统总线、及连接到系 统总线上的闪存(Flash Memory)、实时完整性校验单元(Real Time Integrate Check, RTIC)、一次性可编程存储器(One Time Programmable, OTP) 、 DMA控制器、CPU。闪存存放 受保护内容(CPU执行的指令和数据),DMA控制器是系统通用控制器。OTP是片内只可写 一次的永久存储器,用来存放密钥等关键数据,一般在出厂时配置好,用户不能更改。RTIC 单元用于检查闪存里的内容是否被未授权用户篡改。 RTIC单元包括算法控制模块,算法模块、时序控制模块、DMA配置模块及看门狗。 算法控制模块分别连接至算法存储模块、时序控制模块、DMA配置模块及看门狗。各模块功 能描述如下 算法控制模块是RTIC单元控制部分,具有结果比较,出错处理,DMA控制器操作 指令的发布等功能,其共包含如下11种指令待效验内容搬运到SHA1256报文寄存器、给 算法模块置初值、获得算法模块初值、给算法模块结果寄存器赋初值、启动算法模块开始运 算、判断算法模块是否运算完毕、构造报文填充内容获得最终摘要、DMA解除对总线的锁定、 链表控制权移交、空传输、结束链表;DMA配置模块连接至DMA控制器,并控制DMA控制器操 作指令的实施,当程序运行时,每隔一段时间,DMA配置模块会控制DMA控制器的RTIC专 用通道从MEMORY中搬运部分待效验内容,进行一次HASH运算;算法模块可以执行SHA1和 SHA256两种HASH算法;时序控制器用于调节DMA和CPU占用总线的时间比例;看门狗用于 监测DMA控制器操作指令是否在规定时间内完成。 如图2所示,RTIC单元的工作流程如下 在步骤100中,系统上电复位,DMA控制器锁定总线,经过一系列初始化过程,链表 移交给RTIC单元的动态链接表,接下来的过程由动态链接表来引导,RTIC单元共两种工作 方式,分别为HASH0NCE模式和RUNTME模式,HASH0NCE模式是独占总线的,主要功能是在 引导阶段检查存储器中的内容是否被更改,RUNTME模式是DMA与CPU分时运行的。 若在步骤110中选择的是RUNTME模式,则执行步骤120, DMA释放对总线锁定的 操作120,若没有选择RUNTME模式则直接执行步骤130 ;在步骤130中,计算待效验内容的 HASH值;步骤140中,比较理论值与实际值是否一致来判断MEMORY内容是否被非法更改, 若待效验内容被纂改,则执行步骤150,产生错误复位信号复位整个系统;若效验正确,则 执行步骤160,判断当前模式是否为RUNTME模式来断定是否需要继续效验;若当前模式是 RUNTME模式,则回到步骤130,若非RUNTME模式,则意味着HASHONCE模式效验完毕,执行 步骤170,检查下张链表地址寄存器是否为NULL,若非NULL,执行步骤180,将链表控制权移 交给下张链表地址寄存器中的地址;若为NULL,说明当前电路只进行了 HASHONCE模式的效 验,且效验完毕,则执行步骤190,解除DMA对总线的锁定,且结束链表。 本实用新型的安全性分析如下 1.非法用户很难能根据外部Memory 10管脚区别什么时候是DMA在工作,什么时候是CPU在工作,非法用户的外挂Memory无法避开RTIC单元的检测。 2.非法用户很难使用任何方式进行单步调试,因RTIC单元内置看门狗监测了 DMA
指令传输的时间,单步调试会引起看门狗溢出并强制系统重新复位。 3. RTIC使用一个单独的DMA专用通道,DMA其它通道和CPU都不能对其访问,故非 法用户无法用CPU或DMA其它通道干扰RTIC专用通道的工作。 4.期望结果若存储在片内OTP中,产品发布后是不能更改的,非法用户不可能来 修改期望结果来让自己的MEMORY工作;期望结果也可加密存储在外部FLASH中,但密钥存 储在安全片内OTP中,非法用户不知道密钥,不可能按照自己需求更改预设值。 与现有技术相比较,本实用新型在算法模块中增加了 SHA256算法,具有更高的安 全性;对RTIC专用通道实行单独处理,完全隔绝了 CPU对RTIC专用通道的访问;结果寄存 器以寄存器和指针方式给出,应用更加灵活;DMA操作封装成指令形式,集成更加方便。
权利要求一种代码完整性校验电路,其特征在于包括系统总线、闪存、实时完整性校验单元、一次性可编程存储器、DMA控制器及CPU,所述闪存、实时完整性校验单元、一次性可编程存储器、DMA控制器及CPU都连接到所述系统总线上,所述实现完整性校验单元与所述DMA控制器相连接。
2. 如权利要求1所述的代码完整性校验电路,其特征在于,所述实现完整性校验单元包括算法控制模块,算法模块、时序控制模块、DMA配置模块及看门狗,所述算法控制模块分别连接至所述算法存储模块、时序控制模块、DMA配置模块及看门狗。
3. 如权利要求2所述的代码完整性校验电路,其特征在于,所述DMA配置模块连接至所述DMA控制器。
4. 如权利要求2所述的代码完整性校验电路,其特征在于,所述算法模块包括SHA1和SHA256两种HASH算法。
专利摘要本实用新型公开一种代码完整性校验电路,其包括系统总线、闪存、实时完整性校验单元、一次性可编程存储器、DMA控制器及CPU,所述闪存、实时完整性校验单元、一次性可编程存储器、DMA控制器及CPU都连接到所述系统总线上,所述实现完整性校验单元与所述DMA控制器相连接。本实用新型的代码完整性校验电路具有安全性高的优点。
文档编号G06F12/14GK201489524SQ20092013428
公开日2010年5月26日 申请日期2009年7月29日 优先权日2009年7月29日
发明者郭小强, 黄洋 申请人:深圳国微技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1