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配置数据的无规律性和 ...
【技术保护点】
一种系统级芯片(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)...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。