CN115459920A - 一种基于智能合约的无证书联盟链上身份认证方法及系统 - Google Patents
一种基于智能合约的无证书联盟链上身份认证方法及系统 Download PDFInfo
- Publication number
- CN115459920A CN115459920A CN202211022309.1A CN202211022309A CN115459920A CN 115459920 A CN115459920 A CN 115459920A CN 202211022309 A CN202211022309 A CN 202211022309A CN 115459920 A CN115459920 A CN 115459920A
- Authority
- CN
- China
- Prior art keywords
- user
- public key
- hash
- key
- intelligent contract
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000008520 organization Effects 0.000 claims abstract description 62
- 238000012795 verification Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Abstract
本发明涉及联盟链技术领域,具体为一种基于智能合约的无证书联盟链上身份认证方法,包括以下步骤:用户在用户侧离线生成非对称密钥对,并自己保存用户私钥;用户把自己离线生成的密钥对中的公钥发送给区块链业务应用,区块链业务应用计算用户公钥的哈希值,并使用成员组织admin账户对哈希值进行签名,签名放到区块链业务应用的业务库的用户表中,用户公钥的哈希值为用户的用户ID,完成用户的注册;有益效果为:本发明提出的基于智能合约的无证书联盟链上身份认证方法及系统提供更加安全的用户身份体系,相对于联盟链默认账户在链上生成,并由区块链上的CA把公钥签发证书之后,再发送给用户。
Description
技术领域
本发明涉及联盟链技术领域,具体为一种基于智能合约的无证书联盟链上身份认证方法及系统。
背景技术
联盟链是一种有准入控制机制的区块链。准入控制是联盟链对要加入链的节点的身份审核和验证,通过准入控制部分实现对节点的入链管理,同时链上的普通用户的身份也是通过准入控制入链。这种准入控制的实现一般是通过CA(Certification Authority)中心来实现的,联盟链的每个成员组织通常都会有属于自己的CA,成员组织加入到联盟链时,会把成员组织CA的根证书写入配置区块中。
现有技术中,这种基于证书身份的需要经过CA来签发,CA签发的用户通常分为admin账户和普通用户两种,一般来说一个成员组织中的所有普通用户在联盟链中所有智能合约中都与相同的操作权限,没法对用户进行更细的权限区分。
但是,一个联盟链中一般会对接多个业务应用,每个业务应用都会有属于自己的用户群,这些用户不应该能够操作和访问别的业务应用在联盟链上的数据。当前的CA签发的用户体系,想要支撑这种多业务应用的场景,就需要创建更多的成员组织,每个成员组织提供自己的区块链节点,再申请加入到联盟链中,每个业务应用中的用户都由单独的成员组织CA进行签发,这种方式过于繁琐,也会造成很大的资源浪费。
发明内容
本发明的目的在于提供一种基于智能合约的无证书联盟链上身份认证方法及系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于智能合约的无证书联盟链上身份认证方法,所述基于智能合约的无证书联盟链上身份认证方法包括以下步骤:
用户在用户侧离线生成非对称密钥对,并自己保存用户私钥;
用户把自己离线生成的密钥对中的公钥发送给区块链业务应用,区块链业务应用计算用户公钥的哈希值,并使用成员组织admin账户对哈希值进行签名,签名放到区块链业务应用的业务库的用户表中,用户公钥的哈希值为用户的用户ID,完成用户的注册;
用户使用自己的用户私钥签发交易提案,交易提案中包括提案请求参数、用户私钥对请求参数哈希的签名、用户公钥,交易提案发送给认证智能合约进行认证。
优选的,用户在用户侧离线生成非对称密钥对时,
区块链业务应用中保存成员组织的admin账户的私钥,把成员组织admin账户的公钥写入认证智能合约中。
优选的,用户注册时,
用户把自己的公钥发送给区块链应用进行注册;
区块链应用的身份认证模块使用短信验证等技术确定用户的真实身份,确认用户真实身份之后进入下一步;
区块链应用使用国密SM3算法计算用户公钥的哈希值;
区块链应用使用成员组织的admin账户的私钥对用户公钥的哈希值进行签发;没有直接对用户的私钥进行签发,可以减少签发后身份占用的字节数,同时也可以直接使用公钥的哈希作为用户的在业务应用中的唯一标识ID,赋予其业务含义;
admin账户对用户公钥的哈希完成签发之后,把用户公钥哈希作为用户的唯一标识,用户在业务应用数据库的用户表中的属性还包括用户的公钥、admin账户对用户公钥哈希的签名,以及用户其他标识如手机号、身份证号等;另外,用户的私钥是不包含在业务系统中,用户私钥只有用户自己保密存储。
优选的,用户认证时,智能合约从交易提案中提取用户公钥,计算公钥的哈希,从用户库中获得成员组织admin账号私钥对用户公钥哈希的签名,使用成员组织admin账户的公钥进行验签,通过验签,用户认证通过。
优选的,用户认证时,使用交易提案中用户证书对用户签发的交易提案进行校验,校验通过,就可以进入智能合约的具体业务处理阶段,来处理具体的业务逻辑。
一种基于智能合约的无证书联盟链上身份认证系统,该系统由离线生成模块、用户注册模块以及用户认证模块构成;
离线生成模块,用于用户在用户侧离线生成非对称密钥对,并自己保存用户私钥;
用户注册模块,用于用户把自己离线生成的密钥对中的公钥发送给区块链业务应用,区块链业务应用计算用户公钥的哈希值,并使用成员组织admin账户对哈希值进行签名,签名放到区块链业务应用的业务库的用户表中,用户公钥的哈希值为用户的用户ID,完成用户的注册;
用户认证模块,用于用户使用自己的用户私钥签发交易提案,交易提案中包括提案请求参数、用户私钥对请求参数哈希的签名、用户公钥,交易提案发送给认证智能合约进行认证。
优选的,所述离线生成模块中,区块链业务应用中保存成员组织的admin账户的私钥,把成员组织admin账户的公钥写入认证智能合约中。
优选的,所述用户注册模块中,用户把自己的公钥发送给区块链应用进行注册;
区块链应用的身份认证模块使用短信验证等技术确定用户的真实身份,确认用户真实身份之后进入下一步;
区块链应用使用国密SM3算法计算用户公钥的哈希值;
区块链应用使用成员组织的admin账户的私钥对用户公钥的哈希值进行签发;没有直接对用户的私钥进行签发,可以减少签发后身份占用的字节数,同时也可以直接使用公钥的哈希作为用户的在业务应用中的唯一标识ID,赋予其业务含义;
admin账户对用户公钥的哈希完成签发之后,把用户公钥哈希作为用户的唯一标识,用户在业务应用数据库的用户表中的属性还包括用户的公钥、admin账户对用户公钥哈希的签名,以及用户其他标识如手机号、身份证号等;另外,用户的私钥是不包含在业务系统中,用户私钥只有用户自己保密存储。
优选的,所述用户注册模块中,智能合约从交易提案中提取用户公钥,计算公钥的哈希,从用户库中获得成员组织admin账号私钥对用户公钥哈希的签名,使用成员组织admin账户的公钥进行验签,通过验签,用户认证通过。
优选的,所述用户注册模块中,使用交易提案中用户证书对用户签发的交易提案进行校验,校验通过,就可以进入智能合约的具体业务处理阶段,来处理具体的业务逻辑。
与现有技术相比,本发明的有益效果是:
本发明提出的基于智能合约的无证书联盟链上身份认证方法及系统提供更加安全的用户身份体系,相对于联盟链默认账户在链上生成,并由区块链上的CA把公钥签发证书之后,再发送给用户。使用无证书的公钥可以在用户侧直接生成密钥对,密钥对的私钥只有用户自己持有,不会在网络中传输,用户的私钥一直在用户自己手中,交易提案的签名在用户侧实现,不需要把用户私钥托管到区块链应用的数据库中,提高私钥的安全性;
链上用户的访问范围粒度更细。联盟链上原生的用户体系中,每个成员组织中可以生成两类用户,一类的admin用户,另外一类的普通用户。所有的普通用户对联盟链上的账本的操作和查询权限是没有差别的。如果一个联盟链上对接了多个区块链场景业务应用,如果使用联盟链上成员组织创建的普通用户,各个业务应用自己的用户也能访问到其他业务应用在联盟链中的数据,现在的解决办法是联盟中创建更多的成员组织,但是创建成员组织需要增加区块链节点,会造成很大的资源浪费。使用本发明中基于智能合约的无证书身份,每个区块链业务应用可以编写和部署自己的单独的一个或者多个智能合约,每个区块链业务应用的智能合约创建和管理自己的用户,各个区块链业务应用维护的用户之间对账本数据的权限是隔离的,实现粒度更细的账本数据权限控制;
提供更加轻量的链上用户身份。联盟链上默认的用户体系是基于证书体系,由成员组织的CA对非对称密钥对签发成证书,数字证书相对于公钥占用的字节数要大很多。本发明的基于无证书的公钥体系,可以用与在智能合约中使用成员组织admin账户的公钥进行验签;由于用户的公钥比用户证书长度更小,用户公钥哈希的长度比公钥更小,可以很大程度节省用户发起交易的字节大小。
附图说明
图1为本发明系统流程图。
具体实施方式
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“中”、“上”、“下”、“左”、“右”、“内”、“外”、“顶”、“底”、“侧”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“一”、“第一”、“第二”、“第三”、“第四”、“第五”、“第六”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
出于简明和说明的目的,实施例的原理主要通过参考例子来描述。在以下描述中,很多具体细节被提出用以提供对实施例的彻底理解。然而明显的是,对于本领域普通技术人员,这些实施例在实践中可以不限于这些具体细节。在一些实例中,没有详细地描述公知方法和结构,以避免无必要地使这些实施例变得难以理解。另外,所有实施例可以互相结合使用。
实施例一
本发明提供一种技术方案:一种基于智能合约的无证书联盟链上身份认证方法,所述基于智能合约的无证书联盟链上身份认证方法包括以下步骤:
用户在用户侧离线生成非对称密钥对,并自己保存用户私钥;区块链业务应用中保存成员组织的admin账户的私钥,把成员组织admin账户的公钥写入认证智能合约中;
用户把自己离线生成的密钥对中的公钥发送给区块链业务应用,区块链业务应用计算用户公钥的哈希值,并使用成员组织admin账户对哈希值进行签名,签名放到区块链业务应用的业务库的用户表中,用户公钥的哈希值为用户的用户ID,完成用户的注册;用户把自己的公钥发送给区块链应用进行注册;区块链应用的身份认证模块使用短信验证等技术确定用户的真实身份,确认用户真实身份之后进入下一步;区块链应用使用国密SM3算法计算用户公钥的哈希值;区块链应用使用成员组织的admin账户的私钥对用户公钥的哈希值进行签发;没有直接对用户的私钥进行签发,可以减少签发后身份占用的字节数,同时也可以直接使用公钥的哈希作为用户的在业务应用中的唯一标识ID,赋予其业务含义;admin账户对用户公钥的哈希完成签发之后,把用户公钥哈希作为用户的唯一标识,用户在业务应用数据库的用户表中的属性还包括用户的公钥、admin账户对用户公钥哈希的签名,以及用户其他标识如手机号、身份证号等;另外,用户的私钥是不包含在业务系统中,用户私钥只有用户自己保密存储;
用户使用自己的用户私钥签发交易提案,交易提案中包括提案请求参数、用户私钥对请求参数哈希的签名、用户公钥,交易提案发送给认证智能合约进行认证;智能合约从交易提案中提取用户公钥,计算公钥的哈希,从用户库中获得成员组织admin账号私钥对用户公钥哈希的签名,使用成员组织admin账户的公钥进行验签,通过验签,用户认证通过;使用交易提案中用户证书对用户签发的交易提案进行校验,校验通过,就可以进入智能合约的具体业务处理阶段,来处理具体的业务逻辑。
参照附图1所示,一种基于智能合约的无证书联盟链上身份认证系统,该系统由离线生成模块、用户注册模块以及用户认证模块构成;
离线生成模块,用于用户在用户侧离线生成非对称密钥对,并自己保存用户私钥;区块链业务应用中保存成员组织的admin账户的私钥,把成员组织admin账户的公钥写入认证智能合约中;
用户注册模块,用于用户把自己离线生成的密钥对中的公钥发送给区块链业务应用,区块链业务应用计算用户公钥的哈希值,并使用成员组织admin账户对哈希值进行签名,签名放到区块链业务应用的业务库的用户表中,用户公钥的哈希值为用户的用户ID,完成用户的注册;
用户把自己的公钥发送给区块链应用进行注册;
区块链应用的身份认证模块使用短信验证等技术确定用户的真实身份,确认用户真实身份之后进入下一步;
区块链应用使用国密SM3算法计算用户公钥的哈希值;
区块链应用使用成员组织的admin账户的私钥对用户公钥的哈希值进行签发;没有直接对用户的私钥进行签发,可以减少签发后身份占用的字节数,同时也可以直接使用公钥的哈希作为用户的在业务应用中的唯一标识ID,赋予其业务含义;
admin账户对用户公钥的哈希完成签发之后,把用户公钥哈希作为用户的唯一标识,用户在业务应用数据库的用户表中的属性还包括用户的公钥、admin账户对用户公钥哈希的签名,以及用户其他标识如手机号、身份证号等;另外,用户的私钥是不包含在业务系统中,用户私钥只有用户自己保密存储;
用户认证模块,用于用户使用自己的用户私钥签发交易提案,交易提案中包括提案请求参数、用户私钥对请求参数哈希的签名、用户公钥,交易提案发送给认证智能合约进行认证;
智能合约从交易提案中提取用户公钥,计算公钥的哈希,从用户库中获得成员组织admin账号私钥对用户公钥哈希的签名,使用成员组织admin账户的公钥进行验签,通过验签,用户认证通过;
使用交易提案中用户证书对用户签发的交易提案进行校验,校验通过,就可以进入智能合约的具体业务处理阶段,来处理具体的业务逻辑。
实施例三
(1)用户离线生成非对称密钥对
联盟链原生的用户体系中,用户的非对称密钥对是在区块链网络中生成,并交由成员组织的CA把其公钥签发成证书格式,再把用户私钥和证书传输给用户。本发明中,非对称密钥对由用户自己离线生成,密钥对中的私钥用户完全自我安全持有,不需要传给任何人和应用,也就不存在被泄露和传输过程中被截获。用户的公钥可以在网络中对外广播公开,用户注册过程中成员组织的admin账户会对这个用户公钥进行签名,详细签发过程会在下面技术方案(3)中详细说明。
(2)成员组织的admin账户公钥写入智能合约
本发明中,用户的身份不是由成员组织的CA来颁发,而是由成员组织的admin账户来签发。成员组织的admin账户是联盟链上的一个原生的具有某个成员组织管理权限的用户,他本身有自己的公私钥对以及证书(由成员组织CA为其签发)。成员组织的admin账户的密钥对中的公钥和私钥分开放置,把其公钥写入用户认证智能合约中,用于对用户身份进行验证。由于区块链上数据对联盟中所有成员都是公开的,不能把admin账户的私钥放到链上,私钥由成员组织单独持有,由成员组织安全的放到其业务应用中的安全位置,成员组织的admin账户私钥用于对用户公钥的哈希进行签发。
(3)智能合约中成员组织admin账户签发用户
成员组织的admin账户的私钥配合智能合约实现用户身份的签发。不同于联盟链上的原生用户,都是由联盟链上生成并由成员组织的CA负责对其进行签发,然后将密钥对传给用户使得用户获得联盟链上的身份。
本发明中的用户是无证书的非对称密钥对,用户的密钥对基于标准的SM2国密算法由用户离线生成,生成的密钥对包括公钥(publicKey,简称pk)和私钥(privateKey,简称sk),由于是离线生成密钥对,用户可以更安全妥善的保存自己的私钥sk,不用担心生成和传输过程中被人窃取。对于用户的公钥pk无需保密,可以直接对外公开,不存在安全问题。
对于用户离线生成的这对密钥对,它不是由联盟链中任何成员组织的CA所签发,其当前显然跟联盟链是没有任何关系的。本发明中是使用用户认证智能合约配合传统用户身份识别技术完成注册,具体注册主流程如下:
1)用户把自己的公钥发送给区块链应用进行注册;
2)区块链应用的身份认证模块使用短信验证等技术确定用户的真实身份,确认用户真实身份之后进入下一步;
3)区块链应用使用国密SM3算法计算用户公钥的哈希值;
4)区块链应用使用成员组织的admin账户的私钥对用户公钥的哈希值进行签发。没有直接对用户的私钥进行签发,可以减少签发后身份占用的字节数,同时也可以直接使用公钥的哈希作为用户的在业务应用中的唯一标识ID,赋予其业务含义。
5)admin账户对用户公钥的哈希完成签发之后,把用户公钥哈希作为用户的唯一标识,用户在业务应用数据库的用户表中的属性还包括用户的公钥、admin账户对用户公钥哈希的签名,以及用户其他标识如手机号、身份证号等。另外,用户的私钥是不包含在业务系统中,用户私钥只有用户自己保密存储。
(4)智能合约中对用户进行认证
以上完成了用户的注册,本节是通过身份认证智能合约完成对用户的身份认证。用户发起的交易提案中包含有用户私钥的签名,交易提案发送给区块链上的智能合约进行处理,所述的签名算法和哈希算法都是基于国密算法,分别是SM2算法和SM3算法,用户发起交易的智能合约认证流程如下:
1)用户发起交易提案,使用用户个人持有的用户私钥对交易提案请求参数计算哈希后进行签名,交易提案中包含这个签名、交易提案请求参数以及用户的公钥等。用户把交易提案发送给联盟链中的智能合约处理;
2)联盟链上用户认证智能合约接收到用户的交易提案,从交易提案中取出用户的公钥,使用哈希算法计算公钥的哈希,计算出的用户公钥哈希即为用户的用户ID,根据这个用户ID从业务应用数据库的用户表中得到用户信息,其中就包括有成员组织admin账户对用户ID的签名。
3)智能合约中包含了成员组织的admin账户的公钥,对admin账户对用户ID的签名进行验签,如果通过验签,说明用户是由成员组织的admin账户签发的,用户认证通过。
4)用户认证通过之后,智能合约计算用户交易提案的哈希值,并使用交易提案中包含的用户公钥对交易提案进行验签,如果验签成功,说明交易提案是由此用户本人所签发的,提案发起人验证通过。然后,就可以进入智能合约的具体业务处理阶段,来处理具体的业务逻辑。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于智能合约的无证书联盟链上身份认证方法,其特征在于:所述基于智能合约的无证书联盟链上身份认证方法包括以下步骤:
用户在用户侧离线生成非对称密钥对,并自己保存用户私钥;
用户把自己离线生成的密钥对中的公钥发送给区块链业务应用,区块链业务应用计算用户公钥的哈希值,并使用成员组织admin账户对哈希值进行签名,签名放到区块链业务应用的业务库的用户表中,用户公钥的哈希值为用户的用户ID,完成用户的注册;
用户使用自己的用户私钥签发交易提案,交易提案中包括提案请求参数、用户私钥对请求参数哈希的签名、用户公钥,交易提案发送给认证智能合约进行认证。
2.根据权利要求1所述的一种基于智能合约的无证书联盟链上身份认证方法及系统,其特征在于:用户在用户侧离线生成非对称密钥对时,
区块链业务应用中保存成员组织的admin账户的私钥,把成员组织admin账户的公钥写入认证智能合约中。
3.根据权利要求2所述的一种基于智能合约的无证书联盟链上身份认证方法及系统,其特征在于:用户注册时,
用户把自己的公钥发送给区块链应用进行注册;
区块链应用的身份认证模块使用短信验证等技术确定用户的真实身份,确认用户真实身份之后进入下一步;
区块链应用使用国密SM3算法计算用户公钥的哈希值;
区块链应用使用成员组织的admin账户的私钥对用户公钥的哈希值进行签发;没有直接对用户的私钥进行签发,可以减少签发后身份占用的字节数,同时也可以直接使用公钥的哈希作为用户的在业务应用中的唯一标识ID,赋予其业务含义;
admin账户对用户公钥的哈希完成签发之后,把用户公钥哈希作为用户的唯一标识,用户在业务应用数据库的用户表中的属性还包括用户的公钥、admin账户对用户公钥哈希的签名,以及用户其他标识如手机号、身份证号等;另外,用户的私钥是不包含在业务系统中,用户私钥只有用户自己保密存储。
4.根据权利要求3所述的一种基于智能合约的无证书联盟链上身份认证方法及系统,其特征在于:用户认证时,智能合约从交易提案中提取用户公钥,计算公钥的哈希,从用户库中获得成员组织admin账号私钥对用户公钥哈希的签名,使用成员组织admin账户的公钥进行验签,通过验签,用户认证通过。
5.根据权利要求4所述的一种基于智能合约的无证书联盟链上身份认证方法及系统,其特征在于:用户认证时,使用交易提案中用户证书对用户签发的交易提案进行校验,校验通过,就可以进入智能合约的具体业务处理阶段,来处理具体的业务逻辑。
6.一种如上述权利要求1-5任意一项所述的基于智能合约的无证书联盟链上身份认证系统,其特征在于:该系统由离线生成模块、用户注册模块以及用户认证模块构成;
离线生成模块,用于用户在用户侧离线生成非对称密钥对,并自己保存用户私钥;
用户注册模块,用于用户把自己离线生成的密钥对中的公钥发送给区块链业务应用,区块链业务应用计算用户公钥的哈希值,并使用成员组织admin账户对哈希值进行签名,签名放到区块链业务应用的业务库的用户表中,用户公钥的哈希值为用户的用户ID,完成用户的注册;
用户认证模块,用于用户使用自己的用户私钥签发交易提案,交易提案中包括提案请求参数、用户私钥对请求参数哈希的签名、用户公钥,交易提案发送给认证智能合约进行认证。
7.根据权利要求6所述的一种基于智能合约的无证书联盟链上身份认证系统,其特征在于:所述离线生成模块中,区块链业务应用中保存成员组织的admin账户的私钥,把成员组织admin账户的公钥写入认证智能合约中。
8.根据权利要求7所述的一种基于智能合约的无证书联盟链上身份认证系统,其特征在于:所述用户注册模块中,用户把自己的公钥发送给区块链应用进行注册;
区块链应用的身份认证模块使用短信验证等技术确定用户的真实身份,确认用户真实身份之后进入下一步;
区块链应用使用国密SM3算法计算用户公钥的哈希值;
区块链应用使用成员组织的admin账户的私钥对用户公钥的哈希值进行签发;没有直接对用户的私钥进行签发,可以减少签发后身份占用的字节数,同时也可以直接使用公钥的哈希作为用户的在业务应用中的唯一标识ID,赋予其业务含义;
admin账户对用户公钥的哈希完成签发之后,把用户公钥哈希作为用户的唯一标识,用户在业务应用数据库的用户表中的属性还包括用户的公钥、admin账户对用户公钥哈希的签名,以及用户其他标识如手机号、身份证号等;另外,用户的私钥是不包含在业务系统中,用户私钥只有用户自己保密存储。
9.根据权利要求8所述的一种基于智能合约的无证书联盟链上身份认证系统,其特征在于:所述用户注册模块中,智能合约从交易提案中提取用户公钥,计算公钥的哈希,从用户库中获得成员组织admin账号私钥对用户公钥哈希的签名,使用成员组织admin账户的公钥进行验签,通过验签,用户认证通过。
10.根据权利要求9所述的一种基于智能合约的无证书联盟链上身份认证系统,其特征在于:所述用户注册模块中,使用交易提案中用户证书对用户签发的交易提案进行校验,校验通过,就可以进入智能合约的具体业务处理阶段,来处理具体的业务逻辑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022309.1A CN115459920A (zh) | 2022-08-25 | 2022-08-25 | 一种基于智能合约的无证书联盟链上身份认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211022309.1A CN115459920A (zh) | 2022-08-25 | 2022-08-25 | 一种基于智能合约的无证书联盟链上身份认证方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115459920A true CN115459920A (zh) | 2022-12-09 |
Family
ID=84298507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211022309.1A Pending CN115459920A (zh) | 2022-08-25 | 2022-08-25 | 一种基于智能合约的无证书联盟链上身份认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115459920A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116074119A (zh) * | 2023-03-07 | 2023-05-05 | 天津电力工程监理有限公司 | 基于区块链的研究型审计双向认证方法、装置及可读介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108064440A (zh) * | 2017-05-25 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的fido认证方法、装置及系统 |
CN109522698A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的用户认证方法及终端设备 |
CN109983466A (zh) * | 2018-09-27 | 2019-07-05 | 区链通网络有限公司 | 一种基于区块链的账户管理系统以及管理方法、存储介质 |
KR20190128309A (ko) * | 2018-05-08 | 2019-11-18 | 라온시큐어(주) | 블록체인 기반 디지털 신분증 및 이의 발급과 신원확인 방법 및 시스템 |
CN111062716A (zh) * | 2019-11-29 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 生成区块链签名数据的方法及装置、区块链交易发起系统 |
CN114003925A (zh) * | 2021-10-12 | 2022-02-01 | 浪潮云信息技术股份公司 | 一种基于区块链的签名结合在线申报方法及系统 |
CN114584324A (zh) * | 2022-04-28 | 2022-06-03 | 天聚地合(苏州)科技股份有限公司 | 一种基于区块链的身份授权方法和系统 |
-
2022
- 2022-08-25 CN CN202211022309.1A patent/CN115459920A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108064440A (zh) * | 2017-05-25 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的fido认证方法、装置及系统 |
KR20190128309A (ko) * | 2018-05-08 | 2019-11-18 | 라온시큐어(주) | 블록체인 기반 디지털 신분증 및 이의 발급과 신원확인 방법 및 시스템 |
CN109983466A (zh) * | 2018-09-27 | 2019-07-05 | 区链通网络有限公司 | 一种基于区块链的账户管理系统以及管理方法、存储介质 |
CN109522698A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的用户认证方法及终端设备 |
CN111062716A (zh) * | 2019-11-29 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 生成区块链签名数据的方法及装置、区块链交易发起系统 |
CN114003925A (zh) * | 2021-10-12 | 2022-02-01 | 浪潮云信息技术股份公司 | 一种基于区块链的签名结合在线申报方法及系统 |
CN114584324A (zh) * | 2022-04-28 | 2022-06-03 | 天聚地合(苏州)科技股份有限公司 | 一种基于区块链的身份授权方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116074119A (zh) * | 2023-03-07 | 2023-05-05 | 天津电力工程监理有限公司 | 基于区块链的研究型审计双向认证方法、装置及可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1859096B (zh) | 一种安全认证系统及方法 | |
CN110213246B (zh) | 一种广域多因子身份认证系统 | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN108667612B (zh) | 一种基于区块链的信任服务架构及方法 | |
US7362869B2 (en) | Method of distributing a public key | |
CN109727032A (zh) | 一种基于身份标识密码的联盟区块链访问控制方法 | |
CN107273760A (zh) | 一种基于区块链多ca应用认证方法 | |
CN114186248B (zh) | 基于区块链智能合约的零知识证明可验证凭证数字身份管理系统及方法 | |
CN102420690B (zh) | 一种工业控制系统中身份与权限的融合认证方法及系统 | |
CN109165934B (zh) | 一种基于标识密码的安全移动支付方法及系统 | |
CN110138560A (zh) | 一种基于标识密码和联盟链的双代理跨域认证方法 | |
CN110289958B (zh) | 一种车联网身份认证方法及系统 | |
WO2001031841A1 (en) | Method and apparatus for leveraging an existing cryptographic infrastructure | |
CN101051895B (zh) | 一种集成生物认证和属性证书的认证方法及系统 | |
CN107277000B (zh) | 一种电子凭证安全管理方法及系统 | |
CN111881483B (zh) | 基于区块链的资源账户绑定方法、装置、设备和介质 | |
CN109829722B (zh) | 一种电子支付系统的用户身份实名认证方法 | |
CN113360861B (zh) | 一种面向抵押贷款的基于中继器跨链的去中心化身份方法 | |
CN112565294B (zh) | 一种基于区块链电子签名的身份认证方法 | |
CN109981287A (zh) | 一种代码签名方法及其存储介质 | |
CN112507300A (zh) | 基于eID的电子签名系统及电子签名验证方法 | |
CN103077461A (zh) | 使用移动通信装置申请金融凭证的系统及其方法 | |
CN109670825A (zh) | 一种基于证书关联的数字资产实名登记系统 | |
CN111914231A (zh) | 基于区块链的身份验证方法、系统、设备及存储介质 | |
CN115459920A (zh) | 一种基于智能合约的无证书联盟链上身份认证方法及系统 |
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 |