CN112214482A - 数据处理方法、装置、安全芯片、存储介质及计算机设备 - Google Patents

数据处理方法、装置、安全芯片、存储介质及计算机设备 Download PDF

Info

Publication number
CN112214482A
CN112214482A CN201910621028.XA CN201910621028A CN112214482A CN 112214482 A CN112214482 A CN 112214482A CN 201910621028 A CN201910621028 A CN 201910621028A CN 112214482 A CN112214482 A CN 112214482A
Authority
CN
China
Prior art keywords
trusted
space
objects
storage space
memory space
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
Application number
CN201910621028.XA
Other languages
English (en)
Inventor
肖鹏
付颖芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910621028.XA priority Critical patent/CN112214482A/zh
Publication of CN112214482A publication Critical patent/CN112214482A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种数据处理方法、装置、安全芯片、存储介质及计算机设备。该方法包括:接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;确定可信存储空间的剩余空间达到预设阈值,其中,该可信存储空间存储一个或多个既有对象;从既有对象中,选择一个或多个第二对象;从可信存储空间中移出该一个或多个第二对象;为第一对象分配可信存储空间。通过本发明,达到了最大限度使用可信存储空间,使得与安全芯片关联的可信存储空间得到适应扩展的技术效果,进而解决了在相关技术中,存在可信存储空间不能满足使用需求的技术问题。

Description

数据处理方法、装置、安全芯片、存储介质及计算机设备
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据处理方法、装置、安全芯片、存储介质及计算机设备。
背景技术
可信计算是在计算和通信系统中使用基于硬件安全模块支持下的计算,以提高系统整体的安全性。可信计算基于国际可信计算组(Trusted Computing Group,简称为TCG)/可信平台模块(Trusted Platform Model,简称为TPM)的可信标准完成。TCG/TPM可信标准是:以可信芯片(也称之为安全芯片,例如,TPM,可信平台控制模块(Trusted PlatformControl Model,简称为TPCM)等)为可信根,系统启动时逐级对系统所包括的设备或者应用进行度量,从而最终完成从起点到应用、网络的信任传递过程。除了可信度量之外,TPM还提供了可信存储的功能,在TPM的芯片内部的非易失性存储(Non-Volatile,简称为NV)空间存储证书、密钥等敏感数据。
但在可信芯片的物理实体硬件中,所限于芯片尺寸、功耗、成本等限制,能够提供的可信NV空间大小有限(最大到百K),且持久化对象的数量支持也比较少(最大到10个)。当业务需要使用较大的可信空间或较多的持久化对象时,无法直接使用TPM硬件内部的预置空间;而且,在云环境下,一个物理TPM实体需要提供给多个虚拟用户使用,但一个物理TPM实体的可信NV空间完全无法满足多个虚拟用户的使用要求。因此,在相关技术中,存在可信存储空间不能满足使用需求的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法、装置、安全芯片、存储介质及计算机设备,以至少解决在相关技术中,存在可信存储空间不能满足使用需求的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,包括:接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;确定所述可信存储空间的剩余空间达到预设阈值,其中,所述可信存储空间存储一个或多个既有对象;从所述既有对象中,选择一个或多个第二对象;从所述可信存储空间中移出所述一个或多个第二对象;为所述第一对象分配可信存储空间。
根据本发明的另一方面,提供了一种数据处理装置,包括:接收模块,用于接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;确定模块,用于确定所述可信存储空间的剩余空间达到预设阈值,其中,所述可信存储空间存储一个或多个既有对象;选择模块,用于从所述既有对象中,选择一个或多个第二对象;移出模块,用于从所述可信存储空间中移出所述一个或多个第二对象;分配模块,用于为所述第一对象分配可信存储空间。
根据本发明的一方面,提供了一种安全芯片,包括上述所述的数据处理装置。
根据本发明的另一方面,提供了一种存储介质,所述存储介质存储有程序,其中,在所述程序被处理器运行时控制所述处理器执行上述任意一项所述的数据处理方法。
根据本发明的还一方面,提供了一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序;所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行上述任意一项所述的数据处理方法。
根据本发明的还一方面,还提供了一种数据处理方法,包括:接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;确定所述可信存储空间的剩余空间达到预设阈值,其中,所述可信存储空间已存储一个或多个既有对象;从所述既有对象中,选择一个或多个第二对象;采用所述安全芯片的存储根密钥对所述一个或多个第二对象进行加密,获得加密密文;对所述加密密文进行转存;为所述第一对象分配可信存储空间。
根据本发明的再一方面,还提供了一种可信对象存储方法,包括:接收在与安全芯片关联的可信存储空间创建第一可信对象的创建请求;确定所述可信存储空间的剩余空间达到预设阈值,其中,所述可信存储空间存储一个或多个既有可信对象;从所述既有可信对象中,选择一个或多个第二可信对象;从所述可信存储空间中移出所述一个或多个第二可信对象;为所述第一可信对象分配可信存储空间。
在本发明实施例中,采用在可信存储空间的剩余空间达到预设阈值时,从可信存储空间存储的既有对象中选择一个或多个第二对象移出该可信存储空间,并为新的创建请求对应的第一对象分配可信存储空间,达到了最大限度使用可信存储空间,使得与安全芯片关联的可信存储空间得到适应扩展的技术效果,进而解决了在相关技术中,存在可信存储空间不能满足使用需求的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现数据处理方法的计算机终端的硬件结构框图;
图2是本发明实施例所基于的TCG/TPM可信标准的信任链传递流程图;
图3是本发明实施例所基于的TPM持久化密钥层次结构的示意图;
图4是根据本发明实施例1的数据处理方法的流程图;
图5是根据本发明实施例1的数据处理方法的应用场景的示意图;
图6是根据本发明实施例1的可选的数据处理方法的流程图;
图7是根据本发明实施例1的可信对象存储方法的流程图;
图8是根据本发明实施例1的TPM的NV存储扩展的架构示意图;
图9是根据本发明实施例的NV空间对象快表的示意图;
图10是根据本发明实施例的内存空间对象快表的示意图;
图11是根据本发明实施例2的数据处理装置的结构框图;
图12是根据本发明实施例2的安全芯片的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
可信计算(Trusted Computing):国际可信计算组(Trusted Computing Group,简称为TCG)开发和推广的技术,在计算和通信系统中使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。使用可信计算,计算机将一直以预期的方式运行,这些行为将由计算机硬件和程序共同保证,通过使用系统其余部分无法访问的硬件安全模块来实现此行为。
安全芯片:安全芯片是一种植于计算机内部为计算机提供可信根的芯片,即该芯片是可信的。其中,该可信根是度量的起点,作为度量的起点是绝对可信的。该芯片的规格由TCG制定,能够有效地保护计算机,防止非法用户访问。例如,安全芯片可以包括:可信平台模块(TPM,Trusted Platform Model)和可信平台控制模块(TPCM,Trusted PlatformControl Model)等。
TPM:TPM是一种安全密码处理器的国际标准,由TCG撰写,通过专门的微控制器将加密密钥集成到设备中来保护硬件。TPM安全芯片是指符合TPM标准的安全芯片,一般通过物理方式被强绑定到计算平台,它能有效地保护PC、防止非法用户访问。
TPCM:TPCM作为中国国内自主可控的可信节点植入可信源根,在TPM基础上加以信任根控制功能,实现了以密码为基础的主动控制和度量;TPCM先于CPU启动并对BIOS进行验证,由此改变了TPM作为被动设备的传统思路,实现了TPCM对整个平台的主动控制。
NV空间(Non-Volatile Space):或称为可信存储空间,由可信安全芯片提供的非易失性存储空间,用于提供对敏感信息的可信存储,可供用户分配使用。
持久化对象句柄(Persistent Object Handles):当用户需要把某个临时对象,安全存放在TPM内部NV空间并持久存在时,需要将临时对象升级为持久化对象,(持久化对象在系统重启后仍然生效,临时对象则会被清除,因此,持久化对象也可称为可信对象)。TPM会为每个持久化对象,分配一个持久化对象句柄,用户需要通过持久化对象句柄,来访问对应的持久化对象。
实施例1
根据本发明实施例,还提供了一种数据处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:传输模块、显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的基于安全计算卡的度量方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述传输模块用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
图2是本发明实施例所基于的TCG/TPM可信标准的信任链传递流程图,如图2所示,TCG/TPM可信标准是:以TPM为可信根,系统启动时逐级对系统所包括的设备或者应用进行度量,系统启动时由基本输入输出系统(Base Input Output System,简称为BIOS)中的可信度量根开始,度量BIOS初始引导模块,接着由BIOS初始引导模块度量BIOS主引导模块,BIOS主引导模块度量BIOS其余部分及操作系统(Operation System,简称为OS)装载器,之后由OS装载器对OS内核进行度量,以此类推,从而最终完成从起点到应用、网络的信任传递过程。
除了可信度量之外,TPM还提供了可信存储的功能:证书、密钥等敏感数据可以安全存放在TPM安全芯片内部(NV空间)。其中的非对称私钥、对称密钥等都可以存储于TPM安全芯片内部,不被外部系统获取,同时所有的加解密操作均在TPM内部运行,最终可以实现密钥的可用不可见。
TPM 2.0使用了三个持久性(persistent)密钥层结构来支持不同的实例,图3是本发明实施例所基于的TPM持久化密钥层次结构的示意图,如图3所示,它们有独立的访问授权控制(授权密码和策略),独立的管理员以及略微不同的操作方法:平台密码层结构(Platform Hierarchy)、存储密码层结构(Storage Hierarchy)、认证密码层结构(Endorsement Hierarchy)。另外Null Hierarchy不属于持久性密钥层,授权密钥为空,策略也为空,同时不可持久重启后清空。
但如上,在相关技术中,可信芯片能够提供的可信NV空间大小有限(最大到百K),且持久化对象的数量支持也比较少(最大到10个);而且,一个可信芯片可能需要提供给多个虚拟用户使用,但一个可信芯片的可信NV空间完全无法满足多个虚拟用户的使用要求。因此,需要对可用的NV存储空间和持久化对象数量进行相应的虚拟扩展,基于此,在本发明实施例中提供了一种可信芯片的可信存储的扩展方案。
基于上述不足,在本发明实施例中一种数据处理方法。图4是根据本发明实施例1的数据处理方法的流程图,如图4所示,该流程包括如下步骤:
步骤S402,接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;
作为一种可选的实施例,本方法步骤的执行主体可以是在安全芯片中执行该可信存储扩展方案的功能实体,例如,可以是一种新增的代理进程,安全芯片代理进程,例如,可以是TPM-Proxy,或者TPCM-Proxy等。通过该进程管理TPM/TPCM内部的NV对象:内存映射以及内存交换。为描述方便,在本实施例1中,在描述具体实例时,以TPM为例进行说明。
作为一种可选的实施例,在本步骤中“与安全芯片关联的可信存储空间”可以是与安全芯片关联的任何可信存储空间,例如,可以是安全芯片本地自身的可信存储空间,也可以是与安全芯片存在任何可信操作的硬件实体的可信存储空间,比如,可以是上述所描述的信任链中进行度量的度量对象的可信存储空间等。
作为一种可选的实施例,在对与安全芯片关联的可信存储空间进行使用时,可以通过安全芯片代理进程正常使用与安全芯片关联的可信存储空间,直至可信存储的物理空间用尽。其中,持久化对象(Persistent Object/OBJ)优先使用物理空间。需要说明的是,持久化对象是相对于临时对象而言的,当需要把某个临时对象,安全存放在与安全芯片关联的内部可信存储空间并持久存在时,需要将临时对象升级为持久化对象,(持久化对象在系统重启后仍然生效,临时对象则会被清除)。
作为一种可选的实施例,与安全芯片关联的可信存储空间用尽的情况,即与安全芯片关联的可信存储空间已经不能用于创建新的对象,可以包括:可信存储空间的绝对用尽,即不存在一点剩余的可信存储空间了;还可以包括:可信存储空间相对剩余,即还存在可用的可信存储空间,但该剩余的可信存储空间不够用于创建新的对象。
作为一种可选的实施例,接收在与安全芯片关联的可信存储空间创建第一对象的创建请求时,以接收在安全芯片本身的可信存储空间创建第一对象的创建请求为例进行说明,该第一对象可以为新的非易失性存储NV对象。接收新NV对象的创建请求可以是基于安全芯片的本身存储需要创建新的NV对象的请求,例如,当安全芯片执行预定的加密操作时,需要创建新的NV对象来存储加密操作对应的密钥;又例如,当安全芯片执行远程认证时,需要对进行认证的基准值进行存储时,也需要创建新的NV对象来对该新的基准值进行存储等。接收新NV对象的创建请求也可以是外界服务需求创建新的NV对象的请求,例如,当外界需要从安全芯片中访问要访问的对象时,而该要访问的对象并不存储于可信的NV存储空间中,即需要将该要访问的对象从其它存储空间中存入可信的NV空间存储空间,从而需要在可信存储空间中创建新的NV对象。当然,需要创建NV对象的场景还可能有很多,在此不进行一一举例。需要说明的是,上述在安全芯片本身的NV空间可信存储空间创建第一对象的创建请求也适用于在与安全芯片存在任何可信操作的硬件实体的NV空间可信存储空间创建第一对象的创建请求的情况。
作为一种可选的实施例,上述所指的第一对象可以是一种新的对象,例如,可以是与安全芯片关联的可信的NV存储空间中没有存储的对象。在与安全芯片关联的可信的NV存储空间中创建可信的NV存储空间没有存储的新的对象,可以有效避免对象的重复存储,有效节省可信的NV存储空间的使用。
步骤S404,确定可信存储空间的剩余空间达到预设阈值,其中,可信存储空间存储一个或多个既有对象;
作为一种可选的实施例,一般情况下,可信存储空间可以正常地被使用,可信存储空间存储一个或多个既有对象,随着可信存储空间的使用,可信存储空间的剩余空间会不够用,例如,不能正常用于存储一个新的对象。因此,可信存储空间表现出一种用尽的情况。为表征可信存储空间用尽的这种情况,在本发明实施例中,将可信存储空间用尽表现为可信存储空间的剩余空间达到预设阈值,其中,这个预设阈值可以是根据以往的存储经验获得,也可以是根据实际存储需要灵活设置。
作为一种可选的实施例,确定可信存储空间的剩余空间达到预设阈值可以有多种可能情况,例如,可信存储空间的剩余空间达到预设阈值表示剩余空间不够存储第一对象,通过释放可信存储空间中的既有对象即可满足存储第一对象。比如,通过释放从既有对象中选择的第二对象即可满足存储第一对象。对于这种情况,即是在释放可信存储空间中的既有对象之前,可信存储空间的剩余空间已经足够小,如何通过释放既有对象来为新对象分配空间。
作为另一种可选的实施例,确定可信存储空间的剩余空间达到预设阈值还可以是,表示使用剩余空间存储第一对象后剩下的空间超过一个警戒线值(即上述的预设阈值),在释放作为第二对象的既有对象,存储第一对象后剩下的空间在该警戒线值(预设阈值)之下。即使得可信存储空间的剩余空间不仅在释放既有对象之前处于警戒线值之下,在释放既有对象存储新的第一对象之后也处于警戒线值之下。
步骤S406,从既有对象中,选择一个或多个第二对象;
作为一种可选的实施例,从既有对象中,选择一个或多个第二对象时,为尽可能地使得选择的一个或多个第二对象合适,可以依据一定的条件对可信存储空间中的既有对象进行选择。例如,从可信存储空间中的既有对象中选择一个或多个第二对象时,可以依据以下至少之一的选择原则进行选择:从可信存储空间已存储的既有对象中,选择占用空间的大小等于或大于新的第一对象的占用空间大小的对象作为该一个或多个第二对象(即选择的一个或多个第二对象占用的空间等于或大于第一对象的占用空间,即可信存储空间所提供的存储空间大于或等于需求的存储空间);从可信存储空间已存储的既有对象中,选择未访问时间大于预定未访问时长的对象作为该一个或多个第二对象(即选择的一个或多个第二对象未访问时间大于预定未访问时长,即优先选择不被经常访问的一个或多个第二对象,较优地,可以优先选择最长时间未被访问的在可信存储空间中存储的对象);从可信存储空间已存储的既有对象中,选择访问频率低于预定访问频率的既有对象作为该一个或多个第二对象(即选择的一个或多个第二对象的访问频率低于预定访问频率,即优先选择不被经常访问的对象。较优地,可以优先选择访问频率最低的对象作为该一个或多个第二对象)。需要说明的是,上述选择原则可以仅依据其中一个选择原则进行选择,也可以是几个选择原则组合进行选择,可以依据具体需求灵活变化。
作为一种可选的实施例,从可信存储空间已存储的既有对象中,可以选择占用大小大于新的第一对象的大小的对象作为待移出的对象;在选择大小大于新的第一对象的大小的对象时,可以选择最大的一个既有对象,如果选择的一个既有对象可以满足新的第一对象的大小创建要求,就能够使得从可信存储空间中移出的对象的个数最少。因此,可以在一定程度上尽可能地减少移出对象的数量,不仅减少操作,而且提高新的第一对象的创建效率。需要说明的是,上述选择最长未访问时间的对象作为第二对象,以及选择访问频率最低的对象作为第二对象,基于上述类似的理由,也具备选择上述占用空间最大的对象作为第二对象的优势,下面将分别说明。
在可信存储空间中创建NV对象时,即会对应地创建各个NV对象的一些条目信息,其中,NV对象的条目信息可以包括多种,例如,可以包括以下至少之一:对象索引号,对象大小,最近一次访问对象的时间间隔,访问对象的次数,对象的生命周期。其中,对象索引号用于对NV对象进行标识,不同的索引号对应不同的NV对象。对象大小用于标识NV对象所占用的可信存储空间,该NV对象所占用的可信存储空间可以用于写入数据。最近一次访问对象的时间间隔,即从最近一次对该NV对象进行访问开始计时,计时时间越长,表明距离上一次访问的时间越久,即该NV对象不被访问的时间越长。访问对象的次数,即NV对象自创建后,对该NV对象进行访问的次数。另外,对应于访问对象的次数,还可以统计访问对象的频率。访问对象的频率可以是单位时间内访问对象的次数,单位时间内访问对象的次数越多,表明对NV对象访问越频繁。对象的生命周期用于表明该NV对象自创建之后所存在的时间,时间越长表明NV对象创建越久。
作为一种可选的实施例,从可信存储空间已存储的既有对象中,选择最长时间未访问的对象作为待移出对象;最长时间未访问的既有对象,即该既有对象被访问的可能性较小,因此,选择最长时间未访问的既有对象作为待移出的对象,可以在一定程度上减少对该既有对象进行访问的影响。
作为一种可选的实施例,从可信存储空间已存储的既有对象中,选择访问频率最低的对象作为待移出对象。访问频率最低的既有对象,即表明该既有对象已经被极少访问,即该既有对象被访问的可能性还较小,因此,选择访问频率最低的既有对象作为移出的目标对象,也可以有效减少对该既有对象进行访问的影响。
作为一种可选的实施例,从可信存储空间已存储的既有对象中选择待移出对象时,选择的对象可以是一个也可以是多个,例如,当选择一个既有对象无法满足新对象的创建要求(比如,大小要求,访问要求等)时,可以选择移出多个目标对象,从而来满足新对象的创建要求。
步骤S408,从可信存储空间中移出一个或多个第二对象;
作为一种可选的实施例,从可信存储空间中移出一个或多个第二对象时,可以采用多种方式,例如,可以将可信存储空间中存储的该一个或多个第二对象进行转存,即存入其它的存储空间中。又例如,可以将可信存储空间中存储的该一个或多个第二对象直接删除。即上述两种列举的都实现了从可信存储空间中移出一个或多个第二对象。
作为一种可选的实施例,为保证从可信存储空间中转出的既有对象的安全性,可以对该转出的一个或多个第二对象进行转存时,采用加密的方式进行转存。需要说明的是,对一个或多个第二对象进行转存时,转存的地址并不限定。例如,对应于从安全芯片的可信存储空间移出的对象,可以是转存入安全芯片的内存;对于从与安全芯片关联的其它实体的可信存储空间移出的对象,可以是转入其它实体的内存。当然转入内存仅仅为一个实例,并不限定转存到其它可以存储的空间中。
作为一种可选的实施例,当对从可信存储空间中转出的一个或多个第二对象进行转存时,比如,当将转出的对象转存入安全芯片的内存中时,可以对该一个或多个第二对象采用加密操作。例如,采用安全芯片的存储根密钥对该一个或多个第二对象进行加密,获得加密密文;对该加密密文进行转存。在加密时可以优先选择安全性较大的密钥进行加密,例如,可以优先选择安全芯片的存储根密钥进行加密,由于其它密钥可能是基于安全芯片的存储根密钥生成的,因此,为避免其它密钥可能带来的不安全性,选择安全芯片的存储根密钥更直接,更安全。另外,在对从可信存储空间中移出的一个或多个第二对象进行转存时,由于转存的地址可以不限定,因此,在采用加密的方式对从可信存储空间中移出的一个或多个第二对象进行转存时,可以将加密后获得的加密密文转存至另外一个可信存储空间中,也可以将加密后获得的加密密文转存至非可信存储空间中,具体处理时,可以依据需求灵活决定。
作为一种可选的实施例,在将一个或多个第二对象进行转存时,采用加密操作对该一个或多个第二对象进行加密时,不仅可以选择上述安全的安全芯片的存储根密钥来进行加密,也可以选择其它安全的密钥,例如,可以选择一些安全的对称密钥来实现对目标对象的安全加密等。
作为一种可选的实施例,在从可信存储空间中移出一个或多个第二对象之后,还可以包括:将该一个或多个第二对象在磁盘中备份,其中,磁盘中备份的一个或多个第二对象用于在存储的位置消失时,可以从磁盘中恢复该一个或多个第二对象。需要说明的是,在将该一个或多个第二对象在磁盘中备份之前,还可以生成该一个或多个第二对象的存储信息,存储信息用于标识一个或多个第二对象在存储位置存储的对象的一些信息,例如,可以包括但不限于以下几种:对象索引,对象所占用的空间大小(当该对象作为移出的对象时,包括对象原来在可信存储空间所占用的大小,也包括对象在新存储位置所占用的大小),对象在新存储空间所存储的起始位置和/或结束位置等。
作为一种可选的实施例,生成该一个或多个第二对象在存储位置的存储信息,不仅可以便于后续从该存储位置中对该一个或多个第二对象的访问,而且可以利于对存储空间的有序管理,以避免影响存储空间的其它使用。将该一个或多个第二对象在磁盘中备份主要是用于在该一个或多个第二对象在存储位置消失时,可以从磁盘中恢复该一个或多个第二对象。比如,对应于安全芯片本身的可信存储空间的既有对象,当存储于安全芯片的内存时,在安全芯片关机或者重启时,由于存储于内存中的内容是会被删除的,即重启后不会存储在内存中,因此,为避免转存入内存中的该一个或多个第二对象在关机或者重启后消失,在关机或者重启之前就将该一个或多个第二对象存储于外部磁盘中进行备份,后续在安全芯片重启后,可以通过将备份在外部磁盘中的该一个或多个第二对象恢复到安全芯片的内存中。
步骤S410,为第一对象分配可信存储空间。
作为一种可选的实施例,在移出上述一个或多个第二对象后,可信存储空间中已经能够留出对应的可信存储空间(例如,NV物理空间)用于创建上述第一对象(即新的NV对象),因此,可以依据新的NV对象的创建要求为新的第一对象分配可信存储空间,从而创建新的第一对象。
作为一种可选的实施例,在为新的第一对象分配可信存储空间,并创建新的第一对象之后,还包括:在可信存储空间对象快表中生成新的第一对象在可信存储空间中的对象条目信息,并将可信存储空间对象快表中一个或多个第二对象的对象条目信息删除。通过在可信存储空间对象快表中生成新第一NV对象的对象条目信息,以及将移出的一个或多个第二对象的对象条目信息删除,使得在对可信存储空间的存储进行变更时,对应的对象条目信息也进行了及时更新,从而能够保证依据最新的信息对可信存储空间访问或者操作,使得依据可信存储空间的业务顺利进行。需要说明的是,上述所指的在可信存储空间中的对象条目信息可以包括多种,例如,可以包括以下至少之一:对象索引号,对象大小,最近一次访问对象的时间间隔,访问对象的次数,对象的生命周期等。
作为一种可选的实施例,该方法还可以包括:接收对象访问请求,其中,对象访问请求中携带有待访问对象的索引;判断待访问对象是否在可信存储空间中,在判断结果为是的情况下,从可信存储空间中访问待访问对象。即可信存储空间接受正常的访问,为保证访问的高效以及准确,在接收到对象访问请求后,可以先判断该待访问对象的位置,之后,依据待访问对象的位置进行有针对性地访问。例如,在判断待访问对象是否在可信存储空间中后,如果判断结果为该待访问对象在可信存储空间中,即在判断结果为是的情况下,从可信存储空间中访问待访问对象。
作为一种可选的实施例,在判断待访问对象是否在可信存储空间中之后,还包括:判断结果为该待访问对象不在可信存储空间中,即在判断结果为否的情况下,确定待访问对象的存储位置,即确定该待访问对象的非可信存储空间,在可信存储空间的剩余空间达到预设阈值,从可信存储空间移出既有对象后,从该存储位置(即非可信存储空间)将待访问对象存入可信存储空间,并从可信存储空间中执行对待访问对象的访问。
在待访问对象不在可信存储空间中,以及此时可信存储空间已用尽(即可信存储空间的剩余空间达到上述预设阈值)的情况下,需要从可信存储空间移出合适的既有对象,使得可信存储空间留出该待访问对象需要占用的空间。之后,获取待访问对象的存储位置,将该待访问对象从该存储位置读出,并将读出的待访问对象存储于留出的可信存储空间中,在待访问对象存储于可信存储空间后,就可以依据待访问对象的索引从可信存储空间中正常执行对待访问对象的访问。
作为一种可选的实施例,将读取的待访问对象存入可信存储空间时,如果待访问对象是之前是从可信存储空间移出的,并且该待访问对象是加密过的,在将待访问对象从存储位置读取出来,转存入可信存储空间时,可以采用与加密对应的解密密钥对对应的密文进行解密,并将解密后的待访问对象存储可信存储空间中。例如,在待访问对象之前由可信存储空间移出到安全芯片内存时,使用的加密密钥是安全芯片的存储根密钥时,可以采用安全芯片的存储根密钥对从内存读出的加密密文进行解密,获得待访问对象;将解密获得的待访问对象存入可信存储空间。
作为一种可选的实施例,在从存储位置(非可信存储空间)将待访问对象存入可信存储空间之后,为使得存储信息的及时更新,可以在可信存储空间对象快表中生成待访问对象在可信存储空间中的对象条目信息,并将可信存储空间对象快表中移出对象的对象条目信息删除。采用这样的处理,在可信存储空间发生变更时,对应的可信存储空间对象快表所存储的信息也对应发生了变更,可以保证用户对可信存储空间的使用高效,准确,从而提高用户体验。
通过上述实施例及可选实施例,使得对象的使用空间为可信存储空间的最大空间,例如,以安全芯片为例,可以使得持久化对象的使用空间为安全芯片的最大可信存储空间,非持久化对象的存储空间扩大为能够申请的最大内存空间,有效地实现了安全芯片可信存储的扩展。
在本发明实施例中一种数据处理方法。该数据处理方法可以应用于与安全芯片关联的任意存储空间的数据处理。例如,向该任意存储空间存储数据可以采用该数据处理方法。图5是根据本发明实施例1的数据处理方法的应用场景的示意图,如图5所示,以TPM为例,该TPM的存储空间包括可信存储空间和非可信存储空间,在该存储空间中存储有一个或多个既有对象,其中,可信存储空间的剩余空间达到预设阈值(例如,可信存储空间已存储满的状态)。此时,向该可信存储空间请求创建第一对象,从该可信存储空间中移出一个或多个第二对象,将移出的该一个或多个第二对象进行删除或者转存,在删除或者转存该一个或多个第二对象后,在该可信存储空间中为第一对象分配空间。
图6是根据本发明实施例1的可选的数据处理方法的流程图,如图6所示,该流程包括如下步骤:
步骤S602,接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;
步骤S604,确定可信存储空间的剩余空间达到预设阈值,其中,该可信存储空间已存储一个或多个既有对象;
步骤S606,从既有对象中,选择一个或多个第二对象;
步骤S608,采用安全芯片的存储根密钥对一个或多个第二对象进行加密,获得加密密文;
步骤S610,对加密密文进行转存;
步骤S612,为第一对象分配可信存储空间。
在本发明实施例中,采用在可信存储空间的剩余空间达到预设阈值时,从可信存储空间存储的既有对象中选择一个或多个第二对象移出该可信存储空间,并为新的创建请求对应的第一对象分配可信存储空间,达到了最大限度使用可信存储空间,使得与安全芯片关联的可信存储空间得到适应扩展的技术效果,进而解决了在相关技术中,存在可信存储空间不能满足使用需求的技术问题。
作为一种可选的实施例,一个或多个第二对象包括以下至少之一:占用的空间等于或大于第一对象的既有对象;未访问时间大于预定未访问时长的既有对象;访问频率低于预定访问频率的既有对象。需要说明的是,上述选择原则可以仅依据其中一个选择原则进行选择,也可以是几个选择原则组合进行选择,可以依据具体需求灵活变化。
在针对创建请求对应的第一对象为可信对象的情况下,在本发明实施例中,提供了一种可信对象存储方法,图7是根据本发明实施例1的可信对象存储方法的流程图,如图7所示,该流程包括如下步骤:
步骤S702,接收在与安全芯片关联的可信存储空间创建第一可信对象的创建请求;
步骤S704,确定可信存储空间的剩余空间达到预设阈值,其中,可信存储空间存储一个或多个既有可信对象;
步骤S706,从既有可信对象中,选择一个或多个第二可信对象;
步骤S708,从可信存储空间中移出一个或多个第二可信对象;
步骤S710,为第一可信对象分配可信存储空间。
在本发明实施例中,采用在可信存储空间的剩余空间达到预设阈值时,从可信存储空间存储的既有对象中选择一个或多个第二对象移出该可信存储空间,并为新的创建请求对应的第一可信对象分配可信存储空间,达到了最大限度使用可信存储空间存储可信对象,使得与安全芯片关联的可信存储空间得到适应扩展的技术效果,进而解决了在相关技术中,存在可信存储空间不能满足使用需求的技术问题。
作为一种可选的实施例,一个或多个第二对象包括以下至少之一:占用的空间等于或大于第一可信对象的既有可信对象;未访问时间大于预定未访问时长的既有可信对象;访问频率低于预定访问频率的既有可信对象。其中,上述一个或多个第二对象的选择,可以仅依据其中一个选择原则进行选择,也可以是几个选择原则组合进行选择,可以依据具体需求灵活变化。
基于上述实施例及可选实施例,提供了一种优选实施方式,在该优选实施方式中,以TPM为例,但同样适用于TPCM等其它安全芯片。图8是根据本发明实施例1的TPM的NV存储扩展的架构示意图,如图8所示,新增了代理进程TPM-Proxy,通过该进程管理TPM/TPCM内部的NV对象:内存映射以及内存交换。另外,在TPM的NV空间可信存储空间中存储有持久化对象(Persistent OBJ)以及非持久化对象(OBJ),在TPM的主机内存中存储有从可信存储空间移出的目标对象(OBJ_cipher)。
基于图8所示的架构,在本优选实施方式中,提供了一种数据处理方法,在该方法中,以TPM为例,同样适用于TPCM等其它安全芯片。该方法包括如下流程,下面分别说明。
S1,用户调用TPM-Proxy进程,正常使用TPM NV空间,直至NV存储的物理空间用尽。持久化对象(Persistent Object/OBJ)优先使用物理空间。
S2,在TPM芯片的NV物理空间用尽之后,又有新的NV对象需要生成时,(包括一般对象(OBJ)和持久化对象),此时,需要通过TPM-Proxy进程,将NV空间中的某个已有对象OBJ移出芯片,转存到主机端的内存空间中。原则上,持久化对象不允许存储在芯片外部,也就是说,持久化对象的数量最大为芯片内部的NV总空间除以持久化对象的大小。
S3,TPM-Proxy进程选出当前最适合换出到内存空间的NV空间对象OBJ,标记为OBJ_x。
S4,通过TPM芯片内部的加解密引擎,将对象OBJ_x的内容,加密后生成密文OBJ_cipher_x放入主机内存空间。
S5,在内存空间对象快表中,建立NV对象同内存空间的快表索引,同时做好磁盘备份。
S6,当主机重启后,内存中的所有对象失效,包括OBJ_cipher。此时,通过磁盘中的备份TPM-Memory Cipher,由TPM-proxy负责恢复内存空间的OBJ_cipher。
S7,持久化对象的数量最大为芯片内部NV最大空间。非持久化对象的存储空间扩大为进程申请的最大内存空间,配合虚拟内存技术,可以扩展到进程申请的最大虚拟内存空间。
下面对该方法中,NV存储扩展的对象的创建流程进行说明。该流程包括如下步骤:
S1,每次NV对象创建时,需要TPM-Proxy进程创建一条NV空间对象快表的条目,图9是根据本发明实施例的NV空间对象快表的示意图,如图9所示,NV对象在NV空间对象快表中包括如下信息:
NV Index:NV对象生成时的index索引,不同的NV OBJ的index不相同。如创建NVOBJ时使用了已有的index,则创建对象失败,返回错误号。
NV Size:NV对象创建时指定的占用空间,用户创建一定长度的NV对象空间后,可以往其中写入数据。如写入数据的长度超过占用空间,则写入操作失败,返回错误号。
Last Access:最近一次访问(读/写)该NV对象的时间间隔,从最近一次访问开始计时,按秒累加。数值越大,表明上次访问时间越久。
Access Times:该NV对象自创建之时起,访问(读/写)的次数之和,按每次访问累加。数值越大,表明该对象使用越频繁。
Life Time:该NV对象的生命周期,自创建之时按秒累加。
S2,在芯片内部空间未满时,NV对象创建直接使用芯片内部NV空间,并记录在NV空间对象快表中。
S3,在芯片内部剩余空间已不满足新创建NV对象的大小需求时,需要TPM-Proxy从NV空间对象快表中,选择最接近需求的一条(或多条)已存在的NV对象,作为移出目标。
选择原则可以包括多种,但不限定遵循下述规则:
(1)NV Size大于新需要创建对象大小的NV对象。(目标是减少移出目标的数量)
(2)选择Last Access最大的NV对象。(目标是移出最长时间未访问的对象)
(3)选择Access Times除以Life Time的结果最小的NV对象。(目标是移出访问频次最低的对象)。
S4,TPM-Proxy调用TPM硬件指令,对该移出目标对象的内容,使用TPM加密引擎进行加密操作,对应的加密密钥为TPM存储根密钥。
S5,TPM-Proxy进程申请内存空间,将加密后的移出目标NV对象密文,转存至主机内存空间。
S6,同时,将移出目标对象的信息,同转存的内存空间信息,记录在内存空间对象快表中,图10是根据本发明实施例的内存空间对象快表的示意图,如图10所示,对象在内存空间对象快表中包括如下信息:
NV Index:移出目标NV对象的index索引。
NV Size:移出目标NV对象的占用空间。
Memory Address:转存到内存空间的起始地址。
Memory Size:转存到内存空间的大小。
S7,同时,每次内存空间对象快表更新时,需要将内存空间的TPM-Memory密文,复制一份存储到外部磁盘,用作内存失效(重启)后的恢复工作。
S8,同时,从NV空间对象快表中,删除已移出目标NV对象的索引项。
在本优选实施方式中,还提供了NV存储扩展的对象的访问流程,该流程包括如下步骤:
S1,用户使用待访问NV对象的Index索引,来访问对应的NV对象。
S2,首先,查询NV空间对象快表,若待访问NV对象在其中,则由TPM-Proxy进程通过TPM硬件指令,直接访问存储在TPM内部NV空间的对象。
S3,若不在NV空间对象快表中,则查询内存空间对象快表;若待访问NV对象在其中,由NV Swap Engine选出适合的移出对象,并执行上述移出的相应操作;执行完成后,TPM芯片中留出了对应的NV物理空间。
S4,由TPM-Proxy进程获取待访问对象对应的内存空间信息(起始地址和大小),将内存空间TPM-Memory中的对象密文OBJ_cipher取出,送入TPM硬件内部。
S5,对待访问目标对象的密文,使用TPM加解密引擎进行解密操作,对应的解密密钥为TPM存储根密钥。
S6,用户使用待访问NV对象的Index索引,来访问对应的NV对象。
S7,同时,内存空间对象快表中移出访问对象的索引,NV空间对象快表中新增访问对象的信息。
S8,接S3步,若待访问NV对象既不在NV空间对象快表中,也不在内存空间对象快表中,则待访问NV对象不存在,访问失败,返回错误码。
需要再次说明的是,本优选实施方式不限于安全芯片,包括但不限于TPM、TPCM等。快表的数据结构,包括但不限于上述所给出的形式和架构。另外,NV移出对象的选择原则,包括但不限于上述所列举的原则。
在本发明优选实施方式中,通过引入新的TPM-Proxy代理进程,持久化对象的数量最大可扩展为芯片内部NV最大空间。非持久化对象的存储空间扩大为TPM-Proxy进程申请的最大内存空间,配合虚拟内存技术,可以扩展到TPM-Proxy进程申请的最大虚拟内存空间。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
在本发明实施例中,还提供了一种数据处理装置,图11是根据本发明实施例2的数据处理装置的结构框图,如图11所示,该装置包括:接收模块110,确定模块112,选择模块114,移出模块116和分配模块118,下面对该装置进行说明。
接收模块110,用于接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;确定模块112,连接至上述接收模块110,用于确定可信存储空间的剩余空间达到预设阈值,其中,可信存储空间存储一个或多个既有对象;选择模块114,连接至上述确定模块112,用于从既有对象中,选择一个或多个第二对象;移出模块116,连接至上述选择模块114,用于从可信存储空间中移出一个或多个第二对象;分配模块118,连接至上述移出模块116,用于为第一对象分配可信存储空间。
在本发明实施例中,还提供了一种安全芯片,图12是根据本发明实施例2的安全芯片的结构框图,如图12所示,该安全芯片120包括上述的数据处理装置122。
在本发明实施例中,采用在可信存储空间的剩余空间达到预设阈值时,从可信存储空间存储的既有对象中选择一个或多个第二对象移出该可信存储空间,并为新的创建请求对应的第一对象分配可信存储空间,达到了最大限度使用可信存储空间,使得与安全芯片关联的可信存储空间得到适应扩展的技术效果,进而解决了在相关技术中,存在可信存储空间不能满足使用需求的技术问题。
此处需要说明的是,该数据处理装置对应于上述实施例1中图4所包括的步骤S402至步骤S410。上述数据处理装置与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例3
本发明的实施例可以提供一种计算机终端(或称计算机设备),该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,该计算机设备可以包括:存储器和处理器,存储器存储有计算机程序;处理器,用于执行存储器中存储的计算机程序,计算机程序运行时使得处理器执行上述任意一项的方法。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的基于安全计算卡的度量方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于安全计算卡的度量方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至上述计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;确定可信存储空间的剩余空间达到预设阈值,其中,可信存储空间存储一个或多个既有对象;从既有对象中,选择一个或多个第二对象;从可信存储空间中移出一个或多个第二对象;为第一对象分配可信存储空间。
可选地,上述处理器还可以执行如下步骤的程序代码:一个或多个第二对象包括以下至少之一:占用的空间等于或大于第一对象的既有对象;未访问时间大于预定未访问时长的既有对象;访问频率低于预定访问频率的既有对象。
可选地,上述处理器还可以执行如下步骤的程序代码:从可信存储空间中移出一个或多个第二对象包括:采用安全芯片的存储根密钥对一个或多个第二对象进行加密,获得加密密文;对加密密文进行转存;或者,从可信存储空间中移出一个或多个第二对象包括:删除一个或多个第二对象。
可选地,上述处理器还可以执行如下步骤的程序代码:将加密密文转存至可信存储空间中;将加密密文转存至非可信存储空间中。
可选地,上述处理器还可以执行如下步骤的程序代码:在从可信存储空间中移出一个或多个第二对象之后,还包括:将一个或多个第二对象在磁盘中备份。
可选地,上述处理器还可以执行如下步骤的程序代码:在为第一对象分配可信存储空间之后,还包括:在可信存储空间创建第一对象,在可信存储空间对象快表中生成第一对象在可信存储空间中的对象条目信息,并将可信存储空间对象快表中一个或多个第二对象的对象条目信息删除。
可选地,上述处理器还可以执行如下步骤的程序代码:可信存储空间中的对象条目信息包括以下至少之一:对象索引号,对象大小,最近一次访问对象的时间间隔,访问对象的次数,对象的生命周期。
可选地,上述处理器还可以执行如下步骤的程序代码:接收对象访问请求,其中,对象访问请求中携带有待访问对象的索引;判断待访问对象是否在可信存储空间中,在判断结果为是的情况下,从可信存储空间中访问待访问对象。
可选地,上述处理器还可以执行如下步骤的程序代码:在判断待访问对象是否在可信存储空间中之后,还包括:在判断结果为否的情况下,确定待访问对象的非可信存储空间,在可信存储空间的剩余空间达到预设阈值,从可信存储空间移出既有对象后,从非可信存储空间将待访问对象存入可信存储空间,并从可信存储空间中执行对待访问对象的访问。
可选地,上述处理器还可以执行如下步骤的程序代码:从非可信存储空间将待访问对象存入可信存储空间空间包括:采用安全芯片的存储根密钥对从非可信存储空间存储的加密密文进行解密,获得待访问对象;将解密获得的待访问对象存入可信存储空间。
可选地,上述处理器还可以执行如下步骤的程序代码:在从非可信存储空间将待访问对象存入可信存储空间之后,还包括:在可信存储空间对象快表中生成待访问对象在可信存储空间中的对象条目信息,并将可信存储空间对象快表中移出对象的对象条目信息删除。
处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;确定可信存储空间的剩余空间达到预设阈值,其中,可信存储空间已存储一个或多个既有对象;从既有对象中,选择一个或多个第二对象;采用安全芯片的存储根密钥对一个或多个第二对象进行加密,获得加密密文;对加密密文进行转存;为第一对象分配可信存储空间。
可选地,上述处理器还可以执行如下步骤的程序代码:一个或多个第二对象包括以下至少之一:占用的空间等于或大于第一对象的既有对象;未访问时间大于预定未访问时长的既有对象;访问频率低于预定访问频率的既有对象。
处理器还可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收在与安全芯片关联的可信存储空间创建第一可信对象的创建请求;确定可信存储空间的剩余空间达到预设阈值,其中,可信存储空间存储一个或多个既有可信对象;从既有可信对象中,选择一个或多个第二可信对象;从可信存储空间中移出一个或多个第二可信对象;为第一可信对象分配可信存储空间。
可选地,上述处理器还可以执行如下步骤的程序代码:一个或多个第二可信对象包括以下至少之一:占用的空间等于或大于第一可信对象的既有可信对象;未访问时间大于预定未访问时长的既有可信对象;访问频率低于预定访问频率的既有可信对象。
本领域普通技术人员可以理解,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。本发明实施例并不对上述电子装置的结构造成限定。例如,上述计算机设备还可包括更多或者更少的组件(如网络接口、显示装置等),或者具有不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的任意数据处理方法所对应的程序代码,在程序代码被处理器运行时控制处理器执行上述任意一项的数据处理方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;确定可信存储空间的剩余空间达到预设阈值,其中,可信存储空间存储一个或多个既有对象;从既有对象中,选择一个或多个第二对象;从可信存储空间中移出一个或多个第二对象;为第一对象分配可信存储空间。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:一个或多个第二对象包括以下至少之一:占用的空间等于或大于第一对象的既有对象;未访问时间大于预定未访问时长的既有对象;访问频率低于预定访问频率的既有对象。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:从可信存储空间中移出一个或多个第二对象包括:采用安全芯片的存储根密钥对一个或多个第二对象进行加密,获得加密密文;对加密密文进行转存;或者,从可信存储空间中移出一个或多个第二对象包括:删除一个或多个第二对象。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:将加密密文转存至可信存储空间中;将加密密文转存至非可信存储空间中。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:在从可信存储空间中移出一个或多个第二对象之后,还包括:将一个或多个第二对象在磁盘中备份。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:在为第一对象分配可信存储空间之后,还包括:在可信存储空间创建第一对象,在可信存储空间对象快表中生成第一对象在可信存储空间中的对象条目信息,并将可信存储空间对象快表中一个或多个第二对象的对象条目信息删除。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:可信存储空间中的对象条目信息包括以下至少之一:对象索引号,对象大小,最近一次访问对象的时间间隔,访问对象的次数,对象的生命周期。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:接收对象访问请求,其中,对象访问请求中携带有待访问对象的索引;判断待访问对象是否在可信存储空间中,在判断结果为是的情况下,从可信存储空间中访问待访问对象。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:在判断待访问对象是否在可信存储空间中之后,还包括:在判断结果为否的情况下,确定待访问对象的非可信存储空间,在可信存储空间的剩余空间达到预设阈值,从可信存储空间移出既有对象后,从非可信存储空间将待访问对象存入可信存储空间,并从可信存储空间中执行对待访问对象的访问。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:从非可信存储空间将待访问对象存入可信存储空间空间包括:采用安全芯片的存储根密钥对从非可信存储空间存储的加密密文进行解密,获得待访问对象;将解密获得的待访问对象存入可信存储空间。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:在从非可信存储空间将待访问对象存入可信存储空间之后,还包括:在可信存储空间对象快表中生成待访问对象在可信存储空间中的对象条目信息,并将可信存储空间对象快表中移出对象的对象条目信息删除。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;确定可信存储空间的剩余空间达到预设阈值,其中,可信存储空间已存储一个或多个既有对象;从既有对象中,选择一个或多个第二对象;采用安全芯片的存储根密钥对一个或多个第二对象进行加密,获得加密密文;对加密密文进行转存;为第一对象分配可信存储空间。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:一个或多个第二对象包括以下至少之一:占用的空间等于或大于第一对象的既有对象;未访问时间大于预定未访问时长的既有对象;访问频率低于预定访问频率的既有对象。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收在与安全芯片关联的可信存储空间创建第一可信对象的创建请求;确定可信存储空间的剩余空间达到预设阈值,其中,可信存储空间存储一个或多个既有可信对象;从既有可信对象中,选择一个或多个第二可信对象;从可信存储空间中移出一个或多个第二可信对象;为第一可信对象分配可信存储空间。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:一个或多个第二可信对象包括以下至少之一:占用的空间等于或大于第一可信对象的既有可信对象;未访问时间大于预定未访问时长的既有可信对象;访问频率低于预定访问频率的既有可信对象。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (19)

1.一种数据处理方法,其特征在于,包括:
接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;
确定所述可信存储空间的剩余空间达到预设阈值,其中,所述可信存储空间存储一个或多个既有对象;
从所述既有对象中,选择一个或多个第二对象;
从所述可信存储空间中移出所述一个或多个第二对象;
为所述第一对象分配可信存储空间。
2.根据权利要求1所述的方法,其特征在于,所述一个或多个第二对象包括以下至少之一:
占用的空间等于或大于所述第一对象的既有对象;
未访问时间大于预定未访问时长的既有对象;
访问频率低于预定访问频率的既有对象。
3.根据权利要求1所述的方法,其特征在于,
从所述可信存储空间中移出所述一个或多个第二对象包括:采用所述安全芯片的存储根密钥对所述一个或多个第二对象进行加密,获得加密密文;对所述加密密文进行转存;
或者,
从所述可信存储空间中移出所述一个或多个第二对象包括:删除所述一个或多个第二对象。
4.根据权利要求3所述的方法,其特征在于,对所述加密密文进行转存包括以下至少之一:
将所述加密密文转存至可信存储空间中;
将所述加密密文转存至非可信存储空间中。
5.根据权利要求1所述的方法,其特征在于,在从所述可信存储空间中移出所述一个或多个第二对象之后,还包括:
将所述一个或多个第二对象在磁盘中备份。
6.根据权利要求1所述的方法,其特征在于,在为所述第一对象分配可信存储空间之后,还包括:
在所述可信存储空间创建所述第一对象,在可信存储空间对象快表中生成所述第一对象在所述可信存储空间中的对象条目信息,并将所述可信存储空间对象快表中所述一个或多个第二对象的对象条目信息删除。
7.根据权利要求6所述的方法,其特征在于,所述可信存储空间中的对象条目信息包括以下至少之一:
对象索引号,对象大小,最近一次访问对象的时间间隔,访问对象的次数,对象的生命周期。
8.根据权利要求1所述的方法,其特征在于,还包括:
接收对象访问请求,其中,所述对象访问请求中携带有待访问对象的索引;
判断所述待访问对象是否在可信存储空间中,在判断结果为是的情况下,从所述可信存储空间中访问所述待访问对象。
9.根据权利要求8所述的方法,其特征在于,在判断所述待访问对象是否在所述可信存储空间中之后,还包括:
在判断结果为否的情况下,确定所述待访问对象的非可信存储空间,在所述可信存储空间的剩余空间达到所述预设阈值,从所述可信存储空间移出既有对象后,从所述非可信存储空间将所述待访问对象存入所述可信存储空间,并从所述可信存储空间中执行对所述待访问对象的访问。
10.根据权利要求9所述的方法,其特征在于,从所述非可信存储空间将所述待访问对象存入所述可信存储空间包括:
采用安全芯片的存储根密钥对从所述非可信存储空间存储的加密密文进行解密,获得所述待访问对象;
将解密获得的所述待访问对象存入所述可信存储空间。
11.根据权利要求10所述的方法,其特征在于,在从所述非可信存储空间将所述待访问对象存入所述可信存储空间之后,还包括:
在可信存储空间对象快表中生成所述待访问对象在所述可信存储空间中的对象条目信息,并将所述可信存储空间对象快表中移出对象的对象条目信息删除。
12.一种数据处理装置,其特征在于,包括:
接收模块,用于接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;
确定模块,用于确定所述可信存储空间的剩余空间达到预设阈值,其中,所述可信存储空间存储一个或多个既有对象;
选择模块,用于从所述既有对象中,选择一个或多个第二对象;
移出模块,用于从所述可信存储空间中移出所述一个或多个第二对象;
分配模块,用于为所述第一对象分配可信存储空间。
13.一种安全芯片,其特征在于,包括权利要求11所述的数据处理装置。
14.一种存储介质,其特征在于,所述存储介质存储有程序,其中,在所述程序被处理器运行时控制所述处理器执行权利要求1至11中任意一项所述的数据处理方法。
15.一种计算机设备,其特征在于,包括:存储器和处理器,
所述存储器存储有计算机程序;
所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行权利要求1至11中任意一项所述的数据处理方法。
16.一种数据处理方法,其特征在于,包括:
接收在与安全芯片关联的可信存储空间创建第一对象的创建请求;
确定所述可信存储空间的剩余空间达到预设阈值,其中,所述可信存储空间已存储一个或多个既有对象;
从所述既有对象中,选择一个或多个第二对象;
采用所述安全芯片的存储根密钥对所述一个或多个第二对象进行加密,获得加密密文;
对所述加密密文进行转存;
为所述第一对象分配可信存储空间。
17.根据权利要求16所述的方法,其特征在于,所述一个或多个第二对象包括以下至少之一:
占用的空间等于或大于所述第一对象的既有对象;
未访问时间大于预定未访问时长的既有对象;
访问频率低于预定访问频率的既有对象。
18.一种可信对象存储方法,其特征在于,包括:
接收在与安全芯片关联的可信存储空间创建第一可信对象的创建请求;
确定所述可信存储空间的剩余空间达到预设阈值,其中,所述可信存储空间存储一个或多个既有可信对象;
从所述既有可信对象中,选择一个或多个第二可信对象;
从所述可信存储空间中移出所述一个或多个第二可信对象;
为所述第一可信对象分配可信存储空间。
19.根据权利要求18所述的方法,其特征在于,所述一个或多个第二可信对象包括以下至少之一:
占用的空间等于或大于所述第一可信对象的既有可信对象;
未访问时间大于预定未访问时长的既有可信对象;
访问频率低于预定访问频率的既有可信对象。
CN201910621028.XA 2019-07-10 2019-07-10 数据处理方法、装置、安全芯片、存储介质及计算机设备 Pending CN112214482A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910621028.XA CN112214482A (zh) 2019-07-10 2019-07-10 数据处理方法、装置、安全芯片、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910621028.XA CN112214482A (zh) 2019-07-10 2019-07-10 数据处理方法、装置、安全芯片、存储介质及计算机设备

Publications (1)

Publication Number Publication Date
CN112214482A true CN112214482A (zh) 2021-01-12

Family

ID=74048398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910621028.XA Pending CN112214482A (zh) 2019-07-10 2019-07-10 数据处理方法、装置、安全芯片、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN112214482A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117874843A (zh) * 2024-03-08 2024-04-12 荣耀终端有限公司 扩展受保护存储空间的方法、设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191610A1 (en) * 2012-01-23 2013-07-25 International Business Machines Corporation Data staging area
CN106027615A (zh) * 2016-05-10 2016-10-12 乐视控股(北京)有限公司 对象存储方法和系统
CN107590283A (zh) * 2017-09-29 2018-01-16 浙江大华技术股份有限公司 一种文件回收方法、装置、服务器及计算机可读存储介质
CN108063818A (zh) * 2017-12-18 2018-05-22 深圳市中科明望通信软件有限公司 数据下载方法、装置、终端和计算机可读存储介质
CN109885260A (zh) * 2019-02-27 2019-06-14 广州三星通信技术研究有限公司 用于电子终端的存储数据的方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191610A1 (en) * 2012-01-23 2013-07-25 International Business Machines Corporation Data staging area
CN106027615A (zh) * 2016-05-10 2016-10-12 乐视控股(北京)有限公司 对象存储方法和系统
CN107590283A (zh) * 2017-09-29 2018-01-16 浙江大华技术股份有限公司 一种文件回收方法、装置、服务器及计算机可读存储介质
CN108063818A (zh) * 2017-12-18 2018-05-22 深圳市中科明望通信软件有限公司 数据下载方法、装置、终端和计算机可读存储介质
CN109885260A (zh) * 2019-02-27 2019-06-14 广州三星通信技术研究有限公司 用于电子终端的存储数据的方法及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117874843A (zh) * 2024-03-08 2024-04-12 荣耀终端有限公司 扩展受保护存储空间的方法、设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
US9740639B2 (en) Map-based rapid data encryption policy compliance
EP2751735B1 (en) Encrypted chunk-based rapid data encryption policy compliance
US20170201378A1 (en) Electronic device and method for authenticating identification information thereof
US20200026882A1 (en) Methods and systems for activating measurement based on a trusted card
CN105930199A (zh) 一种虚拟机监控器本地完整性检测的系统及实现方法
US11909882B2 (en) Systems and methods to cryptographically verify an identity of an information handling system
US11436367B2 (en) Pre-operating system environment-based sanitization of storage devices
TW202215222A (zh) 快閃記憶體局部清除
CN114710263B (zh) 密钥管理方法、密钥管理装置、密钥管理设备及存储介质
JP4764455B2 (ja) 外部記憶装置
CN110908715A (zh) 多装置的配对系统及配对方法
CN112214482A (zh) 数据处理方法、装置、安全芯片、存储介质及计算机设备
CN111427860A (zh) 分布式存储系统及其数据处理方法
CN110046510B (zh) 跨云的数据迁移方法、装置和系统
US20230401321A1 (en) Peer Storage Device Messaging for Vulnerability Management
CN107085900B (zh) 数据处理方法、装置、系统及pos终端
CN111125723A (zh) 加密卡识别方法、装置、设备及存储介质
KR102421318B1 (ko) 장치의 시스템 온 칩의 보안 모듈로의 복수의 액세스를 관리하기 위한 디바이스
EP3992783A1 (en) Patch releasing method, server and terminal device
IL295006A (en) Security for virtual machines
US11604884B2 (en) System and method for storing and reading encrypted data
EP4231159A1 (en) Method for switching execution environment and related device
CN115098227B (zh) 一种安防设备动态信息更新的方法及装置
CN107665175A (zh) 存储器分区隔离的方法、装置及电子设备
CN117610038A (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