CN108737106B - 区块链系统上用户验证方法、装置、终端设备及存储介质 - Google Patents

区块链系统上用户验证方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN108737106B
CN108737106B CN201810436851.9A CN201810436851A CN108737106B CN 108737106 B CN108737106 B CN 108737106B CN 201810436851 A CN201810436851 A CN 201810436851A CN 108737106 B CN108737106 B CN 108737106B
Authority
CN
China
Prior art keywords
user
certificate
root certificate
blockchain
blockchain system
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.)
Active
Application number
CN201810436851.9A
Other languages
English (en)
Other versions
CN108737106A (zh
Inventor
贾牧
谢丹力
陆陈一帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201810436851.9A priority Critical patent/CN108737106B/zh
Priority to PCT/CN2018/095904 priority patent/WO2019214068A1/zh
Publication of CN108737106A publication Critical patent/CN108737106A/zh
Application granted granted Critical
Publication of CN108737106B publication Critical patent/CN108737106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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

Abstract

本发明公开了一种区块链系统上用户验证方法、装置、终端设备及存储介质。该区块链系统上用户验证方法,包括:通过权威认证节点在区块链系统上设置系统根证书;根据所述系统根证书生成所述区块链系统上所有用户的用户数字证书;所述区块链系统上用户A和用户B进行通信,若用户A需要对用户B进行验证,则用户A接收用户B发送的所述用户数字证书;用户A采用所述系统根证书对用户B的用户数字证书进行验证;若验证通过,则确定用户B为所述区块链系统上的合法用户。采用该区块链系统上用户验证方法能够实现区块链系统上有效和安全的用户验证功能。

Description

区块链系统上用户验证方法、装置、终端设备及存储介质
技术领域
本发明涉及区块链应用领域,尤其涉及一种区块链系统上用户验证方法、装置、终端设备及存储介质。
背景技术
目前区块链系统采用外部的第三方证书签发机构签发的根证书进行用户验证,而第三方证书签发机构签发的根证书一般安装在浏览器或操作系统中,意味着整个区块链系统的证书安全完全依赖于第三方证书签发机构的安全。在某些情形下,应用场景要求整个区块链系统的安全需依赖于自己可控的一个根认证中心,而不是外部的第三方证书签发机构,同时,外部的第三方证书签发机构对签发的证书信息有一系列的认证流程,某些情形下申请的证书信息无法通过证书签发机构的认证,使得当区块链系统采用外部的第三方证书签发机构签发的根证书进行用户验证时,将无法实现区块链上用户验证的功能。
发明内容
本发明实施例提供一种区块链系统上用户验证方法、终端设备及存储介质,以解决当前区块链系统采用外部的第三方证书签发机构签发的根证书无法实现区块链系统上用户验证的问题。
第一方面,本发明实施例提供一种区块链系统上用户验证方法,包括:
通过权威认证节点在区块链系统上设置系统根证书;
根据所述系统根证书生成所述区块链系统上所有用户的用户数字证书;
所述区块链系统上用户A和用户B进行通信,若用户A需要对用户B进行验证,则用户A接收用户B发送的所述用户数字证书;
用户A采用所述系统根证书对用户B的用户数字证书进行验证;
若验证通过,则确定用户B为所述区块链系统上的合法用户。
第二方面,本发明实施例提供一种区块链系统上用户验证装置,包括:
根证书设置模块,用于通过权威认证节点在区块链系统上设置系统根证书;
数字证书生成模块,用于根据所述系统根证书生成所述区块链系统上所有用户的用户数字证书;
数字证书发送模块,用于所述区块链系统上用户A和用户B进行通信,若用户A需要对用户B进行验证,则用户A接收用户B发送的所述用户数字证书;
验证模块,用于用户A采用所述系统根证书对用户B的用户数字证书进行验证;
确定模块,用于若验证通过,则用户B为所述区块链系统上的合法用户。
第三方面,本发明实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述区块链系统上用户验证方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述区块链系统上用户验证方法的步骤。
本发明实施例所提供的区块链系统上用户验证方法、装置、终端设备及存储介质中,首先通过权威认证节点在区块链系统上设置系统根证书,自定义地在区块链系统上设置系统根证书,使得整个区块链系统的安全依赖于该自定义设置的系统根证书,提高区块链系统的独立性和安全性。然后根据系统根证书生成区块链系统上所有用户的用户数字证书,使得通过自定义设置的系统根证书生成的用户数字证书能够用于区块链系统上的用户验证。最后区块链系统上用户A和用户B进行通信,若用户A需要对用户B进行验证,则用户A接收用户B发送的用户数字证书。用户A采用系统根证书对用户B的用户数字证书进行验证。若验证通过,则确定用户B为区块链系统上的合法用户,基于在区块链系统上自定义设置的系统根证书生成的用户数字证书,能实现区块链系统上有效和安全的用户验证功能。在区块链系统上自定义设置的系统根证书结合了区块链的特点,基于区块链的数据共享性,使得创建设置的系统根证书能够便捷地被区块链系统上用户获取和使用,以进行区块链上用户间的验证;基于区块链的数据不可篡改性,使得创建设置的系统根证书不能被恶意修改;并且,权威认证节点在区块链系统上拥有特定权限及权威性,由权威认证节点在区块链系统上设置的系统根证书拥有权威性,保证了区块链系统的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1中区块链系统上用户验证方法的一流程图。
图2是图1中步骤S10的一具体流程图。
图3是图1中步骤S20的一具体流程图。
图4是图1中步骤S40的一具体流程图。
图5是本发明实施例2中区块链系统上用户验证装置的一原理框图。
图6是本发明实施例4中终端设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
图1示出本实施例中区块链系统上用户验证方法的一流程图。该区块链系统上用户验证方法可应用在以区块链为技术基础的应用系统上,用于在区块链系统上实现用户身份的合法性验证功能。如图1所示,该区块链系统上用户验证方法包括如下步骤:
S10:通过权威认证节点在区块链系统上设置系统根证书。
其中,权威认证节点指区块链系统上的系统管理员用户节点,该权威认证节点拥有比区块链系统上普通用户更高级的权限,可以对区块链系统进行特定权限的操作。区块链是基于分布式数据存储、共识机制和加密算法等计算机技术的新型应用模式。区块链系统本质是一个去中心化的分布式数据库系统。需要说明的是,本实施例中区块链上的用户应理解为在区块链系统上的各个用户节点,即区块链系统上各个相关的终端,该终端可以是通过区块链网络相连的手机、电脑、平板和服务器等终端,如权威认证节点为区块链系统上特殊的用户(用户节点),该用户拥有该区块链系统上的特定权限,该用户即区块链系统的系统管理员。
本实施例中,区块链系统上的权威认证节点(即系统管理员)在系统上设置系统根证书,该系统根证书是独一无二的,且只能由该系统的权威认证节点设置生成。该权威认证节点类似于外部的第三方证书签发机构(即CA,Certificate Authority的缩写,也叫“证书认证中心)。CA是证书的签发机构,是负责签发证书、认证证书和管理已颁发证书的机构。CA需要制定政策和具体步骤来验证和识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。区块链系统上的权威认证节点与外部的第三方证书签发机构CA的区别在于,权威认证节点是该区块链系统自身认证的具有权威性质(特定权限)的用户节点,权威认证节点可以根据区块链系统的特点设置和创建根证书,并根据该根证书生成(颁发)区块链系统上每一用户的用户证书,并基于区块链系统自身实现用户验证过程。通过区块链系统的权威认证节点(系统管理员)在系统上设置系统根证书,结合区块链系统自身的性质和特点,能够实现整个区块链系统依赖于自己可控的一个根认证中心,而不依赖于第三方证书签发机构,提高了整个区块链系统的安全性。
在一具体实施方式中,如图2所示,步骤S10中,通过权威认证节点在区块链系统上设置系统根证书,具体包括如下步骤:
S11:通过权威认证节点创建一个包含系统根证书的交易。
其中,“交易”是区块链系统一基本概念,区块链系统本质是一个去中心化的分布式数据库系统,交易即在该区块链系统上进行的创建、删除和修改数据的操作(读取不改变区块链系统上的数据,因此读取操作不属于交易)。
本实施例中,通过权威认证节点在区块链系统上创建一个交易,该交易的内容包含创建系统根证书的创建操作。通过该交易创建获取的系统根证书是独一无二且具有权威性的,能够根据该系统根证书实现区块链系统上用户验证的功能。
S12:将交易发送到区块链系统上。
其中,区块链系统有两个概念:区块和当前数据状态(fabric中的world state,比特币中的UTXO)。区块中是历史交易信息,当前数据状态是由所有的历史交易所得到的系统数据状态。本实施例中所有的创建、删除或修改等操作,都是通过发送一个交易,经过区块链系统本身的验证,得到一个区块。最终区块链上所有用户根据该区块将交易执行,实现对当前数据状态的修改。另外,交易动作会包含在一个区块中,一个区块中可能有多个交易;并且区块链系统会按照一定的时间间隔产生区块,每个区块中包含这个时间间隔中所有的交易。
本实施例中,区块链上的权威认证节点在创建该包含系统根证书交易后即把该交易发送到区块链系统上,并等待区块链系统的验证。
S13:基于区块链系统的共识机制,打包交易到当前所在区块中,区块链系统上所有用户得到当前所在区块,接受当前所在区块中的交易。
由于区块链系统上点对点网络存在较高的网络延迟,各个用户节点所观察到的交易的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在一时间间隔内发生的交易的事务先后顺序进行共识。这种对一个时间间隔内的交易的事务先后顺序达成共识的算法被称为“共识机制”。其中,该事务是指数据库事务,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。区块链系统的共识机制是区块链技术的重要组成部分,通过共识机制可以确认区块链系统上交易的有效性和真实性。具体地,区块链共识机制可以通过工作量证明(PoW)和权益证明(PoS)等共识机制的方法实现。
本实施例中,基于区块链系统的共识机制,将包含创建系统根证书的交易打包到该交易所在时间间隔产生的区块中(即该交易的当前所在区块),基于区块链系统的共识机制,区块链上所有用户都能正确、有效地获取该包含创建系统根证书交易的当前所在区块。在获取该当前所在区块后,接受当前所在区块中的交易,完成系统根证书的设置。可以理解地,上述过程可以概括为在区块链系统上先进行设置(创建)系统根证书的交易操作,等该交易操作在区块链上经过区块链本身的验证(通过共识机制)后,区块链系统上用户得到该交易的当前所在区块,并加入到原有的区块链中形成新的区块链后,才根据该区块中记载的交易去真正执行该交易,最后实现对区块链系统上用户的当前数据状态的修改,即执行该创建系统根证书的交易,完成系统根证书的设置过程。
在一具体实施方式中,步骤S11中,通过权威认证节点在区块链系统上设置系统根证书,具体包括:
通过权威认证节点创建一个键值对,该键值对的键为key=ROOT,值为value=cert,其中,ROOT代表系统根证书的键,cert代表系统根证书的值。
其中,键值(key-value)是一种数据存储方式,值指具体存储的数据,键即其存储的数据的索引,值可以通过查找其对应的键直接获取。键值反映的是一种数据存储的对应关系,由一个键及其对应的值所组成的数据关系对称为键值对。通过键key=ROOT可以获取对应的值value=cert。
本实施例中,权威认证节点在区块链系统上设置的系统根证书是采用键值对的形式设置创建的,键值对的存储方式可以很好地结合区块链系统的特点。根据区块链上系统是共享的、不可篡改的特点,区块链上用户可以便捷地读取设置在区块链系统上的根证书。由于该根证书是由权威认证节点(即系统管理员)设置创建的,具有权威性,结合区块链上数据不可篡改的特点,可以保证该根证书的安全性。本实施例中在区块链系统上创建一个键值对,该键值对是独一无二的,具体该键值对的键可以设为key=ROOT,值设为value=cert,用户后续在区块链系统上进行用户身份验证时,只需读取区块链系统上名为ROOT的键即可获取相应的根证书,利用根证书进行区块链上用户身份的合法性验证。
需要说明的是,区块链系统采用自定义设置的系统根证书,可以避免采用其他设置方式(如没有采用本实施例中结合区块链系统进行设置创建)可能造成多个用户之间不一致的情况发生,无法确保多用户的一致性。本实施例中,采用结合区块链系统自定义创建的系统根证书不会出现该问题,能够保证多用户的一致性。
S20:根据系统根证书生成区块链系统上所有用户的用户数字证书。
其中,用户数字证书用于进行区块链上用户间的验证。本实施例中,系统根证书在区块链系统上,基于哈希算法和系统根证书的私钥生成区块链系统上所有用户的用户数字证书(区块链上用户如果没有系统根证书生成的用户数字证书,将无法进行身份的合格验证,导致无法与区块链上的其他用户进行通信),为基于该用户数字证书实现区块链系统上用户间的身份验证提供了重要的技术基础。
在一具体实施方式中,如图3,步骤S20中,通过权威认证节点在区块链系统上设置系统根证书,具体包括如下步骤:
S21:创建区块链系统上所有用户的原始用户证书。
其中,原始用户证书是指未经数字签名加密的证书,该原始用户证书包括原始证书内容。该证书可以是采用X.509V3的证书标准。本实施例中,系统根证书创建区块链系统上所有用户的原始用户证书,为后续基于该原始用户证书生成区块链系统上所有用户的用户数字证书提供了基础。
S22:采用系统根证书的私钥加密所有用户的原始用户证书,生成区块链系统上所有用户的用户数字证书,用户数字证书包括发行者数字签名。
其中,系统根证书包括一对相对应的公钥和私钥,公钥用于用户验证,私钥用于加密原始用户证书。原始用户证书包括原始证书内容。发行者数字签名是由证书内容的哈希摘要(即采用哈希算法对证书内容进行计算得到的信息摘要)采用系统根证书的私钥加密获取的。本实施例中,采用系统根证书的私钥对区块链上所有用户的原始用户证书进行加密,加密过程具体是系统根证书采用哈希函数(如SHA256)对原始用户证书包括的证书内容进行计算,生成原始信息摘要,然后采用系统根证书自身的私钥对该原始信息摘要进行加密,该加密后的原始信息摘要即发行者数字签名。原始用户证书经系统根证书签名后发放到区块链上的所有用户上。区块链上每一用户获取签名后的原始用户证书,即用户数字证书。通过采用区块链上的系统根证书生成区块链上每一用户的用户数字证书,能够保证生成的每一用户数字证书都是安全合法的,区块链系统上每一用户都可以采用自身的用户数字证书证明在该区块链系统上的身份合法性。
基于步骤S21和步骤S22,通过采用区块链上的系统根证书生成区块链上每一用户的用户数字证书,能够保证每一用户数字证书的安全性。区块链系统上每一用户都可以采用自身的用户数字证书证明在该区块链系统上的身份合法性。
S30:区块链系统上用户A和用户B进行通信,若用户A需要对用户B进行验证,则用户A接收用户B发送的用户数字证书。
本实施例中,区块链系统上包括任意两个普通用户:用户A和用户B。若用户B想要发送数据给用户A,用户A要求对用户B的身份进行验证。在用户A对用户B进行身份验证时,则用户B需发送自身的用户数字证书给用户A,为后续用户A根据系统根证书的公钥对用户B的用户数字证书进行解密,验证用户B是否为区块链上合法用户提供了基础。需要说明的是用户B也可以要求验证用户A的身份合法性,验证过程可以是双向的。
S40:用户A采用系统根证书对用户B的用户数字证书进行验证。
本实施例中,区块链上用户采用在区块链上创建的系统根证书,采用系统根证书对用户B的用户数字证书进行验证。系统根证书在该区块链系统上具有权威性,根据用户系统根证书能够保证验证结果的准确性,使得用户A能够实现对用户B的身份验证。
在一具体实施方式中,如图4,步骤S40中,用户A采用系统根证书对用户B的用户数字证书进行验证,具体包括如下步骤:
S41:用户A在区块链系统上读取系统根证书,获取系统根证书的公钥。
本实施例中,用户A读取区块链系统上的系统根证书,具体读取的方式为在区块链上查询名为ROOT的键,由该键ROOT与值cert为一个键值对的关系,直接根据键ROOT获取值cert,该值cert即为系统根证书。系统根证书包括一对相对应的公钥和私钥,公钥用于用户验证,私钥用于加密原始用户证书,而区块链系统上的每一用户的用户数字证书均是采用系统根证书的私钥加密其对应的原始用户证书后获取的,因此,需获取系统根证书中的公钥,以便基于该公钥对用户数字证书进行验证。本实施例中,用户A需要对用户B进行验证,因此,用户A需从系统根证书中获取系统根证书的公钥,以根据该公钥进行区块链上用户身份合法性验证。
S42:用户A根据系统根证书的公钥对用户B的用户数字证书进行解密,若解密成功,则验证通过。
本实施例中,在用户A获取系统根证书的公钥后,采用该公钥对用户B的用户数字证书进行解密,具体地,该解密验证过程为:用户A首先采用与系统根证书生成用户数字证书时采用的相同的哈希函数,对用户B的用户数字证书的证书内容计算得到第一信息摘要,接着再用系统根证书的公钥对发行者数字签名进行解密,计算出第二信息摘要,如果第一信息摘要和第二信息摘要相同,则认为该解密过程是成功的,即用户A能够确认该发行者数字签名是系统根证书签发的。
需要说明的是,用户B的用户数字证书的证书内容和原始用户证书的证书内容是相同的。系统根证书对原始用户证书进行数字签名,只是对原始信息摘要进行加密,并不会改变原始用户证书的证书内容。根据哈希函数的单向散列性,采用哈希函数对用户B的用户数字证书的证书内容进行计算,获取第一信息摘要,并基于该第一信息摘要与第二摘要作比较。由加密的过程(哈希函数的单向散列性质)能够知道如果用户B的用户证书是区块链系统上的系统根证书发放的,第一信息摘要与第二摘要必定相同。通过用户A根据系统根证书的公钥对用户B的用户数字证书进行解密,实现了用户A在区块链系统上对用户B的验证,保证区块链系统上用户进行通信时的安全。
基于步骤S41和步骤S42,用户A在对用户B进行身份验证的时候,采用了区块链上具有权威性质的系统根证书,通过系统根证书的公钥解密用户B的用户数字证书,根据解密结果(第一信息摘要是否和第二信息摘要相同)判断用户B的合法性,使得基于系统根证书的验证在区块链系统上的用户验证更加安全和可靠。
S50:若验证通过,则确定用户B为区块链系统上的合法用户。
本实施例中,若验证通过,由系统根证书在区块链系统上的权威性可知,拥有系统根证书加密的用户数字证书的区块链上系统上的用户都是区块链上的合法用户,则能够确定用户B为区块链系统上的合法用户,用户B能够与用户A进行正常的通信。
需要说明的是,本实施例中的用户A和用户B是区块链系统上任意的两个区别于权威认证节点的普通用户,区块链上的用户间进行验证可以是单向的,也可以是双向的,用户A可以要求对用户B的身份进行验证,用户B同样也可以对用户A的身份进行验证。验证过程都需要通过区块链系统读取系统根证书,根据系统根证书对用户数字证书进行解密,以验证用户是否为区块链系统上的合法用户。
本实施例所提供的区块链系统上用户验证方法中,首先通过权威认证节点在区块链系统上设置系统根证书,结合区块链自身特点自定义地在区块链系统上设置系统根证书,使得整个区块链系统的安全依赖于该系统根证书,保证区块链系统的安全性。然后根据系统根证书生成区块链系统上所有用户的用户数字证书,使得通过该系统根证书生成的用户数字证书能够用于实现区块链系统上的用户验证。最后区块链系统上用户A和用户B进行通信,用户A采用系统根证书的公钥对用户B的用户数字证书进行验证,以确定用户B是否为区块链系统上的合法用户。区块链上用户通过直接读取设置在区块链上的根证书,采用根证书对在区块链系统上自定义设置的系统根证书生成的用户数字证书进行验证,能够实现区块链系统上有效和安全的用户验证功能。在区块链系统上自定义设置的系统根证书结合了区块链的特点,基于区块链的数据共享性,使得创建设置的系统根证书能够便捷地被区块链系统上用户读取和使用,以进行区块链上用户间的验证;基于区块链的数据不可篡改性,使得创建设置的系统根证书不能被恶意修改;并且,权威认证节点在区块链系统上拥有特定权限及权威性,由权威认证节点在区块链系统上设置的系统根证书拥有权威性,保证了区块链系统的安全。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例2
图5示出与实施例1中区块链系统上用户验证方法一一对应的区块链系统上用户验证管理装置的原理框图。如图5所示,该区块链系统上用户验证装置包括根证书设置模块10、数字证书生成模块20、数字证书发送模块30、验证模块40和确定模块50。其中,根证书设置模块10、数字证书生成模块20、数字证书发送模块30、验证模块40和确定模块50的实现功能与实施例1中区块链系统上用户验证方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。
根证书设置模块10,用于通过权威认证节点在区块链系统上设置系统根证书。
数字证书生成模块20,用于根据系统根证书生成区块链系统上所有用户的用户数字证书。
数字证书发送模块30,用于区块链系统上用户A和用户B进行通信,若用户A需要对用户B进行验证,则用户A接收用户B发送的用户数字证书。
验证模块40,用于用户A采用系统根证书对用户B的用户数字证书进行验证。
确定模块50,用于若验证通过,则用户B为区块链系统上的合法用户。
优选地,根证书设置模块10包括根证书创建单元11、交易发送单元12和交易接收单元13。
根证书创建单元11,用于通过权威认证节点创建一个包含系统根证书的交易。
交易发送单元12,用于将交易发送到区块链系统上。
交易接收单元13,用于基于区块链系统的共识机制,打包交易到当前所在区块中,区块链系统上所有用户得到当前所在区块,接受当前所在区块中的交易。
优选地,根证书创建单元11,用于通过权威认证节点创建一个键值对,键值对的键为key=ROOT,值为value=cert,其中,ROOT代表系统根证书的键,cert代表系统根证书的值。
优选地,数字证书生成模块20包括原始用户证书创建单元21和用户数字证书获取单元22。
原始证书创建单元21,用于创建区块链系统上所有用户的原始用户证书。
数字证书获取单元22,用于采用系统根证书的私钥加密所有用户的原始用户证书,生成区块链系统上所有用户的用户数字证书,用户数字证书包括发行者数字签名。
优选地,验证模块40包括公钥获取单元41和解密单元42。
公钥获取单元41,用于用户A在区块链系统上读取系统根证书,获取系统根证书的公钥。
解密单元42,用于用户A根据系统根证书的公钥对用户B的用户数字证书进行解密,若解密成功,则验证通过。
本实施例所提供的区块链系统上用户验证装置中,根证书设置模块10,能够使得整个区块链系统的安全依赖于该自定义设置的系统根证书,提高区块链系统的独立性和安全性。数字证书生成模块20,使得通过自定义设置的系统根证书生成的用户数字证书能够用于区块链系统上的用户验证。数字证书发送模块30、验证模块40和确定模块50,基于在区块链系统上自定义设置的系统根证书生成的用户数字证书,能实现区块链系统上有效和安全的用户验证功能。在区块链系统上自定义设置的系统根证书结合了区块链的特点,基于区块链的数据共享性,使得创建设置的系统根证书能够便捷地被区块链系统上用户获取和使用,以进行区块链上用户间的验证;基于区块链的数据不可篡改性,使得创建设置的系统根证书不能被恶意修改;并且,权威认证节点在区块链系统上拥有特定权限及权威性,由权威认证节点在区块链系统上设置的系统根证书拥有权威性,保证了区块链系统的安全性。
实施例3
本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例1中区块链系统上用户验证方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例2中区块链系统上用户验证装置中各模块/单元的功能,为避免重复,这里不再赘述。
实施例4
图6是本实施例中终端设备的示意图。如图6所示,终端设备60包括处理器61、存储器62以及存储在存储器62中并可在处理器61上运行的计算机程序63。处理器61执行计算机程序63时实现实施例1中区块链系统上用户验证方法的各个步骤,例如图1所示的步骤S10、S20、S30、S40和S50。或者,处理器61执行计算机程序63时实现实施例2中区块链系统上用户验证装置各模块/单元的功能,如图5所示根证书设置模块10、数字证书生成模块20、数字证书发送模块30、验证模块40和确定模块50的功能。
示例性的,计算机程序63可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器62中,并由处理器61执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序63在终端设备60中的执行过程。例如,计算机程序63可被分割成实施例2中的根证书设置模块10、数字证书生成模块20、数字证书发送模块30、验证模块40和确定模块50,各模块的具体功能如实施例2所示,为避免重复,此处不一一赘述。
终端设备60可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备可包括,但不仅限于,处理器61、存储器62。本领域技术人员可以理解,图6仅仅是终端设备60的示例,并不构成对终端设备60的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器61可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器62可以是终端设备60的内部存储单元,例如终端设备60的硬盘或内存。存储器62也可以是终端设备60的外部存储设备,例如终端设备60上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器62还可以既包括终端设备60的内部存储单元也包括外部存储设备。存储器62用于存储计算机程序以及终端设备所需的其他程序和数据。存储器62还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (9)

1.一种区块链系统上用户验证方法,其特征在于,包括:
通过权威认证节点在区块链系统上设置系统根证书;
根据所述系统根证书的私钥和哈希函数,生成所述区块链系统上所有用户的用户数字证书;
所述区块链系统上用户A和用户B进行通信,若用户A需要对用户B进行验证,则用户A接收用户B发送的所述用户数字证书;
用户A采用所述系统根证书对用户B的用户数字证书进行验证;
若验证通过,则确定用户B为所述区块链系统上的合法用户;
其中,所述用户A采用所述系统根证书对用户B的用户数字证书进行验证,包括:
用户A在区块链系统上读取所述系统根证书,获取所述系统根证书的公钥;
用户A采用与系统根证书生成用户数字证书时采用的相同的哈希函数,对用户B的用户数字证书的证书内容计算得到第一信息摘要;采用系统根证书的公钥对用户数字证书进行解密,计算出第二信息摘要;若第一信息摘要和第二信息摘要相同,则验证通过。
2.根据权利要求1所述的区块链系统上用户验证方法,其特征在于,所述通过权威认证节点在区块链系统上设置系统根证书,包括:
通过权威认证节点创建一个包含所述系统根证书的交易;
将所述交易发送到所述区块链系统上;
基于所述区块链系统的共识机制,打包所述交易到当前所在区块中,所述区块链系统上所有用户得到当前所在区块,接受当前所在区块中的所述交易。
3.根据权利要求2所述的区块链系统上用户验证方法,其特征在于,所述通过权威认证节点创建一个包含所述系统根证书的交易,包括:
通过权威认证节点创建一个键值对,所述键值对的键为key=ROOT,值为value=cert,其中,所述ROOT代表所述系统根证书的键,所述cert代表所述系统根证书的值。
4.根据权利要求1所述的区块链系统上用户验证方法,其特征在于,所述根据所述系统根证书生成所述区块链系统上所有用户的用户数字证书,包括:
创建区块链系统上所有用户的原始用户证书;
采用所述系统根证书的私钥加密所有用户的所述原始用户证书,生成所述区块链系统上所有用户的用户数字证书,所述用户数字证书包括发行者数字签名。
5.一种区块链系统上用户验证装置,其特征在于,包括:
根证书设置模块,用于通过权威认证节点在区块链系统上设置系统根证书;
数字证书生成模块,用于根据所述系统根证书的私钥和哈希函数,生成所述区块链系统上所有用户的用户数字证书;
数字证书发送模块,用于所述区块链系统上用户A和用户B进行通信,若用户A需要对用户B进行验证,则用户A接收用户B发送的所述用户数字证书;
验证模块,用于用户A采用所述系统根证书对用户B的用户数字证书进行验证;
确定模块,用于若验证通过,则用户B为所述区块链系统上的合法用户;
其中,所述验证模块包括:
公钥获取单元,用于用户A在区块链系统上读取所述系统根证书,获取所述系统根证书的公钥;
解密单元单元,用于用户A采用与系统根证书生成用户数字证书时采用的相同的哈希函数,对用户B的用户数字证书的证书内容计算得到第一信息摘要;采用系统根证书的公钥对用户数字证书进行解密,计算出第二信息摘要;若第一信息摘要和第二信息摘要相同,则验证通过。
6.根据权利要求5所述的区块链系统上用户验证装置,其特征在于,所述根证书设置模块,包括:
根证书创建单元,用于通过权威认证节点创建一个包含所述系统根证书的交易;
交易发送单元,用于将所述交易发送到所述区块链系统上;
交易接收单元,用于基于所述区块链系统的共识机制,打包所述交易到当前所在区块中,所述区块链系统上所有用户得到当前所在区块,接受当前所在区块中的所述交易。
7.根据权利要求6所述的区块链系统上用户验证装置,其特征在于,所述根证书创建单元,用于通过权威认证节点创建一个键值对,所述键值对的键为key=ROOT,值为value=cert,其中,所述ROOT代表所述系统根证书的键,所述cert代表所述系统根证书的值。
8.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述区块链系统上用户验证方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述区块链系统上用户验证方法的步骤。
CN201810436851.9A 2018-05-09 2018-05-09 区块链系统上用户验证方法、装置、终端设备及存储介质 Active CN108737106B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810436851.9A CN108737106B (zh) 2018-05-09 2018-05-09 区块链系统上用户验证方法、装置、终端设备及存储介质
PCT/CN2018/095904 WO2019214068A1 (zh) 2018-05-09 2018-07-17 区块链系统上用户验证方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810436851.9A CN108737106B (zh) 2018-05-09 2018-05-09 区块链系统上用户验证方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN108737106A CN108737106A (zh) 2018-11-02
CN108737106B true CN108737106B (zh) 2021-06-01

Family

ID=63938068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810436851.9A Active CN108737106B (zh) 2018-05-09 2018-05-09 区块链系统上用户验证方法、装置、终端设备及存储介质

Country Status (2)

Country Link
CN (1) CN108737106B (zh)
WO (1) WO2019214068A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948348A (zh) * 2018-11-15 2019-06-28 陕西医链区块链集团有限公司 一种基于医疗区块链技术的身份证明系统及其使用方法
CN110086608B (zh) * 2019-03-21 2022-03-25 深圳壹账通智能科技有限公司 用户认证方法、装置、计算机设备及计算机可读存储介质
CN110163754B (zh) * 2019-04-26 2021-07-27 华中科技大学 Fabric区块链中实现铸币交易的方法、客户端、区块链及系统
CN112311547A (zh) * 2019-07-26 2021-02-02 南方电网科学研究院有限责任公司 一种基于国产密码技术的终端安全认证方法、装置
CN111130841B (zh) * 2019-11-21 2022-07-08 深圳壹账通智能科技有限公司 区块链网络部署方法、电子装置及计算机可读存储介质
CN111080296B (zh) * 2019-12-05 2023-12-01 深圳前海微众银行股份有限公司 一种基于区块链系统的验证方法及装置
CN111541724B (zh) 2020-07-08 2021-06-29 支付宝(杭州)信息技术有限公司 区块链一体机及其节点自动加入方法、装置
CN111541552B (zh) * 2020-07-08 2021-06-22 支付宝(杭州)信息技术有限公司 区块链一体机及其节点自动加入方法、装置
CN112491847B (zh) * 2020-07-08 2022-02-22 支付宝(杭州)信息技术有限公司 区块链一体机及其自动建链方法、装置
CN111818072B (zh) * 2020-07-16 2022-04-15 中国联合网络通信集团有限公司 数字证书的验证方法、用户节点及认证授权中心
CN116055069B (zh) * 2023-04-03 2023-06-27 北京微芯感知科技有限公司 一种基于区块链的分布式ca实现方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701609B (zh) * 2013-03-15 2016-09-28 福建联迪商用设备有限公司 一种服务器与操作终端双向认证的方法及系统
WO2017152150A1 (en) * 2016-03-04 2017-09-08 ShoCard, Inc. Method and system for authenticated login using static or dynamic codes
US20170346639A1 (en) * 2016-05-24 2017-11-30 Business Information Exchange System Corp. Public Key Infrastructure based on the Public Certificates Ledger
CN106301792B (zh) * 2016-08-31 2019-10-18 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
CN106504091B (zh) * 2016-10-27 2018-06-29 深圳壹账通智能科技有限公司 区块链上交易的方法及装置
CN106453636A (zh) * 2016-11-22 2017-02-22 深圳银链科技有限公司 可信区块生成方法及系统
CN106790234B (zh) * 2017-01-18 2018-09-04 维沃移动通信有限公司 一种邮件发送方法、接收方法、第一终端和第二终端
CN107426157B (zh) * 2017-04-21 2020-04-17 杭州趣链科技有限公司 一种基于数字证书以及ca认证体系的联盟链权限控制方法
CN107360001B (zh) * 2017-07-26 2021-12-14 创新先进技术有限公司 一种数字证书管理方法、装置和系统
CN107579817A (zh) * 2017-09-12 2018-01-12 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统
CN107888382B (zh) * 2017-11-24 2019-11-19 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种基于区块链的数字身份验证的方法、装置和系统

Also Published As

Publication number Publication date
WO2019214068A1 (zh) 2019-11-14
CN108737106A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108737106B (zh) 区块链系统上用户验证方法、装置、终端设备及存储介质
US20240007308A1 (en) Confidential authentication and provisioning
US11563567B2 (en) Secure shared key establishment for peer to peer communications
CN108377189B (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
US20190074968A1 (en) Method, apparatus and system for data encryption and decryption
US10116645B1 (en) Controlling use of encryption keys
US11070542B2 (en) Systems and methods for certificate chain validation of secure elements
CN110677240B (zh) 通过证书签发提供高可用计算服务的方法、装置及介质
US7526649B2 (en) Session key exchange
US10972272B2 (en) Providing high availability computing service by issuing a certificate
EP3779792B1 (en) Two-dimensional code generation method, data processing method, apparatus, and server
CN108696518B (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
CN109361508B (zh) 数据传输方法、电子设备及计算机可读存储介质
US11050570B1 (en) Interface authenticator
CN110958209B (zh) 基于共享密钥的双向认证方法及系统、终端
US10003467B1 (en) Controlling digital certificate use
CN109981287B (zh) 一种代码签名方法及其存储介质
WO2023083007A1 (zh) 物联网设备身份认证方法、装置、系统及存储介质
CN103546289A (zh) 一种基于USBKey的安全传输数据的方法及系统
EP2608477A1 (en) Trusted certificate authority to create certificates based on capabilities of processes
EP3133791B1 (en) Double authentication system for electronically signed documents
US20210306135A1 (en) Electronic device within blockchain based pki domain, electronic device within certification authority based pki domain, and cryptographic communication system including these electronic devices
CN108471403B (zh) 一种账户迁移的方法、装置、终端设备及存储介质
CN114268447B (zh) 一种文件传输方法、装置、电子设备和计算机可读介质
CN113271207A (zh) 基于移动电子签名的托管密钥使用方法、系统、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1255698

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant