CN111538995B - 一种数据存储方法、装置及电子设备 - Google Patents
一种数据存储方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111538995B CN111538995B CN202010337733.XA CN202010337733A CN111538995B CN 111538995 B CN111538995 B CN 111538995B CN 202010337733 A CN202010337733 A CN 202010337733A CN 111538995 B CN111538995 B CN 111538995B
- Authority
- CN
- China
- Prior art keywords
- data
- application
- service
- security
- encrypted
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例公开了一种数据存储方法、装置及电子设备,所述电子设备配置有可信执行环境,且在所述可信执行环境中运行至少一个安全应用,在该方法中,先获取来自业务应用的数据存储请求,该数据存储请求包括待存储的业务数据,然后基于电子设备的可信执行环境中的安全应用对业务数据进行加密处理,以生成相应的加密业务数据,进而将加密业务数据保存至电子设备的业务存储空间,可以实现对终端数据的安全存储,这有利于保护用户数据或隐私的安全性。
Description
技术领域
本说明书实施例涉及计算机技术领域,尤其涉及一种数据存储方法、装置及电子设备。
背景技术
随着人们对数据安全性的要求日渐提升,一些用户隐私数据会要求在终端本地保存(例如,在用户的手机上存储)而不会由运营服务商保存。然而,还是会存在一些不法分子通过高端科技手段破解终端设备的文件系统来窃取用户隐私数据,不利于保护用户数据或隐私的安全性。
发明内容
有鉴于此,本说明书实施例提供了一种数据存储方法、装置及电子设备,用于至少解决现有技术中终端设备的文件系统中的数据易被窃取而导致用户隐私数据泄露的问题。
本说明书实施例采用下述技术方案:
本说明书实施例提供一种用于电子设备的数据存储方法,所述电子设备配置有可信执行环境,且在所述可信执行环境中运行至少一个安全应用,这样所述数据存储方法包括:获取来自业务应用的数据存储请求,所述数据存储请求包括待存储的业务数据;基于电子设备的可信执行环境中的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据;将所述加密业务数据保存至所述电子设备的业务存储空间。
本说明书实施例还提供一种用于电子设备的数据存储装置,所述电子设备配置有可信执行环境,且在所述可信执行环境中运行至少一个安全应用,所述装置包括:存储请求获取单元,获取来自业务应用的数据存储请求,所述数据存储请求包括待存储的业务数据;安全加密单元,基于电子设备的可信执行环境中的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据;加密数据保存单元,将所述加密业务数据保存至所述电子设备的业务存储空间。
本说明书实施例还提供一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上述的方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
在对业务应用的业务数据进行存储时,利用可信执行环境中的安全应用对业务数据进行加密处理,使得在业务存储空间(或业务文件系统)中所存储的是加密业务数据。即使不法分子窃取了加密业务数据,也难以破解加密业务数据,提高了业务数据的安全性,有利于保障用户数据隐私。
附图说明
此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1示出了根据本说明书实施例的电子设备的一示例的结构示意图;
图2示出了根据本说明书实施例的用于电子设备的数据存储方法的一示例的流程图;
图3示出了根据本说明书实施例的用于电子设备的数据存储方法的一示例的流程图;
图4示出了根据本说明书实施例的用于电子设备的数据存储方法的一示例的流程图;
图5示出了根据本说明书实施例的用于电子设备的数据存储方法的一示例的流程图;
图6示出了根据本说明书实施例的用于电子设备的数据存储方法的一示例的信号交互图;和
图7示出了根据本说明书实施例的用于电子设备的数据存储装置的一示例的结构框图。
具体实施方式
为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书实施例技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本文中,术语“电子设备”可以表示由集成电路、晶体管、电子管等电子元器件组成,应用电子技术(包括通过软件发挥作用)的设备,例如电子计算机、手机、数控或程控系统等。
此外,术语“可信执行环境”(Trust Excuse Environment,TEE)表示受硬件机制保护的环境,其是与电子设备的开放环境(或normal world)并存的,并且TEE电子设备可以直接在CPU硬件上提供安全区域(或,安全分区)和非安全区域(或,非安全分区)的隔离机制,例如TEE所对应的安全分区不允许被非安全区域直接访问。术语“安全监控器”(securemonitor)可以表示用于在非安全区域与安全区域之间实现数据传输的中继通信功能模块。示例性地,在基于ARM架构芯片(例如,高通、MTK、三星和海思等)的电子设备中,安全监控器可以是ARM Trust Zone。
另外,术语“安全应用”表示用于提供安全服务的应用程序,例如可以是配置在安全分区中的应用程序。
这里,基于TEE可以构建一个隔离于业务操作系统(例如,Android或IOS的非安全操作系统)的小型操作系统(或,安全操作系统),并可以单独地运行一个或多个安全应用。需说明的是,在目前的移动终端领域,一般都是采用ARM架构的芯片,并大多也都支持TEE。目前,TEE技术的应用场景较为单一,具有较大的发展潜力和研究价值。
图1示出了根据本说明书实施例的电子设备的一示例的结构示意图。
如图1所示,电子设备的存储空间被分为非安全分区110和安全分区120,在非安全分区110上可以运行主操作系统,并在主操作系统上可以配置多个业务应用(例如,业务应用a1~an)。此外,安全分区120中可以配置多个安全应用(例如,安全应用b1~bn),以为非安全分区提供安全服务。
在本说明书实施例的一些示例中,非安全分区不可以直接访问安全分区中的数据,而安全分区可以直接访问非安全分区中的数据。在本说明书实施例的另一些示例中,如图1所示,非安全分区110与安全分区120之间的数据信息是通过安全监控器130来中继传输的。
图2示出了根据本说明书实施例的用于电子设备的数据存储方法的一示例的流程图。
如上面所描述的,本说明书实施例的电子设备可以是TEE设备,该电子设备的存储介质可以被划分为多个不同的存储分区,例如第一存储分区和第二存储分区。具体地,第一存储分区(也可以被称为业务存储空间或非安全分区)用于运行至少一个业务应用,例如业务存储空间可以是用来运行主操作系统(例如,Android)及在其上所配置的各个业务应用程序。此外,第二存储分区(也可以被称为安全分区)被配置成可信执行环境,且在可信执行环境中运行至少一个安全应用,这些安全应用可以为业务存储空间中的一个或多个业务应用提供安全服务,例如可以仅为存在关联关系的业务应用提供安全服务。
如图2所示,在步骤210中,获取来自业务应用的数据存储请求。这里,数据存储请求包括待存储的业务数据。
在本说明书实施例的一个示例中,用户通过操作电子设备上的业务应用而生成相应的数据存储请求,例如用户针对业务应用进行操作以请求进行人脸采集,并将所采集的人脸信息进行本地存储。
在步骤220中,基于电子设备的可信执行环境中的安全应用对业务数据进行加密处理,以生成相应的加密业务数据。
在本说明书实施例的一些示例中,可以调用安全应用并结合本机密钥(例如,设备标识信息)来对业务数据进行加密处理,从而生成相应的加密业务数据。由此,利用可信执行环境中的安全应用和本机密钥,提高了加密业务数据的解密难度,可以保障本地存储的业务数据的安全性。
在步骤230中,将加密业务数据保存至电子设备的业务存储空间。
在本说明书实施例中,将安全监控器的触发条件与数据存储请求进行关联,以利用可信执行环境中的安全应用对业务数据进行加密处理,使得加密业务数据还是被存储在业务分区的文件系统中,并能够被业务操作系统所调用,同时也不用担心因文件系统遭到窃取而导致的用户隐私泄露的问题。
图3示出了根据本说明书实施例的用于电子设备的数据存储方法的一示例的流程图。
在步骤310中,获取来自业务应用的数据存储请求。这里,该数据存储请求包括待存储的业务数据。
在步骤320中,判断在可信执行环境中的各个安全应用是否存在与数据存储请求所指示的业务应用相关联的安全应用。示例性地,可以通过检测业务数据中是否存在针对相关联的安全应用的绑定信息来完成上述的判断操作。可附加或可替换地,还可以利用预设的在业务应用与相应的安全应用之间的关联关系,确定是否存在与数据存储请求所指示的业务应用相关联的安全应用。
需说明的是,可以根据步骤320中的判断结果的不同,可以分别执行不同的实施方式。具体地,如果步骤320中的判断结果表示存在关联的安全应用时,则可以跳转至步骤331,以及如果步骤320中的判断结果表示不存在关联的安全应用时,则可以跳转至步骤333。
在步骤331中,基于关联的安全应用对初始数据进行加密处理,以生成相应的加密业务数据。
针对一些芯片架构,例如ARM芯片,配置有相应安全监控器,以用于在相互隔离的安全分区(或,可信执行环境)与业务存储空间之间进行中继通信传输。这里,在执行步骤331之前,还可以是当检测到存在关联的安全应用时,触发调用安全监控器将业务数据传递至可信执行环境,以使得可信执行环境中的安全应用能够对业务数据进行安全操作。
接着,在步骤340中,将加密业务数据保存至业务存储空间。
可替换地,在步骤333中,将待存储的业务数据保存至业务存储空间。
通过本说明书实施例,可以依据业务应用与安全应用之间的关联信息,确定针对安全监控器的特定触发条件并调用相应的安全应用进行加密操作,例如针对安全要求较低的业务数据直接存储,而针对安全要求较高的业务数据调用安全应用进行加密,实现了针对业务应用的个性化安全服务。
在一些实施方式中,可以借助预设的安全服务表来进行上述步骤320,该安全服务表中记录了各个业务应用与可信执行环境中的各个安全应用之间的关联关系,例如安全服务表可以是存储于非安全分区中。进而,可以基于预设的安全服务表来确定可信执行环境中的各个安全应用中是否存在与数据存储请求所指示的业务应用相关联的安全应用。
需说明的是,安全服务表中的关联关系可以是多样化的。结合图1中所描述的示例,一方面,业务应用a1~an中的每一者可以分别与安全应用b1~bn中的每一者是唯一对应的关联关系,另一方面,一个安全应用也可以是与多个业务应用相关联以提供相应的安全服务。利用该安全服务表,可以实现应当利用哪些安全应用来对相应的业务应用的数据提供安全服务。举例来说,安全服务表中存储有a1——b1、a2——b2,如果可信执行环境收到了来自业务应用a1的业务数据,则调用相应的安全应用b1来进行安全加密操作,以及如果可信执行环境收到了来自业务应用a2的业务数据,则调用相应的安全应用b2来进行安全加密操作。
在一些情况下,当电子设备中配置有安全监控器,且在业务存储空间存在需要进行安全服务的多个业务应用(例如,a1、a2)的业务数据,安全监控器可以被调用,并将各个业务应用的业务数据均传输至可信执行环境。进而,由可信执行环境中的相应安全应用(例如,对应a1的b1)来进行加密操作。
在一些示例中,在业务应用安装或配置到电子设备上时,如果该业务应用需要安全应用来提供安全服务,则可以为该业务应用绑定上相应的安全应用,并可以基于所绑定的关联关系来构建或更新安全服务表。
在一些应用场景下,在电子设备运行业务应用时,可能需要对本地存储的业务数据(或加密业务数据)进行读取或调用,以实现一个或多个功能,例如移动支付功能等。
鉴于此,图4示出了根据本说明书实施例的用于电子设备的数据存储方法的一示例的流程图。
如图4所示,在步骤410中,获取来自业务应用的数据存储请求。
在步骤420中,基于安全应用对业务数据进行加密处理,以生成相应的加密业务数据。
在步骤430中,将加密业务数据保存至业务存储空间。
关于步骤410~430中的操作,可以分别参照分别上面参考图2中的步骤210~230的操作,在此便不赘述。
在步骤440中,获取来自业务应用的数据读取请求。这里,数据读取请求包括待读取的加密业务数据。
在本说明书实施例的一个示例中,用户通过操作电子设备上的业务应用而生成相应的数据读取请求,例如用户针对业务应用进行操作以请求支付操作,需要调用本地存储的人脸信息来进行身份验证操作。
在步骤450中,基于用于生成加密业务数据的安全应用,对待读取的加密业务数据进行解密处理。例如,可以从业务存储空间中调用加密业务数据,并将加密业务数据传递到可信执行环境,以由可信执行环境中的安全应用执行解密操作。
需说明的是,在本说明书实施例的一个示例中,可信执行环境中的安全应用会对各种加密业务数据进行解密处理。在本说明书实施例的另一示例中,安全应用仅针对满足特定条件的加密业务数据进行解密处理,例如针对具有访问权限的加密业务数据进行解密,更多细节将在下文中展开。
通过本说明书实施例,在对本地业务数据进行加密的情况下以保障本地用户数据的安全性的情况下,还不会影响到业务应用的功能使用。
在本说明书实施例的一些示例中,加密业务数据仅允许相应或特定的业务应用访问,可以有效避免未知或恶意的业务应用访问业务数据,更加提高了业务数据的安全性。
图5示出了根据本说明书实施例的一示例的用于电子设备的数据存储方法的一示例的流程图。
如图5所示,在步骤510中,获取来自业务应用的数据存储请求。
在步骤520中,基于安全应用对业务数据进行加密处理,以生成相应的加密业务数据。
在步骤530中,将加密业务数据保存至业务存储空间。
在步骤540中,获取来自业务应用的数据读取请求。
关于步骤510~步骤540的操作,可以分别参照上面参考步骤410~步骤440中的操作,在此便不赘述。
在步骤550中,基于数据读取请求,调用安全监控器将加密业务数据传递至可信执行环境。
在步骤560中,在可信执行环境中,判断数据读取请求所指示的业务应用是否具有针对加密业务数据的访问权限。在本说明书实施例的一个示例中,业务数据仅允许产生该业务数据的原业务应用访问,相应地,可以识别数据读取请求所指示的业务应用是否为原业务应用。在本说明书实施例的另一示例中,不同的业务应用之间可以共享业务数据,更多细节将在下文中展开。
在本说明书实施例中,只要存在数据读取请求,就可以触发安全监控器将加密业务数据传递至可信执行环境,以在可信执行环境中对加密业务数据进行安全风险识别和解密操作,可以保障解密操作的安全可靠性。
如果步骤560中的判断结果指示该业务应用具有访问权限,则跳转至步骤571。另外,如果步骤560中的判断结果指示业务应用不具有访问权限,则跳转至步骤573。
在步骤571中,基于用于生成加密业务数据的安全应用来对待读取的加密业务数据进行解密处理。
可替换地,在步骤573中,拒绝对待读取的加密业务数据进行解密处理。
通过本说明书实施例,依据数据读取请求所对应的访问权限,确定是否对加密业务数据进行解密,可以避免未授权的业务应用访问用户隐私数据,并且在可信执行环境中识别相应的访问权限,具有较高的可靠性,提高了电子设备本地所存储的数据的安全性。
在本说明书实施例的一些应用场景下,允许多个业务应用之间可以共享业务数据,例如同一运营商的多个业务应用之间流量共享。具体地,可以预先设置应用授权表(例如,预设置在安全分区中的应用授权表),其中记录了关于各个不同的业务应用之间的访问授权信息。进而,可以基于应用授权表确定数据读取请求所指示的业务应用是否具有针对加密业务数据的访问权限。示例性地,如果数据读取请求所指示的业务应用与加密业务应用数据所对应的原业务应用之间具有访问授权信息,则存在相应的访问权限,反之亦然。由此,可以实现将本地业务数据在预设的业务应用之间进行共享。
结合图1中所描述的示例,假设业务应用a1与a2之间存在访问授权信息,并且安全应用b1对a1的业务数据D1进行加密处理而生成了加密业务数据SD1,此时a2请求读取SD1时,则可以调用b1将SD1解密为D1,并将其传递给a2。
图6示出了根据本说明书实施例的用于电子设备的数据存储方法的一示例的信号交互图。
如图6所示,主要涉及在电子设备的业务存储空间610、安全监控器620和可信执行环境630之间的信号传递过程。
在步骤601中,业务存储空间610(或非安全存储分区)中的业务应用检测是否存在数据存储请求。示例性地,数据存储请求可以包括待存储的业务数据和服务描述信息(例如,业务应用描述信息)。
在步骤603中,业务存储空间610中的业务应用判断数据存储请求是否需要安全服务。示例性地,只针对具有高安全需求的业务应用才调用安全监控器620与可信执行环境交互来进行安全服务,例如存在相关联的安全应用。
在步骤605中,业务存储空间610请求调用可信执行环境630(或,安全分区)在非安全操作系统(或业务操作系统)中的接口服务,并将数据存储请求传递给安全监控器620。
在步骤607中,安全监控器620将业务数据传递给可信执行环境630。
在步骤609中,可信执行环境630中的安全应用对业务数据执行加密处理。示例性地,可以基于与该业务应用相关联的安全应用来执行加密操作,例如通过本机密钥和设定算法加密,实现一机一密。在一些实施方式中,安全应用可以采用非对称加密算法(例如,RSA加密算法),即通过公钥加密并利用本机密钥作为私钥解密的方式来完成安全服务。
在步骤611中,可信执行环境630中的安全应用可以将加密业务数据传递至安全监控器620。
在步骤613中,安全监控器620将加密业务数据传递至业务存储空间610。
在步骤615中,业务存储空间610存储对应安全服务的加密业务数据和对应非安全服务的业务数据。
在步骤617中,业务存储空间610检测是否存在针对加密业务数据的数据读取请求。示例性地,数据读取请求中包括待读取的加密业务数据和相应的服务描述信息(例如,业务应用描述信息)。
在步骤619中,当非安全分区的业务应用发起数据读取请求时,业务存储空间610请求安全分区在非安全操作系统的接口服务,进而业务存储空间610将数据读取请求传递至安全监控器620。
在步骤621中,安全监控器620将数据读取请求传递至可信执行环境630。
在步骤623中,可信执行环境630中的安全应用判断数据读取请求所指示的业务应用是否存在具有针对加密业务数据的访问权限。例如,可以根据应用授权表来识别数据读取请求的访问权限。
在步骤633中,如果不存在访问权限,则安全应用可以拒绝执行解密操作。
可替换地,在步骤625中,如果存在访问权限,则安全应用可以对加密业务数据执行解密处理。
在步骤627中,安全应用可以将经解密的业务数据传递至安全监控器620。
在步骤629中,安全监控器620将经解密的业务数据传递至业务存储空间610。
在步骤631中,业务存储空间610中的业务应用基于经解密的业务数据执行相应的业务功能操作,例如刷脸支付操作。
虽然在图6中描述了在电子设备的业务存储空间610、安全监控器620和可信执行环境630之间的信号交互过程,但应理解的是,在一些可替换的实施方式中,一些电子设备在执行本说明书实施例的数据存储方法的过程中可能都不会涉及安全监控器620,例如安全分区的安全应用可以直接切换或者调用非安全分区中的非安全应用。
通过本说明书实施例,在非安全分区中并不存在非安全操作系统所对应的文件,可以有效防止非法程序读取用户隐私文件数据。此外,安全分区内数据由一机一密的密钥加密,使得即使存储空间被暴力破解读取时,也依然无法正确解密到业务数据内容。另外,在读取数据时,需要由安全分区中安全操作系统来识别权限,并控制相应的安全应用来提供安全解密服务,并可以判断读取请求的业务应用是否有权限访问,能够实现更安全的访问控制。
图7示出了根据本说明书实施例的用于电子设备的数据存储装置的一示例的结构框图。
如图7所示,用于电子设备的数据存储装置700包括存储请求获取单元710、安全加密单元720、加密数据保存单元730、关联应用判断单元740、第一触发单元750、业务数据存储单元760、读取请求获取单元770、安全解密单元780、第二触发单元790和访问权限判断单元7110。这里,电子设备包括业务存储空间和可信执行环境,所述业务存储空间可以用于运行至少一个业务应用,在所述可信执行环境中可以运行至少一个安全应用。
存储请求获取单元710被配置为获取来自业务应用的数据存储请求,所述数据存储请求包括待存储的业务数据。关于存储请求获取单元710的更多细节,可以参照上面图2中参考步骤210所描述的操作。
安全加密单元720被配置为基于电子设备的可信执行环境中的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据。关于安全加密单元720的更多细节,可以参照上面图2中参考步骤220所描述的操作。
加密数据保存单元730被配置为将所述加密业务数据保存至所述电子设备的业务存储空间。关于加密数据保存单元730的更多细节,可以参照上面图2中参考步骤230所描述的操作。
关联应用判断单元740被配置为判断在所述可信执行环境中的各个安全应用是否存在与所述数据存储请求所指示的业务应用相关联的安全应用。其中,当存在所述关联的安全应用时,安全加密单元720还基于所述关联的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据。关于关联应用判断单元740的更多细节,可以参照上面图3中参考步骤320所描述的操作。
在本说明书实施例的一些示例中,关联应用判断单元740还被配置为基于预设的安全服务表来确定所述可信执行环境中的所述各个安全应用中是否存在与所述数据存储请求所指示的业务应用相关联的安全应用,其中所述安全服务表记录了各个业务应用与所述可信执行环境中的各个安全应用之间的关联关系。
第一触发单元750被配置为当存在所述关联的安全应用时,触发调用安全监控器将所述业务数据传递至可信执行环境。关于第一触发单元750的更多细节,可以参照上面图3中参考步骤331所描述的操作。
业务数据存储单元760被配置为当不存在与该业务应用关联的安全应用时,将所述待存储的业务数据保存至所述业务存储空间。关于业务数据存储单元760的更多细节,可以参照上面图3中参考步骤333所描述的操作。
读取请求获取单元770被配置为获取来自业务应用的数据读取请求,所述数据读取请求包括待读取的加密业务数据。关于读取请求获取单元770的更多细节,可以参照上面图4中参考步骤440所描述的操作。
安全解密单元780被配置为基于用于生成所述加密业务数据的安全应用,对所述待读取的加密业务数据进行解密处理。关于安全解密单元780的更多细节,可以参照上面图4中参考步骤450所描述的操作。
第二触发单元790被配置为基于所述数据读取请求,触发调用安全监控器将加密业务数据传递至可信执行环境。关于第二触发单元790的更多细节,可以参照上面图5中参考步骤550所描述的操作。
访问权限判断单元7110被配置为在所述可信执行环境中,判断所述数据读取请求所指示的业务应用是否具有针对所述加密业务数据的访问权限。其中,当所述数据读取请求所指示的业务应用具有所述访问权限时,安全解密单元780还基于用于生成所述加密业务数据的安全应用来对所述待读取的加密业务数据进行解密处理。关于访问权限判断单元7110的更多细节,可以参照上面图5中参考步骤560所描述的操作。
在本说明书实施例的一些示例中,访问权限判断单元7110还基于预设的应用授权表确定所述数据读取请求所指示的业务应用是否具有针对所述加密业务数据的访问权限,其中所述应用授权表记录了关于各个不同的业务应用之间的访问授权信息。
需说明的是,如上所描述的装置700中的部分单元在一些应用场景下是非必需的或可选的。示例性地,在一些实施方式中,关联应用判断单元740、第一触发单元750、业务数据存储单元760、读取请求获取单元770、安全解密单元780、第二触发单元790和访问权限判断单元7110可以不被保留。
如上参照图1到图7,对根据本说明书实施例的用于电子设备的数据存储方法及装置的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本说明书装置的实施例。上面的用于电子设备的数据存储装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
基于同一发明构思,本说明书实施例中还提供了一种计算机可读存储介质,包括与电子设备结合使用计算机程序,所述计算机程序可被处理器执行以完成以下步骤:获取来自业务应用的数据存储请求,所述数据存储请求包括待存储的业务数据;基于电子设备的可信执行环境中的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据;将所述加密业务数据保存至电子设备的业务存储空间。
此外,应该理解,在计算机程序被执行时还可以使得处理器执行本说明书的各个实施例中以上结合图1-6描述的各种操作和功能。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种用于电子设备的数据存储方法,所述电子设备配置有可信执行环境和非安全分区,且在所述可信执行环境中运行至少一个安全应用,所述非安全分区用于运行至少一个业务应用,所述可信执行环境和非安全分区之间的数据信息通过安全监控器中继传输,其中,所述数据存储方法包括:
获取来自业务应用的数据存储请求,所述数据存储请求包括待存储的业务数据;
基于所述电子设备的可信执行环境中的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据;
将所述加密业务数据保存至所述电子设备的业务存储空间;
在所述可信执行环境中配置了多个安全应用,
所述方法还包括:
判断在所述可信执行环境中的各个安全应用是否存在与所述数据存储请求所指示的业务应用相关联的安全应用;
所述基于电子设备的可信执行环境中的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据,具体包括:
当存在所述关联的安全应用时,基于所述关联的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据;
所述判断在所述可信执行环境中的各个安全应用是否存在与所述数据存储请求所指示的业务应用相关联的安全应用,具体包括:
基于预设的安全服务表来确定可信执行环境中的各个安全应用中是否存在与数据存储请求所指示的业务应用相关联的安全应用;其中,所述安全服务表中记录了各个业务应用与可信执行环境中的各个安全应用之间的关联关系。
2.如权利要求1所述的数据存储方法,当存在所述关联的安全应用时,在基于所述关联的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据之前,所述方法包括:
当存在所述关联的安全应用时,触发调用安全监控器将所述业务数据传递至可信执行环境。
3.如权利要求1所述的数据存储方法,其中,当不存在与该业务应用关联的安全应用时,所述数据存储方法还包括:
将所述业务数据保存至所述业务存储空间。
4.如权利要求1所述的数据存储方法,还包括:
获取来自业务应用的数据读取请求,所述数据读取请求包括待读取的加密业务数据;
基于用于生成所述加密业务数据的安全应用,对所述加密业务数据进行解密处理。
5.如权利要求4所述的数据存储方法,在基于用于生成所述加密业务数据的安全应用,对所述加密业务数据进行解密处理之前,所述方法还包括:
基于所述数据读取请求,触发调用安全监控器将加密业务数据传递至可信执行环境。
6.如权利要求4或5所述的数据存储方法,还包括:
在所述可信执行环境中,判断所述数据读取请求所指示的业务应用是否具有针对所述加密业务数据的访问权限;
其中,基于用于生成所述加密业务数据的安全应用,对所述待读取的加密业务数据进行解密处理,具体包括:
当所述数据读取请求所指示的业务应用具有所述访问权限时,基于用于生成所述加密业务数据的安全应用来对所述加密业务数据进行解密处理。
7.如权利要求6所述的数据存储方法,其中,判断所述数据读取请求所指示的业务应用是否具有针对所述加密业务数据的访问权限,具体包括:
基于预设的应用授权表确定所述数据读取请求所指示的业务应用是否具有针对所述加密业务数据的访问权限,其中所述应用授权表记录了关于各个不同的业务应用之间的访问授权信息。
8.一种用于电子设备的数据存储装置,所述电子设备配置有可信执行环境和非安全分区,且在所述可信执行环境中运行至少一个安全应用,所述非安全分区用于运行至少一个业务应用,其中,所述数据存储装置包括:
存储请求获取单元,获取来自业务应用的数据存储请求,所述数据存储请求包括待存储的业务数据;
安全加密单元,基于电子设备的可信执行环境中的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据;
加密数据保存单元,将所述加密业务数据保存至所述电子设备的业务存储空间;在所述可信执行环境中配置了多个安全应用,所述装置还包括:
关联应用判断单元,判断在所述可信执行环境中的各个安全应用是否存在与所述数据存储请求所指示的业务应用相关联的安全应用;
其中,当存在所述关联的安全应用时,所述安全加密单元还基于所述关联的安全应用对所述业务数据进行加密处理,以生成相应的加密业务数据;
关联应用判断单元,基于预设的安全服务表来确定可信执行环境中的各个安全应用中是否存在与数据存储请求所指示的业务应用相关联的安全应用;其中,所述安全服务表中记录了各个业务应用与可信执行环境中的各个安全应用之间的关联关系。
9.如权利要求8所述的数据存储装置,还包括:
第一触发单元,当存在所述关联的安全应用时,触发调用安全监控器将所述业务数据传递至可信执行环境。
10.如权利要求8所述的数据存储装置,还包括:
业务数据存储单元,当不存在与该业务应用关联的安全应用时,将所述待存储的业务数据保存至所述业务存储空间。
11.如权利要求8所述的数据存储装置,还包括:
读取请求获取单元,获取来自业务应用的数据读取请求,所述数据读取请求包括待读取的加密业务数据;
安全解密单元,基于用于生成所述加密业务数据的安全应用,对所述待读取的加密业务数据进行解密处理。
12.如权利要求11所述的数据存储装置,还包括:
第二触发单元,基于所述数据读取请求,触发调用安全监控器将加密业务数据传递至可信执行环境。
13.如权利要求11或12所述的数据存储装置,还包括:
访问权限判断单元,在所述可信执行环境中,判断所述数据读取请求所指示的业务应用是否具有针对所述加密业务数据的访问权限;
其中,当所述数据读取请求所指示的业务应用具有所述访问权限时,所述安全解密单元还基于用于生成所述加密业务数据的安全应用来对所述待读取的加密业务数据进行解密处理。
14.如权利要求13所述的数据存储装置,其中,所述访问权限判断单元还基于预设的应用授权表确定所述数据读取请求所指示的业务应用是否具有针对所述加密业务数据的访问权限,其中所述应用授权表记录了关于各个不同的业务应用之间的访问授权信息。
15.一种电子设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010337733.XA CN111538995B (zh) | 2020-04-26 | 2020-04-26 | 一种数据存储方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010337733.XA CN111538995B (zh) | 2020-04-26 | 2020-04-26 | 一种数据存储方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111538995A CN111538995A (zh) | 2020-08-14 |
CN111538995B true CN111538995B (zh) | 2021-10-29 |
Family
ID=71967779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010337733.XA Active CN111538995B (zh) | 2020-04-26 | 2020-04-26 | 一种数据存储方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538995B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931222B (zh) * | 2020-09-30 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 应用数据加密方法、装置、终端及存储介质 |
CN114329353A (zh) * | 2020-09-30 | 2022-04-12 | 中兴通讯股份有限公司 | 预处理方法、处理方法、解密及读取方法、设备、介质 |
CN117354068B (zh) * | 2023-12-06 | 2024-03-01 | 国网浙江省电力有限公司金华供电公司 | 提高分布式能量管理系统通信安全性方法与系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856485A (zh) * | 2014-02-14 | 2014-06-11 | 武汉天喻信息产业股份有限公司 | 可信用户界面安全指示器的初始化系统及方法 |
CN105260663A (zh) * | 2015-09-15 | 2016-01-20 | 中国科学院信息工程研究所 | 一种基于TrustZone技术的安全存储服务系统及方法 |
CN105574720A (zh) * | 2015-12-14 | 2016-05-11 | 联想(北京)有限公司 | 安全的信息处理方法以及信息处理装置 |
CN106997439A (zh) * | 2017-04-01 | 2017-08-01 | 北京元心科技有限公司 | 基于TrustZone的数据加解密方法、装置及终端设备 |
CN107016288A (zh) * | 2016-01-27 | 2017-08-04 | 黑莓有限公司 | 可信执行环境 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150017844A (ko) * | 2013-08-08 | 2015-02-23 | 삼성전자주식회사 | 페이지 구성 방법 및 이를 지원하는 전자 장치 |
US10187363B2 (en) * | 2014-12-31 | 2019-01-22 | Visa International Service Association | Hybrid integration of software development kit with secure execution environment |
CN106454528A (zh) * | 2015-08-07 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 基于可信执行环境的业务处理方法和客户端 |
CN105447406B (zh) * | 2015-11-10 | 2018-10-19 | 华为技术有限公司 | 一种用于访问存储空间的方法与装置 |
-
2020
- 2020-04-26 CN CN202010337733.XA patent/CN111538995B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856485A (zh) * | 2014-02-14 | 2014-06-11 | 武汉天喻信息产业股份有限公司 | 可信用户界面安全指示器的初始化系统及方法 |
CN105260663A (zh) * | 2015-09-15 | 2016-01-20 | 中国科学院信息工程研究所 | 一种基于TrustZone技术的安全存储服务系统及方法 |
CN105574720A (zh) * | 2015-12-14 | 2016-05-11 | 联想(北京)有限公司 | 安全的信息处理方法以及信息处理装置 |
CN107016288A (zh) * | 2016-01-27 | 2017-08-04 | 黑莓有限公司 | 可信执行环境 |
CN106997439A (zh) * | 2017-04-01 | 2017-08-01 | 北京元心科技有限公司 | 基于TrustZone的数据加解密方法、装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111538995A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708051B2 (en) | Controlled access to data in a sandboxed environment | |
CN111539813B (zh) | 业务行为的回溯处理方法、装置、设备及系统 | |
CN108932297B (zh) | 一种数据查询、数据共享的方法、装置及设备 | |
CN107862215B (zh) | 一种数据存储方法、数据查询方法及装置 | |
CN111538995B (zh) | 一种数据存储方法、装置及电子设备 | |
CN105447406B (zh) | 一种用于访问存储空间的方法与装置 | |
CN111680305B (zh) | 一种基于区块链的数据处理方法、装置及设备 | |
CN109886682B (zh) | 区块链中实现合约调用的方法及节点、存储介质 | |
CN100524283C (zh) | 消费具有遗传结构的版权对象的方法和装置 | |
CN111741028B (zh) | 业务处理方法、装置、设备及系统 | |
CN110008735B (zh) | 区块链中实现合约调用的方法及节点、存储介质 | |
CN110222531B (zh) | 一种访问数据库的方法、系统及设备 | |
CN109347629B (zh) | 基于共享安全应用的密钥传递方法及系统、存储介质、设备 | |
US8321923B2 (en) | Secure sharing of resources between applications in independent execution environments in a retrievable token (e.g. smart card) | |
JP2002229861A (ja) | 著作権保護機能つき記録装置 | |
US20120137372A1 (en) | Apparatus and method for protecting confidential information of mobile terminal | |
JP2013242644A (ja) | 仮想計算機システム、制御方法、およびプログラム | |
CN113704826A (zh) | 一种基于隐私保护的业务风险检测方法、装置及设备 | |
CN109560933B (zh) | 基于数字证书的认证方法及系统、存储介质、电子设备 | |
CN112287376A (zh) | 一种隐私数据的处理方法及装置 | |
CN113807856B (zh) | 一种资源转移方法、装置及设备 | |
US11251961B2 (en) | Methods and apparatuses for storing or invoking blockchain account private keys | |
CN113282959A (zh) | 业务数据处理方法、装置及电子设备 | |
CN111400726A (zh) | 一种数据处理方法、装置、设备和机器可读介质 | |
KR101206735B1 (ko) | 모바일 단말기의 보안 관련 정보 보호 장치 및 그 방법 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40036337 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |