基于区块链的身份认证系统研究与实现
发布时间:2021-03-08 17:56
身份认证是互联网中保证信息安全、构建信任关系的重要手段,但传统的身份认证系统中心化的管理机制存在着信息泄露和外部攻击的安全风险,并且用户身份信息在各个组织机构间不能沟通,实现信息共享具有一定的难度,造成用户在服务商获取资源服务时,需要重复提交相同的信息进行身份认证,在认证机制上不够灵活。区块链技术自2008年诞生以来,作为数字加密货币——“比特币”的核心支撑技术受到了广泛关注。因其具有的去中心化、公开透明、防篡改等特点,在应用上已经不局限于数字加密货币,人们开始寻求其更广阔的应用场景。以太坊作为一个开源的区块链平台,满足了人们利用区块链技术开发各具特色的去中心化应用的需求,并且可编程性的智能合约使得在无可信中心的情况进行公平交易,让区块链在应用上更加广泛。本研究主要依托于以太坊区块链平台,利用智能合约实现一个去中心化的身份认证系统,实现用户多类型身份信息的管理,满足不同应用场景下的身份认证需求。主要研究内容如下:(1)实现一个去中心化的身份管理系统。针对当前用户身份信息中心化的管理方式存在安全风险以及无法实现共享的问题,借助以太坊平台,利用智能合约构建一个不依赖第三方、用户自主可控的身...
【文章来源】:西南科技大学四川省
【文章页数】:60 页
【学位级别】:硕士
【部分图文】:
区块链数据结构
2相关技术7底层技术进行了封装,帮助开发者直接开发区块链应用而不必实现区块链底层代码逻辑。以太坊为智能合约提供了一个运行环境,合约能够在以太坊虚拟机(EVM)中编译执行,使得开发者能够通过编写智能合约实现与区块链的交互,降低区块链应用开发的难度。以太坊体系架构如图2-2所示[34],主要由区块链(底层数据结构)、P2P网络、共识算法、智能合约以及去中心化应用DApp组成。智能合约在以太坊虚拟机(EVM)编译运行,外部应用可以通过RPC(RemoteProcedureCall)调用合约,而Web3.js封装了以太坊的JSONRPCAPI,是以太坊提供了基于Javascript语言的库,这让开发基于区块链的去中心化Web前端应用成为可能。图2-2以太坊架构比特币是人们熟知的也是最早的区块链应用,为了方便了解以太坊,就两者模型类型以及交易等方面进行比较。与比特币基于交易的模型不同,以太坊是基于状态的模型,不仅仅是账户之间的货币交易而且还是账户之间价值和信息的转移。对于智能合约来说,针对状态数据更容易处理复杂的业务逻辑[35]。在以太坊中,账户分为外部账户和合约账户两种。外部账户主要由用户自己控制,而合约账户由合约代码控制。在比特币中,交易类型比较单一,仅仅是数字货币的转移,而在以太坊中,外部账户发出的以太币转账、智能合约的部署和调用(引起状态值的改变)都会引起交易的产生。就交易结构来说,两者也有所不同,比特币中的交易主要包含交易输入值inputs和输出值out,代表交易资金的来源和去向。而以太坊的交易数据结构包含属性更加灵活,包含了接收方地址、以太币数量、交易签名等信息[34]。2.1.3智能合约技术早在1994年,智能合约就已被提出,主要思想是在计算机中的一段可执行代码,与一般编程语言中的“if-then”思想
西南科技大学硕士学位论文8由于计算手段和应用场景的限制导致智能合约并没有得到重视和广泛应用[29]。区块链出现为智能合约提供了可信执行环境。区块链分布式和可复制的特点,使得在不需要第三方的前提之下,自动执行合约,实现可信交易。智能合约的出现对区块链的功能进行了扩展,使得人们能够开发各具特色的DApp。由于本研究主要是基于以太坊平台开发,而智能合约是实现相关功能的关键,因此下面就以太坊智能合约进行介绍。以太坊中的智能合约主要是包含状态数据和代码逻辑两部分。外部通过调用智能合约,按照合约内部设定规则执行交易,访问合约状态数据,从而实现DApp。智能合约在以太坊中的运作机制如图2-3所示[34,36]。合约经过编译后部署到区块链中。外部应用通过RPC调用合约事件,如果满足合约制定的响应条件,自动执行响应规则代码,最后将结果返回给外部应用。外部应用调用智能合约有两种方式,主要区别在于是否会产生交易记录。一般修改操作会产生一笔交易,各节点共识后记录在区块链中,保证了操作记录可追溯,但一般查询合约操作不会产生交易。图2-3智能合约运作机制除此以外,智能合约中支持内部事件注册与通知机制,在合约中注册一个event事件并在合约中函数代码里触发该事件,当外部应用调用函数时就会触发event事件,外部可以通过监听该事件得到相关响应信息。此机制使得外部应用能够及时知晓合约内部发生的相关事件。2.2密码学相关技术2.2.1对称加密与非对称加密(1)对称加密:主要特征是加密和解密密钥相同。加解密流程图如图2-4所示,发送方利用加密算法和密钥对明文信息进行加密,将生成的密文发送给接收方。接收方通过解密算法和相同的密钥对密文进行解密,从而恢复明文信息。常用的对称加密
【参考文献】:
期刊论文
[1]基于智能合约的身份管理及认证模型[J]. 潘维,黄晓芳. 计算机工程与设计. 2020(04)
[2]属性基加密算法在云计算中的应用[J]. 薛力坤. 无线互联科技. 2019(12)
[3]基于智能合约的以太坊可信存证机制[J]. 曹迪迪,陈伟. 计算机应用. 2019(04)
[4]基于区块链的身份管理认证研究[J]. 董贵山,陈宇翔,张兆雷,白健,郝尧. 计算机科学. 2018(11)
[5]基于区块链的身份管理研究[J]. 陈宇翔,张兆雷,卓见,彭笛,刘地军. 信息技术与网络安全. 2018(07)
[6]基于区块链的身份认证机制的效率优化方法研究[J]. 汤凌韬,许敏,金玉荣. 计算机应用研究. 2019(09)
[7]区块链技术:架构及进展[J]. 邵奇峰,金澈清,张召,钱卫宁,周傲英. 计算机学报. 2018(05)
[8]区块链技术与应用前瞻综述[J]. 何蒲,于戈,张岩峰,鲍玉斌. 计算机科学. 2017(04)
[9]区块链技术综述[J]. 沈鑫,裴庆祺,刘雪峰. 网络与信息安全学报. 2016(11)
[10]基于IPFS的分布式数据共享系统的研究[J]. 殷龙,王宏伟. 物联网技术. 2016(06)
硕士论文
[1]基于区块链智能合约的高校学历认证系统的研究与实现[D]. 吴春龙.内蒙古大学 2019
[2]基于区块链智能合约的仓单交易平台研究与实现[D]. 陈亚飞.郑州大学 2018
[3]基于区块链的智能合约研究与实现[D]. 杨茜.西南科技大学 2018
[4]基于WSN的群组公钥匿名鉴别方案的研究[D]. 鲁杰.重庆邮电大学 2016
[5]基于属性的加密体制研究与实现[D]. 余敏达.山东大学 2013
[6]移动网络漫游认证协议的形式化研究[D]. 翁艳琴.湖北师范学院 2012
本文编号:3071424
【文章来源】:西南科技大学四川省
【文章页数】:60 页
【学位级别】:硕士
【部分图文】:
区块链数据结构
2相关技术7底层技术进行了封装,帮助开发者直接开发区块链应用而不必实现区块链底层代码逻辑。以太坊为智能合约提供了一个运行环境,合约能够在以太坊虚拟机(EVM)中编译执行,使得开发者能够通过编写智能合约实现与区块链的交互,降低区块链应用开发的难度。以太坊体系架构如图2-2所示[34],主要由区块链(底层数据结构)、P2P网络、共识算法、智能合约以及去中心化应用DApp组成。智能合约在以太坊虚拟机(EVM)编译运行,外部应用可以通过RPC(RemoteProcedureCall)调用合约,而Web3.js封装了以太坊的JSONRPCAPI,是以太坊提供了基于Javascript语言的库,这让开发基于区块链的去中心化Web前端应用成为可能。图2-2以太坊架构比特币是人们熟知的也是最早的区块链应用,为了方便了解以太坊,就两者模型类型以及交易等方面进行比较。与比特币基于交易的模型不同,以太坊是基于状态的模型,不仅仅是账户之间的货币交易而且还是账户之间价值和信息的转移。对于智能合约来说,针对状态数据更容易处理复杂的业务逻辑[35]。在以太坊中,账户分为外部账户和合约账户两种。外部账户主要由用户自己控制,而合约账户由合约代码控制。在比特币中,交易类型比较单一,仅仅是数字货币的转移,而在以太坊中,外部账户发出的以太币转账、智能合约的部署和调用(引起状态值的改变)都会引起交易的产生。就交易结构来说,两者也有所不同,比特币中的交易主要包含交易输入值inputs和输出值out,代表交易资金的来源和去向。而以太坊的交易数据结构包含属性更加灵活,包含了接收方地址、以太币数量、交易签名等信息[34]。2.1.3智能合约技术早在1994年,智能合约就已被提出,主要思想是在计算机中的一段可执行代码,与一般编程语言中的“if-then”思想
西南科技大学硕士学位论文8由于计算手段和应用场景的限制导致智能合约并没有得到重视和广泛应用[29]。区块链出现为智能合约提供了可信执行环境。区块链分布式和可复制的特点,使得在不需要第三方的前提之下,自动执行合约,实现可信交易。智能合约的出现对区块链的功能进行了扩展,使得人们能够开发各具特色的DApp。由于本研究主要是基于以太坊平台开发,而智能合约是实现相关功能的关键,因此下面就以太坊智能合约进行介绍。以太坊中的智能合约主要是包含状态数据和代码逻辑两部分。外部通过调用智能合约,按照合约内部设定规则执行交易,访问合约状态数据,从而实现DApp。智能合约在以太坊中的运作机制如图2-3所示[34,36]。合约经过编译后部署到区块链中。外部应用通过RPC调用合约事件,如果满足合约制定的响应条件,自动执行响应规则代码,最后将结果返回给外部应用。外部应用调用智能合约有两种方式,主要区别在于是否会产生交易记录。一般修改操作会产生一笔交易,各节点共识后记录在区块链中,保证了操作记录可追溯,但一般查询合约操作不会产生交易。图2-3智能合约运作机制除此以外,智能合约中支持内部事件注册与通知机制,在合约中注册一个event事件并在合约中函数代码里触发该事件,当外部应用调用函数时就会触发event事件,外部可以通过监听该事件得到相关响应信息。此机制使得外部应用能够及时知晓合约内部发生的相关事件。2.2密码学相关技术2.2.1对称加密与非对称加密(1)对称加密:主要特征是加密和解密密钥相同。加解密流程图如图2-4所示,发送方利用加密算法和密钥对明文信息进行加密,将生成的密文发送给接收方。接收方通过解密算法和相同的密钥对密文进行解密,从而恢复明文信息。常用的对称加密
【参考文献】:
期刊论文
[1]基于智能合约的身份管理及认证模型[J]. 潘维,黄晓芳. 计算机工程与设计. 2020(04)
[2]属性基加密算法在云计算中的应用[J]. 薛力坤. 无线互联科技. 2019(12)
[3]基于智能合约的以太坊可信存证机制[J]. 曹迪迪,陈伟. 计算机应用. 2019(04)
[4]基于区块链的身份管理认证研究[J]. 董贵山,陈宇翔,张兆雷,白健,郝尧. 计算机科学. 2018(11)
[5]基于区块链的身份管理研究[J]. 陈宇翔,张兆雷,卓见,彭笛,刘地军. 信息技术与网络安全. 2018(07)
[6]基于区块链的身份认证机制的效率优化方法研究[J]. 汤凌韬,许敏,金玉荣. 计算机应用研究. 2019(09)
[7]区块链技术:架构及进展[J]. 邵奇峰,金澈清,张召,钱卫宁,周傲英. 计算机学报. 2018(05)
[8]区块链技术与应用前瞻综述[J]. 何蒲,于戈,张岩峰,鲍玉斌. 计算机科学. 2017(04)
[9]区块链技术综述[J]. 沈鑫,裴庆祺,刘雪峰. 网络与信息安全学报. 2016(11)
[10]基于IPFS的分布式数据共享系统的研究[J]. 殷龙,王宏伟. 物联网技术. 2016(06)
硕士论文
[1]基于区块链智能合约的高校学历认证系统的研究与实现[D]. 吴春龙.内蒙古大学 2019
[2]基于区块链智能合约的仓单交易平台研究与实现[D]. 陈亚飞.郑州大学 2018
[3]基于区块链的智能合约研究与实现[D]. 杨茜.西南科技大学 2018
[4]基于WSN的群组公钥匿名鉴别方案的研究[D]. 鲁杰.重庆邮电大学 2016
[5]基于属性的加密体制研究与实现[D]. 余敏达.山东大学 2013
[6]移动网络漫游认证协议的形式化研究[D]. 翁艳琴.湖北师范学院 2012
本文编号:3071424
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3071424.html