CN114372281A - 智能合约访问方法、装置、设备及存储介质 - Google Patents
智能合约访问方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114372281A CN114372281A CN202111639763.7A CN202111639763A CN114372281A CN 114372281 A CN114372281 A CN 114372281A CN 202111639763 A CN202111639763 A CN 202111639763A CN 114372281 A CN114372281 A CN 114372281A
- Authority
- CN
- China
- Prior art keywords
- access
- intelligent contract
- privacy
- account
- attribute
- 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 51
- 238000012545 processing Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种智能合约访问方法、装置、设备及存储介质,该方法包括:在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性;将账户属性与隐私智能合约对应的访问策略进行匹配;在账户属性与访问策略匹配成功时,允许请求访问账户访问隐私智能合约。由于本发明是通过获取访问隐私智能合约账户的账户属性,在账户属性与隐私智能合约对应的访问策略匹配时,允许访问隐私智能合约,能够通过账户属性对访问隐私智能合约的权限进行控制,达到保护隐私数据的目的,提高了隐私智能合约的安全性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种智能合约访问方法、装置、设备及存储介质。
背景技术
智能合约目前是区块链中不可以缺少的一个模块,它是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
在需要使用智能合约处理敏感数据时,用户不希望敏感数据公开,这就要求智能合约在处理这部分数据的时候,达到一个保护数据隐私的能力,但是隐私智能合约在部署到区块链上之后,属于一个公开的状态,任何人都可以对他进行访问,导致隐私数据有泄露的风险,因此如何提高隐私智能合约的安全性成为亟待解决的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种智能合约访问方法、装置、设备及存储介质,旨在解决现有技术隐私智能合约的安全性低的技术问题。
为实现上述目的,本发明提供了一种智能合约访问方法,所述方法包括以下步骤:
在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性;
将所述账户属性与所述隐私智能合约对应的访问策略进行匹配;
在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
可选地,所述在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性之前,所述方法还包括:
在对的目标智能合约进行加密时,获取所述目标智能合约对应的访问策略;
根据所述访问策略对所述目标智能合约进行加密,获得隐私智能合约,并所述隐私智能合约上传至区块链。
可选地,所述根据所述访问策略对所述目标智能合约进行加密,获得隐私智能合约,并所述隐私智能合约上传至区块链,包括:
将所述目标智能合约初始化,获得初始化数据;
加密所述初始化数据,获得初始化加密数据;
获取所述初始化加密数据的加密公钥,并根据所述访问策略通过属性加密算法对所述加密公钥进行加密,获得所述访问策略对应的目标加密公钥;
将所述目标加密公钥和所述初始化加密数据上传至区块链,获得隐私智能合约。
可选地,所述将所述账户属性与所述隐私智能合约对应的访问策略进行匹配,包括:
根据所述账户属性生成访问属性集合,并采用属性加密算法根据所述访问属性集合生成所述请求访问账户的属性私钥;
将所述属性私钥与所述隐私智能合约对应的访问策略进行匹配。
可选地,所述将所述属性私钥与所述隐私智能合约对应的访问策略进行匹配,包括:
获取与所述访问策略对应的目标加密公钥;
将所述属性私钥与所述目标加密公钥进行匹配。
可选地,所述在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约,包括:
在所述属性私钥与所述目标加密公钥匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
可选地,所述在所述属性私钥与所述目标加密公钥匹配成功时,允许所述请求访问账户访问所述隐私智能合约之后,所述方法还包括:
根据所述属性私钥从所述目标加密公钥中解析加密公钥,并根据所述加密公钥调用所述隐私智能合约;
通过与所述加密公钥对应的加密私钥将所述隐私智能合约解密,并执行解密后的隐私智能合约。
此外,为实现上述目的,本发明还提出一种智能合约访问装置,所述装置包括:
获取模块,用于在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性;
匹配模块,用于将所述账户属性与所述隐私智能合约对应的访问策略进行匹配;
访问模块,用于在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
此外,为实现上述目的,本发明还提出一种智能合约访问设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的智能合约访问程序,所述智能合约访问程序配置为实现如上文所述的智能合约访问方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有智能合约访问程序,所述智能合约访问程序被处理器执行时实现如上文所述的智能合约访问方法的步骤。
本发明在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性;将所述账户属性与所述隐私智能合约对应的访问策略进行匹配;在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约。由于本发明是通过获取访问隐私智能合约账户的账户属性,在账户属性与隐私智能合约对应的访问策略匹配时,允许访问所述隐私智能合约,能够通过账户属性对访问隐私智能合约的权限进行控制,达到保护隐私数据的目的,提高了隐私智能合约的安全性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的智能合约访问设备的结构示意图;
图2为本发明智能合约访问方法第一实施例的流程示意图;
图3为本发明智能合约访问方法第一实施例中请求访问账户访问隐私智能合约的示意图;
图4为本发明智能合约访问方法第二实施例的流程示意图;
图5为本发明智能合约访问方法第二实施例中初始化过程示意图;
图6为本发明智能合约访问方法第二实施例中用户在区块链上部署隐私智能合约的示意图;
图7为本发明智能合约访问装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的智能合约访问设备结构示意图。
如图1所示,该智能合约访问设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对智能合约访问设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及智能合约访问程序。
在图1所示的智能合约访问设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明智能合约访问设备中的处理器1001、存储器1005可以设置在智能合约访问设备中,所述智能合约访问设备通过处理器1001调用存储器1005中存储的智能合约访问程序,并执行本发明实施例提供的智能合约访问方法。
本发明实施例提供了一种智能合约访问方法,参照图2,图2为本发明智能合约访问方法第一实施例的流程示意图。
本实施例中,所述智能合约访问方法包括以下步骤:
步骤S10:在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性。
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如平板电脑、个人电脑、手机等,或者是一种能够实现上述功能的电子设备、智能合约访问设备等。以下以智能合约访问设备为例,对本实施例及下述各实施例进行说明。
可以理解的是,隐私智能合约可以是用户在区块链上部署的需要进行访问权限控制的智能合约;请求访问账户可以是请求访问在区块链上部署的隐私智能合约的账户,其中请求访问账户可以是在区块链上创建的任意账户。
应该理解的是,账户属性可以是在区块链上创建账户时,为创建的账户添加的属性,其中账户属性包括组织(organization)、部门(department)、角色(character)和等级(level)等属性;例如账户属性可以是拥有管理员权限的用户为其他用户在区块链上创建账户时,为该账户添加的属性;账户属性还可以是用户在区块链上为自己创建账户时,为该账户添加的属性,本实施例对此不作限制。
可以理解的是,组织(organization),表示账户对应用户所属的组织;部门(department),表示该账户对应用户在组织中所属的部门;角色(character),表示该账户对应用户的身份;等级(level),表明该账户对应用户的身份登记。
在具体实现中,智能合约访问设备在接收到访问部署在区块链上的隐私智能合约的请求时,获取请求访问账户的账户属性,账户属性为在区块链上创建请求访问账户时,为其添加的属性。
步骤S20:将所述账户属性与所述隐私智能合约对应的访问策略进行匹配。
可以理解的是,访问策略可以用户是在区块链上部署隐私智能合约时制定的该隐私智能合约的访问权限控制策略,访问策略可以是由账户属性以及逻辑符组成;用户在区块链上部署隐私智能合约时,制定与该隐私智能合约对应的访问策略。
在具体实现中,智能合约访问设备将在区块链上创建请求访问账户时为其添加的账户属性与用户在区块链上部署所述隐私智能合约时制定的该隐私智能合约的访问权限控制策略进行匹配,其中访问策略由账户属性以及逻辑符组成。
步骤S30:在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
在具体实现中,例如账户属性包括organization、department、character和level,逻辑符包括or和and,用户在区块链上部署隐私智能合约时,为该隐私智能合约制定的访问策略为:[(organization-1and department-2)or(organization-1and level-7)],表示允许organization-1中department-2对应的账户,或者organization-1中level-7对应的账户可以访问该隐私智能合约,智能合约访问设备在接收到访问隐私智能合约的请求时,获取到的请求访问账户的账户属性为:organization-1and department-2,请求访问账户的账户属性与隐私智能合约对应的访问策略匹配成功,允许该请求访问账户访问该隐私智能合约,上述例子是为了清楚地说明本实施例,并不构成对本实施例的限制。
进一步地,为了提高隐私智能的安全性,所述步骤S20包括:根据所述账户属性生成访问属性集合,并采用属性加密算法根据所述访问属性集合生成所述请求访问账户的属性私钥;将所述属性私钥与所述隐私智能合约对应的访问策略进行匹配。
应该理解的是,在请求访问账户请求访问隐私智能合约时,需要先申请秘钥,请求访问账户向智能合约访问设备发送秘钥申请请求,智能合约访问设备在接收到秘钥申请请求时,根据请求访问账户的账户属性生成访问属性集合;访问属性集合可以是请求访问账户的账户属性的集合。
可以理解的是,属性加密算法可以是CP-ABE算法;智能合约访问设备启动后,会基于CP-ABE算法初始化一对秘钥{ABE-PK,ABE-MK};采用属性加密算法根据所述访问属性集合生成请求访问账户的属性私钥可以是采用CP-ABE算法根据访问属性集合和秘钥对{ABE-PK,ABE-MK}生成请求访问账户的属性私钥U-ABE-MK。
在具体实现中,智能合约访问设备启动后,基于CP-ABE算法初始化一对秘钥{ABE-PK,ABE-MK},智能合约访问设备接收到秘钥申请请求时,根据请求访问账户的账户属性生成访问属性集合,采用CP-ABE算法根据访问属性集合和秘钥对{ABE-PK,ABE-MK}生成请求访问账户的属性私钥U-ABE-MK。
在具体实施中,可参照图3,智能合约访问设备可包括隐私合约代理和隐私合约执行环境,请求访问账户在请求访问隐私智能合约,发出秘钥申请请求至智能合约访问设备的隐私合约代理,智能合约访问设备的隐私合约代理接收到秘钥申请请求后,根据请求访问账户的账户属性生成访问属性集合S,隐私合约代理将该用户的访问属性集合S发送至智能合约访问设备的隐私合约执行环境,隐私合约执行环境使用CP-ABE算法基于参数{访问属性集合S,ABE-PK,ABE-MK}生成请求访问账户的属性私钥U-ABE-MK,并将U-ABE-MK发送至隐私合约代理。
进一步地,为了提高隐私智能合约的安全性,所述将所述属性私钥与所述隐私智能合约对应的访问策略进行匹配,包括:获取与所述访问策略对应的目标加密公钥;将所述属性私钥与所述目标加密公钥进行匹配。
可以理解的是,在区块链上部署隐私智能合约时,需要对隐私智能合约进行加密,对隐私智能合约进行加密后会生成一对加密公私钥对,目标加密公钥可以是采用属性加密算法对隐私智能合约的加密公钥进行加密后获得的公钥;例如用户在区块链上部署隐私智能合约时,将需要部署的隐私智能合约和针对该隐私智能合约制定的访问策略发送至智能合约访问设备,智能合约访问设备对隐私智能合约进行加密生成加密公钥和加密私钥,智能合约访问设备根据访问策略采用CP-ABE算法对加密公钥进行加密,获得目标加密公钥,目标加密公钥可以用C-EN-PK表示。
在具体实现中,智能合约访问设备获取与用户制定的访问策略对应的目标加密公钥,将请求访问账户的属性私钥与目标加密公钥进行匹配。
进一步地,为了提高隐私智能合约的安全性,所述步骤S30包括:在所述属性私钥与所述目标加密公钥匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
可以理解的是,将请求访问账户的属性私钥与目标加密公钥进行匹配,在请求访问账户的账户属性符合隐私智能合约对应的访问策略时,所述属性私钥与目标加密公钥可成功匹配。
在具体实现中,例如请求访问账户的账户属性符合隐私智能合约对应的访问策略,则所述属性私钥与目标加密公钥可成功匹配,所述属性私钥可从目标加密公钥中解析出隐私智能合约的加密公钥,根据解析出的加密公钥可调用、访问对应的隐私智能合约。
进一步地,为了提高隐私智能合约的安全性,在所述属性私钥与所述目标加密公钥匹配成功时,允许所述请求访问账户访问所述隐私智能合约之后,所述方法还包括:根据所述属性私钥从所述目标加密公钥中解析加密公钥,并根据所述加密公钥调用所述隐私智能合约;通过与所述加密公钥对应的加密私钥将所述隐私智能合约解密,并执行解密后的隐私智能合约。
可以理解的是,根据加密公钥调用所述隐私智能合约可以是根据加密公钥确定隐私智能合约的合约名称,根据合约名称调用隐私智能合约,其中调用的隐私智能合约包括合约源码和合约状态等信息;为了保护用户信息,在调用隐私智能合约时,还可将合约参数信息加密。
在具体实现中,智能合约访问设备在请求访问设备的属性私钥与目标加密公钥匹配成功时,根据请求访问账户的属性私钥从目标加密公钥中解析出对隐私智能合约的加密公钥,通过加密公钥确定隐私智能合约的合约名称,根据合约名称调用隐私智能合约,并在调用隐私智能合约时,通过加密公钥将合约参数信息加密,通过隐私智能合约的加密私钥将隐私智能合约解密,并执行解密后的隐私智能合约,采用CP-ABE算法基于{加密公钥,访问策略,ABE-PK}对隐私智能合约的返回数据进行加密,并将加密后的数据上传至区块链。
本实施例在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性;将所述账户属性与所述隐私智能合约对应的访问策略进行匹配;在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约。由于本实施例是通过获取访问隐私智能合约账户的账户属性,在账户属性与隐私智能合约对应的访问策略匹配时,允许访问所述隐私智能合约,能够通过账户属性对访问隐私智能合约的权限进行控制,达到保护隐私数据的目的,提高了隐私智能合约的安全性。
参考图4,图4为本发明智能合约访问方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,在所述步骤S10之前,所述方法还包括:
步骤S01:在对的目标智能合约进行加密时,获取所述目标智能合约对应的访问策略。
可以理解的是,智能合约访问设备包括隐私合约代理和隐私合约执行环境,隐私合约执行环境可以是一个可信执行环境-TEE,该环境可以保证其内部的程序不被常规操作系统干扰,可以把其看作是与外界隔离的一个沙箱环境;隐私合约代理可以是隐私合约执行环境和区块链的桥梁,可进行数据处理与数据传递。
应该理解的是,在对的目标智能合约进行加密时,获取所述目标智能合约对应的访问策略之前,还可以包括在区块链环境启动时,进行初始化。
可以理解的是,智能合约访问设备初始化的过程可参照图5,区块链环境启动后,智能合约访问设备的隐私合约代理向隐私合约执行环境发送初始化指令,智能合约访问设备的隐私合约执行环境基于CP-ABE算法初始化一对秘钥{ABE-PK,ABE-MK},其中ABE-PK为公开参数,ABE-MK为主秘钥,隐私合约执行环境将ABE-PK发送至隐私合约代理,隐私合约代理将ABE-PK上传至区块链,区块链上的任何账户都可以获取所述ABE-PK。
可以理解的是,在对目标智能合约进行加密时,获取所述目标智能合约的访问策略可以是用户在区块链上部署隐私智能合约时,将需要加密的目标智能合约和针对该目标智能合约制定的访问策略发送至智能合约访问设备,智能合约访问设备的隐私合约代理获取目标智能合约和对应的访问策略。
应该理解的是,在对目标智能合约加密时,若需要区块链上的链上数据,则智能合约访问设备的隐私合约代理获取目标智能合约、访问策略及链上数据,并将目标智能合约、访问策略和链上数据发送给智能合约访问设备的隐私合约执行环境。
步骤S02:根据所述访问策略对所述目标智能合约进行加密,获得隐私智能合约,并所述隐私智能合约上传至区块链。
可以理解的是,根据所述访问策略对所述目标智能合约进行加密可以是智能合约访问设备的隐私合约执行环境接收到用户的部署请求后,根据访问策略采用CP-ABE算法对隐私智能合约进行加密。
在具体实现中,用户需要在区块链上部署隐私智能合约时,将需要加密的目标智能合约和针对该目标智能合约制定的访问策略发送至智能合约访问设备,智能合约访问设备的隐私合约代理获取目标智能合约和访问策略,若需要区块链上的链上数据,则同时获取链上数据,将目标智能合约、访问策略和链上数据打包发送至智能合约访问设备的隐私合约执行环境,隐私合约执行环境根据访问策略采用CP-ABE算法对目标智能合约进行加密,获得隐私智能合约,并将隐私智能合约上传至区块链,完成在区块链上部署隐私智能合约。
进一步地,为了降低加密的数据量,以提高数据处理效率,所述步骤S03包括:将所述目标智能合约初始化,获得初始化数据;加密所述初始化数据,获得初始化加密数据;获取所述初始化加密数据的加密公钥,并根据所述访问策略通过属性加密算法对所述加密公钥进行加密,获得所述访问策略对应的目标加密公钥;将所述目标加密公钥和所述初始化加密数据上传至区块链,获得隐私智能合约。
可以理解的是,将所述目标智能合约初始化,获得初始化数据可以是在WASM中进行目标智能合约的初始化,获得初始化数据。
应该理解的是,加密初始化数据,获得初始化加密数据可以是智能合约访问设备的隐私合约执行环境基于环境硬件固有秘钥对初始化数据进行加密,获得初始化加密数据,并生成一对加密公私钥对{EN-PK,EN-SK}。
可以理解的是,根据所述访问策略通过属性加密算法对所述加密公钥进行加密,获得所述访问策略对应的目标加密公钥可以是采用CP-ABE算法,根据访问策略对初始化加密数据的加密公钥进行加密,获得访问策略对应的目标加密公钥。
在具体实现中,可参照图6,例如用户在区块链上部署隐私智能合约时,将目标智能合约以及针对该目标智能合约制定的访问策略发送至智能合约访问设备,智能合约访问设备的隐私合约代理获取目标智能合约、访问策略和链上数据,并将目标智能合约、访问策略和链上数据打包发送至智能合约访问设备的隐私合约执行环境,隐私合约执行环境接收到用户的部署请求时,在WASM中进行目标智能合约的初始化,获得初始化数据,并基于执行环境硬件固有秘钥生成一对加密公私钥对{EN-PK,EN-SK}将初始化数据加密,隐私合约执行环境采用CP-ABE算法基于参数{加密公钥EN-PK,访问策略,ABE-PK}对目标智能合约的加密公钥EN-PK进行加密,获得访问策略对应的目标加密公钥C-EN-PK,将初始化加密数据和C-EN-PK发送至隐私合约代理,隐私合约代理将初始化加密数据和C-EN-PK上传至区块链。
本实施例在对的目标智能合约进行加密时,获取所述目标智能合约对应的访问策略;将所述目标智能合约初始化,获得初始化数据;加密所述初始化数据,获得初始化加密数据;获取所述初始化加密数据的加密公钥,并根据所述访问策略通过属性加密算法对所述加密公钥进行加密,获得所述访问策略对应的目标加密公钥;将所述目标加密公钥和所述初始化加密数据上传至区块链,获得隐私智能合约。由于本实施例是根据用户制定的访问策略采用属性加密算法对目标智能合约的加密公钥进行加密获得目标加密公钥,将目标加密公钥和初始化加密数据上传至区块链完成隐私智能合约的部署,实现了根据账户属性对隐私智能访问权限的控制,提高了隐私智能合约的安全性,而且仅需要采用属性加密算法对目标智能合约的加密公钥进行加密,降低了加密的数据量,提高了数据处理效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有智能合约访问程序,所述智能合约访问程序被处理器执行时实现如上文所述的智能合约访问方法的步骤。
参照图7,图7为本发明智能合约访问装置第一实施例的结构框图。
如图7所示,本发明实施例提出的智能合约访问装置包括:获取模块10、匹配模块20和访问模块30。
所述获取模块10,用于在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性;
所述匹配模块20,用于将所述账户属性与所述隐私智能合约对应的访问策略进行匹配;
所述访问模块30,用于在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
本实施例在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性;将所述账户属性与所述隐私智能合约对应的访问策略进行匹配;在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约。由于本实施例是通过获取访问隐私智能合约账户的账户属性,在账户属性与隐私智能合约对应的访问策略匹配时,允许访问所述隐私智能合约,能够通过账户属性对访问隐私智能合约的权限进行控制,达到保护隐私数据的目的,提高了隐私智能合约的安全性。
基于本发明上述智能合约访问装置第一实施例,提出本发明智能合约访问装置的第二实施例。
在本实施例中,所述获取模块10,还用于在对的目标智能合约进行加密时,获取所述目标智能合约对应的访问策略;根据所述访问策略对所述目标智能合约进行加密,获得隐私智能合约,并所述隐私智能合约上传至区块链。
所述获取模块10,还用于将所述目标智能合约初始化,获得初始化数据;加密所述初始化数据,获得初始化加密数据;获取所述初始化加密数据的加密公钥,并根据所述访问策略通过属性加密算法对所述加密公钥进行加密,获得所述访问策略对应的目标加密公钥;将所述目标加密公钥和所述初始化加密数据上传至区块链,获得隐私智能合约。
所述匹配模块20,还用于根据所述账户属性生成访问属性集合,并采用属性加密算法根据所述访问属性集合生成所述请求访问账户的属性私钥;将所述属性私钥与所述隐私智能合约对应的访问策略进行匹配。
所述匹配模块20,还用于获取与所述访问策略对应的目标加密公钥;将所述属性私钥与所述目标加密公钥进行匹配。
所述访问模块30,还用于在所述属性私钥与所述目标加密公钥匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
所述访问模块30,还用于根据所述属性私钥从所述目标加密公钥中解析加密公钥,并根据所述加密公钥调用所述隐私智能合约;通过与所述加密公钥对应的加密私钥将所述隐私智能合约解密,并执行解密后的隐私智能合约。
本发明智能合约访问装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种智能合约访问方法,其特征在于,所述方法包括:
在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性;
将所述账户属性与所述隐私智能合约对应的访问策略进行匹配;
在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
2.如权利要求1所述的方法,其特征在于,所述在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性之前,所述方法还包括:
在对的目标智能合约进行加密时,获取所述目标智能合约对应的访问策略;
根据所述访问策略对所述目标智能合约进行加密,获得隐私智能合约,并所述隐私智能合约上传至区块链。
3.如权利要求2所述的方法,其特征在于,所述根据所述访问策略对所述目标智能合约进行加密,获得隐私智能合约,并所述隐私智能合约上传至区块链,包括:
将所述目标智能合约初始化,获得初始化数据;
加密所述初始化数据,获得初始化加密数据;
获取所述初始化加密数据的加密公钥,并根据所述访问策略通过属性加密算法对所述加密公钥进行加密,获得所述访问策略对应的目标加密公钥;
将所述目标加密公钥和所述初始化加密数据上传至区块链,获得隐私智能合约。
4.如权利要求3所述的方法,其特征在于,所述将所述账户属性与所述隐私智能合约对应的访问策略进行匹配,包括:
根据所述账户属性生成访问属性集合,并采用属性加密算法根据所述访问属性集合生成所述请求访问账户的属性私钥;
将所述属性私钥与所述隐私智能合约对应的访问策略进行匹配。
5.如权利要求4所述的方法,其特征在于,所述将所述属性私钥与所述隐私智能合约对应的访问策略进行匹配,包括:
获取与所述访问策略对应的目标加密公钥;
将所述属性私钥与所述目标加密公钥进行匹配。
6.如权利要求5所述的方法,其特征在于,所述在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约,包括:
在所述属性私钥与所述目标加密公钥匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
7.如权利要求6所述的方法,其特征在于,所述在所述属性私钥与所述目标加密公钥匹配成功时,允许所述请求访问账户访问所述隐私智能合约之后,所述方法还包括:
根据所述属性私钥从所述目标加密公钥中解析加密公钥,并根据所述加密公钥调用所述隐私智能合约;
通过与所述加密公钥对应的加密私钥将所述隐私智能合约解密,并执行解密后的隐私智能合约。
8.一种智能合约访问装置,其特征在于,所述装置包括:
获取模块,用于在接收到区块链上的隐私智能合约的访问请求时,获取请求访问账户的账户属性;
匹配模块,用于将所述账户属性与所述隐私智能合约对应的访问策略进行匹配;
访问模块,用于在所述账户属性与所述访问策略匹配成功时,允许所述请求访问账户访问所述隐私智能合约。
9.一种智能合约访问设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的智能合约访问程序,所述智能合约访问程序配置为实现如权利要求1至7中任一项所述的智能合约访问方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有智能合约访问程序,所述智能合约访问程序被处理器执行时实现如权利要求1至7任一项所述的智能合约访问方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111639763.7A CN114372281A (zh) | 2021-12-24 | 2021-12-24 | 智能合约访问方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111639763.7A CN114372281A (zh) | 2021-12-24 | 2021-12-24 | 智能合约访问方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114372281A true CN114372281A (zh) | 2022-04-19 |
Family
ID=81142945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111639763.7A Pending CN114372281A (zh) | 2021-12-24 | 2021-12-24 | 智能合约访问方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114372281A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109559117A (zh) * | 2018-11-14 | 2019-04-02 | 北京科技大学 | 基于属性基加密的区块链合约隐私保护方法与系统 |
CN111371561A (zh) * | 2020-02-27 | 2020-07-03 | 华信咨询设计研究院有限公司 | 基于cp-abe算法的联盟区块链数据访问控制方法 |
CN113326541A (zh) * | 2021-08-03 | 2021-08-31 | 之江实验室 | 一种基于智能合约的云边协同多模式隐私数据流转方法 |
CN113743955A (zh) * | 2021-08-06 | 2021-12-03 | 广西综合交通大数据研究院 | 基于智能合约的食材溯源数据安全访问控制方法 |
-
2021
- 2021-12-24 CN CN202111639763.7A patent/CN114372281A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109559117A (zh) * | 2018-11-14 | 2019-04-02 | 北京科技大学 | 基于属性基加密的区块链合约隐私保护方法与系统 |
CN111371561A (zh) * | 2020-02-27 | 2020-07-03 | 华信咨询设计研究院有限公司 | 基于cp-abe算法的联盟区块链数据访问控制方法 |
CN113326541A (zh) * | 2021-08-03 | 2021-08-31 | 之江实验室 | 一种基于智能合约的云边协同多模式隐私数据流转方法 |
CN113743955A (zh) * | 2021-08-06 | 2021-12-03 | 广西综合交通大数据研究院 | 基于智能合约的食材溯源数据安全访问控制方法 |
Non-Patent Citations (2)
Title |
---|
张敏情: "《密码技术应用与实践》", 31 July 2021, 西安电子科技大学出版社, pages: 209 * |
江泽涛;赵嘉旭;吴辉;: "策略隐藏的CP-ABE访问控制方案", 计算机工程与设计, no. 06, 16 June 2017 (2017-06-16) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kostiainen et al. | On-board credentials with open provisioning | |
JP4668619B2 (ja) | 装置鍵 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
CN112257086B (zh) | 一种用户隐私数据保护方法及电子设备 | |
JP2008514097A (ja) | ランダムファンクションを利用した秘密の共有 | |
US20110191597A1 (en) | Method and system for securing software | |
CN109614769A (zh) | 按照参考平台清单和数据封装的安全操作系统启动 | |
KR20060018852A (ko) | 랜덤 함수를 사용하는 실행의 증명 | |
CN109145628B (zh) | 一种基于可信执行环境的数据采集方法及系统 | |
CN111159658B (zh) | 字节码处理方法、系统、装置、计算机设备和存储介质 | |
CN111191195A (zh) | 一种用于保护apk的方法和装置 | |
WO2023029447A1 (zh) | 模型保护方法、装置、设备、系统以及存储介质 | |
CN112506531A (zh) | 软件安装方法、装置、电子设备和存储介质 | |
CN111124453A (zh) | 一种终端设备固件程序升级方法 | |
CN112559991A (zh) | 系统安全登录方法、装置、设备及存储介质 | |
CN114936365B (zh) | 一种机密数据的保护系统、方法以及装置 | |
CN112612922A (zh) | 一种手机号码的安全存储方法、装置、计算机设备和介质 | |
EP3048553B1 (en) | Method for distributing applets, and entities for distributing applets | |
CN114969784A (zh) | 一种模型的处理方法、装置及设备 | |
JP2006514321A (ja) | 暗号化されたアプリケーションをインストールするためのアーキテクチャ | |
CN109784072B (zh) | 一种安全文件管理方法和系统 | |
CN106712964A (zh) | 一种基于Java卡的应用验证方法及验证系统 | |
CN114372281A (zh) | 智能合约访问方法、装置、设备及存储介质 | |
CN115442046A (zh) | 签名方法、装置、电子设备和存储介质 | |
CN107403103B (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 |