基于区块链和DID的无密码安全登录系统、方法及介质与流程

文档序号:31636254发布日期:2022-09-24 04:12阅读:395来源:国知局
基于区块链和DID的无密码安全登录系统、方法及介质与流程
基于区块链和did的无密码安全登录系统、方法及介质
技术领域
1.本发明涉及区块链技术领域,具体地,涉及一种基于区块链和did的无密码安全登录系统、方法及介质。


背景技术:

2.decentralized ident ity去中心化身份,简称did,相对于传统的基于pki的身份体系,基于区块链建立的did数字身份系统具有保证数据真实可信、保护用户隐私安全、可移植性强等特征,其优势在于:去中心化、身份自主可控、可信的数据交换等。
3.本方案利用区块链与did相结合的技术,网站服务器生成一个包含网站did等信息的二维码,使用支持did的app进行扫码登录,扫码过程中服务器并不知道用户的密码,而且也无法获得除用户的did和did文档以外的任何信息,从而保证了用户隐私数据的安全。
4.本方案采用did,did中用户的身份信息是用户自己掌握的,减少了用户信息泄露或者密码被黑客撞库的风险。
5.现有技术存在以下技术缺陷:现有的无密码登录方案,一般为扫码登录,登陆者的信息由扫描app掌握,存在一定的隐私风险,如用户信息泄露或者密码被黑客撞库的风险。


技术实现要素:

6.针对现有技术中的缺陷,本发明提供一种基于区块链和did的无密码安全登录系统、方法及介质。
7.根据本发明提供的一种基于区块链和did的无密码安全登录系统、方法及介质,所述方案如下:
8.第一方面,本发明提供了一种基于区块链和did的无密码安全登录系统,所述系统包括:did app用户u、智能合约sc、网站s以及区块链网络;
9.did app用户u:打开网站进行登录操作;
10.智能合约sc:对did app用户u和网站s进行did身份注册、did文档生成与管理、did文档查询等;
11.网站s:生成登录二维码,对扫码登录的用户进行身份认证;
12.区块链网络:执行智能合约sc并存储数据;
13.优选地,所述did app用户u包括:
14.a、设置did app用户u的身份didu、设置did app用户u的私钥sku以及设置didapp用户u的公钥pku;
15.b、打开网站,扫描网站s的登录二维码,获取网站s的的身份dids;
16.b、通过智能合约获取网站s的身份dids对应的公钥pks;
17.c、使用用户u的私钥sku对登录请求进行签名,并使用网站s的公钥pks加密登录请求,请求登录网站。
18.优选地,所述智能合约sc包括:
19.a、由具有管理权限的节点p控制部署及销毁;
20.b、负责注册与管理did app用户u、网站s的身份;
21.c、为did app用户u、网站s生成对应的did文档;
22.d、为did app用户u、网站s提供did文档查询服务。
23.优选地,所述网站s包括:
24.a、设置网站s的身份dids、设置网站s的私钥sks以及网站s的公钥pks;
25.b、生成包含随机id、网站dids、网站服务器url的二维码;
26.c、收到加密的登录请求后,用私钥sks解密登录请求,获取did app用户u的公钥pku,验证登录请求正确性;
27.d、为did app用户u更新登录状态;
28.优选地,所述区块链网络包括:
29.a、存储did文档;
30.b、执行智能合约sc。
31.第二方面,本发明提供了一种基于区块链和did的无密码安全登录方法,所述方法包括:
32.步骤s1:具有合约管理权限的区块链节点p部署智能合约sc;
33.步骤s2:网站s和did app用户u通过智能合约sc注册,获取各自的身份和did文档;
34.步骤s3:did app用户u打开要登录的网站s的网站;网站s生成包含随机id、网站dids、网站服务器url的二维码,并显示到登录页面;
35.步骤s4:did app用户u使用did app扫描二维码,获取网站dids;
36.步骤s5:did app用户u通过智能合约获取dids对应的did文档和网站s的公钥pks;did app用户u使用自己的私钥sku对登录请求进行签名,并使用网站s的公钥pks加密登录请求,请求登录网站;
37.步骤s6:网站s收到加密的登录请求后,用私钥sks解密登录请求,获取did app用户u的公钥pku,验证登录请求正确性;
38.步骤s7:验证通过后为did app用户u更新登录状态。
39.第三方面,本发明还提供了一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述方法中的步骤。
40.与现有技术相比,本发明具有如下的有益效果:
41.本发明采用区块链技术(智能合约)与去中心化身份(did)技术,解决身份认证领域,传统的无密码登录方案中用户身份信息泄露问题。
附图说明
42.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
43.图1为全流程交互图。
具体实施方式
44.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术
人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
45.本发明实施例提供了一种基于区块链和did的无密码安全登录系统,参照图1所示,该系统具体包括:did app用户u、智能合约sc、网站s以及区块链网络;
46.did app用户u:打开网站进行登录操作;
47.智能合约sc:对did app用户u和网站s进行did身份注册、did文档生成与管理、did文档查询等;
48.网站s:生成登录二维码,对扫码登录的用户进行身份认证;
49.区块链网络:执行智能合约sc并存储数据;
50.具体地,did app用户u包括:
51.a、设置did app用户u的身份didu、设置did app用户u的私钥sku以及设置didapp用户u的公钥pku;
52.b、打开网站,扫描网站s的登录二维码,获取网站s的的身份dids;
53.b、通过智能合约获取网站s的身份dids对应的公钥pks;
54.c、使用用户u的私钥sku对登录请求进行签名,并使用网站s的公钥pks加密登录请求,请求登录网站。
55.智能合约sc包括:
56.a、由具有管理权限的节点p控制部署及销毁;
57.b、负责注册与管理did app用户u、网站s的身份;
58.c、为did app用户u、网站s生成对应的did文档;
59.d、为did app用户u、网站s提供did文档查询服务。
60.网站s包括:
61.a、设置网站s的身份dids、设置网站s的私钥sks以及网站s的公钥pks;
62.b、生成包含随机id、网站dids、网站服务器url的二维码;
63.c、收到加密的登录请求后,用私钥sks解密登录请求,获取did app用户u的公钥pku,验证登录请求正确性;
64.d、为did app用户u更新登录状态;
65.区块链网络包括:
66.a、存储did文档;
67.b、执行智能合约sc。
68.本发明实施例还提供了一种基于区块链和did的无密码安全登录方法,参照图1所示,该方法包括如下步骤:
69.步骤s1:具有合约管理权限的区块链节点p部署智能合约sc;
70.步骤s2:网站s和did app用户u通过智能合约sc注册,获取各自的身份和did文档;
71.步骤s3:did app用户u打开要登录的网站s的网站;网站s生成包含随机id、网站dids、网站服务器url的二维码,并显示到登录页面;
72.步骤s4:did app用户u使用did app扫描二维码,获取网站dids;
73.步骤s5:did app用户u通过智能合约获取dids对应的did文档和网站s的公钥pks;
did app用户u使用自己的私钥sku对登录请求进行签名,并使用网站s的公钥pks加密登录请求,请求登录网站;
74.步骤s6:网站s收到加密的登录请求后,用私钥sks解密登录请求,获取did app用户u的公钥pku,验证登录请求正确性;
75.步骤s7:验证通过后为did app用户u更新登录状态。
76.工作原理:
77.具有合约管理权限的区块链节点p负责部署智能合约sc;网站s和did app用户u通过智能合约sc注册,获取各自的身份和did文档。
78.did app用户u打开要登录的网站s的网站;网站s生成包含随机id、网站dids、网站服务器url的二维码,并显示到登录页面;did app用户u使用did app扫描二维码,获取网站dids。
79.did app用户u通过智能合约获取dids对应的did文档和网站s的公钥pks;did app用户u使用自己的私钥sku对登录请求进行签名,并使用网站s的公钥pks加密登录请求,请求登录网站;网站s收到加密的登录请求后,用私钥sks解密登录请求,获取did app用户u的公钥pku,验证登录请求正确性;验证通过后为did app用户u更新登录状态。
80.本发明实施例提供了一种基于区块链和did的无密码安全登录系统、方法及介质,将区块链的智能合约技术与去中心化身份(did)机制相融合,实现了安全的无密码登录方案,同时减少了传统无密码登录方案中的用户信息泄露或者密码被黑客撞库的风险。本发明通过区块链智能合约来实现用户id注册、管理等;通过区块链智能合约来实现did的生成、管理与使用。无密码登录的过程在区块链网络下完成,全程可追溯。
81.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
82.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1