【技术实现步骤摘要】
一种基于区块链的身份认证方法及其系统
本专利技术涉及信息安全领域,特别涉及一种基于区块链的身份认证方法及其系统,可以应用在需要进行统一身份认证的应用场景中。
技术介绍
随着互联网技术的快速发展,电子身份认证的业务越来越多,为了解决用户在一个地方输入口令,能安全的在多个业务里进行快捷的统一身份认证,成为一种趋势。目前的统一认证都是依赖集中的认证服务器,既可能存在单点故障,也由于集中式的权利控制在某一家服务端手里,让多个不同组织在使用统一认证方法时存在安全隐患。因此,提供一种安全性好、认证快捷的基于区块链的身份认证方法及其系统,是本专利技术的创研动机。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种安全性好、认证快捷的基于区块链的身份认证方法及其系统。应用区块链的分布式、去中心化的方案可以解决现有的统一认证技术安全性差的问题。本专利技术提供的一种基于区块链的身份认证方法,其技术方案为:一种基于区块链的身份认证方法,包括如下步骤:区块链智能合约接收服务端发送的身份认证请求,所述身份认证请求包括用户公钥及E(f(x))、E(g(x)),所述E(f(x))和E(g(x))由客户端根据预设同态加密算法E计算获得,其中,f(x)=H1(x),g(x)=H2(x),其中函数H1与H2是两个不同的单向散列函数,且H1与H2的输出位数相同;所述智能合约根据用户公钥查询用户在区块链上的认证凭证Ea,并根据E(f(x))、E(g(x))、以及同态加密算法E的同态属性进行计算验证,若满足同态属性,则身份认证通过;所述智能合约将身份认证结果返回所述服务端。优选地,所述同态 ...
【技术保护点】
1.一种基于区块链的身份认证方法,其特征在于,包括如下步骤:区块链智能合约接收服务端发送的身份认证请求,所述身份认证请求包括用户公钥及E(f(x))、E(g(x)),所述E(f(x))和E(g(x))由客户端根据预设同态加密算法E计算获得,其中,f(x)=H1(x),g(x)=H2(x),其中函数H1与H2是两个不同的单向散列函数,且H1与H2的输出位数相同;所述智能合约根据用户公钥查询用户在区块链上的认证凭证Ea,并根据E(f(x))、E(g(x))、以及同态加密算法E的同态属性进行计算验证,若满足同态属性,则身份认证通过;所述智能合约将身份认证结果返回所述服务端。
【技术特征摘要】
1.一种基于区块链的身份认证方法,其特征在于,包括如下步骤:区块链智能合约接收服务端发送的身份认证请求,所述身份认证请求包括用户公钥及E(f(x))、E(g(x)),所述E(f(x))和E(g(x))由客户端根据预设同态加密算法E计算获得,其中,f(x)=H1(x),g(x)=H2(x),其中函数H1与H2是两个不同的单向散列函数,且H1与H2的输出位数相同;所述智能合约根据用户公钥查询用户在区块链上的认证凭证Ea,并根据E(f(x))、E(g(x))、以及同态加密算法E的同态属性进行计算验证,若满足同态属性,则身份认证通过;所述智能合约将身份认证结果返回所述服务端。2.根据权利要求1所述的一种基于区块链的身份认证方法,其特征在于,所述同态加密算法E为加法同态加密算法,所述认证凭证Ea为E(f(x)+g(x));所述智能合约根据E(f(x))、E(g(x))、以及同态加密算法E的同态属性进行验证,包括:所述智能合约根据E(f(x))、E(g(x))计算E(f(x))*E(g(x)),并与所述认证凭证Ea进行比对,比对一致,则身份认证通过。3.根据权利要求1所述的一种基于区块链的身份认证方法,其特征在于,所述E(f(x))和E(g(x))由所述服务端采用所述智能合约的公钥进行加密获得密文,并发送到所述智能合约;所述智能合约采用其私钥对所述密文解密获得E(f(x))和E(g(x))明文。4.根据权利要求1所述的一种基于区块链的身份认证方法,其特征在于,还包括区块链注册步骤,所述区块链注册步骤包括:1)、所述智能合约接收客户端发送的注册请求,所述注册请求包括用户公钥及预设密码x,所述预设密码x采用所述智能合约的公钥加密发送所述智能合约;2)、所述智能合约采用其私钥对接收到的加密的预设密码x进行解密,获得预设密码x明文;3)、所述智能合约根据预设密码x及所述预设同态加密算法E计算所述认证凭证Ea,并采用智能合约公钥对所述认证凭证Ea进行加密,加密后的认证凭证Ea与用户公钥一并存储在区块链上。5.根据权利要求4所述的一种基于区块链的身份认证方法,其特征在于,所述区块链注册步骤还包括步骤4):4)、所述智能合约为所述用户生成区块链身份标识eid,并与所述用户公钥一并存储于区块链上。6.根据权利要求4所述的一种基于区块链的身份认证方法,其特征在于,所述智能合约的公私钥对的生成方法为:所述智能合约的私钥由区块链上的服务端采用预设的密钥协商算法协商得出;所述智能合约的公钥由其私钥根据预设椭圆曲线算法计算得出。7.根据权利要求1所述的一种基于区块链的身份认证方法,其特征在于,所述智能合约根据用户请求变更其预设密码x,包括以下步骤:所述智能合约接收客户端提交的变更密码请求,所述变更密码请求包括原始预设密码x与新密码;所述智能合约根据原始预设密码x及所述...
【专利技术属性】
技术研发人员:程威,李静,唐肖旅,
申请(专利权)人:北京思源互联科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。