一种安全存储方法、装置和系统与流程

文档序号:12595976阅读:261来源:国知局
一种安全存储方法、装置和系统与流程

本发明涉及安全存储技术领域,尤其涉及一种安全存储方法、装置和系统。



背景技术:

针对存储器的侵入式攻击,如激光攻击等,传统一般采取对数据进行校验保护的方式,以防止读取错误数据导致系统发生异常。传统存储器读写操作,只基于读写的数据进行错误校验,以防止存储器因激光等攻击手段导致的数据异常。但对于针对存储器控制逻辑电路的激光攻击,并没有有效的防护措施。当激光照射在存储器控制模块地址译码区域时,很容易造成地址错误,传统的仅对数据进行校验的方式不能检测出此类错误。此外,在芯片正常工作过程中,由于软件操作异常,时序错误,器件异常等原因(例如信号线中的噪声,用来在信号线之间进行传送的有故障的缓冲器,信号线中的开断)也可能导致总线在传输信号的过程中发生错误,存储器发生对错误地址的读写操作,这种数据异常将导致系统运行混乱,导致系统出现异常,可靠性降低。

如图1所示,现有的数据保护方案在写入数据时,将数据的校验值一并存储在对应存储器中,在读取数据时,再对数据进行校验。具体包括:

1)CPU在发起存储器写/读操作后,将输出控制信号,地址或写数据到存储器控制模块。

2)存储器控制模块接收到总线对于存储器的写/读请求后,生成用于控制存储器的控制信号。

3)写入操作时,数据经过数据校验计算模块后,得到校验计算值,并将数据和校验值一并写入存储器。

4)读取操作时,从存储器中读出的存储数据,送入数据校验模块,对数 据和校验值进行计算,若计算结果正确,则直接输出数据。若校验结果错误,则生成校验错误标志位。

但此种保护方式一般只对针对存储器本身的攻击起到防护作用。对于对存储器控制逻辑电路,尤其是针对地址信号的攻击(如针对地址译码逻辑电路的攻击),无法做到有效的检测和及时的保护。当地址受到攻击出现异常时,将导致存储器出现对异常地址的数据写覆盖或对异常地址的非法读取,极大降低芯片存储信息的安全性。



技术实现要素:

本发明期望提供一种安全存储方法、装置和系统,能及时发现读/写地址错误,提高系统的安全性及可靠性。

本发明实施例的技术方案是这样实现的:

本发明实施例提供一种安全存储方法,该方法包括:

接收读/写地址,并接收所述读/写地址对应的校验值;

对所述读/写地址进行地址校验;

当所述地址校验结果正确时,进行存储器读/写操作。

上述方案中,所述进行存储器读/写操作包括:

针对写操作:

将数据写入所述写地址对应的存储区的数据区中,并将所述写地址对应的校验值写入所述写地址对应的存储区的校验区中;

针对读操作:

将接收到的所述读地址校验值与存储器中保存的所述读地址对应的校验值进行对比;

当对比的结果正确时,将所述读地址对应存储区中的数据读出。

上述方案中,所述方法还包括:

在写入/读出数据之前,对数据进行校验处理。

上述方案中,所述地址校验包括:

奇偶校验或纠错码ECC校验。

上述方案中,当所述地址校验为ECC时,所述方法还包括:

针对读/写地址出现的1bit(比特)错误进行纠错处理。

本发明实施例还提供一种安全存储装置,该装置包括:存储器和存储控制器;其中,所述存储控制器包括:

接收模块,用于接收读/写地址,并接收所述读/写地址对应的校验值;

地址校验模块,用于对所述读/写地址进行地址校验;

读/写操作模块,用于当所述地址校验结果正确时,进行存储器读/写操作。

上述方案中,所述读/写操作模块包括:

写操作子模块,用于将数据写入所述写地址对应的存储区的数据区中,并将所述写地址对应的校验值写入所述写地址对应的存储区的校验区中;

读操作子模块,用于将接收到的所述读地址校验值与存储器中保存的所述读地址对应的校验值进行对比;当对比的结果正确时,将所述读地址对应存储区中的数据读出。

上述方案中,所述装置还包括:

数据校验模块,用于在写入/读出数据之前,对数据进行校验处理。

上述方案中,当所述地址校验执行ECC校验时,所述地址校验模块还包括:

纠错单元,用于针对读/写地址出现的1bit(比特)错误进行纠错处理。

本发明实施例还提供一种安全存储系统,该安全存储系统包括处理器和上述任意一种安全存储装置;其中,所述处理器用于当发起存储器读/写操作时,计算读/写地址对应的校验值,并将所述读/写地址和读/写地址对应的校验值发送至所述安全存储装置。

本发明技术方案的有益效果在于:通过在存储器读/写操作时,对读/写地址进行校验,以及时检测到地址错误,从而避免产生因受到外部攻击或因总线信号传输异常导致的地址错误引起的存储器读/写错误,提高系统的安全性及可靠性。

附图说明

图1为现有的数据保护方案的示意图;

图2为本发明实施例提供的安全存储方法的实现流程示意图;

图3为本发明实施例提供的安全存储装置的组成结构示意图;

图4为本发明实施例1提供的安全存储系统的组成结构示意图;

图5为本发明实施例1中写操作流程示意图;

图6为本发明实施例1中读操作流程示意图;

图7为本发明实施例1中纠错操作流程示意图。

具体实施方式

为了更清楚地说明本发明实施例和技术方案,下面将结合附图及实施例对本发明的技术方案进行更详细的说明,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范 围。

本发明实施例提供一种安全存储系统,该安全存储系统包括处理器和安全存储装置;其中,

所述处理器用于发起存储器读/写操作,特别的,该处理器在发起存储器读/写操作时,不但向安全存储装置发送数据的读/写地址,还计算所述读/写地址对应的校验值,并将所述读/写地址对应的校验值也发送至所述安全存储装置。

所述安全存储装置为本发明提供的一种具有新的安全存储机制的安全存储装置,该安全存储装置包括存储器和存储控制器,该装置采用本发明提供的安全存储方法。

实际应用中,所述处理器可以由中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现。

图2为本发明实施例提供的安全存储方法的实现流程示意图,如图2所示,该方法包括:

步骤201,接收读/写地址,并接收所述读/写地址对应的校验值;

具体的,安全存储装置可通过总线接收来自处理器的读/写地址和所述读/写地址对应的校验值;当为写操作时,安全存储装置还将通过总线接收到来自处理器的需要写入存储器的数据。

步骤202,对所述读/写地址进行地址校验;

具体的,安全存储装置根据通过总线接收到的读/写地址和所述读/写地址对应的校验值,对所述读/写地址进行地址校验;

这里,所述地址校验可以是奇偶校验或纠错码(Error Correcting Code,ECC)校验;

优选的,地址校验采用ECC校验,因ECC校验可以做到纠错1bit(比特)错误,检测2bit错误,而当通过ECC校验发现读/写地址1bit错误时,则可针 对读/写地址出现的1bit(比特)错误进行纠错处理。如此,纠错后可继续执行当前的存储器读写操作,在提高系统可靠性同时还提高了系统执行的效率。

步骤203,当所述地址校验结果正确时,进行存储器读/写操作;

当在步骤202中的地址校验结果正确时,安全存储装置才进行此次存储器读/写操作;

进一步的,针对写操作:

安全存储装置将数据写入所述写地址对应的存储区的数据区中,并将所述写地址对应的校验值写入所述写地址对应的存储区的校验区中;

针对读操作:

安全存储装置将接收到的所述读地址校验值与存储器中保存的所述读地址对应的校验值进行对比;

当对比的结果正确时,将所述读地址对应存储区中的数据读出。

进一步的,当在步骤202中的地址校验结果错误时,安全存储装置不执行此次存储器读/写操作,并报错误中断给系统处理;

为了进一步保障数据的存储安全,上述方法还可包括:

在写入/读出数据之前,对数据进行校验处理。

具体的,当安全存储装置通过总线接收到需要写入存储器的数据(以下简称写数据)后,在实际写入存储器之前,安全存储装置计算并存储所述写数据的校验值;而当安全存储器需要通过总线向外读出存储器中的数据(以下简称读数据)之前,安全存储装置先对所述读数据和其对应的校验值进行校验,校验结果正确才实际向外发送所述读数据。

图3是本发明实施例提供的安全存储装置的组成结构示意图,如图3所示,该安全存储装置包括:存储器31和存储控制器30;其中,

所述存储控制器30包括:

接收模块301,用于接收读/写地址,并接收所述读/写地址对应的校验值;

地址校验模块302,用于对所述读/写地址进行地址校验;

读/写操作模块303,用于当所述地址校验结果正确时,进行存储器读/写操作。

进一步的,上述安全存储装置中,所述存储器31每个地址所对应的存储区包括:数据区311和校验区312;相应的,所述读/写操作模块303包括:

写操作子模块,用于将数据写入所述写地址对应的存储区的数据区311中,并将所述写地址对应的校验值写入所述写地址对应的存储区的校验区312中;

读操作子模块,用于将接收到的所述读地址校验值与存储器中保存的所述读地址对应的校验值进行对比;当对比的结果正确时,将所述读地址对应存储区中的数据读出。

进一步的,上述安全存储装置还可包括:

数据校验模块,用于在写入/读出数据之前,对数据进行校验处理。

进一步的,上述安全存储装置中,当所述地址校验执行ECC校验时,所述地址校验模块302还包括:

纠错单元,用于针对读/写地址出现的1bit(比特)错误进行纠错处理。

实际应用中,上述各个模块和单元可以由安全存储装置中的控制电路来实现。

本实施例的安全存储装置的各个模块和单元对应执行上述安全存储方法实施例所描述的步骤,因此具有相同的有益效果。另外,应该理解到,以上所描述的安全存储装置的实施方式仅仅是示意性的,所描述模块和单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式(参见下述实施例1)。另外,模块相互之间的耦合或连接可以是通过一些接口,也可以是电性或 其它的形式。

上述各个功能模块作为安全存储装置的组成部分,可以是或者也可以不是物理框,既可以位于一个地方,也可以分布到多个电路单元上,既可以采用硬件的形式实现,也可以采用软件功能框的形式实现。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。

如前所述,本发明还提供一种安全存储系统,所述安全存储系统包括处理器和上述任意一种安全存储装置;其中,所述处理器用于当发起存储器读/写操作时,计算读/写地址对应的校验值,并将所述读/写地址和读/写地址对应的校验值发送至所述安全存储装置。

实际应用中,所述安全存储系统可以由安全芯片实现。

实施例1

在本实施例1中提供一种安全存储系统,可实现地址校验和数据校验,如图4所示,处理器由CPU实现,安全存储装置包括存储控制器和存储器;其中,存储控制器包括:存储器控制模块,数据校验计算模块,数据校验模块以及地址校验模块。

在存储器读写过程中,地址保护方式如下:

1)在CPU发起存储器写操作时,由CPU先对写地址进行校验计算,将得到的校验值与写地址一起输出给存储器控制模块。

2)在存储器写操作时,存储器控制模块首先对输入的写地址和写地址校验值进行比对,若检验结果正确,则执行写操作,并将地址校验值一并写入对应的存储器地址中。若校验结果错误,则不执行此次存储器写操作,并报错误中断给系统处理。

3)在存储器读操作时,存储器控制模块先对读地址和将读地址校验值进行比对,若校验结果错误,则停止读操作,并报错误中断对系统处理。若校验结果正确,则将读地址校验值和存储器读出的地址校验值再进行对比,若校验结 果错误,则报错误中断给系统处理。若校验结果正确,则输出读取数据。

举例说明:

I、写操作流程,如图5所示,CPU在写操作时,定义输出地址A和校验值P,由总线传输到存储器控制模块中时,存储器控制模块接收到的输入地址A’,在地址校验模块中由地址A’生成校验值P’,若P不等于P’,则认为经由总线传输的地址出现异常,写操作终止并报中断由系统处理。若P等于P’,则继续写操作,并将校验值P一并写入对应存储器地址。

II、读操作流程,如图6所示,CPU在读操作时,定义输出地址A和校验值P,由总线传输到存储器控制模块中时,存储器控制模块接收到的输入地址A’,在地址校验模块中由地址A’生成校验值P’,若P不等于P’,则认为经由总线传输的地址出现异常,读操作终止并报中断由系统处理。若P等于P’,则继续读操作,并将校验值P与从存储器中读出的地址校验值P”进行对比,若校验结果正确,则输出数据完成度操作。若校验错误,则报错误中断由系统进行处理。

III、进一步的,除了上文提到的可以对地址进行错误检测报警以外,在采用ECC校验方式,如图7所示,还可以对出现1bit错误的情况对出错地址进行纠错。纠错后可继续执行当前的存储器读写操作,在提高系统可靠性同时还提高了系统执行的效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结 合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

再次说明,以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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