CN113868708B - 基于双链架构的可监管数据安全共享方法及设备 - Google Patents
基于双链架构的可监管数据安全共享方法及设备 Download PDFInfo
- Publication number
- CN113868708B CN113868708B CN202111471620.XA CN202111471620A CN113868708B CN 113868708 B CN113868708 B CN 113868708B CN 202111471620 A CN202111471620 A CN 202111471620A CN 113868708 B CN113868708 B CN 113868708B
- Authority
- CN
- China
- Prior art keywords
- data
- provider
- chain
- data provider
- key
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000004422 calculation algorithm Methods 0.000 claims description 28
- 238000012544 monitoring process Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 7
- 239000003999 initiator Substances 0.000 claims description 5
- 239000003795 chemical substances by application Substances 0.000 claims description 4
- 210000003743 erythrocyte Anatomy 0.000 description 28
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 238000010987 Kennard-Stone algorithm Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001105 regulatory effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 101100001673 Emericella variicolor andH gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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
- 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/604—Tools and structures for managing or administering access control systems
-
- 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/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于双链架构的可监管数据安全共享方法及设备,其中,该方法包括:数据接收方根据关键字生成检索陷门并发送检索请求至云服务器;云服务器通过监管链验证数据接收方的合法性;如不合法,拒绝检索请求;如合法,将检索请求转发至数据链;数据链将检索陷门与数据链上检索索引匹配;如果匹配通过,将匹配出的数据提供方身份信息以及链上数据内容发送至云服务器;云服务器通过监管链验证数据提供方合法性;如不合法,拒绝检索请求;如合法,云服务器将根据链上数据内容搜索代理重加密密钥密文和上传数据密文并返回至接收方;数据接收方解密代理重加密密钥密文以解密上传数据密文。通过上述方案能保证数据隐私安全同时实现数据监管。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于双链架构的可监管数据安全共享方法及设备。
背景技术
随着新一代信息技术的快速发展,大规模、高密度、多维度数据带来的资产属性、数据所有权、数据流动性、以及显性和隐性价值日益提升。当前,全球数据量呈指数级增长,但大数据产业的发展正面临着“人人有数据,人人缺数据”的“数据孤岛”困境,这严重制约着数据价值的释放。为了解决数据产业发展面临的困境,提升数据的共享价值,诸多数据共享的方法应运而生。
为了释放海量数据存储的压力,将数据存储和共享应用转移到云端是当前众多用户的选择,且已经逐渐形成一种重要的数据交互方式,但同时也带来了许多风险,如数据丢失、隐私泄露、使用失控等问题。
区块链是P2P(个人对个人)网络中的分布式账本数据库,由加密生成的数据块组成,具有不可篡改、可追踪、可编程等特点,它的出现促进了数据安全共享,使用户可以共同维护一个不可篡改的账本,而不需要可信的第三方,从而促进了共享经济的繁荣与发展。
区块链在保证数据不可篡改和可追踪的同时也带来了隐私泄露的风险。为了保护隐私安全,用户通常选择将数据进行加密后上链,加密后的数据使得链上数据难以监管,使得一些不良内容一旦上链无法实施监管和处理,这将不可避免地污化数据共享的环境。为建设区块链数据安全健康的数据共享环境,监管机构应当能够对链上数据进行监管审查,以确保链上保留或共享的数据符合法律要求,因而对于加密数据,监管机构需要一个可行的监管方案。
因此,研究一种支持监管的数据共享方案,构建基于区块链的安全可监管的数据共享框架,使其满足数据约束、数据开放、数据共享和透明监管的安全要求具有重要意义。
发明内容
有鉴于此,本发明提供了一种基于双链架构的可监管数据安全共享方法及设备,以在保证数据隐私安全的情况下实现对数据监管。
为了达到上述目的,本发明采用以下方案实现:
根据本发明实施例的一个方面,提供了一种基于双链架构的可监管数据安全共享方法,包括:
数据接收方根据其访问结构为欲获取数据所包含的设定关键字生成检索陷门,并发送包含所述检索陷门的检索请求至云服务器;其中,访问结构包含数据接收方的属性信息及其之间的关系;
云服务器接收到所述检索请求后通过预先存储数据接收方合法性状态信息的监管链验证数据接收方的合法性;
如果数据接收方不合法,则云服务器拒绝数据接收方的检索请求;如果数据接收方合法,则云服务器将所述检索请求转发至数据链;
数据链将所述检索请求中的检索陷门与数据链上存储的基于目标属性集且对应于数据提供方的上传数据生成的检索索引进行匹配;
如果匹配通过,则数据链将包含匹配出的检索索引对应的数据提供方的身份信息及数据链上相应数据内容的检索结果发送至云服务器;
云服务器通过预先存储数据提供方合法性状态信息的监管链根据所述检索结果中数据提供方的身份信息验证相应数据提供方的合法性;
如果数据提供方不合法,则云服务器拒绝数据接收方的检索请求;如果数据提供方合法,则云服务器将包括其上预先存储的所述检索结果中数据提供方的身份信息及数据链上相应数据内容对应的利用代理重加密密钥重加密生成的代理重加密密钥密文和相应的上传数据密文的返回信息发送至数据接收方;
数据接收方利用其基于密钥参数、公共密钥参数和其访问结构生成的密钥解密返回信息中的代理重加密密钥密文,得到返回信息中上传数据密文的对称加密密钥,并利用该对称加密密钥解密上传数据密文,得到相应数据明文。
根据本发明实施例的另一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
根据本发明实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
本发明的基于双链架构的可监管数据安全共享方法、电子设备及计算机可读存储介质,实现了基于监管链和数据链的双链架构,既能保证数据隐私,又能对数据提供方、数据接收方用户进行监管,从而能够在保证数据隐私安全的情况下实现对数据监管。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的基于双链架构的可监管数据安全共享方法的流程示意图;
图2是本发明一实施例中基于双链架构的可监管数据安全共享模型结构示意图;
图3是本发明一实施例中双链架构及包含角色示意图;
图4是本发明一实施例中用户及监管方密钥生成流程示意图;
图5是本发明一实施例中用户分层密钥追踪树的结构示意图;
图6是本发明一实施例中双链RBC结构示意图;
图7是本发明一实施例的可监管数据安全共享方法的数据共享流程示意图;
图8是本发明一实施例中双链DBC结构示意图;
图9是本发明一实施例中可监管数据安全共享方法的数据监管流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
现有中心化方案存在数据缺乏可信度、数据流向不透明、事后难以追责的问题,如何充分利用区块链不可篡改、可追踪的特性解决以上问题是需要解决的技术问题。现有数据共享方案中,共享数据提供方与使用方之间数据共享的实现需要双方的多次交互,这使得在数据共享过程中数据提供方必须实时在线,如何保证用户在上传数据后可离线且不影响数据共享进程是需要解决的技术问题。为保护数据隐私安全,用户通常将数据进行加密后上传到区块链,这使得链上数据难以实施监管,为防止不良内容上链造成的后果,监管机构如何对数据共享过程中的数据和用户进行监管是需要解决的技术问题。将海量数据存在云端已成为用户共享数据的常用数据交互方式,但也带来了一些安全隐患,如何对数据进行安全存储与共享,避免隐私泄露是需要解决的技术问题。
为了解决现有技术中数据共享方案存在的数据可信度低、数据流向不透明、事后追责难等问题,本发明实施例提供了一种基于双链架构的可监管数据安全共享方法,设计了一种双链结构(包括监管链RBC和数据链DBC)以保证数据的不可篡改与可追踪,构建用户密钥追踪树便于监管方对数据内容及用户进行监管与追责,并利用支持关键字检索的属性基代理重加密算法对数据进行加密共享,提供灵活的访问控制与安全的共享环境。
图1是本发明一实施例的基于双链架构的可监管数据安全共享方法的流程示意图,参见图1,该方法可包括步骤:
步骤S110:数据接收方根据其访问结构为欲获取数据所包含的设定关键字生成检索陷门,并发送包含所述检索陷门的检索请求至云服务器;其中,访问结构包含数据接收方的属性信息及其之间的关系;
步骤S120:云服务器接收到所述检索请求后通过预先存储数据接收方合法性状态信息的监管链验证数据接收方的合法性;
步骤S130:如果数据接收方不合法,则云服务器拒绝数据接收方的检索请求;如果数据接收方合法,则云服务器将所述检索请求转发至数据链;
步骤S140:数据链将所述检索请求中的检索陷门与数据链上存储的基于目标属性集且对应于数据提供方的上传数据生成的检索索引进行匹配;
步骤S150:如果匹配通过,则数据链将包含匹配出的检索索引对应的数据提供方的身份信息及数据链上相应数据内容的检索结果发送至云服务器;
步骤S160:云服务器通过预先存储数据提供方合法性状态信息的监管链根据所述检索结果中数据提供方的身份信息验证相应数据提供方的合法性;
步骤S170:如果数据提供方不合法,则云服务器拒绝数据接收方的检索请求;如果数据提供方合法,则云服务器将包括其上预先存储的所述检索结果中数据提供方的身份信息及数据链上相应数据内容对应的利用代理重加密密钥重加密生成的代理重加密密钥密文和相应的上传数据密文的返回信息发送至数据接收方;
步骤S180:数据接收方利用其基于密钥参数、公共密钥参数和其访问结构生成的密钥解密返回信息中的代理重加密密钥密文,得到返回信息中上传数据密文的对称加密密钥,并利用该对称加密密钥解密上传数据密文,得到相应数据明文。
上述步骤S110中,访问结构包括数据接收方的属性信息及它们间关系,例如,访问一个学生的某科目考试成绩,则属性信息可包括学校、学院、班级、学生、科目等,则访问结构除了包含属性信息,还体现了这些信息之间的关联关系,例如,该学生是某学校∩某学院∩某班级∩……。当数据接收方需要查找包含设定关键字(或称为关键词)的数据时,则可以针对该关键字生成检索陷门。可以基于现有的方法生成检索陷门,检索陷门提供入口,符合约束条件即可访问。
上述步骤S120中,云服务器接收到检索请求的同时也将得知数据接收方的信息,进而可以得知是哪个数据接收方,即,可以得到数据接收方身份信息。若数据接收方不存在,或即使存在但合法性状态信息显示不合法(或者说无效),则认为不合法。新加入数据接收方可以向属性授权中心注册,监管链可以记录数据接收方相关信息,开始时数据接收方的合法性信息可以是标记为合法(或称为有效)。数据接收方可以由数据监管方的用户通知属性授权中心进行合法性信息修改以起到监管作用。
具体实施时,上述步骤S120,即,云服务器接收到所述检索请求后通过预先存储数据接收方合法性状态信息的监管链验证数据接收方的合法性,具体可包括步骤:S121,云服务器接收到所述检索请求后向预先存储数据接收方合法性状态信息的监管链发送数据接收方身份信息;S122,监管链根据数据接收方身份信息判断其上是否存在相应数据接收方且相应数据接收方合法性状态信息为合法,若是,则返回相应数据接收方合法的验证结果至云服务器,若否,则返回相应数据接收方不合法的验证结果至云服务器。该实施例中,可以由监管链验证数据接收方的合法性。
上述步骤S130中,若不合法,则云服务器可以不继续做后续动作,或者可以发送拒绝检索请求的信息给数据接收方。另外,可以在监管链上记录访问记录。若合法,则继续后续步骤。
上述步骤S140中,数据提供方新加入时,可以上传所需信息至数据链,例如,可以在新加入时上传数据密文(隐私信息)、相应检索索引至数据链。检索索引是基于目标属性集并针对上传数据(如其中的关键字)生成,所以只有符合目标属性集要求的数据接收方才能请求到该数据提供方上传的数据。若发现数据接收方的访问结构不符合目标属性集要求,则无法访问到相应数据提供方的上传数据。举例而言,目标属性集例如可以是哪些学校及哪些学院,只有该些学校及学院的数据接收方(访问结构为该学校∩学院)才被允许访问该数据提供方的上传数据。数据链上可以存储有一个数据提供方的多个上传数据对应的各检索索引,还可以包含多个数据提供方的上传数据的检索索引,所以可以对检索索引挨个进行匹配,若有匹配一致的,则得到匹配结果。上述步骤S150中,匹配出检索索引后就知道是哪个数据提供方,则得知相应身份信息。身份信息的具体形式不做限定。
上述步骤S160中,若数据提供方不存在,或即使存在但合法性状态信息显示不合法(或者说无效),则认为不合法。新加入数据提供方可以向属性授权中心注册,监管链可以记录数据提供方相关信息,开始时数据提供方的合法性信息可以是标记为合法(或称为有效)。数据提供方若被发现不合法,可以由数据监管方的用户通知属性授权中心修改其合法性信息以起到监管作用。
具体实施时,上述步骤S160,即,云服务器通过预先存储数据提供方合法性状态信息的监管链根据所述检索结果中数据提供方的身份信息验证相应数据提供方的合法性,具体可包括步骤:S161,云服务器向预先存储数据提供方合法性状态信息的监管链发送数据提供方身份信息;S162,监管链根据数据提供方身份信息判断其上是否存在相应数据提供方且相应数据提供方合法性状态信息为合法,若是,则返回相应数据提供方合法的验证结果至云服务器,若否,则返回相应数据提供方不合法的验证结果至云服务器。该实施例中,可以由监管链验证数据提供方的合法性。
上述步骤S170,云服务器拒绝数据接收方的检索请求可以不做任何动作,或者可以发送拒绝检索请求的信息给数据接收方。数据提供方新加入时可以将各种所需信息上传至云服务器,如对称加密密钥密文、上传数据密文等。代理重加密密钥密文由云服务器进行代理重加密生成,例如,数据提供方利用属性授权中心为其生成的密钥加密对称加密密钥(用来加密上传数据的密钥),该密钥密文上传至云服务器后,通过代理重加密密钥重加密则可以相当于为符合访问条件的数据接收方重新计算数据提供方加密对称加密密钥所用的密钥,从而可以使得,云服务器可以允许其认为符合访问控制的数据接收方直接解密对称加密密钥密文。
上述步骤S180,数据接收方的密钥可以是在其新加入时生成,如由属性授权中心为其生成,由于与代理重加密密钥等基于同样参数生成,所以可以利用数据接收方上的密钥解密云服务器传来(即请求到的)的上传数据密文。
在一些实施例中,所述返回信息还可包括相应数据提供方身份信息及数据链上相应数据内容。图1所述方法所述方法还可包括:S191,数据接收方计算解密得到的数据明文的哈希值,并将计算得到的哈希值与数据链上相应数据内容中对应于数据提供方的上传数据哈希值进行对比;若比对一致,则确定解密得到的数据明文为相应数据提供方的真实数据;若比对不一致,则数据接收方向相应数据提供方的数据监管方发送包含相应数据提供方身份信息和相应上传数据密文的举报信息;S192,数据提供方的数据监管方接收到举报信息后,基于传输给监管方的用于为相应数据提供方生成其密钥参数的参数、该新加入数据提供方到相应的数据监管方的检索路径、以及该新加入数据提供方的合法性初始信息计算密钥参数,利用该密钥参数解密对称加密密钥密文,并利用得到的对称加密密钥解密举报信息中数据提供方身份对应的上传数据密文,以供判断相应数据提供方的上传数据的合法性;在判断数据不合法的情况下,数据监管方发出撤销通知以将相应数据提供方身份信息变更为不合法的信息上传至监管链。
该实施例中,数据接收方拿到上传数据后可以验证其真实性,所需数据可以预先上传至数据链。若数据不真实,可以向数据监管方举报。
进一步地,上述步骤S191中,数据接收方向相应数据提供方的数据监管方发送包含相应数据提供方身份信息和相应上传数据密文的举报信息,更具体地,可包括步骤:S1911,数据接收方向任一个数据监管方发送包含相应数据提供方身份信息和相应上传数据密文的举报信息;若该任一个数据监管方不是相应数据提供方的数据监管方,则该任一个数据监管方根据其上预先存储的数据监管方与数据提供方之间的映射信息找到相应数据提供方的数据监管方,并将该举报信息转发至相应数据提供方的数据监管方。
该实施例中,数据监管方可有多个,不同数据提供方可由相同或不同的数据监管方监管。数据接收方可以向任一个数据监管方举报,若该数据监管方不直接监管相应数据提供方,则可以转发举报信息。
在一些实施例中,图1所述的基于双链架构的可监管数据安全共享方法,还包括:
S1111,新加入数据监管方生成公私钥对并公开公私钥对中的公钥;属性授权中心为新加入数据监管方生成唯一身份标识和从属性授权中心到该新加入数据监管方的检索路径,以用于为数据提供方选择该新加入数据监管方及利用选择的该新加入数据监管方的公钥向选择的该新加入数据监管方加密传输用于为相应数据提供方生成其密钥参数的参数。
属性授权中心初始化生成公共密钥参数;新加入数据提供方持自己的访问结构向属性授权中心发送注册申请;属性授权中心接收到注册申请后为新加入数据提供方选择相应的数据监管方,并生成从该新加入数据提供方到相应的数据监管方的检索路径;属性授权中心根据该新加入数据提供方到相应的数据监管方的检索路径、传输给监管方的用于为相应数据提供方生成其密钥参数的参数以及该新加入数据提供方的合法性初始信息生成密钥参数;属性授权中心根据密钥参数、初始化生成的公共密钥参数及该新加入数据提供方的访问结构生成该新加入数据提供方的密钥和唯一身份标识;属性授权中心将新加入数据提供方的密钥传输给该新加入数据提供方,并根据该数据提供方的唯一身份标识上传该数据提供方的注册记录至监管链;属性授权中心将为新加入数据提供方生成密钥参数所使用的参数加密传输至该新加入数据提供方的数据监管方;其中,注册记录可包括用户的唯一身份标识、合法性初始信息、注册时间等。
S1112,新加入数据提供方随机生成对称加密密钥,并利用该对称加密密钥对其上传数据进行对称加密,得到其上传数据密文;新加入数据提供方利用属性授权中心传输给其的密钥并通过支持关键字检索的属性基代理重加密算法对其生成的对称加密密钥进行加密,得到其对称加密密钥密文;新加入数据提供方以拟共享数据接收方的目标属性集作为限制条件生成代理重加密密钥;新加入数据提供方将上传数据密文、对称加密密钥密文、及代理重加密密钥上传至云服务器;云服务器利用代理重加密密钥对对称加密密钥密文进行重加密,得到对称加密密钥的代理重加密密钥密文,以用于使云服务器确认合法的数据接收方能够得到对称加密密钥明文;新加入数据提供方选取上传数据中的关键字生成相应的检索索引,并将上传数据的元数据、检索索引及上传数据密文的哈希值上传至数据链。
S1113,属性授权中心基于密钥参数、公共密钥参数和新接入数据接收方的访问结构为新加入数据接收方生成密钥,并将为新加入数据接收方生成的密钥传输至该新加入数据接收方,以使该新加入数据接收方利用为其生成的密钥解密其从云服务器所获取的相应数据提供方的上传数据密文。
在一些实施例中,在数据链上可以以包含交易编号(Tx ID)、操作(Action)、身份标识信息(identity)、用户角色(Role)、数据内容(Data content)、时间戳(Timestamp)、及合法性状态(Status)的交易数据结构对访问数据链的交易进行记录;在监管链上可以以包含交易编号(Tx ID)、发起方(Initiator)、操作(Action)、身份标识信息(identity)、用户角色(Role)、数据(Data)、时间戳(Timestamp)、及合法性状态(Status)的交易数据结构对访问监管链的交易进行记录。
在一些实施例中,如果数据提供方合法,则云服务器将包括其上预先存储的所述检索结果中数据提供方的身份信息及数据链上相应数据内容对应的利用代理重加密密钥重加密生成的代理重加密密钥密文和相应的上传数据密文的返回信息发送至数据接收方之后,图1所述方法还可包括步骤:在监管链上针对相应数据提供方的上传数据共享给相应数据接收方进行共享记录。
在一些实施例中,公共密钥参数可包括:设定有效椭圆曲线的参数、两个设定阶数的群、双线性映射的参数,一个群的两个生成元、哈希函数的参数、生成元的映射;相应对称加密密钥在生成时所用的随机数。其中,公共密钥参数可由属性授权中心生成,主要用于为数据提供方及数据接收方生成密钥,而相应的对称密钥可由数据提供方生成且不公开,用于对数据提供方上传数据的加密。
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
图2是基于双链架构的可监管数据安全共享方法模型,图3是可监管数据安全共享方法双链架构及包含角色,图4是可监管数据安全共享方法用户及监管方密钥生成流程,图5是可监管数据安全共享方法用户分层密钥追踪树,图6是可监管数据安全共享方法双链RBC结构,图7是可监管数据安全共享方法数据共享流程,图8是可监管数据安全共享方法双链DBC结构,图9是可监管数据安全共享方法数据监管流程。本实施例的基于双链架构的可监管数据安全共享方法模型如图2所示,包括存储层、区块链层、数据层以及用户层。①存储层利用云服务器进行存储,其被假设为半诚信服务器,即遵循数据共享流程操作,但试图从获得的数据中推测隐私信息。本发明中利用云服务器存储来自数据提供方的加密数据和用于解密和搜索的其他关键数据。云服务器为本发明提供数据上传和下载服务,与双链的交互以及用户身份验证。②区块链层构建了双链架构,包括监管链RBC和数据链DBC,如图3所示,其中RBC用来存储用户的密钥追踪记录以及隐私信息的共享记录,并验证数据提供方和接收方身份,便于不良内容上链后对数据和用户进行追责和监管,其节点包括监管部门、法律部门、政府部门等高可信的机构和节点,而DBC则用来存储数据提供方的关键数据及隐私信息的哈希值,便于接收方接收后对数据的真实性与完整性进行验证。③数据层主要包括在隐私信息在共享过程中生成的各种关键数据,包括隐私信息、上传数据密文、对称加密密钥密文、代理重加密密钥密文、关键字检索索引、关键字检索陷门等。④用户层包括本发明中的主要参与角色,包括属性授权中心、数据监管方、数据提供方和数据接收方,其中数据提供方和数据接收方统称为数据用户。
基于双链架构的可监管数据安全共享方法所基于的***中,角色主要包括:属性授权中心AA、数据监管方DR、数据提供方DO、数据接收方DU以及云服务器CS。
属性授权中心AA为第三方可信机构,主要负责生成***公共参数、***主密钥、密钥参数、数据监管方与用户(包括数据提供方与数据监管方)之间的关联监管路径、数据监管方与用户各自唯一的标识以及用户的密钥;同时,当数据提供方的不合法数据内容举报验证成功时,属性授权中心AA有权撤销非法数据提供方的位置,并将该位置重新分配给新加入的数据提供方并为其生成密钥。
数据监管方DR为高度可信的节点,是数据安全共享健康环境的营造者和维护者;为了实现有效的监督,数据监管方具备能够直接解密数据提供方用于加密信息的对称加密密钥的能力;当监管和追责规则被触发,即收到来自数据接收方的举报信息,数据监管方将发挥其作用来维护健康的数据共享环境。
数据所有者(数据提供方)DO为共享的隐私信息的持有者;他们的密钥由AA生成和分配相应的数据监管方进行监管;数据提供方主要负责使用对称加密算法加密隐私信息,利用支持关键字检索的属性代理重加密算法(ABPRE-KS)加密对称加密密钥,生成重加密密钥,并将所有加密信息打包存储在云服务器上,同时将元数据、关键字检索索引和隐私信息的哈希值上传到数据链DBC。
数据接收方DU为共享隐私信息的请求者;类似于数据提供方,他们的密钥由AA生成且也受相应的监管方的监管;当数据接收方想获取某些隐私信息时,他首先创建拟检索的关键词的检索陷门,将其发送给云服务器;经过双重身份合法性验证后,利用属性授权中心为其生成的密钥解密云服务器CS重加密的密钥密文获得对称加密密钥进而解密获得数据提供方DO的隐私信息;此外,数据接收方有权在解密密文后向数据监管方DR举报不合法的信息内容。
云服务器CS为半诚信服务器,即遵循共享过程每一步的执行,但对隐私数据保持好奇,总是试图从已经获得的数据中推测数据提供方明文隐私信息;云服务器CS主要负责存储加密的隐私信息、对称加密密钥密文、数据提供方的检索索引和代理重加密密钥密文,重加密对称加密密钥密文,验证用户身份的合法性和有效性,并与双链进行交互。
在一实施例中,基于双链架构的可监管数据安全共享方法的具体实施方式,包括步骤如下:
S1:***初始化。AA生成***主密钥和公共参数。数据监管方生成自己的公私钥对,并将自己的公钥公开。AA根据数据监管方的公钥为其生成唯一的身份标识及可行的检索路径。对于数据提供方,AA首先为数据提供方协商相应的数据监管方并生成检索路径,随后传输给相应的数据监管方加密参数并基于该参数、检索路径、节点状态生成密钥参数,并基于密钥参数、公共参数、访问结构(包含属性集,例如,学生、学院、班级;访问结构除了包含属性信息还包含信息的层级关系)等信息为数据提供方生成密钥及唯一的身份标识。最后上传用户注册记录到RBC以便于监管。
上述步骤S1中,数据监管方的密钥追踪及与AA之间的参数加密传输所选择的加密算法为SM2公钥加密算法,其是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。此外,为了生成数据提供方的密钥并保证数据监管方的监管能力,本实施例中数据监管方生成公私钥对之后将公钥全网公开,AA用数据监管方的公钥对传输的参数进行加密(该参数用于后续数据监管方收到举报信息时生成密钥参数来直接解密数据提供方生成的对称加密密钥密文),同时生成“AA→数据监管方”、“AA→数据监管方→数据提供方”的检索路径,基于该参数、检索路径、节点状态为数据提供方生成密钥参数,并基于密钥参数、访问结构、公共参数等信息为数据提供方生成密钥。由此,AA、数据监管方与数据提供方之间将形成分层的密钥追踪树,数据监管方可根据与AA交互的信息自行推断数据提供方的密钥参数以实现监管,而数据提供方无法推测其监管方密钥,也无法推测其他数据提供方的密钥,即使受同一数据监管方监管。
上述步骤S1中,如图4所示,属性授权中心AA生成***主密钥和公共参数。数据监管方DR生成自己的公私钥对,并将自己的公钥公开。AA根据数据监管方的公钥为其生成唯一的身份标识及可行有效的检索路径。数据提供方的密钥(数据提供方的密钥为基于属性基加密的密钥)由AA生成,AA首先为数据提供方协商相应的数据监管方并生成检索路径,随后传输给相应的数据监管方加密后的参数并基于该参数、检索路径、节点状态、访问结构等信息为数据提供方生成密钥及唯一的身份标识。最后上传用户注册记录到RBC以便于监管。具体生成过程如下:
1)属性授权中心AA首先定义一个有效的椭圆曲线F q (q是奇素数且大于3)、两个p阶群G 1 ,G 2 和一个双线性映射,其中,F q 是阶为q的循环群,g 1 ,g 2 是G 1 的两个生成元,随后定义一个全局属性集并选择三个哈希函数:H:{0,1}*→Zp *、H 1 :{0,1}*→G 1 和H 2 :{0,1}*→Zp *,其中,哈希函数H:{0,1}*→Zp *表示任意长度的二进制字符串映射到阶为p的整数群(除0之外)的哈希函数,H 1 :{0,1}*→G 1 表示任意长度的二进制字符串映射到p阶群G 1 的哈希函数,H 2 :{0,1}*→Zp *表示任意长度的二进制字符串映射到阶为p的整数群(除0之外)的哈希函数,随机选择y∈Zp *计算,其中,表示双线性映射计算式,y为p阶整数群(除0之外)中任意选取的数,随后为每个属性选择t i ∈Zp *,最后,属性授权中心AA生成主密钥{ ,t i }和公共参数{p,q,F q ,G 1 ,G 2 ,g 1 ,g 2 , ,H,H 1 ,H 2 ,Y,A i },其中,y为随机生成的秘密值,t i 是为每个属性生成的属性值,公共参数主要用于生成新加入数据提供方及数据接收方的密钥及重加密密钥、加解密数据共享的数据以及生成包含关键字的检索索引及检索陷门。
2)本实施例引入了一个用户分层密钥追踪树,如图5所示,能够保证监管方有权直接验证和处理非法用户。针对不同角色的不同密钥追踪策略可分为以下两种:
监管方i的密钥生成策略:监管方被假定为高度可信的节点,监管方i首先生成一个随机数dDR∈[1,n-2]作为私钥,计算其公钥PDR,并将公钥全网公开,其中公钥计算公式为:
PDR=(xP,yP )=[dDR ]G;
其中,G是椭圆曲线的一个基点,n为G的阶,PDR即(xP,yP )为椭圆曲线上通过G点的倍乘运算计算得到的点,即为公钥,下标DR表示数据监管方,p表示公钥。
随后,AA将为监管方i生成唯一的身份标识DRi,uid和相应的检索路径pathDRi。
数据提供方j的密钥生成策略:为了实现数据及用户的有效监管,当数据提供方节点j加入时,AA与监管方协商为其选择合适的位置与相应的监管方i,生成从AA到该数据提供者的检索路径pathj。随后,AA将为数据提供方j选择长度为klen的随机参数αi,j∈Zp *,用于后续数据监管方收到举报信息时直接解密数据提供方生成的对称加密密钥,其中下角标表示数据提供方j受监管方i的监管,且Zp *是除0外的阶为p的群。随后,AA利用相应监管方的公钥PDR采用SM2加密算法对参数αi,j进行加密得到αi,j的参数密文Cαi,j,并将其发给相应的监管方。其中,Cαi,j为属性授权中心传输给数据监管方的参数αi,j的密文(传输给监管方的参数的密文,监管方可解密获得该参数,并利用该参数生成密钥参数来解密对称加密密钥),后续数据监管方收到举报信息时可解密获得该参数,并利用该参数解密对称加密密钥。
其中,Encpke(PDRi, αi,j)表示利用数据监管方公钥PDRi通过公钥加密算法加密参数αi,j,下标pke表示公钥加密算法。AA根据pathj、αi,j及节点状态Sj生成密钥参数δj如下:
其中,Sj表示节点的状态,其正常值为0,若节点已被撤销即为1。本实施例中该值的初始值均为0,假设其加入时未被撤销,同时本发明只提供一次撤销节点的机会。用户访问结构包含用户的属性信息及它们间关系。对于持有访问结构γj的数据提供方j,AA选择两个随机数r,ri∈Zp *并计算:
为组成数据提供方密钥的各部分成分,g1,g2是p阶群G 1 的两个生成元,y是随机生成的秘密值,t i 是为每个属性生成的属性值,H 1 表示任意长度的二进制字符串映射到p阶群G 1 的哈希函数,Aj表示数据提供方j的属性。最后数据提供方的密钥将被整合形成,且AA将为其生成唯一的身份标识DOj,uid。
3)为了更好地执行跟踪非法用户的功能,AA负责生成相关的注册记录,并在生成密钥后上传至RBC。本实施例定义了RBC上的交易数据结构,如表1所示,其中每个交易代表一个用户的注册记录。
表1 RBC上的交易数据结构
表中“ID”表示记录编号,“发起人”表示该操作是由谁发起或执行的,“Act”为操作类型,其中“Re”为注册,“Un”为撤销,“Ve”为验证,“Sh”为共享,“Identity”为注册用户的唯一标识,“Role”为注册用户的类型,即为监管方或数据用户,“Data”包括AA到监管方或数据用户的检索路径,“Timestamp”表示注册用户的加入时间,“St”为节点状态,表示注册用户的状态正常或已被撤销。在RBC上,多条交易数据形成交易数据块,并经过层层哈希计算获得所有交易数据块的默克尔根(Merkle root)哈希值,并将其存储与区块链块头中,最终多个区块组合形成区块链结构,如图6所示。
S2:隐私信息加密。数据提供方首先对其隐私信息采用对称加密算法进行加密得到数据密文,并利用支持关键字检索的属性基代理重加密算法(ABPRE-KS)加密对称加密密钥得到对称加密密钥密文。
上述步骤S2中,云服务器的使用解决了用户海量数据的存储压力,提高了数据共享的灵活性,但半诚信的云服务器使得数据存在隐私泄露的风险。本实施例中数据提供方首先利用对称加密算法对隐私信息进行加密,而对称加密密钥利用ABPRE-KS算法加密传输,这使得半诚信云服务器无法获得数据提供方的数据,保证了云上存储的数据的安全性和隐私性。
上述步骤S2中,加密隐私信息的对称加密密钥利用ABPRE-KS算法进行加密,该算法结合了基于属性的代理重加密算法和关键字检索算法,保证了数据在密文状态下的安全共享且只有密文的属性集合满足用户密钥中的访问结构才能解密数据,为用户间的数据共享提供了更加灵活的访问控制。
上述步骤S2中,如图7所示,为了保证数据隐私安全,数据提供方j首先生成一个随机密钥sekDOj∈Zp *作为对称加密密钥:
sekDOj=random();
并利用其对隐私信息M进行加密获得数据密文Cdata:
Cdata=Encsym (sekDOj,M);
其中,random()表示随机数生成函数,Encsym(sekDOj,M)表示利用对称加密密钥sekDOj通过对称加密算法加密信息M,下标sym表示对称加密算法。随后,在后述步骤S3中,基于属性集{Aj}对sekDOj进行加密,数据提供方j利用δj计算:
Ckey=sekDOj⋅Yδj;
C1=g1 δj;
C2=g2 δj;
C3,j=H1 (Aj )δj。
形成密钥密文Cori={Ckey,C1,C2,C3,j}。其中,Cori表示对称加密密钥经ABPRE-KS算法加密后的对称加密密钥密文,δj表示数据提供方j的密钥参数,Ckey表示对对称加密密钥加密的密文部分,C1、C2、C3,j为用于访问策略匹配计算的密文部分,Aj为数据提供方j的属性信息。
S3:生成重加密密钥。为了限制对数据提供方数据的访问,数据提供方设定拟共享的接收方的目标属性集作为限制条件生成相应的重加密密钥。
上述步骤S3中,如图7所示,为了限制对数据提供方数据的访问,其利用拟共享的接收方的目标属性集{Ak}作为限制条件生成相应的重加密密钥。持有访问结构γj的数据提供方j选择l,ν1∈Zp *,ξ∈G2,生成重加密密钥:
其中,rek1、rek2、rek3,j、rek4,j、C1’、j为重加密密钥的各组成部分,l,ν1为除0外的阶为p的群中的随机数,ξ为G2中的元素。
S4:生成检索索引。当密文的属性集合满足数据接收方密钥中的访问结构时才允许访问获取数据提供方的隐私信息。数据提供方将选取拟共享数据相关的关键词并生成关键词检索索引。随后,数据提供方打包数据密文、对称加密密钥密文与代理重加密密钥发送给云服务器。同时,数据提供方将上传相关的元数据、关键字检索索引和隐私信息的哈希值到DBC。
上述步骤S4中,数据提供方将上传相关的元数据、关键字检索索引和隐私信息的哈希值到DBC,该哈希函数可选择SHA256哈希算法,该算法保证了数据接收方在解密隐私数据后,可进行哈希计算对解密的数据进行验证以判断数据是否被篡改。
上述步骤S4中,如图7所示,关键字索引有助于隐私数据在密文状态下的安全检索进而促进数据共享,当密文的属性集合{Ak}满足数据接收方密钥中的访问结构时允许请求访问与获取数据提供方的隐私数据。数据提供方将选择ν2∈Zp *并生成关键字w的检索索引SI={ksi0,ksi1,ksi2,ksi3,k}:
其中,ksi0,ksi1,ksi2,ksi3,k是检索索引的各组成部分,ν2为除0外的阶为p的整数群中的随机数,Ak为数据接收方k的属性信息,w为关键字。
随后,数据提供方打包数据密文Cdata、对称加密密钥密文Cori与代理重加密密钥RK发送给云服务器。同时,数据提供方将上传相关的元数据、关键字索引和隐私信息的哈希值Hash(M)到DBC。其中Hash()可选择SHA256哈希算法,同时DBC上的交易数据结构如表2所示。
表2 DBC上的交易数据结构
表中“ID”表示记录编号,“Identity”为用户的唯一标识,“Role”为用户的类型,即为数据提供方或数据接收方,“Data”包括上传到链上保存并可追溯的信息,“Act”为操作类型,其中Up表示上传数据,Se表示检索数据,“Timestamp”表示注册用户的加入时间,“Sign”表示数据用户的签名。在DBC上多条交易数据形成交易数据块,并经过层层哈希计算获得所有交易数据块的默克尔根哈希值,并将其存储与区块链块头中,最终多个区块组合形成如图8的区块链结构。
S5:密文重加密。云服务器收到数据提供方发来的数据之后利用重加密密钥对对称加密密钥密文进行重加密,并对代理重加密密钥密文进行存储;
上述步骤S5中,云服务器作为代理服务器对密文进行重加密,为本发明提供了强有力的算力支持。将重加密任务交给云服务器完成,使得数据在上传后数据提供方即可离线,无需实时在线等待。
S6:生成检索陷门。当数据接收方想要获得包含某个关键字的数据时,他将根据他的访问结构生成一个该关键字的检索陷门并发送检索请求和陷门给云服务器。
随后数据接收方发送检索请求和陷门给云服务器。
S7:检测陷门有效性。为了保证对数据的合法访问,云服务器首先通过RBC验证数据接收方的合法性。如果接收方不存在或其状态值为1(已被撤销),则RBC返回⊥给云服务器,否则,云服务器将发送检索请求给DBC,链上的节点将首先在它的副本上匹配检索索引和检索陷门。如果匹配通过,则证明陷门有效,DBC将检索结果及相关链上数据内容发给云服务器。随后,云服务器向RBC验证检索完成的数据的提供方的身份合法性,如果验证通过,它将发送重加密密钥密文及数据密文给数据接收方并将共享记录上传RBC,否则,则输出⊥。
上述步骤S7中,RBC对数据提供方和接收方身份的双重验证,保证了上传不合法数据内容而被撤销权限的用户将无法再上传数据,也无法共享别人的数据,同时其已上传的数据也无法再进行共享。
上述步骤S7中,如图7所示,为了保证对数据的合法访问,云服务器首先通过RBC验证接收方的合法性。如果接收方不存在或其状态值为1,则RBC返回⊥给云服务器,否则,云服务器将发送检索请求给DBC,如表2所示。随后DBC上的节点将首先在它的账本上匹配索引和检索陷门。匹配算法为:
其中,表示连续求积。如果算法匹配通过,则证明陷门有效,DBC将检索结果及相关链上数据内容发给云服务器。此后,云服务器向RBC验证检索数据的提供方的身份合法性,如果验证通过,它将发送重加密密钥密文Creenc及数据密文Cdata给数据接收方并将共享记录上传RBC,如表3所示,其中“st”表示验证结果,通过为0,否则,则输出⊥,且“st”为1。
表3 RBC上的交易数据结构
S8:解密重加密密文。数据接收方收到数据密文和重加密密文后,利用属性授权中心为其生成的密钥解密重加密密钥密文获得对称加密的密钥,并利用该密钥解密上传数据密文,最终获得数据提供方的隐私信息。同时,为保证数据完整性与真实性,接收方可将解密获得的隐私信息进行哈希计算与DBC上的数据进行对比,如果一致则证明该数据确实为数据提供方的真实数据。
上述步骤S8中,如图7所示,数据接收方收到数据密文Cdata和重加密密钥密文Creenc后,首先利用属性授权中心为其生成的密钥计算ξ:
随后解密重加密密钥密文Creenc获得对称加密的密钥:
最后,数据接收方使用密钥sekDOj解密隐私信息M':
其中,M’表示解密后获得的隐私信息,Decsym(sekDOj,Cdata)表示利用对称加密密钥sekDOj通过对称加密算法解密数据密文Cdata,下标sym表示对称加密算法。为保证数据完整性与真实性,接收方可将解密获得的数据M'进行哈希计算获得哈希值与DBC上的数据进行对比,如果Hash(M' )=Hash(M)则证明该数据确实为数据提供方的真实数据。
S9:数据监管与用户追责。触发监管追责的规则是监管方收到数据接收方对隐私信息不合法内容的举报。数据接收方解密获得数据提供方的隐私数据后,将对数据密文进行判断,如果认为是不合法内容,则向监管方发起举报。收到举报后,监管方首先利用自己的私钥解密AA发送的参数,基于该参数、该新加入数据提供方到相应的数据监管方的检索路径、以及该新加入数据提供方的合法性初始信息计算密钥参数,利用该密钥参数解密对称加密密钥密文,并进一步解密得到数据提供方的隐私信息。随后监管方将对隐私信息进行判断,如果认定不合法则通知AA将相应的数据提供方的状态置为1,即撤销状态。
上述步骤9中,监管方被设定为是高度可信的,对数据提供方的数据内容具有直接解密并验证的能力。一旦数据提供方的数据内容被验证不合法,则监管方将通知AA撤销其权限,当新节点加入时,AA将与监管方协商把该位置分配给新节点并为其生成密钥。存在一种特殊情况,即数据接收方解密获得隐私数据内容后虽认为其不合法但未进行举报。针对这种情况,监管方自收到来自其他用户关于该数据内容的举报开始,通过RBC追踪在用户举报前的所有下载了该隐私信息内容的数据接收方,对其进行重点监督,定期查验其是否对已下载的数据进行了再次共享,一旦发现,即撤销其权限。
上述步骤9中,如图9所示,数据接收方k解密获得数据提供方j的隐私数据后,将对数据密文进行判断,如认为是不合法内容,则向监管方进行举报。收到举报后,监管方将查询该数据提供方j直接相关的监管方i,随后相应的监管方i首先利用其私钥解密AA发给他的参数密文Cαi,j:
其中,Decpke(dDRi, Cαi,j)表示利用数据监管方私钥dDRi通过公钥加密算法解密参数密文Cαi,j,下标pke表示公钥加密算法。随后监管方i可根据pathj、αi,j及节点状态自己计算得到相应数据提供方j的密钥参数δj,进而解密获得对称加密密钥sekDOj:
监管方利用sekDOj解密数据提供方的隐私数据M',其可先通过DBC验证数据的真实性与完整性,并对其合法性进行判断。如果认定不合法则通知AA将相应的数据提供方的状态置为S'=S+1,即为1,表示节点撤销状态。最后,AA将数据提供方密钥撤销操作记录到RBC上,其具有如下结构:
表4 RBC上的交易数据结构
本实施例中,设计了一种双链结构,包括监管链RBC和数据链DBC,其中监管链RBC用来存储用户的密钥生成记录以及隐私信息的共享记录,并验证数据提供方和接收方身份,便于不良内容上链后对数据和用户进行追责和监管,而DBC则用来存储数据提供方的关键数据及隐私信息的哈希值,便于数据接收方接收后对数据的真实性与完整性进行验证。
实施本发明的一种基于双链架构的可监管数据安全共享方法,具有以下有益效果:
区块链技术能够良好地解决传统中心化方案存在数据缺乏可信度、数据流向不透明、事后难以追责的问题。相较于传统基于区块链的数据共享方案,本发明搭建了双链结构,包括监管链RBC和数据链DBC,分别用于记录不同的数据,在保证数据隐私安全的条件下实现对数据的可监管,同时保证了上传不合法数据内容的数据提供方无法再参与数据共享过程。
本发明将隐私数据加密后上传云服务器,并使用云服务器作为代理服务器重加密数据密文,在避免云上数据泄露的同时充分利用了云服务器强有力的计算能力,同时也使得数据提供方在上传数据给云服务器之后的多轮共享交互中无需实时在线。
本发明利用ABPRE-KS算法对数据进行加密,该算法为数据共享提供了数据在密文状态下的安全共享以及灵活的访问控制,同时数据提供方对访问自己数据的用户具有决定权。基于该算法,本发明在该算法中引入了用户分层密钥追踪树,保证监管方在实施监管与追责时能够直接获取并验证数据内容,为监管方提供了合理且直接有效的监管方式。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于双链架构的可监管数据安全共享方法,其特征在于,包括:
数据接收方根据其访问结构为欲获取数据所包含的设定关键字生成检索陷门,并发送包含所述检索陷门的检索请求至云服务器;其中,访问结构包含数据接收方的属性信息及其之间的关系;
云服务器接收到所述检索请求后通过预先存储数据接收方合法性状态信息的监管链验证数据接收方的合法性;
如果数据接收方不合法,则云服务器拒绝数据接收方的检索请求;如果数据接收方合法,则云服务器将所述检索请求转发至数据链;
数据链将所述检索请求中的检索陷门与数据链上存储的基于目标属性集且对应于数据提供方的上传数据生成的检索索引进行匹配;
如果匹配通过,则数据链将包含匹配出的检索索引对应的数据提供方的身份信息及数据链上相应数据内容的检索结果发送至云服务器;
云服务器通过预先存储数据提供方合法性状态信息的监管链根据所述检索结果中数据提供方的身份信息验证相应数据提供方的合法性;
如果数据提供方不合法,则云服务器拒绝数据接收方的检索请求;如果数据提供方合法,则云服务器将包括其上预先存储的所述检索结果中数据提供方的身份信息及数据链上相应数据内容对应的利用代理重加密密钥重加密生成的代理重加密密钥密文和相应的上传数据密文的返回信息发送至数据接收方;
数据接收方利用其基于密钥参数、公共密钥参数和其访问结构生成的密钥解密返回信息中的代理重加密密钥密文,得到返回信息中上传数据密文的对称加密密钥,并利用该对称加密密钥解密上传数据密文,得到相应数据明文;所述返回信息还包括相应数据提供方身份信息及数据链上相应数据内容;
数据接收方计算解密得到的数据明文的哈希值,并将计算得到的哈希值与数据链上相应数据内容中对应于数据提供方的上传数据哈希值进行对比;若比对一致,则确定解密得到的数据明文为相应数据提供方的真实数据;若比对不一致,则数据接收方向相应数据提供方的数据监管方发送包含相应数据提供方身份信息和相应上传数据密文的举报信息;
数据提供方的数据监管方接收到举报信息后,基于传输给监管方的用于为相应数据提供方生成其密钥参数的参数、新加入数据提供方到相应的数据监管方的检索路径、以及该新加入数据提供方的合法性初始信息计算密钥参数,利用该密钥参数解密对称加密密钥密文,并利用得到的对称加密密钥解密举报信息中数据提供方身份对应的上传数据密文,以供判断相应数据提供方的上传数据的合法性;在判断数据不合法的情况下,数据监管方发出撤销通知以将相应数据提供方身份信息变更为不合法的信息上传至监管链。
2.如权利要求1所述的基于双链架构的可监管数据安全共享方法,其特征在于,
云服务器接收到所述检索请求后通过预先存储数据接收方合法性状态信息的监管链验证数据接收方的合法性,包括:
云服务器接收到所述检索请求后向预先存储数据接收方合法性状态信息的监管链发送数据接收方身份信息;
监管链根据数据接收方身份信息判断其上是否存在相应数据接收方且相应数据接收方合法性状态信息为合法,若是,则返回相应数据接收方合法的验证结果至云服务器,若否,则返回相应数据接收方不合法的验证结果至云服务器;
云服务器通过预先存储数据提供方合法性状态信息的监管链根据所述检索结果中数据提供方的身份信息验证相应数据提供方的合法性,包括:
云服务器向预先存储数据提供方合法性状态信息的监管链发送数据提供方身份信息;
监管链根据数据提供方身份信息判断其上是否存在相应数据提供方且相应数据提供方合法性状态信息为合法,若是,则返回相应数据提供方合法的验证结果至云服务器,若否,则返回相应数据提供方不合法的验证结果至云服务器。
3.如权利要求1所述的基于双链架构的可监管数据安全共享方法,其特征在于,数据接收方向相应数据提供方的数据监管方发送包含相应数据提供方身份信息和相应上传数据密文的举报信息,包括:
数据接收方向任一个数据监管方发送包含相应数据提供方身份信息和相应上传数据密文的举报信息;若该任一个数据监管方不是相应数据提供方的数据监管方,则该任一个数据监管方根据其上预先存储的数据监管方与数据提供方之间的映射信息找到相应数据提供方的数据监管方,并将该举报信息转发至相应数据提供方的数据监管方。
4.如权利要求1所述的基于双链架构的可监管数据安全共享方法,其特征在于,还包括:
新加入数据监管方生成公私钥对并公开公私钥对中的公钥;属性授权中心为新加入数据监管方生成唯一身份标识和从属性授权中心到该新加入数据监管方的检索路径,以用于为数据提供方选择该新加入数据监管方及利用选择的该新加入数据监管方的公钥向选择的该新加入数据监管方加密传输用于为相应数据提供方生成其密钥参数的参数;
属性授权中心初始化生成公共密钥参数;新加入数据提供方持自己的访问结构向属性授权中心发送注册申请;属性授权中心接收到注册申请后为新加入数据提供方选择相应的数据监管方,并生成从该新加入数据提供方到相应的数据监管方的检索路径;属性授权中心根据该新加入数据提供方到相应的数据监管方的检索路径、传输给监管方的用于为相应数据提供方生成其密钥参数的参数以及该新加入数据提供方的合法性初始信息生成密钥参数;属性授权中心根据密钥参数、初始化生成的公共密钥参数及该新加入数据提供方的访问结构生成该新加入数据提供方的密钥和唯一身份标识;属性授权中心将新加入数据提供方的密钥传输给该新加入数据提供方,并根据该数据提供方的唯一身份标识上传该数据提供方的注册记录至监管链,其中注册记录包括用户的唯一身份标识、合法性初始信息、注册时间;属性授权中心将为新加入数据提供方生成密钥参数所使用的参数加密传输至该新加入数据提供方的数据监管方;
新加入数据提供方随机生成对称加密密钥,并利用该对称加密密钥对其上传数据进行对称加密,得到其上传数据密文;新加入数据提供方利用属性授权中心传输给其的密钥并通过支持关键字检索的属性基代理重加密算法对其生成的对称加密密钥进行加密,得到其对称加密密钥密文;新加入数据提供方以拟共享数据接收方的目标属性集作为限制条件生成代理重加密密钥;新加入数据提供方将上传数据密文、对称加密密钥密文、及代理重加密密钥上传至云服务器;云服务器利用代理重加密密钥对对称加密密钥密文进行重加密,得到对称加密密钥的代理重加密密钥密文,以用于使云服务器确认合法的数据接收方能够得到对称加密密钥明文;新加入数据提供方选取上传数据中的关键字生成相应的检索索引,并将上传数据的元数据、检索索引及上传数据密文的哈希值上传至数据链;
属性授权中心基于密钥参数、公共密钥参数和新加入数据接收方的访问结构为新加入数据接收方生成密钥,并将为新加入数据接收方生成的密钥传输至该新加入数据接收方,以使该新加入数据接收方利用为其生成的密钥解密其从云服务器所获取的相应数据提供方的上传数据密文。
5.如权利要求1所述的基于双链架构的可监管数据安全共享方法,其特征在于,在数据链上以包含交易编号、发起方、操作、身份标识信息、用户角色、数据、时间戳、及合法性状态的交易数据结构对访问数据链的交易进行记录;在监管链上以包含交易编号、发起方、操作、身份标识信息、用户角色、数据、时间戳、及合法性状态的交易数据结构对访问监管链的交易进行记录。
6.如权利要求1所述的基于双链架构的可监管数据安全共享方法,其特征在于,如果数据提供方合法,则云服务器将包括其上预先存储的所述检索结果中数据提供方的身份信息及数据链上相应数据内容对应的利用代理重加密密钥重加密生成的代理重加密密钥密文和相应的上传数据密文的返回信息发送至数据接收方之后,所述方法,还包括:
在监管链上针对相应数据提供方的上传数据共享给相应数据接收方进行共享记录。
7.如权利要求1所述的基于双链架构的可监管数据安全共享方法,其特征在于,公共密钥参数包括:设定有效椭圆曲线的参数、两个设定阶数的群、双线性映射的参数,一个群的两个生成元、哈希函数的参数、生成元的映射;相应对称加密密钥在生成时所用的随机数。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111471620.XA CN113868708B (zh) | 2021-12-03 | 2021-12-03 | 基于双链架构的可监管数据安全共享方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111471620.XA CN113868708B (zh) | 2021-12-03 | 2021-12-03 | 基于双链架构的可监管数据安全共享方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113868708A CN113868708A (zh) | 2021-12-31 |
CN113868708B true CN113868708B (zh) | 2022-03-08 |
Family
ID=78985932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111471620.XA Active CN113868708B (zh) | 2021-12-03 | 2021-12-03 | 基于双链架构的可监管数据安全共享方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113868708B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114520747B (zh) * | 2022-04-21 | 2022-08-30 | 山东省计算中心(国家超级计算济南中心) | 一种以数据为中心的数据安全共享***和方法 |
CN115118751B (zh) * | 2022-07-15 | 2024-04-19 | 广东浪潮智慧计算技术有限公司 | 一种基于区块链的监管***、方法、设备和介质 |
CN116127507B (zh) * | 2022-12-27 | 2024-04-26 | 北京菱云科技有限公司 | 一种多方零拷贝的车辆数字档案构建方法及*** |
CN116070279B (zh) * | 2023-03-22 | 2023-07-04 | 深圳市于易点科技有限公司 | 基于区块链的网络安全信息共享方法及*** |
CN117155715B (zh) * | 2023-10-31 | 2024-02-02 | 中债金科信息技术有限公司 | 基于区块链的金融数据共享方法、装置、设备和存储介质 |
CN117640255B (zh) * | 2024-01-25 | 2024-04-09 | 齐鲁工业大学(山东省科学院) | 防诬陷可搜索的物联网数据共享方法及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660555B (zh) * | 2019-01-09 | 2020-07-14 | 上海交通大学 | 基于代理重加密的内容安全分享方法和*** |
CN110109930B (zh) * | 2019-05-15 | 2020-07-03 | 山东省计算中心(国家超级计算济南中心) | 基于区块链双链结构的政务数据存储、查询方法及*** |
JP2023518981A (ja) * | 2020-03-24 | 2023-05-09 | セキュレンシー、インコーポレイテッド | コンピュータ・ネットワーク上のセキュアな多国間データ交換のための方法、装置、及びコンピュータ可読媒体 |
CN111786994B (zh) * | 2020-06-30 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法及相关设备 |
-
2021
- 2021-12-03 CN CN202111471620.XA patent/CN113868708B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113868708A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113868708B (zh) | 基于双链架构的可监管数据安全共享方法及设备 | |
Sun | Privacy protection and data security in cloud computing: a survey, challenges, and solutions | |
US20190065764A1 (en) | Secret Data Access Control Systems and Methods | |
Samanthula et al. | A secure data sharing and query processing framework via federation of cloud computing | |
Li et al. | Meta-key: A secure data-sharing protocol under blockchain-based decentralized storage architecture | |
CN108989026B (zh) | 一种发布/订阅环境下用户属性可撤销的方法 | |
Sun et al. | A searchable personal health records framework with fine-grained access control in cloud-fog computing | |
Huang et al. | A medical data privacy protection scheme based on blockchain and cloud computing | |
Zhao et al. | Are you the one to share? Secret transfer with access structure | |
John et al. | Provably secure data sharing approach for personal health records in cloud storage using session password, data access key, and circular interpolation | |
Bhandari et al. | A framework for data security and storage in Cloud Computing | |
Xu et al. | PPSEB: A Postquantum Public‐Key Searchable Encryption Scheme on Blockchain for E‐Healthcare Scenarios | |
CN115964751A (zh) | 一种属性分类和等级划分的数据安全存储与访问控制方法 | |
Padhya et al. | BTG-RKASE: Privacy Preserving Revocable Key Aggregate Searchable Encryption with Fine-grained Multi-delegation & Break-The-Glass Access Control. | |
Ramachandran et al. | Secure and efficient data forwarding in untrusted cloud environment | |
Peng et al. | A Secure Signcryption Scheme for Electronic Health Records Sharing in Blockchain. | |
CN115250205B (zh) | 基于联盟链的数据共享方法、***、电子设备及存储介质 | |
Fan et al. | Making public key functional encryption function private, distributively | |
Wang et al. | Secure decision tree classification with decentralized authorization and access control | |
Li | A Blockchain‐Based Verifiable User Data Access Control Policy for Secured Cloud Data Storage | |
Sunil Kumar et al. | A Data Privacy Approach Using Shamir’s Secret Scheme in Permissioned Blockchain | |
Shuai et al. | Publishing and sharing encrypted data with potential friends in online social networks | |
Feng et al. | Secure and flexible authorized data sharing for smart grid | |
Shaheen | Application of Attribute-Based Encryption in Fog Infrastructure for Securing Health Related Data | |
Zhang et al. | Recording behaviors of artificial intelligence in blockchains |
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 |