CN113282934A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN113282934A CN113282934A CN202110494755.1A CN202110494755A CN113282934A CN 113282934 A CN113282934 A CN 113282934A CN 202110494755 A CN202110494755 A CN 202110494755A CN 113282934 A CN113282934 A CN 113282934A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- user attribute
- data
- authorized user
- fragment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/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)
- 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
技术领域
本申请属于安全通信技术领域,尤其涉及一种数据处理方法及装置。
背景技术
随着通信与网络技术的不断创新,信息量呈爆炸性增长,人们对存储空间的需求越来越大。近年来,互联网的异军突起对传统行业和传统企业的管理方式产生了巨大的影响,云存储服务的提出与发展以及存储即服务的理念,促使云存储成为了存储海量数据的主流解决方案。
在云存储方案中,用户需要将资料存储于第三方的云端服务器,并在需要时可从云端服务器下载所需资料,用户可以减少数据管理和设备管理的投入,也无需投入大量硬件和软件成本,并可以不受地域限制而获取自己的数据,能随时随地访问自己的云数据。
然而,尽管云存储服务为用户提供了便利,但如何保护数据安全并防止用户隐私泄露也成为了一个目前业界亟待解决的难题。
发明内容
鉴于此,本申请实施例提供了一种数据处理方法及装置,以至少降低现有技术中云存储服务数据中安全性无法保障的问题。
本申请实施例的第一方面提供了一种数据处理方法,应用于第一终端设备,所述方法包括:从存储服务器下载云端存储数据;所述云端存储数据包含属主数据密文和授权用户属性策略;所述授权用户属性策略包含各个授权用户属性信息和相应的所述属主数据密文中至少一个密文片段的描述信息;根据所述授权用户属性策略,在所述属主数据密文中确定与所述第一终端设备的本地用户属性匹配的目标密文片段;如果所述目标密文片段包含所述属主数据密文中的所有密文片段,则使用本地私钥解密所述属主数据密文;如果所述目标密文片段仅包含所述属主数据密文中的第一密文片段且不包含第二密文片段,则使用本地私钥解密所述第一密文片段;根据所述授权用户属性策略确定与所述第二密文片段相应的目标授权用户属性信息,并发送所述第二密文片段至与所述目标授权用户属性信息对应的第二终端设备,使得所述第二终端设备解密所述第二密文片段。
本申请实施例的第二方面提供了一种数据处理装置,所述装置包括:数据下载单元,被配置为从存储服务器下载云端存储数据;所述云端存储数据包含属主数据密文和授权用户属性策略;所述授权用户属性策略包含各个授权用户属性信息和相应的所述属主数据密文中的至少一个密文片段描述信息;策略匹配单元,被配置为根据所述授权用户属性策略,在所述属主数据密文中确定与本地用户属性匹配的目标密文片段;本地解密单元,被配置为如果所述目标密文片段包含所述属主数据密文中的所有密文片段,则使用本地私钥解密所述属主数据密文;第一片段解密单元,被配置为如果所述目标密文片段仅包含所述属主数据密文中的第一密文片段且不包含第二密文片段,则使用本地私钥解密所述第一密文片段;第二片段解密单元,被配置为根据所述授权用户属性策略确定与所述第二密文片段相应的目标授权用户属性信息,并发送所述第二密文片段至与所述目标授权用户属性信息对应的第二终端设备,使得所述第二终端设备解密所述第二密文片段。
本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
本申请实施例的第四方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备实现如上述方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:
通过本申请实施例,终端设备从存储服务器下载了具有属主数据密文和授权用户属性策略的云端存储数据,并利用授权用户属性策略来识别本地用户属性所匹配的密文片段是否能够完全覆盖属主数据密文,在未完全覆盖时,可以利用与对应其他用户属性信息的终端设备来共享未破解的密文部分,通过多终端设备协助来实现对云端存储数据的解密操作,能够满足更多情境下的密文分享需求。此外,能够有效保护用户数据隐私的安全,且数据属主和解密用户之间不需要任何交互形式,只需要解密用户的属性集合满足授权用户属性策略便可以直接利用本地私钥完成解密,实现了对云端数据的安全传输和处理。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请实施例的数据处理方法的一示例的流程图;
图2示出了根据本申请实施例的授权用户属性策略的示例性的示意图;
图3示出了根据本申请实施例的共享解密属主数据密文的一示例的流程图;
图4示出了根据本申请实施例的确定与第二密文片段相应的目标授权用户属性信息的一示例的流程图;
图5示出了根据本申请实施例的第一终端设备生成私钥过程的一示例的信号交互图;
图6示出了根据本申请实施例的数据属主上传数据的一示例的信号交互时序图;
图7示出了根据本申请实施例的解密用户下载并解密数据的一示例的信号交互时序图;
图8示出了根据本申请实施例的数据处理装置的一示例的结构框图;
图9是本申请实施例的电子设备的一示例的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本申请实施例中描述的电子设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器)的计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的电子设备。然而,应当理解的是,电子设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
可以在电子设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
在本文中,术语“第一”或“第二”并不表示对顺序或数量的限制,并在一些情况下,可以被视作对不同对象的区分。术语“数据属主”可以表示将数据上传至存储服务器的数据上传方。另外,术语“解密用户”可以表示将数据从存储服务器下载,并期望得到解密数据的数据使用方。
需说明的是,在目前相关技术中,一些业内的学者和专家提出,可以利用属性基加密技术来保障云端存储数据的安全性。但是,往往解密用户的属性集合只能部分满足,而该解密用户是数据属主允许解密的,导致传统的属性基加密技术则无法满足这个场景。例如,数据属主A在云端利用自身属性加密而生成了云端存储数据d,此时数据属主A期望用户B也能破解数据d,但由于解密用户B不具有A的属性,导致解密用户B无法破解数据d。
现在结合附图来描述本申请实施例的数据处理方法及装置。
图1示出了根据本申请实施例的数据处理方法的一示例的流程图。本申请实施例方法的执行主体可以是第一终端设备,并且第一终端设备可以是各种类型具有计算处理能力的终端,例如计算机终端或手机终端等,在此应不加限制。
如图1所示,在步骤110中,从存储服务器下载云端存储数据。这里,云端存储数据包含属主数据密文和授权用户属性策略。
具体地,属主数据密文可以是将数据属主所上传的数据进行加密计算后而生成的。此外,授权用户属性策略包含各个授权用户属性信息和相应的属主数据密文中至少一个密文片段的描述信息。
图2示出了根据本申请实施例的授权用户属性策略的示例性的示意图。在如图2的示例中,属主数据密文20具有10个数据片段(即数据片段201~210),并且在此授权用户属性策略中,用户属性A所对应的数据片段标识是“片段201~205”,而用户属性B所对应的数据片段标识是“片段206~210”。
在一些情况下,授权用户属性策略可以是在数据属主在上传数据时自行定义的,使得数据属主可以约束或授权不同身份的用户针对上传数据的解密权限。
在步骤120中,根据授权用户属性策略,在属主数据密文中确定与第一终端设备的本地用户属性匹配的目标密文片段。示例性地,可以获取第一终端的本地用户属性,并利用本地用户属性查询授权用户属性策略,从而定位与本地用户属性相应的数据片段标识,在属主数据密文中确定相应的目标密文片段。
在步骤130中,检测目标密文片段是否包含属主数据密文中的所有密文片段。
在如图2的示例中,用户属性B能够访问属主数据密文中的所有片段,而用户属性A仅能够访问属主数据密文中的部分片段(即,片段201-205),而没有访问剩余片段(即,片段206-210)的权限。
如果检测结果为是,则跳转至步骤140。如果检测结果为否,则跳转至步骤150。
一方面,在步骤140中,使用本地私钥解密所述属主数据密文。
结合如图2的示例中,若本地用户属性是“用户属性B”,则本地用户属性已经覆盖了授权用户属性策略中对属性数据密文整体解密的要求,并可以直接使用本地私钥对属主数据密文进行解密处理。
另一方面,在步骤150中,使用本地私钥解密第一密文片段。
结合如图2中的示例,若本地用户属性是“用户属性A”,则通过本地私钥能够完成对密文片段201-片段205的解密操作,则需要借助其他用户属性来完成对属主数据密文20的解密操作。
接着,在步骤160中,根据授权用户属性策略确定与第二密文片段相应的目标授权用户属性信息,并发送第二密文片段至与目标授权用户属性信息对应的第二终端设备,使得第二终端设备解密第二密文片段。由此,在解密过程中,多个终端设备之间可以共享属性密钥。
在一些实施方式中,第二密文片段所对应的目标授权用户属性信息可能是多个,并可以向所有或任一满足条件的授权用户属性信息所对应的终端设备发送密文片段,以实现协助解密操作。
在本申请实施例的一些示例中,协助用户可以在第二密文片段解密之后操作第二终端设备,以将相应的解密信息发给第一终端设备,使得解密用户可以获知针对属主数据密文的完整解密结果。
结合如图2中的示例,可以通过授权用户属性策略来确定本地私钥无法破解的“片段206-210”所对应的用户属性信息,即用户属性B,并可以将“片段206-210”发送至用户属性B所对应的第二终端设备以进行解密,实现了基于LSSS(Linear Secret SharingScheme,线性秘密共享方案)的数据访问处理操作。
通过本申请实施例,数据属主可以允许解密用户使用其他用户的属性集进行解密。在一些应用场景下,同一个用户群体内对于密文的使用需求和目标是一致的,例如公司法律部内的各个成员所能够访问的数据可以是大体相同的,因此本申请实施例能够满足更多情境下的密文分享需求。
图3示出了根据本申请实施例的共享解密属主数据密文的一示例的流程图。
如图3所示,在步骤310中,获取针对第一密文片段的第一解密结果。
在步骤320中,从第二终端设备接收针对第二密文片段的第二解密结果。
在步骤330中,根据第一解密结果和第二解密结果,生成针对属主数据密文的解密数据。
通过本申请实施例,可以在解密用户所处的第一终端设备上,将共享密文片段的各个终端设备所产生的解密结果进行组合,从而生成完整的针对属主数据密文的解密数据,方便了各个授权解密用户快速查看完整的解密数据。
图4示出了根据本申请实施例的确定与第二密文片段相应的目标授权用户属性信息的一示例的流程图。
如图4所示,在步骤410中,获取授权用户属性策略中确定针对所述第二密文片段的共享解密权限。
如果共享解密权限为禁止共享解密,则跳转至步骤420。如果共享解密权限为允许共享解密,则跳转至步骤430。
在步骤420中,停止解密处理。
在步骤430中,根据授权用户属性策略确定与第二密文片段相应的目标授权用户属性信息。
通过本申请实施例,授权用户属性策略中还存在针对各个片段的共享解密权限,例如针对“片段206-210”不允许进行共享解密操作,使得用户A无法实现对属主数据密文20的完整解读。由此,通过在策略中设置共享解密权限,可以精细化地控制特定数据分段的解密权限,能够满足更多个性化的密文分享场景的需求。
在一些情况下,为了进一步确保共享数据的安全性,属主数据密文具有多重加密信息,并且能够发生密文共享的解密用户均能够在一定程度上对属主数据密文进行解密,例如二者具有相同的私钥部分以将属主数据密文解析到相同程度。
在一些应用场景下,用户群组下的各个用户成员之间可以实现相互协助解密,鉴于此,可以将用户群组信息作为各个用户成员针对共享密文的解密识别维度。在本申请实施例的一些示例中,属主数据密文是基于第一公钥和第二公钥进行加密的。需要注意的是,公钥参数在本申请实施例中设置为隐形输入(并且,该参数是直接公开发布在网络中的),因此可以并不限制公钥参数PK的流向。
这里,第一终端设备和第二终端设备均包含与第一公钥相匹配的第一私钥,并且第一私钥是以用户群组信息为基础而生成。由此,通过第一私钥实现了在群组中针对属主数据密文的共享,例如群组中的每个用户成员都能利用各自的第一私钥将属主数据密文进行初步解密操作。另外,与第二公钥相匹配的第二私钥是以用户属性信息为基础而生成的,因为不同终端设备所对应的用户属性信息可能是存在差异的,所以不同的终端设备所对应的第二私钥也会是不同的,使得不同的终端设备能够解密的数据分段也会是差异化的,例如用户A所对应的密文分段是201~205,而用户B所对应的密文分段是201~210。
图5示出了根据本申请实施例的第一终端设备生成私钥过程的一示例的信号交互图。
如图5所示,在步骤501中,第一终端设备530发送密钥申请请求至授权平台50。这里,密钥申请请求包括第一终端设备的用户属性信息和用户群组信息,例如用户属性信息可以是用户身份证号或用户职称,另外用户群组信息可以是用户所属群组的信息(例如,法律部)。
在一些应用场景下,用户可以通过平台注册操作来触发生成密钥申请请求。此外,用户属性信息可以是符合预设的属性数据格式的,这样,用户可能需要按照属性数据格式来进行输入。示例性地,当输入的用户属性信息可以是身份证信息时,用户可以输入相应的18位数字。
在步骤503中,授权平台50中的用户属性授权模块520基于用户属性信息进行加密计算,生成第二子私钥。
然后,在步骤504中,授权平台50可以将第二子私钥反馈至第一终端设备530。
在步骤505中,授权平台50中的用户群组授权模块510基于用户群组信息进行加密计算,生成第一子私钥。
在本申请实施例的一些示例中,用户属性授权模块520可以将密钥申请请求中的相关信息传递至用户群组授权模块510,并还可以进行数字签名,以由用群组授权模块510进行验签,从而继续后续的加密操作505。具体地,用户属性授权模块520可以为用户所在的用户群体分配一个随机的用户群识别码GID,并且为该用户分配一个随机的用户识别码,并以此进行加密操作503。
然后,在步骤507中,授权平台50可以将第一子私钥反馈至第一终端设备530。
在步骤509中,第一终端设备530根据第一子私钥和第二子私钥生成本地私钥。示例性地,可以基于BLS(Boneh-Lynn-Shacham)算法对第一子私钥和第二子私钥进行聚合,从而在第一终端设备530本地组装密钥组件而自行生成本地私钥。
在一些实施方式中,用户群组授权模块510和用户属性授权模块520可以分别是相互独立的服务器或服务器集群。
通过本申请实施例,终端设备在生成本地私钥的过程中,只需要与授权平台进行交互,不需要与数据属主进行数据通信,充分保障了数据属主的安全隐私性。
在一些实施方式中,用户群组授权模块510被配置成使用第一密钥算法进行加密计算,以及用户属性授权模块520被配置成使用第二密钥算法进行加密计算。由此,通过多个授权模块,分别采用不同的加密算法,可以降低单个授权中心的权利,能更有效地保护数据隐私的安全性。
图6示出了根据本申请实施例的数据属主上传数据的一示例的信号交互时序图。
如图6所示,在步骤601中,数据属主终端610采集待上传数据。
在步骤603中,数据属主终端610根据待上传数据、第一公钥和第二公钥,生成属主数据密文。这里,第一公钥和第二公钥可以是预先设置在数据属主终端的,并且第一公钥可以是与用户群组授权模块中的加密算法相匹配的,而第二公钥可以是与用户属性授权模块中的加密算法相匹配的。
在步骤605中,数据属主终端610采集授权用户属性策略。示例性地,数据属主可以约定不同的用户属性所能够访问的数据中的特定内容部分。
在步骤607中,数据属主终端610发送属主数据密文和授权用户舒缓型策略至存储服务器620。
在步骤607中,存储服务器620存储属主数据密文和相应的授权用户属性策略。
在本申请实施例中中,数据属主允许解密用户使用其他用户的属性集进行解密,前提是该用户能够满足访问策略中的一般矩阵行,然后将转换矩阵行交给同一用户群体中的其他用户进行解密。具体实践的原理在于,在同一个用户群体内,所有用户的解密目的是一致的,因此能够满足更多业务情景下的密文分享需求。
通过本申请实施例,数据属主在上传数据时,便可以利用多个授权中心的公钥对上传数据进行加密以保障数据隐私;此外,可以在授权用户属性策略中规定不同的用户属性所能够访问的数据分段,给予了数据属主针对数据访问的分段授权的充分自由度,并且也无需与相应的终端设备进行交互,可以提升隐私性。
图7示出了根据本申请实施例的解密用户下载并解密数据的一示例的信号交互时序图。
如图7所示,在步骤701中,第一终端设备710从存储服务器730下载云端存储数据,云端存储数据包含属主数据密文和授权用户属性策略。
在步骤703中,第一终端设备710通过查询授权用户属性策略,确定与本地用户属性相应的目标密文片段。
在步骤705中,第一终端设备710检测目标密文片段是否涵盖了属主数据密文中的全部片段。
在步骤707中,当目标密文片段涵盖了属主数据密文中的全部片段时,使用第一终端设备的本地私钥解密属主数据密文。
在步骤709中,当目标密文片段仅包含属主数据密文中的第一密文片段而未涵盖第二密文片段时,发送第二密文片段至第二终端设备,并利用第二终端设备720的本地私钥解密第二密文片段,以生成相应的第二解密结果。
在步骤713中,第一终端设备710可以融合第二终端设备720处的第二解密结果,从而生成最终的解密数据。
在本申请实施例中,应用属性基加密技术,能够有效保护用户数据隐私的安全,且数据属主和解密用户之间不需要任何交互形式,只需要解密用户的属性集合满足数据属主的访问策略,即可完成解密操作。
针对上述图5至图7中所涉及的方法执行主体,在此可以描述各个信号交互实体的功能定义:
用户群组授权模块GA:该实体运行GA.Setup算法和GA.KeyGen算法,为相同用户群的任意用户生成群密钥组件。该实体与任意的用户属性授权模块之间通过BLS短签名方案传递用户私钥SK所需的参数,最后将部分私钥交给第一终端设备,该实体可以是完全可信的实体。
用户属性授权模块AA:该实体运行AA.Setup算法和AA.KeyGen算法,以用于为数据属主终端DO和第一终端设备(或,也被称为,用户User)生成公钥PK和私钥SK,该实体在我们的假设中是完全可信的实体。
具体地,授权中心(例如,GA和AA)中可以使用系统初始化算法Setup(1γ),该算法输入是安全参数γ,并且输出公钥PK和主私钥MSK,其中PK发送至其他实体中,而MSK由授权中心自行保存。
示例性地,AA所对应的属性模块初始化算法是AA.Setup(1λ),该算法首先输入安全参数λ,随后选取一个素数阶为p的双线性群G0,双线性映射e:G0e×Ge0→GeT,其中群G0的生成元为g。同时,针对GA,可以定义相应的哈希函数:H:{0,1}*→G0。然后,选取两个随机数α1,β,生成群公共参数PK1和群主私钥MSK1。
MSK2=(α1,β) (0.2)
此外,用户属性授权模块AA可以使用密钥生成算法,即KeyGen(MSK,Si),该算法输入是主私钥MSK和用户属性集合Si,然后计算生成此用户的私钥SK。另外,群密钥生成算法KeyGen(PK1,PK2,MSK1,MSK2,GIDi,ui,j)可以被用户群组授权模块GA使用,该算法输入上述两个公共密钥和两个主私钥,以及用户ui,j所在群Ui的专属识别号GIDi,随后使用BLS短签名技术生成群签名GSign和群用户私钥SK1。
示例性地,AA可以为成功注册的用户群Ui生成GIDi,并选择可以一个随机数θm,1,同时为Ui中每个用户生成用户识别码uIDi,j,并且AA可以通过以下方式进行计算其中选择x=1/β作为自己的私钥,并将y=g1/β作为公钥,随后将(GIDi,uIDi,j,σ)发送给GA。
最后,GA和AA分别将SK2和SK1交给用户ui,j,ui,j自行组装即可得到密钥SK:
其中,α=α1+α2,θm=θm,1+θm,2,Si表示用户的属性集合,Di,1表示用户群组标识,Di,2表示用户标识,Di,3表示用户的属性盲化值。θm是组密钥参数,其可以标识每个用户所属的组,对于任意一个m∈[1,n]的组而言,该参数是独一无二的。Ei是转换密钥,其可以转换协助用户返回的运算结果从而完成解密工作,或者帮助其他用户解密密文。
存储服务器CSP:该实体用于存储数据属主DO上传的密文,并根据用户User的请求提供密文CT。这里,可以假设该实体是半可信实体,即它是诚实但好奇的实体。
数据属主终端DO:该实体运行Encrypt算法。具体地,DO首先为每个明文构建LSSS访问,然后根据输入PK对明文进行属性加密,最后生成密文后上传至CSP。此外,DO能够规定根据自身需求规定哪些矩阵的行能够允许相应属性的用户进行解密。
具体地,在数据属主终端处可以运行明文加密算法Encrtpt(PK,(M,ρ),k),该算法输入是公钥PK、访问策略(M,ρ)、以及AES密钥k,然后输出密文CT并上传至CSP处。
示例性地,对于任意一份明文文件m,DO首先运行AES对称加密算法输出AES密文Ek(m)和AES密钥k,随后将AES密钥k用该方案进行加密,具体加密过程如下所示。
DO选择一个安全参数s,并按照如下方式计算。
DO定义LSSS矩阵(M,ρ),其中矩阵M的每一行都由映射函数ρ(i)映射至对应的属性i,然后DO计算如下。
最后,DO输出密文CT,并将CT和对应的AES密文Ek(m)一并上传至CSP。
用户User:该实体运行Decrypt算法。User首先根据自身的属性私钥还原隐藏在LSSS访问策略中的秘密值,当得到秘密值后即可从密文中解密得到明文。但是,若User的属性集合不满足LSSS访问策略,则User也无法得到密文对应的秘密值,也无法解密密文。此时,便可以通过共享密文的方式来实现对密文数据的完整解析。
具体地,在用户User中可以采用密文解密算法,即Decrypt(PK,CT,SK),使得用户User可以根据自身的属性私钥对密文CT进行解密。此时,若用户User的属性集合能够满足相应的LSSS访问策略,则用户User可以对密文进行解密。
示例性地,在用户User中使用Decrypt(PK,CT,SK)算法时,可以输入CT和SKi,具体运行流程如下:
首先,判断用户组的联合属性是否满足LSSS矩阵的属性要求,并为矩阵的每一行输出允许解密用户列表。需要注意的是,只有协作属性对应的行才能被该用户ui以外的用户uj进行协作解密,而一般属性对应的行则只能被本用户ui解密。
然后,算法首先利用本地属性密钥进行行解密,计算过程如下:
另外,对于协作属性而言,若用户ui缺少这部分属性密钥,可以将行解密计算的组件交给该行允许解密用户列表中的任意一位用户uj,随后uj进行行解密,具体计算公式如下所示:
其中,当协作完成后i=j。
进一步地,当用户ui收集其所有的λi′和λj′后,首先计算ωi,使其满足∑i∈Sωi·Mi=(1,0,...,0),其中Mi为矩阵M的第i行,随后按照如下公式进行计算:
为了保证密文是由同一个用户组的用户进行协作解密,用户ui需要根据如下公式计算恢复解密所需的中间值:
最后,用户ui可以根据以下公式来恢复AES密钥k:
在本申请实施例中,由于每个用户对应的随机数不同,为了将其他用户解密的计算值转换成自己的解密计算值,最终还原明文,该用户需要使用到密钥里的转换密钥Ei和密文里的协作参数由此,通过LSSS矩阵实现协作解密功能,相比于同类加密数据传输方案,能够实现在加密算法和解密算法中更高的计算效率和存储效率。
需说明的是,为了更加清晰的描述,在本文的示例中使用同类方案中的访问策略树结构进行描述,但任意一个单调的访问策略树都可转换成对应的LSSS访问矩阵。此外,本申请实施例中加密数据传输的业务应用场景可以是多样化的,例如车联网、云计算、医疗云平台等应用场景,在此应不加限制。
图8示出了根据本申请实施例的数据处理装置的一示例的结构框图。
如图8所示,数据处理装置800包括数据下载单元810、策略匹配单元820、本地解密单元830、第一片段解密单元840和第二片段解密单元850。
数据下载单元810被配置为从存储服务器下载云端存储数据;所述云端存储数据包含属主数据密文和授权用户属性策略;所述授权用户属性策略包含各个授权用户属性信息和相应的所述属主数据密文中的至少一个密文片段描述信息。
策略匹配单元820被配置为根据所述授权用户属性策略,在所述属主数据密文中确定与本地用户属性匹配的目标密文片段。
本地解密单元830被配置为如果所述目标密文片段包含所述属主数据密文中的所有密文片段,则使用本地私钥解密所述属主数据密文。
第一片段解密单元840被配置为如果所述目标密文片段仅包含所述属主数据密文中的第一密文片段且不包含第二密文片段,则使用本地私钥解密所述第一密文片段。
第二片段解密单元850被配置为根据所述授权用户属性策略确定与所述第二密文片段相应的目标授权用户属性信息,并发送所述第二密文片段至与所述目标授权用户属性信息对应的第二终端设备,使得所述第二终端设备解密所述第二密文片段。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图9是本申请实施例的电子设备的一示例的示意图。如图9所示,该实施例的电子设备900包括:处理器910、存储器920以及存储在所述存储器920中并可在所述处理器910上运行的计算机程序930。所述处理器910执行所述计算机程序930时实现上述数据处理方法实施例中的步骤,例如图1所示的步骤110至160。或者,所述处理器910执行所述计算机程序930时实现上述各装置实施例中各模块/单元的功能,例如图8所示单元810至850的功能。
示例性的,所述计算机程序930可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器920中,并由所述处理器910执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序930在所述电子设备900中的执行过程。例如,所述计算机程序930可以被分割成数据下载程序模块、策略匹配程序模块、本地解密程序模块、第一片段解密程序模块和第二片段解密程序模块,各程序模块具体功能如下:
数据下载程序模块,被配置为从存储服务器下载云端存储数据;所述云端存储数据包含属主数据密文和授权用户属性策略;所述授权用户属性策略包含各个授权用户属性信息和相应的所述属主数据密文中的至少一个密文片段描述信息;
策略匹配程序模块,被配置为根据所述授权用户属性策略,在所述属主数据密文中确定与本地用户属性匹配的目标密文片段;
本地解密程序模块,被配置为如果所述目标密文片段包含所述属主数据密文中的所有密文片段,则使用本地私钥解密所述属主数据密文;
第一片段解密程序模块,被配置为如果所述目标密文片段仅包含所述属主数据密文中的第一密文片段且不包含第二密文片段,则使用本地私钥解密所述第一密文片段;
第二片段解密程序模块,被配置为根据所述授权用户属性策略确定与所述第二密文片段相应的目标授权用户属性信息,并发送所述第二密文片段至与所述目标授权用户属性信息对应的第二终端设备,使得所述第二终端设备解密所述第二密文片段。
所述电子设备900可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器910、存储器920。本领域技术人员可以理解,图9仅是电子设备900的示例,并不构成对电子设备900的限定,可以包括比图示更多或少的部件,或组合某些部件,或不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器910可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器920可以是所述电子设备900的内部存储单元,例如电子设备900的硬盘或内存。所述存储器920也可以是所述电子设备900的外部存储设备,例如所述电子设备900上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器920还可以既包括所述电子设备900的内部存储单元也包括外部存储设备。所述存储器920用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器920还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述单元既可以采用硬件的形式实现,也可以采用软件的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据处理方法,应用于第一终端设备,其特征在于,所述方法包括:
从存储服务器下载云端存储数据;所述云端存储数据包含属主数据密文和授权用户属性策略;所述授权用户属性策略包含各个授权用户属性信息和相应的所述属主数据密文中至少一个密文片段的描述信息;
根据所述授权用户属性策略,在所述属主数据密文中确定与所述第一终端设备的本地用户属性匹配的目标密文片段;
如果所述目标密文片段包含所述属主数据密文中的所有密文片段,则使用本地私钥解密所述属主数据密文;
如果所述目标密文片段仅包含所述属主数据密文中的第一密文片段且不包含第二密文片段,则使用本地私钥解密所述第一密文片段;
根据所述授权用户属性策略确定与所述第二密文片段相应的目标授权用户属性信息,并发送所述第二密文片段至与所述目标授权用户属性信息对应的第二终端设备,使得所述第二终端设备解密所述第二密文片段。
2.如权利要求1所述的方法,其特征在于,在所述发送所述第二密文片段至与所述目标授权用户属性信息对应的第二终端设备之后,所述方法还包括:
获取针对所述第一密文片段的第一解密结果;
从所述第二终端设备接收针对所述第二密文片段的第二解密结果;
根据所述第一解密结果和所述第二解密结果,生成针对所述属主数据密文的解密数据。
3.如权利要求1所述的方法,其特征在于,所述根据所述授权用户属性策略确定与所述第二密文片段相应的目标授权用户属性信息,包括:
获取所述授权用户属性策略中确定针对所述第二密文片段的共享解密权限;
如果所述共享解密权限为禁止共享解密,则停止解密处理;
如果所述共享解密权限为允许共享解密,并根据所述授权用户属性策略确定与所述第二密文片段相应的目标授权用户属性信息。
4.如权利要求1所述的方法,其特征在于,所述属主数据密文是基于第一公钥和第二公钥进行加密的,所述第一终端设备和所述第二终端设备均包含与第一公钥相匹配的第一私钥;其中所述第一私钥是以用户群组信息为基础而生成,以及与所述第二公钥相匹配的第二私钥是以用户属性信息为基础而生成的。
5.如权利要求4所述的方法,其特征在于,在从存储服务器下载云端存储数据之前,所述方法还包括:
发送密钥申请请求至授权平台;其中,所述密钥申请请求包括所述第一终端设备的用户属性信息和用户群组信息,使得所述授权平台对所述用户群组信息进行加密计算而生成第一子私钥,并对所述第一终端设备的用户属性信息进行加密计算而生成第二子私钥;
从所述授权平台接收所述第一子私钥和所述第二子私钥,并根据所述第一子私钥和所述第二子私钥生成所述第一终端设备的本地私钥。
6.如权利要求4所述的方法,其特征在于,所述授权平台包括用户群组授权模块和用户属性授权模块,其中所述用户群组授权模块被配置成使用第一密钥算法进行加密计算,以及所述用户属性授权模块被配置成使用第二密钥算法进行加密计算。
7.如权利要求4所述的方法,其特征在于,所述用户属性信息是符合预设的属性数据格式的。
8.一种数据处理装置,其特征在于,所述装置包括:
数据下载单元,被配置为从存储服务器下载云端存储数据;所述云端存储数据包含属主数据密文和授权用户属性策略;所述授权用户属性策略包含各个授权用户属性信息和相应的所述属主数据密文中的至少一个密文片段描述信息;
策略匹配单元,被配置为根据所述授权用户属性策略,在所述属主数据密文中确定与本地用户属性匹配的目标密文片段;
本地解密单元,被配置为如果所述目标密文片段包含所述属主数据密文中的所有密文片段,则使用本地私钥解密所述属主数据密文;
第一片段解密单元,被配置为如果所述目标密文片段仅包含所述属主数据密文中的第一密文片段且不包含第二密文片段,则使用本地私钥解密所述第一密文片段;
第二片段解密单元,被配置为根据所述授权用户属性策略确定与所述第二密文片段相应的目标授权用户属性信息,并发送所述第二密文片段至与所述目标授权用户属性信息对应的第二终端设备,使得所述第二终端设备解密所述第二密文片段。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如如权利要求1-7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110494755.1A CN113282934B (zh) | 2021-05-07 | 2021-05-07 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110494755.1A CN113282934B (zh) | 2021-05-07 | 2021-05-07 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282934A true CN113282934A (zh) | 2021-08-20 |
CN113282934B CN113282934B (zh) | 2022-05-03 |
Family
ID=77278224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110494755.1A Active CN113282934B (zh) | 2021-05-07 | 2021-05-07 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282934B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109934013A (zh) * | 2019-03-21 | 2019-06-25 | 北京深思数盾科技股份有限公司 | 一种数据保护方法及装置 |
CN110213354A (zh) * | 2019-05-20 | 2019-09-06 | 电子科技大学 | 云存储数据机密性保护方法 |
CN110401667A (zh) * | 2019-07-31 | 2019-11-01 | 杭州项帮科技有限公司 | 一种基于多项目型映射的分权密钥机制的属性加密方法 |
CN111934872A (zh) * | 2020-10-12 | 2020-11-13 | 百度在线网络技术(北京)有限公司 | 密钥处理方法、装置、电子设备以及存储介质 |
-
2021
- 2021-05-07 CN CN202110494755.1A patent/CN113282934B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109934013A (zh) * | 2019-03-21 | 2019-06-25 | 北京深思数盾科技股份有限公司 | 一种数据保护方法及装置 |
CN110213354A (zh) * | 2019-05-20 | 2019-09-06 | 电子科技大学 | 云存储数据机密性保护方法 |
CN110401667A (zh) * | 2019-07-31 | 2019-11-01 | 杭州项帮科技有限公司 | 一种基于多项目型映射的分权密钥机制的属性加密方法 |
CN111934872A (zh) * | 2020-10-12 | 2020-11-13 | 百度在线网络技术(北京)有限公司 | 密钥处理方法、装置、电子设备以及存储介质 |
Non-Patent Citations (3)
Title |
---|
JIANQIANG LI 等: "An Efficient Attribute-Based Encryption", 《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》 * |
YINGJIE XUE 等: "An Attribute-based Controlled Collaborative Access", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》 * |
YUAN LI 等: "Attribute-Based Searchable Encryption Scheme", 《2021 IEEE CONFERENCE ON DEPENDABLE AND SECURE COMPUTING(DSC)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113282934B (zh) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144961B (zh) | 授权文件共享方法及装置 | |
EP3404891B1 (en) | Method and system for distributing digital content in peer-to-peer network | |
Chen et al. | A secure electronic medical record authorization system for smart device application in cloud computing environments | |
US9805350B2 (en) | System and method for providing access of digital contents to offline DRM users | |
WO2022199290A1 (zh) | 多方安全计算 | |
JP2020527305A (ja) | デバイスに匿名性を与えるキー認証ステートメントの生成 | |
CN109074449A (zh) | 在安全飞地中灵活地供应证明密钥 | |
CN101883100B (zh) | 一种数字内容分布式授权方法 | |
TWI420339B (zh) | 軟體授權系統及方法 | |
EP3537684B1 (en) | Apparatus, method, and program for managing data | |
CN112434336A (zh) | 基于区块链的电子病历共享方法、装置、系统及存储介质 | |
CN109922027B (zh) | 一种可信身份认证方法、终端及存储介质 | |
KR20070057968A (ko) | 랜덤 함수를 이용한 비밀 공유 | |
CN113407627A (zh) | 一种基于区块链的智能医疗网络系统及医疗数据共享方法 | |
KR20210046357A (ko) | 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치 | |
CN110737905B (zh) | 数据授权方法、数据授权装置及计算机存储介质 | |
CN113422683A (zh) | 一种边云协同数据传输方法、系统、存储介质及终端 | |
WO2021082222A1 (zh) | 通信方法、存储方法、运算方法及装置 | |
Rana et al. | Secure and ubiquitous authenticated content distribution framework for IoT enabled DRM system | |
CN117708794A (zh) | 设备授权方法和设备授权装置 | |
CN109768969B (zh) | 权限控制方法及物联网终端、电子设备 | |
Chen et al. | A secure mobile DRM system based on cloud architecture | |
CN113282934B (zh) | 数据处理方法及装置 | |
US8755521B2 (en) | Security method and system for media playback devices | |
CN113810178B (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 |