发明内容
为了解决用户自行保管作品文件容易丢失或损坏的问题,本说明书实施例提供一种作品文件的存储方法、著作权确权方法及装置,技术方案如下:
根据本说明书实施例的第1方面,提供一种作品文件的存储方法,包括:
获取用户提供的待存储的作品文件;
计算所述作品文件的哈希值,并将所述作品文件的哈希值提交给区块链进行存储;
采集所述用户的生物特征信息,基于所述生物特征信息对所述作品文件进行加密;
将加密后的所述作品文件与所述哈希值提交给司法方设备进行关联存储。
根据本说明书实施例的第2方面,提供一种针对第1方面方法所存储的作品文件的著作权确权方法,应用于司法方设备,所述著作权确权方法包括:
获取用户提供的目标哈希值;
获取关联于所述目标哈希值的加密作品文件;
将所述加密作品文件发送给所述用户以便基于所述用户的生物特征信息进行解密,并接收所述用户返回的解密作品文件;
判断所述解密作品文件与所述目标哈希值是否匹配,并且判断所述目标哈希值是否存储于区块链;
若判断结果皆为是,则确定所述用户拥有所述解密作品文件的著作权。
根据本说明书实施例的第3方面,提供一种作品文件的存储装置,包括:
获取模块,获取用户提供的待存储的作品文件;
计算提交模块,计算所述作品文件的哈希值,并将所述作品文件的哈希值提交给区块链进行存储;
采集加密模块,采集所述用户的生物特征信息,基于所述生物特征信息对所述作品文件进行加密;
提交存储模块,将加密后的所述作品文件与所述哈希值提交给司法方设备进行关联存储。
根据本说明书实施例的第4方面,提供一种针对第1方面方法所存储的作品文件的著作权确权装置,应用于司法方设备,所述装置包括:
第一获取模块,获取用户提供的目标哈希值;
第二获取关联于所述目标哈希值的加密作品文件;
发送接收模块,将所述加密作品文件发送给所述用户以便基于所述用户的生物特征信息进行解密,并接收所述用户返回的解密作品文件;
判断处理模块,判断所述解密作品文件与所述目标哈希值是否匹配,并且判断所述目标哈希值是否存储于区块链;若判断结果皆为是,则确定所述用户拥有所述解密作品文件的著作权。
本说明书实施例所提供的技术方案,一方面将用户创作的作品文件的哈希值提交给区块链进行存储,另一方面利用用户的生物特征信息对作品文件进行加密,将加密后的作品文件与哈希值提交给司法方设备进行关联存储。如此,可以实现如下效果:
1、不需要用户自行保管作品文件(由著作权确权方指定的存储服务方进行存储),也不需要用户管理密钥,提升了用户便利性。
2、可以确保未经用户同意的情况下,作品不会被发表。
3、由区块链对作品文件的哈希值进行存储,为用户想要确权时提供证据支持。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1是本说明书实施例提供的一种作品文件的存储方法的流程示意图,包括如下步骤:
S100:获取用户提供的待存储的作品文件。
在实际应用中,可以开发用于对作品文件进行存储的区块链存储系统。区块链存储系统包括区块链存储客户端与区块链存储服务端,区块链存储服务端对接于区块链网络。需要说明的是,区块链存储客户端与区块链存储服务端之间是中心化架构,而区块链存储服务端可以作为区块链网络中的一个节点,也可以不作为区块链网络中的一个节点。
用户需要存储作品文件时,可以将作品文件上传给用户设备上安装的区块链存储客户端。图1所示的方法的执行主体可以是上述区块链存储客户端,也可以是用户设备上安装的其他程序。
S102:计算所述作品文件的哈希值,并将所述作品文件的哈希值提交给区块链进行存储。
区块链存储客户端可以计算作品文件的哈希值,将作品文件的哈希值提交给区块链存储服务端。区块链存储服务端可以将所述哈希值封装成区块链交易,将区块链交易提交给区块链网络进行存储。需要说明的是,通常区块链交易中包含有时间信息,用于表征将区块链交易提交给区块链网络的时间点。
通过步骤S102,可以实现对文件作品的哈希值的存储,存储到区块链中的作品文件的哈希值难以被篡改,因而可以用于证明作品文件创作时间不会晚于区块链交易中记载的时间。然而,由于根据作品文件的哈希值并不能恢复出文件作品本身,因此,当基于区块链证明用户对文件作品的著作权时,还需要获取文件作品本身,验证获取的文件作品的哈希值是否存储于区块链中,如果是,就说明获取的文件作品的著作权人即是将文件作品的哈希值提交给区块链进行存储的用户。
S104:采集所述用户的生物特征信息,基于所述生物特征信息对所述作品文件进行加密。
需要说明的是,对步骤S102与步骤S104之间的执行先后顺序不做限定。
在本说明书实施例中,可以将生物特征信息作为加密密钥,对作品文件进行加密。相应地,需要对加密作品文件进行解密时,也需要使用同样的生物特征信息作为解密密钥进行解密。
用户的生物特征信息例如可以是用户的指纹信息、人脸信息、虹膜信息、声纹信息等。基于用户的生物特征信息对作品文件进行加密的目的在于,用户可以不需要记忆或者保管密钥,并且,用户的生物特征信息只有用户可以提供,且一般不会丢失。
S106:将加密后的所述作品文件与所述哈希值提交给司法方设备进行关联存储。
将加密后的作品文件提交给司法方设备进行存储的目的在于,由可以对用户进行著作权确权的权威机构的设备来保管加密后的作品文件,同时,在用户没有同意的情况下,作品文件的内容也不会公开发表。
之所以要将加密后的作品文件与哈希值进行关联存储,是为了方便后司法方设备请求用户解密加密后的作品文件后,将解密后的作品文件与所述哈希值进行匹配。
针对步骤S106,一种可选的实施方式为,司法方设备将所述作品文件与所述哈希值封装到同一数据结构中,对该数据结果进行存储,从而实现关联存储。
另一种可选的实施方式为,司法方设备将加密后的所述作品文件与所述哈希值分别存储,同时在本地建立所述哈希值与所述加密后的作品文件之间的对应关系。
此外,司法方设备也可以不直接存储所述哈希值与所述加密后的作品文件,而是将所述哈希值与所述加密后的作品文件发送给一个或一个以上的可信存储设备进行关联存储。当然,可信存储设备也可以采用上述的两种方式实现关联存储。将所述哈希值与所述加密后的作品文件发送给至少两个可信存储设备进行存储,可以更加确保加密后的作品文件不会丢失。
通过图1所示的方法,一方面将用户创作的作品文件的哈希值提交给区块链进行存储,另一方面利用用户的生物特征信息对作品文件进行加密,将加密后的作品文件与哈希值提交给司法方设备进行关联存储。如此,可以实现如下效果:
1、不需要用户自行保管作品文件(由著作权确权方指定的存储服务方进行存储),也不需要用户管理密钥,提升了用户便利性。
2、可以确保未经用户同意的情况下,作品不会被发表。
3、由区块链对作品文件的哈希值进行存储,为用户想要确权时提供证据支持。
图2是本说明书实施例提供的一种作品文件的著作权确权方法的流程示意图,包括如下步骤:
S200:获取用户提供的目标哈希值。
图2所示方法的执行主体是著作权确权方设备。
本说明书实施例中,用户想要对自己创作的作品文件进行发表并确权时,可以将作品文件的哈希值(为了描述方便,称为目标哈希值)提供给司法方设备。此外,有时用户与他人产生著作权纠纷,将纠纷诉至司法方,用户也可以请求司法方对自己拥有作品文件的著作权进行确权。
S202:获取关联于所述目标哈希值的加密作品文件。
如前所述,司法方设备替用户保管加密后的作品文件,并且,由于将加密后的作品文件与作品文件的哈希值进行关联存储,因此,可以根据用户提供的目标哈希值获取到关联的加密作品文件。
S204:将所述加密作品文件发送给所述用户以便基于所述用户的生物特征信息进行解密,并接收所述用户返回的解密作品文件。
S206:判断所述解密作品文件与所述目标哈希值是否匹配,并且判断所述目标哈希值是否存储于区块链。
判断所述解密作品文件与所述目标哈希值是否匹配,实际上是判断所述解密作品文件的哈希值是不是所述目标哈希值,如果是,则视为匹配,如果不是,则视为不匹配。
判断目标哈希值是否存储于区块链,实际上是向区块链查询是否存在封装有所述目标哈希值的区块链交易。
S208:若判断结果皆为是,则确定所述用户拥有所述解密作品文件的著作权。
若任一判断结果为否,则拒绝确定所述用户拥有所述解密作品文件的著作权,或者,确定所述用户不拥有所述解密作品文件的著作权。
图3是本说明书实施例提供的一种作品文件的存储装置的结构示意图,包括:
获取模块301,获取用户提供的待存储的作品文件;
计算提交模块302,计算所述作品文件的哈希值,并将所述作品文件的哈希值提交给区块链进行存储;
采集加密模块303,采集所述用户的生物特征信息,基于所述生物特征信息对所述作品文件进行加密;
提交存储模块304,将加密后的所述作品文件与所述哈希值提交给司法方设备进行关联存储。
图3装置可以应用于用户设备上安装的区块链存储客户端。
所述提交存储模块,将加密后的所述作品文件与所述哈希值提交给司法方设备,使得所述司法方设备将所述作品文件与所述哈希值发送给至少两个可信存储设备进行存储。
图4是一种作品文件的著作权确权装置的结构示意图,应用于司法方设备,所述装置包括:
第一获取模块401,获取用户提供的目标哈希值;
第二获取模块402,关联于所述目标哈希值的加密作品文件;
发送接收模块403,将所述加密作品文件发送给所述用户以便基于所述用户的生物特征信息进行解密,并接收所述用户返回的解密作品文件;
判断处理模块404,判断所述解密作品文件与所述目标哈希值是否匹配,并且判断所述目标哈希值是否存储于区块链;若判断结果皆为是,则确定所述用户拥有所述解密作品文件的著作权。
所述判断处理模块404,若任一判断结果为否,则拒绝确定所述用户拥有所述解密作品文件的著作权。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图1或2所示方法的功能。
此外对区块链进行相应说明。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
基于区块链的基本特性,区块链通常是由若干个区块构成。在这些区块中分别记录有与该区块的创建时刻对应的时间戳,所有的区块严格按照区块中记录的时间戳,构成一条在时间上有序的数据链条。
对于物理世界产生的真实数据,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
其中,区块链中支持的共识算法可以包括:
第一类共识算法,即节点设备需要争夺每一轮的记账周期的记账权的共识算法;例如,工作量证明(Proofof Work, POW)、股权证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)等共识算法;
第二类共识算法,即预先为每一轮记账周期选举记账节点(不需要争夺记账权)的共识算法;例如,实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等共识算法。
在采用第一类共识算法的区块链网络中,争夺记账权的节点设备,都可以在接收到交易后执行该笔交易。争夺记账权的节点设备中可能有一个节点设备在本轮争夺记账权的过程中胜出,成为记账节点。记账节点可以将收到的交易与其它交易一起打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
在采用第二类共识算法的区块链网络中,具有记账权的节点设备在本轮记账前已经商定好。因此,节点设备在接收到交易后,如果自身不是本轮的记账节点,则可以将该交易发送至记账节点。对于本轮的记账节点,在将该交易与其它交易一起打包以生成最新区块的过程中或者之前,可以执行该交易。记账节点在生成最新区块后,可以将该最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
如上所述,无论区块链采用以上示出的哪种共识算法,本轮的记账节点都可以将接收到的交易打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块或者该最新区块的区块头后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块或区块头的过程中,也可以执行该区块中的包含的交易。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1410、存储器1420、输入/输出接口1430、通信接口1440和总线1450。其中处理器1410、存储器1420、输入/输出接口1430和通信接口1440通过总线1450实现彼此之间在设备内部的通信连接。
处理器1410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1420中,并由处理器1410来调用执行。
输入/输出接口1430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1450包括一通路,在设备的各个组件(例如处理器1410、存储器1420、输入/输出接口1430和通信接口1440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1410、存储器1420、输入/输出接口1430、通信接口1440以及总线1450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1或2所示方法的功能。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。