【技术实现步骤摘要】
一种基于区块链的身份认证方法
[0001]本专利技术属于区块链
,具体涉及一种基于区块链的身份认证方法。
技术介绍
[0002]随着云环境的发展与普及,识别用户身份的方法变得越来越数字化。很多互联网公司为了便利,采用最传统的口令认证方式。在保证安全的前提下,用户需在不同的应用下使用不同的用户名和密码,由于应用服务数量的快速增长,用户所需记忆的用户名和口令的数量也随之增长,对于那些安全意识比较薄弱的用户,可能采用通用的口令或者某个易于记忆的口令来解决这个问题,但是这种口令的安全性非常脆弱,很容易被破解。为此云服务提供商在应用服务开发层增加口令的限制,比如强制要求口令中有大小写字母、特殊字符等。但这种方式让口令更加的复杂化,在造成不良用户体验的同时更增加了撞库的风险。
[0003]针对目前云环境下应用服务多样化造成用户口令复杂化的问题,云服务提供商提供了基于Token的认证方式,在该认证方式中涉及到三种角色:云用户、CSP、IDM(IdentityManagement),其中IDM担当可信第三方的角色,向CSP证明一个合法用户的身份。云环境下通过IDM实现身份认证具体流程如下:
[0004](1)云用户首先利用注册过的账户和口令向IDM证明身份;
[0005](2)云用户向CSP发起访问资源的请求;
[0006](3)CSP向云用户请求Token;
[0007](4)云用户向IDM发起Token的请求;
[0008](5)IDM产生Token,然后把Token分别传输 ...
【技术保护点】
【技术特征摘要】
1.一种基于区块链的身份认证方法,应用于云环境下基于身份认证的网络拓扑中,其特征在于,所述网络拓扑位于区块链中,所述网络拓扑包括已经授权的云用户端、云服务提供商CSP以及云数据中心CDC,所述身份认证方法包括:云用户端,用于在注册过程中根据用户操作产生注册请求发送至CSP;CSP,用于在自身账本中查找所述云用户端是否存在,如果不存在则将所述注册请发送至CDC;CDC,用于响应所述注册请求,生成用户的唯一身份凭证;将所述唯一身份凭证经过秘密密钥加密后,连同秘密密钥作为区块链信息一并进行存储,并将加密过的唯一身份凭证再进行Base64编码后通过CSP返回至云用户端;所述云用户端,用于将接收的响应信息,通过用户私钥对其秘密密钥解密,再通过解编码以及秘密密钥解密文后,得到唯一身份凭证;并在验证过程中将所述唯一身份凭证通过秘密密钥加密以及编码,并根据编码的唯一身份凭证以及用户身份信息生成登录请求发送至CSP;所述CSP,用于判断登录请求中的用户身份信息是否在自身存储,如果存在,则将所述登录请求发送至所述CDC;CDC,用于在自身查询用户身份信息,确定用户的区块链信息;将区块链信息中的唯一身份凭证通过秘密密钥解密,得到明文唯一身份凭证;将登录请求中编码的唯一身份凭证与明文唯一身份凭证进行比对确定是否相同,如果相同则向云用户端发送响应信息并更新用户访问区块链信息的时间。2.根据权利要求1所述的基于区块链的身份认证方法,其特征在于,所述注册请求中包括:用户在区块链中的账户ID、用户基础信息以及避免重放攻击的时间戳;所述自身账本中存储有账号ID、用户基础信息以及账号ID对应的第一区块链信息,该第一区块链信息包括:用户经过Base64编码的公钥,用户注册时间的时间,用户登录时间以及登录成功与否的记录。3.根据权利要求2所述的基于区块链的身份认证方法,其特征在于,所述CSP,用于在自身账本中查找所述云用户端是否存在,如果不存在则将所述注册请发送至CDC包括:CSP,用于自身账本中查找发送注册请求的账号ID是否存在,如果存在,则向云用户端告知;如果不存在,则调用cdc相关接口将用户在区块链中的账号ID以及用户基础信息作为接口参数传入至CDC中。4.根据权利要求3所述的基于区块链的身份认证方法,其特征在于,所述CDC,用于响应所述注册请求,生成用户的唯一身份凭证;将所述唯一身份凭证经过秘密密钥加密后,连同秘密密钥作为区块链信息一并进行存储,并将加密过的唯一身份凭证再进行Base64编码后通过CSP返回至云用户端包括:所述CDC,用于响应于所述注册请求,生成用户的唯一身份凭证JWT;截取所述唯一身份凭证中的Payload作为该用户的认证凭证JWT_P;对所述认证凭证JWT_P使用秘密密钥Kcdc进行加密,得到结果C1;使用Base64对加密结果C1编码得到结果C2;使用公钥PKuser对秘密密钥Kcdc加密得到结果K`;将秘密密钥Kcdc以及结果K`作为第二区块链信息进行存储;
将加密结果K`以及结果C2通过CSP反馈至云用户端。5.根据权利要求4所述的基于区块链的身份认证方法,其特征在于,在通过CSP返回至云用户端之前,所述身份认证方法还包括:CSP,用于将加密结果K`、结果C2以及避免重放攻击的时间戳反馈至云用户端,并将用户在区块链中的账户ID、用户基础信息以及其他注册信息进行存储。6.根据权利要求4所述的基于区块链的身份认...
【专利技术属性】
技术研发人员:容晓峰,田晨光,折宇超,曹子建,蒋文隆,刁振军,周行行,
申请(专利权)人:西安工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。