数据保护方法、装置及系统与流程

文档序号:36935743发布日期:2024-02-02 22:02阅读:15来源:国知局
数据保护方法、装置及系统与流程

本技术涉及计算机,特别涉及一种数据保护方法、装置及系统。


背景技术:

1、闪存(flash memory)是一种非易失性存储器,能够在断电后保持存储的数据不丢失。包含处理核和闪存控制器的片上系统(system on a chip,soc)能够访问片外部署的闪存。但是由于闪存的访问接口速率较低,因此即使soc在访问闪存之前完成了对闪存中数据的校验,在校验通过后到soc成功访问闪存的过程中,还是存在被攻击的时间窗。在这个时间窗内,攻击者有可能拿到闪存的操作权进而篡改闪存中的数据,导致soc无法访问到闪存的原有数据。目前闪存中数据的安全性和可靠性通常较低。


技术实现思路

1、本技术提供了一种数据保护方法、装置及系统。

2、第一方面,提供了一种数据保护方法,应用于片上系统。该片上系统包括处理核和闪存控制器。闪存控制器接收处理核发送的针对闪存的第一访问命令。该闪存部署于片上系统的外部。第一访问命令包括第一命令字和第一访问地址。第一命令字用于指示第一访问命令的访问类型,该访问类型包括读、写或擦除。第一访问地址用于指示第一访问命令在闪存中所访问的地址范围。如果第一命令字指示第一访问命令的访问类型为写或擦除,且第一访问地址属于闪存控制器中配置的闪存的保护地址范围,闪存控制器拦截第一访问命令。

3、本技术通过在闪存控制器中配置闪存的保护地址范围,如果处理核想要修改闪存中该保护地址范围对应的内容,则闪存控制器阻止该修改行为,从而保护闪存中该保护地址范围对应的内容不被篡改,实现针对闪存的数据防篡改功能,能够提高闪存中数据的安全性和可靠性。

4、可选地,闪存中部署有程序文件,闪存控制器中配置的闪存保护地址范围包括该程序文件的地址范围。其中,该程序文件包括代码段和数据段。这样闪存控制器能够保护闪存中的程序文件不被篡改,保证处理核能够正常运行该程序文件中的代码。

5、可选地,闪存控制器接收处理核发送的针对闪存的第一访问命令的实现方式,包括:闪存控制器在间接访问模式下接收处理核发送的第一访问命令。

6、本技术中,闪存控制器设置有两种访问模式,包括直接访问模式和间接访问模式。当闪存控制器处于直接访问模式时,仅支持处理核对闪存的读操作。当闪存控制器处于间接访问模式时,支持处理核对闪存的读、写和擦除操作。

7、可选地,闪存控制器在直接访问模式下接收处理核发送的针对闪存的第二访问命令,第二访问命令包括第二访问地址,第二访问地址用于指示第二访问命令在闪存中所访问的地址范围。如果第二访问地址不属于闪存控制器中配置的闪存的可读地址范围,闪存控制器拦截第二访问命令。

8、本技术通过在闪存控制器中配置闪存的可读地址范围,使得处理核在闪存控制器处于直接访问模式时,无法读取到闪存中该可读地址范围以外的内容,实现访问权限控制。

9、可选地,如果第二访问地址属于闪存控制器中配置的闪存的可读地址范围,闪存控制器生成第二命令字,第二命令字用于指示第二访问命令的访问类型为读。闪存控制器基于第二命令字和第二访问地址从闪存中读取第二访问地址对应的内容,并将第二访问地址对应的内容发送给处理核。

10、可选地,闪存控制器中配置的闪存的可读地址范围与保护地址范围相同。

11、本技术中,通过在闪存控制器中配置相同的可读地址范围和保护地址范围,由于闪存中保护地址范围对应的内容无法被篡改,且处理核在直接访问闪存时只能读取到可读地址范围对应的内容,因此能够保证处理核通过直接访问从闪存中读取的内容是未经篡改的,从而提高处理核的运行可靠性。

12、可选地,如果第一命令字指示第一访问命令的访问类型为读,闪存控制器基于第一命令字和第一访问地址从闪存中读取第一访问地址对应的内容,并将第一访问地址对应的内容发送给处理核。

13、可选地,闪存控制器接收处理核发送的模式切换指令,该模式切换指令用于指示闪存控制器由直接访问模式切换为间接访问模式,或者由间接访问模式切换为直接访问模式。

14、可选地,在闪存控制器接收处理核发送的针对闪存的第一访问命令之前,处理核通过运行第一可信程序,在闪存控制器中配置保护地址范围。处理核通过运行第二可信程序,对闪存中该保护地址范围对应的内容进行校验,并确定该保护地址范围对应的内容校验通过。

15、本技术中,通过先在闪存控制器中配置闪存的保护地址范围,再对闪存中该保护地址范围对应的内容进行校验。这样,在处理核对闪存中该保护地址范围对应的内容校验通过之后,如果闪存控制器接收到针对闪存中该保护地址范围对应的内容的修改指令,闪存控制器则拦截该修改指令以阻止对闪存的修改,从而能够避免处理核校验通过后到访问闪存的时间窗内闪存中经过校验的内容被篡改,提高了闪存中数据的安全性和可靠性。

16、可选地,上述片上系统还包括只读存储器和随机存取存储器。片上系统上电或复位后,处理核通过运行只读存储器中的第一程序文件,通过闪存控制器读取闪存中的第二程序文件以及第一签名,并将读取的第二程序文件和第一签名保存在随机存取存储器中,第一签名是基于第一私钥和第二程序文件的内容生成的。处理核采用第一私钥对应的第一公钥对第一签名进行验证。处理核在对第一签名验证通过之后,从随机存取存储器中保存的第二程序文件中获取第一可信程序和第二可信程序。

17、本技术在处理核的安全启动过程中完成信任链校验,实现对闪存控制器的闪存保护功能的可信配置。

18、可选地,处理核通过运行第二可信程序,对闪存中保护地址范围对应的内容进行校验的实现方式,包括:处理核通过运行第二可信程序,通过闪存控制器读取闪存中保护地址范围对应的内容以及第二签名,并将读取的保护地址范围对应的内容和第二签名保存在随机存取存储器中,第二签名是基于第二私钥和保护地址范围对应的内容生成的。处理核采用第二私钥对应的第二公钥对第二签名进行验证。

19、可选地,处理核通过运行第一可信程序,在闪存控制器中配置保护地址范围之后,处理核通过运行第三可信程序,锁定闪存控制器针对闪存的保护功能配置。其中,闪存控制器针对闪存的保护功能配置被锁定,是指闪存控制器中针对闪存的保护功能配置无法被修改。闪存控制器针对闪存的保护功能配置包括防篡改配置和/或访问权限控制配置。其中,防篡改配置包括在闪存控制器上配置闪存的保护地址范围,以及配置闪存控制器在间接访问模式下保护闪存中该保护地址范围对应的内容不被篡改。访问权限控制配置包括在闪存控制器上配置闪存的可读地址范围,以及配置闪存控制器在直接访问模式下只读闪存中该可读地址范围对应的内容。

20、第二方面,提供了另一种数据保护方法。可编程逻辑控制器接收片上系统发送的针对闪存的第一访问命令。可编程逻辑控制器部署在片上系统与闪存之间。第一访问命令包括第一命令字和第一访问地址。第一命令字用于指示第一访问命令的访问类型,该访问类型包括读、写或擦除。第一访问地址用于指示第一访问命令在闪存中所访问的地址范围。如果第一命令字指示第一访问命令的访问类型为写或擦除,且第一访问地址属于可编程逻辑控制器中配置的闪存的保护地址范围,可编程逻辑控制器拦截第一访问命令。

21、本技术通过在片上系统与闪存之间部署可编程逻辑控制器,并在可编程逻辑控制器上配置闪存的保护地址范围,如果片上系统内部的处理核想要修改闪存中该保护地址范围对应的内容,则可编程逻辑控制器阻止该修改行为,从而保护闪存中该保护地址范围对应的内容不被篡改,实现针对闪存的数据防篡改功能,能够提高闪存中数据的安全性和可靠性。

22、可选地,可编程逻辑控制器接收片上系统发送的针对闪存的第一访问命令的实现方式,包括:可编程逻辑控制器在间接访问模式下接收片上系统发送的第一访问命令。

23、本技术中,可编程逻辑控制器可以设置有两种访问模式,包括直接访问模式和间接访问模式。这种情况下,可编程逻辑控制器的访问模式与闪存控制器的访问模式保持一致。也就是说,当闪存控制器处于直接访问模式时,可编程逻辑控制器也处于直接访问模式。当闪存控制器处于间接访问模式时,可编程逻辑控制器也处于间接访问模式。

24、可选地,可编程逻辑控制器在直接访问模式下接收片上系统发送的针对闪存的第二访问命令,第二访问命令包括第二命令字和第二访问地址,第二命令字用于指示第二访问命令的访问类型为读,第二访问地址用于指示第二访问命令在闪存中所访问的地址范围。如果第二访问地址不属于可编程逻辑控制器中配置的闪存的可读地址范围,可编程逻辑控制器拦截第二访问命令。

25、本技术通过在可编程逻辑控制器中配置闪存的可读地址范围,使得soc在可编程逻辑控制器处于直接访问模式时,无法读取到闪存中该可读地址范围以外的内容,实现访问权限控制。

26、可选地,如果第二访问地址属于可编程逻辑控制器中配置的闪存的可读地址范围,可编程逻辑控制器透传第二访问命令以及片上系统基于第二访问命令从闪存中读取的内容。

27、可选地,如果第一命令字指示第一访问命令的访问类型为读,可编程逻辑控制器透传第一访问命令以及片上系统基于第一访问命令从闪存中读取的内容。

28、可选地,可编程逻辑控制器接收片上系统发送的模式切换指令,该模式切换指令用于指示可编程逻辑控制器由直接访问模式切换为间接访问模式,或者由间接访问模式切换为直接访问模式。

29、可选地,在可编程逻辑控制器接收片上系统发送的针对闪存的第一访问命令之前,可编程逻辑控制器接收片上系统发送的配置命令,该配置命令包括保护地址范围。可编程逻辑控制器根据配置命令在可编程逻辑控制器中配置该保护地址范围。

30、本技术中,由片上系统完成对可编程逻辑控制器的闪存保护功能配置。

31、可选地,在可编程逻辑控制器根据配置命令在可编程逻辑控制器中配置保护地址范围之后,可编程逻辑控制器接收片上系统发送的锁定命令。可编程逻辑控制器根据该锁定命令锁定可编程逻辑控制器针对闪存的保护功能配置。其中,可编程逻辑控制器针对闪存的保护功能配置被锁定,是指可编程逻辑控制器中针对闪存的保护功能配置无法被修改。可编程逻辑控制器针对闪存的保护功能配置包括防篡改配置和/或访问权限控制配置。其中,防篡改配置包括在可编程逻辑控制器上配置闪存的保护地址范围,以及配置可编程逻辑控制器在间接访问模式下保护闪存中该保护地址范围对应的内容不被篡改。访问权限控制配置包括在可编程逻辑控制器上配置闪存的可读地址范围,以及配置可编程逻辑控制器在直接访问模式下只读闪存中该可读地址范围对应的内容。

32、第三方面,提供了一种片上系统,包括:处理核、存储器和闪存控制器。该存储器用于存储程序指令,该处理核读取该存储器中保存的程序指令后,与闪存控制器配合实现上述第一方面及其各实施方式中的方法。

33、第四方面,提供了一种可编程逻辑控制器,包括:可编程逻辑单元和可编程输入输出(input/output,io)单元。可编程io单元用于收发指令。可编程逻辑单元用于根据可编程io单元接收到的指令执行逻辑功能,实现上述第二方面及其各实施方式中的方法。

34、第五方面,提供了一种数据保护系统,包括:片上系统和可编程逻辑控制器。该片上系统包括处理核和闪存控制器。可编程逻辑控制器与闪存控制器连接。

35、其中,处理核用于先通过运行第一可信程序,在可编程逻辑控制器中配置闪存的保护地址范围,再通过运行第二可信程序,对闪存中该保护地址范围对应的内容进行校验,并在确定该保护地址范围对应的内容校验通过之后,通过闪存控制器向闪存发送访问命令。可编程逻辑控制器用于在可编程逻辑控制器中配置该保护地址范围之后,实现上述第二方面及其各实施方式中的方法。

36、第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现上述第一方面及其各实施方式中的方法或者上述第二方面及其各实施方式中的方法。

37、第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现上述第一方面及其各实施方式中的方法或者上述第二方面及其各实施方式中的方法。

38、第八方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法或者上述第二方面及其各实施方式中的方法。

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