一种嵌入式软件安全保护系统技术方案

技术编号:8022622 阅读:556 留言:0更新日期:2012-11-29 04:50
本发明专利技术属于信息安全技术领域,具体涉及一种嵌入式软件安全保护系统,目的是增加嵌入式软件的安全性。该系统在嵌入式设备上设有安全防护模块,所述安全防护模块包括物理防撬装置及防撬盖板、硬件加解密模块电路,加解密模块电路用于CPU对EPROM数据访问的接管并配合物理防撬装置及防撬盖板实现对SRAM数据的动态防护。采用物理防撬装置及防撬盖板防,具有防破坏能力,防止攻击者使用探针探测等方式获取敏感信息;并且防撬盖板可以屏蔽电磁辐射,防止攻击者利用电磁辐射泄露攻击安全系统。

【技术实现步骤摘要】

本专利技术属于信息安全
,具体涉及一种嵌入式软件安全保护系统,将该方法应用于嵌入式软件安全防护过程中,可以增加嵌入式软件的安全性。
技术介绍
目前市场针对ARM,DSP、单片机通常的安全防护手段很少,重要的程序直接暴露在透明的Flash、EEPR0M中。面对不断发展的攻击技术以及黑客之间的竞争,产品的破解时间和成本越来越低,相对于产品仿制者获得的巨大利益,有时其破解成本甚至可以忽略不计。因此,如何保护自身的利益,是产品设计者必须面对的问题。单片机和嵌入式系统一般都有内部R0M/EEPR0M/FLASH供用户存放程序,在系统运行的过程中;CPU将存储器中的程序加载到内存或者SDRAM中,进行执行。为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓拷贝保护或者说锁定功能。事实上,这样的保护措施很脆弱,很容易被破解。单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,从而获取FLASH或者EPROM内程序或者直接从SDRAM或者内存中或者程序运行的关键数据内容。
技术实现思路
本专利技术的目的是针对现有技术的不足,提出一种对设备和数据进行安全防护的嵌入式软件安全保护系统。本专利技术是这样实现的—种嵌入式软件安全保护系统,在嵌入式设备上设有安全防护模块,所述安全防护模块包括物理防撬装置及防撬盖板、硬件加解密模块电路,所述加解密模块电路用于CPU对EPROM数据访问的接管并配合物理防撬装置及防撬盖板实现对SRAM数据的动态防护。如上所述的一种嵌入式软件安全保护系统,其中所述加解密模块电路包括相连的FPGA和安全芯片,FPGA输出CPU信号和NVM信号;所述FPGA用于逻辑控制信号的生成,并负责CPU访问存储器的接管;安全芯片用于对数据的加解密、密钥管理。如上所述的一种嵌入式软件安全保护系统,其中所述物理防撬装置及防撬盖板I包括安全状态总线及安全总线状态检测电路;所述安全状态总线的引出端排线采用乱序方式分布;所述安全状态总线的引出端通过固定装置固定于防撬盖板。如上所述的一种嵌入式软件安全保护系统,其中所述安全芯片执行安全检测程序在通信过程中,安全检测程序定时将安全芯片生成随机数发送给FPGA,FPGA利用散列算法对随机数进行运算并回传给安全芯片;安全检测程序利用同样的散列算法对随机数进行运算,并将结果同FPGA回传的结果相比较;如果结果一致,说明安全状态总线正确连接,系统安全状态正常;否则,视为系统安全状态异常;若系统安全状态异常,安全检测程序立即向CPU发出自毁命令,清除SRAM中数据和安全芯片中的密钥,使CPU挂起,停止工作。如上所述的一种嵌入式软件安全保护系统,其中所述加解密模块电路在每次加密时采用的密钥不同;数据加密前,安全芯片生成新的随机数,存储于安全芯片的flash中,读取硬件序列号,利用随机数和硬件序列号组合生成密钥种子,通过安全芯片自身的SHAl杂凑算法对密钥种子进行运算,从而生成数据加密密钥,用于数据加密处理;数据解密前,首先对安全芯片进行配置,读取硬件序列号,再利用安全芯片序列号和存储的随机数组合生成密钥种子,最后通过安全芯片自身的SHAl杂凑算法对密钥种子进行运算,从而生成数据解密密钥,用于CPU与存储器之间的数据解密处理;加解密密钥存储在安全芯片的内存中,所述密钥在嵌入式设备掉电后消失,再次 上电时重新合成密钥种子,生成加解密密钥。如上所述的一种嵌入式软件安全保护系统,其中所述加解密模块电路通过PC端加密处理实现对嵌入式软件的加密加密芯片先产生一个随机数,之后将随机数存储到加密芯片中,完成安全防护模块初始化过程,随机数结合芯片序列号通过SHAl杂凑算法生成密钥,再通过SMl分组算法进行嵌入式软件加密;解密时,加密芯片通过已经存储的随机数、加密芯片序列号,同样的杂凑算法和解密算法进行解密处理即可。本专利技术的有益效果是通过增加安全防护模块,能够对设备和数据进行有效的安全防护。通过在安全芯片内部运行安全监测程序,能够定时检查物理防撬装置的有效性。采用物理防撬装置及防撬盖板防,具有防破坏能力,防止攻击者使用探针探测等方式获取敏感信息;并且防撬盖板可以屏蔽电磁辐射,防止攻击者利用电磁辐射泄露攻击安全系统。通过采用“一次一密”原则,进一步保证密钥和硬件模块的一一对应关系。附图说明图I是本专利技术提供的一种嵌入式软件安全保护系统的结构原理图;图4是本专利技术提供的一种嵌入式软件安全保护系统的外部结构图;图2是解密电路工作流程;图3是安全状态监控流程;图5是PC端加密处理流程图;图中1.物理防撬装置及防撬盖板,2.加解密模块电路,3.嵌入式设备主板,4.螺丝。具体实施例方式下面结合附图和实施例对本专利技术提供的一种嵌入式软件安全保护系统做进一步介绍如图1、2所示,一种嵌入式软件安全系统,在嵌入式设备上增加安全防护模块,该安全防护模块包括物理防撬装置及防撬盖板I、硬件加解密模块电路2 ;加解密模块电路2实现CPU对EPROM数据访问的接管,并配合物理防撬装置及防撬盖板I实现对SRAM数据的动态防护。其中,(I)加解密模块电路包括FPGA、安全芯片、排针(含CPU信号和NVM信号);FPGA与安全芯片相连,FPGA输出CPU信号和NVM信号。FPGA实现各种逻辑控制信号的生成,并负责CPU访问存储器的接管;安全芯片实现对数据的加解密、密钥管理以及作为安全检测程序的运行载体,实现对SRAM中数据的动态保护,防止非法分析和破解。如图3所示,加解密模块电路工作原理如下嵌入式设备每次上电时,FPGA控制逻辑信号,挂起CPU,使能安全芯片,运行安全检测程序,使FPGA和安全芯片握手通信,借以判定安全监控状态;如果状态正常,则FPGA读取EPROM中的程序到安全芯片中,利用SHAl算法生成解密密钥,进行解密处理,处理完成后再使能CPU,加载程序到内存中执行。安全芯片内部运行有安全监测程序,它在系统运行过程中常驻安全芯片内存,主要工作就是定时检查物理防撬装置的有效性,保证安全芯片和FPGA进行通信。如图3所示,在通信过程中,安全检测程序定时将安全芯片生成随机数发送给FPGA,FPGA利用散列算法对随机数进行运算并回传给安全芯片,安全检测程序也利用同样的散列算法对随机数进行运算,并将结果同FPGA回传的结果相比较。如果结果一致,说明安全状态总线正确连接,系统安全状态正常;否则,视为系统安全状态异常。如果攻击者想窃取内存或EPROM中的数据,首先要移掉防撬盖板,而一旦防撬盖板被移除以后,安全状态总线被破坏,安全检测程序不能及时同FPGA进行握手通信,从而探测到该攻击行为,安全检测程序立即向CPU发出自毁命令,清除SRAM中数据和安全芯片中的密钥,使CPU挂起,停止工作。(2)物理防撬装置及防撬盖板I还包括安全状态总线(细软排线引出端)及安全总线状态检测电路等。安全状态总线的引出端优选采用细软排线,该排线采用乱序方式分布,一旦拉断,不可恢复原来状态;安全状态总线的引出端通过固定装置固定于防撬盖板,一旦防撬盖板被打开即被拉断,安全本文档来自技高网...

【技术保护点】
一种嵌入式软件安全保护系统,其特征在于:在嵌入式设备上设有安全防护模块,所述安全防护模块包括物理防撬装置及防撬盖板(1)、硬件加解密模块电路(2),所述加解密模块电路(2)用于CPU对EPROM数据访问的接管并配合物理防撬装置及防撬盖板(1)实现对SRAM数据的动态防护。

【技术特征摘要】

【专利技术属性】
技术研发人员:苏均生李宁
申请(专利权)人:北京京航计算通讯研究所
类型:发明
国别省市:

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

1