下载此文档

基于联盟链的行程溯源校验系统的设计与实现分析.docx


文档分类:论文 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
该【基于联盟链的行程溯源校验系统的设计与实现分析 】是由【科技星球】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【基于联盟链的行程溯源校验系统的设计与实现分析 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。基于联盟链的行程溯源校验系统的设计与实现分析
 
 
蔡超萍 康晓凤 王可 张百川 王宇
Key:区块链;联盟链;行程溯源;数字签名
:TP315 :A
1 引言(Introduction)
行程码对防控病毒传播起到了至关重要的作用。一些不法分子恶意伪造行程码,给疾病管控部门的传染病防控工作带来了巨大的困难,也给社会卫生安全带来了严重威胁。为了避免类似事件的发生,行程码的数据防伪就成为行程溯源工作中亟待解决的问题。
本系统通过提供请求者IP(Internet Protocol,网际互联协议)位置的API(Application Programming Interface, 应用程序编程接口),返回json格式的地理位置(精确到区)信息,后端通过工具类JsonUtil处理此信息,再结合打卡时间和用户姓名生成行程对象,行程对象上传到区块链后,根据返回的哈希值生成公钥和私钥,使用私钥对json字符串加密,并把加密结果和公钥写入数字二维码,达到防止伪造行程码的目的。由于区块链具有信息不可篡改的特点,所以可以根据区块的哈希值对用户的行程溯源。Web应用前后端分离,前端使用VUE和Element-UI技术实现图形化用户界面,后端使用Spring身份控制技术分离权限,同时采用ECDSA算法进行签名,实现防篡改和数据保护功能。对比RSA(Rivest-Shamir-Adleman)算法,ECDSA(Elliptic Curve Digital SignatureAlgorithm,椭圆曲线数字签名算法)既保障了信息安全,又降低了算法复杂度[1]。
2 联盟链和ECDSA简介(Introduction to consortiumblockchain and ECDSA)
联盟链是一种基于区块链技术的分布式账本技术,也是一种特殊的区块链[2],由一组受信任的参与者组成,能安全地共享数据和信息,同时具有如下优势:可以防止未经授权的访问和篡改,提供更高的安全性;可以减少交易的确认时间,提供更快的交易速度;其成本相较于公共区块链更低,能够减少网络中的节点数量,减少硬件需求;可以提供高扩展性,支持更多的参与者和应用程序。
ECDSA是一种基于椭圆曲线密码学的数字签名算法,也是一种公钥密码体制[3],用于确保数据的完整性和可靠性。ECDSA使用椭圆曲线算法生成公钥和私钥,其安全性取决于椭圆曲线的安全性即阶的选择,因为它使用更少的计算量生成公钥和私钥,并且可以提供更高的安全性,所以安全性比RSA更高[3]。ECDSA的签名过程非常简单,首先对消息进行哈希计算,其次使用私钥对哈希值加密形成签名,最后使用公钥对签名进行验证。
3 系统设计与实现(System design and implementation)
本系统的核心技术为ECDSA算法和Hyperledger Fabric联盟链技术,核心模块包括Web端和联盟链。Web端分前后两个部分,Web前端采用广泛使用的JavaScript库VUE3结合Element-UI构建网页,后端采用Spring-Boot搭建控制层,并采用Redis缓存数据。联盟链部分在前端加载FabricClient库与Fabric Ca Client,通过RPC(Remote ProcedureCall,远程过程调用协议)服务与另一台服务器上的联盟链的Order和Peer节点进行通信,并在本地SQL(Structured QueryLanguage)数据库保存一份与上传数据相同的备份[4]。综合使用以上技术设计实现了本系统,包括用户管理、行程生成、行程校验和行程溯源四大模块,系统模块如图1所示。
用户管理模块
本系统没有直接提供注册功能,通过直接添加数据库的特权用户分别管理低级权限的用户。在Spring中使用***@PreAuthorize注解控制用户权限[5],规定只有拥有某项权限的用户才可以调用某项函数。Spring Security的访问控制原理是基于角色的访问控制(Role-Based Access Control,RBAC),它将用户分配到不同的角色,并为每个角色分配不同的权限,从而实现访问控制。同时,在目录API中定义后端Controller层中对应的响应所需的路由,在后端使用***@RequestController等注解指定相应的方法。在SQL数据库创建用户时,使用role字段赋予操作函数的具体权限,在具体函数中为超级管理员添加对用户进行“增、删、改、查”的权限,具体实现界面如图2所示,超级管理员可以管理普通用户。
行程生成模块
Web端的前端使用VUE加载地图插件vue-amap,并且向百度、高德、谷歌等厂商申请用于定位API所需的密钥,如图3所示。本系统在前端使用Axois技术通过用户IP向路由请求获取地理位置,逻辑代码再根据地理位置信息生成行程对象,通过工具类TimeToString获得实时时间写入行程对象,前端通过文本框获取用户输入的姓名等详细信息,并返回给后端写入对象,再将数据写入Peer节点。本系统有两个Peer节点,一个用于存储地址的随机编号,另一个用于存储用户的行程信息。Hyperledger Fabric提供了两种创建数据库的选择,即goleveldb(默认)与CouchDB,本系统使用-s参数创建了两个CouchDB數据库。

基于联盟链的行程溯源校验系统的设计与实现分析 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人科技星球
  • 文件大小444 KB
  • 时间2025-02-12
最近更新