当前位置: 首页 > 专利查询>周清睿专利>正文

系统级芯片技术方案

技术编号:15392036 阅读:36 留言:0更新日期:2017-05-19 05:05
本发明专利技术公开了一种系统级芯片(SoC),包括:中央处理器(CPU);现场可编程门阵列(FPGA),其中设有加密/解密模块,CPU通过系统总线连接到所述加密/解密模块;以及片上存储器,其通过系统总线连接到所述加密/解密模块并且其中存储有预设的加密和/或不加密的系统程序和执行所述系统程序所需的数据。所述加密/解密模块:在系统程序和/或数据以预定的地址映射关系存储于片上存储器中时,将CPU发送的地址解密为系统程序和/或数据在片上存储器中的实际地址;并且/或者在系统程序和/或数据是加密的时,对CPU经由FPGA从片上存储器读取的系统程序和/或数据进行解密,以及对从CPU经由FPGA传输到片上存储器的数据进行加密。

System on chip

The invention discloses a system on chip (SoC), including: the central processor (CPU); field programmable gate array (FPGA), which is the encryption / decryption module, CPU is connected to the encryption / decryption module through a system bus; and on-chip memory through the system bus is connected to the encryption / and the decryption module stores required default encryption and / or encryption system procedures and the implementation of the system program data. The encryption / decryption module in system program and / or data in a predetermined address mapping stored in on-chip memory, CPU will send the address to address the actual decryption system program and / or data memory in the system; and / or in the program and / or data is encrypted when CPU, to decrypt FPGA via the on-chip memory is read from the program and / or data, as well as from the CPU via the FPGA transmission to the on-chip memory data encryption.

【技术实现步骤摘要】
系统级芯片
本专利技术涉及集成电路领域,尤其涉及一种系统级芯片(SOC)。
技术介绍
微控制单元(MicrocontrollerUnit;MCU)的破解方法包括已知的非侵入式攻击(Non-invasiveattacks),如功耗分析(Poweranalysis)和噪声干扰(Glitching);侵入式攻击(Invasiveattacks),如反向工程(Reverseengineering)和微探测分析(Microprobing);以及半侵入式攻击(Semi-invasiveattacks)。半侵入式攻击和侵入式一样,它需要打开芯片的封装以接近芯片表面,但是钝化层(Passivation)还是完好的,因为这种方法不需要与内部连线进行电接触。半侵入式攻击介于非侵入式与侵入式之间,对硬件的安全是个巨大的威胁。它像侵入式一样高效,又像非侵入式一样廉价。缺陷注入攻击法(Faultinjectionattacks)是一种实用而有效的MCU的破解方法,通过修改SRAM和EEPROM的内容,可改变芯片上任意单个MOS管的状态。这几乎可以不受限制地控制芯片的运行和外围保护部分。另一点是进行了数据保存期的实验,揭示了从已断电的SRAM和已擦除过的EPROM,EEPROM和闪存芯片中读出数据,从而得到MCU的实际运行代码。利用上述方法,现有的MCU芯片几乎没有不能破解,且代价并不很大。为了防止MCU被破解,目前的解决方案是使用基于现场可编程门阵列(Field-ProgrammableGateArray;FPGA)的MCU动态总线加密方法,这是一种利用FPGA配置数据的无规律性和FPGA的可编程性,实现一般MCU不能实现的动态变换总线定义和程序数据的加密方法,从而实现MCU的用户设计的安全。动态加密技术的主要思路是:在程序看到的是虚地址,而虚地址对应的存储器的实地址由CPU程序运行时通过定制化的逻辑电路赋予。其原理如图1所示。举例来说,若CPU调用子程序CALLFunction时,对应于同一个子程序调用,第一次调用的是真正的Function,实地址可能在1000H。而在第二次调用Function时,实地址可能是2000H,功能可能根本与Function不相同。因此可以通过连续表面调用同一个子程序Function,而实际则是分别调用几个不同的子程序来实现加密。至于虚地址映射到何处的实地址,可由编程者自己安排,故只需在调用前输出实地址的对应关系即可。这种软件与硬件相结合、虚地址与实地址相结合的加密方法使破解者即使获得源程序也极难分析出对应关系。但是这种方法是利用CPU片外的FPGA来做动态加密,破解者依然在外部能够接触CPU破解后的程序和数据,依然存在被破解的安全隐患。
技术实现思路
为了解决现有技术中存在的上述问题,提出了本专利技术。本专利技术提供了一种系统级芯片(SoC:System-on-a-chip),来实现CPU系统内核级的动态加密运行。根据本专利技术的第一方面,一种系统级芯片包括:中央处理器(CPU);现场可编程门阵列(FPGA),其中设有加密/解密模块,所述CPU通过系统总线连接到所述加密/解密模块;以及片上存储器,其通过系统总线连接到所述FPGA的所述加密/解密模块并且其中存储有预设的加密和/或不加密的系统程序和执行所述系统程序所需的数据;其中所述加密/解密模块执行如下的加密/解密操作:在所述系统程序和/或所述数据以预定的地址映射关系存储于所述片上存储器中的情况下,将所述CPU发送的地址解密为所述系统程序和/或所述数据在所述片上存储器中的实际地址;并且/或者在所述系统程序和/或所述数据是加密的情况下,对所述CPU经由所述FPGA从所述片上存储器读取的所述系统程序和/或所述数据进行解密,以及对从所述CPU经由所述FPGA传输到所述片上存储器的数据进行加密。通过将CPU与FPGA集成在同一芯片上,使得程序和数据的加密/解密完全在SoC芯片内部实现,保证了解密后的的总线不暴露在芯片外部,使破解者不能在采用示波器、逻辑分析仪和MDU解密仪等分析工具分析解密后的总线数据从而破解程序源代码。根据本专利技术的第二方面,一种系统级芯片包括:中央处理器(CPU);现场可编程门阵列(FPGA),其中设有加密/解密模块;片上存储器,其通过系统总线连接到所述FPGA的所述加密/解密模块并且其中存储有预设的加密和/或不加密的系统程序和执行所述系统程序所需的数据;以及第一多路选择开关(MUX)。所述第一MUX的第一输入/输出端(I/O_1)通过系统总线连接到所述CPU,第二输入/输出端(I/O_2)通过系统总线连接到所述片上存储器,第三输入/输出端(I/O_3)通过系统总线连接到所述FPGA的所述加密/解密模块。由所述第一MUX的通路选择控制端电平的值,来决定在所述MUX的第一输入/输出端(I/O_1)与所述第二输入/输出端(I/O_2)之间形成通路,还是在所述MUX的第一输入/输出端(I/O_1)与所述第三输入/输出端(I/O_3)之间形成通路。所述加密/解密模块执行如下的加密/解密操作:在所述系统程序和/或所述数据以预定的地址映射关系存储于所述片上存储器中的情况下,用于将所述CPU发送的地址解密为所述系统程序和/或所述数据在所述片上存储器中的实际地址;并且/或者在所述系统程序和/或所述数据是加密的情况下,对所述CPU经由所述FPGA从所述片上存储器读取的所述系统程序和/或所述数据进行解密,以及对从所述CPU经由所述FPGA传输到所述片上存储器的数据进行加密。可选地,当系统运行到特定保护程序地址处并且/或者当系统程序判定满足预定条件时,所述通路选择控制电平的值被设定为预定值;或者所述通路选择控制电平的值由通过外部器件异步通信传递的信号来确定。在根据本专利技术第二方面的系统级芯片中,通过设置第一MUX,在CPU与片上存储器之间提供了非加密/解密通道和加密/解密通道。当选通非加密/解密通道时CPU具有最好的性能。而加密/解密通道由于执行加密/解密操作以及FPGA绕线,可能产生延迟,CPU运行在加密/解密通道上,性能有所下降。因此,通过设置第一MUX,用户可以把性能高的代码选择通过非加密/加密通道运行,而关键安全性部分通过选择加密/解密通道运行,从而既可以保证运行效率又可以保障系统的安全性。可选地,上述系统级芯片还可以包括:第二多路选择开关(MUX),以及用于连接外部存储器的系统接口。所述片上存储器与所述加密/解密模块之间的系统总线包括从所述FPGA向所述片上存储器输出地址和数据的第一信号线,所述片上存储器通过第一数据线连接到所述第二MUX的第一输入/输出端(I/O_4),所述第二MUX的第二输入/输出端(I/O_5)通过第二数据线连接到所述加密/解密模块,并且所述系统接口通过第二信号线连接到所述加密/解密模块并且通过第三数据线连接到所述MUX的第三输入/输出端(I/O_6),所述第二信号线用于从所述FPGA向外部存储器输出地址和数据。由此,本专利技术的系统级芯片可以结合外部存储器使用,实现程序和/或数据的加密。可选地,在上述系统级芯片中,所述加密模块可以包括多个子加密模块,不同的子加密模块执行不同的加密操作;并且所述FPGA还包括通信模块,所述通信模块分别与所本文档来自技高网
...
系统级芯片

【技术保护点】
一种系统级芯片(SoC),包括:中央处理器(CPU);现场可编程门阵列(FPGA),其中设有加密/解密模块,所述CPU通过系统总线连接到所述加密/解密模块;以及片上存储器,其通过系统总线连接到所述FPGA的所述加密/解密模块并且其中存储有预设的加密和/或不加密的系统程序和执行所述系统程序所需的数据;其中所述加密/解密模块执行如下的加密/解密操作:在所述系统程序和/或所述数据以预定的地址映射关系存储于所述片上存储器中的情况下,将所述CPU发送的地址解密为所述系统程序和/或所述数据在所述片上存储器中的实际地址;并且/或者在所述系统程序和/或所述数据是加密的情况下,对所述CPU经由所述FPGA从所述片上存储器读取的所述系统程序和/或所述数据进行解密,以及对从所述CPU经由所述FPGA传输到所述片上存储器的数据进行加密。

【技术特征摘要】
1.一种系统级芯片(SoC),包括:中央处理器(CPU);现场可编程门阵列(FPGA),其中设有加密/解密模块,所述CPU通过系统总线连接到所述加密/解密模块;以及片上存储器,其通过系统总线连接到所述FPGA的所述加密/解密模块并且其中存储有预设的加密和/或不加密的系统程序和执行所述系统程序所需的数据;其中所述加密/解密模块执行如下的加密/解密操作:在所述系统程序和/或所述数据以预定的地址映射关系存储于所述片上存储器中的情况下,将所述CPU发送的地址解密为所述系统程序和/或所述数据在所述片上存储器中的实际地址;并且/或者在所述系统程序和/或所述数据是加密的情况下,对所述CPU经由所述FPGA从所述片上存储器读取的所述系统程序和/或所述数据进行解密,以及对从所述CPU经由所述FPGA传输到所述片上存储器的数据进行加密。2.一种系统级芯片(SoC),包括:中央处理器(CPU);现场可编程门阵列(FPGA),其中设有加密/解密模块;片上存储器,其通过系统总线连接到所述FPGA的所述加密/解密模块并且其中存储有预设的加密和/或不加密的系统程序和执行所述系统程序所需的数据;以及第一多路选择开关(MUX),其中,所述第一MUX的第一输入/输出端(I/O_1)通过系统总线连接到所述CPU,第二输入/输出端(I/O_2)通过系统总线连接到所述片上存储器,第三输入/输出端(I/O_3)通过系统总线连接到所述FPGA的所述加密/解密模块,由所述第一MUX的通路选择控制端电平的值,来决定在所述MUX的第一输入/输出端(I/O_1)与所述第二输入/输出端(I/O_2)之间形成通路,还是在所述MUX的第一输入/输出端(I/O_1)与所述第三输入/输出端(I/O_3)之间形成通路,并且所述加密/解密模块执行如下的加密/解密操作:在所述系统程序和/或所述数据以预定的地址映射关系存储于所述片上存储器中的情况下,用于将所述CPU发送的地址解密为所述系统程序和/或所述数据在所述片上存储器中的实际地址;并且/或者在所述系统程序和/或所述数据是加密的情况下,对所述CPU经由所述FPGA从所述片上存储器读取的所述系统程序和/或所述数据进行解密,以及对从所述CPU经由所述FPGA传输到所述片上存储器的数据进行加密。3.根据权利要求2所述的系统级芯片(SoC),其中当系统运行到特定保护程序地址处并且/或者当系统程序判定满足预定条件时,所述通路选择控制电平的值被设定为预定值;或者所述通路选择控制电平的值由通过外部器件异步通信传递的信号来确定。4.根据权利要求1-3中任一项所述的系统级芯片(SoC),还包括:第二多路选择开关(MUX)...

【专利技术属性】
技术研发人员:周清睿
申请(专利权)人:周清睿
类型:发明
国别省市:湖北,42

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

1