一种总线管理单元及高安全系统级芯片技术方案

技术编号:14589541 阅读:165 留言:0更新日期:2017-02-08 18:19
本发明专利技术涉及一种总线管理单元及高安全系统级芯片,该总线管理单元包括:存储访问控制模块、存储加解密模块、加解扰模块、校验模块,所述存储访问控制模块用于对系统级芯片的存储器和寄存器的访问权限进行控制;所述存储加解密模块用于对所述存储器的地址和数据进行加/解密操作;所述加解扰模块用于对总线数据进行极性反转和总线数据填充;所述校验模块用于对存储器写数据和/或存储器读数据进行校验,并根据校验结果进行相应处理。

Bus management unit and high security system chip

The invention relates to a bus management unit and high security system on chip, the bus management unit comprises a memory access control module, storage encryption and decryption module, descrambling module, check module, the memory access control module to control the system for memory chip and register access; the the storage module is used for encryption and decryption of the memory address and data encryption / decryption operation; the descrambling module used for data polarity reversal and bus data filling; the check module is used to write data to memory and / or memory read data is checked, and the corresponding treatment according to the check results.

【技术实现步骤摘要】

本专利技术涉及芯片
,尤其涉及一种总线管理单元及高安全系统级芯片。
技术介绍
芯片的安全技术是一项针对商业用户的数据防护技术,其主要作用是对存储在芯片里的数据进行高可靠性的加密处理,使这些数据很难被非法窃取。现如今,所有芯片设计,凡是涉及到敏感数据存储,都需要进行防护,通过对数据进行加/解密处理以实现对数据进行完整性、防篡改和防抵赖等安全相关进行验证。在系统级芯片(SOC,SystemonChip)中,一般通过存储管理单元(MMU,MemoryManagementUnit)实现对芯片的安全防护,其主要完成的功能如下:1)程序存储器、外部数据存储器和内部数据存储器映射;2)程序存储器和外部数据存储器权限管理;3)程序存储器、外部数据存储器和内部数据存储器的地址扰乱和数据加密。其中前两点属于MMU的基本功能,在安全等级较高的芯片中,为了抵抗外来设备对芯片存储器中核心敏感数据的攻击窃取,MMU需要对数据防护,这种防护主要通过对存储数据进行数据加密及对存储地址进行扰乱实现。图1示出现有技术常用的数据加密的示意图,图2示出了现有技术常用的地址扰乱的示意图。如图1所示,对存储数据加密,即芯片在接收到外部数据并处理完毕后,需要先通过加密模块加密才能存储到相应的存储器中,读出时则需要先经过解密模块解密之后才能被CPU使用。如图2所示,对存储数据地址进行扰乱,即通过一个线性的逻辑映射把CPU要访问的存储器地址变换成不连续及混乱的地址,这样就可以使攻击者不能分辨和分析程序是在顺序执行或跳转执行,也就不能根据地址来猜测数据类型。而CPU在读取这些数据的时候,通过一个线性的逆变换就可以得到真正的数据。这种变换和逆变换是由硬件电路完成的,因此对CPU是透明的,所以对软件的开发是没有影响的。但是这种扰乱仅仅是简单的与/或关系,即对编程地址bit位用固定的数据位进行异或扰乱。随着攻击技术的发展,诸如物理攻击、扰乱攻击、侧信道攻击的各种芯片攻击手段不断增加,攻击能力也不断加强,不仅能定位芯片中具有大片区域特征的存储器,也能对总线上正在传输的数据进行窃取。在现有技术中,仅仅针对处理过的数据进行加密存储已经不能很好地实现芯片数据的防护。图3示出了现有技术中系统级芯片结构及安全数据流通路示意图,如图3所示,在现有技术的SOC安全数据流通路中,外部数据通过通信接口进入芯片,经CPU处理后,将关键数据先送到加密模块进行加密处理,再存储到相应的存储器中。在这个过程中,数据仅在通路3中有加密防护,而在通路1及通路2中则是明文,其中通路1对芯片外界来说是透明的,而通路2却是经CPU处理过的关键敏感数据,这对芯片的安全来说是一个重大的缺陷。注意,这里的加密模块一般指专属加解密模块,如DES/3DES、SM1、SM2、RSA等公知加解密算法等。此外,在现有技术的SOC架构中,存储在程序存储器ROM中的数据也是明文,CPU执行程序时从ROM中取到的指令在总线中也是明文传输,这对芯片的安全来说又是一个隐患。而且,对存储地址仅仅是用固定数据进行异或扰乱,相对于地址加密来说其安全性较低,且存储地址扰乱仅仅发生在关键数据的外部数据存储器(如EEPROM)的存储过程中,对程序存储器(如ROM)及内部数据存储器(如RAM)的存储过程中则未实现地址扰乱,而对于片内的其它功能单元也未实现数据的防护。公开于该
技术介绍
部分的信息仅仅旨在增加对本专利技术的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
技术问题有鉴于此,本专利技术要解决的技术问题是,如何提供一种能够实现系统级芯片高安全性数据通信的方法。解决方案为解决以上技术问题,本专利技术在第一方面提供一种总线管理单元,包括:存储访问控制模块、存储加解密模块、加解扰模块、校验模块,所述存储访问控制模块用于对系统级芯片的存储器和寄存器的访问权限进行控制;所述存储加解密模块用于对所述存储器的地址和数据进行加/解密操作;所述加解扰模块用于对总线数据进行极性反转和总线数据填充;所述校验模块用于对存储器写数据和/或存储器读数据进行校验,并根据校验结果进行相应处理。在一种可能的实现方式中,所述对系统级芯片的存储器和寄存器的访问权限进行控制包括:当所述存储访问控制模块检测到总线上发生违反访问权限的操作时,置起访问权限无效指示信号并通知总线管理单元;所述总线管理单元对所述违反访问权限的操作进行屏蔽处理,并向系统级芯片的中央处理器返回错误响应信号。在一种可能的实现方式中,所述对所述存储器的地址和数据进行加/解密操作包括:所述存储加解密模块对存储器的地址进行加密操作、对存储器写数据进行加密操作和/或对存储器读数据进行解密操作。在一种可能的实现方式中,对总线数据进行极性反转和总线数据填充包括:所述加解扰模块根据中央处理器写数据极性加扰指示信号hwpol_cpu输入对中央处理器发送到从站的总线写数据进行解扰操作:当hwpol_cpu为1时,总线写数据按位取反,当hwpol_cpu为0时,总线写数据保持不变;所述加解扰模块根据中央处理器读数据极性加扰指示信号hrpol_cpu的输入对发送到中央处理器的总线读数据进行加扰操作:当hrpol_cpu为1时,从站读数据按位取反,当hrpol_cpu为0时,从站读数据保持不变;所述加解扰模块对无效总线写操作的写数据总线和无效总线读操作的读数据总线进行随机填充,填充数据由32-bit随机数输入经过置换/异或操作处理后得到。在一种可能的实现方式中,所述对存储器写数据和/或存储器读数据进行校验,并根据校验结果进行相应处理包括:所述校验模块计算存储器写数据的循环冗余检验位或奇偶校验位,并将所述循环冗余检验位或奇偶校验位与所述存储器写数据一起送入存储器中存储;所述校验模块计算存储器读数据的循环冗余检验位或奇偶校验位,并与从存储器内部读出的校验位进行比对,如果相同表示数据未被更改或失效,读操作正常进行,如果不同则向所述中央处理器返回错误响应信号。为解决以上技术问题,本专利技术在第二方面提供一种高安全系统级芯片,包括:中央处理器、通信接口、加解密模块、存储器,所述中央处理器包含上述任意一种可能的实现方式中所述的总线管理单元,所述通信接口、专属加解密模块分别包括模块加解密组件,所述模块加解密组件与所述总线管理单元的加解密模块采用相同的加密算法。在一种可能的实现方式中,所述通信接口接收外部数据,通过自身的模块加解密组件对所述外部数据进行加密并将加密后的外部数据发送到中央处理器;所述中央处理器通过自身的总线管理单元对所述加密后的外部数据进行解密,并对解密后的外部数据进行处理;所述总线管理单元对处理后的外部数据进行加密并将加密后的处理数据发送到所述专属加解密模块;所述专属加解密模块对所述加密后的处理数据再次进行加密并存储到相应的存储器中。在一种可能的实现方式中,所述中央处理器通过所述总线管理单元对输出到从站的地址总线进行加密;所述从站的模块加解密组件对加密的地址总线进行解密,所述从站的存储器以地址加密的方式存储所述加密的地址总线。在一种可能的实现方式中,采用加密算法将数据加密及地址加密后存储于所述存储器中。在一种可能的实现方式中,当所述中央处理器读本文档来自技高网
...

【技术保护点】
一种总线管理单元,其特征在于,包括:存储访问控制模块、存储加解密模块、加解扰模块、校验模块,所述存储访问控制模块用于对系统级芯片的存储器和寄存器的访问权限进行控制;所述存储加解密模块用于对所述存储器的地址和数据进行加/解密操作;所述加解扰模块用于对总线数据进行极性反转和总线数据填充;所述校验模块用于对存储器写数据和/或存储器读数据进行校验,并根据校验结果进行相应处理。

【技术特征摘要】
1.一种总线管理单元,其特征在于,包括:存储访问控制模块、存储加解密模块、加解扰模块、校验模块,所述存储访问控制模块用于对系统级芯片的存储器和寄存器的访问权限进行控制;所述存储加解密模块用于对所述存储器的地址和数据进行加/解密操作;所述加解扰模块用于对总线数据进行极性反转和总线数据填充;所述校验模块用于对存储器写数据和/或存储器读数据进行校验,并根据校验结果进行相应处理。2.根据权利要求1所述的总线管理单元,其特征在于,所述对系统级芯片的存储器和寄存器的访问权限进行控制包括:当所述存储访问控制模块检测到总线上发生违反访问权限的操作时,置起访问权限无效指示信号并通知总线管理单元;所述总线管理单元对所述违反访问权限的操作进行屏蔽处理,并向系统级芯片的中央处理器返回错误响应信号。3.根据权利要求1所述的总线管理单元,其特征在于,所述对所述存储器的地址和数据进行加/解密操作包括:所述存储加解密模块对存储器的地址进行加密操作、对存储器写数据进行加密操作和/或对存储器读数据进行解密操作。4.根据权利要求1所述的总线管理单元,其特征在于,对总线数据进行极性反转和总线数据填充包括:所述加解扰模块根据中央处理器写数据极性加扰指示信号hwpol_cpu的输入对中央处理器发送到从站的总线写数据进行解扰操作:当hwpol_cpu为1时,总线写数据按位取反,当hwpol_cpu为0时,总线写数据保持不变;所述加解扰模块根据中央处理器读数据极性加扰指示信号hrpol_cpu的输入对发送到中央处理器的总线读数据进行加扰操作:当hrpol_cpu为1时,从站读数据按位取反,当hrpol_cpu为0时,从站读数据保持不变;所述加解扰模块对无效总线写操作的写数据总线和无效总线读操作的读数据总线进行随机填充,填充数据由32-bit随机数输入经过置换/异或操作处理后得到。5.根据权利要求1所述的总线管理单元,其特征在于,所述对存储器写数据和/或存储器读数据进行校验,并根据校验结果进行相应处理包括:所述校验模块计算存储器写数据的循环冗余检验位或奇偶校验位,并将所述...

【专利技术属性】
技术研发人员:陈奎林赵东艳刘亮冯曦张济邵瑾周翔
申请(专利权)人:北京智芯微电子科技有限公司国网信息通信产业集团有限公司国家电网公司
类型:发明
国别省市:北京;11

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

1