CN112134879B - 一种基于区块链智能合约的授权方法 - Google Patents
一种基于区块链智能合约的授权方法 Download PDFInfo
- Publication number
- CN112134879B CN112134879B CN202010994826.XA CN202010994826A CN112134879B CN 112134879 B CN112134879 B CN 112134879B CN 202010994826 A CN202010994826 A CN 202010994826A CN 112134879 B CN112134879 B CN 112134879B
- Authority
- CN
- China
- Prior art keywords
- data
- block
- chain
- hash value
- user
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000013475 authorization Methods 0.000 title claims abstract description 17
- 238000004891 communication Methods 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/321—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 a third party or a trusted authority
- H04L9/3213—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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链智能合约的授权方法,包括:1、数据提供方搭建区块链节点网络;2、数据提供方以区块类型B1和B2的数据结构来分别构建区块数据C1和C2,并将区块数据C1和C2分别添加到链A1和A2的末尾;3数据提供方将链A1、链A2存入分布式账本中,并提供分布式账本数据的共识机制;4数据提供方接收调用校验用户合法性的指令D1来认证用户身份,若认证通过,则数据提供方调用查询用户权限数据指令D2获取数据接收方的权限数据,并进行加密后获取权限数据的密文;6数据接收方对密文进行解密,从而获取权限数据的明文。本发明能实现用户权限数据的不可更改,解决数据提供方与数据使用方之间不可信的问题。
Description
技术领域
本发明涉及区块链智能合约技术领域,尤其涉及一种基于区块链智能合约的授权方法。
背景技术
传统数据库技术是中心化的存储技术,数据可由数据提供方篡改,数据使用方的权限得不到保障,而区块链技术(也被称之为分布式账本技术),跟传统的数据库技术相比,其特点为:维护一条不断增长的链,只可能添加记录,而发生过的记录都不可篡改。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种基于区块链智能合约的授权方法,以期能去中心化的管理用户权限数据,实现去中心化的授权,使得用户权限数据的不可更改,从而解决数据提供方与数据使用方之间不可信的问题。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种基于区块链智能合约的授权方法的特点是应用于由数据提供方、数据接收方和第三方信用机构所组成的网络环境中,并按如下步骤进行:
步骤1、所述数据提供方搭建区块链节点网络;
步骤2、定义两个以单链指针类型为数据结构的链A1、链A2,所述A1链用来存储用户数据和权限数据,所述A2链用来存储智能合约数据;
定义两个以结构体为数据结构的区块类型B1、区块类型B2;
所述区块类型B1和区块类型B2均包含块头和块内容;所述区块类型B1和区块类型B2的块头均包含上一个区块的Hash值、当前区块Hash值和时间戳;
所述区块类型B1的块内容包含用户名数据、用户密码数据、用户权限数据;
所述区块类型B2的块内容包含智能合约数据;所述智能合约数据包括用于获取授权令牌数据的指令集数据;
步骤3、所述数据提供方以所述区块类型B1的数据结构来构建包含用户名数据、用户密码数据、用户权限数据的区块数据C1;
令区块数据C1的块内容为用户名、用户密码和用户权限数据;令所述区块数据C1的块头中上一个区块的Hash值为所述链A1中的末尾区块的Hash值;利用改进的Hash算法获得区块数据C1的块头中当前区块的Hash值;并将所述区块数据C1添加到所述链A1的末尾区块之后;从而更新所述链A1中的末尾区块为所述区块数据C1;当所述链A1中没有区块时,所述链A1中的末尾区块的Hash值为空;
步骤4、所述数据提供方以区块类型B2的数据结构来构建包含智能合约指令集的区块数据C2,令区块数据C2的块内容数据为智能合约指令集;且所述区块数据C2中智能合约指令集包括用于校验用户合法性的指令D1和从A1链中查询出用户权限数据的指令D2;令所述区块数据C2的块头中上一个区块的Hash值为所述链A2中的末尾区块的Hash值;利用改进的Hash算法获得区块数据C2的块头中当前区块的Hash值;并将所述区块数据C2添加到所述链A2的末尾区块之后,从而更新所述链A2中的末尾区块为所述区块数据C2;
步骤5、所述数据提供方将所述链A1、链A2存入分布式账本中;
步骤6、所述数据提供方提供分布式账本数据的共识机制;
步骤6.1、所述数据提供方基于UDP广播协议提供用于发现所述区块链节点网络中相邻区块链节点的通信接口,从而获取区块链节点网络中相邻的区块链节点,定义一个相邻的区块链节点的列表变量,并将所获取的相邻的区块链节点的IP数据添加到列表变量中;
步骤6.2、基于共识算法来同步各区块链节点的链A1、链A2的数据;
当一个区块链节点的链A1与另一个区块链节点的链A1不同时,或者当一个区块链节点的链A2与另一个区块链节点的链A2不同时,先通过校验算法检验链A1或链A2链的合法性,若通过合法性校验,以取最长链的方式使得所述区块链节点网络中的节区块链点间达成链A1或链A2的数据共识;否则,保持原始的链A1或链A2;
步骤7、所述数据提供方接收所述数据接收方传入用户名和用户密码,并调用所述校验用户合法性的指令D1来认证用户身份,若认证通过,则执行步骤8;否则,表示所述数据接收方非法操作,并终止操作;
步骤8、所述数据提供方调用所述查询用户权限数据指令D2获取所述数据接收方的权限数据,并通过加密算法进行加密后获取权限数据的密文,并传输给所述数据接收方;
步骤9、所述数据接收方通过解密算法对权限数据的密文进行解密,从而获取权限数据的明文。
本发明所述的基于区块链智能合约的授权方法的特点也在于,所述改进的Hash算法是按如下步骤进行:
a)设置Hash碰撞阈值为T;
b)获取当前时间戳,将区块数据C1的块内容和当前时间戳拼接为一个当前二进制数据,并计算所述当前二进制数据的位数,记为N;
c)通过对位数N以Δ取模,获得余数M,从而对所述当前二进制数据的末尾填补一个“1”和M-1个“0”;其中,Δ表示原子块的位数;
d)将所述当前二进制数据按Δ的位数分割成X个小块;
e)初始化当前小块为第x个小块;初始化x=1;
f)利用SHA256散列算法计算第x个小块和第x+1个小块的Hash值并作为第x+1个小块,
g)将x+1赋值给x后,判断x>X是否成立,若成立,则表示得到第X次计算出的Hash值,记为Hx;否则返回步骤e)
h)判断Hx<T是否成立,若表示碰撞成功,所述Hash值Hx即为所述当前区块Hash值;否则,返回步骤b重新计算;
i)将碰撞成功时的当前时间戳存入区块数据C1块头的时间戳中。
所述校验算法为遍历链A1或链A2中的每一个区块,并检验当前所遍历的区块中“上一个区块的Hash值”与当前所遍历的区块的上一个区块中的“当前区块的Hash值”是否相同,若不相同,则表示未通过合法性校验,若相同,则表示继续通过所述改进的Hash算法计算当前所遍历的区块中的块内容的Hash值是否正确,若正确,则表示通过合法性校验,否则表示未通过合法性校验。
所述加密算法和解密算法是采用非对称加密中的椭圆曲线算法Ecrecover;公、私钥由所述数据接收方通过Ecrecover算法生成,公钥上传至可信的第三方信用机构保存,私钥由数据接收方自己保管;
所述加密算法的执行过程为:先从可信的第三方信用机构获取所述数据接收方的公钥,然后利用加密函数和公钥数据对明文进行加密,从而获得密文;
所述解密算法的执行过程为,利用私钥参数和解密函数对密文进行解密,获得明文。
与现有技术相比,本发明的有益效果在于:
本发明通过使用去中心化的分布式账本存储数据,其中,去中心化或者说多中心化,无集中的控制,实现上尽量分布式;可以通过密码学的机制来确保交易无法抵赖和破坏,并尽量保护用户信息和记录的隐私性。并利用区块链共识机制实现了用户权限数据的不可更改,通过将智能合约与区块链结合到一起,通过编写智能合约可以实现强大的功能,实现去中心化的授权,解决了数据提供方与数据使用方之间不可信的问题,让区块链提供除了交易功能外更灵活的合约功能,执行更为复杂的操作。
附图说明
图1为本发明提供的一种实例环境的示意图;
图2为本发明提供的一种概念架构的示意图;
图3为本发明提供的一种基于区块链智能合约的授权方法的流程图。
具体实施方式
本实施例中,如图1所示,数据提供方应用系统100、区块链102和用户110与112之间网络互通,该网络为局域网、城域网或互联网。数据提供方应用系统100为一种WEB应用服务。区块链102由多个区块链节点104组成,区块链节点104为一种计算机,计算机包括处理器、内存、非易失性存储器构成。以上计算机均由网络适配器提供网络连接。每个区块链节点104均运行有实现区块链智能合约授权方法的程序,在内存中实现链A1和链A2的缓存,并在非易失性存储器中实现了区块链的分布式账本的存储服务,各区块链节点104上的链A1和链A2通过共识机制进行数据同步。
如图2所示,链A1与链A2为区块链102中的两条链,数据提供方将用户权限数据以UDP广播的形式发布至区块链中的链A1中,将智能合约指令集数据以UDP广播的形式发布至区块链中的链A2中。区块链节点104部署有智能合约的运行环境,智能合约,即运行在区块链上的程序,其包含代码和相应的状态数据。将智能合约从链A2中读出,放入运行环境中运行。数据接收方通过调用智能合约中的用户合法性校验指令检验用户的合法性,检验通过,则通过调用智能合约中的查询用户权限指令查询用户权限,并将查询的数据加密后传输给数据接收方。
如图3所示,一种基于区块链智能合约的授权方法是应用于由数据提供方、数据接收方和第三方信用机构所组成的网络环境中,并按如下步骤进行:
步骤1、数据提供方搭建区块链节点网络;
步骤2、定义两个以单链指针类型为数据结构的链A1、链A2,A1链用来存储用户数据和权限数据,A2链用来存储智能合约数据;
定义两个以结构体为数据结构的区块类型B1、区块类型B2;
区块类型B1和区块类型B2均包含块头和块内容;区块类型B1和区块类型B2的块头均包含上一个区块的Hash值、当前区块Hash值和时间戳;
区块类型B1的块内容包含用户名数据、用户密码数据、用户权限数据;
区块类型B2的块内容包含智能合约数据;智能合约数据包括用于获取授权令牌数据的指令集数据;
步骤3、数据提供方以区块类型B1的数据结构来构建包含用户名数据、用户密码数据、用户权限数据的区块数据C1;
令区块数据C1的块内容为用户名、用户密码和用户权限数据;令区块数据C1的块头中上一个区块的Hash值为链A1中的末尾区块的Hash值;利用改进的Hash算法获得区块数据C1的块头中当前区块的Hash值;并将区块数据C1添加到链A1的末尾区块之后;从而更新链A1中的末尾区块为区块数据C1;当链A1中没有区块时,链A1中的末尾区块的Hash值为空;
步骤4、数据提供方以区块类型B2的数据结构来构建包含智能合约指令集的区块数据C2,令区块数据C2的块内容数据为智能合约指令集;且区块数据C2中智能合约指令集包括用于校验用户合法性的指令D1和从A1链中查询出用户权限数据的指令D2;令区块数据C2的块头中上一个区块的Hash值为链A2中的末尾区块的Hash值;利用改进的Hash算法获得区块数据C2的块头中当前区块的Hash值;并将区块数据C2添加到链A2的末尾区块之后,从而更新链A2中的末尾区块为区块数据C2;
其中,改进的Hash算法是按如下步骤进行:
a)设置Hash碰撞阈值为T;
b)获取当前时间戳,将区块数据C1的块内容和当前时间戳拼接为一个当前二进制数据,并计算当前二进制数据的位数,记为N;
c)通过对位数N以Δ取模,获得余数M,从而对当前二进制数据的末尾填补一个“1”和M-1个“0”;其中,Δ表示原子块的位数;
d)将当前二进制数据按Δ的位数分割成X个小块;
e)初始化当前小块为第x个小块;初始化x=1;
f)利用SHA256散列算法计算第x个小块和第x+1个小块的Hash值并作为第x+1个小块,
g)将x+1赋值给x后,判断x>X是否成立,若成立,则表示得到第X次计算出的Hash值,记为Hx;否则返回步骤e)
h)判断Hx<T是否成立,若表示碰撞成功,Hash值Hx即为当前区块Hash值;否则,返回步骤b重新计算;
i)将碰撞成功时的当前时间戳存入区块数据C1块头的时间戳中。
步骤5、数据提供方将链A1、链A2存入分布式账本中;
步骤6、数据提供方提供分布式账本数据的共识机制;
步骤6.1、数据提供方基于UDP广播协议提供用于发现区块链节点网络中相邻区块链节点的通信接口,从而获取区块链节点网络中相邻的区块链节点,定义一个相邻的区块链节点的列表变量,并将所获取的相邻的区块链节点的IP数据添加到列表变量中;
步骤6.2、基于共识算法来同步各区块链节点的链A1、链A2的数据;
当一个区块链节点的链A1与另一个区块链节点的链A1不同时,或者当一个区块链节点的链A2与另一个区块链节点的链A2不同时,先通过校验算法检验链A1或链A2链的合法性,若通过合法性校验,以取最长链的方式使得区块链节点网络中的节区块链点间达成链A1或链A2的数据共识;否则,保持原始的链A1或链A2;
其中,校验算法为遍历链A1或链A2中的每一个区块,并检验当前所遍历的区块中“上一个区块的Hash值”与当前所遍历的区块的上一个区块中的“当前区块的Hash值”是否相同,若不相同,则表示未通过合法性校验,若相同,则表示继续通过改进的Hash算法计算当前所遍历的区块中的块内容的Hash值是否正确,若正确,则表示通过合法性校验,否则表示未通过合法性校验;
步骤7、数据提供方接收数据接收方传入用户名和用户密码,并调用校验用户合法性的指令D1来认证用户身份,若认证通过,则执行步骤8;否则,表示数据接收方非法操作,并终止操作;
步骤8、数据提供方调用查询用户权限数据指令D2获取数据接收方的权限数据,并通过加密算法进行加密后获取权限数据的密文,并传输给数据接收方;
步骤9、数据接收方通过解密算法对权限数据的密文进行解密,从而获取权限数据的明文。其中,加密算法和解密算法是采用非对称加密中的椭圆曲线算法Ecrecover;公、私钥由数据接收方通过Ecrecover算法生成,公钥上传至可信的第三方信用机构保存,私钥由数据接收方自己保管;
加密算法的执行过程为:先从可信的第三方信用机构获取数据接收方的公钥,然后利用加密函数和公钥数据对明文进行加密,从而获得密文;
解密算法的执行过程为,利用私钥参数和解密函数对密文进行解密,获得明文。
Claims (4)
1.一种基于区块链智能合约的授权方法,其特征是应用于由数据提供方、数据接收方和第三方信用机构所组成的网络环境中,并按如下步骤进行:
步骤1、所述数据提供方搭建区块链节点网络;
步骤2、定义两个以单链指针类型为数据结构的链A1、链A2,所述A1链用来存储用户数据和权限数据,所述A2链用来存储智能合约数据;
定义两个以结构体为数据结构的区块类型B1、区块类型B2;
所述区块类型B1和区块类型B2均包含块头和块内容;所述区块类型B1和区块类型B2的块头均包含上一个区块的Hash值、当前区块Hash值和时间戳;
所述区块类型B1的块内容包含用户名数据、用户密码数据、用户权限数据;
所述区块类型B2的块内容包含智能合约数据;所述智能合约数据包括用于获取授权令牌数据的指令集数据;
步骤3、所述数据提供方以所述区块类型B1的数据结构来构建包含用户名数据、用户密码数据、用户权限数据的区块数据C1;
令区块数据C1的块内容为用户名、用户密码和用户权限数据;令所述区块数据C1的块头中上一个区块的Hash值为所述链A1中的末尾区块的Hash值;利用改进的Hash算法获得区块数据C1的块头中当前区块的Hash值;并将所述区块数据C1添加到所述链A1的末尾区块之后;从而更新所述链A1中的末尾区块为所述区块数据C1;当所述链A1中没有区块时,所述链A1中的末尾区块的Hash值为空;
步骤4、所述数据提供方以区块类型B2的数据结构来构建包含智能合约指令集的区块数据C2,令区块数据C2的块内容数据为智能合约指令集;且所述区块数据C2中智能合约指令集包括用于校验用户合法性的指令D1和从A1链中查询出用户权限数据的指令D2;令所述区块数据C2的块头中上一个区块的Hash值为所述链A2中的末尾区块的Hash值;利用改进的Hash算法获得区块数据C2的块头中当前区块的Hash值;并将所述区块数据C2添加到所述链A2的末尾区块之后,从而更新所述链A2中的末尾区块为所述区块数据C2;
步骤5、所述数据提供方将所述链A1、链A2存入分布式账本中;
步骤6、所述数据提供方提供分布式账本数据的共识机制;
步骤6.1、所述数据提供方基于UDP广播协议提供用于发现所述区块链节点网络中相邻区块链节点的通信接口,从而获取区块链节点网络中相邻的区块链节点,定义一个相邻的区块链节点的列表变量,并将所获取的相邻的区块链节点的IP数据添加到列表变量中;
步骤6.2、基于共识算法来同步各区块链节点的链A1、链A2的数据;
当一个区块链节点的链A1与另一个区块链节点的链A1不同时,或者当一个区块链节点的链A2与另一个区块链节点的链A2不同时,先通过校验算法检验链A1或链A2链的合法性,若通过合法性校验,以取最长链的方式使得所述区块链节点网络中的区块链节 点间达成链A1或链A2的数据共识;否则,保持原始的链A1或链A2;
步骤7、所述数据提供方接收所述数据接收方传入用户名和用户密码,并调用所述校验用户合法性的指令D1来认证用户身份,若认证通过,则执行步骤8;否则,表示所述数据接收方非法操作,并终止操作;
步骤8、所述数据提供方调用所述查询用户权限数据指令D2获取所述数据接收方的权限数据,并通过加密算法进行加密后获取权限数据的密文,并传输给所述数据接收方;
步骤9、所述数据接收方通过解密算法对权限数据的密文进行解密,从而获取权限数据的明文。
2.根据权利要求1所述的基于区块链智能合约的授权方法,其特征是,所述改进的Hash算法是按如下步骤进行:
a)设置Hash碰撞阈值为T;
b)获取当前时间戳,将区块数据C1的块内容和当前时间戳拼接为一个当前二进制数据,并计算所述当前二进制数据的位数,记为N;
c)通过对位数N以Δ取模,获得余数M,从而对所述当前二进制数据的末尾填补一个“1”和M-1个“0”;其中,Δ表示原子块的位数;
d)将所述当前二进制数据按Δ的位数分割成X个小块;
e)初始化当前小块为第x个小块;初始化x=1;
f)利用SHA256散列算法计算第x个小块和第x+1个小块的Hash值并作为第x+1个小块,
g)将x+1赋值给x后,判断x>X是否成立,若成立,则表示得到第X次计算出的Hash值,记为Hx;否则返回步骤e)
h)判断Hx<T是否成立,若表示碰撞成功,所述Hash值Hx即为所述当前区块Hash值;否则,返回步骤b重新计算;
i)将碰撞成功时的当前时间戳存入区块数据C1块头的时间戳中。
3.根据权利要求1所述的基于区块链智能合约的授权方法,其特征是,所述校验算法为遍历链A1或链A2中的每一个区块,并检验当前所遍历的区块中“上一个区块的Hash值”与当前所遍历的区块的上一个区块中的“当前区块的Hash值”是否相同,若不相同,则表示未通过合法性校验,若相同,则表示继续通过所述改进的Hash算法计算当前所遍历的区块中的块内容的Hash值是否正确,若正确,则表示通过合法性校验,否则表示未通过合法性校验。
4.根据权利要求1所述的基于区块链智能合约的授权方法,其特征是,所述加密算法和解密算法是采用非对称加密中的椭圆曲线算法Ecrecover;公、私钥由所述数据接收方通过Ecrecover算法生成,公钥上传至可信的第三方信用机构保存,私钥由数据接收方自己保管;
所述加密算法的执行过程为:先从可信的第三方信用机构获取所述数据接收方的公钥,然后利用加密函数和公钥数据对明文进行加密,从而获得密文;
所述解密算法的执行过程为,利用私钥参数和解密函数对密文进行解密,获得明文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010994826.XA CN112134879B (zh) | 2020-09-21 | 2020-09-21 | 一种基于区块链智能合约的授权方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010994826.XA CN112134879B (zh) | 2020-09-21 | 2020-09-21 | 一种基于区块链智能合约的授权方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112134879A CN112134879A (zh) | 2020-12-25 |
CN112134879B true CN112134879B (zh) | 2022-08-30 |
Family
ID=73842961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010994826.XA Active CN112134879B (zh) | 2020-09-21 | 2020-09-21 | 一种基于区块链智能合约的授权方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112134879B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342900B (zh) * | 2021-08-02 | 2021-10-29 | 成都天府市民云服务有限公司 | 一种基于区块链的个人信息授权方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933020A (zh) * | 2018-09-20 | 2020-03-27 | 埃森哲环球解决方案有限公司 | 密码逻辑自执行区块链导出提交 |
CN111444268A (zh) * | 2020-02-20 | 2020-07-24 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的数据加密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635790B2 (en) * | 2016-09-08 | 2020-04-28 | Refinitiv Us Organization Llc | Systems and methods for providing identity assurance for decentralized applications |
-
2020
- 2020-09-21 CN CN202010994826.XA patent/CN112134879B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933020A (zh) * | 2018-09-20 | 2020-03-27 | 埃森哲环球解决方案有限公司 | 密码逻辑自执行区块链导出提交 |
CN111444268A (zh) * | 2020-02-20 | 2020-07-24 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的数据加密方法 |
Non-Patent Citations (2)
Title |
---|
区块链隐私保护技术;刘滋润等;《计算机工程与设计》;20190616(第06期);全文 * |
基于区块链技术的身份认证与存储方法研究;王乃洲等;《现代信息科技》;20200425(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112134879A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891384B2 (en) | Blockchain transaction device and method | |
CN110933108B (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
EP3025226B1 (en) | Media client device authentication using hardware root of trust | |
CN109478214B (zh) | 用于证书注册的装置和方法 | |
CN110099064B (zh) | 一种基于物联网的文件处理方法、装置、设备和存储介质 | |
CN107483509A (zh) | 一种身份验证方法、服务器及可读存储介质 | |
US20060129847A1 (en) | Methods and systems for providing a secure data distribution via public networks | |
CN107733653B (zh) | 用户权限鉴定方法及系统和计算机设备 | |
CN109560931A (zh) | 一种基于无证书体系的设备远程升级方法 | |
US20220216999A1 (en) | Blockchain system for supporting change of plain text data included in transaction | |
CN117240452A (zh) | 一种基于区块链的高原数据安全共享方法 | |
CN115883154A (zh) | 访问凭证的颁发方法、基于区块链的数据访问方法及装置 | |
CN112134879B (zh) | 一种基于区块链智能合约的授权方法 | |
CN113545025A (zh) | 用于信息传输的方法和系统 | |
CN118070316B (zh) | 基于安全设备的离线授权方法、离线授权系统和存储介质 | |
US20240333478A1 (en) | Quantum-resistant cryptosystem and electronic device included in the same | |
WO2023127429A1 (ja) | 電子機器、情報処理方法 | |
US20240340188A1 (en) | Independent identity provenance and lineage for certificates | |
Nikitin | Integrity and Metadata Protection in Data Retrieval | |
Wu et al. | Enhancing Cloud Data Integrity Verification Scheme with User Legitimacy Check | |
CN116055105A (zh) | 云存储数据的处理方法、装置和服务器 | |
US20080177999A1 (en) | Content providing apparatus and method, content using apparatus and method, and content providing apparatus and method for revoking content using apparatus | |
JP2006165874A (ja) | 電子制御装置及びデータ保護システム | |
CN117879829A (zh) | 一种权限控制方法及设备 | |
EA044169B1 (ru) | Способ и система защищенного хранения информации в файловых хранилищах данных |
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 |