区块链智能合约在学位管理系统上的研究与实现
发布时间:2020-08-22 16:46
【摘要】:高等教育己经成为各国发展科技实力和提高创新能力的重要途径。但教育管理信息的产生、修改及发布均由单一的管理机构集中处理,权限过度集中,教育信息存在泄露和篡改等潜在风险,这对个人教育信息的保密和社会诚信的公平公正带来了巨大安全隐患。区块链技术拥有去中心化、公开透明、防篡改、可追溯等特性,为教育管理应用系统的数据安全提供保障。智能合约具有按照用户意愿执行、无人能中断执行过程等优点。因此论文中提出一种基于区块链和智能合约技术实现风险可控的学位管理的解决方案。论文中首先对去中心化的学位管理系统的整体架构进行设计,并对系统中学位注册、学位发布、学位召回、学位查询和交易/区块查询等业务进行分析。其次根据需求设计了学位交易的业务规则和流程,利用智能合约技术设计实现学位交易的合约模块。论文中根据不同对象控制不同权限功能以及节点的动态管理功能的基础合约,利用合约实现学生、学校、教育局之间相互交互的业务合约,并使用Oyente工具检测业务合约的安全性,对存在问题的合约改进并实现。为了提高系统在交易过程中的可靠性和执行效率,系统中使用安全性高、成熟度高的ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)算法对交易数据进行签名,并验证签名是否正确;使用PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识机制代替以太坊中效率低下、算力浪费的PoW(Proof of Work,工作量证明)机制,PBFT机制不需要节点挖矿,投票决定即可达成共识,与论文中基于联盟链的应用系统相契合。最后论文设计搭建以太坊网络区块链环境,通过Node.js将智能合约部署到链上,从而实现学位管理系统。在该系统交易的相关操作都是通过调用智能合约来实现。通过测试验证了利用区块链和智能合约实现学位管理系统的可行性较高,区块生成时间短,运行效率快,为系统进一步扩展提供借鉴作用。
【学位授予单位】:西安科技大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP311.13;G647
【图文】:
图 4.12 智能合约安全性检测统中的合约程序借助 Oyente 工具检测出关于 User 合约中存在可重入对学生信息审核操作,先调用 studentList 函数获取学生列表,再调用状态函数 updateStudentInfo,之后会调用 SchoolAudit 合约。如图 4.1约的外部调用过程出现了可重入性攻击漏洞。Potential violation of Checks-Effects-Interaction pattern inSchoolAduit.updateInfo(byte32,uint256,uint256):Could potentiallylead to reentrancy vulnerability.morePotential violation of Checks-Effects-Interaction pattern inSchoolUser.listRequest(byte32,uint256,uint256):Could potentiallylead to reentrancy vulnerability.more图 4.13 业务合约安全性检测结果合约代码在执行过程中被打断,并且一次调用还未完全结束之前再次样就产生了可重入性漏洞。如上述检测结果显示,SchoolUser 合约在
图 5.1 学生注册信息页面(2)学校发布学位模块表 5.3 学校发布学位模块测试用例及结果模块名 学校发布学位模块操作人员 学校 测试时间 2018-12-15用例 ID Case-02测试用例名称 学校发布学位前置条件 学位信息已注册成功相关用例 学位信息注册模块测试目的测试学校对于学生注册信息正确性的验证,决定是否授予学位,错误是否有相关提示。1. 学生输入 IP 地址进入学校审批页面;2. 在学校页面输入授予进入该页面的权限的私钥;
5 学位管理系统测试Test021. 私钥信息:02b361ad11f5a2cf82d137a6c8927b0f1722d15bb460c20a14c38e0659a19e4f2. 验证待审核页面的学生信息。实际结果1. 学校输入正确 IP 地址进入教育节点页面;2. 在学校页面输入了正确的私钥密钥获得进入该页面的权限;3. 审核学生的学位申请信息;4. 学位信息验证结果正确,同意授予学位。学校对学生学位进行授予过程如图 5.2、5.3 所示。
本文编号:2800910
【学位授予单位】:西安科技大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP311.13;G647
【图文】:
图 4.12 智能合约安全性检测统中的合约程序借助 Oyente 工具检测出关于 User 合约中存在可重入对学生信息审核操作,先调用 studentList 函数获取学生列表,再调用状态函数 updateStudentInfo,之后会调用 SchoolAudit 合约。如图 4.1约的外部调用过程出现了可重入性攻击漏洞。Potential violation of Checks-Effects-Interaction pattern inSchoolAduit.updateInfo(byte32,uint256,uint256):Could potentiallylead to reentrancy vulnerability.morePotential violation of Checks-Effects-Interaction pattern inSchoolUser.listRequest(byte32,uint256,uint256):Could potentiallylead to reentrancy vulnerability.more图 4.13 业务合约安全性检测结果合约代码在执行过程中被打断,并且一次调用还未完全结束之前再次样就产生了可重入性漏洞。如上述检测结果显示,SchoolUser 合约在
图 5.1 学生注册信息页面(2)学校发布学位模块表 5.3 学校发布学位模块测试用例及结果模块名 学校发布学位模块操作人员 学校 测试时间 2018-12-15用例 ID Case-02测试用例名称 学校发布学位前置条件 学位信息已注册成功相关用例 学位信息注册模块测试目的测试学校对于学生注册信息正确性的验证,决定是否授予学位,错误是否有相关提示。1. 学生输入 IP 地址进入学校审批页面;2. 在学校页面输入授予进入该页面的权限的私钥;
5 学位管理系统测试Test021. 私钥信息:02b361ad11f5a2cf82d137a6c8927b0f1722d15bb460c20a14c38e0659a19e4f2. 验证待审核页面的学生信息。实际结果1. 学校输入正确 IP 地址进入教育节点页面;2. 在学校页面输入了正确的私钥密钥获得进入该页面的权限;3. 审核学生的学位申请信息;4. 学位信息验证结果正确,同意授予学位。学校对学生学位进行授予过程如图 5.2、5.3 所示。
【参考文献】
相关期刊论文 前4条
1 刘华倩;;浅谈市场经济背景下职业资格与学历相互并存的重要性[J];赤子(中旬);2013年11期
2 刘通;王凤英;;基于Merkle树的起源完整性解决方案[J];山东理工大学学报(自然科学版);2012年03期
3 任强;赵德平;;椭圆曲线数字签名算法下的公钥密钥验证[J];计算机与数字工程;2011年03期
4 徐才千;;新形势下高校后进生教育存在的问题及对策[J];教育探索;2010年11期
相关硕士学位论文 前3条
1 陈亚飞;基于区块链智能合约的仓单交易平台研究与实现[D];郑州大学;2018年
2 杨茜;基于区块链的智能合约研究与实现[D];西南科技大学;2018年
3 顾燕;基于区块链的身份认证系统的设计与实现[D];北京邮电大学;2018年
本文编号:2800910
本文链接:https://www.wllwen.com/guanlilunwen/glzh/2800910.html