CN110955888A - 应用程序数据保护方法、装置、设备、存储介质 - Google Patents
应用程序数据保护方法、装置、设备、存储介质 Download PDFInfo
- Publication number
- CN110955888A CN110955888A CN201911310322.5A CN201911310322A CN110955888A CN 110955888 A CN110955888 A CN 110955888A CN 201911310322 A CN201911310322 A CN 201911310322A CN 110955888 A CN110955888 A CN 110955888A
- Authority
- CN
- China
- Prior art keywords
- code
- specific
- data
- virtual machine
- application
- 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
Links
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种应用程序数据保护方法、装置、设备、存储介质。应用程序数据保护方法,包括:将访问应用程序特定数据的代码设定为特定代码;当需要访问所述特定数据时运行所述特定代码,所述特定代码运行在安全虚拟机中;使用所述安全虚拟机的密钥对所述特定数据进行保护。本公开可以实现对内存数据进行隔离和加密保护以有效保护应用程序的机密数据。
Description
技术领域
本公开涉及安全技术领域,尤其涉及一种应用程序数据保护方法、装置、设备、存储介质。
背景技术
随着互联网数字化社会的发展,侵犯隐私和信息泄露的问题受到关注。目前,各类应用程序的内存数据往往有涉及用户隐私的机密数据,导致机密数据泄露的原因主要是,终端设备的处理器有特权级和非特权级运行模式,其中,操作系统运行在特权级,而应用程序运行在非特权级,特权级代码可以访问非特权级的应用程序的所有内存数据,因此攻击者可以通过恶意篡改特权级代码偷取应用程序的机密数据。
如何保障用户应用程序的内存数据的机密性和完整性成为亟待解决的问题。
发明内容
本公开正是为了解决上述课题而完成,其目的在于提供一种对内存数据进行隔离和加密保护以有效保护应用程序的机密数据的应用程序数据保护方法、装置、设备、存储介质。
本公开提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
为了解决上述技术问题,本公开实施例提供一种应用程序数据保护方法,采用了如下所述的技术方案,包括:
将访问应用程序特定数据的代码设定为特定代码;
当需要访问所述特定数据时运行所述特定代码,所述特定代码运行在安全虚拟机中;
使用所述安全虚拟机的密钥对所述特定数据进行保护。
为了解决上述技术问题,本公开实施例还提供一种应用程序数据保护装置,采用了如下所述的技术方案,包括:
代码设定模块,将访问应用程序特定数据的代码设定为特定代码;
代码运行模块,当需要访问所述特定数据时运行所述特定代码,所述特定代码运行在安全虚拟机中;
数据保护模块,使用所述安全虚拟机的密钥对所述特定数据进行保护。
为了解决上述技术问题,本公开实施例还提供一种计算机设备,采用了如下所述的技术方案,包括:
存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如前述所述的方法。
为了解决上述技术问题,本公开实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案,包括:
所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所述的方法。
根据本公开所公开的技术方案,与现有技术相比,本公开可以实现将应用程序的特定部分运行在安全虚拟机中,对安全虚拟机内存数据进行隔离和加密保护,可以有效保护应用程序的机密数据。
附图说明
图1是根据本公开的应用程序数据保护方法的一个实施例的流程图;
图2是根据本公开的应用程序数据保护方法的设定特定代码的一个实施例的示意图;
图3是根据本公开的应用程序数据保护方法的对特定数据进行保护的一个实施例的示意图;
图4是根据本公开的应用程序数据保护装置的一个实施例的示意图;
图5是根据本公开的计算机设备的一个实施例的结构示意图。
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本公开;本公开的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本公开的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本公开的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本公开方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[应用程序数据保护方法]
参考图1,示出了根据本公开的应用程序数据保护方法的一个实施例的流程图。所述应用程序数据保护方法,包括以下步骤:
S11,将访问应用程序特定数据的代码设定为特定代码。
这里,应用程序特定数据例如可以是应用程序中的机密数据,或者是由系统或用户确定的需要进行保护的数据;特定代码为例如为访问特定数据的安全代码。
如图2所示,为根据本公开的应用程序数据保护方法的设定特定代码的一个实施例的示意图,其中,将访问应用程序特定数据的代码设定为特定代码的步骤中例如将访问机密数据的代码剥离出来,将应用程序代码从逻辑上分为安全代码和普通代码,访问机密数据的代码属于安全代码,其他代码属于非安全代码即普通代码。
应用程序启动时运行普通代码,当需要访问机密数据时启动安全虚拟机运行安全代码,安全代码执行完毕后继续执行普通代码。应用程序可以包含多段安全代码,以实现某些特定的功能,安全代码与普通代码交替执行直至运行结束。
S12,当需要访问特定数据时运行特定代码,特定代码运行在安全虚拟机中。
这里,安全虚拟机包括至少一个,以分别保护不同应用程序的内存数据或者同一个应用程序中的不同内存数据,安全虚拟机具有保护内存数据的密钥,不同安全虚拟机之间的密钥不同。
S13,使用安全虚拟机的密钥对特定数据进行保护。
这里,当运行本实施例的方法的特定代码读写内存数据时,自动使用虚拟机的密钥对内存数据进行加密/解密。不同虚拟机之间使用不同的加密/解密密钥对内存数据进行加密/解密,因此安全虚拟机之间不能访问对方的内存数据,从而实现安全虚拟机之间或安全虚拟机与主机之间的内存隔离。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[应用程序数据保护方法实施例]
下面,说明本公开的一个实施例,如图3所示,是根据本公开的应用程序数据保护方法的对特定数据进行保护的一个实施例的示意图。在本实施例中,由CPU处理器提供安全虚拟化功能。
步骤1,应用程序使用操作系统提供的接口应用安全虚拟化功能,例如由操作系统的虚拟机监视器VMM(Virtual Machine Monitor)负责为安全虚拟机分配内存资源和/或配置运行环境,并启动安全虚拟机。
步骤2,将访问应用程序机密数据的代码设定为安全代码。
步骤3,运行安全虚拟化模式,此时安全代码运行在安全虚拟机中。
这里,安全虚拟机包括至少一个,如图3所示,为VM1和VM2,以分别保护不同应用程序的内存数据或者同一个应用程序中的不同内存数据,安全虚拟机具有保护内存数据的密钥key,不同安全虚拟机之间的密钥不同,例如本实施例中VM1和VM2分别对应key1和key2。
步骤4,使用安全虚拟机的密钥对特定数据进行保护。例如由处理器的内存管理单元MMU(Memory Management Unit)在读写内存数据时,自动使用虚拟机VM1和VM2的密钥key1和key2分别对内存数据VM1内存和VM2内存进行加密/解密。
因此应用程序的机密数据会被加密后保存在内存中,即使运行在特权级的恶意代码也只能读取密文。由于加解密操作由硬件完成,软件无法获取密钥,无法从密文解密得到原始数据,以此达到保护应用程序机密数据的目的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)等非易失性存储介质,或随机存储记忆体(RAM)等。
[应用程序数据保护装置]
如图4所示,为了实现本公开实施例中的技术方案,本公开提供了一种应用程序数据保护装置,该装置具体可以应用于各种电子终端设备中。
本实施例所述的应用程序数据保护装置包括:代码设定模块401、代码运行模块402、数据保护模块403、内存管理模块404、虚拟机监视模块405。
代码设定模块401,将访问应用程序特定数据的代码设定为特定代码。
这里,应用程序特定数据例如可以是应用程序中的机密数据,或者是由系统或用户确定的需要进行保护的数据;特定代码为例如为访问特定数据的安全代码。
如图2所示,为根据本公开的应用程序数据保护方法的设定特定代码的一个实施例的示意图,其中,将访问应用程序特定数据的代码设定为特定代码的步骤中例如将访问机密数据的代码剥离出来,将应用程序代码从逻辑上分为安全代码和普通代码,访问机密数据的代码属于安全代码,其他代码属于非安全代码即普通代码。
应用程序启动时运行普通代码,当需要访问机密数据时启动安全虚拟机运行安全代码,安全代码执行完毕后继续执行普通代码。应用程序可以包含多段安全代码,以实现某些特定的功能,安全代码与普通代码交替执行直至运行结束。
代码运行模块402,当需要访问特定数据时运行特定代码,特定代码运行在安全虚拟机中。
这里,安全虚拟机包括至少一个,以分别保护不同应用程序的内存数据或者同一个应用程序中的不同内存数据,安全虚拟机具有保护内存数据的密钥,不同安全虚拟机之间的密钥不同。
数据保护模块403,使用安全虚拟机的密钥对特定数据进行保护。
这里,当运行本实施例的方法的特定代码读写内存数据时,自动使用虚拟机的密钥对内存数据进行加密/解密。
内存管理模块404,不同虚拟机之间使用不同的加密/解密密钥对内存数据进行加密/解密,因此安全虚拟机之间不能访问对方的内存数据,从而实现安全虚拟机之间或安全虚拟机与主机之间的内存隔离。
虚拟机监视模块405,应用程序使用操作系统提供的接口应用安全虚拟化功能,由操作系统的虚拟机监视模块405例如虚拟机监视器VMM(Virtual Machine Monitor)负责为安全虚拟机分配内存资源和/或配置运行环境,并启动安全虚拟机。
应该理解的是,虽然附图的框图中的每个方框可以代表一个模块,该模块的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令,但是这些模块并不是必然按照顺序依次执行。本公开中装置实施例中的各模块及功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上的模块或功能单元集成在一个模块中。上述集成的各个模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[应用程序数据保护设备]
下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如终端设备或服务器)500的结构示意图。本公开实施例中的终端设备可以是上述系统中的各种终端设备。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,用于控制电子设备的整体操作。处理装置可以包括一个或多个处理器来执行指令,以完成上述的方法的全部或部分步骤。此外,处理装置501还可以包括一个或多个模块,用于处理和其他装置之间的交互。
存储装置502用于存储各种类型的数据,存储装置502可以是包括各种类型的计算机可读存储介质或者它们的组合,例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
传感器装置503,用于感受规定的被测量的信息并按照一定的规律转换成可用输出信号,可以包括一个或多个传感器。例如,其可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器等,用于检测电子设备的打开/关闭状态、相对定位、加速/减速、温度、湿度和光线等的变化。
处理装置501、存储装置502以及传感器装置503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
多媒体装置506可以包括触摸屏、触摸板、键盘、鼠标、摄像头、麦克风等的输入装置用以接收来自用户的输入信号,在各种输入装置可以与上述传感器装置503的各种传感器配合完成例如手势操作输入、图像识别输入、距离检测输入等;多媒体装置506还可以包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置。
电源装置507,用于为电子设备中的各种装置提供电力,可以包括电源管理系统、一个或多个电源及为其他装置分配电力的组件。
通信装置508,可以允许电子设备500与其他设备进行无线或有线通信以交换数据。
上述各项装置也均可以连接至I/O接口505以实现电子设备500的应用。
虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。
要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
根据本公开的一个或多个实施例,提供了一种应用程序数据保护方法,其特征在于,所述方法包括:
将访问应用程序特定数据的代码设定为特定代码;
当需要访问所述特定数据时运行所述特定代码,所述特定代码运行在安全虚拟机中;
使用所述安全虚拟机的密钥对所述特定数据进行保护。
根据本公开的一个或多个实施例,提供了一种应用程序数据保护方法,其特征在于,
所述安全虚拟机包括至少一个,不同所述安全虚拟机之间的密钥不同。
根据本公开的一个或多个实施例,提供了一种应用程序数据保护方法,其特征在于,
所述对所述特定数据进行保护,包括:
在读/写所述特定数据时,不同的所述安全虚拟机使用不同的密钥对不同的所述特定数据进行加密/解密,以实现所述安全虚拟机之间或所述安全虚拟机与主机之间的内存隔离。
根据本公开的一个或多个实施例,提供了一种应用程序数据保护方法,其特征在于,
所述特定代码为安全代码,所述安全代码包括至少一段,与非安全代码交替执行。
根据本公开的一个或多个实施例,提供了一种应用程序数据保护方法,其特征在于,
还包括,为所述安全虚拟机分配内存资源和/或配置运行环境,并启动所述安全虚拟机。
根据本公开的一个或多个实施例,提供了一种应用程序数据保护方法,其特征在于,
所述应用程序使用操作系统提供的接口实现所述应用程序数据保护方法。
根据本公开的一个或多个实施例,提供了一种应用程序数据保护装置,其特征在于,包括:
代码设定模块,将访问应用程序特定数据的代码设定为特定代码;
代码运行模块,当需要访问所述特定数据时运行所述特定代码,所述特定代码运行在安全虚拟机中;
数据保护模块,使用所述安全虚拟机的密钥对所述特定数据进行保护。
根据本公开的一个或多个实施例,提供了一种应用程序数据保护装置,其特征在于,还包括,
内存管理模块,在读/写所述特定数据时,使用所述安全虚拟机的密钥对所述特定数据进行加密/解密,以实现所述安全虚拟机之间或所述安全虚拟机与主机之间的内存隔离;
虚拟机监视模块,为所述安全虚拟机分配内存资源和/或配置运行环境,并启动所述安全虚拟机。
根据本公开的一个或多个实施例,提供了一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的方法。
根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种应用程序数据保护方法,其特征在于,包括:
将访问应用程序特定数据的代码设定为特定代码;
当需要访问所述特定数据时运行所述特定代码,所述特定代码运行在安全虚拟机中;
使用所述安全虚拟机的密钥对所述特定数据进行保护。
2.如权利要求1所述的应用程序数据保护方法,其特征在于,
所述安全虚拟机包括至少一个,不同所述安全虚拟机之间的密钥不同。
3.如权利要求2所述的应用程序数据保护方法,其特征在于,
所述对所述特定数据进行保护,包括:
在读/写所述特定数据时,不同的所述安全虚拟机使用不同的密钥对不同的所述特定数据进行加密/解密,以实现所述安全虚拟机之间或所述安全虚拟机与主机之间的内存隔离。
4.如权利要求1所述的应用程序数据保护方法,其特征在于,
所述特定代码为安全代码,所述安全代码包括至少一段,与非安全代码交替执行。
5.如权利要求1所述的应用程序数据保护方法,其特征在于,还包括,
为所述安全虚拟机分配内存资源和/或配置运行环境,并启动所述安全虚拟机。
6.如权利要求1所述的应用程序数据保护方法,其特征在于,
所述应用程序使用操作系统提供的接口实现所述应用程序数据保护方法。
7.一种应用程序数据保护装置,其特征在于,包括:
代码设定模块,将访问应用程序特定数据的代码设定为特定代码;
代码运行模块,当需要访问所述特定数据时运行所述特定代码,所述特定代码运行在安全虚拟机中;
数据保护模块,使用所述安全虚拟机的密钥对所述特定数据进行保护。
8.如权利要求7所述的应用程序数据保护装置,其特征在于,还包括,
内存管理模块,在读/写所述特定数据时,使用所述安全虚拟机的密钥对所述特定数据进行加密/解密,以实现所述安全虚拟机之间或所述安全虚拟机与主机之间的内存隔离;
虚拟机监视模块,为所述安全虚拟机分配内存资源和/或配置运行环境,并启动所述安全虚拟机。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310322.5A CN110955888B (zh) | 2019-12-18 | 2019-12-18 | 应用程序数据保护方法、装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310322.5A CN110955888B (zh) | 2019-12-18 | 2019-12-18 | 应用程序数据保护方法、装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955888A true CN110955888A (zh) | 2020-04-03 |
CN110955888B CN110955888B (zh) | 2023-10-27 |
Family
ID=69982521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911310322.5A Active CN110955888B (zh) | 2019-12-18 | 2019-12-18 | 应用程序数据保护方法、装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955888B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540833A (zh) * | 2020-12-28 | 2021-03-23 | 海光信息技术股份有限公司 | 进程运行方法、装置、处理器、存储介质及电子设备 |
CN115080151A (zh) * | 2022-07-22 | 2022-09-20 | 平安银行股份有限公司 | App启动流程控制方法、计算机可读存储介质及终端 |
CN116702129A (zh) * | 2023-06-08 | 2023-09-05 | 合芯科技有限公司 | 一种power架构运行服务代码的安全调用方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101755269A (zh) * | 2007-07-20 | 2010-06-23 | Nxp股份有限公司 | 具有安全虚拟机的设备 |
US20140047244A1 (en) * | 2012-08-10 | 2014-02-13 | International Business Machines Corporation | Protection of interpreted source code in virtual appliances |
CN109491755A (zh) * | 2018-09-27 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 操作系统中应用程序的保护方法和装置 |
CN110348204A (zh) * | 2019-06-17 | 2019-10-18 | 海光信息技术有限公司 | 一种代码保护系统、认证方法、装置、芯片及电子设备 |
-
2019
- 2019-12-18 CN CN201911310322.5A patent/CN110955888B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101755269A (zh) * | 2007-07-20 | 2010-06-23 | Nxp股份有限公司 | 具有安全虚拟机的设备 |
US20140047244A1 (en) * | 2012-08-10 | 2014-02-13 | International Business Machines Corporation | Protection of interpreted source code in virtual appliances |
CN109491755A (zh) * | 2018-09-27 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 操作系统中应用程序的保护方法和装置 |
CN110348204A (zh) * | 2019-06-17 | 2019-10-18 | 海光信息技术有限公司 | 一种代码保护系统、认证方法、装置、芯片及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540833A (zh) * | 2020-12-28 | 2021-03-23 | 海光信息技术股份有限公司 | 进程运行方法、装置、处理器、存储介质及电子设备 |
CN112540833B (zh) * | 2020-12-28 | 2022-11-11 | 海光信息技术股份有限公司 | 进程运行方法、装置、处理器、存储介质及电子设备 |
CN115080151A (zh) * | 2022-07-22 | 2022-09-20 | 平安银行股份有限公司 | App启动流程控制方法、计算机可读存储介质及终端 |
CN116702129A (zh) * | 2023-06-08 | 2023-09-05 | 合芯科技有限公司 | 一种power架构运行服务代码的安全调用方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110955888B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190229924A1 (en) | Key rotating trees with split counters for efficient hardware replay protection | |
CN110955888B (zh) | 应用程序数据保护方法、装置、设备、存储介质 | |
US8498418B2 (en) | Conversion of cryptographic key protection | |
WO2017034312A1 (en) | Apparatus and method for trusted execution environment based secure payment transactions | |
EP2795829B1 (en) | Cryptographic system and methodology for securing software cryptography | |
CN106605233A (zh) | 使用处理器提供可信执行环境 | |
US10691627B2 (en) | Avoiding redundant memory encryption in a cryptographic protection system | |
CN101251879A (zh) | 用于保护数据的方法和装置 | |
CN109844748A (zh) | 托管在虚拟安全环境中的安全服务 | |
US11735319B2 (en) | Method and system for processing medical data | |
KR102180529B1 (ko) | 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치 | |
US9292708B2 (en) | Protection of interpreted source code in virtual appliances | |
US11520859B2 (en) | Display of protected content using trusted execution environment | |
WO2016200058A1 (ko) | 바이너리 병합 장치, 방법 및 컴퓨터 프로그램 | |
CN104182691B (zh) | 数据保密方法及装置 | |
CN106326782A (zh) | 一种信息处理方法及电子设备 | |
WO2017107053A1 (en) | Isolated remotely-virtualized mobile computing environment | |
CN113496016A (zh) | 一种内存的访问方法、系统级芯片和电子设备 | |
CN116502189A (zh) | 软件授权方法、系统、设备和存储介质 | |
CN114528545A (zh) | 一种数据保护方法、装置、设备和存储介质 | |
CN110618967B (zh) | 应用程序运行方法、安装包生成方法、装置、设备及介质 | |
CN113961931A (zh) | adb工具使用方法、装置和电子设备 | |
CN114091075B (zh) | 密码输入方法、装置、存储介质及电子设备 | |
KR101511451B1 (ko) | 키보드 입력 정보 암호화 방법 | |
US20240243908A1 (en) | Key management and protection in secure execution environments |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Tianjin Huayuan Industrial Zone, Binhai New Area, Tianjin, 300450 Applicant after: Haiguang Information Technology Co.,Ltd. Address before: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Tianjin Huayuan Industrial Zone, Binhai New Area, Tianjin, 300450 Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |