CN109117671A - 一种加密数据共享方法、服务器及计算机可读存储介质 - Google Patents

一种加密数据共享方法、服务器及计算机可读存储介质 Download PDF

Info

Publication number
CN109117671A
CN109117671A CN201810963589.3A CN201810963589A CN109117671A CN 109117671 A CN109117671 A CN 109117671A CN 201810963589 A CN201810963589 A CN 201810963589A CN 109117671 A CN109117671 A CN 109117671A
Authority
CN
China
Prior art keywords
user
data
clear data
shared
block chain
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.)
Withdrawn
Application number
CN201810963589.3A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810963589.3A priority Critical patent/CN109117671A/zh
Publication of CN109117671A publication Critical patent/CN109117671A/zh
Withdrawn legal-status Critical Current

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
    • G06F21/6272Protecting 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 by registering files or documents with a third party

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是本申请实施例提供的一种服务器的示意性框图;
图10是本申请实施例提供的一种服务器的结构性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清 楚、完整地描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包 含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除 一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添 加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施 例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使 用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个” 及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且 包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据 上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。 类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下 文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或 事件]”或“响应于检测到[所描述条件或事件]”。
本申请主要应用于区块链中的服务器,该服务器可以是传统服务器、大型 存储系统、台式电脑、笔记本电脑、平板电脑、掌上电脑、智能手机、便携式 数字播放器、智能手表以及智能手环等等,本申请对此不做限制。
本申请实施例中描述的终端设备包括但不限于带通讯功能的设备、智能手 机、平板电脑、笔记本电脑、台式电脑、便携式数字播放器、智能手环以及智 能手表等。当终端设备向区块链中的服务器发送数据的时候,按照预设格式进 行对数据的特性进行记录并传送,其中,数据的特性包括时间、地点、类型等。
需要说明的是,区块链是一种按照时间顺序将数据区块相连的一种链式数 据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链的 特性有开放、共识、去中心、去信任、透明、双方匿名、不可篡改以及可追溯 等。其中,开放与透明意为任何人都可以参与到区块链网络,每一台设备都能 作为一个节点,每个节点都允许授权获得一份完整的数据库拷贝。节点基于一 套共识机制,通过竞争计算共同维护整个区块链。任一节点时效,其余节点仍 能正常工作。其中,去中心化与去信任意为区块链由众多节点共同组成一个端 到端的网络,不存在中心化的设备和管理机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不 能也无法欺骗其他节点。其中,透明与双方匿名意为区块链的运行规则是公开 的,所有的数据信息也是公开的,因此每一笔交易都对所有节点可见。由于节 点与节点之间是去信任的,因此节点之间无需公开身份,每个参与的节点都是 匿名的。其中,不可篡改和可追溯意为每个甚至多个节点对数据库的修改无法 影响其他节点的数据库,除非能控制整个网络中超过51%的节点同时修改,这 是几乎不可能发生的。区块链中的,每一笔交易都通过密码学方法与相邻两个 区块串联,因此可以追溯到任何一笔交易的前世今生。
具体的,区块链可以利用块链式数据结构来验证与存储数据、利用分布式 节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安 全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分 布式基础架构与计算方式。因此,区块链技术不可篡改的特性从根本上改变了 中心化的信用创建方式,有效提高了数据的不可更改性以及安全性。其中,由 于智能合约使得所有的条款编写为程序,这些条款可在区块链上自动执行,保 证了当存在触发智能合约的条件时,区块链能强制根据智能合约中的内容执行, 且不受任何外力阻挡,从而保证了合约的有效性和执行力,不仅能够大大降低 成本,也能提高效率。区块链上的各个节点都有相同的账本,能够确保账本记 录过程是公开透明的。区块链技术可以实现了一种点对点的、公开透明的直接 交互,使得高效率、大规模、无中心化代理的信息交互方式成为了现实。
本申请实施例可以应用于区块链节点服务器,而作为区块链节点服务器的 类型有很多,可以是传统服务器、大型存储系统、台式电脑、笔记本电脑、平 板电脑、掌上电脑、智能手机、便携式数字播放器、智能手表以及智能手环等 等。其中,区块链节点服务器为根据共识机制确定的区块链网络中的其中一个 服务器。应理解,由于区块链是一个去中心化的分布式数据库,所以每次处理 数据都需要选出区块链网络中的其中一个服务器作为执行者来处理数据。而每 次选取服务器的规则便是共识机制,本申请实施例中共识机制可以是工作量证 明机制(Proof of Work,POW)、股权证明机制(Proof of Stake,POS)、瑞波 共识机制(Ripple Consensus)以及授权股权证明机制(Delegated Proof of Stake, DPOS)等,在此不作限定。总的来说,将数据存放在区块链中,可以保证数据 的安全性。
参见图1和图2,是本申请实施例提供一种加密数据共享方法的示意流程图, 如图1所示加密数据共享方法可包括:
101:接收第一用户的共享请求,共享请求包括第一用户的标识,以及第二 用户的明文数据的标识。
在本申请实施例中,区块链中的服务器接收第一用户的共享请求,该共享 请求用于请求区块链的服务器将明文数据进行共享,其中,共享请求包括第一 用户的标识,以及第二用户的明文数据的标识等。
需要说明的是,第一用户的标识为可以确认第一用户的身份唯一性的信息, 而明文数据为可以唯一确定明文数据的信息,第一用户的标识和明文数据的标 识可以是英文字母、十进制数字和十六进制数字等的任意组合,本申请实施例 对此不做限定。
进一步的,将上述共享请求记录在区块链中。
在本申请实施例中,上述将共享请求记录在区块链中,指的是将共享请求 通过区块链安全以及不可更改的优点存储在区块链中。具体的,区块链由多个 区块按时间轴连接而成,区块链之所以称之为链是因为区块具有连续性。而区 块是一种记录数据的数据结构,由区块头和区块主体组成。区块主体即数据部 分只负责记录前一段时间内存储的数据信息,区块链的大部分功能都由区块头 实现。上述区块具有连续性在于,前一个区块的区块头的数据经过哈希(hash) 运算产生一个哈希值,然后将其写入后一个区块的区块头中。从创世区块开始, 每个区块都进行如此操作,所以区块具有连续性,同时也在一个方面说明区块 的不可篡改与可追溯的特性。因此,服务器能够将数据记录在区块链中,以保 障数据具有开放性、不可篡改性以及匿名性等优点,相应的,在本申请实施例 中服务器能够将上述共享请求记录在区块链中。
进一步的,在接收到第一用户的共享请求之后,根据第二用户的明文数据 的标识查找到第二用户的标识;根据第二用户的标识向第二用户发送授权请求; 接收授权结果,授权结果包括允许授权或拒绝授权;若授权结果为允许授权, 则根据第二用户的明文数据的标识在区块链中获取明文数据。
在本申请实施例中,如果第一用户请求共享第二用户的明文数据,则第一 用户还需要要获取第二用户的授权之后才能对共享第二用户的明文数据。具体 的,服务器在接收到第一用户的共享请求之后,根据该共享请求所请求共享的 明文数据的标识,查找到该明文数据所属的用户的标识,即第二用户的标识, 于是服务器根据第二用户的标识查找到第二用户的地址,于是可以向该第二用 户发送授权请求,该授权请求中包含了第一用户的标识和明文数据的标识,告 知第二用户以第一用户希望共享第二用户的明文数据的请求,于是第二用户针 对该授权请求,向服务器发送授权结果,该授权结果包括允许授权或拒绝授权, 如果授权结果为拒绝授权,则说明第二用户拒绝将上述明文数据共享给第一用 户,服务器便向第一用户发送共享请求失败的消息来告知第一用户请求失败, 无法共享上述明文数据,但如果授权结果为允许授权,则说明第二用户同意将 上述明文数据共享给第一用户,服务器便继续执行响应上述共享请求的操作, 根据获取第二用户的明文数据的标识在区块链中获取明文数据。
进一步的,在根据第二用户的明文数据的标识在区块链中获取明文数据之 前,生成系统公匙和系统私匙;向第二用户发送系统公匙;接收第二用户利用 系统公匙所加密的目标数据;利用系统私匙对目标数据进行解密,得到明文数 据;将明文数据保存在区块链。
在本申请实施例中,在根据上述共享请求中的第二用户的明文数据的标识 在区块链中获取上述明文数据之前,服务器需要先接收第二用户的明文数据, 然后将该明文数据保存在区块链中,才能保证快速的在多个用户之间共享数据。 具体的,在根据上述共享请求获取明文数据之前,服务器通过密钥发生器来自 动生成随机的比特串作为区块链的密匙对,即系统公匙与系统私匙,然后秘密 保存该密匙对中的系统私匙,防止其他终端设备知道,并将密匙对中的系统公 匙发送给第二用户,使得第二用户在利用该系统公匙对明文数据加密得到目标 数据之后,将该目标数据发送给区块链,然后区块链利用上述系统私匙来对目 标数据进行解密,得到明文数据,并将该明文数据保存在区块链中,于是使得 其他用户也可以在区块链上获取第二用户的数据。于是本申请实施例通过该过 程可以保证接收用户的数据的过程中保证数据的安全性。
需要说明的是,区块链在每次安全接收用户的明文数据的时候,都生成新 的密匙对,于是上述系统公匙与系统私匙是有时效性的,如果在预设时间内, 用户没有向区块链传输加密后的明文数据,则上述生成的系统公匙和系统私匙 作废。
还需要说明的是,由于本申请实施例采用了私匙和公匙,于是对上述对目 标数据进行加密的方法为非对称的加密算法。非对称加密算法有两个密钥,即 公匙和私匙是一一对应的。公匙和私匙不是固定的,两个密匙中一个作为私匙, 那么另一个就为公匙,只是作为公匙的密匙可以被其他人知道,相对的,私匙 不能被其他人知道,只能由用户自己知道。具体的,如果用公开密钥对数据进 行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密, 那么只有用对应的公开密钥才能解密。其中,非对称加密算法包括李维斯特-萨 莫尔-阿德曼(RSA,Rivest-Shamir-Adleman)密码系统、数字签名算法(DSA,Digital Signature Algorithm)和椭圆加密算法(ECC,Elliptic Curve Cryptography)等。
举例来说,甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开; 得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方 再用自己保存的另一把专用密钥对加密后的信息进行解密。即发送双方A,B事 先均生成公匙和私匙,然后A将自己的公匙发送给B,B将自己的公匙发送给A。 如果A要给B发送消息,则先需要用B的公匙进行消息加密,然后发送给B端, 此时B端再用自己的私匙进行消息解密,B向A发送消息时为同样的道理。
102:根据上述第二用户的明文数据的标识在区块链中获取明文数据。
在本申请实施例中,根据上述共享请求中的第二用户的明文数据的标识在 区块链中获取明文数据,由于第二用户将自己的明文数据等保存在了可信的区 块链中,于是当区块链中的服务器接收到共享请求之后,可以根据该共享请求 在区块链中获取明文数据。
103:根据上述第一用户的标识在区块链中获取第一用户的公匙和智能合 约。
在本申请实施例中,根据上述共享请求中的第一用户的标识获取第一用户 的公匙以及智能合约。其中,智能合约包含了自动化脚本代码,该自动化脚本 代码将所有的智能合约中所有条款被表示为程序,使得这些条款可在区块链上 自动执行,保证了当存在触发智能合约的条件时,区块链能强制根据智能合约 中的内容执行,且不受任何外力阻挡,从而保证了合约的有效性和执行力。
进一步的,上述第一用户的共享请求中包括共享请求标识,于是当区块链 中的服务器接收到上述第一用户的信息之后,便可以根据该接收的信息中的共 享请求标识来确认该接收到的信息为第一用户的共享请求,或者,当区块链中 的服务器接收到第一用户的信息之后,若检测出该信息中包含第二用户的明文 信息的标识的时候也可以确认该信息为第一用户的共享请求。
需要说明的是,上述共享请求标识的标识可以是英文字母、十进制数字和 十六进制数字等的任意组合,本申请实施例对此不做限定。
104:执行上述智能合约,使用上述第一用户的公匙对上述明文数据进行加 密,得到加密数据,并向上述第一用户发送加密数据。
在本申请实施例中,执行智能合约,在该智能合约中记载了如何将上述明 文数据共享给上述第一用户的方法,即利用上述第一用户的公匙对上述明文数 据进行加密以得到加密数据,然后再将该加密数据发送给第一用户。其中,对 上述明文数据进行加密的方法为非对称加密算法,在使用非对称加密算法的时 候,需要先利用第一用户的公匙对该明文数据进行加密,加密之后只有第一用 户的私匙才能进行解密,该非对称加密算法包括李维斯特-萨莫尔-阿德曼(RSA, Rivest-Shamir-Adleman)密码系统、数字签名算法(DSA,Digital Signature Algorithm)和椭圆加密算法(ECC,Elliptic Curve Cryptography)等。于是第一 用户在接收到加密数据的之后,由于加密数据是用第一用户的公匙进行加密的, 于是第一用户可以使用与该公匙配对的私匙来解密上述加密数据,从而得到上 述明文数据。可以看出,本申请实施例实现了安全的向第一用户共享数据的过 程,于是实现了多个用户之间的数据安全共享,因此提高了数据的安全性,提 高了数据的利用效率和活用度。
需要说明的,非对称密钥体制有两种密钥,即公匙和私匙,其中公匙是公 开的,私匙是非公开的,于是区块链则可以向第一用户获取第一用户的公匙, 也可以直接从云端中获取第一用户的公匙,甚至是从本地存储中预先保存过的 用户的公匙中查询第一用户的公匙,本申请实施例对此不做限定,从而区块链 可以快速的获取第一用户的公匙,也不会对第一用户的信息安全造成影响。
进一步的,在上述向上述第一用户发送上述加密数据之后,获取上述明文 数据的共享积分,共享积分为上述第一用户共享上述明文数据所需要消耗的积 分;根据上述共享积分调整上述第一用户的积分余额。
在本申请实施例中,对数据采取基于积分策略的共享方法,即第一用户需 要消费积分等才能共享第二用户的数据。当服务器向第一用户发送了上述加密 了的明文数据之后,服务器获取共享该明文数据所需要的共享积分,即第一用 户需要付出上述共享积分才能获得上述明文数据,于是服务器根据上述明文数 据的共享积分来调整第一用户的积分余额,例如在第一用户的原有的积分余额 上减去共享积分得到新的积分余额。
进一步的,在上述根据共享积分调整第一用户的积分余额之后,接收上述 第一用户的反馈信息;根据上述反馈信息调整上述共享积分。
在本申请实施例中,服务器还可以接收第一用户的反馈信息,例如评分、 收藏次数和/或转发次数,然后服务器根据接收到的第一用户的评分、收藏次数 和/或转发次数来重新评估共享上述明文数据所需要消耗的积分。例如第一用户 的评分越高,收藏次数越多或者转发次数越多,说明上述明文数据越有价值, 其共享积分也就被调高得越多。
进一步的,上述反馈信息包括评分、收藏次数和/或转发次数,上述根据反 馈信息来更新共享积分,包括:将评分加入历史评分记录;获取共享积分调整 规则;基于共享积分调整规则,根据历史评分记录、收藏次数和/或转发次数来 计算得到共享积分。
在本申请实施例中,在接收到第一用户的反馈信息之后,将反馈信息中的 评分加入到历史评分记录中,然后基于上述共享积分调整规则,根据历史评分 记录、收藏次数和/或转发次数来计算得到共享积分,例如,共享积分调整规则 为计算历史评分记录中的针对该第二用户的明文数据的所有评分的平均分,然 后在计算平均分、收藏次数和/或转发次数的加权就和的总分,于是服务器将该 总分记载为该第二用户的明文数据的新的共享积分。
进一步的,上述获取共享积分调整规则,包括:获取明文数据的时效等级, 时效等级描述了明文数据的价值容易受时间影响的程度;获取时效等级对应的 共享积分调整规则;基于共享积分调整规则,根据历史评分记录、收藏次数和/ 或转发次数来计算得到共享积分,包括:获取共享年限,共享年限为明文数据 保存在所述区块链上的时长;基于共享积分调整规则,根据共享年限、历史评 分记录、收藏次数和/或转发次数来计算得到共享积分。
在本申请实施例中,进一步的考虑了明文数据的时效性对明文数据的价值 的影响,因为数据越容易受时间的影响,其就越具有时效性,于是时效性强的 明文数据自保存到区块链中用于共享开始,该明文数据的价值随着共享年限会 越来越低,因此可以在更新明文数据的共享积分的时候,结合共享年限以及上 述第一用户的反馈信息来一起更新上述更新积分,并且不同的数据的时效性不 同,于是将数据根据其时效性来分成多个时效等级,不同时效等级的数据对应 不同的共享积分调整规则,在该不同的共享积分调整规则里时效年限对应的权 重不同,具体的,获取明文数据的时效等级以及时效年限,然后根据时效等级 再获取对应的共享积分调整规则,最后基于共享积分调整规则,根据共享年限、 历史评分记录、收藏次数和/或转发次数来计算得到共享积分,例如根据明文数 据的时效等级获取到对应的共享积分调整规则之后,根据共享积分调整规则来 计算历史评分记录中的针对第二用户的明文数据的所有评分的平均分,然后再 根据共享积分调整规则所描述的共享年限、历史评分记录、收藏次数和/或转发 次数之间的函数关系,对共享年限、历史评分记录、收藏次数和/或转发次数进 行加权求和计算得到上述第二用户的明文数据的总分,从而区块链中的服务器 将该总分记录在区块链中作为该第二用户的明文数据的新的共享积分。需要说 明的是,上述不同的时效等级对应的不同的共享积分调整规则之间的不同在于, 上述不同的共享积分调整规则所描述共享年限、历史评分记录、收藏次数和/或转发次数之间的函数关系中,共享年限所占的权重不同。
结合图2,本申请通过区块链来保存第二用户的明文数据,并当接收到第一 用户针对该明文数据的共享请求的时候,从区块链中获取第一用户的公匙来对 该明文数据进行加密,然后将加密得到的加密数据发送给该第一用户,使得第 一用户可以利用自身的私匙来对该加密数据进行解密。在本申请中,区块链这 个可信第三方在安全保管第二用户的明文数据的同时,还全权负责实现第二用 户的加密数据的共享,当第一用户请求共享数据的时候,就用第一用户的公匙 对该保存在区块链上的明文数据进行加密得到加密数据,然后再将该加密数据 共享给第一用户,便可以实现加密数据的快速共享。本申请既解决了第三设备 不可信的问题,又保证了数据的安全性,还实现了加密数据的快速共享,因此 通过本申请,数据所有者无需向其他用户分发密匙便可以实现加密数据的快速 共享,加密数据的共享效率被大大提高。
参见图3和图4,是本申请实施例提供另一种加密数据共享方法的示意流程 图,如图3所示加密数据共享方法可包括:
301:生成系统公匙和系统私匙。
在本申请实施例中,在根据上述共享请求获取明文数据之前,服务器通过 密钥发生器来自动生成随机的比特串作为区块链的密匙对,即系统公匙与系统 私匙,然后秘密保存该密匙对中的系统私匙,防止其他终端设备知道。
需要说明的是,区块链的服务器每次发送给第二用户系统公匙之前,都生 成新的密匙对,于是上述系统公匙与系统私匙是有时效性的,如果在预设时间 内,用户没有向区块链传输加密后的明文数据,则上述生成的系统公匙和系统 私匙作废。
302:向第二用户发送上述系统公匙。
在本申请实施例中,在上述生成系统私匙和系统公匙之后,将密匙对中的 系统公匙发送给第二用户,使得第二用户在利用该系统公匙对需要上传的明文 数据加密得到目标数据。
303:接收上述第二用户利用上述系统公匙所加密的目标数据。
在本申请实施例中,上述第二用户利用上述系统公匙来对明文数据进行加 密之后,得到了目标数据,然后第二用户再将该目标数据发送给区块链的服务 器,于是区块链的服务器接受到上述第二用户利用上述系统所加密的目标数据。
304:利用上述系统私匙对上述目标数据进行解密,得到明文数据,并将明 文数据保存在区块链中。
在本申请实施例中,区块链的服务器接收到上述第二用户利用上述系统公 匙所加密的目标数据之后,再利用与上述系统公匙配对的系统私匙来对目标数 据进行解密,得到明文数据,并将该明文数据保存在区块链中。
需要说明的是,由于本申请实施例采用了私匙和公匙,于是对上述对目标 数据进行加密的方法为非对称的加密算法。非对称加密算法有两个密钥,即公 匙和私匙是一一对应的。公匙和私匙不是固定的,两个密匙中一个作为私匙, 那么另一个就为公匙,只是作为公匙的密匙可以被其他人知道,相对的,私匙 不能被其他人知道,只能由用户自己知道。具体的,如果用公开密钥对数据进 行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密, 那么只有用对应的公开密钥才能解密。其中,非对称加密算法包括李维斯特-萨 莫尔-阿德曼(RSA,Rivest-Shamir-Adleman)密码系统、数字签名算法(DSA,Digital Signature Algorithm)和椭圆加密算法(ECC,Elliptic Curve Cryptography)等。
举例来说,甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开; 得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方 再用自己保存的另一把专用密钥对加密后的信息进行解密。即发送双方A,B事 先均生成公匙和私匙,然后A将自己的公匙发送给B,B将自己的公匙发送给A。 如果A要给B发送消息,则先需要用B的公匙进行消息加密,然后发送给B端, 此时B端再用自己的私匙进行消息解密,B向A发送消息时为同样的道理。
305:接收第一用户的共享请求,共享请求包括第一用户的标识,以及第二 用户的明文数据的标识。
306:根据上述第二用户的明文数据的标识在区块链中获取明文数据。
307:根据上述第一用户的标识在区块链中获取第一用户的公匙和智能合 约。
308:执行上述智能合约,使用上述第一用户的公匙对上述明文数据进行加 密,得到加密数据,并向上述第一用户发送加密数据。
本申请实施例相对于第一实施例来说,详细描述了区块链的服务器在响应 第一用户获取第二用户的明文数据的共享请求之前,是如何安全获取的第二用 户的明文数据,并将第二用户的明文数据保存在区块链上的。结合图4,具体的, 本申请实施例在响应第一用户的共享请求之前,首先生成一对密匙,即系统私 匙和系统公匙,然后将系统公匙发送给第二用户,使得第二用户利用服务器发 送的该系统公匙来对明文数据进行加密,然后得到目标数据之后,将该目标数 据上传给区块链的服务器,然后区块链的服务器接收到该目标数据之后,利用 上述与系统公匙配对的系统私匙来对该目标数据进行解密,从而得到第二用户 的明文数据,最后将该第二用户的明文数据保存在区块链中。于是本申请实施 例可以保证服务器可以安全获取第二用户的明文数据,并将第二用户的明文数 据保存在区块链上的,使得第一用户等其他用户也可以在区块链上获取第二用 户的数据,从而实现了多用户之间的数据共享。
参见图5和图6,是本申请实施例提供另一种加密数据共享方法的示意流程 图,如图5所示的加密数据共享方法可包括:
501:接收第一用户的共享请求,共享请求包括第一用户的标识,以及第二 用户的明文数据的标识。
在本申请实施例中,区块链中的服务器接收第一用户的共享请求,该共享 请求用于请求区块链的服务器将明文数据进行共享,其中,共享请求包括第一 用户的标识和明文数据的标识等,于是区块链的服务器可以根据该共享请求得 知第一用户请求对明文数据进行共享。
需要说明的是,第一用户的标识为可以确认第一用户的身份唯一性的信息, 而明文数据为可以唯一确定明文数据的信息,第一用户的标识和明文数据的标 识可以是英文字母、十进制数字和十六进制数字等的任意组合,本申请实施例 对此不做限定。
502:根据上述第二用户的明文数据的标识查找到第二用户的标识。
在本申请实施例中,服务器在接收到第一用户的共享请求之后,根据该共 享请求所请求共享的明文数据的标识,查找到该明文数据所属的用户的标识, 即第二用户的标识。
需要说明的是,上述第二用户的标识的标识可以是英文字母、十进制数字 和十六进制数字等的任意组合,本申请实施例对此不做限定。
503:根据上述第二用户的标识向第二用户发送授权请求。
在本申请实施例中,服务器在查找到上述第二用户的标识之后,根据第二 用户的标识查找到第二用户的地址,然后向该第二用户发送授权请求,该授权 请求中包含了第一用户的标识和明文数据的标识,告知第二用户以第一用户希 望共享第二用户的明文数据的请求。
504:接收授权结果,所述授权结果包括允许授权或拒绝授权。
在本申请实施例中,第二用户接收到上述服务器的授权请求之后,针对该 授权请求向服务器反馈授权结果,该授权结果包括允许授权或拒绝授权,如果 授权结果为拒绝授权,则说明第二用户拒绝将上述明文数据共享给第一用户, 但如果授权结果为允许授权,则说明第二用户同意将上述明文数据共享给第一 用户。
505:若上述授权结果为允许授权,根据上述第二用户的明文数据的标识在 区块链中获取明文数据。
在本申请实施例中,如果授权结果为拒绝授权,则说明第二用户拒绝将上 述明文数据共享给第一用户,服务器便向第一用户发送共享请求失败的消息来 告知第一用户请求失败,无法共享上述明文数据,但如果授权结果为允许授权, 则说明第二用户同意将上述明文数据共享给第一用户,服务器便继续执行响应 上述共享请求的操作,根据获取第二用户的明文数据的标识在区块链中获取明 文数据。
506:根据上述第一用户的标识在区块链中获取第一用户的公匙和智能合 约。
在本申请实施例中,如果上述第二用户的授权结果为允许授权,则服务器 继续响应上述第一用户的共享请求,根据上述共享请求中的第一用户的标识在 区块链中获取第一用户的公匙和智能合约。
需要说明的是,上述智能合约包含了自动化脚本代码,该自动化脚本代码 将所有的智能合约中所有条款被表示为程序,使得这些条款可在区块链上自动 执行,保证了当存在触发智能合约的条件时,区块链能强制根据智能合约中的 内容执行,且不受任何外力阻挡,从而保证了合约的有效性和执行力。
507:执行上述智能合约,使用上述第一用户的公匙对上述明文数据进行加 密,得到加密数据,并向上述第一用户发送加密数据。
在本申请实施例中,第一用户在获取第二用户的明文数据之前,还需要获 得第二用户的授权。结合图6,具体的,服务器在接收到第一用户针对明文数据 的共享请求之后,查找到该明文数据属于第二用户,于是向该第二用户发送授 权请求,若第二用户同意授权,则服务器执行智能合约,利用第一用户的公匙 对上述明文数据进行加密得到加密数据,然后再将该加密数据发送给第二用户。 于是本申请实施相对于上一申请实施例来说,第一用户需要要获取第二用户的 授权之后才能共享第二用户的数据,于是第二用户将数据的共享的工作交给可 信第三方,而只需要做关于是否授权的简单答复,便可以将数据快速共享给指 定用户,一方面提高了数据的安全性,另一方面还提高了数据的共享效率。
参见图7和图8,是本申请实施例提供一种加密数据共享方法的示意流程图, 如图7所示的加密数据共享方法可包括:
701:接收第一用户的共享请求,共享请求包括第一用户的标识,以及第二 用户的明文数据的标识。
702:根据上述第二用户的明文数据的标识在区块链中获取明文数据。
703:根据上述第一用户的标识在区块链中获取第一用户的公匙和智能合 约。
704:执行上述智能合约,使用上述第一用户的公匙对上述明文数据进行加 密,得到加密数据,并向上述第一用户发送加密数据。
705:获取上述明文数据的共享积分。
在本申请实施例中,当服务器向第一用户发送了上述加密了的明文数据之 后,服务器获取第一用户共享该明文数据所需要消耗的共享积分,即第一用户 需要付出上述共享积分才能获得上述明文数据。
706:根据上述共享积分调整上述第一用户的积分余额。
在本申请实施例中,服务器根据上述明文数据的共享积分来调整第一用户 的积分余额,例如在第一用户的原有的积分余额上减去共享积分得到新的积分 余额。
707:接收上述第一用户的反馈信息。
在本申请实施例中,服务器还可以接收第一用户的反馈信息,例如评分、 收藏次数和/或转发次数,其中评分高低、收藏次数多少和转发次数多少反映了 上述明文数据的质量。
708:根据上述反馈信息来更新上述共享积分。
在本申请实施例中,服务器根据接收到的反馈信息,来重新评估共享上述 明文数据所需要消耗的积分。具体的,第一用户在接收到加密数据并对加密数 据进行解密得到明文数据之后,对该明文数据的内容进行评分,并向区块链发 送该评分,然后区块链再将该评分加入明文数据的历史评分记录,同时服务器 还获取共享积分调整规则,以及该明文数据的收藏次数和转发次数,然后基于 该共享积分调整规则,根据明文数据的收藏次数、转发次数和/或历史评分记录 重新评估明文数据对应的共享积分。其中,历史评分记录中的评分越高,收藏 次数越多或者转发次数越多,说明上述明文数据越有价值,其共享积分也就被 调高得越多。
举例来说,积分调整规则为计算历史评分记录中的所有用户的评分的平方 差以及平均分,根据平方差对应的偏差等级对平均分进行调整,从而得到共享 积分,例如计算得到平方差为5,平均分为95,则查找平方差与偏差等级的对 应关系,查找到该平方差对应偏差等级2,于是再查找该偏差等级对应的调整积 分为(-5),则在该平均分的基础上减去5得到调整积分,将共享积分的值替换为 调整积分。
另一个举例来说,积分调整规则为计算上述历史评分记录中的所有用户对 该明文数据的评分的平均分,将该平均分作为调整积分,然后将共享积分的值 替换为该调整积分。
另一个举例来说,利用上述历史评分记录来计算平均分,并获取该明文数 据的收藏次数和转发次数,利用该平均分、收藏次数和转发次数以及平均分的 权重、收藏次数的权重和转发次数的权重来计算共享积分,例如积分调整规则 为y=x+0.1z+0.1m,其中,y为调整积分,x为平均分,z为收藏次数,m为转发 次数,而x、z和m前面的常数分别为平均分的权重、收藏次数的权重和转发次 数的权重,于是将x、z和m对应的数值带入进去,计算得到调整积分y,然后 将共享积分的值替换为该调整积分y的值。
可选的,上述获取共享积分调整规则包括:获取明文数据的时效等级,时 效等级描述了明文数据的价值受时间的影响程度;获取时效等级对应的共享积 分调整规则。
在本申请实施例中,根据明文数据的价值受时效性的影响程度,来将明文 数据分到不同的时效等级,不同的时效等级对应的共享积分调整规则不同,例 如第一时效等级、第二时效等级和第三时效等级等等,其中,属于第一时效等 级的明文数据、属于第二时效等级的明文数据和属于第三时效等级明文数据, 其受时效的影响依次增大,第一时效等级对应第一共享积分调整规则,第二时 效等级对应第二共享积分调整规则,第三时效等级对应第三积分调整规则,第 一积分调整规则、第二积分调整规则和第三积分调整规则两两不相同。
相应的,上述基于共享积分调整规则,根据历史评分记录、收藏次数和/或 转发次数来计算调整积分,包括:获取共享年限,共享年限为明文数据保存在 区块链的时长;基于共享积分调整规则,根据共享年限、历史评分记录、收藏 次数和/或转发次数来计算调整积分。
在本申请实施例中,如果根据明文数据的时效等级来获取对应的共享积分 调整规则,则在计算调整积分的时候,还需要获取共享年限,该共享年限为明 文数据被第二用户发送到区块链,并保存在区块链至今的时长,随着共享年限 的增长,明文数据的价值也在降低,于是根据共享年限、历史评分记录、收藏 次数和/或转发次数来计算调整积分。
需要说的是,一般来说,新闻和用户行为数据等数据的时效等级比较高, 共享年限越长越没有价值,而如模板、工具书或者基础科学理论等的时效等级 比较低,其价值随时间变化不大。
举例来说,如果在区块链接收到第一用户的评分的时候,距离该明文数据 上传已经有n年。如果明文数据为实时数据,则利用公式可以计 算目标数据的共享积分,其中y为共享积分,x为平均积分,z为收藏次数;如 果目标数据为模板数据,则利用公式可以计算目标数据的共享积 分,其中y为共享积分,x为平均积分,z为收藏次数。可以看出,即使是同时 下载,下载的一样而且每次下载都是同样的评分,时效等级比较低的明文数据 相较于时效等级比较高的明文数据来说,数据的价值随时间下降的更慢。
可选的,在对数据进行非对称的加密计算的时候,采用重加密,即采用两 个密钥的三重加密方法来增长密文的长度,以调高加解密的性能,从而增加加 密数据被破解的难度。
在本申请实施例中,第一用户通过消耗积分来共享第二用户的明文数据, 除此之外,区块链还可以利用第一用户的反馈信息来调整共享上述明文数据所 需积分。结合图8,具体的,服务器通过获取第一用户对明文数据的评分、收藏 次数和转发次数等反馈信息来不断的重新评估下载第二用户的明文数据所需要 的共享积分,而不是采用传统的第二用户自己对目标数据随意的定下一个数值 来作为明文数据的共享积分。因为对于传统的基于积分策略进行数据共享的方 案来说,第二用户的明文数据可以被第一用户在互联网上在线浏览,第一用户 可以在浏览之后再决定值不值得下载,于是对明文数据的积分的调整不是必要 的,然而在本申请实施例中,由于明文数据是加密不公开的,传统的第二用户 随意指定共享积分的做法是不客观的,于是传统的基于积分策略的数据共享方 法并不适用于本申请实施例,本申请实施例从第一用户的反馈信息出发,客观 化标准化的重新评估第二用户的明文数据的实际价值,从而提供一种合理的基 于积分策略的加密数据的共享方法。总的来说,本申请实施例相对于上述申请 实施例来说,对用户的数据采取了基于积分策略的共享方法,该方法有利于激 发越来越多的用户利用区块链进行数据共享,于是区块链中保存的数据也越来 越多,于是本申请实施例进一步的提高了数据的利用率,促进了数据的共享效 率。
需要说明的是,上文对各个实施例的描述倾向于强调各个实施例之间的不 同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本申请实施例还提供一种服务器,该服务器用于执行前述任一项的加密数 据共享方法的单元。具体地,参见图,9,是本申请实施例提供的一种服务器的示 意框图。本实施例的服务器包括:接收单元910、获取单元920和执行单元930。
接收单元910,用于接收第一用户的共享请求,所述共享请求包括第一用户 的标识,以及第二用户的明文数据的标识;
获取单元920,用于根据所述第二用户的明文数据的标识在区块链中获取明 文数据;还用于根据所述第一用户的标识在所述区块链中获取所述第一用户的 公匙和智能合约;
执行单元930,执行所述智能合约,其中,所述执行单元包括加密单元931 和发送单元932,所述加密单元931用于使用所述第一用户的公匙对所述明文数 据进行加密,得到加密数据;所述发送单元932,用于向所述第一用户发送所述 加密数据。
进一步的,上述服务器还包括生成单元940,用于生成系统公匙和系统私匙; 还包括解密单元950,用于利用所述系统私匙对所述目标数据进行解密,得到所 述明文数据;还包括保存单元960,用于将所述明文数据保存在所述区块链;相 应地,上述发送单元932,还用于向第二用户发送所述系统公匙;上述接收单元 910,还用于接收所述第二用户利用所述系统公匙所加密的目标数据。
进一步的,上述服务器还包括查询单元970,用于根据所述第二用户的明文 数据的标识查找到所述第二用户的标识;相应的,上述发送单元932,还用于根 据所述第二用户的标识向所述第二用户发送授权请求;接收单元910,还用于接 收授权结果,所述授权结果包括允许授权或拒绝授权;上述获取单元920,用于 若所述授权结果为所述允许授权,则根据所述第二用户的明文数据的标识在区 块链中获取明文数据。
进一步的,上述服务器还包括调整单元980,用于根据所述共享积分调整所 述第一用户的积分余额;相应的,上述获取单元920,还用于获取所述明文数据 的共享积分,所述共享积分为所述第一用户共享所述明文数据所需要消耗的积 分.
进一步的,上述接收单元910,还用于接收所述第一用户的反馈信息;上述 调整单元980,还用于根据所述反馈信息来更新所述共享积分。
进一步的,上述服务器还包括合并单元990,用于将所述评分加入历史评分 记录;相应的,上述获取单元920,还用于获取共享积分调整规则;上述调整单 元980,用于基于所述共享积分调整规则,根据所述历史评分记录、所述收藏次 数和/或所述转发次数来计算得到所述共享积分。
进一步的,上述获取单元920,用于获取所述明文数据的时效等级,所述时 效等级描述了所述明文数据的价值容易受时间影响的程度;还用于获取所述时 效等级对应的共享积分调整规则;还用于获取共享年限,所述共享年限为所述 明文数据保存在所述区块链上的时长;所述调整单元980,还用于基于所述共享 积分调整规则,根据所述共享年限、所述历史评分记录、所述收藏次数和/或所 述转发次数来计算得到所述共享积分。
在本申请实施例中,区块链可以作为可信第三方来保存第二用户的明文数 据,当接收单元接收到第一用户针对该明文数据进行共享请求的时候,区块链 的服务器的获取单元根据该共享请求获取明文数据、第一用户的公匙以及智能 公约,于是执行单元执行上述智能公约,将上述明文数据利用上述第一用户的 公匙来进行加密得到加密数据,然后再利用发送单元将该加密数据发送给第一 用户,于是第一用户可以利用自己的私匙对该加密数据进行解密,从而实现多 用户间的数据的共享。
参见图10,是本申请另一实施例提供的一种服务器示意框图。如图所示的 本实施例中的服务器可以包括:一个或多个处理器1010、通信接口1020和存储 器1030。上述处理器1010、通信接口1020和存储器1030通过总线1040连接。 存储器1030用于存储计算机程序,计算机程序包括程序指令,处理器1010用 于执行存储器1030存储的程序指令。
通信接口1020,用于执行接收单元910的功能,用于接收第一用户的共享 请求,所述共享请求包括第一用户的标识,以及第二用户的明文数据的标识。
处理器1010,用于执行获取单元920,用于根据所述第二用户的明文数据 的标识在区块链中获取明文数据;还用于根据所述第一用户的标识在所述区块 链中获取所述第一用户的公匙和智能合约;还用于执行单元930的功能,执行 所述智能合约,其中,所述执行单元包括加密单元931和发送单元932,于是处 理器1010还用于执行加密单元931的功能,用于使用所述第一用户的公匙对所 述明文数据进行加密,得到加密数据;还用于执行发送单元932的功能,用于 向所述第一用户发送所述加密数据。
进一步的,处理器1010还用于执行生成单元940的功能,用于生成系统公 匙和系统私匙;还用于执行解密单元950的功能,用于利用所述系统私匙对所 述目标数据进行解密,得到所述明文数据;还用于执行保存单元960的功能, 用于将所述明文数据保存在所述区块链;相应地,还用于向第二用户发送所述 系统公匙;还用于接收所述第二用户利用所述系统公匙所加密的目标数据。
进一步的,处理器1010还用于执行查询单元970的功能,用于根据所述第 二用户的明文数据的标识查找到所述第二用户的标识;相应的,还用于根据所 述第二用户的标识向所述第二用户发送授权请求;还用于接收授权结果,所述 授权结果包括允许授权或拒绝授权;还用于若所述授权结果为所述允许授权, 则根据所述第二用户的明文数据的标识在区块链中获取明文数据。
进一步的,处理器1010还用于执行调整单元980的功能,用于根据所述共 享积分调整所述第一用户的积分余额;相应的,还用于获取所述明文数据的共 享积分,所述共享积分为所述第一用户共享所述明文数据所需要消耗的积分.
进一步的,处理器1010还用于接收所述第一用户的反馈信息;上述调整单 元980,还用于根据所述反馈信息来更新所述共享积分。
进一步的,处理器1010还用于执行合并单元990的功能,用于将所述评分 加入历史评分记录;相应的,还用于获取共享积分调整规则;还用于基于所述 共享积分调整规则,根据所述历史评分记录、所述收藏次数和/或所述转发次数 来计算得到所述共享积分。
进一步的,处理器1010还用于获取所述明文数据的时效等级,所述时效等 级描述了所述明文数据的价值容易受时间影响的程度;还用于获取所述时效等 级对应的共享积分调整规则;还用于获取共享年限,所述共享年限为所述明文 数据保存在所述区块链上的时长;还用于基于所述共享积分调整规则,根据所 述共享年限、所述历史评分记录、所述收藏次数和/或所述转发次数来计算得到 所述共享积分。
应当理解,在本申请实施例中,所称处理器1010可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号 处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件 等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1030可以包括只读存储器和随机存取存储器,并向处理器1010 提供指令和数据。存储器1030的一部分还可以包括非易失性随机存取存储器。 例如,存储器1030还可以存储设备类型的信息。
具体实现中,本申请实施例中所描述的处理器1010、通信接口1020可执行 本申请实施例提供的加密数据共享方法的第一实施例、第二实施例、第三实施 例和第四实施例中所描述的实现方式,也可执行本申请实施例所描述的服务器 的实现方式,在此不再赘述。
在本申请的另一实施例中提供一种计算机可读存储介质,计算机可读存储 介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行。:
计算机可读存储介质可以是前述任一实施例的服务器的内部存储单元,例 如服务器的硬盘或内存。计算机可读存储介质也可以是服务器的外部存储设备, 例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安 全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可 读存储介质还可以既包括服务器的内部存储单元也包括外部存储设备。计算机 可读存储介质用于存储计算机程序以及服务器所需的其他程序和数据。计算机 可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示 例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现, 为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地 描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决 于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用 来使用不同加密数据共享方法来实现所描述的功能,但是这种实现不应认为超 出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描 述的服务器和单元的具体工作过程,可以参考前述加密数据共享方法实施例中 的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的服务器和加密数 据共享方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅 是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以 有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统, 或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直 接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接, 也可以是电的,机械的或其它的形式连接。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元 显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可 以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元 来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元 的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用 时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技 术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部 分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网 络设备等)执行本申请各个实施例加密数据共享方法的全部或部分步骤。而前 述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、 随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存 储程序代码的介质。

Claims (10)

1.一种加密数据共享方法,其特征在于,包括:
接收第一用户的共享请求,所述共享请求包括第一用户的标识,以及第二用户的明文数据的标识;
根据所述第二用户的明文数据的标识在区块链中获取明文数据;
根据所述第一用户的标识在所述区块链中获取所述第一用户的公匙和智能合约;
执行所述智能合约,使用所述第一用户的公匙对所述明文数据进行加密,得到加密数据,并向所述第一用户发送所述加密数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二用户的明文数据的标识在区块链中获取明文数据之前,还包括:
生成系统公匙和系统私匙;
向第二用户发送所述系统公匙;
接收所述第二用户利用所述系统公匙所加密的目标数据;
利用所述系统私匙对所述目标数据进行解密,得到所述明文数据;
将所述明文数据保存在所述区块链。
3.根据权利要求1所述的方法,其特征在于,所述接收第一用户的共享请求之后,所述根据所述第二用户的明文数据的标识在区块链中获取明文数据之前,还包括:
根据所述第二用户的明文数据的标识查找到所述第二用户的标识;
根据所述第二用户的标识向所述第二用户发送授权请求;
接收授权结果,所述授权结果包括允许授权或拒绝授权;
若所述授权结果为所述允许授权,则执行所述根据所述第二用户的明文数据的标识在区块链中获取明文数据的步骤。
4.根据权利要求1所述的方法,其特征在于,所述向所述第一用户发送所述加密数据之后,还包括:
获取所述明文数据的共享积分,所述共享积分为所述第一用户共享所述明文数据所需要消耗的积分;
根据所述共享积分调整所述第一用户的积分余额。
5.根据权利要求4所述的方法,其特征在于,所述根据所述共享积分调整所述第一用户的积分余额之后,还包括;
接收所述第一用户的反馈信息;
根据所述反馈信息来更新所述共享积分。
6.根据权利要求5所述的方法,其特征在于,所述反馈信息包括评分、收藏次数和/或转发次数;
所述根据所述反馈信息来更新所述共享积分,包括:
将所述评分加入历史评分记录;
获取共享积分调整规则;
基于所述共享积分调整规则,根据所述历史评分记录、所述收藏次数和/或所述转发次数来计算得到所述共享积分。
7.根据权利要求6所述的方法,其特征在于,所述获取共享积分调整规则,包括:
获取所述明文数据的时效等级,所述时效等级描述了所述明文数据的价值容易受时间影响的程度;
获取所述时效等级对应的共享积分调整规则;
所述基于所述共享积分调整规则,根据所述历史评分记录、所述收藏次数和/或所述转发次数来计算得到所述共享积分,包括:
获取共享年限,所述共享年限为所述明文数据保存在所述区块链上的时长;
基于所述共享积分调整规则,根据所述共享年限、所述历史评分记录、所述收藏次数和/或所述转发次数来计算得到所述共享积分。
8.一种服务器,其特征在于,包括用于执行如权利要求1-7任一权利要求所述的方法的单元。
9.一种服务器,其特征在于,包括处理器、通信接口和存储器,所述处理器、通信接口和存储器相互连接,其中,所述通信接口用于与其他终端设备进行数据交互,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
CN201810963589.3A 2018-08-22 2018-08-22 一种加密数据共享方法、服务器及计算机可读存储介质 Withdrawn CN109117671A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810963589.3A CN109117671A (zh) 2018-08-22 2018-08-22 一种加密数据共享方法、服务器及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810963589.3A CN109117671A (zh) 2018-08-22 2018-08-22 一种加密数据共享方法、服务器及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN109117671A true CN109117671A (zh) 2019-01-01

Family

ID=64860105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810963589.3A Withdrawn CN109117671A (zh) 2018-08-22 2018-08-22 一种加密数据共享方法、服务器及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109117671A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858914A (zh) * 2019-01-18 2019-06-07 深圳壹账通智能科技有限公司 区块链数据验证方法、装置、计算机设备及可读存储介质
CN110245946A (zh) * 2019-05-20 2019-09-17 阿里巴巴集团控股有限公司 结合代码标注与多类型维度的收据存储方法和节点
CN110245503A (zh) * 2019-05-20 2019-09-17 阿里巴巴集团控股有限公司 结合代码标注与判断条件的收据存储方法和节点
CN110266644A (zh) * 2019-05-20 2019-09-20 阿里巴巴集团控股有限公司 结合代码标注与交易类型的收据存储方法和节点
CN111368327A (zh) * 2020-02-27 2020-07-03 中国联合网络通信集团有限公司 数据共享方法、装置、电子设备及可读存储介质
CN111526180A (zh) * 2020-03-30 2020-08-11 中国建设银行股份有限公司 一种数据共享方法和装置
CN111858769A (zh) * 2020-07-28 2020-10-30 北京金山云网络技术有限公司 数据使用方法、装置、节点设备及存储介质
CN112182608A (zh) * 2020-09-25 2021-01-05 中国人民大学 一种联盟链加密数据定期共享方法及系统
CN112883411A (zh) * 2020-12-29 2021-06-01 杭州趣链科技有限公司 基于区块链的数据处理方法、系统、电子设备及存储介质
CN112948362A (zh) * 2021-02-03 2021-06-11 北京金山云网络技术有限公司 数据质量评估方法、装置、计算机设备及存储介质
CN113132328A (zh) * 2019-12-31 2021-07-16 中移(苏州)软件技术有限公司 一种数据处理方法、系统、设备和计算机可读存储介质
CN113312647A (zh) * 2021-06-23 2021-08-27 东北大学秦皇岛分校 一种基于区块链存储的多代理数据共享方法
CN113792318A (zh) * 2021-09-18 2021-12-14 上海数据交易中心有限公司 数据授权方法及装置、计算机可读存储介质、计算机设备
CN115001768A (zh) * 2022-05-24 2022-09-02 深圳壹账通智能科技有限公司 基于区块链的数据交互方法、装置、设备及存储介质

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858914A (zh) * 2019-01-18 2019-06-07 深圳壹账通智能科技有限公司 区块链数据验证方法、装置、计算机设备及可读存储介质
CN110245946B (zh) * 2019-05-20 2021-04-27 创新先进技术有限公司 结合代码标注与多类型维度的收据存储方法和节点
CN110245946A (zh) * 2019-05-20 2019-09-17 阿里巴巴集团控股有限公司 结合代码标注与多类型维度的收据存储方法和节点
CN110245503A (zh) * 2019-05-20 2019-09-17 阿里巴巴集团控股有限公司 结合代码标注与判断条件的收据存储方法和节点
CN110266644A (zh) * 2019-05-20 2019-09-20 阿里巴巴集团控股有限公司 结合代码标注与交易类型的收据存储方法和节点
CN110245503B (zh) * 2019-05-20 2021-04-27 创新先进技术有限公司 结合代码标注与判断条件的收据存储方法和节点
CN113132328A (zh) * 2019-12-31 2021-07-16 中移(苏州)软件技术有限公司 一种数据处理方法、系统、设备和计算机可读存储介质
CN111368327A (zh) * 2020-02-27 2020-07-03 中国联合网络通信集团有限公司 数据共享方法、装置、电子设备及可读存储介质
CN111526180B (zh) * 2020-03-30 2022-05-24 中国建设银行股份有限公司 一种数据共享方法和装置
CN111526180A (zh) * 2020-03-30 2020-08-11 中国建设银行股份有限公司 一种数据共享方法和装置
CN111858769A (zh) * 2020-07-28 2020-10-30 北京金山云网络技术有限公司 数据使用方法、装置、节点设备及存储介质
CN111858769B (zh) * 2020-07-28 2024-05-03 北京金山云网络技术有限公司 数据使用方法、装置、节点设备及存储介质
CN112182608A (zh) * 2020-09-25 2021-01-05 中国人民大学 一种联盟链加密数据定期共享方法及系统
CN112182608B (zh) * 2020-09-25 2023-10-20 中国人民大学 一种联盟链加密数据定期共享方法及系统
CN112883411A (zh) * 2020-12-29 2021-06-01 杭州趣链科技有限公司 基于区块链的数据处理方法、系统、电子设备及存储介质
CN112948362A (zh) * 2021-02-03 2021-06-11 北京金山云网络技术有限公司 数据质量评估方法、装置、计算机设备及存储介质
CN112948362B (zh) * 2021-02-03 2023-12-22 北京金山云网络技术有限公司 数据质量评估方法、装置、计算机设备及存储介质
CN113312647A (zh) * 2021-06-23 2021-08-27 东北大学秦皇岛分校 一种基于区块链存储的多代理数据共享方法
CN113792318A (zh) * 2021-09-18 2021-12-14 上海数据交易中心有限公司 数据授权方法及装置、计算机可读存储介质、计算机设备
CN115001768A (zh) * 2022-05-24 2022-09-02 深圳壹账通智能科技有限公司 基于区块链的数据交互方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109117671A (zh) 一种加密数据共享方法、服务器及计算机可读存储介质
Wang et al. Cloud-assisted EHR sharing with security and privacy preservation via consortium blockchain
CN109189727B (zh) 一种基于属性代理重加密的区块链密文云存储共享方法
US10609000B2 (en) Data tokenization
Zhou et al. PSMPA: Patient self-controllable and multi-level privacy-preserving cooperative authentication in distributedm-healthcare cloud computing system
Huang et al. Secure identity-based data sharing and profile matching for mobile healthcare social networks in cloud computing
Zhang et al. An efficient blockchain-based hierarchical data sharing for Healthcare Internet of Things
CN109756329B (zh) 基于私钥池的抗量子计算共享密钥协商方法和系统
Lu et al. Lightweight public key authenticated encryption with keyword search against adaptively-chosen-targets adversaries for mobile devices
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
Omala et al. Provably secure heterogeneous access control scheme for wireless body area network
CN109729041B (zh) 一种加密内容的发布以及获取方法及装置
US20100293099A1 (en) Purchase transaction system with encrypted transaction information
Au et al. Privacy-preserving personal data operation on mobile cloud—Chances and challenges over advanced persistent threat
CN109194523A (zh) 隐私保护的多方诊断模型融合方法及系统、云端服务器
Yang et al. Multi-keyword certificateless searchable public key authenticated encryption scheme based on blockchain
Yan et al. Context-aware verifiable cloud computing
CN109728906A (zh) 基于非对称密钥池的抗量子计算非对称加密方法和系统
CN107948212A (zh) 一种日志的处理方法及装置
CN106656997A (zh) 一种基于移动社交网络代理重加密跨域交友隐私保护方法
Yang et al. Multiple access control scheme for EHRs combining edge computing with smart contracts
CN109495497A (zh) 基于信誉度动态管理及国产密码算法隐私信息加密传输方法
CN109921905A (zh) 基于私钥池的抗量子计算密钥协商方法和系统
CN113901512A (zh) 数据共享方法及系统
CN110505062A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20190101

WW01 Invention patent application withdrawn after publication