CN115879074A - 一种基于区块链的身份认证方法、装置和系统 - Google Patents
一种基于区块链的身份认证方法、装置和系统 Download PDFInfo
- Publication number
- CN115879074A CN115879074A CN202310212810.2A CN202310212810A CN115879074A CN 115879074 A CN115879074 A CN 115879074A CN 202310212810 A CN202310212810 A CN 202310212810A CN 115879074 A CN115879074 A CN 115879074A
- Authority
- CN
- China
- Prior art keywords
- contract
- identity
- transaction
- verification information
- registration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于区块链的身份认证方法、装置和系统,涉及区块链技术领域。该方法的包括:根据注册用户发送的第一调用交易,调用区块链中部署的外部功能合约,以通过外部功能合约,调用区块链中部署的身份验证合约中的身份注册函数,通过身份注册函数,将校验信息添加到身份验证合约中;根据当前用户发送的第二调用交易,调用区块链中部署的外部功能合约,以通过外部功能合约,调用身份验证合约中的身份验证函数,以使身份验证函数对第二随机数进行加密,将加密结果与注册验证信息进行比对,如果加密结果与注册验证信息相同,则确定当前用户的身份认证通过,否则,确定当前用户的身份认证不通过。该实施方式能够保障用户隐私数据的安全性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的身份认证方法、装置和系统。
背景技术
身份认证,是指通过一定的手段,完成对用户身份的确认。身份认证的目的是鉴别用户的身份是否真实合法,认证通过的用户将获得访问网络资源的权利。
目前,一般基于生物学特征验证用户的身份。但是,用户的生物学特征含有个人隐私数据,而区块链中存储的生物学特征对共识节点公开,无法保障用户隐私数据的安全性。
发明内容
有鉴于此,本发明实施例提供一种基于区块链的身份认证方法、装置和系统,能够保障用户隐私数据的安全性。
第一方面,本发明实施例提供了一种基于区块链的身份认证方法,包括:
接收注册用户发送的第一调用交易;其中,所述第一调用交易中包括:注册验证信息,所述注册验证信息由第一随机数经过加密得到;
根据所述第一调用交易,调用区块链中部署的外部功能合约,以通过所述外部功能合约,调用所述区块链中部署的身份验证合约中的身份注册函数,通过所述身份注册函数,将校验信息添加到所述身份验证合约中;其中,所述校验信息中包括:所述注册验证信息;
接收当前用户发送的第二调用交易;其中,所述第二调用交易中包括:第二随机数;
根据所述第二调用交易,调用所述区块链中部署的外部功能合约,以通过所述外部功能合约,调用所述身份验证合约中的身份验证函数,以使所述身份验证函数对所述第二随机数进行加密,将加密结果与所述注册验证信息进行比对,如果所述加密结果与所述注册验证信息相同,则确定所述当前用户的身份认证通过,否则,确定所述当前用户的身份认证不通过。
第二方面,本发明实施例提供了一种基于区块链的身份认证方法,包括:
对注册用户提供的第一随机数进行加密,得到注册验证信息;
向身份认证平台发送针对区块链中部署的外部功能合约的第一调用交易,其中,所述身份认证平台应用于所述区块链的节点设备,所述第一调用交易中包括:所述注册验证信息;
向所述身份认证平台发送针对所述外部功能合约的第二调用交易;其中,所述第二调用交易中包括:当前用户提供的第二随机数。
第三方面,本发明实施例提供了一种身份认证平台,包括:
接收模块,配置为接收注册用户发送的第一调用交易;其中,所述第一调用交易中包括:注册验证信息,所述注册验证信息由第一随机数经过加密得到;接收当前用户发送的第二调用交易;其中,所述第二调用交易中包括:第二随机数;
注册模块,配置为根据所述第一调用交易,调用区块链中部署的外部功能合约,以通过所述外部功能合约,调用所述区块链中部署的身份验证合约中的身份注册函数,通过所述身份注册函数,将校验信息添加到所述身份验证合约中;其中,所述校验信息中包括:所述注册验证信息;
验证模块,配置为根据所述第二调用交易,调用所述区块链中部署的外部功能合约,以通过所述外部功能合约,调用所述身份验证合约中的身份验证函数,以使所述身份验证函数对所述第二随机数进行加密,将加密结果与所述注册验证信息进行比对,如果所述加密结果与所述注册验证信息相同,则确定所述当前用户的身份认证通过,否则,确定所述当前用户的身份认证不通过。
第四方面,本发明实施例提供了一种用户端,包括:
加密模块,配置为对注册用户提供的第一随机数进行加密,得到注册验证信息;
注册模块,配置为向身份认证平台发送针对区块链中部署的外部功能合约的第一调用交易,其中,所述身份认证平台应用于所述区块链的节点设备,所述第一调用交易中包括:所述注册验证信息;
验证模块,配置为向所述身份认证平台发送针对所述外部功能合约的第二调用交易;其中,所述第二调用交易中包括:当前用户提供的第二随机数。
第五方面,本发明实施例提供了一种基于区块链的身份认证系统,包括:上述实施例所述的身份认证平台和上述实施例所述的用户端。
第六方面,本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:基于加密得到的注册验证信息验证用户的身份,验证过程不会泄露用户隐私数据,提高隐私数据安全性,保障身份认证的准确性。本发明实施例基于区块链实现验证,不依赖第三方作为验证方进行验证,不需要验证方存储密钥或其他隐私信息,验证过程具有可验证性和可追溯性。通过部署的外部功能合约将身份认证这一功能服务化,不仅可以供链下的验证方使用,还可以为链上的验证方提供服务,提高身份认证过程的便利性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明的一个实施例提供的一种应用于节点设备的基于区块链的身份认证方法的流程图;
图2是本发明的一个实施例提供的一种应用于用户端的基于区块链的身份认证方法的流程图;
图3是本发明的一个实施例提供的一种身份认证平台的结构示意图;
图4是本发明的一个实施例提供的一种用户端的结构示意图;
图5是本发明的一个实施例提供的一种基于区块链的身份认证系统的结构示意图;
图6是本发明的一个实施例提供的一种区块链的结构示意图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,本发明实施例提供了一种基于区块链的身份认证方法,该方法应用于区块链的节点设备,包括:
步骤101:接收注册用户发送的第一调用交易;其中,第一调用交易中包括:注册验证信息,注册验证信息由第一随机数经过加密得到。
注册用户指的是有注册需求的用户,例如,用户1为了获取访问权限,需要先发送第一调用交易,以便于在区块链中完成注册。注册用户可以通过用户端与节点设备中的身份认证平台交互。第一随机数可以为64位、256位等,具体位数根据实际业务需求确定。
步骤102:根据第一调用交易,调用区块链中部署的外部功能合约,以通过外部功能合约,调用区块链中部署的身份验证合约中的身份注册函数,通过身份注册函数,将校验信息添加到身份验证合约中;其中,校验信息中包括:注册验证信息。
身份注册函数可以执行如下步骤:将将校验信息添加到身份验证合约中。
校验信息存储在身份验证合约中,便于验证过程使用,提高验证效率。外部功能合约中可以包括功能函数和验证函数,可以通过功能函数调用身份验证合约中的身份注册函数,通过验证函数调用身份验证合约中身份验证函数。身份注册函数用于将注册用户的信息注册到区块链上,身份验证函数用于验证当前用户的身份。第一调用交易用于调用区块链中部署的外部功能合约中的功能函数,第二调用交易用于调用外部功能合约中的验证函数。
区块链中存储的是加密后的第一随机数,防止第一随机数泄露威胁用户的隐私安全。本发明实施例通过外部功能合约将身份验证服务化,通过合约间的调用实现身份认证,便于链下和链上的验证方使用身份验证服务。
步骤103:接收当前用户发送的第二调用交易;其中,第二调用交易中包括:第二随机数。
当前用户指的是被验证的用户或验证方,即第二调用交易可以由当前用户通过其用户端发送,还可以由验证方提供。当前用户通过用户端与身份认证平台交互。例如,用户2为了获取访问权限,需要提供第二随机数,用户2可以直接向身份认证平台发送第二调用交易,用户2还可以将第二随机数提供给验证方,由验证方通过用户端向身份认证平台发送第二调用交易。当前用户可以与注册用户相同,也可以不同。
步骤104:根据第二调用交易,调用区块链中部署的外部功能合约,以通过外部功能合约,调用身份验证合约中的身份验证函数,以使身份验证函数对第二随机数进行加密,将加密结果与注册验证信息进行比对,如果加密结果与注册验证信息相同,则确定当前用户的身份认证通过,否则,确定当前用户的身份认证不通过。
身份验证函数可以执行如下验证步骤:对第二随机数进行加密,将加密结果与注册验证信息进行比对,如果加密结果与注册验证信息相同,则确定当前用户的身份认证通过,否则,确定当前用户的身份认证不通过。
本发明实施例基于加密得到的注册验证信息验证用户的身份,验证过程不会泄露用户隐私数据,提高隐私数据安全性。本发明实施例基于区块链实现验证,不依赖第三方作为验证方进行验证,不需要验证方存储密钥或其他隐私信息,验证过程具有可验证性和可追溯性。通过部署的外部功能合约将身份认证这一功能服务化,不仅可以供链下的验证方使用,还可以为链上的验证方提供服务,提高身份认证过程的便利性。
在本发明的一个实施例中,校验信息中还包括:外部功能合约的账户地址;
注册验证信息,由外部功能合约的账户地址和第一随机数拼接后,通过加密算法计算得到;
该方法进一步包括:
拼接外部功能合约的账户地址和第二随机数;
对第二随机数进行加密,包括:
基于加密算法,加密拼接后的外部功能合约的账户地址和第二随机数。
为了避免生成的第一随机数存在重复,提高验证过程的准确度,本发明实施例将外部功能合约的账户地址与第一随机数拼接。在实际应用场景中,还可以将手机号等信息与第一随机数进行拼接,并不局限于本申请提到的实施方式。
为了提高数据安全性,加密算法可以满足如下条件:
(1)单向性,即根据密文无法推导出明文;
(2)防碰撞特性,即不同明文对应的密文不同;
(3)高效,即加密算法具有较低的计算复杂度。
鉴于此,在本发明的一个实施例中,加密算法包括:SHA(安全散列算法)和/或椭圆曲线加密算法。具体地,加密算法可以为SHA1、SHA256等。
在本发明的一个实施例中,身份验证合约中包括多个校验信息;
将校验信息添加到身份验证合约中,包括:
将第一调用交易的交易哈希和校验信息对应添加到身份验证合约中;
第二调用交易中还包括:当前交易哈希;
在对第二随机数进行加密之前,该方法进一步包括:
身份验证函数查询身份验证合约中是否存在与当前交易哈希对应的校验信息,如果是,执行对第二随机数进行加密,否则,确定当前用户的身份认证不通过;
将加密结果与注册验证信息进行比对,包括:
将加密结果与当前交易哈希对应的注册验证信息进行比对。
考虑到注册用户可能发送多个第一调用交易,为了区分不同第一调用交易对应的校验信息,本发明实施例将校验信息与第一调用交易的交易哈希对应存储。为了提高验证效率,本发明实施例先验证是否存在与交易哈希对应的校验信息,如果不存在,说明当前用户没有注册,确定当前用户的身份验证不通过。
在本发明的一个实施例中,校验信息中包括多个注册验证信息,各个注册验证信息具有相应的验证次序;
第二调用交易中还包括:当前验证次序;
当身份认证合约中存在与当前交易哈希对应的校验信息时,在对第二随机数进行加密之前,该方法进一步包括:
确定当前验证次序是否为身份验证合约中存储的已验证次数加1,如果是,执行对第二随机数进行加密,否则,确定当前用户的身份认证不通过;
在确定当前用户的身份认证通过之后,该方法进一步包括:
将身份验证合约中存储的已验证次数加1;
将加密结果与当前交易哈希对应的注册验证信息进行比对,包括:
将加密结果与当前交易哈希和当前验证次序对应的注册验证信息进行比对。
为了降低第一随机数泄露对数据安全的影响,本发明实施例通过验证次序限制每个注册验证信息只能进行一次验证。身份验证合约在存储校验信息时,添加“已验证次数”字段,用于记录已验证次数,该字段的初始值为0。为了进一步提高数据安全性,本发明实施例中,各个注册验证信息具有相应的验证次序。例如,校验信息中包括3个注册验证信息A、B、C,第一次验证时采用的注册验证信息为A,第二次验证时采用的注册验证信息为B,第三次验证时采用的注册验证信息为C。当然,在实际应用场景中,可以将每个注册验证信息使用的次数限制为其他数量。
如图2所示,本发明实施例提供了一种基于区块链的身份认证方法,包括:
步骤201:对注册用户提供的第一随机数进行加密,得到注册验证信息。
该方法应用于用户端,注册用户和当前用户可以通过用户端与身份认证平台进行交互。
步骤202:向身份认证平台发送针对区块链中部署的外部功能合约的第一调用交易,其中,身份认证平台应用于区块链的节点设备,第一调用交易中包括:注册验证信息。
步骤203:向身份认证平台发送针对外部功能合约的第二调用交易;其中,第二调用交易中包括:当前用户提供的第二随机数。
本发明实施例对第一随机数进行加密,将加密得到的注册验证信息提供给身份认证平台,以便于身份认证平台验证当前用户的身份,该过程不会泄露用户隐私数据,提高隐私数据安全性。
在本发明的一个实施例中,对注册用户提供的第一随机数进行加密,得到注册验证信息,包括:
从区块链中获取外部功能合约的账户地址;
拼接外部功能合约的账户地址和注册用户提供的第一随机数;
基于加密算法,加密拼接后的外部功能合约的账户地址和第一随机数,得到注册验证信息。
为了防止通过手机终端等方式生成的第一随机数存在重复,本发明实施例将外部功能合约的账户地址与第一随机数拼接,提高验证过程的准确度和数据安全性。
在本发明的一个实施例中,加密算法包括:安全散列算法和/或椭圆曲线加密算法。
在本发明的一个实施例中,第二调用交易中还包括:当前用户提供的当前交易哈希。
考虑到不同的注册用户均存在注册需求,本发明实施例通过交易哈希区分不同交易对应的校验信息。
在本发明的一个实施例中,对注册用户提供的第一随机数进行加密,得到注册验证信息,包括:
对注册用户提供的多个第一随机数分别进行加密,得到多个注册验证信息;
第二调用交易中还包括:当前用户提供的当前验证次序。
考虑到一个注册用户可能存在多次验证需求,本发明实施例对不同的第一随机数进行加密,得到多个不同的注册验证信息,以供身份认证平台进行验证。为了进一步提高数据安全性,用户端还可以为身份认证平台提供当前验证次数,以便于身份认证平台验证每个注册验证信息是否仅进行一次验证。
如图3所示,本发明实施例提供了一种身份认证平台,包括:
接收模块301,配置为接收注册用户发送的第一调用交易;其中,第一调用交易中包括:注册验证信息,注册验证信息由第一随机数经过加密得到;接收当前用户发送的第二调用交易;其中,第二调用交易中包括:第二随机数;
注册模块302,配置为根据第一调用交易,调用区块链中部署的外部功能合约,以通过外部功能合约,调用区块链中部署的身份验证合约中的身份注册函数,通过身份注册函数,将校验信息添加到身份验证合约中;其中,校验信息中包括:注册验证信息;
验证模块303,配置为根据第二调用交易,调用区块链中部署的外部功能合约,以通过外部功能合约,调用身份验证合约中的身份验证函数,以使身份验证函数对第二随机数进行加密,将加密结果与注册验证信息进行比对,如果加密结果与注册验证信息相同,则确定当前用户的身份认证通过,否则,确定当前用户的身份认证不通过。
在本发明的一个实施例中,校验信息中还包括:外部功能合约的账户地址;
注册验证信息,由外部功能合约的账户地址和第一随机数拼接后,通过加密算法计算得到;
验证模块303,配置为拼接外部功能合约的账户地址和第二随机数;基于加密算法,加密拼接后的外部功能合约的账户地址和第二随机数。
在本发明的一个实施例中,加密算法包括:安全散列算法和/或椭圆曲线加密算法。
在本发明的一个实施例中,身份验证合约中包括多个校验信息;
注册模块302,配置为将第一调用交易的交易哈希和校验信息对应添加到身份验证合约中;
第二调用交易中还包括:当前交易哈希;
验证模块303,配置为在对第二随机数进行加密之前,身份验证函数查询身份验证合约中是否存在与当前交易哈希对应的校验信息,如果是,执行对第二随机数进行加密,否则,确定当前用户的身份认证不通过;
验证模块303,配置为将加密结果与当前交易哈希对应的注册验证信息进行比对。
在本发明的一个实施例中,校验信息中包括多个注册验证信息,各个注册验证信息具有相应的验证次序;
第二调用交易中还包括:当前验证次序;
验证模块303,配置为当身份认证合约中存在与当前交易哈希对应的校验信息时,在对第二随机数进行加密之前,确定当前验证次序是否为身份验证合约中存储的已验证次数加1,如果是,执行对第二随机数进行加密,否则,确定当前用户的身份认证不通过;
验证模块303,配置为在确定当前用户的身份认证通过之后,将身份验证合约中存储的已验证次数加1;将加密结果与当前交易哈希和当前验证次序对应的注册验证信息进行比对。
如图4所示,本发明实施例提供了一种用户端,包括:
加密模块401,配置为对注册用户提供的第一随机数进行加密,得到注册验证信息;
注册模块402,配置为向身份认证平台发送针对区块链中部署的外部功能合约的第一调用交易,其中,身份认证平台应用于区块链的节点设备,第一调用交易中包括:注册验证信息;
验证模块403,配置为向身份认证平台发送针对外部功能合约的第二调用交易;其中,第二调用交易中包括:当前用户提供的第二随机数。
在本发明的一个实施例中,加密模块401,配置为从区块链中获取外部功能合约的账户地址;拼接外部功能合约的账户地址和注册用户提供的第一随机数;基于加密算法,加密拼接后的外部功能合约的账户地址和第一随机数,得到注册验证信息。
在本发明的一个实施例中,加密算法包括:安全散列算法和/或椭圆曲线加密算法。
在本发明的一个实施例中,第二调用交易中还包括:当前用户提供的当前交易哈希。
在本发明的一个实施例中,加密模块401,配置为对注册用户提供的多个第一随机数分别进行加密,得到多个注册验证信息;第二调用交易中还包括:当前用户提供的当前验证次序。
如图5所示,本发明实施例提供了一种基于区块链的身份认证系统,包括:上述任一实施例所述的身份认证平台501和上述任一实施例所述的用户端502。
区块链的结构如图6所示,其包括合约层和存储层,合约层部署外部功能合约和身份验证合约,外部功能合约中包括功能函数和验证函数,身份验证合约中包括身份注册函数和身份验证函数,身份验证合约中还存储校验信息。存储层由区块链账本构成,区块链账本用于记录各智能合约的交互过程及产生的数据等,如存储外部功能合约的调用记录、身份认证结果等,以便于后续追溯。用户端可以通过身份认证平台从区块链中查询身份认证结果,用户端可以为区块链钱包等形式,如插件钱包、硬件钱包和多签钱包等。
本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述任一实施例的方法。
本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述任一实施例的方法。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取模块、确定模块和第一处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种基于区块链的身份认证方法,其特征在于,包括:
接收注册用户发送的第一调用交易;其中,所述第一调用交易中包括:注册验证信息,所述注册验证信息由第一随机数经过加密得到;
根据所述第一调用交易,调用区块链中部署的外部功能合约,以通过所述外部功能合约,调用所述区块链中部署的身份验证合约中的身份注册函数,通过所述身份注册函数,将校验信息添加到所述身份验证合约中;其中,所述校验信息中包括:所述注册验证信息;
接收当前用户发送的第二调用交易;其中,所述第二调用交易中包括:第二随机数;
根据所述第二调用交易,调用所述区块链中部署的外部功能合约,以通过所述外部功能合约,调用所述身份验证合约中的身份验证函数,以使所述身份验证函数对所述第二随机数进行加密,将加密结果与所述注册验证信息进行比对,如果所述加密结果与所述注册验证信息相同,则确定所述当前用户的身份认证通过,否则,确定所述当前用户的身份认证不通过。
2.如权利要求1所述的方法,其特征在于,
所述校验信息中还包括:所述外部功能合约的账户地址;
所述注册验证信息,由所述外部功能合约的账户地址和所述第一随机数拼接后,通过加密算法计算得到;
该方法进一步包括:
拼接所述外部功能合约的账户地址和所述第二随机数;
对所述第二随机数进行加密,包括:
基于所述加密算法,加密拼接后的所述外部功能合约的账户地址和所述第二随机数。
3.如权利要求2所述的方法,其特征在于,
所述加密算法包括:安全散列算法和/或椭圆曲线加密算法。
4.如权利要求1所述的方法,其特征在于,
所述身份验证合约中包括多个校验信息;
将校验信息添加到所述身份验证合约中,包括:
将所述第一调用交易的交易哈希和所述校验信息对应添加到所述身份验证合约中;
所述第二调用交易中还包括:当前交易哈希;
在所述对所述第二随机数进行加密之前,该方法进一步包括:
所述身份验证函数查询所述身份验证合约中是否存在与所述当前交易哈希对应的校验信息,如果是,执行所述对所述第二随机数进行加密,否则,确定所述当前用户的身份认证不通过;
将加密结果与所述注册验证信息进行比对,包括:
将所述加密结果与所述当前交易哈希对应的注册验证信息进行比对。
5.如权利要求4所述的方法,其特征在于,
所述校验信息中包括多个注册验证信息,各个所述注册验证信息具有相应的验证次序;
所述第二调用交易中还包括:当前验证次序;
当所述身份认证合约中存在与所述当前交易哈希对应的校验信息时,在所述对所述第二随机数进行加密之前,该方法进一步包括:
确定所述当前验证次序是否为所述身份验证合约中存储的已验证次数加1,如果是,执行所述对所述第二随机数进行加密,否则,确定当前用户的身份认证不通过;
在所述确定所述当前用户的身份认证通过之后,该方法进一步包括:
将所述身份验证合约中存储的已验证次数加1;
将所述加密结果与所述当前交易哈希对应的注册验证信息进行比对,包括:
将所述加密结果与所述当前交易哈希和所述当前验证次序对应的注册验证信息进行比对。
6.一种基于区块链的身份认证方法,其特征在于,包括:
对注册用户提供的第一随机数进行加密,得到注册验证信息;
向身份认证平台发送针对区块链中部署的外部功能合约的第一调用交易,其中,所述身份认证平台应用于所述区块链的节点设备,所述第一调用交易中包括:所述注册验证信息;
向所述身份认证平台发送针对所述外部功能合约的第二调用交易;其中,所述第二调用交易中包括:当前用户提供的第二随机数。
7.如权利要求6所述的方法,其特征在于,
对注册用户提供的第一随机数进行加密,得到注册验证信息,包括:
从所述区块链中获取所述外部功能合约的账户地址;
拼接所述外部功能合约的账户地址和所述注册用户提供的第一随机数;
基于加密算法,加密拼接后的所述外部功能合约的账户地址和所述第一随机数,得到所述注册验证信息。
8.如权利要求7所述的方法,其特征在于,
所述加密算法包括:安全散列算法和/或椭圆曲线加密算法。
9.如权利要求6所述的方法,其特征在于,
所述第二调用交易中还包括:所述当前用户提供的当前交易哈希。
10.如权利要求6所述的方法,其特征在于,
对注册用户提供的第一随机数进行加密,得到注册验证信息,包括:
对所述注册用户提供的多个第一随机数分别进行加密,得到多个注册验证信息;
所述第二调用交易中还包括:所述当前用户提供的当前验证次序。
11.一种身份认证平台,其特征在于,包括:
接收模块,配置为接收注册用户发送的第一调用交易;其中,所述第一调用交易中包括:注册验证信息,所述注册验证信息由第一随机数经过加密得到;接收当前用户发送的第二调用交易;其中,所述第二调用交易中包括:第二随机数;
注册模块,配置为根据所述第一调用交易,调用区块链中部署的外部功能合约,以通过所述外部功能合约,调用所述区块链中部署的身份验证合约中的身份注册函数,通过所述身份注册函数,将校验信息添加到所述身份验证合约中;其中,所述校验信息中包括:所述注册验证信息;
验证模块,配置为根据所述第二调用交易,调用所述区块链中部署的外部功能合约,以通过所述外部功能合约,调用所述身份验证合约中的身份验证函数,以使所述身份验证函数对所述第二随机数进行加密,将加密结果与所述注册验证信息进行比对,如果所述加密结果与所述注册验证信息相同,则确定所述当前用户的身份认证通过,否则,确定所述当前用户的身份认证不通过。
12.一种用户端,其特征在于,包括:
加密模块,配置为对注册用户提供的第一随机数进行加密,得到注册验证信息;
注册模块,配置为向身份认证平台发送针对区块链中部署的外部功能合约的第一调用交易,其中,所述身份认证平台应用于所述区块链的节点设备,所述第一调用交易中包括:所述注册验证信息;
验证模块,配置为向所述身份认证平台发送针对所述外部功能合约的第二调用交易;其中,所述第二调用交易中包括:当前用户提供的第二随机数。
13.一种基于区块链的身份认证系统,其特征在于,包括:权利要求11所述的身份认证平台和权利要求12所述的用户端。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310212810.2A CN115879074B (zh) | 2023-03-08 | 2023-03-08 | 一种基于区块链的身份认证方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310212810.2A CN115879074B (zh) | 2023-03-08 | 2023-03-08 | 一种基于区块链的身份认证方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115879074A true CN115879074A (zh) | 2023-03-31 |
CN115879074B CN115879074B (zh) | 2023-07-25 |
Family
ID=85761968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310212810.2A Active CN115879074B (zh) | 2023-03-08 | 2023-03-08 | 一种基于区块链的身份认证方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115879074B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117254982A (zh) * | 2023-11-20 | 2023-12-19 | 深圳桑达银络科技有限公司 | 基于区块链的数字身份验证方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533696A (zh) * | 2016-11-18 | 2017-03-22 | 江苏通付盾科技有限公司 | 基于区块链的身份认证方法、认证服务器及用户终端 |
CN109727009A (zh) * | 2019-01-28 | 2019-05-07 | 杭州复杂美科技有限公司 | 红包处理方法、设备和存储介质 |
CN112364311A (zh) * | 2020-11-10 | 2021-02-12 | 上海保险交易所股份有限公司 | 区块链上身份管理方法和装置 |
-
2023
- 2023-03-08 CN CN202310212810.2A patent/CN115879074B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533696A (zh) * | 2016-11-18 | 2017-03-22 | 江苏通付盾科技有限公司 | 基于区块链的身份认证方法、认证服务器及用户终端 |
CN109727009A (zh) * | 2019-01-28 | 2019-05-07 | 杭州复杂美科技有限公司 | 红包处理方法、设备和存储介质 |
CN112364311A (zh) * | 2020-11-10 | 2021-02-12 | 上海保险交易所股份有限公司 | 区块链上身份管理方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117254982A (zh) * | 2023-11-20 | 2023-12-19 | 深圳桑达银络科技有限公司 | 基于区块链的数字身份验证方法及系统 |
CN117254982B (zh) * | 2023-11-20 | 2024-02-23 | 深圳桑达银络科技有限公司 | 基于区块链的数字身份验证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115879074B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10505916B2 (en) | Authentication token with client key | |
US10880732B2 (en) | Authentication of phone caller identity | |
CN107249004B (zh) | 一种身份认证方法、装置及客户端 | |
US11483155B2 (en) | Access control using proof-of-possession token | |
CN109272314B (zh) | 一种基于两方协同签名计算的安全通信方法及系统 | |
CN109660534B (zh) | 基于多商户的安全认证方法、装置、电子设备及存储介质 | |
CN104660412A (zh) | 一种移动设备无密码安全认证方法及系统 | |
CN110278084B (zh) | eID建立方法、相关设备及系统 | |
CN114358782A (zh) | 区块链交易审计方法、装置、设备及存储介质 | |
CN115879074B (zh) | 一种基于区块链的身份认证方法、装置和系统 | |
CN115203749A (zh) | 一种基于区块链的数据交易方法和系统 | |
CN112734423A (zh) | 一种基于区块链的交易方法及终端设备 | |
CN113434882A (zh) | 应用程序的通讯保护方法、装置、计算机设备及存储介质 | |
CN116684104A (zh) | Api接口的rsa2签名复核方法、装置、电子设备及介质 | |
CN114584291B (zh) | 基于hmac算法的密钥保护方法、装置、设备和存储介质 | |
CN112769565B (zh) | 密码加密算法的升级方法、装置、计算设备和介质 | |
CN115442037A (zh) | 一种账号管理方法、装置、设备及存储介质 | |
CN111355584B (zh) | 用于生成区块链多重签名的方法和装置 | |
CN114172923A (zh) | 数据传输方法、通信系统及通信装置 | |
CN114186994A (zh) | 一种数字货币钱包应用的使用方法、终端及系统 | |
CN109688158B (zh) | 金融执行链认证方法、电子装置及存储介质 | |
CN113626848A (zh) | 样本数据生成方法、装置、电子设备及计算机可读介质 | |
CN113452771B (zh) | 一种接口调用方法、装置和系统 | |
CN112926076B (zh) | 一种数据处理的方法、装置和系统 | |
CN115499845A (zh) | 一种基于nfc的身份识别方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |