CN114912105A - 数据存储方法、装置、系统、设备、介质及产品 - Google Patents
数据存储方法、装置、系统、设备、介质及产品 Download PDFInfo
- Publication number
- CN114912105A CN114912105A CN202210517249.4A CN202210517249A CN114912105A CN 114912105 A CN114912105 A CN 114912105A CN 202210517249 A CN202210517249 A CN 202210517249A CN 114912105 A CN114912105 A CN 114912105A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- application
- tee
- data storage
- 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
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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据存储方法、装置、系统、设备、介质及产品。该数据存储方法包括:获取与第一应用对应的待存储的第一数据;在第一可信执行环境TEE中对所述第一数据进行加密处理,得到第二数据;向所述数据存储系统发送所述第二数据,以将所述第二数据存储至所述数据存储系统。根据本申请实施例,可以有效提高数据存储的安全性。
Description
技术领域
本申请属于数据处理技术,尤其涉及一种数据存储方法、装置、系统、设备、介质及产品。
背景技术
在数据作为新生产要素的大背景下,数据安全问题变得至关重要,重视数据安全已成为世界趋势。
通常情况下,对数据的保护过程主要集中于数据传输时和将数据存储至数据存储系统之后,其中,对数据进行安全存储的方案主要为存储介质透明加密方案,也即,从操作系统或数据存储系统层面对数据进行加密,数据在落盘存储时由数据存储系统执行加密动作,从而在用户从数据存储系统中取出数据时对加解密过程无感知。
这样,任何具有数据存储系统权限的用户都可以从数据存储系统中获取到明文数据,从而降低了数据存储的安全性。
发明内容
本申请实施例提供一种数据存储方法、装置、系统、设备、介质及产品,能够有效提高数据存储的安全性。
第一方面,本申请实施例提供一种数据存储方法,应用于数据处理模块,该方法包括:
获取与第一应用对应的待存储的第一数据;
在第一可信执行环境TEE中对所述第一数据进行加密处理,得到第二数据;
向所述数据存储系统发送所述第二数据,以将所述第二数据存储至所述数据存储系统。
第二方面,本申请实施例提供一种数据读取方法,应用于数据处理模块,该方法包括:
响应于第一应用读取第一数据的操作,从数据存储系统中获取第二数据,其中,所述第二数据为所述第一数据对应的加密数据;
在第一TEE中对所述第二数据进行解密处理,得到所述第一数据;
向所述第一应用返回所述第一数据。
第三方面,本申请实施例提供一种密钥管理方法,应用于密钥管理模块,该方法包括:
接收数据处理模块发送的密钥获取请求,所述密钥获取请求中包括与第一应用对应的应用标识;
响应于所述密钥获取请求,在第二TEE中根据所述应用标识生成与所述第一应用对应的第一密钥;
基于安全通道向所述数据处理模块发送所述第一密钥,以使所述数据处理模块在第一TEE中,根据所述第一密钥对第一数据进行加密处理,得到第二数据。
第四方面,本申请实施例提供一种数据处理系统,包括数据处理模块和密钥管理模块,其中:
所述数据处理模块用于执行如第一方面的任一项实施例中所述的数据存储方法,以及如第二方面的任一项实施例中所述的数据读取方法的步骤;
所述密钥管理模块用于执行如第三方面的任一项实施例中所述的密钥管理方法的步骤。
第五方面,本申请实施例提供一种数据处理系统,包括数据处理网关集群和密钥管理模块,其中,所述数据处理网关集群中包括代理模块和多个数据处理模块;
所述代理模块用于为多个应用分别分配对应的数据处理模块;
与第一应用对应的第一数据处理模块用于执行如第一方面的任一项实施例中所述的数据存储方法,以及如第二方面的任一项实施例中所述的数据读取方法的步骤,其中,所述第一应用为所述多个应用中的任一应用;
所述密钥管理模块用于执行如第三方面的任一项实施例中所述的密钥管理方法的步骤。
第六方面,本申请实施例提供了一种数据存储装置,应用于数据处理模块,该装置包括:
第一获取单元,用于获取与第一应用对应的待存储的第一数据;
加密处理单元,用于在第一可信执行环境TEE中对所述第一数据进行加密处理,得到第二数据;
数据发送单元,用于向所述数据存储系统发送所述第二数据,以将所述第二数据存储至所述数据存储系统。
第七方面,本申请实施例提供了一种数据读取装置,应用于数据处理模块,该装置包括:
第二获取单元,用于响应于第一应用读取第一数据的操作,从数据存储系统中获取第二数据,其中,所述第二数据为所述第一数据对应的加密数据;
解密处理单元,用于在第一TEE中对所述第二数据进行解密处理,得到所述第一数据;
数据返回单元,用于向所述第一应用返回所述第一数据。
第八方面,本申请实施例提供了一种密钥管理装置,应用于密钥管理模块,该装置包括:
请求接收单元,用于接收数据处理模块发送的密钥获取请求,所述密钥获取请求中包括与第一应用对应的应用标识;
密钥生成单元,用于响应于所述密钥获取请求,在第二TEE中根据所述应用标识生成与所述第一应用对应的第一密钥;
密钥发送单元,用于基于安全通道向所述数据处理模块发送所述第一密钥,以使所述数据处理模块在第一TEE中,根据所述第一密钥对第一数据进行加密处理,得到第二数据。
第九方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行所述计算机程序指令时实现如第一方面的任一项实施例中所述的数据存储方法、第二方面的任一项实施例中所述的数据读取方法、或第三方面的任一项实施例中所述的密钥管理方法的步骤。
第十方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面的任一项实施例中所述的数据存储方法、第二方面的任一项实施例中所述的数据读取方法、或第三方面的任一项实施例中所述的密钥管理方法的步骤。
第十一方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如如第一方面的任一项实施例中所述的数据存储方法、第二方面的任一项实施例中所述的数据读取方法、或第三方面的任一项实施例中所述的密钥管理方法的步骤。
本申请实施例中的数据存储方法、装置、系统、设备、介质及产品,通过在第一应用和数据存储系统之间设置数据处理模块,由数据处理模块借助机密计算基于硬件的安全能力,在TEE(Trusted execution environment,可信执行环境)中对第一应用待存储的第一数据进行加密处理,并将加密后得到的密文数据,也即第二数据,发送至数据存储系统进行处理和落盘存储。这样,由于加密计算是在基于硬件的可信执行环境中进行的,因此,可以提高数据存储时加密计算过程的安全性。另外,由于数据存储系统接收到的是密文数据,即使是数据存储系统的运维人员或者超级管理权限人员也无法从数据存储系统中获取到明文数据,因此,可以提高数据存储的安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的数据存储方法所适用的一种架构图;
图2是本申请提供的数据存储方法所适用的另一种架构图;
图3是本申请一个实施例提供的数据存储方法的流程示意图;
图4是本申请提供的密钥管理的一种结构示意图;
图5是本申请提供的数据存储场景的一种结构示意图;
图6是本申请一个实施例提供的数据读取方法的流程示意图;
图7是本申请提供的数据读取场景的一种结构示意图;
图8是本申请一个实施例提供的密钥管理方法的流程示意图;
图9是本申请提供的应用集成部署方式的一种示意图;
图10是本申请提供的代理网关部署方式的一种示意图;
图11是本申请一个实施例提供的数据存储装置的结构示意图;
图12是本申请一个实施例提供的数据读取装置的结构示意图;
图13是本申请一个实施例提供的密钥管理装置的结构示意图;
图14是本申请一个实施例提供的电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
随着数字化金融业务的快速发展以及数据向云和边缘侧迁移,数据在使用状态下的保护也至关重要。当前数据在计算状态下的安全保障能力不足,导致数据安全链条缺失最重要一环,机密计算是解决该问题的一项关键技术。其中,机密计算指通过在基于硬件的TEE中执行计算来保护使用中数据的一种技术,是隐私计算的三大主流技术之一。
为了解决现有技术问题,本申请实施例基于机密计算,提供了一种数据存储方法、装置、系统、设备、介质及产品。其中,本申请所提供的数据存储方法,可以应用于如图1和图2的架构中,具体结合图1和图2进行详细说明。
图1是本申请提供的数据存储方法所适用的一种架构图。
如图1所示,该架构图中可以包括第一应用对应的第一电子设备11、密钥管理模块所在的第二电子设备12以及数据存储系统所在的第三电子设备13,第一电子设备11中可设置有数据处理模块。其中,第一电子设备11与第二电子设备12之间可通过远程认证的方式建立安全通道,以便进行密钥传输。第一电子设备11与第三电子设备13之间可通过网络进行通信连接,以便进行密文数据传输。另外,第一电子设备11、第二电子设备12和第三电子设备13可以是服务器、云服务器、服务器集群等具有存储以及计算功能的设备。
图2是本申请提供的数据存储方法所适用的另一种架构图。
如图2所示,该架构图中可以包括第一应用对应的第四电子设备21、数据处理网关集群所在的设备集群22、密钥管理模块所在的第五电子设备23以及数据存储系统所在的第六电子设备24。其中,设备集群22与第五电子设备23之间可通过远程认证的方式建立安全通道,以便进行密钥传输。第四电子设备21与设备集群22之间可通过网络进行通信连接,以便进行明文数据传输。设备集群22与第六电子设备24之间可通过网络进行通信连接,以便进行密文数据传输。另外,设备集群22可以是云服务器或者服务器集群等具有存储以及计算功能的设备,第四电子设备21、第五电子设备23和第六电子设备24可以是服务器、云服务器、服务器集群等具有存储以及计算功能的设备。
基于上述两种架构,第一应用可集成数据安全存储服务SDK(SoftwareDevelopment Kit,软件开发工具包),调用统一封装的数据读/写接口,实现数据的安全存储;数据处理模块可用于进行数据的加解密计算;密钥管理模块可用于进行密钥的生成、存储、分发、更新等密钥的全生命周期管理;数据存储系统可用于对密文数据进行处理和存储等,对于非结构数据的存储,数据存储系统例如可以是文件系统,用于存储文件数据。
由此,在上述架构的基础上,本申请实施例提供的数据存储方法可以应用于对应用产生的数据进行安全存储的场景,下面对本申请实施例所提供的数据存储方法进行介绍。
图3是本申请一个实施例提供的数据存储方法的流程示意图。该数据存储方法可应用于数据处理模块中。
如图3所示,该数据存储方法具体可以包括如下步骤:
S310、获取与第一应用对应的待存储的第一数据;
S320、在第一可信执行环境TEE中对第一数据进行加密处理,得到第二数据;
S330、向数据存储系统发送第二数据,以将第二数据存储至数据存储系统。
由此,通过在第一应用和数据存储系统之间设置数据处理模块,由数据处理模块借助机密计算基于硬件的安全能力,在TEE中对第一应用待存储的第一数据进行加密处理,并将加密后得到的密文数据,也即第二数据,发送至数据存储系统进行处理和落盘存储。这样,由于加密计算是在基于硬件的可信执行环境中进行的,因此,可以提高数据存储时加密计算过程的安全性。另外,由于数据存储系统接收到的是密文数据,即使是数据存储系统的运维人员或者超级管理权限人员也无法从数据存储系统中获取到明文数据,因此,可以提高数据存储的安全性。
下面介绍上述各个步骤的具体实现方式。
在一些实施方式中,在S310中,第一应用可以是任意应用程序,第一数据可以是第一应用生成的待存储的业务数据,该业务数据可以是非结构化数据,例如文件数据。
示例性地,第一应用可通过调用数据处理模块提供的存储接口,输入明文数据,也即第一数据,进而将第一数据发送至数据处理模块,由数据处理模块对第一数据进行加密处理,触发数据存储过程。
在一些实施方式中,在S320和S330中,第一TEE是数据处理模块中设置的基于硬件的可信执行环境。数据处理模块可将获取到的第一数据传递至第一TEE中,以在第一TEE中执行加密计算。其中,加密计算时所使用的密钥可以是在第一TEE中预先存储的密钥,也可以是根据第一应用的应用标识生成的,在此不作限定。
示例性地,第一TEE在对第一数据进行加密之后,可将加密得到的密文数据,也即第二数据,返回至数据处理模块中的加密代理,加密代理在得到第二数据后,调用数据存储系统提供的底层存储接口,以密文形式将第二数据发送至数据存储系统,以便数据存储系统进行加密处理和落盘存储等操作。
另外,由于数据存储系统中可能存在不同的应用程序存储的数据,或者存储有同一应用程序中不同类型的数据,因此,不同的数据可能需要存储在数据存储系统中的不同目录下。基于此,在上述S330之前,本申请实施例提供的数据存储方法还可以包括:
获取与第一应用对应的数据存储目录。
基于此,上述S330具体可以包括:
按照数据存储目录调用数据存储系统对应的存储接口,通过存储接口向数据存储系统发送第二数据。
示例性地,第一应用在将第一数据通过数据处理模块提供的存储接口发送至数据处理模块的过程中,还可将数据存储目录一并发送至数据处理模块,在数据处理模块完成对第一数据的加密处理之后,可按照该数据存储目录调用数据存储系统底层存储接口,将第一数据对应的密文数据,也即第二数据存储在数据存储系统中相应的目录下。
这样,通过获取数据存储目录,并按照该数据存储目录进行数据存储,可以提高不同应用或业务数据之间的隔离性,进一步提高数据存储的安全性。
另外,为了进一步提高不同应用之间数据存储的安全性,在一些可能的实施方式中,在S320之前,本申请实施例提供的数据存储方法还可以包括:
获取与第一应用对应的应用标识;
在第一TEE中,根据应用标识获取与第一应用对应的第一密钥。
基于此,上述S320具体可以包括:
在第一TEE中,根据第一密钥对第一数据进行加密处理,得到第二数据。
这里,应用标识可以是能够唯一标识应用的信息,例如应用的唯一标识码、名称等。
示例性地,第一应用在将第一数据通过数据处理模块提供的存储接口发送至数据处理模块的过程中,还可将第一应用的应用标识一并发送至数据处理模块,以便数据处理模块根据该应用标识获取与第一应用对应的第一密钥。
在一些示例中,在第一应用首次使用数据存储功能的情况下,第一密钥可以是根据应用标识随机生成的与第一应用相对应的工作密钥。在第一应用非首次使用数据存储功能的情况下,第一密钥可以是第一TEE中根据应用标识查询到的,之前生成过的并存储的,与第一应用相对应的工作密钥。其中,第一密钥的生成过程可以在数据处理模块的第一TEE中执行,也可以在其他模块的TEE中执行,在此不作限定。
这样,通过利用应用标识将不同应用与不同密钥进行对应,建立应用与加密密钥之间一一对应的关系,进而可以实现不同应用之间的数据隔离,从而可以进一步地提高不同应用之间数据存储的安全性。
另外,为了提高密钥存储的安全性和稳定性,在一些实施方式中,上述在第一TEE中,根据应用标识获取与第一应用对应的第一密钥的步骤之前,本申请实施例提供的数据存储方法还可以包括:
向密钥管理模块发送密钥获取请求,密钥获取请求中包括应用标识,其中,密钥获取请求用于指示密钥管理模块在第二TEE中根据应用标识生成与第一应用对应的第一密钥;
接收密钥管理模块基于安全通道发送的第一密钥。
这里,为了防止第一TEE所在的设备宕机后无法对数据进行加解密,本申请实施例可将密钥的生成、存储、分发、更新等密钥的全生命周期管理操作交由其他设备中的密钥管理模块来执行。
示例性地,第一应用在第一次调用安全存储服务的时候,会先进行工作密钥初始化,工作密钥(也即第一密钥)由旁路部署的密钥管理模块生成和下发。
如图4所示,第一应用第一次调用安全存储服务时,数据处理模块可通过向密钥管理模块发送密钥获取请求,将应用标识上送至密钥管理模块,密钥管理模块在其第二TEE中根据该应用标识随机生成与第一应用相对应的工作密钥,也即第一密钥,并将第一密钥与第一应用对应的应用标识关联存储至密钥管理模块的数据库中。然后,密钥管理模块中的第二TEE和数据处理模块中的第一TEE之间通过远程认证方式建立安全通道,由密钥管理模块通过安全通道将第一密钥下发至数据处理模块,以便数据处理模块根据该第一密钥对第一应用的数据进行加解密计算处理。其中,安全通道例如可以是基于公钥加密技术建立的通道,公钥加密技术例如可以是,密钥管理模块使用与数据处理模块约定的公钥,对第一密钥进行加密,并将加密后的第一密钥发送至数据处理模块,再由数据处理模块利用约定的公钥对加密后的第一密钥进行解密,从而安全地得到第一密钥。这里,安全通道采用的加密方式包括但不限于对称加密、非对称加密等。
这样,通过将密钥生成过程放置在其他模块的TEE中执行,可在数据处理模块的第一TEE所在的设备宕机后,及时从其他设备TEE中重新获取与第一应用对应第一密钥,从而提高密钥存储的安全性和稳定性。
基于此,为了进一步提高密钥存储的安全性,在一些实施方式中,在上述接收密钥管理模块基于安全通道发送的第一密钥的步骤之后,本申请实施例提供的数据存储方法还可以包括:
在第一TEE中,根据第一TEE对应的根密钥,对第一密钥进行加密处理,得到第一密钥密文;
将应用标识和第一密钥密文进行对应存储。
这里,根密钥例如可以是机密计算环境提供的物理根密封密钥,该根密封密钥可以由数据处理模块在第一TEE中根据可信基信息调用所在设备系统接口自动派生得到。其中,可信基信息可以包括第一TEE所在设备的CPU安全版本号、CPU内预置的密钥材料、设备出厂标识等能够唯一表示硬件设备的信息。也即,一个硬件设备中的TEE对应一个根密封密钥,该根密封密钥可以是根据CPU安全版本号、CPU内预置的密钥材料等硬件信息按照一定规则自动生成的。
示例性地,如图4所示,数据处理模块接收到第一密钥后,可使用机密计算环境提供的物理根密钥对第一密钥进行加密,并将得到的第一密钥密文关联第一应用对应的应用标识后,存储在数据处理模块中。
这样,通过在数据处理模块中对第一密钥进行加密存储,可以使第一密钥的明文信息不出TEE,从而可以进一步提高密钥存储的安全性。
基于此,在一些可能的实施方式中,上述在第一TEE中,根据应用标识获取与第一应用对应的第一密钥的步骤,具体可以包括:
获取与应用标识对应的第一密钥密文;
在第一TEE中,根据第一TEE对应的根密钥,对第一密钥密文进行解密处理,得到与第一应用对应的第一密钥。
这里,在数据处理模块中存储有与第一应用的应用标识关联的第一密钥密文的情况下,可利用第一TEE的根密钥对第一密钥密文进行解密,进而可得到与第一应用对应的第一密钥,便于对第一应用的数据,例如第一数据,进行加密处理。其中,解密计算过程发生在第一TEE中,即保证密钥明文不出TEE。
这样,通过在第一TEE中对第一密钥密文进行解密处理,可以进一步提高密钥存储和获取的安全性,进而提高数据加密过程的安全性。
为了更好地描述上述数据存储方法,基于上述实施例,举一些具体例子。
例如,如图5所示,数据存储方法的具体过程可包括:应用程序51调用数据处理模块52的存储接口,输入明文数据、应用标识、数据存储目录等参数;数据处理模块52中的加密代理521将明文数据和应用标识传递给自身模块中的TEE 522进行加密;TEE 522根据应用标识选择密钥,并执行加密计算,返回密文数据给加密代理521;加密代理521得到密文数据后,按照存储目录调用数据存储系统53底层存储接口,将密文数据存储在数据存储系统53中。
另外,与上述数据存储方法对应地,本申请实施例还提供了数据读取方法,该数据读取方法可以应用于对应用存储的数据进行安全读取的场景,下面对本申请实施例所提供的数据读取方法进行介绍。
图6是本申请一个实施例提供的数据读取方法的流程示意图。该数据读取方法可应用于数据处理模块中。
如图6所示,该数据读取方法具体可以包括如下步骤:
S610、响应于第一应用读取第一数据的操作,从数据存储系统中获取第二数据,其中,第二数据为第一数据对应的加密数据;
S620、在第一TEE中对第二数据进行解密处理,得到第一数据;
S630、向第一应用返回第一数据。
由此,通过在第一应用和数据存储系统之间设置数据处理模块,在第一应用读取所需的第一数据时,从数据存储系统中获取相应的加密数据,也即第二数据,并以密文形式读取至数据处理模块中,由数据处理模块借助机密计算基于硬件的安全能力,在TEE中对第一应用待读取的第一数据对应的第二数据进行解密处理,并将解密后得到的明文数据,也即第一数据,返回至第一应用,完成数据读取过程。这样,由于解密计算是在基于硬件的可信执行环境中进行的,因此,可以提高数据读取时解密计算过程的安全性。另外,由于从数据存储系统中读取到的是密文数据,即使是数据存储系统的运维人员或者超级管理权限人员也无法从中获取到明文数据,因此,可以提高数据读取的安全性。
下面介绍上述各个步骤的具体实现方式。
在一些实施方式中,在S610中,第二数据可以是第一应用在存储第一数据时,在数据处理模块中进行加密处理后得到的数据。
示例性地,第一应用可通过调用数据处理模块提供的读取接口,输入与第一数据对应的数据读取指令,进而将该数据读取指令发送至数据处理模块,由数据处理模块从对应的数据存储系统中获取相应的第二数据。
另外,由于数据存储系统中可能存在不同的应用程序存储的数据,或者存储有同一应用程序中不同类型的数据,因此,不同的数据可能需要存储在数据存储系统中的不同目录下。基于此,在上述S610之前,本申请实施例提供的数据读取方法还可以包括:
获取与第一数据对应的数据存储目录;
从数据存储系统中获取第二数据,包括:
按照数据存储目录调用数据存储系统对应的读取接口,通过读取接口从数据存储系统中获取第二数据。
示例性地,第一应用在调用数据处理模块提供的读取接口,以读取第一数据的过程中,还可将第一数据对应的第二数据的数据存储目录一并发送至数据处理模块,如此,数据处理模块可按照该数据存储目录调用数据存储系统底层读取接口,从数据存储系统中相应的目录下读取第一数据对应的密文数据,也即第二数据。
这样,通过获取数据存储目录,并按照该数据存储目录进行数据读取,可以提高不同应用或业务数据之间的隔离性,进一步提高数据存储的安全性。
在一些实施方式中,在S620和S630中,数据处理模块可将获取到的第二数据传递至第一TEE中,以在第一TEE中执行解密计算。其中,解密计算时所使用的密钥可以是在第一TEE中预先存储的密钥,也可以是根据第一应用的应用标识生成的,在此不作限定。
示例性地,第一TEE在对第二数据进行解密之后,可将解密得到的明文数据,也即第一数据,返回至数据处理模块中的加密代理,加密代理在得到第一数据后,通过第一应用调用的数据处理模块的读取接口,将第一数据返回至第一应用,以便第一应用进行业务处理等操作。
另外,为了进一步提高不同应用之间数据存储的安全性,在一些可能的实施方式中,在S620之前,本申请实施例提供的数据读取方法还可以包括:
获取与第一应用对应的应用标识;
在第一TEE中,根据应用标识获取与第一应用对应的第一密钥;
基于此,上述S620具体可以包括:
在第一TEE中,根据第一密钥对第二数据进行解密处理,得到第一数据。
示例性地,第一应用在调用数据处理模块提供的读取接口,以读取第一数据时,还可将第一应用的应用标识一并发送至数据处理模块,以便数据处理模块根据该应用标识获取与第一应用对应的第一密钥。
在一些示例中,第一密钥可以是第一TEE中根据应用标识查询到的,之前数据存储时生成过的并存储的,与第一应用相对应的工作密钥。其中,第一密钥在存储时可以采用密文方式进行存储,以保证密钥的明文信息不出TEE,提高密钥存储的安全性。
基于此,在一些实施方式中,上述在第一TEE中,根据应用标识获取与第一应用对应的第一密钥的步骤具体可以包括:
获取与应用标识对应的第一密钥密文;
在第一TEE中,根据第一TEE对应的根密钥,对第一密钥密文进行解密处理,得到与第一应用对应的第一密钥。
这里,在数据处理模块中存储有与第一应用的应用标识关联的第一密钥密文,且该第一密钥密文是根据第一TEE的根密钥对第一密钥进行加密处理得到的情况下,可利用第一TEE的根密钥对第一密钥密文进行解密,进而可得到与第一应用对应的第一密钥,便于对第一应用的密文数据,例如第二数据,进行解密处理。其中,解密计算过程发生在第一TEE中,即保证密钥明文不出TEE。
这样,通过在第一TEE中对第一密钥密文进行解密处理,可以进一步提高密钥存储和获取的安全性,进而提高数据加解密过程的安全性。
为了更好地描述上述数据读取方法,基于上述实施例,举一些具体例子。
例如,如图7所示,数据读取方法的具体过程可包括:应用程序71调用数据处理模块72的读取接口,输入应用标识、数据存储目录;数据处理模块72中的加密代理721调用数据存储系统73底层读取接口,从数据存储系统73中读取到密文数据;数据处理模块72将密文数据和应用标识传递给自身模块中的TEE 722进行解密;TEE 722根据应用标识选择密钥,并执行解密,返回明文数据给加密代理721;加密代理721得到明文数据后返回给应用程序71。
另外,本申请实施例还提供了密钥管理方法,该密钥管理方法可以应用于对密钥进行安全管理的场景,下面对本申请实施例所提供的密钥管理方法进行介绍。
图8是本申请一个实施例提供的密钥管理方法的流程示意图。该密钥管理方法可应用于密钥管理模块中。
如图8所示,该密钥管理方法具体可以包括如下步骤:
S810、接收数据处理模块发送的密钥获取请求,密钥获取请求中包括与第一应用对应的应用标识;
S820、响应于密钥获取请求,在第二TEE中根据应用标识生成与第一应用对应的第一密钥;
S830、基于安全通道向数据处理模块发送第一密钥,以使数据处理模块在第一TEE中,根据第一密钥对第一数据进行加密处理,得到第二数据。
由此,通过单独设置密钥管理模块,将密钥生成过程放置在密钥管理模块的第二TEE中执行,可在数据处理模块的第一TEE所在的设备宕机后,及时从密钥管理模块的TEE中重新获取与第一应用对应第一密钥,从而提高密钥存储的安全性和稳定性。另外,由密钥管理模块执行对密钥的生成、分发等管理操作,可以将多个应用对应的密钥进行统一管理,节约数据处理模块的管理开销,提高密钥管理效率。
下面介绍上述各个步骤的具体实现方式。
在一些实施方式中,在S810中,第一应用在第一次调用安全存储服务的时候,会先进行工作密钥初始化,工作密钥(也即第一密钥)由旁路部署的密钥管理模块生成和下发。
示例性地,第一应用第一次调用安全存储服务时,数据处理模块可通过向密钥管理模块发送密钥获取请求,将应用标识上送至密钥管理模块,密钥管理模块可接收到数据处理模块发送的密钥获取请求后,可从密钥获取请求中获取与第一应用对应的应用标识,以便进行密钥生成。
在一些实施方式中,在S820中,第二TEE可以是密钥管理模块中设置的可信执行环境。为了确保密钥安全,使得密钥明文不出TEE,密钥生成过程可在第二TEE中执行。
示例性地,密钥管理模块在其第二TEE中可根据该应用标识随机生成与第一应用相对应的工作密钥,也即第一密钥。
另外,为了对密钥进行备份保存,以便在数据处理模块所在的设备宕机后,仍然能够从密钥管理模块中调取到之前获取过的密钥。在一些可能的实施方式中,上述密钥管理方法还可以包括:
在第二TEE中,根据第二TEE对应的根密钥,对第一密钥进行加密处理,得到第二密钥密文;
对应用标识和第二密钥密文进行对应存储。
这里,与第一TEE对应的根密钥类似地,第二TEE也有对应的根密钥。
示例性地,数据管理模块在第二TEE中生成第一密钥之后,可使用机密计算环境提供的物理根密钥对第一密钥进行加密,并将得到的第二密钥密文关联第一应用对应的应用标识后,一同存储至密钥管理模块的数据库中。
这样,通过在数据管理模块中对第一密钥进行加密存储,可以使第一密钥的明文信息不出TEE,从而可以进一步提高密钥存储的安全性。
在一些实施方式中,在S830中,安全通道例如可以是基于公钥加密技术建立的通道,其中,公钥加密技术例如可以是,密钥管理模块使用与数据处理模块约定的公钥,对第一密钥进行加密,并将加密后的第一密钥发送至数据处理模块,再由数据处理模块利用约定的公钥对加密后的第一密钥进行解密,从而安全地得到第一密钥。这里,安全通道采用的加密方式包括但不限于对称加密、非对称加密等。
示例性地,密钥管理模块在生成第一密钥之后,密钥管理模块中的第二TEE和数据处理模块中的第一TEE之间可通过远程认证方式建立安全通道,由密钥管理模块通过该安全通道将第一密钥下发至数据处理模块,以便数据处理模块根据该第一密钥对第一应用的数据进行加解密处理。
上述过程具体可参见图4及其相关描述部分,在此不再赘述。
基于相同的发明构思,本申请提供了一种数据处理系统,该系统可包括数据处理模块和密钥管理模块。其中,数据处理模块可用于执行如第一方面对应的实施例所述的数据存储方法,以及如第二方面对应的实施例所述的数据读取方法的步骤;密钥管理模块可用于执行如第三方面对应的实施例所述的密钥管理方法的步骤。
在一些实施方式中,数据处理模块可设置于第一应用对应的应用服务器中。
示例性地,数据处理模块的部署方式可以为应用集成方式。如图9所示,此方式为应用独享模式,也即,将数据处理模块直接部署在第一应用对应的应用服务器端,进而可实现该应用的非结构化数据的安全存取。
另外,本申请还提供了一种数据处理系统,该系统可包括数据处理网关集群和密钥管理模块。其中,数据处理网关集群中包括代理模块和多个数据处理模块。
具体地,代理模块可用于为多个应用分别分配对应的数据处理模块;与第一应用对应的第一数据处理模块可用于执行如第一方面对应的实施例所述的数据存储方法,以及如第二方面对应的实施例所述的数据读取方法的步骤,其中,第一应用为多个应用中的任一应用;密钥管理模块可用于执行如第三方面对应的实施例所述的密钥管理方法的步骤。
这里,为了解决应用服务器中可能不具备机密计算功能的问题,本申请实施例还可将数据处理模块部署在数据处理网关集群中,该数据处理网关集群可设置于与应用服务器同一内网中。
示例性地,如图10所示,此方式为多应用共享模式,也即,将数据处理模块直接部署在与第一应用的应用服务器同一内网的数据处理网关集群中,进而使包括第一应用在内的多个应用,可以共享一套安全存储服务基础设施,即使应用服务器中不具备TEE,也能实现数据的安全存取。其中,应用在有数据存储或读取需要时,可调用数据处理网关集群统一提供的存储/读取接口,代理模块会为该应用临时分配一个数据处理模块,以在存储或读取数据的过程中,提供数据的加解密服务。
基于相同的发明构思,本申请还提供了一种数据存储装置,具体结合图11进行详细说明。
图11是本申请一个实施例提供的数据存储装置的结构示意图。该装置可应用于数据处理模块。
如图11所示,该数据存储装置1100可以包括:
第一获取单元1101,用于获取与第一应用对应的待存储的第一数据;
加密处理单元1102,用于在第一可信执行环境TEE中对所述第一数据进行加密处理,得到第二数据;
数据发送单元1103,用于向所述数据存储系统发送所述第二数据,以将所述第二数据存储至所述数据存储系统。
下面对上述数据存储装置1100进行详细说明,具体如下所示:
在其中一些实施例中,上述数据存储装置1100还包括:
第三获取单元,用于在第一可信执行环境TEE中对所述第一数据进行加密处理,得到第二数据之前,获取与所述第一应用对应的应用标识;
第四获取单元,用于在所述第一TEE中,根据所述应用标识获取与所述第一应用对应的第一密钥;
所述加密处理单元1102包括:
第一加密子单元,用于在所述第一TEE中,根据所述第一密钥对所述第一数据进行加密处理,得到第二数据。
在其中一些实施例中,上述数据存储装置1100还包括:
第一发送单元,用于在所述第一TEE中,根据所述应用标识获取与所述第一应用对应的第一密钥之前,向密钥管理模块发送密钥获取请求,所述密钥获取请求中包括所述应用标识,其中,所述密钥获取请求用于指示所述密钥管理模块在第二TEE中根据所述应用标识生成与所述第一应用对应的第一密钥;
第一接收单元,用于接收所述密钥管理模块基于安全通道发送的所述第一密钥。
在其中一些实施例中,上述数据存储装置1100还包括:
第一加密单元,用于在接收所述密钥管理模块基于安全通道发送的所述第一密钥之后,在所述第一TEE中,根据所述第一TEE对应的根密钥,对所述第一密钥进行加密处理,得到第一密钥密文;
第一存储单元,用于将所述应用标识和所述第一密钥密文进行对应存储。
在其中一些实施例中,所述第四获取单元包括:
第一获取子单元,用于获取与所述应用标识对应的第一密钥密文;
第一解密子单元,用于在所述第一TEE中,根据所述第一TEE对应的根密钥,对所述第一密钥密文进行解密处理,得到与所述第一应用对应的所述第一密钥。
在其中一些实施例中,上述数据存储装置1100还包括:
第五获取单元,用于在向所述数据存储系统发送所述第二数据之前,获取与所述第一应用对应的数据存储目录;
所述数据发送单元1103包括:
发送子单元,用于按照所述数据存储目录调用所述数据存储系统对应的存储接口,通过所述存储接口向所述数据存储系统发送所述第二数据。
由此,通过在第一应用和数据存储系统之间设置数据处理模块,由数据处理模块借助机密计算基于硬件的安全能力,在TEE中对第一应用待存储的第一数据进行加密处理,并将加密后得到的密文数据,也即第二数据,发送至数据存储系统进行处理和落盘存储。这样,由于加密计算是在基于硬件的可信执行环境中进行的,因此,可以提高数据存储时加密计算过程的安全性。另外,由于数据存储系统接收到的是密文数据,即使是数据存储系统的运维人员或者超级管理权限人员也无法从数据存储系统中获取到明文数据,因此,可以提高数据存储的安全性。
基于相同的发明构思,本申请还提供了一种数据读取装置,具体结合图12进行详细说明。
图12是本申请一个实施例提供的数据读取装置的结构示意图。该装置可应用于数据处理模块。
如图12所示,该数据读取装置1200可以包括:
第二获取单元1201,用于响应于第一应用读取第一数据的操作,从数据存储系统中获取第二数据,其中,所述第二数据为所述第一数据对应的加密数据;
解密处理单元1202,用于在第一TEE中对所述第二数据进行解密处理,得到所述第一数据;
数据返回单元1203,用于向所述第一应用返回所述第一数据。
下面对上述数据读取装置1200进行详细说明,具体如下所示:
在其中一些实施例中,上述数据读取装置1200还包括:
第六获取单元,用于在第一TEE中对所述第二数据进行解密处理,得到所述第一数据之前,获取与所述第一应用对应的应用标识;
第七获取单元,用于在所述第一TEE中,根据所述应用标识获取与所述第一应用对应的第一密钥;
所述解密处理单元1202包括:
第二解密子单元,用于在所述第一TEE中,根据所述第一密钥对所述第二数据进行解密处理,得到所述第一数据。
在其中一些实施例中,所述第七获取单元包括:
第二获取子单元,用于获取与所述应用标识对应的第一密钥密文;
第三解密子单元,用于在所述第一TEE中,根据所述第一TEE对应的根密钥,对所述第一密钥密文进行解密处理,得到与所述第一应用对应的所述第一密钥。
在其中一些实施例中,上述数据读取装置1200还包括:
第八获取单元,用于在从数据存储系统中获取第二数据之前,获取与所述第一数据对应的数据存储目录;
所述第二获取单元1201包括:
第三获取子单元,用于按照所述数据存储目录调用所述数据存储系统对应的读取接口,通过所述读取接口从所述数据存储系统中获取所述第二数据。
由此,通过在第一应用和数据存储系统之间设置数据处理模块,在第一应用读取所需的第一数据时,从数据存储系统中获取相应的加密数据,也即第二数据,并以密文形式读取至数据处理模块中,由数据处理模块借助机密计算基于硬件的安全能力,在TEE中对第一应用待读取的第一数据对应的第二数据进行解密处理,并将解密后得到的明文数据,也即第一数据,返回至第一应用,完成数据读取过程。这样,由于解密计算是在基于硬件的可信执行环境中进行的,因此,可以提高数据读取时解密计算过程的安全性。另外,由于从数据存储系统中读取到的是密文数据,即使是数据存储系统的运维人员或者超级管理权限人员也无法从中获取到明文数据,因此,可以提高数据读取的安全性。
基于相同的发明构思,本申请还提供了一种数据读取装置,具体结合图13进行详细说明。
图13是本申请一个实施例提供的密钥管理装置的结构示意图。该装置可应用于密钥管理模块。
如图13所示,该密钥管理装置1300可以包括:
请求接收单元1301,用于接收数据处理模块发送的密钥获取请求,所述密钥获取请求中包括与第一应用对应的应用标识;
密钥生成单元1302,用于响应于所述密钥获取请求,在第二TEE中根据所述应用标识生成与所述第一应用对应的第一密钥;
密钥发送单元1303,用于基于安全通道向所述数据处理模块发送所述第一密钥,以使所述数据处理模块在第一TEE中,根据所述第一密钥对第一数据进行加密处理,得到第二数据。
下面对上述密钥管理装置1300进行详细说明,具体如下所示:
在其中一些实施例中,上述密钥管理装置1300还包括:
第二加密单元,用于在所述第二TEE中,根据所述第二TEE对应的根密钥,对所述第一密钥进行加密处理,得到第二密钥密文;
第二存储单元,用于对所述应用标识和所述第二密钥密文进行对应存储。
由此,通过单独设置密钥管理模块,将密钥生成过程放置在密钥管理模块的第二TEE中执行,可在数据处理模块的第一TEE所在的设备宕机后,及时从密钥管理模块的TEE中重新获取与第一应用对应第一密钥,从而提高密钥存储的安全性和稳定性。另外,由密钥管理模块执行对密钥的生成、分发等管理操作,可以将多个应用对应的密钥进行统一管理,节约数据处理模块的管理开销,提高密钥管理效率。
图14是本申请一个实施例提供的电子设备的结构示意图。
在电子设备1400可以包括处理器1401以及存储有计算机程序指令的存储器1402。
具体地,上述处理器1401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器1402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器1402是非易失性固态存储器。
在特定实施例中,存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的一方面的方法所描述的操作。
处理器1401通过读取并执行存储器1402中存储的计算机程序指令,以实现上述实施例中的任意一种方法。
在一些示例中,电子设备1400还可包括通信接口1403和总线1410。其中,如图14所示,处理器1401、存储器1402、通信接口1403通过总线410连接并完成相互间的通信。
通信接口1403主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线1410包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线1410可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1410可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
示例性的,电子设备1400可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等。
该电子设备1400可以执行本申请实施例中的任意一种方法,从而实现结合图1至图13描述的任意一种方法和装置。
另外,结合上述实施例中的任意一种方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种方法。计算机可读存储介质的示例包括非暂态计算机可读存储介质,如便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件等。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (21)
1.一种数据存储方法,应用于数据处理模块,其特征在于,所述方法包括:
获取与第一应用对应的待存储的第一数据;
在第一可信执行环境TEE中对所述第一数据进行加密处理,得到第二数据;
向所述数据存储系统发送所述第二数据,以将所述第二数据存储至所述数据存储系统。
2.根据权利要求1所述的方法,其特征在于,在第一可信执行环境TEE中对所述第一数据进行加密处理,得到第二数据之前,所述方法还包括:
获取与所述第一应用对应的应用标识;
在所述第一TEE中,根据所述应用标识获取与所述第一应用对应的第一密钥;
所述在第一可信执行环境TEE中对所述第一数据进行加密处理,得到第二数据,包括:
在所述第一TEE中,根据所述第一密钥对所述第一数据进行加密处理,得到第二数据。
3.根据权利要求2所述的方法,其特征在于,在所述第一TEE中,根据所述应用标识获取与所述第一应用对应的第一密钥之前,所述方法还包括:
向密钥管理模块发送密钥获取请求,所述密钥获取请求中包括所述应用标识,其中,所述密钥获取请求用于指示所述密钥管理模块在第二TEE中根据所述应用标识生成与所述第一应用对应的第一密钥;
接收所述密钥管理模块基于安全通道发送的所述第一密钥。
4.根据权利要求3所述的方法,其特征在于,在接收所述密钥管理模块基于安全通道发送的所述第一密钥之后,所述方法还包括:
在所述第一TEE中,根据所述第一TEE对应的根密钥,对所述第一密钥进行加密处理,得到第一密钥密文;
将所述应用标识和所述第一密钥密文进行对应存储。
5.根据权利要求2所述的方法,其特征在于,所述在所述第一TEE中,根据所述应用标识获取与所述第一应用对应的第一密钥,包括:
获取与所述应用标识对应的第一密钥密文;
在所述第一TEE中,根据所述第一TEE对应的根密钥,对所述第一密钥密文进行解密处理,得到与所述第一应用对应的所述第一密钥。
6.根据权利要求1所述的方法,其特征在于,在向所述数据存储系统发送所述第二数据之前,所述方法还包括:
获取与所述第一应用对应的数据存储目录;
所述向所述数据存储系统发送所述第二数据,包括:
按照所述数据存储目录调用所述数据存储系统对应的存储接口,通过所述存储接口向所述数据存储系统发送所述第二数据。
7.一种数据读取方法,应用于数据处理模块,其特征在于,所述方法包括:
响应于第一应用读取第一数据的操作,从数据存储系统中获取第二数据,其中,所述第二数据为所述第一数据对应的加密数据;
在第一TEE中对所述第二数据进行解密处理,得到所述第一数据;
向所述第一应用返回所述第一数据。
8.根据权利要求7所述的方法,其特征在于,在第一TEE中对所述第二数据进行解密处理,得到所述第一数据之前,所述方法还包括:
获取与所述第一应用对应的应用标识;
在所述第一TEE中,根据所述应用标识获取与所述第一应用对应的第一密钥;
所述在第一TEE中对所述第二数据进行解密处理,得到所述第一数据,包括:
在所述第一TEE中,根据所述第一密钥对所述第二数据进行解密处理,得到所述第一数据。
9.根据权利要求8所述的方法,其特征在于,所述在所述第一TEE中,根据所述应用标识获取与所述第一应用对应的第一密钥,包括:
获取与所述应用标识对应的第一密钥密文;
在所述第一TEE中,根据所述第一TEE对应的根密钥,对所述第一密钥密文进行解密处理,得到与所述第一应用对应的所述第一密钥。
10.根据权利要求7所述的方法,其特征在于,在从数据存储系统中获取第二数据之前,所述方法还包括:
获取与所述第一数据对应的数据存储目录;
所述从数据存储系统中获取第二数据,包括:
按照所述数据存储目录调用所述数据存储系统对应的读取接口,通过所述读取接口从所述数据存储系统中获取所述第二数据。
11.一种密钥管理方法,应用于密钥管理模块,其特征在于,所述方法包括:
接收数据处理模块发送的密钥获取请求,所述密钥获取请求中包括与第一应用对应的应用标识;
响应于所述密钥获取请求,在第二TEE中根据所述应用标识生成与所述第一应用对应的第一密钥;
基于安全通道向所述数据处理模块发送所述第一密钥,以使所述数据处理模块在第一TEE中,根据所述第一密钥对第一数据进行加密处理,得到第二数据。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
在所述第二TEE中,根据所述第二TEE对应的根密钥,对所述第一密钥进行加密处理,得到第二密钥密文;
对所述应用标识和所述第二密钥密文进行对应存储。
13.一种数据处理系统,其特征在于,包括数据处理模块和密钥管理模块,其中:
所述数据处理模块用于执行如权利要求1至6中任一项所述的数据存储方法,以及如权利要求7至10中任一项所述的数据读取方法的步骤;
所述密钥管理模块用于执行如权利要求11至12中任一项所述的密钥管理方法的步骤。
14.根据权利要求13所述的系统,其特征在于,所述数据处理模块设置于第一应用对应的应用服务器中。
15.一种数据处理系统,其特征在于,包括数据处理网关集群和密钥管理模块,其中,所述数据处理网关集群中包括代理模块和多个数据处理模块;
所述代理模块用于为多个应用分别分配对应的数据处理模块;
与第一应用对应的第一数据处理模块用于执行如权利要求1至6中任一项所述的数据存储方法,以及如权利要求7至10中任一项所述的数据读取方法的步骤,其中,所述第一应用为所述多个应用中的任一应用;
所述密钥管理模块用于执行如权利要求11至12中任一项所述的密钥管理方法的步骤。
16.一种数据存储装置,应用于数据处理模块,其特征在于,所述装置包括:
第一获取单元,用于获取与第一应用对应的待存储的第一数据;
加密处理单元,用于在第一可信执行环境TEE中对所述第一数据进行加密处理,得到第二数据;
数据发送单元,用于向所述数据存储系统发送所述第二数据,以将所述第二数据存储至所述数据存储系统。
17.一种数据读取装置,应用于数据处理模块,其特征在于,所述装置包括:
第二获取单元,用于响应于第一应用读取第一数据的操作,从数据存储系统中获取第二数据,其中,所述第二数据为所述第一数据对应的加密数据;
解密处理单元,用于在第一TEE中对所述第二数据进行解密处理,得到所述第一数据;
数据返回单元,用于向所述第一应用返回所述第一数据。
18.一种密钥管理装置,应用于密钥管理模块,其特征在于,所述装置包括:
请求接收单元,用于接收数据处理模块发送的密钥获取请求,所述密钥获取请求中包括与第一应用对应的应用标识;
密钥生成单元,用于响应于所述密钥获取请求,在第二TEE中根据所述应用标识生成与所述第一应用对应的第一密钥;
密钥发送单元,用于基于安全通道向所述数据处理模块发送所述第一密钥,以使所述数据处理模块在第一TEE中,根据所述第一密钥对第一数据进行加密处理,得到第二数据。
19.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-6任意一项所述的数据存储方法、权利要求7-10任意一项所述的数据读取方法、或权利要求11-12任意一项所述的密钥管理方法的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任意一项所述的数据存储方法、权利要求7-10任意一项所述的数据读取方法、或权利要求11-12任意一项所述的密钥管理方法的步骤。
21.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-6任意一项所述的数据存储方法、权利要求7-10任意一项所述的数据读取方法、或权利要求11-12任意一项所述的密钥管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210517249.4A CN114912105A (zh) | 2022-05-13 | 2022-05-13 | 数据存储方法、装置、系统、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210517249.4A CN114912105A (zh) | 2022-05-13 | 2022-05-13 | 数据存储方法、装置、系统、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114912105A true CN114912105A (zh) | 2022-08-16 |
Family
ID=82766899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210517249.4A Pending CN114912105A (zh) | 2022-05-13 | 2022-05-13 | 数据存储方法、装置、系统、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114912105A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766173A (zh) * | 2022-11-09 | 2023-03-07 | 支付宝(杭州)信息技术有限公司 | 数据的处理方法、系统及装置 |
CN118132490A (zh) * | 2024-05-08 | 2024-06-04 | 北京傲星科技有限公司 | 一种安全实时总线(srb)的加固整机数据存储系统 |
-
2022
- 2022-05-13 CN CN202210517249.4A patent/CN114912105A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766173A (zh) * | 2022-11-09 | 2023-03-07 | 支付宝(杭州)信息技术有限公司 | 数据的处理方法、系统及装置 |
CN118132490A (zh) * | 2024-05-08 | 2024-06-04 | 北京傲星科技有限公司 | 一种安全实时总线(srb)的加固整机数据存储系统 |
CN118132490B (zh) * | 2024-05-08 | 2024-08-02 | 北京傲星科技有限公司 | 一种安全实时总线(srb)的加固整机数据存储系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110278078B (zh) | 一种数据处理方法、装置及系统 | |
US9647984B2 (en) | System and method for securely using multiple subscriber profiles with a security component and a mobile telecommunications device | |
CN114912105A (zh) | 数据存储方法、装置、系统、设备、介质及产品 | |
CN107454590A (zh) | 一种数据加密方法、解密方法及无线路由器 | |
CN105812332A (zh) | 数据保护方法 | |
CN111245597A (zh) | 密钥管理方法、系统及设备 | |
CN108270739B (zh) | 一种管理加密信息的方法及装置 | |
CN112822177B (zh) | 数据传输方法、装置、设备和存储介质 | |
CN107948212A (zh) | 一种日志的处理方法及装置 | |
CN110621016B (zh) | 一种用户身份保护方法、用户终端和基站 | |
CN108667784B (zh) | 互联网身份证核验信息保护的系统和方法 | |
JP2014060614A (ja) | 暗号化データ管理システム | |
CN113392418B (zh) | 数据部署方法及装置、计算机可读存储介质、部署设备、用户端 | |
CN104144174B (zh) | 保护用户隐私数据的方法、用户设备及服务器 | |
CN111246407B (zh) | 用于短信传输的数据加密、解密方法及装置 | |
CN110730447B (zh) | 一种用户身份保护方法、用户终端和核心网 | |
CN113918982B (zh) | 一种基于标识信息的数据处理方法及系统 | |
CN113868713B (zh) | 一种数据验证方法、装置、电子设备及存储介质 | |
CN104936172A (zh) | 北斗定位数据传输加密系统 | |
CN114362951B (zh) | 用于更新证书的方法和装置 | |
CN115348023A (zh) | 一种数据安全处理方法和装置 | |
CN114584287A (zh) | 密钥管理的方法和装置 | |
KR101329789B1 (ko) | 모바일 디바이스의 데이터베이스 암호화 방법 | |
CN109039651B (zh) | 一种位置信息的传输方法、传输装置及卫星定位系统 | |
CN109698815B (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 |