CN111400727A - 区块链的访问控制方法和装置以及电子设备 - Google Patents

区块链的访问控制方法和装置以及电子设备 Download PDF

Info

Publication number
CN111400727A
CN111400727A CN201910005782.0A CN201910005782A CN111400727A CN 111400727 A CN111400727 A CN 111400727A CN 201910005782 A CN201910005782 A CN 201910005782A CN 111400727 A CN111400727 A CN 111400727A
Authority
CN
China
Prior art keywords
organization
identity information
block chain
information
transaction data
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
Application number
CN201910005782.0A
Other languages
English (en)
Other versions
CN111400727B (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.)
Cainiao Smart Logistics Holding Ltd
Original Assignee
Cainiao Smart Logistics Holding Ltd
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 Cainiao Smart Logistics Holding Ltd filed Critical Cainiao Smart Logistics Holding Ltd
Priority to CN201910005782.0A priority Critical patent/CN111400727B/zh
Priority to PCT/CN2020/070058 priority patent/WO2020140931A1/zh
Publication of CN111400727A publication Critical patent/CN111400727A/zh
Application granted granted Critical
Publication of CN111400727B publication Critical patent/CN111400727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明实施例提供了一种区块链的访问控制方法和装置以及电子设备。该方法包括:在待加入区块链的组织的本地设备上建立相关联的成员身份信息和组织身份信息;根据所述成员身份信息,对所述组织中的成员所产生的交易数据进行签名操作,生成签名信息;将所述交易数据、所述组织身份信息和所述签名信息传输至所述区块链中的公共节点或私有节点进行身份验证,及发送至区块链。本发明实施例通过为待加入区块链的组织及其成员建立相关联的组织身份信息和成员身份信息,实现组织的去中心化,在成员使用成员身份信息发起交易时,利用成员身份信息与组织身份信息的关联性,能够确定对应的组织身份信息,以对组织身份进行验证,进而实现对区块链的访问控制。

Description

区块链的访问控制方法和装置以及电子设备
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链的访问控制方法和装置以及电子设备。
背景技术
联盟链是区块链技术中的一种,是由若干组织或机构共同参与管理的区块链。在联盟链中,每个组织(机构)需要建设一个或多个私有节点,以便于其成员参与到联盟链中,因此,只有这些建立了私有节点的组织能够加入联盟链,不具有私有节点(没有能力建设或者不愿建设私有节点)、也不愿依附联盟链上其它具有私有节点的组织,则不具有加入该联盟链的资格。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:在现有技术中,为了使得不具有加入联盟链资格的组织的成员能够参与到联盟链中,私有节点设有认证中心,用于对隶属于不具有加入联盟链资格的组织的成员(用户)进行授权,只有获得授权的成员才能参与到联盟链中。
发明内容
本发明实施例提供一种区块链的访问控制方法和装置以及电子设备,以解决现有技术中组织成员访问联盟链时必须由组织授权的缺陷。
为达到上述目的,本发明实施例提供了一种区块链的访问控制方法,包括:
在待加入区块链的组织的本地设备上建立相关联的身份信息对,所述身份信息对包括成员身份信息和组织身份信息,其中,所述成员身份信息关联对应的组织身份信息;
根据所述成员身份信息,对所述组织中的成员所产生的交易数据进行签名操作,生成签名信息;
将所述交易数据、所述组织身份信息和所述签名信息传输至所述区块链中的公共节点或所述区块链中的私有节点,由所述公共节点或私有节点进行身份验证通过后,发送至所述区块链。
本发明实施例还提供了一种区块链的访问控制装置,包括:
身份信息建立模块,用于在待加入区块链的组织的本地设备上建立相关联的身份信息对,所述身份信息对包括成员身份信息和组织身份信息,其中,所述成员身份信息关联对应的组织身份信息;
签名信息生成模块,用于根据所述成员身份信息,对所述组织中的成员所产生的交易数据进行签名操作,生成签名信息;
访问控制模块,用于将所述交易数据、所述组织身份信息和所述签名信息传输至所述区块链中的公共节点或所述区块链中的私有节点,由所述公共节点或私有节点进行身份验证通过后,发送至所述区块链。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
在待加入区块链的组织的本地设备上建立相关联的身份信息对,所述身份信息对包括成员身份信息和组织身份信息,其中,所述成员身份信息关联对应的组织身份信息;
根据所述成员身份信息,对所述组织中的成员所产生的交易数据进行签名操作,生成签名信息;
将所述交易数据、所述组织身份信息和所述签名信息传输至所述区块链中的公共节点或所述区块链中的私有节点,由所述公共节点或私有节点进行身份验证通过后,发送至所述区块链。
本发明实施例提供的区块链的访问控制方法和装置以及电子设备,通过为待加入区块链的组织及其成员建立相关联的组织身份信息和成员身份信息,实现具有加入联盟链资格的组织的去中心化,无需具有加入联盟链资格的组织对不具有加入联盟链资格的组织的成员进行授权,在该成员使用成员身份信息发起交易时,利用成员身份信息与组织身份信息的关联性,能够确定对应的组织身份信息,以对组织身份进行验证,进而实现对区块链的访问控制。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的业务系统的系统框图;
图2为本发明提供的区块链的访问控制方法一个实施例的流程图;
图3为本发明提供的区块链的访问控制方法另一个实施例的流程图;
图4为本发明提供的区块链的访问控制装置一个实施例的结构示意图;
图5为本发明提供的区块链的访问控制装置另一个实施例的结构示意图;
图6为本发明提供的电子设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在现有的区块链技术中,只有建设私有节点的组织才能够加入联盟链,而不具有私有节点(没有能力建设,或者不愿建设私有节点)、也不愿依附联盟链上的其它具有私有节点的组织,则不具有加入联盟链的资格。为了使得不具有加入联盟链资格的组织的成员能够参与到联盟链中,私有节点设有认证中心,用于对隶属于不具有加入联盟链资格的组织的成员(用户)进行授权,只有获得授权的成员才能参与到联盟链中。因此,本申请提出了一种区块链的访问控制方案,其主要原理是:在区块链上设置公共节点,以及在待加入区块链的组织的本地设备上建立相关联的身份信息对,即,为组织建立组织身份信息,为组织中的成员建立成员身份信息,且成员身份信息关联对应的组织身份信息。在成员使用成员身份信息发起交易时,利用成员身份信息与组织身份信息的关联性,能够确定对应的组织身份信息,以对组织身份进行验证,进而实现对区块链的访问控制。因此,能够实现组织的去中心化,在成员访问区块链时,无需组织对成员进行授权。
需要说明的是,在本发明方案的以下描述中,私有节点是指,相关的具有加入联盟链资格的组织需要通过其私有节点对不具有加入联盟链资格的组织的成员进行授权、并通过该私有节点将组织成员发起的交易发往区块链。公共节点是指,相关的不具有加入联盟链资格的组织中的成员无需通过具有加入联盟链资格的组织的私有节点进行授权,而是通过该公共节点利用本发明方案所建立的相关联的身份信息对,来实现组织身份的验证,从而通过公共节点将不具有加入联盟链资格的组织的成员发起的交易发往区块链。进一步地,在本发明的方案中,节点可以分为两类:一类为有能力自建节点的组织所建立的节点(私有节点);另一类为针对没有能力建设或者不愿建设节点的组织,区块链服务提供方为这些组织建立的节点(公共节点)。在本发明的方案中,这两类节点的功能相同,均为利用相关联的身份信息对来实现组织身份的验证,并将组织的成员发起的交易发往区块链。
本发明实施例提供的方法可应用于任何应用于区块链的业务系统。图1为本发明实施例提供的业务系统的系统框图,图1所示的结构仅仅是本发明的技术方案可以应用的业务系统的示例之一。如图1所示,该业务系统中包括访问控制装置。该装置包括:身份信息建立模块、签名信息生成模块和访问控制模块,可以用来执行下述图2和图3所示的处理流程。在该业务系统中,首先,在待加入区块链的组织的本地设备上建立相关联的身份信息对,该身份信息对包括成员身份信息和组织身份信息,其中,成员身份信息关联对应的组织身份信息;在成员发起交易时,则根据上述身份信息对中的成员身份信息,对产生的交易数据进行签名操作,生成签名信息;然后,将所述交易数据、组织身份信息和签名信息传输至区块链中的公共节点或区块链中的私有节点,由公共节点或私有节点进行身份验证通过后,发送至区块链;最后,由区块链中相应节点对公共节点或私有节点发送的信息进行身份验证;当身份验证成功的节点数量大于或等于预设数目,将交易结果存储至区块链中的节点。
通过为待加入区块链的组织及其成员建立相关联的组织身份信息和成员身份信息,实现具有加入联盟链资格的组织的去中心化,无需具有加入联盟链资格的组织对不具有加入联盟链资格的组织的成员进行授权,在该成员使用成员身份信息发起交易时,利用成员身份信息与组织身份信息的关联性,能够确定出对应的组织身份信息,以对组织身份进行验证,进而实现对区块链的访问控制。
上述实施例是对本发明实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本发明实施例具体技术方案进行详细描述。
实施例一
图2为本发明提供的区块链的访问控制方法一个实施例的流程图,该方法的执行主体可以为上述业务系统,也可以为区块链服务提供方的服务器设备,也可以为集成在这些服务器设备上的装置或芯片。如图2所示,该区块链的访问控制方法包括如下步骤:
S201,在待加入区块链的组织的本地设备上建立相关联的身份信息对。
在本发明实施例中,首先,需要为待加入区块链的组织建立相关联的身份信息对。建立的身份信息对包括为该组织建立的组织身份信息,以及为该组织中的成员建立的成员身份信息,其中,成员身份信息关联对应的组织身份信息。
S202,根据成员身份信息,对该组织中的成员所产生的交易数据进行签名操作,生成签名信息。
在本发明实施例中,在该组织中的成员发起交易时,可以根据上述成员身份信息对产生的交易数据进行签名操作,从而生成签名信息。
S203,将交易数据、组织身份信息和签名信息传输至区块链中的公共节点或区块链中的私有节点,由公共节点或私有节点进行身份验证通过后,发送至区块链。
S204,由区块链中相应节点对公共节点或私有节点发送的信息进行身份验证。
S205,当身份验证成功的节点数量大于或等于预设数目,将交易结果存储至区块链中的节点。
本发明实施例提供的区块链的访问控制方法,通过为待加入区块链的组织及其成员建立相关联的组织身份信息和成员身份信息,实现具有加入联盟链资格的组织的去中心化,无需具有加入联盟链资格的组织对不具有加入联盟链资格的组织的成员进行授权,在成员使用成员身份信息发起交易时,利用成员身份信息与组织身份信息的关联性,能够确定对应的组织身份信息,以对组织身份进行验证,进而实现对区块链的访问控制。
实施例二
图3为本发明提供的区块链的访问控制方法另一个实施例的流程图。如图3所示,在上述图2所示实施例的基础上,为待加入区块链的组织及其成员所建立的相关联的身份信息对为非对称密钥对,其中,成员身份信息为非对称密钥对中的私钥,组织身份信息为非对称密钥对中的公钥。具体地,本实施例提供的区块链的访问控制方法还可以包括以下步骤:
S301,根据椭圆曲线加密算法,在待加入区块链的组织的本地设备上建立非对称密钥对。
在非对称加密算法中,非对称密钥对包括两个密钥:公开密钥(publickey,即,公钥)和私有密钥(privatekey,即,私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,则只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。本发明的方案,利用非对称密钥对中私钥能够确定对应的公钥的特性,采用非对称密钥对作为组织及其成员的身份信息对。
具体地,在本发明实施例中,可以采用椭圆曲线加密算法(Elliptic curvecryptography,简称:ECC),在待加入区块链的组织的本地设备上建立非对称密钥对,例如可以采用secp256k1算法。当然,在本发明的实施例中,也可以采用其它的加密算法得到非对称密钥对,例如,RSA算法、Elgamal算法、背包算法、Rabin算法、D-H算法等。
另外,在本发明实施例中,可以提前将组织的组织地址加入到区块链的白名单中,以便后续进行身份认证和准入许可。具体如下述步骤S302和S303所描述。
S302,根据非对称密钥对中的公钥,生成用于标识组织的组织地址。
S303,将组织地址注册到区块链的白名单中。
在本发明实施例中,公钥是为组织建立的组织身份信息,能够代表该组织的身份,因此,可以根据为组织分配的公钥来生成标识该组织的组织地址。
在这里需要说明的是:
若组织内有三个成员a、b、c;则
成员a对应的非对称密钥对为(私钥M1,公钥N1);
成员b对应的非对称密钥对为(私钥M2,公钥N2);
成员c对应的非对称密钥对为(私钥M3,公钥N3);
则在上述情况下,组织对应三个公钥。
因此,组织也可以对应一个或多个组织地址(由各个公钥经过计算获得)。
在本发明实施例中,可以首先计算公钥的哈希值,将公钥的哈希值与区块链的网络版本号组成的数组;然后,对该数组进行哈希计算,以得到校验码,并将该校验码添加到上述数组中;最后,将添加了校验码的数组进行地址编码,以生成组织地址。
具体地,在本发明实施例中,可以对公钥采用SHA-256算法处理得到32字节的哈希值,再用RIEPMD-160算法处理得到20字节的哈希值;然后,在20字节的哈希值的头部添加区块链的网络版本号,以组成21字节的数组;在对21字节的数组进行两次哈希计算后,将计算结果的前4个字节作为校验码添加到21字节的数组尾部,形成25字节的数组;最后,对该25字节的数组采用Base58算法进行编码,从而得到组织地址。
S304,计算交易数据的哈希值。
S305,根据私钥对交易数据的哈希值进行加密处理,并对加密处理结果进行编码,以生成签名信息。
在本发明实施例中,在组织中的成员发起交易时,根据私钥,对组织中的成员所产生的交易数据进行签名操作,以生成签名信息。可以首先计算交易数据的哈希值,然后,根据私钥对交易数据的哈希值进行加密处理,并对加密处理结果进行编码,从而生成签名信息。
具体地,在本发明实施例中,可以对交易数据进行SHA-256算法处理,以得到32字节的哈希值;然后,根据私钥对该32字节的哈希值采用椭圆曲线数字签名算法(EllipticCurve Digital Signature Algorithm;简称:ECDSA)中的secp256k1算法进行签名处理,并对签名处理结果做Base64编码,从而得到签名信息。
在本发明实施例中,将交易数据、组织身份信息和签名信息通过公共节点发送至区块链,以进行身份验证和访问控制的过程可以如下述步骤S306至S308所描述。
S306,根据交易数据和签名信息,生成身份验证公钥,并验证该生成的身份验证公钥与接收到的非对称密钥对中的公钥是否一致。
在本发明实施例中,可以根据交易数据和签名信息推导出身份验证公钥,并将该推导出的身份验证公钥与直接发送至公共节点的公钥进行一致性验证,如果一致则签名验证通过。可以首先对签名信息进行解码,并计算交易数据的哈希值;然后,根据解码后的签名信息和交易数据的哈希值,生成身份验证公钥。
具体地,在本发明实施例中,可以对签名信息进行Base64解码,并对交易数据进行SHA-256算法处理得到32字节的哈希值;然后,通过ECDSA secp256k1算法对解码后的签名信息和交易数据的哈希值进行处理,从而获取身份验证公钥。
S307,根据生成的身份验证公钥,生成身份验证地址,并验证该身份验证地址是否存在于白名单中。
在本发明实施例中,根据生成的身份验证公钥生成身份验证地址的操作与上述步骤S302中根据公钥生成组织地址的操作相同,在此不再赘述。在通过生成的身份验证公钥生成身份验证地址后,验证该身份验证地址是否存在于白名单中,以验证该组织在智能合约中的身份。
S308,根据生成的身份验证公钥对签名信息进行解密处理,并验证解密处理后的数据与交易数据的一致性。
在本发明实施例中,根据生成的身份验证公钥对签名信息进行解密处理,并验证解密处理后的数据与交易数据的一致性,从而验证组织发起的交易数据在区块链中是否归属该组织,以防止该组织操作其他组织的数据。
需要说明的是,在本发明实施例中,区块链上还可以设置有至少一个私有节点,私有节点具有认证中心(CA中心),可以用于对待通过该私有节点加入区块链的组织中的成员进行授权。也就是说,在本发明实施例中,有能力自建节点的组织,也可以通过自建的私有节点来进行成员授权,以及通过该私有节点将组织成员发起的交易发往区块链。
本发明实施例提供的区块链的访问控制方法,通过为待加入区块链的组织及其成员建立不对称密钥对,实现具有加入联盟链资格的组织的去中心化,无需具有加入联盟链资格的组织对不具有加入联盟链资格的组织的成员进行授权,在成员发起交易时,使用私钥对交易数据进行签名处理,利用私钥与公钥的关联性,根据交易数据和签名信息推到出代表组织身份的公钥,从而对组织身份进行验证,进而实现对区块链的访问控制。
实施例三
图4为本发明提供的区块链的访问控制装置一个实施例的结构示意图,可用于执行如图2所示的方法步骤。如图4所示,该区块链的访问控制装置可以包括:身份信息建立模块41、签名信息生成模块42和访问控制模块43。
其中,身份信息建立模块41可以用于在待加入区块链的组织的本地设备上建立相关联的身份信息对,该身份信息对包括成员身份信息和组织身份信息,其中,成员身份信息关联对应于组织身份信息;签名信息生成模块42可以用于根据成员身份信息,对组织中的成员所产生的交易数据进行签名操作,生成签名信息;访问控制模块43可以用于将交易数据、组织身份信息和签名信息传输至区块链中的公共节点或区块链中的私有节点,由公共节点或私有节点进行身份验证通过后,发送至区块链。
在本发明实施例中,首先,需要由身份信息建立模块41为待加入区块链的组织建立相关联的身份信息对。建立的身份信息对包括为组织建立的组织身份信息,以及为组织中的成员建立的成员身份信息。在组织中的成员发起交易时,签名信息生成模块42则可以根据上述身份信息建立模块41生成的成员身份信息对产生的交易数据进行签名操作,从而生成签名信息。访问控制模块43可以将组织成员产生的交易数据、身份信息建立模块41为组织成员建立的成员身份信息以及上述签名信息生成模块42生成的签名信息,一起传输至区块链中的公共节点或私有节点,由公共节点或私有节点进行身份验证通过后,发送至区块链。
本发明实施例提供的区块链的访问控制装置,通过为待加入区块链的组织及其成员建立相关联的组织身份信息和成员身份信息,实现具有加入联盟链资格的组织的去中心化,无需具有加入联盟链资格的组织对不具有加入联盟链资格的组织的成员进行授权,在成员使用成员身份信息发起交易时,利用成员身份信息与组织身份信息的关联性,能够确定对应的组织身份信息,以对组织身份进行验证,进而实现对区块链的访问控制。
实施例四
图5为本发明提供的区块链的访问控制装置另一个实施例的结构示意图,可以用于执行如图3所示的方法步骤。如图5所示,在上述图4所示实施例的基础上,本发明实施例提供的区块链的访问控制装置还可以包括:身份验证模块53和发送模块54。
其中,身份验证模块53设置于区块链中相应节点中,用于对公共节点或私有节点发送的信息进行身份验证;发送模块54用于当身份验证成功的节点数量大于或等于预设数目,将交易结果存储至区块链中的节点。
另外,身份信息建立模块41为待加入区块链的组织及其成员所建立的相关联的身份信息对为非对称密钥对,其中,成员身份信息为非对称密钥对中的私钥,组织身份信息为非对称密钥对中的公钥。
具体地,本发明实施例提供的区块链的访问控制装置中,身份信息建立模块41可以具体用于根据椭圆曲线加密算法,在待加入区块链的组织的本地设备上建立非对称密钥对。
在非对称加密算法中,非对称密钥对包括两个密钥:公开密钥(publickey,即,公钥)和私有密钥(privatekey,即,私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,则只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。本发明的方案中,身份信息建立模块41利用非对称密钥对中私钥能够确定对应的公钥的特性,采用非对称密钥对作为组织及其成员的身份信息对。
具体地,在本发明实施例中,身份信息建立模块41可以采用ECC,在待加入区块链的组织的本地设备上建立非对称密钥对,例如可以采用secp256k1算法。当然,在本发明的实施例中,也可以采用其它的加密算法得到非对称密钥对,例如,RSA算法、Elgamal算法、背包算法、Rabin算法、D-H算法等。
另外,本发明实施例提供的区块链的访问控制装置还可以包括:地址生成模块51和注册模块52。
其中,地址生成模块51可以用于根据非对称密钥对中的公钥,生成用于标识组织的组织地址;注册模块52可以用于将组织地址注册到区块链的白名单中。
在本发明实施例中,公钥是身份信息建立模块41为组织建立的组织身份信息,能够代表该组织的身份,因此,地址生成模块51可以根据为组织分配的公钥来生成标识该组织的组织地址。地址生成模块51可以首先计算公钥的哈希值,将公钥的哈希值与区块链的网络版本号组成的数组;然后,对该数组进行哈希计算,以得到校验码,并将该校验码添加到上述数组中;最后,将添加了校验码的数组进行地址编码,以生成组织地址。
具体地,在本发明实施例中,地址生成模块51可以对公钥采用SHA-256算法处理得到32字节的哈希值,再用RIEPMD-160算法处理得到20字节的哈希值;然后,在20字节的哈希值的头部添加区块链的网络版本号,以组成21字节的数组;在对21字节的数组进行两次哈希计算后,将计算结果的前4个字节作为校验码添加到21字节的数组尾部,形成25字节的数组;最后,对该25字节的数组采用Base58算法进行编码,从而得到组织地址。
另外,在本发明实施例中,在组织中的成员发起交易时,签名信息生成模块42可以首先计算交易数据的哈希值,然后,根据私钥对交易数据的哈希值进行加密处理,并对加密处理结果进行编码,从而生成签名信息。
具体地,在本发明实施例中,签名信息生成模块42可以对交易数据进行SHA-256算法处理,以得到32字节的哈希值;然后,根据私钥对该32字节的哈希值采用ECDSA中的secp256k1算法进行签名处理,并对签名处理结果做Base64编码,从而得到签名信息。
进一步地,访问控制模块43可以具体用于在公共节点上,根据交易数据和签名信息,生成身份验证公钥,并验证该生成的身份验证密钥与接收的非对称密钥对中的公钥的是否一致;用于根据生成的身份验证公钥,生成身份验证地址,并验证该身份验证地址是否存在于白名单中;以及,用于根据生成的身份验证公钥对签名信息进行解密处理,并验证解密处理后的数据与交易数据的一致性。
在本发明实施例中,访问控制模块43可以根据交易数据和签名信息推导出身份验证公钥,并将该推到出的身份验证密钥与直接发送至公共节点的公钥进行一致性验证,如果一致则签名验证通过。访问控制模块43可以首先对签名信息进行解码,并计算交易数据的哈希值;然后,根据解码后的签名信息和交易数据的哈希值,生成身份验证公钥。
具体地,在本发明实施例中,访问控制模块43可以对签名信息进行Base64解码,并对交易数据进行SHA-256算法处理得到32字节的哈希值;然后,通过ECDSA secp256k1算法对解码后的签名信息和交易数据的哈希值进行处理,从而获取身份验证公钥。
在本发明实施例中,访问控制模块43根据公钥生成身份验证地址的过程与上述地址生成模块51根据公钥生成组织地址的操作相同,在此不再赘述。在通过公钥生成身份验证地址后,访问控制模块43验证该身份验证地址是否存在于白名单中,以验证该组织在智能合约中的身份。然后,访问控制模块43还可以根据生成的身份验证公钥对签名信息进行解密处理,并验证解密处理后的数据与交易数据的一致性,从而验证组织发起的交易数据在区块链中是否归属该组织,以防止该组织操作其他组织的数据。
需要说明的是,在本发明实施例中,区块链上还可以设置有至少一个私有节点,私有节点具有认证中心,可以用于对待通过该私有节点加入区块链的组织中的成员进行授权。也就是说,在本发明实施例中,有能力自建节点的组织,也可以通过自建的私有节点来进行成员授权,以及通过该私有节点将组织成员发起的交易发往区块链。
本发明实施例提供的区块链的访问控制装置,通过为待加入区块链的组织及其成员建立不对称密钥对,实现具有加入联盟链资格的组织的去中心化,无需具有加入联盟链资格的组织对不具有加入联盟链资格的组织的成员进行授权,在成员发起交易时,使用私钥对交易数据进行签名处理,利用私钥与公钥的关联性,根据交易数据和签名信息推到出代表组织身份的公钥,从而对组织身份进行验证,进而实现对区块链的访问控制。
实施例五
以上描述了区块链的访问控制装置的内部功能和结构,该装置可实现为一种电子设备。图6为本发明提供的电子设备实施例的结构示意图。如图6所示,该电子设备包括存储器61和处理器62。
存储器61,用于存储程序。除上述程序之外,存储器61还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器62,与存储器61耦合,执行存储器61所存储的程序,以用于:
在待加入区块链的组织的本地设备上建立相关联的身份信息对,该身份信息对包括成员身份信息和组织身份信息,其中,成员身份信息关联对应于组织身份信息;
根据成员身份信息,对该组织中的成员所产生的交易数据进行签名操作,生成签名信息;
将交易数据、组织身份信息和签名信息通过传输至区块链中的公共节点或区块链中的私有节点,由公共节点或私有节点进行身份验证通过后,发送至区块链。
进一步,如图6所示,电子设备还可以包括:通信组件63、电源组件64、音频组件65、显示器66等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
通信组件63被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件63经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件63还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件64,为电子设备的各种组件提供电力。电源组件64可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件65被配置为输出和/或输入音频信号。例如,音频组件65包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器61或经由通信组件63发送。在一些实施例中,音频组件65还包括一个扬声器,用于输出音频信号。
显示器66包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (21)

1.一种区块链的访问控制方法,其特征在于,所述方法包括:
在待加入区块链的组织的本地设备上建立相关联的身份信息对,所述身份信息对包括成员身份信息和组织身份信息,其中,所述成员身份信息关联对应的组织身份信息;
根据所述成员身份信息,对所述组织中的成员所产生的交易数据进行签名操作,生成签名信息;
将所述交易数据、所述组织身份信息和所述签名信息传输至所述区块链中的公共节点或所述区块链中的私有节点,由所述公共节点或私有节点进行身份验证通过后,发送至所述区块链。
2.根据权利要求1所述的区块链的访问控制方法,其特征在于,还包括:
由所述区块链中相应节点对所述公共节点或私有节点发送的信息进行身份验证;
当身份验证成功的节点数量大于或等于预设数目,将交易结果存储至所述区块链中的节点。
3.根据权利要求1所述的区块链的访问控制方法,其特征在于,所述身份信息对为非对称密钥对,所述成员身份信息为所述非对称密钥对中的私钥,所述组织身份信息为所述非对称密钥对中的公钥。
4.根据权利要求3所述的区块链的访问控制方法,其特征在于,所述在待加入区块链的组织的本地设备上建立相关联的身份信息对,包括:
根据椭圆曲线加密算法,在待加入区块链的组织的本地设备上建立所述非对称密钥对。
5.根据权利要求3所述的区块链的访问控制方法,其特征在于,还包括:
根据所述非对称密钥对中的公钥,生成用于标识所述组织的组织地址;
将所述组织地址注册到所述区块链的白名单中。
6.根据权利要求5所述的区块链的访问控制方法,其特征在于,所述根据所述非对称密钥对中的公钥,生成用于标识所述组织的组织地址,包括:
计算所述公钥的哈希值;
将所述公钥的哈希值与所述区块链的网络版本号组成的数组;
对所述数组进行哈希计算,以得到校验码;
将所述校验码添加到所述数组中;
将添加了所述校验码的数组进行地址编码,以生成所述组织地址。
7.根据权利要求3所述的区块链的访问控制方法,其特征在于,所述根据所述成员身份信息,对所述组织中的成员所产生的交易数据进行签名操作,生成签名信息,包括:
计算所述交易数据的哈希值;
根据所述私钥对所述交易数据的哈希值进行加密处理,并对加密处理结果进行编码,以生成所述签名信息。
8.根据权利要求5所述的区块链的访问控制方法,其特征在于,还包括:
根据所述交易数据和所述签名信息,生成身份验证公钥,并验证生成的身份验证公钥与接收的非对称密钥对中的公钥是否一致;
根据所述生成的身份验证公钥,生成身份验证地址,并验证所述身份验证地址是否存在于所述白名单中;
根据所述生成的身份验证公钥对所述签名信息进行解密处理,并验证解密处理后的数据与所述交易数据的一致性。
9.根据权利要求8所述的区块链的访问控制方法,其特征在于,所述根据所述交易数据和所述签名信息,生成身份验证公钥,包括:
对所述签名信息进行解码;
计算所述交易数据的哈希值;
根据解码后的签名信息和所述交易数据的哈希值,生成所述身份验证公钥。
10.根据权利要求1至9中任一权利要求所述的区块链的访问控制方法,其特征在于,所述私有节点具有认证中心,用于对待通过所述私有节点加入区块链的组织中的成员进行授权。
11.一种区块链的访问控制装置,其特征在于,所述装置包括:
身份信息建立模块,用于在待加入区块链的组织的本地设备上建立相关联的身份信息对,所述身份信息对包括成员身份信息和组织身份信息,其中,所述成员身份信息关联对应的组织身份信息;
签名信息生成模块,用于根据所述成员身份信息,对所述组织中的成员所产生的交易数据进行签名操作,生成签名信息;
访问控制模块,用于将所述交易数据、所述组织身份信息和所述签名信息传输至所述区块链中的公共节点或所述区块链中的私有节点,由所述公共节点或私有节点进行身份验证通过后,发送至所述区块链。
12.根据权利要求11所述的区块链的访问控制装置,其特征在于,还包括:
身份验证模块,设置于所述区块链中相应节点中,用于对所述公共节点或私有节点发送的信息进行身份验证;
发送模块,用于当身份验证成功的节点数量大于或等于预设数目,将交易结果存储至所述区块链中的节点。
13.根据权利要求11所述的区块链的访问控制装置,其特征在于,所述身份信息对为非对称密钥对,所述成员身份信息为所述非对称密钥对中的私钥,所述组织身份信息为所述非对称密钥对中的公钥。
14.根据权利要求13所述的区块链的访问控制装置,其特征在于,所述身份信息建立模块具体用于,根据椭圆曲线加密算法,在待加入区块链的组织的本地设备上建立所述非对称密钥对。
15.根据权利要求13所述的区块链的访问控制装置,其特征在于,还包括:
地址生成模块,用于根据所述非对称密钥对中的公钥,生成用于标识所述组织的组织地址;
注册模块,用于将所述组织地址注册到所述区块链的白名单中。
16.根据权利要求15所述的区块链的访问控制装置,其特征在于,所述地址生成模块,具体用于计算所述公钥的哈希值;用于将所述公钥的哈希值与所述区块链的网络版本号组成的数组;用于对所述数组进行哈希计算,以得到校验码;用于将所述校验码添加到所述数组中;以及,用于将添加了所述校验码的数组进行地址编码,以生成所述组织地址。
17.根据权利要求13所述的区块链的访问控制装置,其特征在于,所述签名信息生成模块,具体用于计算所述交易数据的哈希值;以及,用于根据所述私钥对所述交易数据的哈希值进行加密处理,并对加密处理结果进行编码,以生成所述签名信息。
18.根据权利要求15所述的区块链的访问控制装置,其特征在于,所述访问控制模块,具体用于在所述公共节点上,根据所述交易数据和所述签名信息,生成身份验证公钥,并验证生成的身份验证公钥与接收的非对称密钥对中的公钥是否一致;用于根据所述生成的身份验证公钥,生成身份验证地址,并验证所述身份验证地址是否存在于所述白名单中;以及,用于根据所述生成的身份验证公钥对所述签名信息进行解密处理,并验证解密处理后的数据与所述交易数据的一致性。
19.根据权利要求18所述的区块链的访问控制装置,其特征在于,所述访问控制模块在根据所述交易数据和所述签名信息,生成身份验证公钥时,具体用于对所述签名信息进行解码,计算所述交易数据的哈希值,以及,根据解码后的签名信息和所述交易数据的哈希值,生成所述身份验证公钥。
20.根据权利要求11至19中任一权利要求所述的区块链的访问控制装置,其特征在于,所述私有节点具有认证中心,用于对待通过所述私有节点加入区块链的组织中的成员进行授权。
21.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
在待加入区块链的组织的本地设备上建立相关联的身份信息对,所述身份信息对包括成员身份信息和组织身份信息,其中,所述成员身份信息关联对应的组织身份信息;
根据所述成员身份信息,对所述组织中的成员所产生的交易数据进行签名操作,生成签名信息;
将所述交易数据、所述组织身份信息和所述签名信息传输至所述区块链中的公共节点或所述区块链中的私有节点,由所述公共节点或私有节点进行身份验证通过后,发送至所述区块链。
CN201910005782.0A 2019-01-03 2019-01-03 区块链的访问控制方法和装置以及电子设备 Active CN111400727B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910005782.0A CN111400727B (zh) 2019-01-03 2019-01-03 区块链的访问控制方法和装置以及电子设备
PCT/CN2020/070058 WO2020140931A1 (zh) 2019-01-03 2020-01-02 区块链的访问控制方法和装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910005782.0A CN111400727B (zh) 2019-01-03 2019-01-03 区块链的访问控制方法和装置以及电子设备

Publications (2)

Publication Number Publication Date
CN111400727A true CN111400727A (zh) 2020-07-10
CN111400727B CN111400727B (zh) 2023-08-22

Family

ID=71407164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910005782.0A Active CN111400727B (zh) 2019-01-03 2019-01-03 区块链的访问控制方法和装置以及电子设备

Country Status (2)

Country Link
CN (1) CN111400727B (zh)
WO (1) WO2020140931A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822687B (zh) * 2020-12-31 2023-03-24 山西特信环宇信息技术有限公司 一种锥体区块链移动终端认证方法
CN112925846A (zh) * 2021-01-18 2021-06-08 迅鳐成都科技有限公司 基于区块链与身份认证的历史操作追溯方法及系统
CN113904854B (zh) * 2021-10-13 2024-01-02 筹远(上海)信息科技有限公司 一种基于商密算法的区块链数据加密方法及装置
CN114039753B (zh) * 2021-10-27 2024-03-12 中国联合网络通信集团有限公司 一种访问控制方法、装置、存储介质及电子设备
CN114499952B (zh) * 2021-12-23 2024-04-09 中电科大数据研究院有限公司 一种联盟链共识身份认证方法
CN114499883A (zh) * 2022-02-09 2022-05-13 浪潮云信息技术股份公司 基于区块链和sm9算法的跨组织身份认证方法及系统
CN114465815B (zh) * 2022-03-15 2022-11-08 浙江大学 一种基于区块链和sgx的访问权限控制系统及方法
CN114760065B (zh) * 2022-03-24 2024-03-19 北京邮电大学 一种在线学习平台教学资源共享的访问控制方法及装置
CN115174076B (zh) * 2022-07-25 2024-04-12 广东科学技术职业学院 基于联盟链技术的私有寻踪及边缘计算网络的构建方法
CN117499159B (zh) * 2023-12-27 2024-03-26 杭州字节方舟科技有限公司 一种基于区块链的数据交易方法、装置及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150356523A1 (en) * 2014-06-07 2015-12-10 ChainID LLC Decentralized identity verification systems and methods
US20170180367A1 (en) * 2015-12-16 2017-06-22 ClearChat, Inc. System And Method For Encrypted And Authenticated Electronic Messaging Using A Central Address Book
CN107079037A (zh) * 2016-09-18 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的身份认证方法、装置、节点及系统
CN107547514A (zh) * 2017-07-17 2018-01-05 招商银行股份有限公司 身份认证方法、系统及计算机可读存储介质
CN108009825A (zh) * 2017-11-29 2018-05-08 江苏安凰领御科技有限公司 一种基于区块链技术的身份管理系统及方法
CN108270571A (zh) * 2017-12-08 2018-07-10 西安电子科技大学 基于区块链的物联网身份认证系统及其方法
CN108768988A (zh) * 2018-05-17 2018-11-06 深圳前海微众银行股份有限公司 区块链访问控制方法、设备及计算机可读存储介质
CN108777684A (zh) * 2018-05-30 2018-11-09 招商银行股份有限公司 身份认证方法、系统及计算机可读存储介质
CN108833114A (zh) * 2018-06-13 2018-11-16 上海交通大学 一种基于区块链的去中心化身份认证系统及方法
CN109039655A (zh) * 2018-09-13 2018-12-18 全链通有限公司 基于区块链的实名身份认证方法及装置、身份区块链

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790253A (zh) * 2017-01-25 2017-05-31 中钞信用卡产业发展有限公司北京智能卡技术研究院 基于区块链的认证方法和装置
CN108665359B (zh) * 2017-03-29 2020-08-18 中国移动通信有限公司研究院 区块链处理方法、记账节点及验证节点
CN107493273B (zh) * 2017-08-02 2020-10-16 深圳市易成自动驾驶技术有限公司 身份认证方法、系统及计算机可读存储介质
CN109067521A (zh) * 2018-07-27 2018-12-21 天津大学 一种基于区块链的公钥分发方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150356523A1 (en) * 2014-06-07 2015-12-10 ChainID LLC Decentralized identity verification systems and methods
US20170180367A1 (en) * 2015-12-16 2017-06-22 ClearChat, Inc. System And Method For Encrypted And Authenticated Electronic Messaging Using A Central Address Book
CN107079037A (zh) * 2016-09-18 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的身份认证方法、装置、节点及系统
CN107547514A (zh) * 2017-07-17 2018-01-05 招商银行股份有限公司 身份认证方法、系统及计算机可读存储介质
CN108009825A (zh) * 2017-11-29 2018-05-08 江苏安凰领御科技有限公司 一种基于区块链技术的身份管理系统及方法
CN108270571A (zh) * 2017-12-08 2018-07-10 西安电子科技大学 基于区块链的物联网身份认证系统及其方法
CN108768988A (zh) * 2018-05-17 2018-11-06 深圳前海微众银行股份有限公司 区块链访问控制方法、设备及计算机可读存储介质
CN108777684A (zh) * 2018-05-30 2018-11-09 招商银行股份有限公司 身份认证方法、系统及计算机可读存储介质
CN108833114A (zh) * 2018-06-13 2018-11-16 上海交通大学 一种基于区块链的去中心化身份认证系统及方法
CN109039655A (zh) * 2018-09-13 2018-12-18 全链通有限公司 基于区块链的实名身份认证方法及装置、身份区块链

Also Published As

Publication number Publication date
WO2020140931A1 (zh) 2020-07-09
CN111400727B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CN111400727B (zh) 区块链的访问控制方法和装置以及电子设备
CN108564353B (zh) 基于区块链的支付系统及方法
US10142107B2 (en) Token binding using trust module protected keys
CN108809646B (zh) 安全共享密钥共享系统
CN110299996B (zh) 认证方法、设备及系统
CN101828357B (zh) 用于证书提供的方法和装置
CN112751665A (zh) 一种安全多方计算方法、设备、系统及存储介质
CN108566381A (zh) 一种安全升级方法、装置、服务器、设备和介质
US10999260B1 (en) Secure messaging between cryptographic hardware modules
CN111294203B (zh) 信息传输方法
WO2015161689A1 (zh) 一种基于协商密钥的数据处理方法
CN114900304B (zh) 数字签名方法和装置、电子设备和计算机可读存储介质
CN111931209B (zh) 基于零知识证明的合同信息验证方法及装置
CN112766962A (zh) 证书的接收、发送方法及交易系统、存储介质、电子装置
US20210241270A1 (en) System and method of blockchain transaction verification
CN111723384B (zh) 数据处理方法、系统及设备
US20220337570A1 (en) System and method for distributed, keyless electronic transactions with authentication
CN111709747B (zh) 智能终端认证方法及系统
WO2023207113A1 (zh) 一种设备互联安全认证系统、方法、装置、服务器及介质
CN106982123B (zh) 一种单向加密电子签名方法及系统
CN109697603A (zh) 电子印章的保护方法、装置、设备及介质
NL1043779B1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
CN112039670B (zh) 后量子增强加密通道构建方法、装置及系统
CN107682380A (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
GR01 Patent grant
GR01 Patent grant