一种片上系统的片外存储器地址加扰装置及方法与流程

文档序号:14736036发布日期:2018-06-19 20:30阅读:169来源:国知局
一种片上系统的片外存储器地址加扰装置及方法与流程

本发明涉及片上系统技术领域,尤其涉及一种片上系统的片外存储器地址加扰装置及方法。



背景技术:

随着移动互联网领域的发展,社会信息化达到了前所未有的高度。其中,移动网络设备是信息交互载体的主要代表。移动网络设备作为当代信息社会中的必需品,其移动办公、移动交易等功能得到了大规模的推广和应用,在移动设备高速发展带来便利和效率的同时,还需有效保护移动设备存储信息的安全。

同时,目前基于计算机技术、密码学理论等方法,在片上系统(SoC:System on Chip)芯片设计中加入安全机制。但是,传统的存储安全保护是基于应用或软件的,不仅占用CPU资源,极大的降低系统芯片的性能以及读写片外存储器的效率,还难以防御操作系统漏洞和软件后门的问题。



技术实现要素:

本发明提供的片上系统的片外存储器地址加扰装置及方法,能够在实现数据地址的加扰处理的同时不影响读写片外存储器的效率,保证片上系统高效安全的读写数据。

第一方面,本发明提供一种片上系统的片外存储器地址加扰装置,包括:设置于片上系统内的真随机数发生器、密钥存储器和片内安全控制器,所述片内安全控制器分别与真随机数发生器、密钥存储器和设置在片上系统之外并用于存储数据的片外存储器连接,用于读写片外存储器内数据并对所述数据进行地址加扰处理,其中,所述片内安全控制器包括:

存储器接口模块,用于将读写片外存储器所形成数据中未经加扰地址输出至地址加扰模块;

地址加扰模块,分别与存储器接口模块、真随机数发生器、密钥存储器和片外存储器连接,用于读取密钥存储器内所存储随机密钥并根据所述随机密钥的有效/无效状态,选择直接调用所读取的随机密钥或者再次读取由真随机数发生器生成并存储至密钥存储器的随机密钥,然后根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器。

可选地,所述地址加扰模块包括:

第一读取单元,用于读取真随机数发生器产生的随机密钥;

写入单元,用于将真随机数发生器所产生的随机密钥写入密钥存储器中;

第二读取单元,用于读取存储在密钥存储器中的随机密钥;

算法单元,由硬件组件组成并用于根据所述随机密钥对所输入的未经加扰地址进行周期性加扰算法处理形成加扰地址;

发送单元,用于将加扰地址输出至片外存储器。

可选地,所述地址加扰模块还包括:

判断单元,用于判断第二读取单元所读取的存储在密钥存储器中的随机密钥是否有效;

选择单元,与判断单元连接并用于根据所述随机密钥的有效/无效状态,选择直接调用所读取的随机密钥或者再次读取由真随机数发生器生成并存储至密钥存储器的随机密钥。

可选地,所述地址加扰模块还包括:

寄存单元,用于将第二读取单元所读取的随机密钥寄存于所述地址加扰模块内。

可选地,所述密钥存储器写入一次由所述真随机数发生器生成的随机密钥进行存储并不可更改;或者写入至少两次由所述真随机数发生器生成的随机密钥进行存储。

第二方面,本发明提供一种片上系统的片外存储器地址加扰方法,包括:

当装置上电复位后,由地址加扰模块读取密钥存储器内存储的随机密钥;

根据所述随机密钥的有效/无效状态,选择直接调用所读取的随机密钥或者再次读取由真随机数发生器生成并存储至密钥存储器的随机密钥,然后根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器。

可选地,在当装置上电复位后,由地址加扰模块读取密钥存储器内存储的随机密钥之后,所述方法还包括:

由判断单元判断密钥存储器内所存储随机密钥是否有效。

可选地,所述根据所述随机密钥的有效/无效状态,选择直接调用所读取的随机密钥或者再次读取由真随机数发生器生成并存储至密钥存储器的随机密钥,然后根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器包括:

当密钥存储器内存储的随机密钥有效时,由地址加扰模块直接调用所读取的随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器;

当密钥存储器内存储的随机密钥无效时,由地址加扰模块将真随机数发生器生成的随机密钥写入密钥存储器进行存储并根据重新存储的随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器。

可选地,在所述根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址中,所述方法还包括:

将未经加扰的地址和加扰地址按如下映射公式一一对应,且所述未经加扰的地址所指定的位置不同于所述加扰地址所指定的位置;

addr(0,n)<=>addr'(0,n'),n∈(0,x),n'∈(0,x)。

本发明实施例提供的片上系统的片外存储器地址加扰装置及方法,所述装置主要采用真随机数发生器、密钥存储器和片内安全控制器对片外存储器实现对地址加扰,使得数据存储在片外存储器里的数据是无序的,一方面避免直接修改片外存储或者替换片外存储的方式来对芯片组合完成攻击,因此,通过对片外存储器实现地址加扰处理后,依照某破解的存储芯片复制出的存储芯片也是无法正常工作的,实现了系统的不可复制,进一步的保证所述装置加密的安全性和保密性;另一方面,所述装置通过地址加扰模块在片外存储器被访问时,自动完成访问地址的加扰处理,不影响读写片外存储器的效率,保证所述装置高效安全的读写数据。

附图说明

图1为本发明一实施例片上系统的片外存储器地址加扰装置的结构示意图;

图2为本发明另一实施例片上系统的片外存储器地址加扰装置的结构示意图;

图3为本发明一实施例片上系统的片外存储器地址加扰方法的流程图;

图4为本发明另一实施例片上系统的片外存储器地址加扰方法的流程图;

图5为本发明另一实施例片上系统的片外存储器地址加扰方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种片上系统的片外存储器地址加扰装置,如图1所示,所述装置包括:设置于片上系统内的真随机数发生器11、密钥存储器12和片内安全控制器13,所述片内安全控制器13分别与真随机数发生器11、密钥存储器12和设置在片上系统之外并用于存储数据的片外存储器14连接,用于读写片外存储器内数据并对所述数据进行地址加扰处理,其中,所述片内安全控制器包括:

存储器接口模块131,用于将读写片外存储器所形成数据中未经加扰地址输出至地址加扰模块;

地址加扰模块132,分别与存储器接口模块、真随机数发生器、密钥存储器和片外存储器连接,用于读取密钥存储器内所存储随机密钥并根据所述随机密钥的有效/无效状态,选择直接调用所读取的随机密钥或者再次读取由真随机数发生器生成并存储至密钥存储器的随机密钥,然后根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器。

本发明实施例提供的片上系统的片外存储器地址加扰装置主要采用真随机数发生器、密钥存储器和片内安全控制器对片外存储器实现对地址加扰,使得数据存储在片外存储器里的数据是无序的,一方面避免直接修改片外存储或者替换片外存储的方式来对芯片组合完成攻击,因此,通过对片外存储器实现地址加扰处理后,依照某破解的存储芯片复制出的存储芯片也是无法正常工作的,实现了系统的不可复制,进一步的保证所述装置加密的安全性和保密性;另一方面,所述装置通过地址加扰模块在片外存储器被访问时,自动完成访问地址的加扰处理,不影响读写片外存储器的效率,保证所述装置高效安全的读写数据。

可选地,如图2所示,所述地址加扰模块包括:

第一读取单元1321,用于读取真随机数发生器产生的随机密钥;

写入单元1322,用于将真随机数发生器所产生的随机密钥写入密钥存储器中;

第二读取单元1323,用于读取存储在密钥存储器中的随机密钥;

算法单元1324,由硬件组件组成并用于根据所述随机密钥对所输入的未经加扰地址进行周期性加扰算法处理形成加扰地址;

发送单元1325,用于将加扰地址输出至片外存储器。

可选地,所述地址加扰模块还包括:

判断单元1326,用于判断第二读取单元所读取的存储在密钥存储器中的随机密钥是否有效;

选择单元1327,与判断单元连接并用于根据所述随机密钥的有效/无效状态,选择直接调用所读取的随机密钥或者再次读取由真随机数发生器生成并存储至密钥存储器的随机密钥。

可选地,所述地址加扰模块还包括:

寄存单元1328,用于将第二读取单元所读取的随机密钥寄存于所述地址加扰模块内。

可选地,所述密钥存储器写入一次由所述真随机数发生器生成的随机密钥进行存储并不可更改;或者写入至少两次由所述真随机数发生器生成的随机密钥进行存储。

本发明实施例还提供一种片上系统的片外存储器地址加扰方法,如图3所示,所述方法包括:

S11、当装置上电复位后,由地址加扰模块读取密钥存储器内存储的随机密钥;

S12、根据所述随机密钥的有效/无效状态,选择直接调用所读取的随机密钥或者再次读取由真随机数发生器生成并存储至密钥存储器的随机密钥,然后根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器。

本发明实施例提供的片上系统的片外存储器地址加扰方法,所述方法主要采用真随机数发生器、密钥存储器和片内安全控制器对片外存储器实现对地址加扰,使得数据存储在片外存储器里的数据是无序的,第一方面避免直接修改片外存储或者替换片外存储的方式来对芯片组合完成攻击,因此,通过对片外存储器实现地址加扰处理后,依照某破解的存储芯片复制出的存储芯片也是无法正常工作的,实现了系统的不可复制,进一步的保证所述方法加密的安全性和保密性;第二方面,所述方法通过地址加扰模块在片外存储器被访问时,自动完成访问地址的加扰处理,不影响读写片外存储器的效率,保证所述装置高效安全的读写数据。第三方面,所述方法还通过对密钥存储器内所存储的随机密钥进行有效性的判断,通过确保所述随机密钥的有效性提高所述方法的安全性能。

可选地,如图4和图5所示,在当装置上电复位后,由地址加扰模块读取密钥存储器内存储的随机密钥之后,所述方法还包括:

S13、由判断单元判断密钥存储器内所存储随机密钥是否有效。

可选地,所述根据所述随机密钥的有效/无效状态,选择直接调用所读取的随机密钥或者再次读取由真随机数发生器生成并存储至密钥存储器的随机密钥,然后根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器包括:

当密钥存储器内存储的随机密钥有效时,将将密钥存储器内所存储的随机密钥存入寄存单元,且在片内安全控制器读写片外存储器产生数据时,由地址加扰模块直接调用所读取的随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器;

当密钥存储器内存储的随机密钥无效时,如图4所示,由地址加扰模块将真随机数发生器产生的随机密钥写入密钥存储器进行存储并根据重新存储的随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器;或者,如图5所示,由地址加扰模块将真随机数发生器产生的随机密钥写入密钥存储器进行存储,然后将装置上电复位,并在装置上电复位后根据重新存储的随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器。

可选地,在所述根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址中,所述方法还包括:

将未经加扰的地址和加扰地址按如下映射公式一一对应,且所述未经加扰的地址所指定的位置不同于所述加扰地址所指定的位置;

addr(0,n)<=>addr'(0,n'),n∈(0,x),n'∈(0,x)。

具体的,本实施例中所述未经加扰的地址的加扰通过在地址加扰模块132中一段封闭的地址区间实现,未经加扰的地址与加扰后形成的加扰地址一一对应,且不跳出该封闭地址区间,最后形成对应的映射关系。

可选地,所述根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器为根据所述随机密钥控制硬件组件将所述存储器接口模块输出的未经加扰地址进行周期性加扰算法处理用以形成加扰地址;其中,

所述加扰算法与片外存储器、芯片相对应。

具体的,本实施例中所述方法还可根据不同的片外存储器、不同芯片对应不同的加扰算法,使得所述方法加扰的唯一性,进而提高了所述方法的安全性能,其中,所述加扰算法采用非线性算法进一步提高对片外存储器地址加扰的安全性。

综上所述,本实施例中所述方法在装置上电复位后,由地址加扰模块的第二读取单元自动读取密钥存储器内存储的随机密钥,然后再由地址加扰模块判断单元判断存储在密钥存储器内的随机密钥是否有效,当该随机密钥有效时,则将该随机密钥寄存至寄存单元中,以使所述算法单元直接调用,在片内安全控制器读写片外存储器产生数据时根据所述随机密钥对由存储器接口模块输入的未经加扰地址进行加扰算法处理形成加扰地址并输出至片外存储器,同时,所述存储器接口模块还将读写片外存储器产生数据中的控制/数据信号输出至片外存储器中。

本实施例的方法,可以用于控制上述装置实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1