一种完全去中心化的账号密码登录分布式网络的方法技术

技术编号:39441178 阅读:8 留言:0更新日期:2023-11-19 16:24
本发明专利技术公开了一种完全去中心化的账号密码登录分布式网络的方法。本发明专利技术有三个阶段:系统初始化阶段、用户注册阶段、用户登录阶段。本发明专利技术在分布式网络通过公私钥对确认用户身份的基础上,为了便于用户使用同时不破坏分布式网络的去中心化特点,设计一种分布式网络存储节点存储TEE封装后的私钥的AES加密信息,使存储节点的物理拥有者无法获得私钥的密文;同时设计一种私钥加密方案,AES密钥的生成使用账号密码的一些信息,用Bcrypt和hash算法,实现了只有知道账号密码的完整信息才能解密出真正私钥,Bcrypt的使用增加了计算的时间,有效防止爆破攻击。账号密码完全由用户掌控,存储节点和区块链等无法获得账号密码的明文信息,一切以密文的形式传输。一切以密文的形式传输。一切以密文的形式传输。

【技术实现步骤摘要】
一种完全去中心化的账号密码登录分布式网络的方法


[0001]本专利技术属于信息安全的
,具体为一种方便用户使用分布式网络同时没有破坏去中心特点的登录方法。
技术背景
[0002]随着web3.0如火如荼的发展,但有一点,任何人不得不承认的就是web3.0的覆盖面还是非常小众的,究其原因最关键的一点就是web3.0的公私钥身份认证体系与web2.0的账号密码的身份认证体系的差距,虽然web3.0的公私钥体系带来了更好的安全条件同时使用了助记词方便用户的使用,但对于习惯了web2.0的用户来说使用起来还是很困难的,很容易造成丢失。虽然在第一次用户登录后,下一次就不需要重新输入,但在退出登录,新终端登录和更新登录中会带来巨大的困扰,这一点让很多想要使用web3.0的用户望而却步。
[0003]因此,有大量工作对上述问题进行了研究以并提供既安全又方便用户使用的身份认证方法,但是仍然存在如下问题:第一,大多数的账号密码登录分布式网络的方法都离不开中心化服务器的一个反馈,都是一种半中心化的方式:第二,使用账号密码登录的主观性太大,容易被社会工程学分析攻击,是牺牲了公私钥对随机性来达成方便用户使用的用户性的方案。

技术实现思路

[0004]本专利技术针对现有技术存在的问题,基于去中心化的存储网络提出了一种完全去中心化的账号密码登录分布式网络的方法。去中心化的存储网络是一种由存储节点,运行在存储节点TEE环境下的检测程序与区块链共同构成的分布式存储网络。本专利技术将用户的公私钥信息加密存储于分布式存储网络,任何传输和存储信息都不含有用户的账号密码信息,账号密码完全由用户所有,整个过程没有中心化服务器的认证过程,只有根据账号密码实现私钥密文的传输与解密。
[0005]本专利技术解决其技术问题所采用的技术方案如下:
[0006]首先账号密码完全由用户掌控,所有的登录过程不涉及中心化网络的认证过程;
[0007]再者设计一种区块链助记词(私钥)的加密方案,增加加解密时长和复杂度,保证只有在知道账号密码时才能解密出真正的助记词(私钥)并且难以通过爆破得出真正的账号密码;
[0008]该方案有三个阶段:系统初始化阶段、用户注册阶段、用户登录阶段,由图1所示。
[0009]阶段A:系统初始化阶段;
[0010]存储节点初始化:采用Ed25519算法,生成存储节点私钥SK和存储节点公钥PK,存储节点私钥SK只有TEE环境知道,并将节点信息上链;
[0011]阶段B:用户注册阶段:
[0012]用户注册阶段:生成用户公私钥对PK
user
和SK
user
,输入用户账号account和用户密码password,在区块链生成hash(account)和用户公钥PK
user
的键值对(便于用户账号
account转让的实现),同时生成用户公钥PK
user
和区块链上存储的用户信息UserInfo的键值对,本地计算key,aesKey和value,将message传输到存储节点;其中key为私钥加密存储时的键,aesKey为用于AES加密的密钥,value为私钥加密存储时的值,message表示用户与存储节点的交互信息;
[0013]存储节点保密存储:存储节点接收到交互信息message后将message存储,当TEE环境检测成功存储时,存储节点在区块链的用户信息UserInfo里保存了用户私钥SK
user
的存储节点信息;同时存储节点将数据备份N份到其他存储节点,当其他存储节点保存了信息后在区块链的用户信息UserInfo中保存其他存储节点信息;
[0014]阶段C:用户登录阶段;
[0015]登录阶段:用户登录时输入用户账号account和用户密码password,根据hash(account)取出对应的用户公钥PK
user
,再根据PK
user
取出对应的用户信息UserInfo,在UserInfo中读取所有存储节点信息后与存储节点链接,根据用户账号account和用户密码password找到对应的message并解密出私钥SK
user

[0016]阶段A系统初始化阶段,具体实现如下:
[0017]存储节点初始化:当存储节点启动并通过TEE环境测试验证通过时,计算PK=SK*p作为存储节点的公钥,SK为私钥,SK只有TEE知道,存储节点的物理拥有者不知道,发布公钥PK,并在区块链中创建公钥PK与区块链上存储的存储节点信息PeerInfo。
[0018]阶段B注册阶段,具体实现如下:
[0019]步骤1、用户注册阶段:
[0020]1‑
1:输入用户账号account和用户密码password,生成用户公私钥对PK
user
和SK
user
,输入用户账号account和用户密码password,在区块链生成hash(account)和用户公钥PK
user
的键值对(便于用户账号account转让的实现),同时生成用户公钥PK
user
和区块链上存储的用户信息UserInfo的键值对;同时用户在区块链上选取选择一个存储节点发起链接,获取该存储节点的公钥PK;
[0021]1‑
2:链接成功后用户本地计算key=hash(hash(account)+hash(password[0:2])[len(hash(password[0:2]))

2:]),aesKey=hash(Bcrypt(hash(password),salt:hash(password)[16:],cost)+account)和value=AES
aesKey
(SK
user
),并将message=Encrypt
PK
(key:value)传给存储节点;len()表示取长度函数,salt表示盐值,cost表示迭代轮数,Encrypt
PK
表示使用Ed25519的加密算法;
[0022]步骤2:存储节点备份保存阶段:
[0023]2‑
1:存储节点接收到message后,将其存储,在TEE环境下检测验证通过后,将存储节点的PK保存到UserInfo中;
[0024]2‑
2:存储节点保存完信息后,会向其他存储节点备份信息,当其他存储节点接收到消息后同样执行步骤2

1的操作,备份到N个节点中。
[0025]阶段C用户登录阶段,具体实现如下:
[0026]步骤(1):输入用户账号account和用户密码password,用户首先通过hash(account)找到PK
user
,再通过PK
user
找到UserInfo,在UserInfo中找到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种完全去中心化的账号密码登录分布式网络的方法,其特征在于:该方法有三个阶段:系统初始化阶段、用户注册阶段、用户登录阶段,具体如下:阶段A:系统初始化阶段;存储节点初始化:采用Ed25519算法,生成存储节点私钥SK和存储节点公钥PK,存储节点私钥SK只有TEE环境知道,并将节点信息上链;阶段B:用户注册阶段:用户注册阶段:生成用户公私钥对PK
user
和SK
user
,输入用户账号account和用户密码password,在区块链生成hash(account)和用户公钥PK
user
的键值对(便于用户账号account转让的实现),同时生成用户公钥PK
user
和区块链上存储的用户信息UserInfo的键值对,本地计算key,aesKey和value,将message传输到存储节点;其中key为私钥加密存储时的键,aesKey为用于AES加密的密钥,value为私钥加密存储时的值,message表示用户与存储节点的交互信息;存储节点保密存储:存储节点接收到交互信息message后将message存储,当TEE环境检测成功存储时,存储节点在区块链的用户信息UserInfo里保存了用户私钥SK
user
的存储节点信息;同时存储节点将数据备份N份到其他存储节点,当其他存储节点保存了信息后在区块链的用户信息UserInf
o
中保存其他存储节点信息;阶段C:用户登录阶段;登录阶段:用户登录时输入用户账号account和用户密码password,根据hash(account)取出对应的用户公钥PK
user
,再根据PK
user
取出对应的用户信息UserInfo,在UserInfo中读取所有存储节点信息后与存储节点链接,根据用户账号account和用户密码password找到对应的message并解密出私钥SK
user
。2.根据权利要求1所述的一种完全去中心化的账号密码登录分布式网络的方法,其特征在于阶段A系统初始化阶段,具体实现如下:存储节点初始化:当存储节点启动并通过TEE环境测试验证通过时,计算PK=SK*p作为存储节点的公钥,SK为私钥,SK只有TEE知道,存储节点的物理拥有者不知道,发布公钥PK,并在区块链中创建公钥PK与区块链上存储的存储节点信息PeerInfo。3.根据权利要求2所述的一种完全去中心化的账号密码登录分布式网络的方法,其特征在于阶段B注册阶段,具体实现如下:步骤1、用户注册阶段:1

1:输入用户账号account和用户密码password,生成用户公私钥对PK
user
和SK
user
...

【专利技术属性】
技术研发人员:解正宇梅丽丽王琴杨咪咪陈鸿敏
申请(专利权)人:杭州贝鸟科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1