CN115208637B - 区块链智能合约的访问控制方法 - Google Patents

区块链智能合约的访问控制方法 Download PDF

Info

Publication number
CN115208637B
CN115208637B CN202210719360.1A CN202210719360A CN115208637B CN 115208637 B CN115208637 B CN 115208637B CN 202210719360 A CN202210719360 A CN 202210719360A CN 115208637 B CN115208637 B CN 115208637B
Authority
CN
China
Prior art keywords
user
contract
transaction request
attribute
access control
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
CN202210719360.1A
Other languages
English (en)
Other versions
CN115208637A (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.)
Beijing Liandao Technology Co ltd
Original Assignee
Beijing Liandao Technology Co 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 Beijing Liandao Technology Co ltd filed Critical Beijing Liandao Technology Co ltd
Priority to CN202210719360.1A priority Critical patent/CN115208637B/zh
Publication of CN115208637A publication Critical patent/CN115208637A/zh
Application granted granted Critical
Publication of CN115208637B publication Critical patent/CN115208637B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/3247Cryptographic 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种区块链智能合约的访问控制方法,在区块链节点中设置用户系统合约,通过用户系统合约实现用户注册并对用户属性进行管理,根据实际需要编写智能合约并部署在区块链节点上,智能合约中编写基于用户属性信息的访问控制判断方法,区块链节点在接收到业务系统发送的交易请求后,根据交易请求中携带的用户信息进行用户身份验证,验证通过后由目标智能合约进行用户鉴权,鉴权通过后目标智能合约对交易请求进行执行,如果用户身份验证或用户鉴权未通过则终止交易并将此交易标记为无效交易。本发明将访问控制判断方法放置在目标智能合约端,提供灵活的访问控制,在复杂的业务场景便于区块链和业务系统间的对接和需求实现。

Description

区块链智能合约的访问控制方法
技术领域
本发明属于区块链技术领域,更为具体地讲,涉及一种区块链智能合约的访问控制方法。
背景技术
在区块链的实际应用中,时常需要对接外部业务系统。图1是区块链对接外部业务系统的场景示意图。如图1所示,业务系统承载了实际场景的业务逻辑,如溯源、存证、各类交易等。区块链节点可以是区块链P2P网络中任意的一个节点,每个节点都存储了完整的区块链账本,且各自管控了网络中已部署、启动的智能合约。智能合约是外部业务系统与区块链账本交互的入口,来自业务系统的请求会由区块链节点根据请求携带的调用合约的名称、版本、方法名、参数等信息,转发至对应的合约中调用指定方法以实现业务逻辑。
随着区块链的推广及应用,区块链系统所对接的业务系统愈加复杂。智能合约作为区块链系统中承载业务的关键模块,除了提供图灵完备的编程能力外,还需要提供灵活可靠的访问控制机制,以支持日渐复杂的实际业务需求。由于外部系统所使用的权限系统模式众多,区块链系统需要能够灵活支持各类的访问控制。智能合约作为外部系统与区块链进行数据交互的入口,提供了可编写的逻辑调用能力,使得外部系统可对链上数据进行查询与修改操作。目前对于智能合约的访问控制一部分是对合约本身的调用权限进行管控,由于控制的粒度是整个合约而非某个具体方法,在复杂场景下缺少灵活性。另一部分是将鉴权过程放在系统中内置的合约或直接由节点完成,而非在目标调用合约中完成,因此合约开发阶段无法明确方法的访问控制规则,增加了额外的规则指定流程。
发明内容
本发明的目的在于克服现有技术的不足,提供一种区块链智能合约的访问控制方法,将访问控制判断方法放置在目标智能合约端,提供灵活的访问控制,在复杂的业务场景便于区块链和业务系统间的对接和需求实现。
为了实现上述发明目的,本发明区块链智能合约的访问控制方法包括以下步骤:
S1:在区块链节点中设置用户系统合约,通过用户系统合约实现用户注册并对用户属性进行管理,在用户注册时设备用户的唯一标识、用户公钥以及用户的属性信息,业务管理员设置用户属性权限,用户的属性信息通过系统合约调用和节点共识流程最终存储在区块链账本上;
S2:根据实际需要编写智能合约并部署在区块链节点上,智能合约中编写基于用户属性信息的访问控制判断方法;
S3:区块链节点在接收到业务系统发送的交易请求后,解析交易请求中携带的用户唯一标识,以及用户私钥对交易请求数据的签名;
S4:区块链节点调用用户系统合约对用户身份进行验证,具体方法为:用户系统合约根据用户唯一标识,获取用户注册的公钥并采用公钥对交易请求数据的签名进行验证,如果验证未通过,进入步骤S7,如果验证通过,则获取该用户的属性信息并将属性信息整合至交易请求中,将整合后的交易请求发送至目标智能合约,进入步骤S5;
S5:目标智能合约接收到整合交易请求后,进行调用鉴权,具体方法如下:合约端SDK从整合交易请求中提取出用户的属性信息,然后采用目标合约中编写的访问控制判断方法根据用户属性信息对用户进行鉴权,如果鉴权不通过,进入步骤S7,如果鉴权通过,则进入步骤S6;
S6:目标智能合约对交易请求进行执行,将执行结果反馈至区块链节点,进行全网共识并记录至各区块链节点的账本中;
S7:区块链节点终止交易终止,将此交易标记为无效交易,然后向业务系统反馈提示消息。
本发明区块链智能合约的访问控制方法,在区块链节点中设置用户系统合约,通过用户系统合约对用户注册并对用户属性进行管理,根据实际需要编写智能合约并部署在区块链节点上,智能合约中编写基于用户属性信息的访问控制判断方法,区块链节点在接收到业务系统发送的交易请求后,根据交易请求中携带的用户信息进行用户身份验证,验证通过后由目标智能合约进行用户鉴权,鉴权通过后目标智能合约对交易请求进行执行,如果用户身份验证或用户鉴权未通过则终止交易并将此交易标记为无效交易。
本发明在区块链节点中设置用户系统合约进行用户属性管理,将基于用户属性信息的访问控制判断方法设置在智能合约端,从而使得智能合约开发者能够根据自身情况灵活设置智能合约的访问控制方法,在复杂的业务场景便于区块链和业务系统间的对接和需求实现。
附图说明
图1是区块链对接外部业务系统的场景示意图;
图2是本发明区块链智能合约的访问控制方法的具体实施方式流程图;
图3是本实施例中用户属性结构示意图;
图4是本实施例中目标智能合约对用户调用鉴权的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图2是本发明区块链智能合约的访问控制方法的具体实施方式流程图。如图2所示,本发明区块链智能合约的访问控制方法的具体步骤包括:
S201:用户注册与管理:
在区块链节点中设置用户系统合约,通过用户系统合约实现用户注册并对用户属性进行管理,在用户注册时设备用户的唯一标识、用户公钥以及用户的属性信息,业务管理员设置用户属性权限,用户的属性信息通过系统合约调用和节点共识流程最终存储在区块链账本上。
在本发明中,用户系统合约只提供用户属性的管理能力,不设置具体的权限或访问控制规则。在用户注册时,可以先为用户初始化相关属性值,注册成功后,业务管理员可以对指定用户的属性进行增加、更新、删除操作。图3是本实施例中用户属性结构示意图。如图3所示,本实施例中用户属性采用key-value结构,根据是否拥有某个key或指定key的是否具有某个值来代表用户的访问控制权限。用户属性管理的具体操作包括:
1)用户注册:业务管理员为新用户进行注册,注册携带用户的唯一标识、用户公钥以及用户的属性信息。
2)用户属性添加:业务管理员指定用户唯一标识,指定属性的key值和value值,向指定用户添加此条key-value属性。
3)用户属性更新:业务管理员指定用户唯一标识,指定属性的key值和value值,向指定用户更新该key值的value值。
4)用户属性删除:业务管理员指定用户唯一标识,指定属性的key值将指定用户的指定key属性删除。
S202:合约部署:
根据实际需要编写智能合约并部署在区块链节点上,智能合约中编写基于用户属性信息的访问控制判断方法。
本发明将访问控制判断方法设置在智能合约端,合约开发者在在智能合约开发阶段确定该智能合约的调用限制,通过编写合约代码制定访问控制的规则,从而根据自身情况灵活设置智能合约的访问控制方法,无需通过区块链节点进行操作。
S203:接收交易请求:
一般来说,接入区块链系统的业务系统可能是溯源、存证、各类交易等实际业务场景的系统。而区块链系统用户与业务系统用户之间存在对应关系。从业务系统发往区块链的交易请求中除了包含调用智能合约的必要信息外,还包括用户唯一标识,以及用户私钥对交易请求数据的签名等信息。因此,本发明中区块链节点在接收到业务系统发送的交易请求后,解析交易请求中携带的用户唯一标识,以及用户私钥对交易请求数据的签名。
S204:用户身份验证:
区块链节点调用用户系统合约对用户身份进行验证,具体方法为:用户系统合约根据用户唯一标识,获取用户注册的公钥并采用公钥对交易请求数据的签名进行验证,如果验证未通过,进入步骤S207,如果验证通过,则获取该用户的属性信息并将属性信息整合至交易请求中,将整合后的交易请求发送至目标智能合约,进入步骤S205。
S205:调用鉴权:
目标智能合约接收到整合交易请求后,进行调用鉴权,具体方法如下:合约端SDK(Software Development Kit,软件开发工具包)从整合交易请求中提取出用户的属性信息,然后采用目标合约中编写的访问控制判断方法根据用户属性信息对用户进行鉴权,如果鉴权不通过,进入步骤S207,如果鉴权通过,则进入步骤S206。
可见,本发明中由目标智能合约对用户调用进行鉴权。图4是本实施例中目标智能合约对用户调用鉴权的流程图。如图4所示,目标智能合约对用户调用鉴权一般有2种方式,第一种是根据用户属性信息中是否包含指定的key值来判断是否具有调用此目标智能合约的权限,第二种是根据用户属性信息中包含的某个key值对应的value差异执行不同敏感度的查询或插入操作。借助上述合约端可扩展的访问控制编写逻辑,灵活提供各类访问规则。上述流程仅为示意性的简化描述,实际应用中时可以采用另外的实现方式。
S206:交易执行:
目标智能合约对交易请求进行执行,将执行结果反馈至区块链节点,进行全网共识并记录至各区块链节点的账本中。
S207:无效交易标记:
区块链节点终止交易终止,将此交易标记为无效交易,然后向业务系统反馈提示消息。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (2)

1.一种区块链智能合约的访问控制方法,其特征在于,包括以下步骤:
S1:在区块链节点中设置用户系统合约,通过用户系统合约实现用户注册并对用户属性进行管理,在用户注册时设置用户的唯一标识、用户公钥以及用户的属性信息,业务管理员设置用户属性权限,用户的属性信息通过系统合约调用和节点共识流程最终存储在区块链账本上;
S2:根据实际需要编写智能合约并部署在区块链节点上,智能合约中编写基于用户属性信息的访问控制判断方法;
S3:区块链节点在接收到业务系统发送的交易请求后,解析交易请求中携带的用户唯一标识,以及用户私钥对交易请求数据的签名;
S4:区块链节点调用用户系统合约对用户身份进行验证,具体方法为:用户系统合约根据用户唯一标识,获取用户注册的公钥并采用公钥对交易请求数据的签名进行验证,如果验证未通过,进入步骤S7,如果验证通过,则获取该用户的属性信息并将属性信息整合至交易请求中,将整合后的交易请求发送至目标智能合约,进入步骤S5;
S5:目标智能合约接收到整合交易请求后,进行调用鉴权,具体方法如下:合约端SDK从整合交易请求中提取出用户的属性信息,然后采用目标智能合约中编写的访问控制判断方法根据用户属性信息对用户进行鉴权,如果鉴权不通过,进入步骤S7,如果鉴权通过,则进入步骤S6;
S6:目标智能合约对交易请求进行执行,将执行结果反馈至区块链节点,进行全网共识并记录至各区块链节点的账本中;
S7:区块链节点终止交易,将此交易标记为无效交易,然后向业务系统反馈提示消息。
2.根据权利要求1所述的区块链智能合约的访问控制方法,其特征在于,所述步骤S1中用户属性的管理操作包括:
1)用户注册:业务管理员为新用户进行注册,注册携带用户的唯一标识、用户公钥以及用户的属性信息;
2)用户属性添加:业务管理员指定用户唯一标识,指定属性的key值和value值,向指定用户添加此条key-value属性;
3)用户属性更新:业务管理员指定用户唯一标识,指定属性的key值和value值,向指定用户更新该key值的value值;
4)用户属性删除:业务管理员指定用户唯一标识,指定属性的key值将指定用户的指定key属性删除。
CN202210719360.1A 2022-06-23 2022-06-23 区块链智能合约的访问控制方法 Active CN115208637B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210719360.1A CN115208637B (zh) 2022-06-23 2022-06-23 区块链智能合约的访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210719360.1A CN115208637B (zh) 2022-06-23 2022-06-23 区块链智能合约的访问控制方法

Publications (2)

Publication Number Publication Date
CN115208637A CN115208637A (zh) 2022-10-18
CN115208637B true CN115208637B (zh) 2023-09-08

Family

ID=83578705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210719360.1A Active CN115208637B (zh) 2022-06-23 2022-06-23 区块链智能合约的访问控制方法

Country Status (1)

Country Link
CN (1) CN115208637B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117254982B (zh) * 2023-11-20 2024-02-23 深圳桑达银络科技有限公司 基于区块链的数字身份验证方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737348A (zh) * 2017-04-21 2018-11-02 中国科学院信息工程研究所 一种基于区块链的智能合约的物联网设备访问控制方法
CN111177695A (zh) * 2019-12-20 2020-05-19 杭州甘道智能科技有限公司 一种基于区块链的智能家居设备访问控制方法
CN111901339A (zh) * 2020-07-28 2020-11-06 安徽高山科技有限公司 一种基于可扩展分布式系统的区块链可信存证方法
CN113743955A (zh) * 2021-08-06 2021-12-03 广西综合交通大数据研究院 基于智能合约的食材溯源数据安全访问控制方法
KR20220050606A (ko) * 2020-10-16 2022-04-25 중앙대학교 산학협력단 개인정보 보호를 위해 개선된 스마트 컨트랙트 기반의 지능형 중개를 위한 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11611560B2 (en) * 2020-01-31 2023-03-21 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737348A (zh) * 2017-04-21 2018-11-02 中国科学院信息工程研究所 一种基于区块链的智能合约的物联网设备访问控制方法
CN111177695A (zh) * 2019-12-20 2020-05-19 杭州甘道智能科技有限公司 一种基于区块链的智能家居设备访问控制方法
CN111901339A (zh) * 2020-07-28 2020-11-06 安徽高山科技有限公司 一种基于可扩展分布式系统的区块链可信存证方法
KR20220050606A (ko) * 2020-10-16 2022-04-25 중앙대학교 산학협력단 개인정보 보호를 위해 개선된 스마트 컨트랙트 기반의 지능형 중개를 위한 장치 및 방법
CN113743955A (zh) * 2021-08-06 2021-12-03 广西综合交通大数据研究院 基于智能合约的食材溯源数据安全访问控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于区块链和用户信用度的访问控制模型;王海勇;潘启青;郭凯璇;;计算机应用(06);全文 *

Also Published As

Publication number Publication date
CN115208637A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
CN110096857B (zh) 区块链系统的权限管理方法、装置、设备和介质
CN111343142B (zh) 一种基于区块链网络的数据处理方法、装置及存储介质
US20210019849A1 (en) Method for External Data-Based Constructing Various Triggering Mechanisms to Execute Smart Contract in Blockchain Network and System Thereof
US9576111B2 (en) Uniform modular framework for a host computer system
CN112256558B (zh) 一种测试用例的生成方法、装置、计算机设备及存储介质
US9152413B2 (en) Bi-directional communication between change management tool and implementation tools
US8296198B2 (en) Method and system for distribution of information
CN110069295B (zh) 区块链处理方法、装置、设备和介质
CN110008665B (zh) 一种区块链的权限控制方法及装置
CN110138767B (zh) 事务请求的处理方法、装置、设备和存储介质
CN115208637B (zh) 区块链智能合约的访问控制方法
WO2019205828A1 (zh) Android服务框架、实现扩展服务的方法及装置
CN112148280B (zh) 一种基于区块链的数据存证业务模板化开发方法
US20080104250A1 (en) Identity migration system apparatus and method
US7523506B1 (en) Approach for managing functionalities within a system
CN106990974A (zh) 一种app应用更新方法、装置及电子设备
CN111786995B (zh) 账号密码管理方法、管理中间件、系统、设备及存储介质
CN111552460A (zh) 功能配置方法、服务器、终端设备及存储介质
CN112597510B (zh) 访问控制方法及装置
CN111382121A (zh) 一种信息管理系统及存储介质
US20220138742A1 (en) Blockchain-Powered Device Instruction
JP4523196B2 (ja) Icカードとデータの授受を行う管理サーバ及び管理サーバが実行する方法
CN101387964A (zh) 一种实现系统集成的方法及系统
CN116894274A (zh) 一种电子签名的生成方法及装置
CN114117552A (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