CN111414628B - 一种数据存储方法、装置和计算设备 - Google Patents

一种数据存储方法、装置和计算设备 Download PDF

Info

Publication number
CN111414628B
CN111414628B CN201910017093.1A CN201910017093A CN111414628B CN 111414628 B CN111414628 B CN 111414628B CN 201910017093 A CN201910017093 A CN 201910017093A CN 111414628 B CN111414628 B CN 111414628B
Authority
CN
China
Prior art keywords
data
key
ciphertext
target
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.)
Active
Application number
CN201910017093.1A
Other languages
English (en)
Other versions
CN111414628A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910017093.1A priority Critical patent/CN111414628B/zh
Publication of CN111414628A publication Critical patent/CN111414628A/zh
Application granted granted Critical
Publication of CN111414628B publication Critical patent/CN111414628B/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

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)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种数据存储方法,包括:采用数据密钥对待存储的数据进行加密,生成数据密文;采用第一密钥对数据密钥进行加密,生成数据密钥密文;将第二密钥、数据密文、数据密钥密文关联存储,其中,第二密钥与第一密钥具有对应关系。本发明一并公开了相应的数据存储装置和计算设备。

Description

一种数据存储方法、装置和计算设备
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据存储方法、装置和计算设备。
背景技术
在云存储服务中,用户可以将数据上传至云服务器进行存储。为了保证用户数据的安全,防止因云服务器程序故障或黑客入侵等原因而造成数据泄露,数据需要以加密的方式存储于云服务器中。
一种现有的数据加密方式是,云服务端存储有每个用户所对应的主密钥(CMK)。当用户上传数据时,采用该用户的主密钥对数据进行加密并存储加密后的数据。一方面,该方法仍存在数据泄露的风险,若服务端所存储的主密钥列表泄露,他人即可采用主密钥来解密相应的用户数据,从而造成用户数据泄露。另一方面,在该方法中,只要用户具有服务端的数据访问权限,即可对数据进行解密,无法进行主密钥权限管理,不够灵活,适用场景有限。
发明内容
为此,本发明提供一种数据存储方法、装置和计算设备,以力图解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种数据存储方法,包括:采用数据密钥对待存储的数据进行加密,生成数据密文;采用第一密钥对所述数据密钥进行加密,生成数据密钥密文;将所述数据密文和所述数据密钥密文与第二密钥关联存储,其中,所述第二密钥与所述第一密钥具有对应关系。
根据本发明的另一个方面,提供一种数据存储装置,包括:加密模块,适于采用数据密钥对待存储的数据进行加密,生成数据密文;以及采用第一密钥对所述数据密钥进行加密,生成数据密钥密文;存储模块,适于将所述数据密文和所述数据密钥密文与第二密钥关联存储,其中,所述第二密钥与所述第一密钥具有对应关系。根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的数据存储方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述的数据存储方法。
本发明的技术方案采用了双重加密的机制,在加密时,采用数据密钥对待存储的数据进行加密,生成数据密文;采用第一密钥对数据密钥进行加密,生成数据密钥密文;将数据密文、数据密钥密文与第二密钥关联存储,其中,第二密钥与第一密钥具有对应关系。这样,即使关联存储的第二密钥、数据密文、数据密钥密文一起泄露,他人也无法根据这些信息恢复出第一密钥,进而无法采用第一密钥恢复出数据密钥,无法采用数据密钥对数据密文进行解密,从而保证了用户数据安全。
在解密时,服务端根据第一密钥与第二密钥的对应关系,得出相应的目标第一密钥;进而采用该目标第一密钥对目标数据密钥密文进行解密,得到目标数据密钥;最后采用目标数据密钥对待访问的数据密文进行解密,得到待访问的数据明文。
进一步地,在本发明的技术方案中,一个用户可以具有多个权限标识(即主密钥),每个权限标识对应于不同存储空间的加密数据存储和访问权限,从而实现了权限管理,使得用户可以根据不同的实际应用场景选择合适的权限标识,更加灵活地存储数据。具体地,当用户对数据进行加密存储时,需要指定一个权限标识,将权限标识与数据密文、数据密钥密文、第二密钥关联存储;相应地,当用户对数据进行解密访问时,也需要指定一个权限标识,当用户指定的权限标识与待访问的数据所对应的权限标识一致时,才允许用户对数据进行解密访问。此外,服务端仅存储有用户与权限标识的关联关系,即使该关联关系一并泄露,也无法为获取第一密钥提供任何帮助,从而进一步保证了用户数据的安全。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的数据存储***100的示意图;
图2示出了根据本发明一个实施例的数据存储方法200的流程图;
图3示出了根据本发明一个实施例的数据加密过程的示意图;
图4示出了根据本发明一个实施例的数据存储方法400的流程图;
图5示出了根据本发明一个实施例的数据解密过程的示意图;
图6示出了根据本发明一个实施例的数据存储方法600的流程图;
图7示出了根据本发明一个实施例的数据加密过程的示意图;
图8示出了根据本发明一个实施例的数据存储方法800的流程图;
图9示出了根据本发明一个实施例的数据解密过程的示意图;
图10示出了根据本发明一个实施例的数据存储方法的交互过程示意图;
图11示出了根据本发明一个实施例的计算设备700的示意图;
图12示出了根据本发明一个实施例的数据存储装置1200的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的数据存储***100的示意图。如图1所示,数据存储***100包括客户端110、存储服务器120和数据存储装置130。
客户端110为用户侧的设备,其例如可以是桌面电脑、笔记本电脑等个人配置的计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等移动设备,但不限于此。
存储服务器120为用于向用户提供存储服务的服务器。在一些实施例中,其还可以提供诸如弹性计算、负载均衡调度等服务,而不仅限于提供存储服务。服务器120可以实现为单台服务器,也可以实现为由多台服务器组成的分布式服务集群。
数据存储装置130可以是关系型数据库例如MySQL、ACCESS等,也可以是非关系型数据库例如NoSQL等;可以是驻留于计算设备200中的本地数据库,也可以作为分布式数据库例如HBase等设置于多个地理位置处,总之,数据存储装置130用于存储数据,本发明对数据存储装置130的具体部署、配置情况不做限制。存储服务器120可以与数据存储装置130连接,向数据存储装置130中存入数据或获取数据存储装置130中所存储的数据。存储服务器120可以直接访问数据存储装置130(在数据存储装置130为存储服务器120的本地数据库时),也可以通过有线或无线的方式接入互联网,并通过数据接口来访问数据存储装置130。
用户可以通过客户端110,将数据上传至服务器120,并存储至数据存储装置130。在一个实施例中,存储服务器120为用于提供对象存储服务(Object Storage Service,简称OSS)的服务器,相应地,数据存储装置130为对象存储***(Object Storage System)。对象存储***被划分为多个存储空间(Bucket,容器),同一个存储空间的内部是扁平的,其中的各个对象都直接隶属于该存储空间,而不存在层级目录关系。客户端110上传的数据以对象(Object)的形式存储于一个存储空间中(该存储空间为用户在上传文件之前预先创建)。对象由对象标识(Key)、用户数据(Data)和元信息(Object Meta)组成,其中,对象标识用于唯一标识存储空间中的某个对象;元信息是一组键值对,用于表示对象的一些属性,比如最后修改时间、文件大小等信息,用户也可以在元信息中存储一些自定义的信息。
为了保证用户数据的安全,存储服务器120会将用户数据进行加密,将加密后的数据存储至数据存储装置130中。由于现有的数据加密方式安全性不高、仍存在数据泄露的风险,且无法进行权限管理、灵活性较差,因此,本发明提供一种数据存储方法,使用户数据能够以一种更安全、灵活的加密方式进行存储。以下将对本发明的数据存储方法进行详细说明。图2示出了根据本发明一个实施例的数据存储方法200的流程图。方法200在服务器(例如存储服务器120)上执行,用于对用户上传的数据进行加密存储。如图2所示,方法200始于步骤S210。
在步骤S210中,采用数据密钥对待存储的数据进行加密,生成数据密文。
对待存储的数据进行加密所采用的算法为对称加密算法,即,将待存储的数据加密生成数据密文、将数据密文解密恢复出待存储的数据明文的过程采用相同的密钥,该相同的密钥即为数据密钥。本发明对所选用的具体的对称加密算法不做限制,在一个实施例中,可以将对称加密算法设置为密钥长度为256位的高级加密标准(即AES-256)。
随后,在步骤S220中,采用第一密钥对数据密钥进行加密,生成数据密钥密文。
对数据密钥进行加密所采用的算法亦为对称加密算法,即,对数据密钥进行加密生成数据密钥密文、将数据密钥密文解密恢复出数据密钥的过程采用相同的密钥,该相同的密钥即为第一密钥。本发明对所选用的具体的对称加密算法不做限制,在一个实施例中,可以将对称加密算法设置为密钥长度为256位的高级加密标准(即AES-256)。
随后,在步骤S230中,将数据密文和数据密钥密文与第二密钥关联存储,其中,第二密钥与第一密钥具有对应关系。
在对象存储***中,待存储的数据将以对象(Object)的形式存储于存储空间中,该对象包括对象标识(Key)、用户数据(Data)和元信息(Object Meta)三部分,可以将第二密钥、数据密钥密文写入该对象的元信息(Object Meta)中,数据密文即用户数据(Data)。
在本发明的实施例中,第一密钥与第二密钥具有对应关系。需要说明的是,第一密钥与第二密钥具有对应关系,指的是给定第一密钥,可以确定与之对应的第二密钥;给定第二密钥,可以确定与之对应的第一密钥。但是,本发明对第一密钥与第二密钥具体具有何种对应关系不做限制。
根据一种实施例,第二密钥为采用预设的加密算法对第一密钥进行加密所得的密文。即,在该实施例中,第一密钥、第二密钥具有明文、密文关系,采用预设的加密算法对第一密钥进行加密,即可得到第二密钥;采用该预设的加密算法所对应的解密算法对第二密钥进行解密,即可得到第一密钥。预设的加密算法可以是RSA加密算法、ElGamal加密算法等通用的加密算法,也可以是任何非通用的、能够实现第一密钥与第二密钥相互转换的加密算法(例如一些自定义的字符处理算法等)。预设的加密算法可以是任意加密算法,本发明对加密算法的具体设置不做限制,
根据另一种实施例,服务器将第一密钥、第二密钥关联存储,以使第一密钥与第二密钥具有对应关系。通过查找第一密钥、第二密钥的关联列表,即可确定给定的第一密钥所对应的第二密钥,以及确定给定的第二密钥所对应的第一密钥。
需要说明的是,以上仅给出了第一密钥与第二密钥的对应关系的两个示例,除上述示例之外,本领域技术人员还可以采用其他方法将第一密钥与第二密钥进行对应,本发明对第一密钥与第二密钥的具体对应方式不做限制。
方法200采用了双重加密的机制,在加密时,采用数据密钥对待存储的数据进行加密,生成数据密文;采用第一密钥对数据密钥进行加密,生成数据密钥密文;将数据密文、数据密钥密文与第二密钥关联存储,其中,第二密钥与第一密钥具有对应关系。这样,即使关联存储的第二密钥、数据密文、数据密钥密文一起泄露,他人也无法根据这些信息恢复出第一密钥,进而无法采用第一密钥恢复出数据密钥,无法采用数据密钥对数据密文进行解密,从而保证了用户数据安全。
图3示出了基于方法200的一个的数据加密过程的实施例的示意图。如图3所示,客户端发起的数据存储请求中包括待存储的数据DATA、存储空间的标识,本次数据存储请求所对应的密钥包括:第一密钥KDK、第二密钥KEK以及数据密钥DEK。
在步骤S310中,采用数据密钥DEK对待存储的数据DATA进行加密,生成数据密文DATA’。需要说明的是,为了对明文和密文进行区分,在本发明的实施例中,密文标识的右上角注有单引号(’),明文标识则没有单引号。
随后,在步骤S320中,采用第一密钥KDK对数据密钥DEK进行加密,生成数据密钥密文DEK’。最后,将数据密文DATA’、数据密钥密文DEK’、第二密钥KEK关联存储于指定的存储空间中。当存储空间为对象存储***中的一个Bucket时,数据密文DATA’、数据密钥密文DEK’、第二密钥KEK对应于一个对象Obj,该对象的用户数据为数据密文DATA’,元信息包括数据密钥密文DEK’和第二密钥KEK。
图4示出了根据本发明另一个实施例的数据存储方法400的流程图。方法400在服务器(例如存储服务器120)上执行,用于对用户上传的数据进行加密存储、以及对加密存储的数据进行解密访问。如图4所示,方法400包括加密过程和解密过程两部分。在服务器中,同一时刻往往并发进行着针对多组数据的加密、解密过程。本领域技术人员可以理解,针对不同数据的加密过程与解密过程可以并发进行,例如,存储服务器可以并行地对数据DATA1进行加密,以及对数据密文DATA2’进行解密。当然,本领域技术人员可以理解,针对同一组数据,加密与解密的过程是顺序进行的,只有先加密存储后,才能进行解密访问。
图4中,加密过程中的步骤S410~430分别与前述方法200中的步骤S210~S230一一对应,步骤S410~430的详细实施方法可以参考前述步骤S210~S230的相关描述,此处不再赘述。以下将详细描述本发明的数据解密过程。本领域技术人员可以理解,解密过程实际上即为加密过程的反向过程。
在步骤S440中,接收数据访问请求,数据访问请求包括待访问的数据密文的标识。
例如,若数据以对象(Object)的形式存储于存储空间中,则待访问的数据密文的标识即为该对象的对象标识(Key)。
随后,在步骤S450中,根据已存储的数据密文、数据密钥密文、第二密钥的关联关系,获取待访问的数据密文所对应的目标数据密钥密文和目标第二密钥。
具体地,由于步骤S230中将数据密文、数据密钥密文、第二密钥三者关联存储,相应地,在步骤S450中,根据已存储的数据密文、数据密钥密文、第二密钥的关联关系,即可确定待访问的数据密文所对应的目标数据密钥密文和目标第二密钥。
随后,在步骤S460中,根据第一密钥与第二密钥的对应关系,确定目标第二密钥所对应的目标第一密钥。
具体地,由于步骤S230中的第一密钥与第二密钥具有对应关系,相应地,在步骤S460中,根据第一密钥与第二密钥的对应关系,即可确定目标第二密钥所对应的目标第一密钥。
若在步骤S230中,第二密钥为采用预设的加密算法对第一密钥进行加密所得的密文;则在步骤S460中,采用预设的解密算法对目标第二密钥进行解密,即可得到目标第一密钥。预设的解密算法为步骤S230中预设的加密算法所对应的解密算法,例如RSA加密算法、ElGamal加密算法所对应的解密算法。
若在步骤S230中,第一密钥、第二密钥具有关联存储关系,则在步骤S460中,通过查找该第一密钥、第二密钥的关联关系列表,即可确定目标第二密钥所对应的目标第一密钥。
随后,在步骤S470中,采用目标第一密钥对目标数据密钥密文进行解密,得到目标数据密钥。
随后,在步骤S480中,采用目标数据密钥对待访问的数据密文进行解密,得到待访问的数据。
图5示出了基于方法400的一个的数据解密过程的实施例的示意图。如图5所示,客户端发起的数据访问请求中包括待访问的数据密文的标识基于待访问的数据密文的标识,可以确定待访问的数据密文DATAt’。根据预先存储的第二密钥KEK、数据密文DATA’、数据密钥密文DEK’的关联关系,即可确定待访问的数据密文DATAt’所对应的目标第二密钥KEKt和目标数据密钥密文DEKt’。
在步骤S510中,根据第一密钥与第二密钥的对应关系,确定目标第二密钥所对应的目标第一密钥。例如,对目标第二密钥KEKt进行解密,得到目标第二密钥KEKt所对应的目标第一密钥KDKt。或者,根据预先存储的第一密钥、第二密钥的关联关系,确定目标第二密钥KEKt所对应的目标第一密钥KDKt
随后,在步骤S520中,采用目标第一密钥KDKt对目标数据密钥密文DEKt’进行解密,得到目标数据密钥DEKt。最后,在步骤S530中,采用目标数据密钥DEKt对待访问的数据密文DATAt’进行解密,恢复出数据明文DATAt
在一些实施例中,一个用户可以具有多个权限标识(即主密钥),每个权限标识对应于不同存储空间的加密数据存储和访问权限,从而实现了权限管理,使得用户可以根据不同的实际应用场景选择合适的权限标识,更加灵活地存储数据。图6示出了根据本发明一个实施例的数据存储方法600的流程图,方法600在服务器(例如存储服务器120)上执行,用于根据用户的访问权限对用户上传的数据进行加密存储。如图6所示,方法600始于步骤S610。
在步骤S610中,接收数据存储请求,所述数据存储请求包括待存储的数据、存储空间和权限标识。
存储空间为待存储的数据的目标存储位置。例如,在文件(File)存储***中,存储空间为一个特定的文件夹,待存储的数据将以文件的形式存储于该文件夹中;在对象存储***中,存储空间为一个特定的存储空间容器(Bucket),待存储的数据将以对象(Object)的形式存储于该容器中。
权限标识用于表示用户的加解密权限。服务器(例如存储服务器120)处存储有用户与权限标识的关联关系。一个用户可能具有多个权限标识,每个权限标识具有不同的数据加解密权限,例如,某一用户具有三个权限标识CMK1、CMK2和CMK3,CMK1可用于加解密存储空间1中的数据,CMK2可用于加解密存储空间2和3中的数据,CMK3只能读写明文数据,不可进行加解密。
在本发明的技术方案中,一个用户可以具有多个权限标识,每个权限标识对应于不同存储空间的加密数据存储和访问权限,从而实现了权限管理,使得用户可以根据不同的实际应用场景选择合适的权限标识,更加灵活地存储数据。
数据存储请求由客户端110发送,数据存储请求中包括待存储的数据、用户为待存储的数据指定的存储空间、以及用户指定的权限标识。根据一种实施例,当服务器接收到数据存储请求后,首先根据用户指定的权限标识判断用户是否具有向指定的存储空间存储加密数据的权限,若是,则继续执行步骤S620~S650,将待存储的数据加密存储至用户指定的存储空间;若否,则拒绝该数据存储请求。
随后,在步骤S620中,生成第一密钥、第二密钥和数据密钥,其中,第一密钥与第二密钥具有对应关系。
需要说明的是,第一密钥与第二密钥具有对应关系,指的是给定第一密钥,可以确定与之对应的第二密钥;给定第二密钥,可以确定与之对应的第一密钥。但是,本发明对第一密钥与第二密钥具体具有何种对应关系不做限制。
在一个实施例中,第一密钥为随机生成或采用某种预设的规则生成,第二密钥为采用预设的加密算法对第一密钥进行加密所得的密文。即,在该实施例中,第一密钥、第二密钥具有明文、密文关系,采用预设的加密算法对第一密钥进行加密,即可得到第二密钥;采用该预设的加密算法所对应的解密算法对第二密钥进行解密,即可得到第一密钥。预设的加密算法可以是任意加密算法,本发明对加密算法的具体设置不做限制,在一个实施例中,预设的加密算法可以是RSA加密算法、ElGamal加密算法等。
在另一个实施中,第一密钥、第二密钥均为随机生成或采用某种预设的规则生成,服务器将第一密钥、第二密钥关联存储。通过查找第一密钥、第二密钥的关联列表,即可确定给定的第一密钥所对应的第二密钥,以及确定给定的第二密钥所对应的第一密钥。
另外,需要说明的是,每一个数据存储请求都对应于一组第一密钥、第二密钥和数据密钥。其中,优选地,针对每一个数据存储请求,都随机生成或按照某种预设的规则生成数据密钥,各个数据存储请求所对应的数据密钥通常是不同的(在极个别情况下,两次随机或按预设规则产生的数据密钥可能相同)。第一密钥、第二密钥的生成频率可以低于数据密钥,即,多个数据存储请求可以共用一组第一密钥、第二密钥,而不必针对每一个数据存储请求都重新生成一组第一密钥、第二密钥。例如,可以设置一个存储空间对应于一组第一密钥、第二密钥,当接收到针对该存储空间的第一个数据存储请求时,新生成一组第一密钥、第二密钥,作为该存储空间所所对应的第一密钥、第二密钥,与该存储空间关联存储。当后续再接收到针对该存储空间的数据存储请求时,直接获取对应的第一密钥、第二密钥即可,无需再次生成。在一种极端的情况下,也可以设置所有的存储空间共用一组第一密钥、第二密钥。
随后,在步骤S630中,采用数据密钥对待存储的数据进行加密,生成数据密文。
对待存储的数据进行加密所采用的算法为对称加密算法,即,将待存储的数据加密生成数据密文、将数据密文解密恢复出待存储的数据明文的过程采用相同的密钥,该相同的密钥即为数据密钥。本发明对所选用的具体的对称加密算法不做限制,在一个实施例中,可以将对称加密算法设置为密钥长度为256位的高级加密标准(即AES-256)。
随后,在步骤S640中,采用第一密钥对数据密钥进行加密,生成数据密钥密文。
对数据密钥进行加密所采用的算法亦为对称加密算法,即,对数据密钥进行加密生成数据密钥密文、将数据密钥密文解密恢复出数据密钥的过程采用相同的密钥,该相同的密钥即为第一密钥。本发明对所选用的具体的对称加密算法不做限制,在一个实施例中,可以将对称加密算法设置为密钥长度为256位的高级加密标准(即AES-256)。
随后,在步骤S650中,将权限标识、第二密钥、数据密文、数据密钥密文关联存储至存储空间。
在对象存储***中,待存储的数据将以对象(Object)的形式存储于存储空间中,该对象包括对象标识(Key)、用户数据(Data)和元信息(Object Meta)三部分,可以将权限标识、第二密钥、数据密钥密文写入该对象的元信息(Object Meta)中,数据密文即用户数据(Data)。
方法600中采用了双重加密的机制,在加密时,用户需要指定一个权限标识,然后采用数据密钥对待存储的数据进行加密,生成数据密文;采用第一密钥对数据密钥进行加密,生成数据密钥密文;将权限标识、第二密钥、数据密文、数据密钥密文关联存储。这样,即使关联存储的权限标识、第二密钥、数据密文、数据密钥密文一起泄露,他人也无法根据这些信息恢复出第一密钥,进而无法采用第一密钥恢复出数据密钥,无法采用数据密钥对数据密文进行解密,从而保证了用户数据安全。另外,服务端仅存储有用户与权限标识的关联关系,即使该关联关系一并泄露,也无法为获取第一密钥提供任何帮助,从而进一步保证了用户数据的安全。
图7示出了基于方法600的一个的数据加密过程的实施例的示意图。如图7所示,客户端发起的数据存储请求中包括待存储的数据DATA、权限标识CMK和存储空间的标识,生成针对该数据存储请求的第一密钥KDK、第二密钥KEK以及数据密钥DEK。
在步骤S710中,采用数据密钥DEK对待存储的数据DATA进行加密,生成数据密文DATA’。随后,在步骤S720中,采用第一密钥KDK对数据密钥DEK进行加密,生成数据密钥密文DEK’。最后,将数据密文DATA’、数据密钥密文DEK’、第二密钥KEK和权限标识CMK关联存储于指定的存储空间中。当存储空间为对象存储***中的一个Bucket时,数据密文DATA’、数据密钥密文DEK’、第二密钥KEK和权限标识CMK对应于一个对象Obj,该对象的用户数据为数据密文DATA’,元信息包括数据密钥密文DEK’、第二密钥KEK和权限标识CMK。
图8示出了根据本发明另一个实施例的数据存储方法800的流程图。方法800在服务器(例如存储服务器120)上执行,用于对用户上传的数据进行加密存储、以及对加密存储的数据进行解密访问。如图8所示,方法800包括加密过程和解密过程两部分。在服务器中,同一时刻往往并发进行着针对多组数据的加密、解密过程。本领域技术人员可以理解,针对不同数据的加密过程与解密过程可以并发进行,例如,存储服务器可以并行地对数据DATA1进行加密,以及对数据密文DATA2’进行解密。当然,本领域技术人员可以理解,针对同一组数据,加密与解密的过程是顺序进行的,只有先加密存储后,才能进行解密访问。
图8中,加密过程中的步骤S801~805分别与前述方法200中的步骤S610~S650一一对应,步骤S801~805的详细实施方法可以参考前述步骤S610~S650的相关描述,此处不再赘述。以下将详细描述本发明的数据解密过程。本领域技术人员可以理解,解密过程实际上即为加密过程的反向过程。
在步骤S806中,接收数据访问请求,数据访问请求包括待访问的数据密文的标识和权限标识。基于待访问的数据密文的标识,可以确定待访问的数据密文。
例如,若数据以对象(Object)的形式存储于存储空间中,则待访问的数据密文的标识即为该对象的对象标识(Key)。
随后,在步骤S807中,根据已存储的权限标识、第二密钥、数据密文、数据密钥密文的关联关系,获取待访问的数据密文所对应的目标权限标识、目标第二密钥和目标数据密钥密文。
具体地,由于步骤S650中将权限标识、数据密文、数据密钥密文、第二密钥四者关联存储,相应地,在步骤S807中,根据已存储的权限标识、数据密文、数据密钥密文、第二密钥四者的关联关系,即可确定待访问的数据密文所对应的目标权限标识、目标数据密钥密文和目标第二密钥。
随后,在步骤S808中,当数据访问请求中的权限标识与目标权限标识一致时,确定目标第二密钥所对应的目标第一密钥。
当数据访问请求中的权限标识与目标权限标识不一致时,拒绝数据访问请求。
由于步骤S620中的第一密钥、第二密钥具有对应关系,因此,基于该对应关系,即可确定目标第二密钥所对应的目标第一密钥。
若在步骤S620中,第二密钥为采用预设的加密算法对第一密钥进行加密所得的密文;则在步骤S808中,采用预设的解密算法对目标第二密钥进行解密,即可得到目标第一密钥。预设的解密算法为步骤S620中预设的加密算法所对应的解密算法,例如RSA加密算法、ElGamal加密算法所对应的解密算法。
若在步骤S620中,第一密钥、第二密钥具有关联存储关系,则在步骤S808中,通过查找该第一密钥、第二密钥的关联关系列表,即可确定目标第二密钥所对应的目标第一密钥。
随后,在步骤S809中,采用目标第一密钥对目标数据密钥密文进行解密,得到目标数据密钥。
随后,在步骤S810中,采用目标数据密钥对待访问的数据密文进行解密,得到待访问的数据。
图9示出了基于方法800的一个的数据解密过程的实施例的示意图。如图9所示,客户端发起的数据访问请求中包括待访问的数据密文的标识和权限标识CMK,基于待访问的数据密文的标识,可以确定待访问的数据密文DATAt’。根据预先存储的权限标识CMK、第二密钥KEK、数据密文DATA’、数据密钥密文DEK’的关联关系,即可确定待访问的数据密文DATAt’所对应的目标权限标识CMKt、目标第二密钥KEKt和目标数据密钥密文DEKt’。
在步骤S910中,将数据访问请求中携带的权限标识CMK与目标权限标识CMKt进行比对,判断二者是否一致。若二者一致,则执行步骤S920,若二者不一致,则拒绝客户端的数据访问请求。
在步骤S920中,根据第一密钥与第二密钥的对应关系,确定目标第二密钥所对应的目标第一密钥。例如,对目标第二密钥KEKt进行解密,得到目标第二密钥KEKt所对应的目标第一密钥KDKt。或者,根据预先存储的第一密钥、第二密钥的关联关系,确定目标第二密钥KEKt所对应的目标第一密钥KDKt
随后,在步骤S930中,采用目标第一密钥KDKt对目标数据密钥密文DEKt’进行解密,得到目标数据密钥DEKt
最后,在步骤S940中,采用目标数据密钥DEKt对待访问的数据密文DATAt’进行解密,恢复出数据明文DATAt
需要说明的是,方法200、方法400、方法600及方法800的步骤可以由一个服务器执行,也可以由多个服务器协作执行。例如,可以由存储服务器120负责数据的加解密计算,由密钥管理服务器140来进行密钥管理。图10示出了根据本发明一个实施例的数据存储过程中存储服务器120与密钥管理服务器140的交互示意图。
如图10所示,在步骤S1010中,客户端110向存储服务器120发送数据存储请求,数据存储请求中包括待存储的数据DATA、用户为待存储的数据指定的存储空间、以及用户指定的权限标识CMK。
存储服务器120根据用户指定的权限标识CMK来判断用户是否具有向指定的存储空间存储加密数据的权限,若是,则继续执行步骤S1020;若否,则拒绝该数据存储请求。
在步骤S1020中,存储服务器120将权限标识CMK发送至密钥管理服务器140,以指示密钥管理服务器140为本次数据存储分配第一密钥KDK、第二密钥KEK以及数据密钥DEK。
随后,在步骤S1030中,密钥管理服务器140生成第一密钥KDK、第二密钥KEK以及数据密钥DEK,并将第一密钥KDK、第二密钥KEK以及数据密钥DEK返回给存储服务器120。在一个实施例中,权限标识CMK仅用于触发密钥管理服务器140分配密钥,而不参与具体的密钥分配过程。在另一个实施例中,也可以将权限标识CMK与分配的第一密钥KDK、第二密钥KEK关联存储。
随后,在步骤S1040中,存储服务器120接收到第一密钥KDK、第二密钥KEK以及数据密钥DEK后,采用数据密钥DEK对待存储的数据DATA进行加密,生成数据密文DATA’;再采用第一密钥KDK对数据密钥DEK进行加密,生成数据密钥密文DEK’。
随后,在步骤S1050中,存储服务器120将数据密文DATA’、数据密钥密文DEK’、第二密钥KEK和权限标识CMK关联存储于数据存储装置130的指定存储空间中。当存储空间为对象存储***中的一个Bucket时,数据密文DATA’、数据密钥密文DEK’、第二密钥KEK和权限标识CMK对应于一个对象Obj,该对象由对象标识(Key)、用户数据(Data)和元信息(ObjectMeta)组成,其中,数据密文DATA’即为对象Obj的用户数据(Data),数据密钥密文DEK’、第二密钥KEK和权限标识CMK被写入对象Obj的元信息(Object Meta)中。
步骤S1010~S1050示出了存储服务器120与密钥管理服务器140协作对客户端110上传的数据进行加密存储的过程。除了对数据进行加密存储之外,客户端110还可以对已存储的数据进行访问,相应地,存储服务器120与密钥管理服务器140还可以将已存储的数据进行解密,返回给客户端110。步骤S1060~S1110示出了存储服务器120与密钥管理服务器140协作对数据进行解密并返回给客户端110的过程。
在步骤S1060中,客户端110向存储服务器120发送数据访问请求,数据访问请求中包括待访问的数据密文的标识和权限标识CMK。基于待访问的数据密文的标识,可以确定待访问的数据密文DATAt’。若数据以对象(Object)的形式存储于存储空间中,则待访问的数据密文的标识即为该对象的对象标识(Key)。
随后,在步骤S1070中,存储服务器120根据预先存储的权限标识CMK、第二密钥KEK、数据密文DATA’、数据密钥密文DEK’的关联关系,确定待访问的数据密文DATAt’所对应的目标权限标识CMKt、目标第二密钥KEKt和目标数据密钥密文DEKt’。
将数据访问请求中携带的权限标识CMK与目标权限标识CMKt进行比对,判断二者是否一致。若二者一致,则执行步骤S1080,若二者不一致,则拒绝客户端的数据访问请求。
在步骤S1080中,存储服务器120将目标第二密钥KEKt发送至密钥管理服务器140,以便密钥管理服务器140根据第一密钥与第二密钥的对应关系,确定目标第二密钥KEKt所对应的目标第一密钥KDKt。例如,密钥管理服务器140可以对目标第二密钥KEKt进行解密,得到目标第二密钥KEKt所对应的目标第一密钥KDKt。或者,根据预先存储的第一密钥、第二密钥的关联关系,确定目标第二密钥KEKt所对应的目标第一密钥KDKt
随后,在步骤S1090中,密钥管理服务器140将目标第一密钥KDKt返回给存储服务器120。
随后,在步骤S1100中,存储服务器120采用目标第一密钥KDKt对目标数据密钥密文DEKt’进行解密,得到目标数据密钥DEKt。然后,采用目标数据密钥DEKt对待访问的数据密文DATAt’进行解密,恢复出数据明文DATAt
最后,在步骤S1110中,存储服务器120将数据明文DATAt返回给客户端110。
图11示出了根据本发明一个实施例的计算设备700的示意图。如图7所示,在基本的配置702中,计算设备700典型地包括***存储器706和一个或者多个处理器704。存储器总线708可以用于在处理器704和***存储器706之间的通信。
取决于期望的配置,处理器704可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器604可以包括诸如一级高速缓存710和二级高速缓存712之类的一个或者多个级别的高速缓存、处理器核心714和寄存器716。示例的处理器核心714可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器718可以与处理器704一起使用,或者在一些实现中,存储器控制器718可以是处理器704的一个内部部分。
取决于期望的配置,***存储器706可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。***存储器706可以包括操作***720、一个或者多个应用722以及程序数据724。应用722实际上是多条程序指令,其用于指示处理器704执行相应的操作。在一些实施方式中,应用722可以布置为在操作***上使得处理器704利用程序数据724进行操作。
计算设备700还可以包括有助于从各种接口设备(例如,输出设备742、外设接口744和通信设备746)到基本配置702经由总线/接口控制器730的通信的接口总线740。示例的输出设备742包括图形处理单元748和音频处理单元750。它们可以被配置为有助于经由一个或者多个A/V端口752与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口744可以包括串行接口控制器754和并行接口控制器756,它们可以被配置为有助于经由一个或者多个I/O端口758和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备746可以包括网络控制器760,其可以被布置为便于经由一个或者多个通信端口764与一个或者多个其他计算设备762通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备700中,应用722例如可以包括数据存储装置1200,装置1200包括多条程序指令。数据存储装置1200可以指示处理器704执行本发明的数据存储方法200、400、600或800,从而实现对用户上传的数据进行加密存储、以及对加密存储的数据进行解密访问。
图12示出了根据本发明一个实施例的数据存储装置1200的示意图。数据存储装置1200驻留于服务器(例如存储服务器120)中,用于执行本发明的数据存储方法200、400、600、800中的任意一种。如图8所示,数据存储装置1200包括加密模块1210和存储模块1220。
加密模块1210,适于采用数据密钥对待存储的数据进行加密,生成数据密文;以及采用第一密钥对数据密钥进行加密,生成数据密钥密文。加密模块1210具体用于执行如前述步骤S210、S220的方法,关于加密模块1210的处理逻辑和功能可以参见前述步骤S210、S220的相关描述,此处不再赘述。
存储模块1220,适于将数据密文和数据密钥密文与第二密钥关联存储,其中,第二密钥与第一密钥具有对应关系。存储模块1220具体用于执行如前述步骤S230的方法,关于存储模块1220的处理逻辑和功能可以参见前述步骤S230的相关描述,此处不再赘述。
根据一种实施例,数据存储装置1200还包括请求接收模块1230和鉴权模块1240。
请求接收模块1230,适于接收数据存储请求,所述数据存储请求包括待存储的数据、存储空间标识和权限标识。鉴权模块1240,适于根据权限标识判断是否具有向存储空间存储加密数据的权限,若否,则拒绝数据存储请求。请求接收模块1230和鉴权模块1240具体用于执行如前述步骤S610的方法,关于请求接收模块1230和鉴权模块1240的处理逻辑和功能可以参见前述步骤S610的相关描述,此处不再赘述。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的数据存储方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与本发明的示例一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种数据存储方法,包括:
采用数据密钥对待存储的数据进行加密,生成数据密文;
采用第一密钥对所述数据密钥进行加密,生成数据密钥密文;
将所述数据密文和所述数据密钥密文与第二密钥关联存储,其中,将所述第一密钥与所述第二密钥关联存储以使所述第一密钥与所述第二密钥具有对应关系。
2.如权利要求1所述的方法,其中,在所述采用数据密钥对待存储的数据进行加密的步骤之前,还包括步骤:
接收数据存储请求,所述数据存储请求包括待存储的数据、存储空间标识和权限标识;
根据所述权限标识判断是否具有向所述存储空间存储加密数据的权限,若否,则拒绝所述数据存储请求。
3.如权利要求2所述的方法,其中,
将所述数据密文、数据密钥密文、第二密钥、权限标识关联存储。
4.如权利要求1所述的方法,还包括:
接收数据访问请求,所述数据访问请求包括待访问的数据密文的标识;
根据已存储的数据密文、数据密钥密文、第二密钥的关联关系,获取所述待访问的数据密文所对应的目标数据密钥密文和目标第二密钥;
根据第一密钥与第二密钥的对应关系,确定目标第二密钥所对应的目标第一密钥;
采用目标第一密钥对所述目标数据密钥密文进行解密,得到目标数据密钥;以及
采用所述目标数据密钥对所述待访问的数据密文进行解密,得到待访问的数据。
5.如权利要求4所述的方法,其中,所述根据第一密钥与第二密钥的对应关系,确定目标第二密钥所对应的目标第一密钥的步骤包括:
根据已存储的第一密钥与第二密钥的关联关系,确定目标第二密钥所对应的目标第一密钥。
6.如权利要求4所述的方法,其中,所述数据访问请求还包括权限标识;在所述确定目标第二密钥所对应的目标第一密钥的步骤之前,还包括:
根据已存储的数据密文、数据密钥密文、第二密钥、权限标识的关联关系,获取所述待访问的数据密文所对应的目标数据密钥密文、目标第二密钥和目标权限标识;
判断所述数据访问请求中的权限标识是否与所述目标权限标识一致,若否,则拒绝所述数据访问请求。
7.一种数据存储装置,包括:
加密模块,适于采用数据密钥对待存储的数据进行加密,生成数据密文;以及采用第一密钥对所述数据密钥进行加密,生成数据密钥密文;
存储模块,适于将所述数据密文和所述数据密钥密文与第二密钥关联存储,其中,将所述第一密钥与所述第二密钥关联存储以使所述第一密钥与所述第二密钥具有对应关系。
8.如权利要求7所述的装置,还包括:
请求接收模块,适于接收数据存储请求,所述数据存储请求包括待存储的数据、存储空间标识和权限标识;
鉴权模块,适于根据所述权限标识判断是否具有向所述存储空间存储加密数据的权限,若否,则拒绝所述数据存储请求。
9.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-6中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-6中任一项所述的方法。
CN201910017093.1A 2019-01-08 2019-01-08 一种数据存储方法、装置和计算设备 Active CN111414628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910017093.1A CN111414628B (zh) 2019-01-08 2019-01-08 一种数据存储方法、装置和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910017093.1A CN111414628B (zh) 2019-01-08 2019-01-08 一种数据存储方法、装置和计算设备

Publications (2)

Publication Number Publication Date
CN111414628A CN111414628A (zh) 2020-07-14
CN111414628B true CN111414628B (zh) 2024-01-02

Family

ID=71492687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910017093.1A Active CN111414628B (zh) 2019-01-08 2019-01-08 一种数据存储方法、装置和计算设备

Country Status (1)

Country Link
CN (1) CN111414628B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613058A (zh) * 2020-12-30 2021-04-06 绿盟科技集团股份有限公司 一种加密密钥的找回方法、装置、电子设备及存储介质
CN112887087B (zh) * 2021-01-20 2023-04-18 成都质数斯达克科技有限公司 数据管理方法、装置、电子设备及可读存储介质
CN113194123A (zh) * 2021-04-19 2021-07-30 秦皇岛市德润教育科技集团有限公司 一种基于云平台的在线职业教育产教融合管理***
CN118153068A (zh) * 2022-12-06 2024-06-07 蔚来移动科技有限公司 数据的处理方法、装置、车辆和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624522A (zh) * 2012-03-30 2012-08-01 华中科技大学 一种基于文件属性的密钥加密方法
CN102915263A (zh) * 2012-10-19 2013-02-06 北京小米科技有限责任公司 一种数据备份方法、***和设备
US9735962B1 (en) * 2015-09-30 2017-08-15 EMC IP Holding Company LLC Three layer key wrapping for securing encryption keys in a data storage system
CN108154038A (zh) * 2016-12-06 2018-06-12 北京京东尚科信息技术有限公司 数据处理方法及装置
CN108880806A (zh) * 2018-08-01 2018-11-23 深圳三角形科技有限公司 加密、解密方法、芯片及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8837734B2 (en) * 2012-09-14 2014-09-16 Red Hat, Inc. Managing encrypted data and encryption keys
US9985782B2 (en) * 2015-11-24 2018-05-29 Red Hat, Inc. Network bound decryption with offline encryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624522A (zh) * 2012-03-30 2012-08-01 华中科技大学 一种基于文件属性的密钥加密方法
CN102915263A (zh) * 2012-10-19 2013-02-06 北京小米科技有限责任公司 一种数据备份方法、***和设备
US9735962B1 (en) * 2015-09-30 2017-08-15 EMC IP Holding Company LLC Three layer key wrapping for securing encryption keys in a data storage system
CN108154038A (zh) * 2016-12-06 2018-06-12 北京京东尚科信息技术有限公司 数据处理方法及装置
CN108880806A (zh) * 2018-08-01 2018-11-23 深圳三角形科技有限公司 加密、解密方法、芯片及可读存储介质

Also Published As

Publication number Publication date
CN111414628A (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
CN111414628B (zh) 一种数据存储方法、装置和计算设备
US11115418B2 (en) Registration and authorization method device and system
US10084790B2 (en) Peer to peer enterprise file sharing
CN106664202B (zh) 提供多个设备上的加密的方法、***和计算机可读介质
Yan et al. Heterogeneous data storage management with deduplication in cloud computing
US9037870B1 (en) Method and system for providing a rotating key encrypted file system
EP2830282B1 (en) Storage method, system and apparatus
US8572372B2 (en) Method for selectively enabling access to file systems of mobile terminals
US8621036B1 (en) Secure file access using a file access server
US20130290733A1 (en) Systems and methods for caching security information
CN101286994B (zh) 多设备内容共享的数字版权管理方法、服务器及***
CN103763319A (zh) 一种移动云存储轻量级数据安全共享方法
CN103620556A (zh) 将应用绑定到设备能力
US20160226844A1 (en) Multiple recipient message encryption
US9571288B2 (en) Peer to peer enterprise file sharing
US20180006823A1 (en) Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
US9584508B2 (en) Peer to peer enterprise file sharing
US20130019110A1 (en) Apparatus and method for preventing copying of terminal unique information in portable terminal
WO2014205333A2 (en) Distributed network encryption key generation
US11734394B2 (en) Distributed license encryption and distribution
CN114117406A (zh) 一种数据处理方法、装置、设备及存储介质
CN105518696B (zh) 对数据存储器执行操作
KR102269753B1 (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
US11157633B1 (en) Digital content delivery system
CN110401689A (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