一种嵌入式系统技术方案

技术编号:15792395 阅读:164 留言:0更新日期:2017-07-10 00:29
本发明专利技术公开了一种嵌入式系统,包括:闪存控制器、CPU和闪存芯片,闪存控制器与CPU和闪存芯片分别连接;其中,闪存控制器包括:闪存系统总线接口;主控单元,与所述闪存系统总线接口连接;闪存控制单元,与闪存系统总线接口、所述主控单元和所述闪存芯片分别连接;闪存控制单元,用于对与数据写入指令对应的程序数据进行加密,得到程序数据密文,并根据接收到的数据写入指令和对应的地址,将程序数据密文写入闪存芯片;还用于根据接收到的数据读取指令和对应的地址,读取闪存芯片中所存储的程序数据密文,并解密得到对应的程序数据,供所述CPU执行。本技术方案,可以有效保护程序数据不被盗取,从根本上实现程序数据的安全存储。

【技术实现步骤摘要】
一种嵌入式系统
本专利技术实施例涉及计算机
,尤其涉及一种嵌入式系统。
技术介绍
微控制器(MicroControlUnit,MCU)应用非常广泛,小到儿童玩具,大到工程机械均有可能用到。MCU芯片在应用时,用户需要花费大量的人力物力进行软件开发,最终的程序数据存入闪存中,而这些程序数据均属于用户的知识产权,应避免被其他用户盗取。非法侵入者可能采用暴力拆解芯片,强行读出闪存中数据。MCU芯片通常直接将程序数据存储到闪存芯片中。目前,为了保证程序数据的安全性,现有技术通常采用在MCU芯片在生产制作中,将闪存芯片嵌入到MCU芯片中,或者采用工业应用中相对较为成熟的MCP(MultipleChipPackage,多芯片封装)技术将主芯片与闪存芯片制造在同一个封装内。采用存芯片嵌入到MCU芯片的技术方案,因为芯片分为很多层,非法入侵者需要将嵌入到芯片中的闪存芯片位置分析出,然后分析闪存芯片中每个存储单元所存储的数据,并抽取出来,虽然上述技术方案需要通过硬件和版图分析才能得到闪存数据,增加了非法入侵者拆解芯片的技术难度,但仍可抛开芯片,将闪存芯片中的数据全部读出,不能从根本上保证闪存芯片中的程序数据的安全性。对于采用MCP方案的MCU来说,非法侵入者可以通过拆解封装,得到闪存芯片,将闪存芯片中的数据全部读出,同样存在着很大的数据泄露风险。
技术实现思路
本专利技术提供一种嵌入式系统,以解决程序数据存储的安全问题。本专利技术实施例提供了一种嵌入式系统,包括闪存控制器、中央处理器CPU和闪存芯片,所述闪存控制器与所述CPU和所述闪存芯片分别连接;其中,所述闪存控制器包括:闪存系统总线接口;主控单元,与所述闪存系统总线接口连接;闪存控制单元,与所述闪存系统总线接口、所述主控单元和所述闪存芯片分别连接;所述闪存系统总线接口,用于将系统总线发出的数据写入指令和对应的地址发送至所述主控单元,以及将与所述数据写入指令对应的程序数据发送至所述闪存控制单元;还用于将系统总线发出的数据读取指令和对应的地址发送至所述主控单元;所述主控单元,用于将系统总线发出的数据写入指令和对应的地址发送至所述闪存控制单元;还用于将系统总线发出的数据读取指令和对应的地址发送至所述闪存控制单元;所述闪存控制单元,用于对与所述数据写入指令对应的程序数据进行加密,得到程序数据密文,并根据接收到的数据写入指令和对应的地址,将所述程序数据密文写入所述闪存芯片;还用于根据接收到的数据读取指令和对应的地址,读取所述闪存芯片中所存储的程序数据密文,并解密,得到对应的程序数据,供所述CPU执行;所述闪存芯片,用于储存所述程序数据密文。进一步地,所述闪存控制单元包括:密钥寄存器,用于存储加密密钥和解密密钥;指令翻译子单元,与所述主控单元连接,用于将通过所述主控单元接收到的系统总线发出的数据写入指令或数据读取指令翻译成所述闪存芯片可识别的数据写入指令或数据读取指令;地址翻译子单元,与所述主控单元连接,用于将通过所述主控单元接收到的与系统总线发出的数据写入指令对应的地址翻译成第一物理地址,以及将通过所述主控单元接收到的与系统总线发出的数据读取指令对应的地址翻译成第二物理地址;数据加密子单元,与所述密钥寄存器和所述闪存系统总线接口分别连接,用于接收所述闪存系统总线接口发送的所述程序数据,并获取所述密钥寄存器所存储的加密密钥,利用所述加密密钥对所接收到的所述程序数据进行加密,得到程序数据密文;接口转换子单元,与所述指令翻译子单元、所述地址翻译子单元、所述数据加密子单元和所述闪存芯片分别连接,用于对所述闪存芯片可识别的数据写入指令、所述第一物理地址和所述程序数据密文进行打包,发送至所述闪存芯片,以将所述程序数据密文写入所述闪存芯片中;还用于对所述闪存芯片可识别的数据读取指令和所述第二物理地址进行打包,发送至所述闪存芯片,以获取所述闪存芯片所储存的程序数据密文;数据解密子单元,与所述接口转换子单元和所述密钥寄存器分别连接,用于利用所述密钥寄存器所存储的解密密钥,对通过所述接口转换子单元所获取的程序数据密文进行解密,得到对应的程序数据,供CPU执行。进一步地,所述加密密钥包括:地址加密密钥和数据加密密钥;所述数据加密子单元具体用于,接收所述闪存系统总线接口发送的所述程序数据,并获取所述密钥寄存器所存储的数据加密密钥,利用所述数据加密密钥对所接收到的所述程序数据进行加密,得到程序数据密文;所述闪存控制单元还包括:地址加密子单元,与所述地址翻译子单元、所述密钥寄存器和所述接口转换子单元分别连接,用于利用所述密钥寄存器所存储的地址加密密钥,对所述地址翻译子单元翻译的第一物理地址进行加密,得到闪存芯片的第一加密物理地址,并发送至所述接口转换子单元;还用于利用所述密钥寄存器所存储的地址加密密钥,对所述地址翻译子单元翻译的第二物理地址进行加密,得到闪存芯片的第二加密物理地址,并发送至所述接口转换子单元;相应的,所述接口转换子单元,具体用于对所述闪存芯片可识别的数据写入指令、所述第一加密物理地址和所述程序数据密文进行打包,发送至所述闪存芯片,以将所述程序数据密文写入所述闪存芯片中;还用于对所述闪存芯片可识别的数据读取指令和所述第二加密物理地址进行打包,发送至所述闪存芯片,以获取所述闪存芯片所储存的程序数据密文。进一步地,所述密钥寄存器与所述闪存芯片连接,用于在所述系统上电后自动从所述闪存芯片中读取加密密钥和解密密钥,并存储。进一步地,所述加密密钥和所述解密密钥为所述闪存芯片的序列号。进一步地,所述系统还包括:静态随机存储器SRAM;所述闪存控制器还包括:SRAM控制单元,与所述数据解密子单元和所述SRAM分别连接,用于与所述数据解密子单元交互解密后的程序数据,并存入所述SRAM。进一步地,在所述闪存芯片采用串行外设接口SPI时,所述接口转换子单元具体用于,对所述闪存芯片可识别的数据写入指令、所述第一物理地址和所述程序数据密文进行打包,打包为第一串行数据流,并发送至所述闪存芯片,以将所述程序数据密文写入所述闪存芯片中;还具体用于对所述闪存芯片可识别的数据读取指令和所述第二物理地址进行打包,打包为第二串行数据流,并发送至所述闪存芯片,以获取所述闪存芯片所储存的程序数据密文。本专利技术所提供的技术方案,通过闪存控制器的闪存控制单元对程序数据进行加密,以程序数据密文的形式存储到闪存芯片中,即使非法侵入者通过物理拆解芯片,读出闪存芯片中数据,也无法还原成原始明文程序数据,保护程序数据不被盗取,从根本上实现程序数据的安全存储。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术实施例一所提供的一种嵌入式系统的结构示意图;图2为本专利技术实施例二所提供的一种嵌入式系统的结构示意图;图3为本专利技术实施例三所提供的一种嵌入式系统的结构示意图;图4为本专利技术实施例四所提供的一种嵌入式系统的结构示意图;图5为本专利技术实施例提供的一种嵌入式系统的读写方法的流程图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅本文档来自技高网...
一种嵌入式系统

【技术保护点】
一种嵌入式系统,其特征在于,包括:闪存控制器、中央处理器CPU和闪存芯片,所述闪存控制器与所述CPU和所述闪存芯片分别连接;其中,所述闪存控制器包括:闪存系统总线接口;主控单元,与所述闪存系统总线接口连接;闪存控制单元,与所述闪存系统总线接口、所述主控单元和所述闪存芯片分别连接;所述闪存系统总线接口,用于将系统总线发出的数据写入指令和对应的地址发送至所述主控单元,以及将与所述数据写入指令对应的程序数据发送至所述闪存控制单元;还用于将系统总线发出的数据读取指令和对应的地址发送至所述主控单元;所述主控单元,用于将系统总线发出的数据写入指令和对应的地址发送至所述闪存控制单元;还用于将系统总线发出的数据读取指令和对应的地址发送至所述闪存控制单元;所述闪存控制单元,用于对与所述数据写入指令对应的程序数据进行加密,得到程序数据密文,并根据接收到的数据写入指令和对应的地址,将所述程序数据密文写入所述闪存芯片;还用于根据接收到的数据读取指令和对应的地址,读取所述闪存芯片中所存储的程序数据密文,并解密,得到对应的程序数据,供所述CPU执行;所述闪存芯片,用于储存所述程序数据密文。

【技术特征摘要】
1.一种嵌入式系统,其特征在于,包括:闪存控制器、中央处理器CPU和闪存芯片,所述闪存控制器与所述CPU和所述闪存芯片分别连接;其中,所述闪存控制器包括:闪存系统总线接口;主控单元,与所述闪存系统总线接口连接;闪存控制单元,与所述闪存系统总线接口、所述主控单元和所述闪存芯片分别连接;所述闪存系统总线接口,用于将系统总线发出的数据写入指令和对应的地址发送至所述主控单元,以及将与所述数据写入指令对应的程序数据发送至所述闪存控制单元;还用于将系统总线发出的数据读取指令和对应的地址发送至所述主控单元;所述主控单元,用于将系统总线发出的数据写入指令和对应的地址发送至所述闪存控制单元;还用于将系统总线发出的数据读取指令和对应的地址发送至所述闪存控制单元;所述闪存控制单元,用于对与所述数据写入指令对应的程序数据进行加密,得到程序数据密文,并根据接收到的数据写入指令和对应的地址,将所述程序数据密文写入所述闪存芯片;还用于根据接收到的数据读取指令和对应的地址,读取所述闪存芯片中所存储的程序数据密文,并解密,得到对应的程序数据,供所述CPU执行;所述闪存芯片,用于储存所述程序数据密文。2.根据权利要求1所述的系统,其特征在于,所述闪存控制单元包括:密钥寄存器,用于存储加密密钥和解密密钥;指令翻译子单元,与所述主控单元连接,用于将通过所述主控单元接收到的系统总线发出的数据写入指令或数据读取指令翻译成所述闪存芯片可识别的数据写入指令或数据读取指令;地址翻译子单元,与所述主控单元连接,用于将通过所述主控单元接收到的与系统总线发出的数据写入指令对应的地址翻译成第一物理地址,以及将通过所述主控单元接收到的与系统总线发出的数据读取指令对应的地址翻译成第二物理地址;数据加密子单元,与所述密钥寄存器和所述闪存系统总线接口分别连接,用于接收所述闪存系统总线接口发送的所述程序数据,并获取所述密钥寄存器所存储的加密密钥,利用所述加密密钥对所接收到的所述程序数据进行加密,得到程序数据密文;接口转换子单元,与所述指令翻译子单元、所述地址翻译子单元、所述数据加密子单元和所述闪存芯片分别连接,用于对所述闪存芯片可识别的数据写入指令、所述第一物理地址和所述程序数据密文进行打包,发送至所述闪存芯片,以将所述程序数据密文写入所述闪存芯片中;还用于对所述闪存芯片可识别的数据读取指令和所述第二物理地址进行打包,发送至所述闪存芯片,以获取所述闪存芯片所储存的程序数据密文;数据解密子单元,与所述接口转...

【专利技术属性】
技术研发人员:王南飞
申请(专利权)人:北京兆易创新科技股份有限公司
类型:发明
国别省市:北京,11

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

1