CN111131254B - 文件处理方法、区块链节点、区块链和存储介质 - Google Patents
文件处理方法、区块链节点、区块链和存储介质 Download PDFInfo
- Publication number
- CN111131254B CN111131254B CN201911359028.3A CN201911359028A CN111131254B CN 111131254 B CN111131254 B CN 111131254B CN 201911359028 A CN201911359028 A CN 201911359028A CN 111131254 B CN111131254 B CN 111131254B
- Authority
- CN
- China
- Prior art keywords
- file
- client
- hash value
- user
- encrypted file
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 230000004913 activation Effects 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000003068 static effect Effects 0.000 claims abstract description 26
- 230000008859 change Effects 0.000 claims description 27
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 244000118350 Andrographis paniculata Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
- 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/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
Abstract
本申请提供一种文件处理方法、区块链节点、区块链和存储介质。该方法应用于区块链中的任一个区块链节点,区块链节点上安装有区块链客户端和文件客户端,区块链节点上还存储有加密文件,方法包括:区块链客户端获取用户的信息,用户的信息包括:用户的标识和秘密信息。区块链客户端根据用户的标识和秘密信息,生成用户的激活码,并将激活码发送给文件客户端。文件客户端对激活码进行验证。若文件客户端对激活码验证成功,则文件客户端从静止态进入就绪态,以使用户通过文件客户端访问加密文件。从而可以降低文件访问失败的概率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种文件处理方法、区块链节点、区块链和存储介质。
背景技术
时代的信息化和网络化的发展,使得当今的互联网通信中,信息的传输和共享形式多样化,其中文件的传输和共享是常见的形式,如企业内的文件的传阅,互联网中特定兴趣或职业范围内的文件共享。随着安全技术的发展,人员安全意识的增强,文件的传输和共享常会要求限制在特定的范围中。
现有技术中通过如下方式实现文件的限制性传输和共享:文件可以通过约定的加密算法被加密,每个授权的客户端与中心服务器连接,授权的客户端只能在中心服务器的策略控制下,用户才能通过授权的客户端访问上述加密文件。然而,当多个客户端同时需要访问上述加密文件时,均会向中心服务器发送网络请求,这可能造成中心服务器的服务拒绝,从而造成文件访问失败的情况。
发明内容
本申请提供一种文件处理方法、区块链节点、区块链和存储介质。从而可以降低文件访问失败的概率。
第一方面,本申请提供一种文件处理方法,方法应用于区块链中的任一个区块链节点,区块链节点上安装有区块链客户端和文件客户端,区块链节点上还存储有加密文件,方法包括:区块链客户端获取用户的信息,用户的信息包括:用户的标识和秘密信息。区块链客户端根据用户的标识和秘密信息,生成用户的激活码,并将激活码发送给文件客户端。文件客户端对激活码进行验证。若文件客户端对激活码验证成功,则文件客户端从静止态进入就绪态,以使用户通过文件客户端访问加密文件。即本申请无需通过中心服务器控制客户端,以访问文件,从而可以降低文件访问失败的概率。
可选的,文件客户端从静止态进入就绪态,以使用户通过文件客户端访问加密文件之后,还包括:文件客户端从就绪态进入运行态,记录用户对加密文件的操作和操作结果,将操作、操作结果、用户的信息、加密文件打包,以生成打包数据,并将打包数据发送给区块链客户端。区块链客户端将打包数据生成区块数据,并将区块数据或者打包数据上传至区块链。从而实现数据的共享。
可选的,文件客户端将打包数据发送给区块链客户端之后,还包括:文件客户端从运行态进入就绪态。可选的,文件客户端从运行态进入就绪态之后,还包括:当文件客户端进入就绪态的时长达到预设时长,则文件客户端进入静止态。和/或,当文件客户端进入就绪态的时长达到预设时长,则区块链客户端注销用户。即即在需要使用文件客户端时,文件客户端可以处于运行态,保证用户可以通过文件客户端正常访问或者编辑加密文件,当无需使用文件客户端时,文件客户端可以处于静止态,从而可以降低对上述区块链节点的资源开销。
可选的,区块数据或者打包数据仅供用户和与用户具有相同秘密信息的用户访问。由于具有相同秘密信息的用户构成上述加密文件的可访问用户组,从而使得只有该可访问用户组才能访问上述加密文件,进而可以限制加密文件的传播和使用。
可选的,还包括:文件客户端更新加密文件对应的密钥。文件客户端将加密文件对应的更新后的密钥发送给其他文件客户端。即用户双方的文件客户端还可以进行离线的密钥共享,从而可以限制文件的传播和使用将仅受限于点对点的用户中。
可选的,操作结果包括加密文件的第一确定哈希值和第一模糊哈希值,第一确定哈希值为对加密文件采用确定哈希算法得到的哈希值,第一模糊哈希值为对加密文件采用模糊哈希算法得到的哈希值。相应的,方法还包括:当加密文件的文件名称和文件内容均未发生改变时,区块链节点通过文件名查询加密文件被创建后的操作。当加密文件的文件名称发生改变,且文件内容未发生改变时,区块链节点通过第一确定哈希值查询加密文件被第一次保存之后的操作。当加密文件的文件内容发生改变,且文件名称未发生改变时,区块链节点确定文件内容发生改变之后的加密文件对应的第二确定哈希值,并通过第二确定哈希值查询文件内容发生改变之后的加密文件的操作。当加密文件的文件内容和文件名称均发生改变时,区块链节点确定文件内容发生改变之后的加密文件对应的第二模糊哈希值,并通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作。总之,区块链节点可以回溯获取到加密文件对应的操作。尤其是,当加密文件的文件内容和文件名称均发生改变时,区块链节点确定文件内容发生改变之后的加密文件对应的第二模糊哈希值,并通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作。该溯源过程可实现断路的溯源链路的连接,也可以实现对错误链路的修正,从而可查出文件整个生命周期的操作记录。
可选,区块链节点通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作,包括:区块链节点计算第一模糊哈希值和第二模糊哈希值的相似度。当相似度大于预设相似度时,区块链节点通过第一模糊哈希值查询加密文件在改变之前的第一操作,并通过第二模糊哈希值查询加密文件在改变之后的第二操作,并关联第一操作和第二操作。
第二方面,本申请提供一种区块链节点,区块链节点包括:处理器和存储器,存储器用于存储加密文件,区块链节点上安装有区块链客户端和文件客户端。处理器用于获取用户的信息,用户的信息包括:用户的标识和秘密信息,并根据用户的标识和秘密信息,生成用户的激活码,对激活码进行验证。若对激活码验证成功,则控制文件客户端从静止态进入就绪态,以使用户通过文件客户端访问加密文件。
第三方面,本申请提供一种区块链,包括:如第二方面所述的区块链节点和其他区块链节点。
第四方面,本申请提供一种计算机可读存储介质,包括:计算机指令,计算机指令用于实现如第一方面或第一方面的可选方式所述的文件处理方法。
第五方面,本申请提供一种计算机程序产品,包括:计算机指令,计算机指令用于实现如第一方面或第一方面的可选方式所述的文件处理方法。
本申请提供一种文件处理方法、区块链节点、区块链和存储介质。本申请无需通过中心服务器控制客户端,以访问文件,从而可以降低文件访问失败的概率。进一步地,由于具有相同秘密信息的用户构成上述加密文件的可访问用户组,从而使得只有该可访问用户组才能访问上述加密文件,进而可以限制加密文件的传播和使用。更进一步地,用户双方的文件客户端还可以进行离线的密钥共享,从而可以限制文件的传播和使用将仅受限于点对点的用户中。
附图说明
图1为本申请一实施例提供的一种区块链网络的示意图;
图2为本申请一实施例提供的一种文件处理方法的流程图;
图3为本申请另一实施例提供的一种文件处理方法的流程图;
图4为本申请一实施例提供的文件客户端的状态示意图;
图5为本申请一实施例提供的一种区块链节点的示意图;
图6为本申请另一实施例提供的一种区块链节点的示意图。
具体实施方式
如上所述,现有技术中,文件可以通过约定的加密算法被加密,每个授权的客户端与中心服务器连接,授权的客户端只能在中心服务器的策略控制下,用户才能通过授权的客户端访问上述加密文件。然而,当多个客户端同时需要访问上述加密文件时,均会向中心服务器发送网络请求,这可能造成中心服务器的服务拒绝,从而造成文件访问失败的情况。
为了解决上述技术问题,本申请提供一种文件处理方法、区块链节点、区块链和存储介质。
示例性地,本申请适用于区块链网络BNet:图1为本申请一实施例提供的一种区块链网络的示意图,如图1所示,区块链包括:多个区块链节点BNode,分别为区块链节点1、2……n,其中,1、2……n为区块链节点的索引,每个区块链节点上安装有区块链客户端和文件客户端,需要说明的是,图1中是以区块链节点n为例,上面包括有区块链客户端和文件客户端,实际上,其他区块链节点上也安装有区块链客户端和文件客户端。上述区块链客户端主要负责对本节点进行密钥管理、用户身份认证和与本节点相关的区块信息的索引存储。文件客户端用于对文件的访问和编辑,并且文件客户端不能用于导出明文文件。位于同一节点上的区块链客户端和文件客户端具有关联关系,所谓区块链客户端和文件客户端具有关联关系,指的是区块链客户端和文件客户端之间可以实现通信。
可选的,上述区块链节点上还可以包括:区块链浏览器,通过区块链浏览器可以查看当前链上数据区块高度,文件使用信息的打包情况,以及区块生成的情况等信息。
下面对本申请技术方案进行详细说明:
图2为本申请一实施例提供的一种文件处理方法的流程图,该方法涉及的执行主体为任一个区块链节点的区块链客户端和文件客户端,其中该区块链节点上还存储有加密文件,如图2所示,该方法包括如下步骤:
步骤S201:区块链客户端获取用户的信息,用户的信息包括:用户的标识和秘密信息。
步骤S202:区块链客户端根据用户的标识和秘密信息,并生成用户的激活码。
步骤S203:区块链客户端将激活码发送给文件客户端。
步骤S204:文件客户端对激活码进行验证。
步骤S205:若文件客户端对激活码验证成功,则文件客户端从静止态进入就绪态,以使用户通过文件客户端访问加密文件。
可选的,上述用户的标识(Identity,ID)用于唯一标识用户,其可以是用户的手机号、身份证号等,本申请对此不做限制。
可选的,创建上述加密文件的用户可以使用秘密信息的分发方式,为所有在上述区块链中,并需要访问上述加密文件的用户进行秘密信息分发。具有相同秘密信息的用户构成上述加密文件的可访问用户组,从而使得只有该可访问用户组才能访问上述加密文件,进而可以限制加密文件的传播和使用。
可选的,用户的秘密信息secret包括用户的口令、生物特征等,本申请对此不做限制。
可选的,用户的信息还包括用户的名称(User Name,Uname)、用户的私钥(SecretKey,SK)、用户的公钥(Public Key,PK)、用户公钥哈希 Hashpk、上述区块链节点的标识(Identity of BNet,IDBN)等,假设用户用 User表示,那么用户的信息可以通过如下方式表示:
User={Uname,ID,secret,SK,PK,Hashpk,IDBN}
需要说明的是,所有需要访问上述加密文件的用户应当在同一个区块链网络中。
可选的,区块链客户端采用一致性校验、数字签名等算法对用户进行认证,在区块链客户端对用户认证成功之后,区块链客户端采用如对称密码或哈希密码算法等,根据用户的标识和秘密信息,生成用户的激活码 ActiveCode,并将激活码ActiveCode通过区块链客户端和文件客户端之间的秘密通道发送给文件客户端。
可选的,在区块链客户端将激活码ActiveCode发送给文件客户端之前,区块链客户端处于静止态,这时文件客户端无法与用户交互,用户无法通过文件客户端打开任何文件。基于此,可以降低对上述区块链节点的资源开销。当文件客户端接收到激活码ActiveCode之后,可以通过一致性校验或数据签名算法等验证激活码ActiveCode的合法性,当文件客户端对激活码 ActiveCode验证通过时,文件客户端从静止态转变为就绪态,这时文件客户端能够与用户进行交互,处于等待打开任何文件状态,以使所述用户通过所述文件客户端访问加密文件。否则,文件客户端继续保持静止态。
可选的,当用户通过文件客户端导出上述加密文件之后,用户还可以通过文件客户端更新加密文件的密钥,并将更新后的密钥发送给区块链上的其他用户对应的文件客户端,即双方的文件客户端可以进行离线的密钥共享,从而可以限制文件的传播和使用将仅受限于点对点的用户中。
可选的,上述加密文件可以通过Doc表示,加密文件的信息包括:文件名称Name、文件类型Type,文件大小Size,文件创建时间(Creat Time,CT),文件最后修改时间(LastModified Time,LMT)、第一确定哈希值BHash、第一模糊哈希值BFHash等信息,其中,第一确定哈希值为对上述加密文件采用确定哈希算法得到的哈希值,确定哈希算法可以是MD5、SHA-256等算法,这种确定哈希算法具有较强的抗碰撞行,对数据运算所得的值为确定性的、唯一性的。第一模糊哈希值为对上述加密文件采用模糊哈希算法得到的哈希值。模糊哈希算法可以是sdhash、tlsh等算法,其对数据运算所得的值,在抗碰撞性上较弱。假设加密文件用Doc表示,那么加密文件的信息可以通过如下方式表示:
Doc={Name,Type,Size,CT,LMT、BHash、BFHash}
综上,本申请提供一种文件处理方法,包括:区块链客户端获取用户的信息。区块链客户端根据用户的标识和秘密信息,生成用户的激活码,并将激活码发送给文件客户端。文件客户端对激活码进行验证。若文件客户端对激活码验证成功,则文件客户端从静止态进入就绪态,以使用户通过文件客户端访问加密文件。即本申请无需通过中心服务器控制客户端,以访问文件,从而可以降低文件访问失败的概率。进一步地,由于具有相同秘密信息的用户构成上述加密文件的可访问用户组,从而使得只有该可访问用户组才能访问上述加密文件,进而可以限制加密文件的传播和使用。更进一步地,用户双方的文件客户端还可以进行离线的密钥共享,从而可以限制文件的传播和使用将仅受限于点对点的用户中。
图3为本申请另一实施例提供的一种文件处理方法的流程图,该方法涉及的执行主体为任一个区块链节点的区块链客户端和文件客户端,其中该区块链节点上还存储有加密文件,如图3所示,在上述步骤S205之后,该方法还包括如下步骤:
步骤S206:文件客户端从就绪态进入运行态,记录用户对加密文件的操作和操作结果,将操作、操作结果、用户的信息、加密文件打包,以生成打包数据。
步骤S207:文件客户端将打包数据发送给区块链客户端。
步骤S208:区块链客户端将打包数据生成区块数据,并将区块数据或者打包数据上传至区块链。
其中,当用户通过文件客户端打开加密文件后,文件客户端从就绪态进入运行态,这时文件客户端能够接受用户对文件的读写改等操作,同时文件客户端可以跟踪并记录用户对加密文件的操作和操作结果。
其中,用户对加密文件的操作包括:创建操作(Creat,C)、读操作(Read, R)、写操作(Write,W)、更改操作(Modified,M)、删除操作(Delete, D)和空操作(Null,N)。假设用户对加密文件的所有操作用OpC表示,那么上述操作可表示为:OpC={C,R,W,M,D,N},则有操作定义符号表示为Op={OpC,OpT},其中OpT表示操作时间。
相应的,假设用户对加密文件的操作为:创建操作,则用户对加密文件的操作结果包括以下至少一项:第一确定哈希值、第一模糊哈希值、用户对加密文件使用私钥SK对第一确定哈希值计算得到的数字签名。假设用户对加密文件的操作为:写操作、更改操作或者删除操作,即加密文件发生了修改,则用户对加密文件的操作结果包括以下至少一项:第二确定哈希值、第二模糊哈希值、用户对加密文件使用私钥SK对第二确定哈希值计算得到的数字签名。第二确定哈希值为对修改后的加密文件用确定哈希算法得到的哈希值,第二模糊哈希值为对修改后的加密文件采用模糊哈希算法得到的哈希值。
进一步地,文件客户端可以将操作Op、操作结果Rslt、用户的信息User、加密文件DoC打包,以生成打包数据。其中,生成的打包数据可以用OD表示,OD={User,DoC,Op,Rslt}。
可选的,文件客户端可以通过其与区块链客户端之间的秘密通道将打包数据发送给区块链客户端,这时文件客户端从运行态进入就绪态。
进一步地,区块链客户端将打包数据生成区块数据BD,并将区块数据 BD或者打包数据上传至区块链。其中,区块数据或者打包数据仅供上述用户和与该用户具有相同秘密信息的用户访问。
可选的,文件客户端从运行态进入就绪态之后,还包括:当文件客户端进入就绪态的时长达到预设时长,则文件客户端进入静止态。和/或,当文件客户端进入就绪态的时长达到预设时长,则区块链客户端注销用户。其中,该预设时长可以根据实际情况设置,例如可以是5分钟,10分钟等,本申请对此不做限制。
图4为本申请一实施例提供的文件客户端的状态示意图,如图4所示,如上所述,若文件客户端对激活码验证成功,则文件客户端从静止态进入就绪态,当用户通过文件客户端打开加密文件后,文件客户端从就绪态进入运行态,当文件客户端将打包数据发送给区块链客户端,文件客户端从运行态进入就绪态,当文件客户端进入就绪态的时长达到预设时长,则文件客户端从就绪态进入静止态。
综上,本申请提供一种文件处理方法,其中,文件客户端可以在不同的情况下,进行状态切换,即在需要使用文件客户端时,文件客户端可以处于运行态,保证用户可以通过文件客户端正常访问或者编辑加密文件,当无需使用文件客户端时,文件客户端可以处于静止态,从而可以降低对上述区块链节点的资源开销。进一步地,由于使用了区块链技术对链上操作数据进行管理,区块数据通过确定哈希值建立了链式关系,避免了存在中心化服务器对链上数据进行篡改的可能。
在本申请中,区块链节点还可以回溯查询用户对加密文件的操作。具体地,如上所述,上述加密文件的操作结果包括:加密文件的第一确定哈希值和第一模糊哈希值。相应的,文件处理方法还包括:当加密文件的文件名称和文件内容均未发生改变时,区块链节点通过文件名查询加密文件被创建后的操作。即区块链节点可以利用区块链上数据链式存储和管理的特性,以及每个区块上的数据存储的结构和方式,可以以文件名称为线索,溯源具有相同名称文件的加密文件,并查询该加密文件被创建后的操作。
当加密文件的文件名称发生改变,且文件内容未发生改变时,由于第一确定哈希值是对加密文件的文件内容采用确定哈希算法得到的哈希值,因此,该第一确定哈希值没有发生变化,基于此,区块链节点可以通过第一确定哈希值查询加密文件被第一次保存之后的操作。
当加密文件的文件内容发生改变,且文件名称未发生改变时,由于加密文件的文件内容发生了改变,而第二确定哈希值是对文件内容发生改变之后的加密文件采用确定哈希算法得到的哈希值,因此区块链节点可以通过第二确定哈希值查询文件内容发生改变之后的加密文件的操作。区块链节点还可以通过文件名称或者第一确定哈希值查询文件内容发生改变之前的加密文件的操作。
当加密文件的文件内容和文件名称均发生改变时,区块链节点确定文件内容发生改变之后的加密文件对应的第二模糊哈希值,并通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作。可选的,区块链节点通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作,包括:区块链节点计算第一模糊哈希值和第二模糊哈希值的相似度。当相似度大于预设相似度时,区块链节点通过第一模糊哈希值查询加密文件在改变之前的第一操作,并通过第二模糊哈希值查询加密文件在改变之后的第二操作,并关联第一操作和第二操作。
其中,上述的预设相似度可以根据实际情况设置,例如:预设相似度可以是80%。当第一模糊哈希值和第二模糊哈希值的相似度小于或者等于预设相似度时,说明第一模糊哈希值或者第二模糊哈希值有误,这种情况下,通过第一模糊哈希值查询到的加密文件在改变之前的第一操作,和通过第二模糊哈希值查询加密文件在改变之后的第二操作,之间没有关联性,因此,无需区块链节点无需通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作。
可选的,区块链节点计算第一模糊哈希值和第二模糊哈希值的相似度的方式是:计算第一模糊哈希值和第二模糊哈希值的差值,其中,一个差值区间对应的一个相似度,比如:差值区间在[0,0.05)之间,对应的相似度为90%,差值在[0.05,0.1)之间,对应的相似度为80%。
综上,本申请提供一种文件处理方法,其中区块链节点可以根据文件名查询加密文件被创建后的操作,或者,通过第一确定哈希值查询加密文件被第一次保存之后的操作,或者,通过第二确定哈希值查询文件内容发生改变之后的加密文件的操作,或者,通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作,总之,区块链节点可以回溯获取到加密文件对应的操作。尤其是,当加密文件的文件内容和文件名称均发生改变时,区块链节点确定文件内容发生改变之后的加密文件对应的第二模糊哈希值,并通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作。该溯源过程可实现断路的溯源链路的连接,也可以实现对错误链路的修正,从而可查出文件整个生命周期的操作记录。
图5为本申请一实施例提供的一种区块链节点的示意图,该区块链节点为区块链上的任一个节点,如图5所示,区块链节点上安装有区块链客户端 51和文件客户端52,区块链节点上还存储有加密文件。
区块链客户端51用于获取用户的信息,用户的信息包括:用户的标识和秘密信息,根据用户的标识和秘密信息,生成用户的激活码,并将激活码发送给文件客户端52。
文件客户端52用于对激活码进行验证,若对激活码验证成功,则从静止态进入就绪态,以使用户通过文件客户端52访问加密文件。
可选的,文件客户端52还用于,在文件客户端52从静止态进入就绪态,以使用户通过文件客户端52访问加密文件之后,从就绪态进入运行态,记录用户对加密文件的操作和操作结果,将操作、操作结果、用户的信息、加密文件打包,以生成打包数据,并将打包数据发送给区块链客户端51。
区块链客户端51还用于将打包数据生成区块数据,并将区块数据或者打包数据上传至区块链。
可选的,文件客户端52还用于:在文件客户端52将打包数据发送给区块链客户端51之后,从运行态进入就绪态。
可选的,文件客户端52还用于:在文件客户端52从运行态进入就绪态之后,当文件客户端52进入就绪态的时长达到预设时长,则进入静止态。和 /或,区块链客户端51还用于:当文件客户端52进入就绪态的时长达到预设时长,则注销用户。
可选的,区块数据或者打包数据仅供用户和与用户具有相同秘密信息的用户访问。
可选的,文件客户端52还用于更新加密文件对应的密钥,将加密文件对应的更新后的密钥发送给其他文件客户端52。
可选的,操作结果包括加密文件的第一确定哈希值和第一模糊哈希值,第一确定哈希值为对加密文件采用确定哈希算法得到的哈希值,第一模糊哈希值为对加密文件采用模糊哈希算法得到的哈希值。区块链节点还包括:查询模块53,用于当加密文件的文件名称和文件内容均未发生改变时,通过文件名查询加密文件被创建后的操作。当加密文件的文件名称发生改变,且文件内容未发生改变时,通过第一确定哈希值查询加密文件被第一次保存之后的操作。当加密文件的文件内容发生改变,且文件名称未发生改变时,确定文件内容发生改变之后的加密文件对应的第二确定哈希值,并通过第二确定哈希值查询文件内容发生改变之后的加密文件的操作。当加密文件的文件内容和文件名称均发生改变时,确定文件内容发生改变之后的加密文件对应的第二模糊哈希值,并通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作。
可选的,查询模块53具体用于:计算第一模糊哈希值和第二模糊哈希值的相似度。当相似度大于预设相似度时,通过第一模糊哈希值查询加密文件在改变之前的第一操作,并通过第二模糊哈希值查询加密文件在改变之后的第二操作,并关联第一操作和第二操作。
本申请提供的区块链节点用于执行上述的文件处理方法,其内容和效果可参考方法实施例部分,对此不再赘述。
图6为本申请另一实施例提供的一种区块链节点的示意图,如图6所示,区块链节点包括:处理器61和存储器62,存储器62用于存储加密文件,区块链节点上安装有区块链客户端和文件客户端。
处理器61用于获取用户的信息,用户的信息包括:用户的标识和秘密信息,并根据用户的标识和秘密信息,生成用户的激活码,对激活码进行验证。若对激活码验证成功,则控制文件客户端从静止态进入就绪态,以使用户通过文件客户端访问加密文件。
可选的,处理器61还用于控制文件客户端从静止态进入就绪态,以使用户通过文件客户端访问加密文件之后,控制文件客户端从就绪态进入运行态,记录用户对加密文件的操作和操作结果,将操作、操作结果、用户的标识、文件名、加密文件打包,以生成打包数据,将打包数据生成区块数据,并将区块数据或者打包数据上传至区块链节点所在的区块链。
可选的,处理器61还用于在将打包数据发送给区块链客户端之后,控制文件客户端从运行态进入就绪态。
可选的,处理器61还用于控制文件客户端从运行态进入就绪态之后,当文件客户端进入就绪态的时长达到预设时长,则控制文件客户端进入静止态。和/或,处理器61还用于当文件客户端进入就绪态的时长达到预设时长,则注销用户。
可选的,区块数据或者打包数据仅供用户和与用户具有相同秘密信息的用户访问。
可选的,处理器61还用于更新加密文件对应的密钥,并将加密文件对应的更新后的密钥发送给其他区块链客户端。
可选的,操作结果包括加密文件的第一确定哈希值和第一模糊哈希值,第一确定哈希值为对加密文件采用确定哈希算法得到的哈希值,第一模糊哈希值为对加密文件采用模糊哈希算法得到的哈希值。相应的,处理器61还用于:当加密文件的文件名称和文件内容均未发生改变时,通过文件名查询加密文件被创建后的操作。当加密文件的文件名称发生改变,且文件内容未发生改变时,通过第一确定哈希值查询加密文件被第一次保存之后的操作。当加密文件的文件内容发生改变,且文件名称未发生改变时,确定文件内容发生改变之后的加密文件对应的第二确定哈希值,并通过第二确定哈希值查询文件内容发生改变之后的加密文件的操作。当加密文件的文件内容和文件名称均发生改变时,确定文件内容发生改变之后的加密文件对应的第二模糊哈希值,并通过第一模糊哈希值和第二模糊哈希值查询加密文件在改变之前和改变之后的操作。
可选的,处理器61具体用于:计算第一模糊哈希值和第二模糊哈希值的相似度。当相似度大于预设相似度时,通过第一模糊哈希值查询加密文件在改变之前的第一操作,并通过第二模糊哈希值查询加密文件在改变之后的第二操作,并关联第一操作和第二操作。
上述区块链节点还包括:收发器63,用于实现与其他设备之间的通信。
本申请提供的区块链节点用于执行上述的文件处理方法,其内容和效果可参考方法实施例部分,对此不再赘述。
本申请还提供一种区块链,如图1所示,该区块链包括:多个区块链节点,该区块链节点如上述实施例所述的区块链节点,其可以用于执行上述的文件处理方法,其内容和效果可参考方法实施例部分,对此不再赘述。
本申请还提供一种计算机可读存储介质,包括:可读存储介质和计算机指令,所述计算机指令存储在所述可读存储介质中;所述计算机指令用于实现前述任一方法实施例中的文件处理方法。
本申请实施例还提供一种程序产品,该程序产品包括计算机指令(即计算机程序),以实现上述文件处理方法。
应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读存储器(英文:read-only memory,缩写:ROM)、 RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘 (英文:floppy disk)、光盘(英文:optical disc)及其任意组合。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (14)
1.一种文件处理方法,其特征在于,所述方法应用于区块链中的任一个区块链节点,所述区块链节点上安装有区块链客户端和文件客户端,所述区块链节点上还存储有加密文件,所述方法包括:
所述区块链客户端获取用户的信息,所述用户的信息包括:所述用户的标识和秘密信息;
所述区块链客户端根据所述用户的标识和秘密信息,生成所述用户的激活码,并将所述激活码发送给所述文件客户端;
所述文件客户端对所述激活码进行验证;
若所述文件客户端对所述激活码验证成功,则所述文件客户端从静止态进入就绪态,以使所述用户通过所述文件客户端访问所述加密文件;
所述文件客户端从静止态进入就绪态,以使所述用户通过所述文件客户端访问所述加密文件之后,还包括:
所述文件客户端从所述就绪态进入运行态,记录所述用户对所述加密文件的操作和操作结果,将所述操作、所述操作结果、所述用户的信息、所述加密文件打包,以生成打包数据,并将所述打包数据发送给所述区块链客户端;
所述区块链客户端将所述打包数据生成区块数据,并将所述区块数据或者打包数据上传至所述区块链;
所述操作结果包括所述加密文件的第一确定哈希值和第一模糊哈希值,所述第一确定哈希值为对所述加密文件采用确定哈希算法得到的哈希值,所述第一模糊哈希值为对所述加密文件采用模糊哈希算法得到的哈希值;
相应的,所述方法还包括:
当所述加密文件的文件名称和文件内容均未发生改变时,所述区块链节点通过所述文件名查询所述加密文件被创建后的操作;
当所述加密文件的文件名称发生改变,且文件内容未发生改变时,所述区块链节点通过所述第一确定哈希值查询所述加密文件被第一次保存之后的操作;
当所述加密文件的文件内容发生改变,且文件名称未发生改变时,所述区块链节点确定文件内容发生改变之后的加密文件对应的第二确定哈希值,并通过所述第二确定哈希值查询所述文件内容发生改变之后的加密文件的操作;
当所述加密文件的文件内容和文件名称均发生改变时,所述区块链节点确定文件内容发生改变之后的加密文件对应的第二模糊哈希值,并通过所述第一模糊哈希值和所述第二模糊哈希值查询所述加密文件在改变之前和改变之后的操作。
2.根据权利要求1所述的方法,其特征在于,所述文件客户端将所述打包数据发送给所述区块链客户端之后,还包括:
所述文件客户端从所述运行态进入所述就绪态。
3.根据权利要求1所述的方法,其特征在于,所述文件客户端从所述运行态进入所述就绪态之后,还包括:
当所述文件客户端进入所述就绪态的时长达到预设时长,则所述文件客户端进入所述静止态;
和/或,
当所述文件客户端进入所述就绪态的时长达到预设时长,则所述区块链客户端注销所述用户。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述区块数据或者所述打包数据仅供所述用户和与所述用户具有相同秘密信息的用户访问。
5.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
所述文件客户端更新所述加密文件对应的密钥;
所述文件客户端将所述加密文件对应的更新后的密钥发送给其他文件客户端。
6.根据权利要求1所述的方法,其特征在于,所述区块链节点通过所述第一模糊哈希值和所述第二模糊哈希值查询所述加密文件在改变之前和改变之后的操作,包括:
所述区块链节点计算所述第一模糊哈希值和所述第二模糊哈希值的相似度;
当所述相似度大于预设相似度时,所述区块链节点通过所述第一模糊哈希值查询所述加密文件在改变之前的第一操作,并通过所述第二模糊哈希值查询所述加密文件在改变之后的第二操作,并关联所述第一操作和所述第二操作。
7.一种区块链节点,其特征在于,所述区块链节点包括:处理器和存储器,所述存储器用于存储加密文件,所述区块链节点上安装有区块链客户端和文件客户端;
所述处理器用于获取用户的信息,所述用户的信息包括:所述用户的标识和秘密信息,并根据所述用户的标识和秘密信息,生成所述用户的激活码,对所述激活码进行验证;若对所述激活码验证成功,则控制所述文件客户端从静止态进入就绪态,以使所述用户通过所述文件客户端访问所述加密文件;
所述处理器还用于控制所述文件客户端从静止态进入就绪态,以使所述用户通过所述文件客户端访问所述加密文件之后,控制所述文件客户端从所述就绪态进入运行态,记录所述用户对所述加密文件的操作和操作结果,将所述操作、所述操作结果、所述用户的信息、所述加密文件打包,以生成打包数据,将所述打包数据生成区块数据,并将所述区块数据或者打包数据上传至所述区块链节点所在的区块链;
所述操作结果包括所述加密文件的第一确定哈希值和第一模糊哈希值,所述第一确定哈希值为对所述加密文件采用确定哈希算法得到的哈希值,所述第一模糊哈希值为对所述加密文件采用模糊哈希算法得到的哈希值;
相应的,所述处理器还用于:
当所述加密文件的文件名称和文件内容均未发生改变时,通过所述文件名查询所述加密文件被创建后的操作;
当所述加密文件的文件名称发生改变,且文件内容未发生改变时,通过所述第一确定哈希值查询所述加密文件被第一次保存之后的操作;
当所述加密文件的文件内容发生改变,且文件名称未发生改变时,确定文件内容发生改变之后的加密文件对应的第二确定哈希值,并通过所述第二确定哈希值查询所述文件内容发生改变之后的加密文件的操作;
当所述加密文件的文件内容和文件名称均发生改变时,确定文件内容发生改变之后的加密文件对应的第二模糊哈希值,并通过所述第一模糊哈希值和所述第二模糊哈希值查询所述加密文件在改变之前和改变之后的操作。
8.根据权利要求7所述的节点,其特征在于,所述处理器还用于在将所述打包数据发送给所述区块链客户端之后,控制所述文件客户端从所述运行态进入所述就绪态。
9.根据权利要求7所述的节点,其特征在于,所述处理器还用于控制所述文件客户端从所述运行态进入所述就绪态之后,当所述文件客户端进入所述就绪态的时长达到预设时长,则控制所述文件客户端进入所述静止态;
和/或,
所述处理器还用于当所述文件客户端进入所述就绪态的时长达到预设时长,则注销所述用户。
10.根据权利要求7-9任一项所述的节点,其特征在于,所述区块数据或者所述打包数据仅供所述用户和与所述用户具有相同秘密信息的用户访问。
11.根据权利要求7-9任一项所述的节点,其特征在于,
所述处理器还用于更新所述加密文件对应的密钥,并将所述加密文件对应的更新后的密钥发送给其他文件客户端。
12.根据权利要求7所述的节点,其特征在于,所述处理器具体用于:
计算所述第一模糊哈希值和所述第二模糊哈希值的相似度;
当所述相似度大于预设相似度时,通过所述第一模糊哈希值查询所述加密文件在改变之前的第一操作,并通过所述第二模糊哈希值查询所述加密文件在改变之后的第二操作,并关联所述第一操作和所述第二操作。
13.一种区块链,其特征在于,包括:如权利要求7-12任一项所述的区块链节点和其他区块链节点。
14.一种计算机可读存储介质,其特征在于,包括:计算机指令,所述计算机指令用于实现如权利要求1-6任一项所述的文件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359028.3A CN111131254B (zh) | 2019-12-25 | 2019-12-25 | 文件处理方法、区块链节点、区块链和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359028.3A CN111131254B (zh) | 2019-12-25 | 2019-12-25 | 文件处理方法、区块链节点、区块链和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131254A CN111131254A (zh) | 2020-05-08 |
CN111131254B true CN111131254B (zh) | 2022-04-15 |
Family
ID=70502408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911359028.3A Active CN111131254B (zh) | 2019-12-25 | 2019-12-25 | 文件处理方法、区块链节点、区块链和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131254B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395343A (zh) * | 2017-07-10 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 证书管理方法及系统 |
CN110166411A (zh) * | 2018-02-13 | 2019-08-23 | 华为技术有限公司 | 一种数据传输方法、装置和网络节点 |
CN110300112A (zh) * | 2019-07-02 | 2019-10-01 | 石家庄铁道大学 | 区块链密钥分层管理方法 |
EP3547129A1 (en) * | 2017-03-28 | 2019-10-02 | Alibaba Group Holding Limited | Block chain consensus method and device |
CN110417750A (zh) * | 2019-07-09 | 2019-11-05 | 北京健网未来科技有限公司 | 基于区块链技术的文件读取和存储的方法、终端设备和存储介质 |
-
2019
- 2019-12-25 CN CN201911359028.3A patent/CN111131254B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3547129A1 (en) * | 2017-03-28 | 2019-10-02 | Alibaba Group Holding Limited | Block chain consensus method and device |
CN107395343A (zh) * | 2017-07-10 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 证书管理方法及系统 |
CN110166411A (zh) * | 2018-02-13 | 2019-08-23 | 华为技术有限公司 | 一种数据传输方法、装置和网络节点 |
CN110300112A (zh) * | 2019-07-02 | 2019-10-01 | 石家庄铁道大学 | 区块链密钥分层管理方法 |
CN110417750A (zh) * | 2019-07-09 | 2019-11-05 | 北京健网未来科技有限公司 | 基于区块链技术的文件读取和存储的方法、终端设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111131254A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021169112A1 (zh) | 基于共享权限的业务数据处理方法、装置、设备和介质 | |
JP5522307B2 (ja) | 仮想機械によるソフトウェアテストを用いた電子ネットワークにおけるクライアントシステムの遠隔保守のためのシステム及び方法 | |
US7454421B2 (en) | Database access control method, database access controller, agent processing server, database access control program, and medium recording the program | |
US8590052B2 (en) | Enabling granular discretionary access control for data stored in a cloud computing environment | |
CN107483509A (zh) | 一种身份验证方法、服务器及可读存储介质 | |
US20180020008A1 (en) | Secure asynchronous communications | |
US11388011B2 (en) | Accountable identities on the internet | |
US11038835B2 (en) | Systems and methods for managing domain name information | |
JP2016533604A (ja) | クライアントアプリケーションがコンテンツ管理システム上のユーザアカウントにアクセスすることの予備認証 | |
WO2021164194A1 (zh) | 一种基于区块链的积分管理方法及相关装置 | |
WO2022216625A1 (en) | Enhanced asset management using an electronic ledger | |
CN114880697A (zh) | 基于区块链的数据指纹生成方法、装置和存储介质 | |
CN104182418B (zh) | 节点元数据获取方法与装置 | |
CN113114656A (zh) | 基于边缘云计算的基础设施布局方法 | |
US9514290B2 (en) | Authorization cache | |
US20050086213A1 (en) | Server apparatus, information providing method and program product therefor | |
CN116455677B (zh) | 电力调控数据泄露追踪方法、装置、电子设备和存储介质 | |
US8726335B2 (en) | Consigning authentication method | |
US9467448B2 (en) | Consigning authentication method | |
WO2023221719A1 (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
US20200322329A1 (en) | Multifactor derived identification | |
CN111131254B (zh) | 文件处理方法、区块链节点、区块链和存储介质 | |
CN116522308A (zh) | 数据库账号托管方法、装置、计算机设备及存储介质 | |
CN114546582A (zh) | 针对备份相关操作的许可 | |
CN116305218B (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 |