【技术实现步骤摘要】
一种基于区块链的身份认证方法
本专利技术属于区块链
,具体涉及一种身份认证方法。
技术介绍
目前,区块链技术和身份认证的结合处于初级研究阶段,市面上逐步出现一些商业应用,比较知名的便是W3C基金会组织提出的一种去中心化身份标识符协议(DID协议),该协议定义了一种基于去中心化的自我主权身份标识符,该标识符可以由用户直接创建和注册,这对于用户来说意义重大,因为标识符是任何身份和通讯系统的基础,没有标识符,实体之间无法建立直接的联系、传递消息或数据共享。基于W3C的DID开源标准,2019年5月,微软开发了一套去中心化身份标识系统,该系统在比特币主网络中运行。微软是首个研发去中心化身份工作的大型互联网公司,该系统旨在通过区块链技术更好地证明用户的身份。但是W3C的DID协议与规范都还在制定与更新的过程中,微软公司开发的DID系统也处在非常早期的阶段。在这些基于DID的系统中,都是通过用户填写信息注册的方式将用户在现实世界的身份信息存储到区块链上,从而保证身份信息的不可篡改性。用户身份信息存储在区块链上后,也往往需要依赖于第三方的身份信息服务中心实现身份认证。目前传统的身份认证方案存下面的缺陷:集中大型身份信息数据库是很容易遭到各种各样的网络攻击,这样用户的隐私数据就会泄露,不法分子窃取到用户的敏感信息就会操纵数据做一些恶性事件,用户对自己的信息完全失去了自主控制权。目前基于区块链的身份认证方案也会存在下面两个严重缺陷:(1)不能够保证上链前用户身份信息的真实可靠性。目前的方案大多是用 ...
【技术保护点】
1.一种基于区块链的身份认证方法,其特征在于,包括以下步骤:/n步骤1:用户信息注册;/n用户在前端模块提交身份证正反面照片,前端模块将获取到的身份证照片信息解析为用户身份信息;/n前端模块将用户身份信息进行压缩编码,再调用身份认证智能合约信息注册接口将用户身份信息存储到身份认证智能合约;此时存储的用户身份信息属于未认证状态,注册过程完成;/n步骤2:用户认证过程;/n步骤2-1:前端模块利用摄像头获取用户的生物活体人脸信息,前端模块提交获取到的生物活体人脸信息和用户身份证头像信息并调用身份认证智能合约认证请求接口进行认证请求;/n步骤2-2:身份认证智能合约处理用户的认证请求,执行身份认证智能合约认证函数;身份认证智能合约认证函数将认证请求信息进行编码,编码完成后,通过跨合约调用预言机智能合约;/n步骤2-3:预言机智能合约收到调用请求后,执行请求接收函数,将请求信息封装为区块链事件,存储到区块链中,区块链中的所有节点会同步该区块链事件,从而形成数据的一致性;/n区块链事件的内容包含请求信息封装后的具体信息和根据该信息通过sha3算法生成的事件索引;通过生成的事件索引,预言机网络中的 ...
【技术特征摘要】
1.一种基于区块链的身份认证方法,其特征在于,包括以下步骤:
步骤1:用户信息注册;
用户在前端模块提交身份证正反面照片,前端模块将获取到的身份证照片信息解析为用户身份信息;
前端模块将用户身份信息进行压缩编码,再调用身份认证智能合约信息注册接口将用户身份信息存储到身份认证智能合约;此时存储的用户身份信息属于未认证状态,注册过程完成;
步骤2:用户认证过程;
步骤2-1:前端模块利用摄像头获取用户的生物活体人脸信息,前端模块提交获取到的生物活体人脸信息和用户身份证头像信息并调用身份认证智能合约认证请求接口进行认证请求;
步骤2-2:身份认证智能合约处理用户的认证请求,执行身份认证智能合约认证函数;身份认证智能合约认证函数将认证请求信息进行编码,编码完成后,通过跨合约调用预言机智能合约;
步骤2-3:预言机智能合约收到调用请求后,执行请求接收函数,将请求信息封装为区块链事件,存储到区块链中,区块链中的所有节点会同步该区块链事件,从而形成数据的一致性;
区块链事件的内容包含请求信息封装后的具体信息和根据该信息通过sha3算法生成的事件索引;通过生成的事件索引,预言机网络中的节点能够快速监听检索到该区块链事件;
步骤2-4:当预言机网络检索到区块链事件后将区块链事件解码;解码完成之后得到身份认证智能合约地址、身份认证智能合约回调函数、回调函数参数、base64编码的身份证头像信息、base64编码的活体人脸信息;
步骤2-5:预言机网络节点利用人脸对比模型对比解码后得到的用户身份证头像信息和生物体人脸信息的相似度;如果相似度超过设定阈值,则认为对比成功;
步骤2-6:预言机网络中的每个节点都执行步骤2-5,将身份认证请求的对比结果在全网共识,如果预言机网络中有一半以上的节点对比成功,则认为此次认证成功;认证成功之后预言机网络随机选出一个节点作为主节点调用预言机智能合约请求响应函数,请求内容包括身份认证结果、身份认证智能合约地址、身份认证智能合约回调函数、回调函数参数;
步骤2-7:预言机智能合约请求响应函数接收到预言机网络的调用后,利用身份认证智能合约地址和身份认证智能合约回调函数、回调参数、认证请求对比结果信息发送回调请求到身份认证智能合约;
步骤2-8:身份认证智能合约收到身份认证结果后,如果为认证成功,则向区块链提交一笔交易更改用户身份信息为认证状态。
2.根据权利要求1所述的一种基于区块链的身份认证方法,其特征在于,所述请求接收函数执行过程如下:
请求接收函数对请求信息进行判断,首先判断请求信息包含的交易所携带的手续费是否大于等于合约要求的最低手续费;如果大于等于,执行下一步;如果小于,则直接结束;
接着判断请求信息包含的交易的数据大小是否大于0字节,如果小于等于0字节,说明此次调用非法,结束函数执行流程;如果大于0字节,则正常执行下一步;
再判断请求回调函数是否大于0字节,如果小于等于0字节,说明函数签名为非法函数调用;如果大于0字节,则正常执行下一步;
最后将请求信息封装为区块链事件,存储到区块链中,函数执行结束。
3.根据权利要求1所述的一种基于区块链的身...
【专利技术属性】
技术研发人员:郗润平,韩倩倩,张艳宁,
申请(专利权)人:西北工业大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。