CN114638004B - 一种数据保护方法、装置及存储介质 - Google Patents
一种数据保护方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114638004B CN114638004B CN202210300808.6A CN202210300808A CN114638004B CN 114638004 B CN114638004 B CN 114638004B CN 202210300808 A CN202210300808 A CN 202210300808A CN 114638004 B CN114638004 B CN 114638004B
- Authority
- CN
- China
- Prior art keywords
- data
- application program
- data access
- judging result
- target
- 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.)
- Active
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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种数据保护方法、装置及存储介质。所述方法包括:当前应用程序读取操作指令,根据读取到的操作指令获得第二判定结果,所述第二判定结果用于指示所述操作指令需要请求的目标数据所在容器是否为所述当前应用程序所对应的私有数据容器;当所述第二判定结果为否时,获得第四判定结果,所述第四判定结果用于指示当前程序是否运行在特权模式下;当所述第四判定结果为是时,根据所述操作指令访问存储有所述目标数据的私有数据容器,获得目标数据,根据所述目标数据执行指令。通过本发明提供的方法,可以通过数据容器对不同程序包中的数据进行隔离,在运行时对数据访问进行检查,确保只有合法的数据访问才能够被允许。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据保护方法、装置及存储介质。
背景技术
随着物联网(Internet of Things,IoT)设备和eSIM(Embedded-SIM,嵌入式SIM)卡的兴起,对智能卡系统,特别是支持多应用的智能卡系统的需求越来越强烈。在这些设备上,智能卡多是用于提供信任根(Root of Trust,ROT)或保存个人敏感数据,因此多应用智能卡系统上的数据安全的保证是一个必需的功能。目前IoT设备和eSIM卡中的智能卡系统多为基于安全元件(SecureElement,SE)的方案。SE自身是一个资源受限的计算平台,应用一般以程序包(Pacakge)的形式被安装到智能卡系统中,根据是否包含应用小程序(Applet),程序包可以被分为AppletPacakge和LibraryPacakge,其中,AppletPackage中包含1个或者多个Applet;LibraryPackage中不包含Applet,其功能仅仅是为其他AppletPacakge提供库函数。Applet是能够从智能卡外部接收命令并返回数据的最小程序单元。
目前智能卡系统中多采用按程序包进行隔离的方法进行数据保护,即同一个程序包内部的Applet可以相互之间不受限制地访问数据,但属于不同程序包的Applet之间只能以受限或受控的方式访问数据。
发明内容
有鉴于此,本申请实施例提供了一种数据保护方法及装置。
第一方面,本申请提供一种数据保护方法,所述方法包括:
当前应用程序读取操作指令,根据读取到的操作指令获得第二判定结果,所述第二判定结果用于指示所述操作指令需要请求的目标数据所在容器是否为所述当前应用程序所对应的私有数据容器;其中,所述私有数据容器为应用程序包所关联的数据容器;
当所述第二判定结果为否时,获得第四判定结果,所述第四判定结果用于指示当前程序是否运行在特权模式下;
当所述第四判定结果为是时,根据所述操作指令访问存储有所述目标数据的私有数据容器,获得目标数据,根据所述目标数据执行指令。
优选地,所述方法还包括:
根据读取到的操作指令获得第一判定结果,所述第一判定结果用于指示所述指令是否为数据访问指令;
当所述第一判定结果为是时,获得所述第二判定结果。
优选地,所述方法还包括:
当所述第二判定结果为否时,获得第三判定结果,所述第三判定结果用于指示所述目标数据是否为共享数据;
当所述第三判定结果为否时,获得第四判定结果。
优选地,当所述第三判定结果为是时,在共享数据容器中获取目标数据。
第二方面,本申请提供一种数据共享方法,所述方法包括:
当前应用程序向目标应用程序提交数据访问请求;
目标应用程序针对当前程序包的数据定义数据访问规则;所述数据访问规则包括:数据标识符、程序包标识符或程序标识符、以及访问权限;
目标数据包接收所述数据访问请求,根据所述当前程序包的标识符和所述请求信息判断是否对数据进行共享;
当判定结果为是,并且所述数据访问请求为读请求时,所述目标程序包将共享的数据拷贝至所述共享数据对象中;其中,所述共享的数据为所述目标数据包所对应的私有数据容器中的数据。
优选地,所述数据共享方法还包括:
目标应用程序根据所述数据访问规则生成数据访问入口,将所述数据访问入口注册至运行时环境中;
当前应用程序向运行时环境提交数据访问请求;
运行时环境接收所述数据访问请求,根据所述当前程序包的标识符和所述请求信息判断是否对数据进行共享;
当判定结果为是,并且所述数据访问请求为读请求时,所述运行时环境调用所述数据访问入口将共享的数据拷贝至所述共享数据对象中。
优选地,当前应用程序通过数据访问入口提交数据访问请求,所述数据访问请求包括当前应用程序所在程序包的标识符、请求信息及一个共享数据对象。
优选地,当判定结果为是时,所述方法还包括:
所述数据访问请求为写请求时,所述目标程序包的数据访问入口将共享的数据从所述共享数据对象中拷贝至所述目标数据包所对应的私有数据容器中。
第三方面,本申请提供一种数据保护装置,所述装置包括:
第一获取模块,用于在当前应用程序读取操作指令时,根据读取到的操作指令获得第一判定结果,所述第一判定结果用于指示所述指令是否为数据访问指令;
第二获取模块,用于当所述第一判定结果为是时,获得第二判定结果,所述第二判定结果用于指示当前数据访问指令所需要请求的目标数据所在容器与当前程序是否关联;
第三获取模块,用于当所述第二判定结果为否时,获得第三判定结果,所述第三判定结果用于指示所述目标数据是否为共享数据;
第四获取模块,用于当所述第二判定结果为否时,获得第四判定结果,所述第四判定结果用于指示当前程序是否运行在特权模式下;
执行模块,用于当所述第四判定结果为是时,根据所述数据访问指令访问存储有所述目标数据的私有数据容器,获得目标数据,根据所述目标数据执行指令。
第四方面,本申请提供一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如第一方面任一项实施例所述的方法。
第五方面,本申请提供一种计算设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时,执行如第一方面任一项实施例所述的方法。
本发明通过使用基于特权等级和数据容器对不同的程序包中的数据进行隔离,并在运行时对数据访问进行检查,以确保只有合法的数据访问会被允许。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的技术方案应用场景示意图;
图2本本申请实施例提供的数据保护方法应用示意图;
图3为本申请实施例提供的数据保护方法流程示意图;
图4为本申请实施例提供的数据保护方法步骤示意图;
图5为本申请实施例提供的逻辑上连续的存储区域的私有数据容器存储数据示意图;
图6为本申请实施例提供的数据共享的流程交互图;
图7为本申请实施例提供的数据访问入口处理数据的流程示意图;
图8为本申请实施例提供的数据保护装置示意图;
图9为本申请实施例提供的一种计算机设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本申请实施例提供的技术方案应用场景示意图。如图1所示,运行在SE上的软件系统包括一个运行时环境(Runtime Environemnt,RE),多个应用Package。RE是一个简化版的操作系统,负责管理硬件资源和为应用Package的正常运行提供系统支持,RE自身也是由至少一个Package组成的。如图1所示,RE包含两个Package,即P1和P2,P1为LibraryPackage,P2为AppletPackage,P2中包括一个Applet,记为D。同时在SE上还安装有三个应用Package,包括一个LibraryPackage,记为P3,两个AppletPackage,记为P4及P5,其中在P4中包括两个Applet,记为A和B,在P5中包括一个Applet,记为C。通过本申请提出的数据保护方法,对不同的Package中的数据进行隔离,在运行时,只允许合法的数据访问,通过合法的数据访问可以访问所有的Package。
图2为本申请实施例提供的方法应用示意图。如图2所示,每个Package都有一个与其关联的私有数据容器(Private Data Container,PDC),用于保存该Package在运行过程中生成的私有数据。在常规情况下,每个Package只能访问与其关联的私有数据容器,获取该私有数据容器中的数据,而无法访问其他Package关联的私有数据容器。例如图2中的Applet A可以访问PDC4,获取PDC4中的数据,但是无法访问PDC5。本方法通过建立特权模式入口,使Applet A通过特权模式入口进入特权模式,在特权模式下,Applet A可以访问PDC5,获取PDC5中的数据。
图3为本申请实施例提供的数据保护方法示意图。如图3所示,当前应用程序读取操作指令,判断当前操作指令是否为数据访问指令,当判断结果为否时,直就执行指令后读取下一条操作指令;当判断结果为是时,判断目标数据所在容器与当前程序包是否关联,当判断结果为是时,直接读取目标数据,执行指令后读取下一条操作指令;当判断结果为否时,判断目标数据是否是共享数据,当判断结果为是时,直接读取目标数据,执行指令后读取下一条操作指令;当判断结果为否时,判断当前应用程序是否运行在特权模式下,当判断结果为是时,直接读取目标数据,执行指令后读取下一条操作指令;当判断结果为否时,则中断指令执行。
下面将结合附图2、附图3对附图4做进一步解释说明。如图4所示,数据保护方法包括:
步骤S401:当前应用程序读取操作指令,根据读取到的操作指令获得第二判定结果,所述第二判定结果用于指示所述操作指令需要请求的目标数据所在容器是否为当前应用程序所对应的私有数据容器;其中,所述私有数据容器为应用程序包所关联的数据容器。
SE上安装的一个或多个应用Package,每个Package在运行中都会生成私有数据,将生成的私有数据存储在当前Package关联的私有数据容器中。每个私有数据容器都有一个唯一标识,这个标识可以是数字,字符串或者其他可以用作表示的数据。
私有数据容器可以是一块物理上连续的存储区域,也可以是一块逻辑上连续的存储区域。图5为本申请实施例提供的逻辑上连续的存储区域的私有数据容器存储数据示意图。如图5所示,当私有数据容器是逻辑上连续的存储区域时,其中的数据分散存储在不同的地址处,但是每个数据都有一个字段用以标识其属于哪个数据容器。
示例性地,当前应用程序A读取操作指令,根据读取到的操作指令,判断需要请求的目标数据所在容器与当前应用程序A是否是关联的。若需要请求的目标数据所在容器与当前应用程序A是关联的,则表明目标数据所在容器是当前应用程序A所对应的私有数据容器,则可以直接在私有数据容器中获取到目标数据。
在一些可能的实施方式中,在步骤S401之前还存在步骤S400:当前应用程序读取操作指令,根据读取到的操作指令获得第一判定结果,所述第一判定结果用于指示所述指令是否为数据访问指令。
举例来说,当前应用程序A读取操作指令,判断读取到的操作指令是否是数据访问指令,得到第一判定结果。
当第一判定结果为否时,表示操作指令不是数据访问指令,则直接执行指令,然后读取下一条指令。
相应地,此时步骤S401可以替换为:当所述第一判定结果为是时,获得所述第二判定结果。
示例性地,当第一判定结果为是时,表示当前应用程序A判定读取到的操作指令是数据访问指令,根据当前这个数据访问指令,判断当前数据访问指令所需要请求的目标数据所在容器与当前程序是否关联,举例来说,即目标数据所存储的容器是否是当前应用程序A所在的应用Package P4所关联的私有数据容器PDC4,得到第二判定结果。
具体地,此时的步骤S400和S401可以为:当前应用程序A读取操作指令,判断读取到的操作指令是否是数据访问指令,得到第一判定结果。当第一判定结果为是时,再判断需要请求的目标数据所在容器与当前应用程序A是否是关联的。
在一些可能的实施方式中,当所述第一判定结果为是时,所述指令为数据访问指令,当前应用程序通过数据访问入口提交数据访问请求;所述数据访问请求包括当前应用程序所在程序包的标识符、请求信息及一个共享数据对象。
在一些可能的实施方式中,数据访问入口可以包括:针对当前程序包的数据定义数据访问规则;所述数据访问规则包括:数据标识符、程序包标识符或程序标识符、以及访问权限;根据所述数据访问规则生成数据访问入口,将所述数据访问入口注册至运行时环境中。
其中,数据标识符用于标识一个可以共享的数据,这个数据可以被对象引用、也可以是根据存储区的地址引用,也可以是其他可以定位该数据的信息。
程序包标识符或程序标识符用于标识哪些外部的Package或者Applet能够访问该数据。如果是Package标识符,则该Package中的所有Applet都适用本数据访问规则;如果是Applet标识符,则只有标明的Applet适用本数据访问规则。
访问权限用于标识访问方式,包括读、写或者执行。
根据这个专有的数据访问规则生成数据访问入口(Data Access Entry,DAE),然后将生成的DAE注册至RE中。根据程序开发所使用的语言特性的不同,生成的DAE可以实现为一个函数,例如C语言;也可以实现为一个对象,例如Java语言。
步骤S403:当所述第二判定结果为否时,获得第四判定结果,所述第四判定结果用于指示当前程序是否运行在特权模式下。
当所述第二判定结果为否时,表示当前数据访问指令所需要请求的目标数据所在容器与当前程序并不关联。此时,判断当前程序是否运行在特权模式下。
举例来说,Applet A所需要请求的目标数据存储在PDC5中,无法直接访问。此时,需要判断Applet A是否运行在特权模式下。
每个Package都有两种运行模式,用户模式以及特权模式。在用户模式下,Package只能访问与其关联的私有数据容器,无法访问其他Package的私有数据容器。但是在特权模式下,Package可以访问任意Package的数据容器。特权模式不能随便进入,应用程序从用户模式进入特权模式,需要通过预先定义好的特权模式入口并且符合预先制定的规则才能被允许进入。当应用程序从特权模式入口退出时,应用程序的运行模式从特权模式恢复为用户模式。
例如,Package P2处在特权模式下,P2中的Applet D运行于特权模式,Applet D除了可以访问P2关联的PDC2,还可以随时访问PDC4和PDC5。Applet A通过特权模式入口可以进入特权模式,此时的Applet A运行于特权模式下,则此时的Applet A可以访问PDC5,获取PDC5中的数据。
在一个可能的实施例中,当运行于特权模式的当前应用程序,调用了运行于用户模式下的目标应用程序时,当前应用程序的运行模式会切换为用户模式。当请求的目标数据从目标应用程序返回时,运行模式从用户模式恢复为特权模式。
以面向对象编程的Java语言为例,Applet B创建一个对象实例,对象实例中有多个方法。Applet A在特权模式下请求到Applet B创建的这个对象实例,再通过这个实例调用实例中的某个方法,那么,在进入到这个方法的时候,Applet A的运行模式会由特权模式切换为用户模式。当Applet A获取到期望的数据后返回,返回的时候再恢复为特权模式。
可以理解,RE中的Package通常都是运行于特权模式下的,但是在一些系统配置中,RE中的某些Package也可以运行在用户模式下,在需要时再进入特权模式。
在一些可能的实施方式中,数据保护方法还包括步骤S402:当所述第二判定结果为否时,获得第三判定结果,所述第三判定结果用于指示所述目标数据是否为共享数据。此时步骤S403可以替换为:当所述第三判定结果为否时,获得第四判定结果。
除了私有数据容器,SE还可以存在一个或者多个共享数据容器(Shared DataContainer,SDC),SDC中的数据可以被所有的Package访问。当所述第二判定结果为否时,表示当前数据访问指令所需要请求的目标数据所在容器与当前程序并不关联。此时,判断目标数据是否为共享数据,判定结果为否时,再判断当前程序是否运行在特权模式下。
步骤S405:当所述第四判定结果为是时,根据所述数据访问指令访问存储有所述目标数据的私有数据容器,获得目标数据,根据所述目标数据执行指令。
当所述第四判定结果为是时,表示当前程序运行在特权模式下,此时可以访问任意私有数据容器。根据数据访问指令,访问存储有目标数据的私有数据容器,获取目标数据。
在一些可能的实施方式中,当所述第三判定结果为是时,在共享数据容器中获取目标数据。
当所述第三判定结果为是时,表示目标数据是共享数据,此时,从共享数据容器中获取目标数据。
通过本发明提供的数据保护方法,可以通过数据容器对不同程序包中的数据进行隔离,在运行时对数据访问进行检查,确保只有合法的数据访问才能够被允许,同时,还定义一组规则来实现程序包内部的数据的受控共享,即只要满足定义的规则,其他数据包可以访问请求当前的程序包中的数据,实现与本程序包以外的程序包的数据共享。
本发明还提供一种数据共享的方法,图6是除了本申请实施例提供的数据共享的流程交互图。请参考图6,本申请的数据共享方法包括:
当前应用程序向目标应用程序提交数据访问请求;
目标应用程序针对当前程序包的数据定义数据访问规则;所述数据访问规则包括:数据标识符、程序包标识符或程序标识符、以及访问权限。
为了支持数据的共享,一个Package可以定义一个或多个访问规则来控制当前Package内部的数据可以被其他Package访问。
目标数据包接收所述数据访问请求,根据所述当前程序包的标识符和所述请求信息判断是否对数据进行共享。
在一些可能的实施方式中,当判定结果为是,并且所述数据访问请求为读请求时,所述目标程序包将共享的数据拷贝至所述共享数据对象中;其中,所述共享的数据为所述目标数据包所对应的私有数据容器中的数据。
在一些可能的实施方式中,数据共享方法还包括:
目标应用程序根据所述数据访问规则生成数据访问入口,将所述数据访问入口注册至运行时环境中。
此时,当前应用程序向运行时环境提交数据访问请求。具体地,当前应用程序通过数据访问入口提交数据访问请求,所述数据访问请求包括当前应用程序所在程序包的标识符、请求信息及一个共享数据对象。
运行时环境接收所述数据访问请求,根据所述当前程序包的标识符和所述请求信息判断是否对数据进行共享。
当判定结果为是,并且所述数据访问请求为读请求时,所述运行时环境调用所述数据访问入口将共享的数据拷贝至所述共享数据对象中
在一些可能的实施方式中,当判定结果为是,并且所述数据访问请求为写请求时,所述运行时环境调用所述数据访问入口将共享的数据从所述共享数据对象中拷贝至所述目标数据包所对应的私有数据容器中。
图7为本申请实施例提供的数据访问入口处理数据的流程示意图。如图6所示,DAE接收到数据请求时,先判断请求的目标数据是否是共享数据,当结果为否时,返回失败;当结果为是,检查定义的共享规则,判断是否允许请求者访问,当判断结果为否时,返回失败;当判断结果为为是,将目标数据复制到数据请求者携带的数据共享对象,返回成功。
示例性地,Applet A需要访问Applet C中的数据,即Applet A需要访问PackageP5中的数据,Package P5定义访问规则,根据访问规则创建DAE对象,将创建的DAE对象注册到RE中。此时Package P5创建了针对P5的数据访问入口,Applet A通过DAE提交数据访问请求,请求中包括了Applet A的标识符和具体的请求信息,以及一个数据共享对象。P5收到请求后,根据Applet A的标识符和请求信息判断是否共享Applet A所请求的数据。若是P5确定共享Applet A所请求的数据,那么将数据从关联的私有数据容器PDC5中拷贝到Applet A的数据共享对象中,从而完成数据的共享。
在整个数据共享的过程中,Applet A都不会直接读取或者修改P5的数据,数据的读取和拷贝都是由P5创建的DAE来完成的。
基于上述实施例中提供的一种数据保护方法,本实施例中提供一种数据保护装置,具体地,图8为本申请实施例提供的数据保护装置示意图。如图7所示,本申请的数据保护装置包括:
第二获取模块802,用于在当前应用程序读取操作指令时,根据读取到的操作指令获得第二判定结果,所述第二判定结果用于指示当前数据访问指令所需要请求的目标数据所在容器与当前程序是否关联;
在一些可能的实施例中,所述数据保护装置还包括:
第一获取模块801,用于在当前应用程序读取操作指令时,根据读取到的操作指令获得第一判定结果,所述第一判定结果用于指示所述指令是否为数据访问指令;
第二获取模块802,具体用于当所述第一判定结果为是时,获得第二判定结果。
在一些可能的实施例中,第二获取模块802还用于:当所述第一判定结果为是时,当前应用程序通过数据访问入口提交数据访问请求;所述数据访问请求包括当前应用程序所在程序包的标识符、请求信息及一个共享数据对象。
第四获取模块804,用于当所述第二判定结果为否时,获得第四判定结果,所述第四判定结果用于指示当前程序是否运行在特权模式下;
在一些可能的实施例中,所述装置还包括:
第三获取模块803,用于当所述第二判定结果为否时,获得第三判定结果,所述第三判定结果用于指示所述目标数据是否为共享数据;
所述第四获取模块804用于当所述第三判定结果为否时,获得第四判定结果。
在一些可能的实施例中,所述第四获取模块804还用于:当所述第三判定结果为是时,在共享数据容器中获取目标数据。
执行模块805,用于当所述第四判定结果为是时,根据所述数据访问指令访问存储有所述目标数据的私有数据容器,获得目标数据,根据所述目标数据执行指令。
本发明还提供一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行前述数据保护方法的各个实施例。
图9示出了本说明书实施例所提供的一种计算机设备结构示意图,该计算机设备可以包括:处理器910、存储器920、输入/输出接口930、通信接口940和总线950。其中处理器910、存储器920、输入/输出接口930和通信接口940通过总线950实现彼此之间在设备内部的通信连接。该计算机设备可以用于执行前述图2所示的方法。
处理器910可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器920可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器920可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器920中,并由处理器910来调用执行。
输入/输出接口930用于连接输入/输出模块,以实现信息输入及输出。输入/输出模ss块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口940用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线950包括一通路,在设备的各个组件(例如处理器910、存储器920、输入/输出接口930和通信接口940)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器910、存储器920、输入/输出接口930、通信接口940以及总线950,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种数据保护方法,其特征在于,所述方法包括:
当前应用程序读取操作指令,根据读取到的操作指令获得第二判定结果,所述第二判定结果用于指示所述操作指令需要请求的目标数据所在容器是否为所述当前应用程序所对应的私有数据容器;其中,所述私有数据容器为应用程序包所关联的数据容器;所述操作指令为数据访问指令,另一应用程序通过数据访问入口向当前应用程序提交的数据访问请求;当前应用程序针对当前程序包的数据定义数据访问规则;所述数据访问规则包括:数据标识符、程序包标识符或程序标识符、以及访问权限;当前应用程序根据所述数据访问规则生成数据访问入口,将所述数据访问入口注册至运行时环境中;
当所述第二判定结果为否时,获得第四判定结果,所述第四判定结果用于指示当前应用程序是否运行在特权模式下,其中,所述特权模式,由运行在用户模式下的应用程序通过特权模式入口进入,用于使所述应用程序访问未与其关联的私有数据容器,所述未与其关联的私有数据容器,包括系统程序所对应的私有数据容器和其它应用程序所对应的私有数据容器;
当所述第四判定结果为是时,根据所述操作指令访问存储有所述目标数据的私有数据容器,获得目标数据,根据所述目标数据执行操作指令;
在所述另一应用程序从特权模式入口退出时,所述另一应用程序的运行模式从特权模式恢复为用户模式。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据读取到的操作指令获得第一判定结果,所述第一判定结果用于指示所述操作指令是否为数据访问指令;
当所述第一判定结果为是时,获得所述第二判定结果。
3.根据权利要求1或2任意一项所述的方法,其特征在于,所述方法还包括:
当所述第二判定结果为否时,获得第三判定结果,所述第三判定结果用于指示所述目标数据是否为共享数据;
当所述第三判定结果为否时,获得第四判定结果。
4.根据权利要求3所述的方法,其特征在于,当所述第三判定结果为是时,在共享数据容器中获取目标数据。
5.一种数据共享方法,其特征在于,所述方法包括:
当前应用程序向运行时环境提交数据访问请求;所述数据访问请求是当前应用程序向目标应用程序提交的数据访问请求,所述数据访问请求包括当前应用程序所在程序包的标识符、请求信息及一个共享数据对象;其中,目标应用程序针对当前程序包的数据定义数据访问规则;所述数据访问规则包括:数据标识符、程序包标识符或程序标识符、以及访问权限;目标应用程序根据所述数据访问规则生成数据访问入口,将所述数据访问入口注册至运行时环境中;
运行时环境接收所述数据访问请求,根据所述当前程序包的标识符和所述请求信息判断是否对数据进行共享;
当判定结果为是,并且所述数据访问请求为读请求时,所述运行时环境调用所述数据访问入口将共享的数据拷贝至所述共享数据对象中;其中,所述共享的数据为目标数据包所对应的私有数据容器中的数据;
当判定结果为是,并且所述数据访问请求为写请求时,所述目标程序包的数据访问入口将共享的数据从所述共享数据对象中拷贝至所述目标数据包所对应的私有数据容器中;
在目标应用程序从特权模式入口退出时,目标应用程序的运行模式从特权模式恢复为用户模式。
6.一种数据保护装置,其特征在于,所述装置包括:
第一获取模块,用于在当前应用程序读取操作指令时,根据读取到的操作指令获得第一判定结果,所述第一判定结果用于指示所述操作指令是否为数据访问指令;所述数据访问指令是另一应用程序通过数据访问入口向当前应用程序提交的数据访问请求所对应的数据访问指令;当前应用程序针对当前程序包的数据定义数据访问规则;所述数据访问规则包括:数据标识符、程序包标识符或程序标识符、以及访问权限;当前应用程序根据所述数据访问规则生成数据访问入口,将所述数据访问入口注册至运行时环境中;
第二获取模块,用于当所述第一判定结果为是时,获得第二判定结果,所述第二判定结果用于指示当前数据访问指令所需要请求的目标数据所在容器与当前应用程序是否关联;
第三获取模块,用于当所述第二判定结果为否时,获得第三判定结果,所述第三判定结果用于指示所述目标数据是否为共享数据;
第四获取模块,用于当所述第二判定结果为否时,获得第四判定结果,所述第四判定结果用于指示当前应用程序是否运行在特权模式下,其中,所述特权模式,由运行在用户模式下的应用程序通过特权模式入口进入,用于使所述应用程序访问未与其关联的私有数据容器,所述未与其关联的私有数据容器,包括系统程序所对应的私有数据容器和其它应用程序所对应的私有数据容器;
执行模块,用于当所述第四判定结果为是时,根据所述数据访问指令访问存储有所述目标数据的私有数据容器,获得目标数据,根据所述目标数据执行操作指令。
7.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210300808.6A CN114638004B (zh) | 2022-03-25 | 2022-03-25 | 一种数据保护方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210300808.6A CN114638004B (zh) | 2022-03-25 | 2022-03-25 | 一种数据保护方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114638004A CN114638004A (zh) | 2022-06-17 |
CN114638004B true CN114638004B (zh) | 2023-06-30 |
Family
ID=81949946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210300808.6A Active CN114638004B (zh) | 2022-03-25 | 2022-03-25 | 一种数据保护方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114638004B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929802B (zh) * | 2011-08-08 | 2015-12-02 | 国民技术股份有限公司 | 一种存储资源的保护方法及系统 |
CN111159735A (zh) * | 2019-12-24 | 2020-05-15 | 珠海荣邦智能科技有限公司 | 应用程序的数据访问方法及装置 |
CN111814197B (zh) * | 2020-09-10 | 2021-03-30 | 深圳赛安特技术服务有限公司 | 一种数据共享方法、装置及服务器、存储介质 |
CN112347505A (zh) * | 2020-10-19 | 2021-02-09 | 重庆传音通讯技术有限公司 | 一种数据保护方法、装置及计算机存储介质 |
CN114021107A (zh) * | 2021-11-10 | 2022-02-08 | 闻泰通讯股份有限公司 | 隐私保护方法、系统、终端设备、存储介质和产品 |
-
2022
- 2022-03-25 CN CN202210300808.6A patent/CN114638004B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114638004A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2439665C2 (ru) | Компиляция исполняемого кода в менее доверяемом адресном пространстве | |
US8074231B2 (en) | Configuration of isolated extensions and device drivers | |
US10963267B2 (en) | Bootstrapping profile-guided compilation and verification | |
US7822723B2 (en) | Method, system, program and data structure for controlling access to sensitive functions | |
US11435985B2 (en) | Electronic device and operation method thereof | |
KR20090010872A (ko) | CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치 | |
US20070288682A1 (en) | Computer system and method providing a memory buffer for use with native and platform-independent software code | |
CN111027054A (zh) | 基于安卓系统判断应用程序在多开环境中运行方法、系统 | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及系统 | |
CN108345452B (zh) | 一种线程管理方法及装置 | |
US7213098B2 (en) | Computer system and method providing a memory buffer for use with native and platform-independent software code | |
KR101460451B1 (ko) | 프로세스 주소 공간을 제어하는 장치 및 방법 | |
CN114638004B (zh) | 一种数据保护方法、装置及存储介质 | |
US20070204258A1 (en) | Method of invoking inlined method and java virtual machine using the method | |
CN113792299B (zh) | 一种基于ftrace技术的Linux系统保护方法 | |
CN111475148A (zh) | 第三方依赖库隔离方法及装置、电子设备、存储介质 | |
CN115454403A (zh) | 页面搭建方法、装置及存储介质 | |
CN114936368A (zh) | 一种Java内存木马检测方法、终端设备及存储介质 | |
CN111737013B (zh) | 芯片的资源管理方法、装置、存储介质及系统芯片 | |
CN111506301B (zh) | 绕过系统限制反射调用的方法及相关设备 | |
CN113867805B (zh) | 一种兼容基于固件的可信根的度量链构建方法、系统 | |
CN117688551A (zh) | 启动路径白名单更新方法、装置、电子设备及存储介质 | |
CN113760345A (zh) | 一种应用程序生成方法、装置、设备和存储介质 | |
JP2533931B2 (ja) | 動的割当て領域のデ―タ内容保護方式 | |
CN116775563A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |