CN110334532A - 文件的加密、解密处理方法及加解密系统 - Google Patents

文件的加密、解密处理方法及加解密系统 Download PDF

Info

Publication number
CN110334532A
CN110334532A CN201910612205.8A CN201910612205A CN110334532A CN 110334532 A CN110334532 A CN 110334532A CN 201910612205 A CN201910612205 A CN 201910612205A CN 110334532 A CN110334532 A CN 110334532A
Authority
CN
China
Prior art keywords
file
credible
subsystem
encrypted
access
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.)
Granted
Application number
CN201910612205.8A
Other languages
English (en)
Other versions
CN110334532B (zh
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.)
BEIJING HUATECH TRUSTED COMPUTING INFORMATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING HUATECH TRUSTED COMPUTING INFORMATION TECHNOLOGY Co 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 BEIJING HUATECH TRUSTED COMPUTING INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING HUATECH TRUSTED COMPUTING INFORMATION TECHNOLOGY Co Ltd
Priority to CN201910612205.8A priority Critical patent/CN110334532B/zh
Publication of CN110334532A publication Critical patent/CN110334532A/zh
Application granted granted Critical
Publication of CN110334532B publication Critical patent/CN110334532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Landscapes

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

Abstract

本申请公开了一种文件的加密、解密处理方法及加解密系统。其中,该方法包括:可信计算平台中的防护子系统从所述可信计算平台中的计算子系统中获取待加密文件的历史访问信息,其中,所述计算子系统用于完成计算任务,所述防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制;确定与所述历史访问信息对应的可信策略;依据所述可信策略判断是否对所述待加密文件进行加密,以及在判断结果指示对所述待加密文件进行加密时,对所述待加密文件进行加密。本申请解决了相关技术中采用对文件进行加解密的安全方式仍然存在安全隐患的技术问题。

Description

文件的加密、解密处理方法及加解密系统
技术领域
本申请涉及眼动控制领域,具体而言,涉及一种文件的加密、解密处理方法及加解密系统。
背景技术
为了保证文件的安全性,通常需要对一些文件(例如安全级别较高)的文件进行加密,当访问该文件时,只有解密通过才可以访问该文件。在对文件加密时通常采用设置文件加密密码的方式,当对文件进行解密时,需要输入正确的密码才可以实现解密。虽然,采用上述方案可以在一定程度上保证文件的安全性,但是,这种密码加解密的方式仍然会存在一定的安全隐患,例如,无法保证密码不被非法盗取,如果密码被盗取,则非法访问行为便可以访问文件,这样影响了文件的安全性,因此,采用密码加解密方式对文件进行加解密仍然会存在安全隐患。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种文件的加密、解密处理方法及加解密系统,以至少解决相关技术中采用对文件进行加解密的安全方式仍然存在安全隐患的技术问题。
根据本申请实施例的一个方面,提供了一种文件的加密处理方法,包括:可信计算平台中的防护子系统从所述可信计算平台中的计算子系统中获取待加密文件的历史访问信息,其中,所述计算子系统用于完成计算任务,所述防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制;确定与所述历史访问信息对应的可信策略;依据所述可信策略判断是否对所述待加密文件进行加密;以及在判断结果指示对所述待加密文件进行加密时,对所述待加密文件进行加密。
可选地,依据所述可信策略判断是否对所述待加密文件进行加密,包括:判断访问所述待加密文件的访问对象是否属于第一类型,并在所述访问对象属于所述第一类型时,确定对所述待加密文件进行加密,所述历史访问信息中包括所述访问对象。
可选地,依据所述可信策略判断是否对所述待加密文件进行加密,包括:判断访问所述待加密文件的访问行为是否为第二类型,并在所述访问行为所属的类型为所述第二类型时,确定对所述待加密文件进行加密,其中,所述历史访问信息中包括所述访问行为。
可选地,依据所述可信策略判断是否对所述待加密文件进行加密,包括:判断访问所述待加密文件的访问行为所在的执行环境是否为第三类型,并在所述执行环境的类型为所述第三类型时,确定对所述待加密文件进行加密,其中,所述历史文件信息中包括所述执行环境。
可选地,所述执行环境包括:进程环境和系统环境。
可选地,对所述待加密文件进行加密包括:从所述防护子系统中的可信编码模块中提取密钥;并采用该密钥对所述待加密文件进行加密。
可选地,可信计算平台中的防护子系统从所述可信计算平台中的计算子系统中获取待加密文件的历史访问信息,包括:所述防护子系统通过所述防护子系统和所述计算子系统之间的共享总线获取所述待加密文件的历史访问信息;或者所述防护子系统通过可信平台控制模块接收所述计算机子系统中的可信软件基代理模块发送的所述历史访问信息,其中,所述可信软件基代理模块用于获取所述历史访问信息。
可选地,所述可信策略包括:度量对象和度量方法。
根据本申请实施例的另一方面,提供了一种文件的解密处理方法,包括:可信计算平台的计算子系统中的度量代理模块检测对目标加密文件的访问行为,所述计算子系统用于完成计算任务;所述度量代理模块在检测到所述访问行为时,获取所述可信计算平台中的防护子系统对所述访问行为进行可信度量后得到的度量结果,其中,所述防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制;所述度量代理模块依据所述度量结果确定是否允许所述访问行为访问所述目标加密文件;以及所述度量代理模块在所述度量结果指示允许访问所述目标加密文件的情况下,对所述目标加密文件进行解密。
可选地,在指定主体访问所述目标加密文件时,对访问所述目标加密文件的访问行为进行可信度量,在度量结果为可信时对该加密文件进行解密;在访问所述目标加密文件的访问行为是指定类型行为时,对访问所述目标加密文件的访问行为进行可信度量,在度量结果为可信时对所述目标加密文件进行解密;在访问所述目标加密文件的行为的执行环境是指定类型的执行环境时,对访问该加密文件的访问行为进行可信度量,在度量结果为可信时对该加密文件进行解密。
根据本申请实施例的又一方面,提供了一种文件的加解密系统,包括:可信计算平台中的防护子系统和计算子系统,其中,防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制,所述计算子系统用于完成计算任务,并且,所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;所述计算子系统,还用于存储待加密文件以及采集所述待加密文件的历史访问信息;所述防护子系统,还用于从所述计算子系统中获取待加密文件的历史访问信息,确定与所述历史访问信息对应的可信策略;依据所述可信策略判断是否对所述待加密文件进行加密,以及在判断结果指示对所述待加密文件进行加密时,对所述待加密文件进行加密;所述计算子系统,还用于检测对目标加密文件的访问行为;所述计算子系统,还用于在检测到所述访问行为时,获取所述可信计算平台中的防护子系统对所述访问行为进行可信度量后得到的度量结果;依据所述度量结果确定是否允许所述访问行为访问所述目标加密文件;以及在所述度量结果指示允许访问所述目标加密文件的情况下,对所述目标加密文件进行解密。
根据本申请实施例的再一方面,提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行以上所述的文件的加密处理方法或文件的解密处理方法。
根据本申请实施例的再一方面,提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行以上所述的文件的加密处理方法或文件的解密处理方法。
在本申请实施例中,可信计算平台中的防护子系统根据待加密文件的历史访问信息确定历史访问信息,并基于历史访问信息确定相应的可信策略,然后基于该可信策略判断是否对待加密文件进行加密,并在判断结果指示对待加密文件进行加密时,则对待加密文件进行加密,由于在对文件进行加密前,基于可信策略对待加密文件是否进行加密进行判断,因此,增强了文件访问的安全性,另外,本申请实施例中提供的方案在对文件进行解密的过程中,对文件的访问行为进行了可信度量,因此,也可以进一步增强文件访问的安全性,进而解决了相关技术中采用对文件进行加解密的安全方式仍然存在安全隐患的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为申请实施例中提供的可信计算平台的框架示意图;
图2是根据本申请实施例的一种文件的加密处理方法的流程示意图;
图3是根据本申请实施例的一种文件的解密处理方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解上述实施例,以下将本申请实施例中涉及的术语解释如下:
TPM:Trusted Platform Module,可信平台模块。
TCM:Trusted Cryptography Module,可信密码模块,可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。
TPCM:trusted platform control module,可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。
TSB:Trusted Software Base,可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。
TSM:TCMServiceModule,TCM服务模块,可信计算密码支撑平台内部的软件模块,为对平台外部提供访问可信密码模块的软件接口。
BIOS:Basic Input Output System,基本输入输出系统,是个人电脑启动时加载的第一个软件。
目前,国际TCG组织提出的可信计算芯片TPM是作为计算机的外部设备,以被动挂接的方式,通过主机软件调用来发挥作用,对计算机的固件和可执行程序等资源进行静态度量,在资源访问、控制上都有局限性,其安全能力完全依赖于主机系统的安全性,难以防御黑客利用主机系统漏洞进行的攻击,并不能实质上提升计算机系统的主动防御能力。
针对TPM作为被动挂接到计算机的外部设备,需由主机软件调用才能实现对计算机的固件和可执行程序等资源进行静态度量,在资源访问、控制上都有局限性,其安全能力完全依赖主机系统的安全性的技术问题。本申请设计了基于计算与防护并行双体系结构可信计算平台的系统交互方法,其中,本申请的可信计算平台中包括并行的计算子系统与防护子系统。防护子系统与计算子系统是并行运行关系,防护子系统的安全性和可靠性并不依赖于计算子系统,且防护子系统具有比计算子系统更高的控制权限,防护子系统可以不受限制的访问计算子系统中的存储资源,但计算子系统不可以访问防护子系统中的存储资源,以实现提高防护子系统自身安全性能的目的。需要说明的是,本申请的可信计算平台可以通过以下任意一种方式构建:CPU片内构建、主板板载构建、PCI-E插卡构建、USB外接构建,此处本申请对具体构建方式所采取的技术手段不做具体限定。
下面对本申请的可信计算平台的基本框架进行描述。
如图1所示,计算与防护并行双体系结构的可信计算平台可以包括:并行的计算子系统和防护子系统,计算子系统用于完成计算任务,防护子系统用于通过可信平台控制模块,根据可信策略对计算子系统进行主动度量和主动控制;计算子系统与防护子系统之间具有安全隔离机制,可以通过专用访问通道进行交互;
防护子系统具体用于通过可信软件基对计算子系统分别进行静态度量和动态度量。
该可信计算平台以可信平台控制模块(TPCM)为信任根,TPCM先于计算子系统中的CPU启动对计算子系统中的BIOS、OPROM及硬件配置进行验证,改变了TPM作为被动挂接设备的传统思路,将TPCM作为主动度量和主动控制的源点,实现了TPCM对整个计算子系统的主动度量和主动控制。
该可信计算平台除了建立以TPCM为信任根逐级度量的静态信任链之外,还设计了基于安全可信策略的动态度量机制,实现了在计算机启动以及运行过程中对整个计算机系统的主动防御。
在该可信计算平台中,计算子系统与防护子系统之间具有安全隔离机制,可以通过专用访问通道进行交互。防护子系统具有比计算子系统更高的控制权限,防护子系统可以不受限制地访问计算子系统的内存以及I/O外设等,同时防护子系统可以对计算子系统进行控制,但计算子系统不能访问防护子系统的内存以及I/O外设等,更无法对防护子系统进行控制。计算子系统和防护子系统有各自独立的硬件资源支撑计算任务和安全任务,硬件资源包括CPU、内存、存储器等。TCM提供密码资源,计算子系统和防护子系统都可以使用,但是优先防护子系统使用。防护子系统的独立运行模式以及相对封闭的访问模式,可以提高防护子系统自身的安全性能。
因此,本申请实施例的可信计算平台,通过并行的计算子系统和防护子系统实现在计算的同时进行主动安全防护。防护子系统是一种独立的主动防御体系,能够直接访问计算子系统的内存和I/O外设等资源,并依据可信策略对计算子系统实施主动度量和主动控制,保证计算子系统计算全程可测可控,不被干扰和破坏,可抵御各种已知的和未知的攻击。
下面进一步对上述可信计算平台的计算子系统和防护子系统的结构特征进行详细描述。
计算子系统可以包括:CPU(中央处理器)、BIOS(基本输入输出系统)、操作系统和应用软件,操作系统包括系统服务和内核。
防护子系统可以包括:TPCM硬件平台、TPCM操作系统及可信软件基TSB。
TPCM硬件平台可以包括:中央处理器、专有物理内存、持久存储空间、内置TCM模块。防护子系统并行于计算子系统执行,有自己的中央处理器CPU,专有物理内存。如果TPCM需要扩展密码计算能力,TPCM硬件平台还需要提供扩展TCM的总线和接口。
TPCM操作系统可以对防护子系统中的以下信息中的至少之一进行管理:进程、内存、文件系统、网络协议、I/O设备和接口。
TPCM操作系统可以包括以下至少之一:TSB通信模块、主机资源访问支持模块、TCM管理和调度模块。
TSB通信模块用于防护子系统与可信软件基进行通信。
主机资源访问支持模块可以包括以下至少之一:主机内存访问模块、主机I/O设备访问模块和主机CPU状态访问模块,主机内存访问模块用于提供访问计算子系统内存的接口,主机I/O设备访问模块用于访问计算子系统总线上的I/O设备,主机CPU状态访问模块用于访问、读取或修改计算子系统的CPU寄存器。
TCM管理和调度模块用于支持可信软件基完成密码运算任务,并用于提供多TCM并存时的并发调度工作。TCM管理和调度模块包括内置TCM以及扩展TCM,TSB可使用内置TCM完成度量和密码运算任务,扩展TCM可提供访问扩展TCM的驱动和软件接口,在内置TCM计算能力不足时,可使用扩展TCM进行密码计算。
可信计算平台还可以包括:计算子系统与防护子系统共享的可信密码模块,可信密码模块用于提供密码资源服务,具体用于提供基于国密算法的密钥管理、密码计算的密码资源服务,通过TCM服务模块提供调用服务。可信密码模块是一个独立的模块,可信密码模块可以具有自己的硬件和软件,可以包括但并不限于:密码算法引擎、随机数发生器、I/O接口等。
本申请实施例提供的可信计算平台中,可信密码模块采用对称非对称相结合的密码体制作为免疫基因,以可信平台控制模块为信任根,基于安全可信策略,可信软件基通过建立信任链对计算子系统主动进行静态度量,以实现计算子系统的安全启动,并在计算子系统运行过程中主动对应用执行所依赖的进程环境以及应用执行所依赖的系统环境进行动态度量,以实现计算子系统的安全运行。需要说明的是,可信平台控制模块可以向可信软件基提供访问计算子系统的资源的接口和防护子系统的可信密码模块的接口。
下面对可信软件基进行静态度量和动态度量的过程进行详细描述。
可信软件基TSB
TSB依据其功能分为基本层和控制层。基本层实现对计算子系统的固件和可执行程序等资源进行的静态度量,完成信任链的建立,控制层实现在计算子系统运行过程中对计算子系统的应用执行及其所依赖的执行环境进行的动态度量,并根据度量结果对计算子系统进行控制处理。
基本层
基本层用于对计算子系统进行静态度量。
基本层具体用于建立所述计算子系统的信任链;基本层可以包括:初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块以及应用代码度量模块。
初始环境验证度量模块用于在可信平台控制模块启动后,且在计算子系统的CPU启动之前,对计算子系统的BIOS、OPROM及硬件配置进行主动度量,其中,硬件配置可以包括但并不限于CPU、主板芯片组、硬盘、网卡、内存等;如果度量结果为可信则启动BIOS,否则防护子系统根据可信策略对计算子系统进行主动控制。
系统引导验证度量模块用于在BIOS启动之后,在计算子系统的OSLoader代码加载之前,对OSLoader代码进行主动度量;如果度量结果为可信则加载并执行OSLoader代码,否则防护子系统根据可信策略对计算子系统进行主动控制。
内核验证度量模块用于在OSLoader代码执行之后,在计算子系统的操作系统内核代码加载之前,对操作系统内核代码进行主动度量;如果度量结果为可信则加载并执行操作系统内核代码,否则防护子系统根据可信策略对计算子系统进行主动控制。
系统验证度量模块用于在操作系统内核代码执行之后,在计算子系统的系统服务加载之前,对系统服务进行主动度量;如果度量结果为可信则加载并执行系统服务,至此完成计算子系统的启动过程,否则防护子系统根据可信策略对计算子系统进行主动控制。
应用代码度量模块用于在计算子系统运行过程中,当需要加载应用程序时,对待加载的应用程序进行主动度量,如果度量结果为可信则计算子系统加载并执行待加载的应用程序,否则防护子系统控制计算子系统对待加载的应用程序进行控制,例如控制计算子系统不加载待加载的应用程序或者进行报警等,至此完成信任链的建立。
如图1所示,计算子系统与防护子系统共享硬件资源可信密码模块,计算子系统的独有硬件资源包括CPU、内存、硬盘、外设等,防护子系统的独有硬件资源包括TPCM硬件平台的CPU、内存、持久性存储等。防护子系统中基本层由从下至上的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块组成,分别对BIOS、OPROM和硬件配置、OSLoader代码、操作系统内核代码、系统服务进行主动度量,如果每一环节的度量结果均为可信,则计算子系统启动完成,但是,在计算子系统启动过程中,如果任一环节的度量结果为不可信,则防护子系统会根据可信策略对计算子系统进行控制,例如结束计算子系统启动过程或者在启动过程中进行报警。随后通过上层的应用代码度量模块对应用程序进行主动度量,如果度量结果为可信,则计算子系统加载并执行该应用程序,如果度量结果为不可信,则防护子系统控制计算子系统不加载该应用程序或者加载该应用程序并报警。至此,信任链建立完成。
需要说明的是,信任链建立过程也即本申请可信计算平台的静态度量过程,所谓静态度量可以理解为对CPU未加载的程序和数据(例如程序代码、配置文件、关键信息等)进行的度量。
还需要说明的是,信任链建立过程中,基本层中的各个模块是在可信平台控制模块启动之后,在计算子系统的CPU启动之前,一起加载完成的。而且,基本层中的各个模块均位于防护子系统中,防护子系统是相对独立且封闭的系统,故基本层中的各个模块自身均是可信的,无需在信任链建立过程中再对基本层中的各个模块进行主动度量。
控制层
控制层用于对计算子系统进行动态度量和控制处理。控制层可以包括两种度量模式,分别为直接度量模式和代理度量模式。在控制层采用直接度量模式时,控制层的主程序可以植入到防护子系统中。在控制层采用代理度量模式时,控制层的主程序可以植入到防护子系统中,且控制层的代理程序可以植入到计算子系统中,且该控制层的代理程序可以用于获取计算子系统的相关信息,并对计算子系统进行控制处理。计算子系统的相关信息可以包括但并不限于:计算子系统中的行为信息(例如系统调用行为)、事件等。对计算子系统进行的控制处理可以包括但并不限于:杀死主机进程等。
需要说明的是,防护子系统对计算子系统的控制处理方式可以与控制层所采用的度量模式相关:控制层的主程序进行主动度量后根据度量结果生成控制指令。如果控制层采用直接度量模式,则控制层的主程序向可信平台控制模块发送控制指令,由可信平台控制模块对计算子系统进行控制处理。如果控制层采用代理度量模式,则控制层的主程序可以向控制层的代理程序发送控制指令,由控制层的代理程序对计算子系统进行控制处理;和/或,控制层的主程序可以向可信平台控制模块发送控制指令,由可信平台控制模块对计算子系统进行控制处理。
控制层具体用于根据可信策略对计算子系统中的应用执行的相关信息进行主动度量,应用执行的相关信息可以包括以下至少之一:主体、客体、操作以及执行环境;所述执行环境可以包括:应用执行所依赖的进程环境和应用执行所依赖的系统环境,所述系统环境可以包括:所述计算子系统的系统服务和所述计算子系统的操作系统内核;可信策略由主体、客体、操作和执行环境四元素构成,不同的可信策略对应不同的度量对象和度量方法,此处对可信策略不做具体限定,本申请可以根据实际需求制定相应的可信策略。
需要说明的是,应用执行可以理解为应用程序的运行过程,应用程序的运行过程中可以涉及到主体、客体、操作、执行环境等信息。
应用执行所依赖的进程环境可以包括以下至少之一:应用程序的主程序代码、使用库函数代码、进程相关的数据结构、应用程序的数据段和关键的配置文件;应用执行所依赖的系统环境可以包括以下至少之一:内核主体代码段、可加载模块代码段、系统调用表、中断描述表、文件系统跳转表、网络协议栈、跳转表、设备驱动跳转表、寄存器值和关键的配置数据。需要说明的是,本申请中的应用执行所依赖的进程环境以及应用执行所依赖的系统环境还可以包括其他内容,此处不再一一举例说明。
动态度量可以包括实时度量和定时度量两种度量方式:
实时度量,可以是在行为触发和/或事件触发时,根据可信策略进行主动度量;定时度量,可以是在达到预定时间点和/或预定度量周期时,根据可信策略进行主动度量。
需要说明的是,本申请中的行为可以包括但并不限于:系统调用行为、应用自身调用行为等。其中,系统调用行为可以包括以下至少之一:程序启动、共享库加载、驱动程序加载、文件访问、I/O设备访问、网络访问和内存映射,本申请中的系统调用行为还可以包括其他行为,此处不再一一举例说明。本申请中的事件可以包括但并不限于中断、设备热插拔、信号等。预定时间点以及预定度量周期可以根据实际需求设定或调整,本申请对其不做具体限定。
需要说明的是,在行为触发时,控制层可以采用以下任意一种方式对行为进行主动度量和控制处理:
第一种方式:拦截行为,若对行为的度量结果为可信,则允许行为执行,若对行为的度量结果为不可信,则根据可信策略对行为进行控制。
第二种方式:先允许行为执行,然后对行为进行主动度量,若对行为的度量结果为不可信,则根据可信策略对行为相关的后续行为进行控制。行为相关的后续行为可以包括但并不限于:行为再次执行、相同主体或者客体相关的行为(例如行为中的主体所执行的其他行为)等。
防护子系统对计算子系统进行的主动防御可以包括:度量机制、判定机制以及控制机制。其中,度量机制依据度量参数查询和解析策略库,并执行策略库中的可信策略,其中,可信策略规定了度量对象、度量方法等内容。判定机制根据可信基准值判定度量机制得到的度量结果是否符合预期,以此来判定是否可信。控制机制可以根据判定机制的判定结果并结合可信策略对计算子系统进行主动控制。
基于上述分析可知,在双体系结构的可信计算平台中,防护子系统具有比防护子系统更高的访问权限,防护子系统可以直接访问计算子系统的主机资源,具体地,防护子系统中的TPCM可以通过主机资源访问接口,通过共享总线的方式访问计算子系统中的文件并获取文件相关信息;或者,利用防护子系统植入到计算子系统中的TSB代理程序获取计算子系统中的文件并获取文件相关信息,然后发送给TPCM。TPCM接收到文件相关信息之后,可以将其发送给TSB,之后TSB可以根据文件相关信息匹配相应的可信策略,根据可信策略确定是否需要对该文件进行加密。如果需要对该文件进行加密,则TSB可以通过TPCM访问TCM中的密钥,利用密钥对文件进行加密。
对于上述文件加密方法需要说明的是,本申请实施例对计算子系统中的文件的位置和类型均不作具体限定。本申请实施例对根据TCM中的密钥对文件进行加密的方法也不作具体限定。
图2是根据本申请实施例的一种文件的加密处理方法的流程示意图。如图2所示,该方法包括:
步骤S202,可信计算平台中的防护子系统从可信计算平台中的计算子系统中获取待加密文件的历史访问信息,其中,计算子系统用于完成计算任务,防护子系统用于根据可信策略对计算子系统进行主动度量和控制。
在本申请的一些实施例中,防护子系统通过可信平台控制模块对计算子系统进行主动度量和主动控制,并且,计算子系统与防护子系统之间具有安全隔离机制,通过专用访问通道进行交互。
步骤S204,确定与历史访问信息对应的可信策略;
步骤S206,依据可信策略判断是否对待加密文件进行加密,以及在判断结果指示对待加密文件进行加密时,对待加密文件进行加密。其中,可信策略可以由主体、壳体、操作和执行环境等构成,用于对待度量对象采用相应的度量方法进行主动度量,不同的可信策略对应不同的度量对象和度量方法。由此可见,可信策略主要包括两个方面:度量对象和度量方法。
采用上述处理步骤,由于可以依据历史访问信息确定可信策略,并依据可信策略判断是否对待加密文件进行加密,因此,即使密码被盗,由于可以基于可信策略对待加密文件是否进行加密进行可信判断,因此,可以进一步增强文件访问过程的安全性。
步骤S202中,获取历史访问信息的方式有多种:
例如,可以基于访问对象确定历史访问信息,具体地:防护子系统确定访问待加密文件的访问对象,并将访问对象作为历史访问信息;此时,步骤S206中,可以依据以下过程判断是否对待加密文件进行加密:判断访问对象是否属于第一类型,并在访问对象属于第一类型时,确定对待加密文件进行加密。上述第一类型可以表现为特定类型的主体(例如特定的应用程序)。即根据可信策略确定只有在指定主体(可以是应用程序)访问该文件时,需要对该文件进行加密。
又例如,可以基于待加密文件对应的访问行为确定历史访问信息,具体地:防护子系统确定访问待加密文件的访问行为所属的类型,并将访问行为所属的类型作为历史访问信息;此时,步骤S206中,可以依据以下过程判断是否对待加密文件进行加密:判断访问待加密文件的访问行为是否为第二类型,并在访问行为所属的类型为第二类型时,确定对待加密文件进行加密。上述第二类型包括但不限于以下类型中的至少之一,具体根据实际情况灵活设定:系统调用行为、应用自身调用行为等。其中,系统调用行为可以包括但并不限于:程序启动、共享库加载、驱动程序加载、文件访问、I/O设备访问、网络访问和内存映射。即根据可信策略确定只有在访问该文件的行为是指定类型行为时,需要对该文件进行加密。
又例如,可以基于访问行为的执行环境确定,具体地:防护子系统确定访问待加密文件的访问行为;确定访问行为所在执行环境的类型;并将所执行环境的类型作为历史访问信息;此时,步骤S206中,可以依据以下过程判断是否对待加密文件进行加密:判断执行环境的类型是否为第三类型,并在执行环境的类型为第三类型时,确定对待加密文件进行加密。即根据可信策略确定只有在访问该文件的行为的执行环境是指定类型的执行环境时,需要对该文件进行加密。
在本申请的一些实施例中,上述执行环境包括但不限于:进程环境和系统环境。执其中,应用执行所依赖的进程环境可以包括但并不限于以下之一:应用程序的主程序代码、使用库函数代码、进程相关的数据结构、应用程序的数据段和关键的配置数据等。系统环境包括计算子系统中的系统服务和操作系统内核,具体地,应用执行所依赖的系统环境可以包括但并不限于:内核主体代码段、可加载模块代码段、系统调用表、中断描述表、文件系统跳转表、网络协议栈、跳转表、设备驱动跳转表、寄存器值和关键的配置数据等。
在确定对待加密文件进行加密时,可以通过以下方式进行加密:从防护子系统中的可信编码模块中提取密钥;并采用该密钥对待加密文件进行加密。由于密钥是存在在可信编码模块中的,因此,提升了密钥存储的安全性。
具体地,可以调用TPCM中的TCM(可信密码摸摸)对文件进行加密,采用这种加密方式,由于TPCM是控制权限较高且封闭的,外界无权限不能访问,在TPCM中存储加密的密钥和加密算法,因此,能够保证加密过程的安全性。
在本申请的一些实施例中,步骤S202中可以通过以下之一方式获取待加密文件的历史访问信息:防护子系统通过防护子系统和计算子系统之间的共享总线获取待加密文件的历史访问信息;或者,防护子系统通过可信平台控制模块接收计算机子系统中的可信软件基代理模块发送的历史访问信息,其中,可信软件基代理模块用于获取历史访问信息。
图3是根据本申请实施例的一种文件的解密处理方法的流程示意图。如图3所示,该方法包括:
步骤S302,可信计算平台的计算子系统中的度量代理模块检测对目标加密文件的访问行为,计算子系统用于完成计算任务;其中,度量代理模块可以为防护子系统植入到计算子系统中的度量代理程序。
步骤S304,度量代理模块在检测到访问行为时,获取可信计算平台中的防护子系统对访问行为进行可信度量后得到的度量结果,其中,防护子系统用于根据可信策略对计算子系统进行主动度量和控制;
步骤S306,度量代理模块依据度量结果确定是否允许访问行为访问目标加密文件;以及
步骤S308,度量代理模块在度量结果指示允许访问目标加密文件的情况下,对目标加密文件进行解密。
在本申请的一些实施例中,在步骤S304中,上述度量结果包括:所述计算子系统获取所述访问行为的行为信息;所述计算子系统将所述行为信息发送至所述防护子系统;所述防护子系统确定与所述行为信息对应的可信策略;所述防护子系统依据所述可信策略对所述行为信息进行可信度量,得到度量结果;所述计算系统接收来自所述防护子系统的度量结果。
所述防护子系统依据所述可信策略对所述行为信息进行可信度量,包括以下之一:1)在指定主体访问所述目标加密文件时,对访问所述目标加密文件的访问行为进行可信度量,其中,在度量结果为可信时对该加密文件进行解密;2)在访问所述目标加密文件的访问行为是指定类型行为时,对访问所述目标加密文件的访问行为进行可信度量,其中,在度量结果为可信时对所述目标加密文件进行解密;3)在访问所述目标加密文件的行为的执行环境是指定类型的执行环境时,对访问该加密文件的访问行为进行可信度量,其中,在度量结果为可信时对该加密文件进行解密。
本申请实施例还提供一种文件的加密系统,该文件的加密系统包括:可信计算平台中的防护子系统和计算子系统,其中,防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制,所述计算子系统用于完成计算任务,并且,所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;所述计算子系统,还用于存储待加密文件以及采集所述待加密文件的历史访问信息;所述防护子系统,还用于从所述计算子系统中获取待加密文件的历史访问信息,确定与所述历史访问信息对应的可信策略;依据所述可信策略判断是否对所述待加密文件进行加密,以及在判断结果指示对所述待加密文件进行加密时,对所述待加密文件进行加密。
相应地,本申请实施例还提供一种文件的解密系统,该文件的解密系统包括:可信计算平台中的防护子系统和计算子系统,其中,防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制,所述计算子系统用于完成计算任务,并且,所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;所述计算子系统,还用于检测对目标加密文件的访问行为;所述计算子系统,还用于在检测到所述访问行为时,获取所述可信计算平台中的防护子系统对所述访问行为进行可信度量后得到的度量结果;依据所述度量结果确定是否允许所述访问行为访问所述目标加密文件;以及在所述度量结果指示允许访问所述目标加密文件的情况下,对所述目标加密文件进行解密。
需要说明的是,本申请实施例中提供的上述文件的加密系统和文件的解密系统的具体结构可以参见图1所示,此处不再赘述。
本申请实施例还提供一种非易失性存储介质,该非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行以上所述的文件的加密处理方法或者以上所述的文件的解密处理方法。
本申请实施例还提供一种处理器,该处理器用于运行程序,其中,程序运行时执行图2或图3所示的的校准方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种文件的加密处理方法,其特征在于,包括:
可信计算平台中的防护子系统从所述可信计算平台中的计算子系统中获取待加密文件的历史访问信息,其中,所述计算子系统用于完成计算任务,所述防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制;
确定与所述历史访问信息对应的可信策略;
依据所述可信策略判断是否对所述待加密文件进行加密;以及
在判断结果指示对所述待加密文件进行加密时,对所述待加密文件进行加密。
2.根据权利要求1所述的方法,其特征在于,依据所述可信策略判断是否对所述待加密文件进行加密,包括:
判断访问所述待加密文件的访问对象是否属于第一类型,并在所述访问对象属于所述第一类型时,确定对所述待加密文件进行加密,所述历史访问信息中包括所述访问对象。
3.根据权利要求1所述的方法,其特征在于,
依据所述可信策略判断是否对所述待加密文件进行加密,包括:判断访问所述待加密文件的访问行为是否为第二类型,并在所述访问行为所属的类型为所述第二类型时,确定对所述待加密文件进行加密,其中,所述历史访问信息中包括所述访问行为。
4.根据权利要求1所述的方法,其特征在于,
依据所述可信策略判断是否对所述待加密文件进行加密,包括:判断访问所述待加密文件的访问行为所在的执行环境是否为第三类型,并在所述执行环境的类型为所述第三类型时,确定对所述待加密文件进行加密,其中,所述历史文件信息中包括所述执行环境。
5.一种文件的解密处理方法,其特征在于,包括:
可信计算平台的计算子系统中的度量代理模块检测对目标加密文件的访问行为,所述计算子系统用于完成计算任务;
所述度量代理模块在检测到所述访问行为时,获取所述可信计算平台中的防护子系统对所述访问行为进行可信度量后得到的度量结果,其中,所述防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制;
所述度量代理模块依据所述度量结果确定是否允许所述访问行为访问所述目标加密文件;以及
所述度量代理模块在所述度量结果指示允许访问所述目标加密文件的情况下,对所述目标加密文件进行解密。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括以下之一:
在指定主体访问所述目标加密文件时,对访问所述目标加密文件的访问行为进行可信度量,在度量结果为可信时对该加密文件进行解密;
在访问所述目标加密文件的访问行为是指定类型行为时,对访问所述目标加密文件的访问行为进行可信度量,在度量结果为可信时对所述目标加密文件进行解密;
在访问所述目标加密文件的行为的执行环境是指定类型的执行环境时,对访问该加密文件的访问行为进行可信度量,在度量结果为可信时对该加密文件进行解密。
7.一种文件的加密系统,其特征在于,包括:可信计算平台中的防护子系统和计算子系统,其中,防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制,所述计算子系统用于完成计算任务,并且,所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
所述计算子系统,还用于存储待加密文件以及采集所述待加密文件的历史访问信息;
所述防护子系统,还用于从所述计算子系统中获取待加密文件的历史访问信息,确定与所述历史访问信息对应的可信策略;依据所述可信策略判断是否对所述待加密文件进行加密,以及在判断结果指示对所述待加密文件进行加密时,对所述待加密文件进行加密。
8.一种文件的解密系统,其特征在于,包括:可信计算平台中的防护子系统和计算子系统,其中,防护子系统用于根据可信策略对所述计算子系统进行主动度量和控制,所述计算子系统用于完成计算任务,并且,所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
所述计算子系统,还用于检测对目标加密文件的访问行为;
所述计算子系统,还用于在检测到所述访问行为时,获取所述可信计算平台中的防护子系统对所述访问行为进行可信度量后得到的度量结果;依据所述度量结果确定是否允许所述访问行为访问所述目标加密文件;以及在所述度量结果指示允许访问所述目标加密文件的情况下,对所述目标加密文件进行解密。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至4中任意一项所述的文件的加密处理方法,或者权利要求5或6中所述的文件的解密处理方法。
10.一种处理器,其特征在于,该处理器用于运行程序,其中,程序运行时执行权利要求1至4中任意一项所述的文件的加密处理方法,或者权利要求5或6中所述的文件的解密处理方法。
CN201910612205.8A 2019-07-08 2019-07-08 文件的加密、解密处理方法及加解密系统 Active CN110334532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910612205.8A CN110334532B (zh) 2019-07-08 2019-07-08 文件的加密、解密处理方法及加解密系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910612205.8A CN110334532B (zh) 2019-07-08 2019-07-08 文件的加密、解密处理方法及加解密系统

Publications (2)

Publication Number Publication Date
CN110334532A true CN110334532A (zh) 2019-10-15
CN110334532B CN110334532B (zh) 2021-07-27

Family

ID=68143298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910612205.8A Active CN110334532B (zh) 2019-07-08 2019-07-08 文件的加密、解密处理方法及加解密系统

Country Status (1)

Country Link
CN (1) CN110334532B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385248A (zh) * 2020-10-22 2022-04-22 四零四科技股份有限公司 处理信任链的计算系统及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101588360A (zh) * 2009-07-03 2009-11-25 深圳市安络大成科技有限公司 内部网络安全管理的相关设备及方法
US20100228995A1 (en) * 2009-03-06 2010-09-09 Jacobus William E Universal Serial Bus Data Encryption Device with the Encryption Key Delivered by any Infrared Remote Handheld Controller where the Encryption Key is Unreadable by the Attached Computer System
CN103455756A (zh) * 2013-08-02 2013-12-18 国家电网公司 一种基于可信计算的进程控制方法
CN103581203A (zh) * 2013-11-20 2014-02-12 北京可信华泰信息技术有限公司 基于可信计算的可信网络连接方法
CN106372487A (zh) * 2016-08-30 2017-02-01 孙鸿鹏 一种服务器操作系统可信增强方法及系统
CN107317819A (zh) * 2017-07-13 2017-11-03 北京邮电大学 基于可信数据格式的通用数据的加密方法、解密方法及其装置
CN108509802A (zh) * 2018-02-28 2018-09-07 郑州信大捷安信息技术股份有限公司 一种应用程序数据防泄密方法和装置
CN109583197A (zh) * 2018-11-28 2019-04-05 北京可信华泰信息技术有限公司 一种可信叠层文件加解密方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100228995A1 (en) * 2009-03-06 2010-09-09 Jacobus William E Universal Serial Bus Data Encryption Device with the Encryption Key Delivered by any Infrared Remote Handheld Controller where the Encryption Key is Unreadable by the Attached Computer System
CN101588360A (zh) * 2009-07-03 2009-11-25 深圳市安络大成科技有限公司 内部网络安全管理的相关设备及方法
CN103455756A (zh) * 2013-08-02 2013-12-18 国家电网公司 一种基于可信计算的进程控制方法
CN103581203A (zh) * 2013-11-20 2014-02-12 北京可信华泰信息技术有限公司 基于可信计算的可信网络连接方法
CN106372487A (zh) * 2016-08-30 2017-02-01 孙鸿鹏 一种服务器操作系统可信增强方法及系统
CN107317819A (zh) * 2017-07-13 2017-11-03 北京邮电大学 基于可信数据格式的通用数据的加密方法、解密方法及其装置
CN108509802A (zh) * 2018-02-28 2018-09-07 郑州信大捷安信息技术股份有限公司 一种应用程序数据防泄密方法和装置
CN109583197A (zh) * 2018-11-28 2019-04-05 北京可信华泰信息技术有限公司 一种可信叠层文件加解密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谭良等: "可信终端动态运行环境的可信证据收集代理", 《软件学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385248A (zh) * 2020-10-22 2022-04-22 四零四科技股份有限公司 处理信任链的计算系统及装置
CN114385248B (zh) * 2020-10-22 2024-04-23 四零四科技股份有限公司 处理信任链的计算系统及装置

Also Published As

Publication number Publication date
CN110334532B (zh) 2021-07-27

Similar Documents

Publication Publication Date Title
CN109871694B (zh) 一种基于双体系结构可信计算平台的静态度量方法
CN109918915B (zh) 一种基于双体系结构可信计算平台的动态度量方法
EP3792805B1 (en) Data transmission with obfuscation for a data processing (dp) accelerator
CN109871695A (zh) 一种计算与防护并行双体系结构的可信计算平台
CN105447406B (zh) 一种用于访问存储空间的方法与装置
CN103888251B (zh) 一种云环境中虚拟机可信保障的方法
US10917243B2 (en) Secure server and compute nodes
KR100737628B1 (ko) 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션
US20160350534A1 (en) System, apparatus and method for controlling multiple trusted execution environments in a system
CN110011801A (zh) 可信应用程序的远程证明方法及装置、电子设备
CN109948344A (zh) 一种基于双体系结构可信计算平台的系统交互方法
CN107111715A (zh) 将可信执行环境用于代码和数据的安全性
CN107851167A (zh) 在计算环境中保护计算数据的技术
CN106462708A (zh) 认证变量的管理
CN113014444B (zh) 一种物联网设备生产测试系统及安全保护方法
CN104268477B (zh) 一种安全控制方法及网络设备
CN105592039B (zh) 可设置权限的安全设备实现系统及其实现方法
CN113806286B (zh) 在基于策略划分的数据处理集群中进行数据保护的方法
CN112016090B (zh) 安全计算卡,基于安全计算卡的度量方法及系统
Wagner et al. Distributed usage control enforcement through trusted platform modules and sgx enclaves
CN107077568A (zh) 对称密钥和信任链
Khan et al. A protocol for preventing insider attacks in untrusted infrastructure-as-a-service clouds
CN110334532A (zh) 文件的加密、解密处理方法及加解密系统
Ozga et al. Chors: Hardening high-assurance security systems with trusted computing
Hein et al. An autonomous attestation token to secure mobile agents in disaster response

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
GR01 Patent grant
GR01 Patent grant