基于区块链技术的版权登记系统设计与实现
发布时间:2020-04-08 15:04
【摘要】:随着数字内容产业的快速发展,越来越多的数字作品需要进行版权登记来维护创作者的权益。现有的数字作品大都是在权威机构集中式地确权登记,这种情况具有以下缺点:一方面,数字内容丰富的今天,大量的信息对中心化系统造成很大的负载;另一方面,中心化系统不但信息不透明,创作者在中心化系统中举证维权困难,而且付出与收益难成正比。区块链技术是数字货币的底层核心技术,具有去中心化、不可篡改、公开透明与点对点交易的特点,已广泛应用于各个领域。区块链技术经过不断演变,按照应用场景的不同分为公有链、联盟链与私有链三种形式。本文利用区块链技术解决版权领域中存在的系统中心化严重、登记信息不透明等问题。在传统数字版权领域,往往需要权威机构提供一定的公信力,因此本文将联盟链应用于数字版权领域。在版权登记过程中,通常存在某些用户的敏感身份信息只针对权威机构公开,因此在保证版权信息公开透明的同时,还需进一步保护用户隐私以提高访问控制效率。在联盟链中,每个用户的身份信息都可以通过一系列属性来描述,例如用户的所属组织、职位等,因此本文使用属性基加密来解决该问题。本文分析了联盟链的基础架构与工作流程,并深入研究了属性基加密的相关理论,提出了一个适用于联盟链、多中心的基于密文策略的属性基加密方案。本方案重新构造了访问树,引入属性类型的概念,赋予每个属性权重以体现属性在系统中的重要性,支持多授权中心,并且避免了单点失效的问题,更适用于联盟链。同时,本文使用Java语言实现了所提出的方案并给出性能分析。与其他同类方案相比,本方案不仅表达力强,而且在加解密过程中具有更高的效率。最后本文根据版权登记的应用需求,搭建基于超级账本Fabric的联盟链网络,使用Spring Boot+Mysql实现了一个基于联盟链的版权登记系统,并详细阐述了整个系统架构、工作流程与各个功能模块设计。本文将联盟链与属性基加密应用于数字版权领域,在保证版权信息公开透明的同时保证了用户的隐私,有效缓解了传统版权登记系统中心化程度高所带来的一系列问题。
【图文】:
图 4.7 用户与文件类图(1)用户模块与文件模块如图 4.7 为用户功能类与文件功能类图。UserService 类主要定义了登录注册、用户验证与生成签名密钥等方法。因为用户信息不需要与联盟链进行交互,因此该类会初始化一个UserDao 对象,用于对 login()、registUser()与 verifyUser()等方法接收到的信息在数据库中进行持久化。getKeyPair()方法用于为用户生成签名所使用的公私钥对。UserDao 类封装了对数据库的增删改查等方法。User 类为用户基本类。DSA 类封装了用户公私钥对生成、哈希计算、计算签名与签名验证等方法。在该模块中,系统使用椭圆曲线密码算法(ECC)Secp256K1 生成长度为 256bit 的公私钥对,使用 SHA1计算文件哈希,使用 SHA-1withECDSA 进行文件签名。FileService 主要封装了文件模块相关功能。主要包含文件上传、获取文件哈希、文件签名与签名验证等功能。该类方法首先会将文件转换为字节流,然后调用 DSA 类的相关方法对字节流进行计算获取输出。Document 为作品原文件的基本类。
图 4.8 版权服务模块类图(2)版权模块。版权模块分为版权功能与属性基加密两部分。(a)版权功能。图 4.8 为本系统版权模块与属性基加密模块的类图。FabricService 类中封装了与联盟链交互的相关方法。系统在启动时,FabricService 首先初始化官方提供的FabricClient 客户端。然后初始化相关通道、链码、组织、节点地址与排序节点信息,为方便起见,本系统将配置信息均封装在了一个 Config 类。另外该类定义了与通道 mychannel 上链码 myrightcc 交互的相关方法,包含版权登记、版权查询与交易信息查询等。Right 类为版权基本类,,包含等上述链码中版权类的相关字段信息。RightService 类封装了与版权相关的方法。其中 encrypt()、decrypt()会调用属性基加密模块的加解密方法。登记版权与查询版权会调用 FabricService 的相关方法。(b)属性基加密。系统使用 Java 的密码学库JPBC 实现了第三章中多授权中心的 CP-ABE方案,并封装为图 4.8 中的 TnwAbe 类。该类主要定义了四个方法对应于方案中的四个算法步骤:
【学位授予单位】:南京邮电大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP311.52;D923.41;TP311.13
【图文】:
图 4.7 用户与文件类图(1)用户模块与文件模块如图 4.7 为用户功能类与文件功能类图。UserService 类主要定义了登录注册、用户验证与生成签名密钥等方法。因为用户信息不需要与联盟链进行交互,因此该类会初始化一个UserDao 对象,用于对 login()、registUser()与 verifyUser()等方法接收到的信息在数据库中进行持久化。getKeyPair()方法用于为用户生成签名所使用的公私钥对。UserDao 类封装了对数据库的增删改查等方法。User 类为用户基本类。DSA 类封装了用户公私钥对生成、哈希计算、计算签名与签名验证等方法。在该模块中,系统使用椭圆曲线密码算法(ECC)Secp256K1 生成长度为 256bit 的公私钥对,使用 SHA1计算文件哈希,使用 SHA-1withECDSA 进行文件签名。FileService 主要封装了文件模块相关功能。主要包含文件上传、获取文件哈希、文件签名与签名验证等功能。该类方法首先会将文件转换为字节流,然后调用 DSA 类的相关方法对字节流进行计算获取输出。Document 为作品原文件的基本类。
图 4.8 版权服务模块类图(2)版权模块。版权模块分为版权功能与属性基加密两部分。(a)版权功能。图 4.8 为本系统版权模块与属性基加密模块的类图。FabricService 类中封装了与联盟链交互的相关方法。系统在启动时,FabricService 首先初始化官方提供的FabricClient 客户端。然后初始化相关通道、链码、组织、节点地址与排序节点信息,为方便起见,本系统将配置信息均封装在了一个 Config 类。另外该类定义了与通道 mychannel 上链码 myrightcc 交互的相关方法,包含版权登记、版权查询与交易信息查询等。Right 类为版权基本类,,包含等上述链码中版权类的相关字段信息。RightService 类封装了与版权相关的方法。其中 encrypt()、decrypt()会调用属性基加密模块的加解密方法。登记版权与查询版权会调用 FabricService 的相关方法。(b)属性基加密。系统使用 Java 的密码学库JPBC 实现了第三章中多授权中心的 CP-ABE方案,并封装为图 4.8 中的 TnwAbe 类。该类主要定义了四个方法对应于方案中的四个算法步骤:
【学位授予单位】:南京邮电大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP311.52;D923.41;TP311.13
【相似文献】
相关会议论文 前10条
1 袁道红;;区块链技术将成为新商业的发动机[A];第十六届中国科学家论坛优秀论文集[C];2019年
2 张扬;;区块链在文化产业的应用场景[A];2018世界经济特区发展(深圳)论坛——改革开放再出发论文集(中英文双语)[C];2018年
3 邓柯;;区块链在实体经济中的创新应用[A];2018世界经济特区发展(深圳)论坛——改革开放再出发论文集(中英文双语)[C];2018年
4 涂志勇;;区块链金融监管[A];2018世界经济特区发展(深圳)论坛——改革开放再出发论文集(中英文双语)[C];2018年
5 甄平;玄佳兴;陈智雨;;能源区块链关键技术[A];电力通信技术研究及应用[C];2019年
6 刘斌;郭东;王s
本文编号:2619494
本文链接:https://www.wllwen.com/falvlunwen/minfalunwen/2619494.html