论文部分内容阅读
随着虚拟货币的出现,比特币成为世界关注的热点,而比特币背后的核心技术——区块链,也逐渐被专家学者所重视,针对于区块链的应用研究层出不穷,从金融领域的支付、跨境汇款、资产数字化、交易所、清算结算、征信等到非金融领域的存在性证明、身份认证、资产验证、资产交易等。基于区块链的身份认证的需求尤其突出,尽管目前存在一些不完善的系统表明个人身份,如身份证、驾照、护照等,但是没有对等安全的系统来进行在线认证。经常用来登陆不同应用的社交媒体的账号和MAC地址更贴合身份认证的应用场景,但是在它们都可以被有意修改的情况下都不是可靠的认证方式。根据上述背景,本文将利用超级账本作为区块链的技术框架,设计并实现一个基于区块链的身份认证系统。提供用户注册、用户登陆、身份信息修改、授权登陆、信息授权、经历信息认证、区块信息查询等功能。本论文的工作主要有:(1)研究了区块链中的区块存储、Merkle树、共识算法、智能合约等概念,分析了将区块链技术中的优点和身份信息管理结合的可能性,可以利用区块链机制的不可篡改、可追溯的特性将用户身份信息保存在区块链中,保证了信息的安全。利用智能合约实现操作区块链的系统功能,使业务逻辑安全可靠,杜绝了更改的可能。结合应用背景选取超级账本项目作为实现区块链技术的基础。(2)设计了基于区块链的身份认证系统的系统功能与系统结构。通过给用户颁发一组公钥和私钥,将公钥作为用户的身份标识,将用户的身份信息绑定在密钥上面,利用数字签名技术验证是否是用户发出的请求,保证安全性。用户信息都保存在区块链中,一旦写入账本,便不可更改。利用智能合约操作区块链存储,保证了数据存储过程可靠。(3)利用docker搭建了区块链节点网络,成功实现了系统。并且对系统进行了功能上和性能上的测试,功能上系统能够完成所设计的需求目标,性能上系统满足了应用的性能要求。