一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的账户登录验证系统的制作方法

2022-04-27 09:12:30 来源:中国专利 TAG:


1.本发明涉及信息技术领域,具体涉及一种基于区块链的账户登录验证系统。


背景技术:

2.随着互联网的发展,用户在虚拟的互联网上拥有越来越多的权益。如网站会员、数字资产以及通过互联网办理业务。用户在互联网上的权益数据存储在服务器中,用户使用登录名和密码登录即可使用或处置这些权益。导致用户的权益仅由用户密码形成保护。由于互联网的开放性和不安全性,用户的密码极易被窃取者窃取,带来权益被盗用的风险。虽然近期出现重要权益处置操作需要二次验证,一定程度上维护了用户的重要权益。但用户的密码仍处于风险之中,用户的权益仍然面临风险。因而需要继续研究提高用户密码安全程度的技术。
3.如中国专利cn111581613a,公开日2020年8月25日,一种账户登录验证方法及系统。对于通过二次放号途径获得手机号的用户,其使用手机号以短信登录方式请求登录该手机号的原用户注册的账户时,风控设备会针对本次账户登录事件进行风控,并会发现存在账户丢失风险,接着,风控设备会认定服务端应当在消除账户丢失风险的前提下,才能允许本次登录。而由于短信登录方式本身就可以实现风险消除操作的效果,因此风控设备实际上只会指令服务端设备确保短信登录操作合法,并不会指令服务端设备另行执行风险消除操作。此外,风控设备为了应对二次放号风险,还会指令服务端设备基于实名认证信息对用户进行验证。其技术方案基于手机号实现用户登陆安全性的验证,不仅存在操作繁琐的问题,且一次验证通过后,服务端认为用户风险已消除,下一次登录则不再需要验证手机号,仍然不足以保护用户密码的安全。


技术实现要素:

4.本发明要解决的技术问题是:目前用户账户密码存在被窃取风险的技术问题。提出了一种基于区块链的账户登录验证系统,能够有效避免账户密码被窃取,提高用户账户的安全性。
5.为解决上述技术问题,本发明所采取的技术方案为:基于区块链的账户登录验证系统,包括验证生成模块和验证模块,用户注册后,所述验证生成模块为用户生成多元多项式,将多元多项式发送给用户和验证模块,所述验证模块将多元多项式降维,生成降维多项式,所述验证模块生成智能合约,所述智能合约包括合约编号、降维向量、验证接收栏、验证记录栏和验证程序段,将多元多项式的变量按预设顺序排序,所述降维向量按照排序记录降维后的变量取值,未被降维的变量取值为零,所述验证程序段执行以下方法:用户查询智能合约的合约编号和降维向量,生成一组降维多项式的变量取值,计算降维多项式值,用户将ip地址、服务器公钥、变量取值和降维多项式值写入验证接收栏,写入前使用所述智能合约的公钥加密,所述智能合约解密后验证变量取值和降维多项式值是否匹配,若匹配,则在验证记录栏添加一条验证成功记录,所述验证成功记录包括预设验证通过标识符、ip地址
和时间戳,若不匹配,则在验证记录栏添加一条验证失败记录,所述验证失败记录包括预设失败标识符和时间戳,所述验证成功记录及验证失败记录被添加到验证记录栏前,均使用服务器公钥加密,用户向服务器发送登录请求,所述登录请求包括用户名和合约编号,服务器查询区块链,获得合约编号对应的智能合约的验证记录栏,服务器使用自己的私钥尝试解密,若能够成功解密一条验证成功记录,且所述验证成功记录中的ip地址和用户发送登录请求的ip地址相符,时间戳距离当前时刻不超过预设阈值,则允许用户使用所述ip地址登录服务器。
6.作为优选,用户多次将ip地址、服务器公钥、变量取值和降维多项式值写入验证接收栏,所述智能合约在预设时间长度内添加多条验证成功记录,服务器查询区块链,若距离当前时刻预设时长内,所述智能合约的验证记录栏内存在的相应ip地址的验证成功记录数量超过预设阈值且验证失败记录小于预设阈值,则允许用户使用所述ip地址登录服务器。
7.作为优选,所述验证失败记录被添加到验证记录栏前,所述智能合约以预设的概率将验证失败记录改为验证成功记录,并添加到验证记录栏。
8.作为优选,所述验证成功记录包括变量取值的哈希值,所述智能合约写入验证成功记录前,查询验证记录栏是否已存在相同的变量取值的哈希值,若存在,则本次不写入验证成功记录,若不存在,则写入验证成功记录。
9.作为优选,所述验证模块发布多个智能合约,为每个智能合约生成不同的降维多项式,用户任选一个或多个智能合约,将ip地址、服务器公钥、变量取值和降维多项式值写入对应的智能合约的验证接收栏,用户向服务器发送的登录请求包含选定的智能合约的合约编号,服务器查询对应的智能合约的验证记录栏,若全部选定的智能合约的验证记录栏存在的相应ip地址的验证成功记录数量超过预设阈值且验证失败记录小于预设阈值,则允许用户使用所述ip地址登录服务器。
10.作为优选,所述验证记录栏具有预设的最大成功记录数,当验证成功记录数量达到最大成功记录数时,所述智能合约不再执行验证程序段。
11.作为优选,所述智能合约还包括指定值栏,所述指定值栏为指定变量生成随机值,用户查询智能合约的合约编号、降维向量和指定值栏,生成包含指定值的降维多项式的变量取值,计算降维多项式值,用户将ip地址、服务器公钥、变量取值和降维多项式值写入验证接收栏,所述智能合约执行一次验证程序段后,更改指定值栏的值。
12.本发明的实质性效果是:借助本技术方案,用户每次输入的密码均不相同,不存在密码被窃取的风险;不需要借助手机等额外的设备;多项式拟合形式不确定性大,且不能消除误差,即使有大量样本,也难以逆向破解出降维多项式;服务器使用降维多项式,每个服务器的降维多项式不相同,即使用户为方便起见,使用了相同的多元多项式,服务器也无法泄露用户的密码;随机将错误的密码标记为正确,使窃取者无法获得正确的样本。
附图说明
13.图1为实施例一账户登录验证系统示意图。
14.图2为实施例一登录验证过程示意图。
15.图3为实施例一多重登录验证过程示意图。
16.图4为实施例一多智能合约验证过程示意图。
17.其中:10、验证生成模块,11、多元多项式,20、验证模块,21、降维多项式,30、用户,31、登录请求,40、区块链,41、智能合约,50、服务器。
具体实施方式
18.下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
19.实施例一:基于区块链的账户登录验证系统,请参阅附图1,包括验证生成模块10和验证模块20,用户30注册后,验证生成模块10为用户30生成多元多项式11,将多元多项式11发送给用户30和验证模块20,验证模块20将多元多项式11降维,生成降维多项式21,验证模块20生成智能合约41,智能合约41包括合约编号、降维向量、验证接收栏、验证记录栏和验证程序段,将多元多项式11的变量按预设顺序排序,降维向量按照排序记录降维后的变量取值,未被降维的变量取值为零,请参阅附图2,验证程序段执行以下方法:步骤a01)用户30查询智能合约41的合约编号和降维向量;步骤a02)生成一组降维多项式21的变量取值,计算降维多项式21值;步骤a03)用户30将ip地址、服务器50公钥、变量取值和降维多项式21值写入验证接收栏,写入前使用智能合约41的公钥加密;步骤a04)智能合约41解密后验证变量取值和降维多项式21值是否匹配,若匹配,则执行步骤a05)在验证记录栏添加一条验证成功记录,验证成功记录包括预设验证通过标识符、ip地址和时间戳,若不匹配,则执行步骤a06)在验证记录栏添加一条验证失败记录,验证失败记录包括预设失败标识符和时间戳,验证成功记录及验证失败记录被添加到验证记录栏前,均使用服务器50公钥加密,用户30向服务器50发送登录请求31,登录请求31包括用户30名和合约编号,服务器50查询区块链40,获得合约编号对应的智能合约41的验证记录栏,服务器50使用自己的私钥尝试解密,若能够成功解密一条验证成功记录,且验证成功记录中的ip地址和用户30发送登录请求31的ip地址相符,时间戳距离当前时刻不超过预设阈值,则允许用户30使用ip地址登录服务器50。
20.智能合约41在区块链40上是以二进制机器码的形式存在的,不具有可读性,也不能从机器码倒推出源码,因而不会暴露降维多项式21。区块链40上的数据具有不可篡改的特性,使用验证记录栏能够记录每次验证。用户30能够跟踪自己的账户登陆情况,及时发现用户30自己保存的多元多项式11保管不慎而泄露的情况,及时向验证生成模块10申请更换多元多项式11,将原来的智能合约41执行销毁。智能合约41的销毁仅验证生成模块10具有权限触发。
21.本实施例采用多重验证的方式实施,进一步提高账户安全,请参阅附图2,多重验证过程包括:步骤b01)用户30多次将ip地址、服务器50公钥、变量取值和降维多项式21值写入验证接收栏;步骤b02)智能合约41在预设时间长度内添加多条验证成功记录;步骤b03)服务器50查询区块链40,若距离当前时刻预设时长内,智能合约41的验证记录栏内存在的相应ip地址的验证成功记录数量超过预设阈值且验证失败记录小于预设阈值,则允许用户30使用ip地址登录服务器50。
22.验证失败记录被添加到验证记录栏前,智能合约41以预设的概率将验证失败记录改为验证成功记录,并添加到验证记录栏。
23.验证成功记录包括变量取值的哈希值,智能合约41写入验证成功记录前,查询验证记录栏是否已存在相同的变量取值的哈希值,若存在,则本次不写入验证成功记录,若不
存在,则写入验证成功记录。
24.在可选的实施方式中,本实施例以多智能合约41的方式实施,请参阅附图4,包括:步骤c01)验证模块20发布多个智能合约41,为每个智能合约41生成不同的降维多项式21;步骤c02)用户30任选一个或多个智能合约41,将ip地址、服务器50公钥、变量取值和降维多项式21值写入对应的智能合约41的验证接收栏;步骤c03)用户30向服务器50发送的登录请求31包含选定的智能合约41的合约编号;步骤c04)服务器50查询对应的智能合约41的验证记录栏;步骤c05)若全部选定的智能合约41的验证记录栏存在的相应ip地址的验证成功记录数量超过预设阈值且验证失败记录小于预设阈值,则允许用户30使用ip地址登录服务器50。验证记录栏具有预设的最大成功记录数,当验证成功记录数量达到最大成功记录数时,智能合约41不再执行验证程序段。
25.智能合约41还包括指定值栏,指定值栏为指定变量生成随机值,用户30查询智能合约41的合约编号、降维向量和指定值栏,生成包含指定值的降维多项式21的变量取值,计算降维多项式21值,用户30将ip地址、服务器50公钥、变量取值和降维多项式21值写入验证接收栏,智能合约41执行一次验证程序段后,更改指定值栏的值。
26.本实施例的有益技术效果是:借助本技术方案,用户30每次输入的密码均不相同,不存在密码被窃取的风险;不需要借助手机等额外的设备;多项式拟合形式不确定性大,且不能消除误差,即使有大量样本,也难以逆向破解出降维多项式21;服务器50使用降维多项式21,每个服务器50的降维多项式21不相同,即使用户30为方便起见,使用了相同的多元多项式11,服务器50也无法泄露用户30的密码;随机将错误的密码标记为正确,使窃取者无法获得正确的样本。
27.实施例二:基于区块链的账户登录验证系统,包括验证生成模块10和验证模块20,用户30a注册后,验证生成模块10为用户30a生成多元多项式11:f(x,y,z,s)=13*x^3*y^2*z*s^2 7*x^2*y^3*z^2*s 3*x*y^2*z*s^2,即为4元多项式,次数最高的单项式为13*x^3*y^2*z*s^2,多项式的次数即为7次。生成降维多项式21,指定s=3,代入f(x,y,z,s)。获得降维多项式f(x,y,z)=117*x^3*y^2*z 21*x^2*y^3*z^2 27*x*y^2*z。降维向量为(0,0,0,3),x,y及z在降维向量中对应的值为0表示对变量x,y及z的取值不限,变量s对应为3,表示s的值指定为3,降维向量时,被降维的变量不能指定取值为0。
28.验证模块20生成智能合约41并在区块链上进行发布。如表1所示,为智能合约41内容示意表,合约编号为0xd254f3614,降维向量(0,0,0,3)。验证模块20将为用户30生成的智能合约41的合约编号通知给用户30。用户30提供合约编号即可在区块链上向智能合约41的验证接收栏写入信息。
29.表1 智能合约41内容示意表
合约编号0xd254f3614降维向量(0,0,0,3)验证接收栏《236.20.158.10,pubkey,(x=6,y=12,z=7),89649504》验证记录栏2020/06/18-15:05:26[success]2020/06/18-15:04:56[success]2020/06/18-15:04:36[success]2020/05/21-20:54:06[fail]2020/04/03-09:25:36[success]

用户30将向量:《ip地址,服务器50公钥,变量取值,降维多项式21值》=《236.20.158.10,pubkey,(x=6,y=12,z=7),89649504》,写入到智能合约41的验证接收栏。智
能合约41的验证接收栏被写入内容后,触发执行验证。验证即将(x=6,y=12,z=7),代入降维多项式f(x,y,z),获得结果与验证接收栏写入的值相符,则判定验证通过。写入一条验证成功的记录到验证记录栏。[success]表示验证成功记录,并不是表示仅包含’success’这一字符串。服务器50查询区块链,查询到验证成功的记录。从中提取ip地址和时间戳,时间戳距离当前时间在预设范围内,且ip地址与用户30提交登录请求31的ip地址相同,则允许用户30登录服务器50。表1中记载用户30在15:04:36至15:05:26,有3次验证通过,表示服务器50要求5分钟内存在3条验证成功记录,且不存在验证失败记录,才允许用户30登录。
[0030]
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献