CN115238308A - 一种数据保护方法、装置、电子设备及存储介质 - Google Patents
一种数据保护方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115238308A CN115238308A CN202210864908.1A CN202210864908A CN115238308A CN 115238308 A CN115238308 A CN 115238308A CN 202210864908 A CN202210864908 A CN 202210864908A CN 115238308 A CN115238308 A CN 115238308A
- Authority
- CN
- China
- Prior art keywords
- data
- storage area
- permission
- controller
- executing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000013500 data storage Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013461 design Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种数据保护方法、装置、电子设备及存储介质,其中,所述方法包括:根据访问权限对第一访问请求进行权限检查,得到权限检查结果;所述权限检查结果为检查通过的情况下,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作。采用本申请,提升了一次性可编程(OTP)器件所存储数据的数据安全,且不增加额外的硬件成本。
Description
技术领域
本申请涉及数据处理领域,尤其涉及数据保护方法、装置、电子设备及存储介质。
背景技术
在数据处理领域,数据安全历来是尤为重要的环节,硬件中的数据(比如敏感数据或安全数据)需要得到数据保护。
比如,对于芯片存储区域的数据保护而言,可以采用一次性可编程(One TimeProgrammable,OTP)器件来存储数据。OTP器件由于存储数据的非易失性和高可靠性,因此,能够在一定程度上满足数据安全的需求,然而,伴随着数据安全的需求增长,势必增加硬件成本,如何进一步提升OTP器件所存储数据的数据安全,且不增加额外的硬件成本,是要解决的技术问题。
发明内容
本申请提供了一种数据保护方法、装置、电子设备以及存储介质。
根据本申请的一方面,提供了一种数据保护方法,包括:
根据访问权限对第一访问请求进行权限检查,得到权限检查结果;
所述权限检查结果为检查通过的情况下,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作。
根据本申请的另一方面,提供了一种数据保护装置,包括:控制器及至少一个存储器,所述控制器及所述至少一个存储器采取分别部署在不同芯片、或集成在同一个芯片中的任一种芯片布局方式;其中,
所述控制器,用于根据访问权限对第一访问请求进行权限检查,得到权限检查结果;
所述至少一个存储器,用于在所述权限检查结果为检查通过的情况下,响应于所述控制器执行的数据写入或数据读取操作,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本申请任意一实施例所提供的方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使该计算机执行本申请任意一项实施例所提供的方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现本申请任意一项实施例所提供的方法。
采用本申请,可以根据访问权限对第一访问请求进行权限检查,得到权限检查结果,在该权限检查结果为检查通过的情况下,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作。由于通过软件算法(即通过该访问权限控制相应的数据写入或数据读取的数据保护操作),因此,提升了目的数据存储区域的数据安全,且不增加额外的硬件成本。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的一数据保护方法的流程示意图;
图2是根据本申请实施例的另一数据保护方法的流程示意图;
图3是根据本申请实施例的另一数据保护方法的流程示意图;
图4是根据本申请实施例的一应用示例的数据保护方法的流程示意图;
图5是根据本申请实施例的数据保护装置的组成结构示意图;
图6是用来实现本申请实施例的数据保护方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。本文中术语“第一”、“第二”表示指代多个类似的技术用语并对其进行区分,并不是限定顺序的意思,或者限定只有两个的意思,例如,第一特征和第二特征,是指代有两类/两个特征,第一特征可以为一个或多个,第二特征也可以为一个或多个。
为便于理解本申请实施例的技术方案,以下对本申请实施例所涉及到的技术用语以及基本概念进行简单说明。
1、片上系统(System On Chip,SoC):也可以称之为系统级芯片,它是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容,在集成电路领域,SoC被定义为:由多个具有特定功能的集成电路组合在一个芯片上所形成的系统或产品,其中包含完整的硬件系统及其承载的嵌入式软件。
2、一次性可编程(One Time Program,OTP)器件:OTP器件是一种一次可编程的存储器类型,其主要特点是只能编程一次,因此具有保护重要数据的特点,所以大量应用于安全芯片的密钥存储区。安全芯片是指可存储密钥和特征数据,带有独立处理单元和存储区的集成芯片,广泛应用于身份认证、数字签名等安全领域。
3、电熔丝存储器件(Electronic Fuse,eFuse):eFuse类似于带电可擦可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM),也是一种广泛应用于芯片内部的一次性可编程存储器,用于记录芯片内部的配置信息,或者用于在芯片失效时对芯片缺陷进行修复。
4、寄存器转换级电路(Register Transfer Level,RTL):也可以称之为暂存器转移层次,在集成电路设计中,RTL可以用于描述同步数字电路操作的抽象级,在RTL级,芯片可以由一组寄存器以及寄存器之间的逻辑操作构成,由寄存器之间的逻辑操作来完成数据的处理,数据处理的流程由时序状态机来控制,这些处理和控制可以用硬件描述语言来描述。
5、唯一设备机密(Unique Device Secret,UDS):每个闪存芯片都必须拥有任何人都不能读取的UDS,UDS值具有唯一性,是每个芯片内的真实随机值。
根据本申请的实施例,提供了一种数据保护方法,图1是根据本申请实施例的数据保护方法的流程示意图,该方法可以应用于数据保护装置,例如,该装置可以部署于单机、多机或集群系统中的电子设备(如终端或服务器)或其它处理设备,可以实现数据保护等处理。其中,终端可以为用户设备(UE,User Equipment)、移动设备、个人数字处理(PDA,Personal Digital Assistant)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,数据保护方法的流程包括:
S101、根据访问权限对第一访问请求进行权限检查,得到权限检查结果。
一些示例中,第一访问请求为数据写入请求的情况下,可以根据目的数据存储区域、硬件标识、待写入数据、锁定标识中的至少一种执行该权限检查,得到权限检查结果。
一些示例中,第一访问请求为数据读取的情况下,可以根据目的数据存储区域、硬件标识、待读取数据、锁定标识中的至少一种执行该权限检查,得到权限检查结果。
S102、权限检查结果为检查通过的情况下,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作。
一些示例中,第一访问请求为数据写入请求的情况下,若权限检查结果为检查通过,则在目的数据存储区域执行相应的数据写入的数据保护操作。
一些示例中,第一访问请求为数据读取的情况下,若权限检查结果为检查通过,则在目的数据存储区域执行相应的数据读取的数据保护操作。
采用本申请,可以根据访问权限对第一访问请求进行权限检查,得到权限检查结果,在该权限检查结果为检查通过的情况下,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作。由于通过软件算法(即通过该访问权限控制相应的数据写入或数据读取的数据保护操作),因此,提升了目的数据存储区域的数据安全,且不增加额外的硬件成本。
根据本申请的实施例,提供了一种数据保护方法,图2是根据本申请实施例的数据保护方法的流程示意图,该方法可以应用于数据保护装置,例如,该装置可以部署于单机、多机或集群系统中的电子设备(如终端或服务器)或其它处理设备,可以实现数据保护等处理。如图2所示,数据写入场景中,数据保护方法的流程包括:
S201、第一访问请求为数据写入请求的情况下,根据访问权限对该第一访问请求进行权限检查,得到权限检查结果。
一些示例中,可以根据目的数据存储区域、硬件标识、待写入数据、锁定标识中的至少一种执行权限检查,得到该权限检查结果。
S202、权限检查结果为检查通过的情况下,确定目的数据存储区域为允许写入的状态。
S203、根据待写入数据执行第一编码处理,得到密文数据。
一些示例中,可以获取第一掩码,根据待写入数据及该第一掩码执行第一编码处理,得到该密文数据。
一些示例中,第一编码处理包括但不限于:异或操作。
S204、将密文数据写入目的数据存储区域。
采用本申请,在数据写入场景中,可以根据访问权限对第一访问请求进行权限检查,以得到权限检查结果,在该权限检查结果为检查通过的情况下,根据待写入数据执行第一编码处理,以得到密文数据,在目的数据存储区域,如将密文数据写入块(block),从而实现了数据写入的数据保护操作,由于通过软件算法(即通过该访问权限控制相应的数据写入的数据保护操作),因此,提升了目的数据存储区域的数据安全,且不增加额外的硬件成本。
根据本申请的实施例,提供了一种数据保护方法,图3是根据本申请实施例的数据保护方法的流程示意图,该方法可以应用于数据保护装置,例如,该装置可以部署于单机、多机或集群系统中的电子设备(如终端或服务器)或其它处理设备,可以实现数据保护等处理。如图3所示,数据读取场景中,数据保护方法的流程包括:
S301、第一访问请求为数据读取请求的情况下,根据访问权限对该第一访问请求进行权限检查,得到权限检查结果。
一些示例中,可以根据目的数据存储区域、硬件标识、待读取数据、锁定标识中的至少一种执行权限检查,得到该权限检查结果。
S302、权限检查结果为检查通过的情况下,查找目的数据存储区域,得到与待读取数据对应的密文数据。
S303、根据密文数据执行第一解码处理,读取得到的明文数据。
一些示例中,可以获取第一掩码,根据密文数据及该第一掩码执行第一解码处理,读取得到的明文数据。
一些示例中,第一解码处理包括但不限于:同或操作。
采用本申请,在数据读取场景中,可以根据访问权限对第一访问请求进行权限检查,以得到权限检查结果,在该权限检查结果为检查通过的情况下,对密文数据(如在数据写入场景中写入block的密文数据)执行第一解码处理,以得到明文数据,从而实现了数据读取的数据保护操作,由于通过软件算法(即通过该访问权限控制相应的数据读取的数据保护操作),因此,提升了目的数据存储区域的数据安全,且不增加额外的硬件成本。
需要指出的是,示例性的,上述数据保护方法可以应用于OTP控制器和OTP器件(如受控于OTP控制器的一个或多个OTP器件)构成的数据保护装置,在实际应用中,OTP控制器和OTP器件可以是二个独立的芯片,也可以将OTP控制器和OTP器件集成在一起,作为一个芯片使用。其中,OTP器件可以为掉电可保存数据的非易失性存储器。
相比于对OTP器件的数据安全解决方案,大多采用数据加密/加扰,或者block随机化,以及校验和锁定等方式,都无法满足OTP器件的安全需求,且增加了硬件成本。采用本申请的上述数据保护方法,通过OTP控制器根据访问权限对第一访问请求进行权限检查,在权限检查通过后控制OTP器件进行数据写入或数据读取的数据保护操作,具体是,第一访问请求为数据写入操作的情况下,可以在第一访问请求中携带待写入目的数据存储区域“如OTP器件中的目标block”的数据,或者,在第一访问请求为数据读取操作的情况下,从目的数据存储区域“如OTP器件中的目标block”中读取之前写入的数据,由于主要是基于配置的读/写的权限,避免了增加硬件成本。
需要指出的是,本申请的上述数据保护方法包括但不限于:OTP控制器和OTP器件的场景,控制器及其存储器需要实现数据安全的场景,都在本申请的保护范围之内。
需要指出的是,本申请的上述数据保护方法包括但不限于:数据写入场景、数据读取场景、数据写入+数据读取的场景,换言之,数据写入场景及数据读取场景可以分别执行上述数据保护方法。
针对OTP器件的安全设计中,一般都是针对OTP器件中的数据进行安全加固,包括对写入数据进行加密,或者将数据写到器件上随机的block区域,或者记录block区域中“0”的个数用于数据校验,或者增加写锁定和读禁止机制,一般不会对发起方做细颗粒度的访问控制,但由于粗颗粒度或者只能整体控制造成方案不够灵活,甚至引入额外的硬件设计造成成本增加,因此导致OTP器件的安全设计造成妥协,换言之,考虑到硬件设计的成本而降低了对OTP器件的数据保护。
OTP器件作为SoC的可信根,用于存放关键和敏感信息(如UDS、镜像解密的对称秘钥、秘钥派生的根秘钥等),一旦这些信息被泄露或者非法篡改,会导致SoC整个安全体系的不再成立,基于这些可信根建立的安全链路也会遭到破坏,安全资产的非法访问和侵犯会直接导致用户信息被窃取。
OTP器件的安全设计中,主要包括如下几种:
1、将要写入OTP器件的数据先经过加密或者加扰得到密文,最终将密文写入OTP器件中,这种方案虽然起到数据保护的作用,但是引入了数据加解密或者加解扰的行为,此外还需要额外设计秘钥的保护,增加了设计成本;
2、通过OTP器件实现block的随机写入,在OTP控制器中记录访问block和器件block的映射关系。每次读/写OTP器件上数据时,都经过OTP控制器中的block映射关系翻译,这种方案虽然对OTP字段做了一定程度上混淆,但是通过X光透视或者物理磨片这类反向工程都能看到OTP器件上实际的block布局和bit值,再经过字段定义分析或者其它信息辅助,还是能够还原出每个字段的分布以及字段内容,实际上不能保护OTP器件上存储的数据;
3.OTP器件为eFuse器件的情况下,由于每个bit只能单向从“0”熔断成为“1”,因此,记录字段中“0”的个数可以作为字段内容的校验手段,一定程度上达到了防篡改的安全需求,但是毕竟OTP器件中还是存储的明文数据,借助X光透视或者物理磨片这类反向工程,最终还是能够窥探到该明文数据,仍然不能保护OTP器件上存储的数据;
4.OTP器件的写入行为支持锁定机制,即通过寄存器设定写锁定之后,对应block字段的写无效;类似的还有读禁止,即通过寄存器设定读禁止之后,对应block字段的读操作会直接用固定值或者随机值作为数据返回,一定程度上达到了软件层面的安全需求,但是在OTP器件上存放的还是明文数据,依然可以用X光透视或者物理磨片这类反向工程窥探到该明文数据,仍然不能保护OTP器件上存储的数据。
综上所述,采用上述OTP器件的安全设计,无论是数据加密/加扰,还是block随机化,以及校验和锁定的方式,都没有整体的安全解决方案,如果简单的将上述多个方案进行叠加组合,在技术上是可行的,但是在工程落地上是不现实的,因为硬件设计成本难以控制,带来的硬件设计成本甚至大于安全收益,只能通过安全妥协来做设计折衷,这会给SoC系统带来安全隐患。
采用本申请实施例的一应用示例中,针对OTP器件的安全设计,引入了OTP控制器中的访问权限表,OTP控制器可以基于访问权限表的检查结果对OTP器件的数据读取或数据写入进行数据保护。
考虑到OTP器件作为SoC的可信根,存储的数据多数为关键和敏感信息,而这些关键和敏感信息为安全资产,只开放给TEE环境的安全访问可以进一步提高安全性,可以在可行执行环境(Trusted Execution Environment,TEE)环境配置访问权限表。
具体的,针对OTP器件中数据的每次访问请求(如数据读取或数据写入请求),需要经过OTP控制器,OTP控制器在TEE环境中可以设定访问权限表,对于每次访问请求,OTP控制器可以基于主设备硬件标识(如SecMID,SecMID是SoC集成过程中给每个主设备固定分配的硬件标识,且在SoC流片后该标识不可更改)、目的block(block是以32bit为单位进行访问)、读/写信息、锁定标识等信息做权限检查。其中,针对数据写入请求,对于权限检查通过的数据写入请求,OTP控制器会先判断目的block字段是否允许写入,允许写入的情况下将要写入的数据与一个硬编码的掩码值执行编码处理(如异或操作),将编码得到的密文写入OTP器件中。可选的,为了保证数据写入成功,从OTP器件中读取该目的block字段,将读取的数据与写入的数据进行比对,比对一致的情况下返回写成功;针对数据读取操作,OTP控制器也是先进行权限检查,对权限检查通过的数据读取请求,OTP控制器会解析该数据读取请求,并从OTP器件中对应目的block字段读取之前写入的密文数据,再用同一个硬编码的掩码值执行解码处理(如同或操作),以得到与密文数据对应的明文数据,并返回给发起数据读取请求的主设备。可选的,基于OTP控制器中的硬件逻辑,如果解析到访问权限表中锁定标识为有效配置的标识,则对于数据读取请求,返回固定值或者随机值;对于数据写入请求,立即返回写失败。
如图4所示,以OTP器件为eFuse器件进行举例说明,包括:在初始化eFuse控制器的过程中,在TEE中配置Fuse控制器的访问权限表,初始化结束后,发起对OTP器件的访问请求(数据读取请求或数据写入请求),以根据该访问权限表对该访问请求进行权限检查。针对该权限检查的第一种情况是:读拒绝,即该数据读取请求与该访问权限表不匹配,返回假值,“假值”,是相对于真正读取到数据所反馈的真值而言的,由于当前是读拒绝状态,实际上没有真正完成数据读取操作,但是考虑操作流程的完整性,换言之,操作流程不能中断,因此,也会返回一个值,这个值相对于真值着称之为假值,比如,假值可以设置为全为0或全为1;针对该权限检查的第二种情况是:写拒绝,即该数据写入请求与该访问权限表不匹配,返回错误响应。针对该权限检查的第三种情况是:检查通过,对于检查通过的数据读取请求而言,可以从OTP器件的block中获取密文数据,基于掩码值进行同或操作以进行密文数据的解码处理,返回已读取的明文数据给发起数据读取请求的主设备;对于检查通过的数据写入请求而言,向OTP器件的目标block中写入数据,基于掩码值进行异或操作以进行数据加密的编码处理,将密文数据写入OTP器件的目标block,可选的,在进行读&比较后确认数据无误,返回写入成功的反馈给发起数据写入操作的主设备。
可选的,OTP控制器中的权限检查表,可以支持一次性编程寄存器实现;也可以对每个表项增加配置锁定bit,该bit生效期间,对应的表项不可修改,直到OTP控制器整体复位后恢复默认状态。
可选的,为了保护OTP器件中的数据,除了可以采用异或操作和同或操作这类互逆操作的轻量级算法,还可以将编码及解码处理扩展为更复杂的加解扰或者加解密的算法,具体可以根据芯片系统的安全需求来设计。
可选的,一个OTP控制器可以管理多个OTP器件,以实现管理的汇聚和硬件成本的进一步优化。
可选的,OTP器件在系统架构层面上作为安全可行的设计,一般只有TEE环境下才能访问,可以在OTP控制器中的访问权限表中增加对每次访问请求中携带的安全属性(与TEE环境相关的安全属性)进行安全属性的权限检查。
采用本应用示例,针对基于OTP控制器的数据安全设计而言,对于OTP控制器和OTP器件构成的数据保护装置,OTP控制器通过访问权限的检查,实现了对于OTP器件上的数据进行精细化的访问控制;利用轻量级的算法(即:访问权限检查通过后,通过互逆操作,如异或操作和同或操作构成的互逆操作来实现编解码)实现了OTP器件上的数据保护,避免在OTP器件上进行明文数据的存储;在硬件上实现了权限访问的检查,既实现了数据保护功能,也保证了写入及读取的性能,减少了软件干预和后期的维护成本,其中,针对权限访问的检查,也可以由软件进行配置设置于硬件(即OTP控制器)内部的权限检查表,增加了方案的灵活性。
进一步的,上述基于OTP控制器的数据保护,可以兼容相关技术中的各种用于OTP器件数据安全加固的解决方案,包括但不限于:针对OTP器件的随机block访问、Double Bit冗余、0的个数校验等常规的安全加固方法,从而进一步提高了目前数据安全解决方案的安全性和灵活性,改善了OTP器件的整体安全方案,最终,通过对OTP器件的数据保护,减少了系统硬件可信根的攻击面,消除了系统的安全短板,提高了SoC的整体安全性。
需要指出的是,上面这些示例可以结合上述本申请实施例中的各种可能性,此处不做赘述。
根据本申请的实施例,提供了一种数据保护装置,图5是根据本申请实施例的数据保护装置的组成结构示意图,如图5所示,数据保护装置包括:控制器501及至少一个存储器502,控制器501及至少一个存储器502采取分别部署在不同芯片、或集成在同一个芯片中的任一种芯片布局方式。以控制器501及至少一个存储器502集成在同一个芯片为例,将控制器501及至少一个存储器502部署于同一个芯片上,该芯片位于数据保护装置中。其中,控制器501用于根据访问权限对第一访问请求进行权限检查,得到权限检查结果;至少一个存储器502用于在权限检查结果为检查通过的情况下,响应于控制器501执行的数据写入或数据读取操作,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作。
在一种可能的实现方式中,至少一个存储器502为非易失性存储器。
在一种可能的实现方式中,控制器501用于第一访问请求为数据写入请求的情况下,根据目的数据存储区域、硬件标识、待写入数据、锁定标识中的至少一种执行权限检查,得到权限检查结果。
在一种可能的实现方式中,控制器501用于确定目的数据存储区域为允许写入的状态,根据待写入数据执行第一编码处理,得到密文数据。将密文数据写入目的数据存储区域。
在一种可能的实现方式中,控制器501用于获取第一掩码,根据待写入数据及第一掩码执行第一编码处理,得到密文数据。
在一种可能的实现方式中,控制器501用于第一访问请求为数据读取的情况下,根据目的数据存储区域、硬件标识、待读取数据、锁定标识中的至少一种执行权限检查,得到权限检查结果。
在一种可能的实现方式中,控制器501用于查找目的数据存储区域,得到与待读取数据对应的密文数据,根据密文数据执行第一解码处理,读取得到的明文数据。
在一种可能的实现方式中,控制器501用于获取第一掩码,根据密文数据及第一掩码执行第一解码处理,读取得到的明文数据。
本申请的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本申请的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如数据保护方法。例如,在一些实施例中,数据保护方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的数据保护方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据保护方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (18)
1.一种数据保护方法,其特征在于,所述方法包括:
根据访问权限对第一访问请求进行权限检查,得到权限检查结果;
所述权限检查结果为检查通过的情况下,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作。
2.根据权利要求1所述的方法,其特征在于,所述根据访问权限对第一访问请求进行权限检查,得到权限检查结果,包括:
所述第一访问请求为数据写入请求的情况下,根据所述目的数据存储区域、硬件标识、待写入数据、锁定标识中的至少一种执行所述权限检查,得到所述权限检查结果。
3.根据权利要求2所述的方法,其特征在于,所述在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作,包括:
确定所述目的数据存储区域为允许写入的状态;
根据所述待写入数据执行第一编码处理,得到密文数据;
将所述密文数据写入所述目的数据存储区域。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待写入数据执行第一编码处理,得到密文数据,包括:
获取第一掩码;
根据所述待写入数据及所述第一掩码执行所述第一编码处理,得到所述密文数据。
5.根据权利要求1所述的方法,其特征在于,所述根据访问权限对第一访问请求进行权限检查,得到权限检查结果,包括:
所述第一访问请求为数据读取的情况下,根据所述目的数据存储区域、硬件标识、待读取数据、锁定标识中的至少一种执行所述权限检查,得到所述权限检查结果。
6.根据权利要求5所述的方法,其特征在于,所述权限检查结果为检查通过的情况下,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作,包括:
查找所述目的数据存储区域,得到与所述待读取数据对应的密文数据;
根据所述密文数据执行第一解码处理,读取得到的明文数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述密文数据执行第一解码处理,读取得到的明文数据,包括:
获取第一掩码;
根据所述密文数据及所述第一掩码执行所述第一解码处理,读取得到的所述明文数据。
8.一种数据保护装置,其特征在于,所述装置包括:控制器及至少一个存储器,所述控制器及所述至少一个存储器采取分别部署在不同芯片、或集成在同一个芯片中的任一种芯片布局方式;其中,
所述控制器,用于根据访问权限对第一访问请求进行权限检查,得到权限检查结果;
所述至少一个存储器,用于在所述权限检查结果为检查通过的情况下,响应于所述控制器执行的数据写入或数据读取操作,在目的数据存储区域执行相应的数据写入或数据读取的数据保护操作。
9.根据权利要求8所述的装置,其特征在于,所述存储器为非易失性存储器。
10.根据权利要求8或9所述的装置,其特征在于,所述控制器,用于:
所述第一访问请求为数据写入请求的情况下,根据所述目的数据存储区域、硬件标识、待写入数据、锁定标识中的至少一种执行所述权限检查,得到所述权限检查结果。
11.根据权利要求10所述的装置,其特征在于,所述控制器,用于:
确定所述目的数据存储区域为允许写入的状态;
根据所述待写入数据执行第一编码处理,得到密文数据;
将所述密文数据写入所述目的数据存储区域。
12.根据权利要求11所述的装置,其特征在于,所述控制器,用于:
获取第一掩码;
根据所述待写入数据及所述第一掩码执行所述第一编码处理,得到所述密文数据。
13.根据权利要求8或9所述的装置,其特征在于,所述控制器,用于:
所述第一访问请求为数据读取的情况下,根据所述目的数据存储区域、硬件标识、待读取数据、锁定标识中的至少一种执行所述权限检查,得到所述权限检查结果。
14.根据权利要求13所述的装置,其特征在于,所述控制器,用于:
查找所述目的数据存储区域,得到与所述待读取数据对应的密文数据;
根据所述密文数据执行第一解码处理,读取得到的明文数据。
15.根据权利要求14所述的装置,其特征在于,所述控制器,用于:
获取第一掩码;
根据所述密文数据及所述第一掩码执行所述第一解码处理,读取得到的所述明文数据。
16.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
18.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210864908.1A CN115238308A (zh) | 2022-07-21 | 2022-07-21 | 一种数据保护方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210864908.1A CN115238308A (zh) | 2022-07-21 | 2022-07-21 | 一种数据保护方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115238308A true CN115238308A (zh) | 2022-10-25 |
Family
ID=83675627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210864908.1A Pending CN115238308A (zh) | 2022-07-21 | 2022-07-21 | 一种数据保护方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115238308A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118152311A (zh) * | 2024-05-11 | 2024-06-07 | 西安简矽技术有限公司 | 数据处理方法、装置、系统、电子设备及存储介质 |
-
2022
- 2022-07-21 CN CN202210864908.1A patent/CN115238308A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118152311A (zh) * | 2024-05-11 | 2024-06-07 | 西安简矽技术有限公司 | 数据处理方法、装置、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104823207B (zh) | 通过与随机成分组合来保护用于移动支付应用程序的个人识别号码 | |
US20200257820A1 (en) | System and method for user data isolation | |
KR102347562B1 (ko) | 보안 제어 방법 및 컴퓨터 시스템 | |
US8839001B2 (en) | Infinite key memory transaction unit | |
US8843767B2 (en) | Secure memory transaction unit | |
US10319457B2 (en) | Methods and systems of testing interfaces of computer storage for storage vulnerabilities | |
US10146655B2 (en) | Method for determining an intergrity of an execution of a code fragment and a method for providing an abstracted representation of a program code | |
US20230080528A1 (en) | Smart data protection | |
US20130081144A1 (en) | Storage device and writing device | |
KR102008668B1 (ko) | 외부 저장 장치에 저장되는 파일의 개인정보를 보호하는 보안 시스템 및 방법 | |
CN109644129A (zh) | 用于硬件加速密码的密钥的线程所有权 | |
WO2015038447A1 (en) | Security processing unit with configurable access control | |
CN107949832A (zh) | 用于仅执行事务存储器的技术 | |
CN110998545A (zh) | 具有安全模块的计算机系统软件/固件和处理器单元 | |
CN110070360B (zh) | 一种事务请求处理方法、装置、设备及存储介质 | |
CN106845289A (zh) | 一种安全芯片及其非易失性存储控制装置、方法 | |
US20150242630A1 (en) | Systems and methods for securing bios variables | |
CN113260999A (zh) | 减少未经授权的存储器存取 | |
US20120030543A1 (en) | Protection of application in memory | |
US9858207B2 (en) | Page level key-based memory protection | |
US20140219445A1 (en) | Processors Including Key Management Circuits and Methods of Operating Key Management Circuits | |
CN115238308A (zh) | 一种数据保护方法、装置、电子设备及存储介质 | |
US10218713B2 (en) | Global attestation procedure | |
US8904508B2 (en) | System and method for real time secure image based key generation using partial polygons assembled into a master composite image | |
CN117171733A (zh) | 数据使用方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |