一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

IPFS文件的加密解密方法、系统、设备及存储介质与流程

2022-11-30 09:24:11 来源:中国专利 TAG:
ipfs文件的加密解密方法、系统、设备及存储介质
技术领域
:1.本发明涉及ipfs网络
技术领域
:,特别是一种ipfs文件的加密解密方法及其应用该方法的系统、设备及计算机可读存储介质。
背景技术
::2.ipfs(interplanetaryfilesystem,星际文件系统)是是最具代表性的分布式数据存储系统之一,致力于创建持久且分布式存储和共享文件的网络传输协议。它运用了众多成熟的技术,包括:分布式哈希表(distributedhashtables(dhts))、bittorrent、版本控制系统git、自认证文件系统(self-certifiedfilesystems-sfs)等技术。3.然而ipfs存在安全性问题,原生的ipfs并没有提供文件加密功能,它没有在连接级别提供访问控制,以限制不受信任的对等方获取未经授权的数据,即任何人持有该cid的用户都从该网络中获取相应的内容。但在实际的使用场景中,文件一般都有安全性需求。因此,从安全角度来说,不存在完全可信的存储节点,不能将文件的安全性仅仅依托于对节点的信任。技术实现要素:4.为解决ipfs文件的安全性问题,本发明的主要目的在于提供了一种ipfs文件的加密解密方法、系统、设备及存储介质,实现对ipfs文件的权限管控,提高ipfs文件的安全性。5.为实现上述目的,本发明提供了一种ipfs文件的加密方法,其包括:6.获取上传文件,并提取所述上传文件中的高频词;7.对所述高频词建立索引表,将上传文件中的高频词替换为预设的索引词,得到替换文件;8.对所述替换文件进行切片,得到文件分片列表和文件分片;9.对所述索引表、文件分片列表、文件分片的部分内容进行密钥加密,得到加密文件;10.对所述文件分片、所述加密文件及其密钥进行分发存储。11.优选的,还包括在ipfs网络中部署用户节点和服务节点,所述用户节点用于上传文件或下载文件,所述服务节点用于存储所述文件的文件分片;所述用户节点上传文件,是通过智能合约进行付费,并登记所述上传文件的文件信息;所述文件信息包括文件的字符识别码cid和文件名称;根据所述文件信息创建所述文件分片列表。12.优选的,所述文件分片,是通过对所述上传文件按dag结构进行切分得到;所述文件分片列表,是一种指向各个文件分片的id列表,通过该文件分片列表可查找并下载各个文件分片得到完整文件。13.优选的,对所述高频词建立索引表,具体包括:14.对所述上传文件进行词语提取并创建词频表;15.对所述词频表中的词语进行二进制编码;16.根据词语的词频和编码值进行排序,对排序在前的词语创建高频词表;17.对高频词表中的高频词语设置索引词,并根据所述高频词语和所述索引词的对应关系创建索引表。18.优选的,所述加密文件采用对称加密算法进行加密,解密时,进一步将所述解密文件的cid与所述加密文件的原文cid进行比对,验证解密是否成功;若解密成功才能获取文件分片列表和索引表。19.优选的,还原替换文件后,还进一步合并完整文件,以及对所述完整文件与所述上传文件进行cid校验。20.与所述ipfs文件的加密方法相对应的,本发明还提供一种ipfs文件的解密方法,其包括:21.下载加密文件,并使用密钥对所述加密文件进行解密,得到解密文件;所述解密文件包括:文件分片列表、索引表、文件分片的部分内容;22.根据所述文件分片列表,获得所述替换文件的所有文件分片;23.根据所述索引表,将所述替换文件还原为原始的上传文件。24.与所述ipfs文件的加密方法或解密方法相对应的,本发明还提供一种ipfs文件的加密解密系统,其包括:25.文件传输模块,用于获取上传文件,或者,用于下载加密文件;26.文件处理模块,用于提取所述上传文件中的高频词,对所述高频词建立索引表,将上传文件中的高频词替换为预设的索引词得到替换文件,对所述替换文件进行切片得到文件分片列表和文件分片;或者,根据所述文件分片列表获得所述替换文件的所有文件分片,根据所述索引表将所述替换文件还原为原始的上传文件;27.文件加密解密模块,用于对所述索引表、文件分片列表、文件分片的部分内容进行密钥加密得到加密文件;或者,用于使用密钥对所述加密文件进行解密得到解密文件,所述解密文件包括:文件分片列表、索引表、文件分片的部分内容;28.文件存储模块,用于对所述文件分片、所述加密文件及其密钥进行分发存储。29.此外,为实现上述目的,本发明还提供一种设备,所述设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的ipfs文件的加密程序或解密程序,所述ipfs文件的加密程序或解密程序被所述处理器执行时实现如上文所述的ipfs文件的加密方法或解密方法的步骤。30.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有ipfs文件的加密程序或解密程序,所述ipfs文件的加密程序或解密程序被处理器执行时实现如上文所述的ipfs文件的加密方法或解密方法的步骤。31.本发明的有益效果是:32.(1)本发明的加密步骤包括双重加密,先采用索引词替换上传文件的高频词,破坏文件的可阅读性,实现第一重加密效果;然后在第一重加密结果的基础上再对文件进行切片,将索引表、文件分片列表,以及文件分片的部分内容进行密钥加密,实现第二重加密效果,从而能够实现ipfs文件的权限控制,极大的提高了ipfs文件的安全性。33.(2)本发明的密钥加密对象,不仅仅是传统的文件头内容,特别是还包括了索引表和文件分片的部分内容,从而破坏文件的可阅读性和文件的完整性,提高了加密效果。34.(3)本发明通过用户节点上传文件,通过服务节点存储文件分片,并通过智能合约对文件存储进行检验、激励和宏观调控,调动服务节点自主存储和备份文件的积极性,从而使得ipfs网络能够提供稳定存储和备份服务。35.(4)本发明的解密过程也包括双重校验,第一重校验是在使用密钥解密后,对解密文件进行校验;第二重校验是在根据索引表还原文件并合并完整文件后,进一步校验完整文件的正确与否;从而保证解密后的完整文件与原始上传文件的一致性。具体实施方式36.为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。37.第一实施例(加密方法):38.本实施例的一种ipfs文件的加密方法,其包括:39.为实现上述目的,本发明提供了一种ipfs文件的加密方法,其包括:40.获取上传文件,并提取所述上传文件中的高频词;41.对所述高频词建立索引表,将上传文件中的高频词替换为预设的索引词,得到替换文件;42.对所述替换文件进行切片,得到文件分片列表和文件分片;43.对所述索引表、文件分片列表、文件分片的部分内容进行密钥加密,得到加密文件;44.对所述文件分片、所述加密文件及其密钥进行分发存储。45.本实施例中,还包括在ipfs网络中部署用户节点和服务节点,所述用户节点用于上传文件,所述服务节点用于存储所述文件的文件分片。例如,当ipfs文件小于256kb时,则无需进行文件分片,直接将该上传文件存储在一个块(block)里;当ipfs文件较大时,可根据实际需求,将上传文件切分为多个文件分片,并分别存储在两个以上的块(block)里。46.所述用户节点上传文件,是通过智能合约进行付费,并登记所述上传文件的文件信息,以对服务节点的存储服务进行激励;所述文件信息包括文件的字符识别码cid和文件名称;根据所述文件信息创建所述文件分片列表。此处所述字符识别码cid是指完整上传文件内容对应的哈希值。47.所述文件分片,是通过对所述上传文件按dag结构进行切分得到。dag的全称为directedacyclicgraph,中文名为有向无环图,"有向"指的是有方向,准确的说应该是同一个方向,"无环"则指够不成闭环。ipfs网络使用有向无环图(dag)作为存储的数据结构,该有向无环图中的每个节点都有一个唯一的标志符,即节点cid,是指该节点内容对应的哈希值。48.所述文件分片列表,是一种指向各个文件分片的id列表,通过该文件分片列表可查找并下载各个文件分片得到完整文件。49.本实施例中,对所述高频词建立索引表,具体包括:50.对所述上传文件进行词语提取并创建词频表;51.对所述词频表中的词语进行二进制编码;52.根据词语的词频和编码值进行排序,对排序在前的词语创建高频词表;53.对高频词表中的高频词语设置索引词,并根据所述高频词语和所述索引词的对应关系创建索引表。54.其中,根据词语的词频和编码值进行排序,可以是分别对词频和编码值赋予权值,再对二者进行加权排序;或者,也可以是先根据词频进行排序,再对词频相同的词语进一步通过编码值进行排序。所述的索引词,优选采用与上传文件不同或不重复的文字、数字或符号。55.本实施例中,所述加密文件采用对称加密算法进行加密,所述对称加密算法,也称单密钥加密,是采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密。56.本实施例中,所述的加密文件中,所述索引表是指完整文件的索引表,所述文件分片列表是指完整文件的id列表,所述文件分片的部分内容是指当前加密文件中所包含的文件分片的部分内容,而不是指完整文件的各个文件分片的部分内容。该文件分片的部分内容将与该文件分片的剩余内容进行分割,即,分片文件的一部分内容是存储于加密文件中,剩余部分内容无需加密并直接存储于服务节点中。57.本实施例中,对所述文件分片、所述加密文件及其密钥进行分发存储,是指每个存储的服务节点将存储完整文件中的一个以上文件分片,该一个以上文件分片对应的加密文件。所述密钥未存储于该服务节点中,而是以其他传输方式进行存储。58.第二实施例(解密方法):59.与所述ipfs文件的加密方法相对应的,本实施例还提供一种ipfs文件的解密方法,其包括:60.下载加密文件,并使用密钥对所述加密文件进行解密,得到解密文件;所述解密文件包括:文件分片列表、索引表、文件分片的部分内容;61.根据所述文件分片列表,获得所述替换文件的所有文件分片;62.根据所述索引表,将所述替换文件还原为原始的上传文件。63.本实施例中,还包括在ipfs网络中部署用户节点和服务节点,所述用户节点用于下载文件。所述文件分片列表,是一种指向各个文件分片的id列表,通过该文件分片列表可查找并下载各个文件分片得到完整文件。64.本实施例中,所述加密文件采用对称加密算法进行加密,解密时,进一步将所述解密文件的cid与所述加密文件的原文cid(此处的cid是指当前服务节点存储内容所对应的哈希值)进行比对,验证解密是否成功;若解密成功才能获取文件分片列表和索引表。65.本实施例中,还原替换文件后,还进一步合并完整文件,以及对所述完整文件与所述上传文件进行cid(此处的cid是指完整文件内容的哈希值)校验。66.本实施例的其余内容和方法与第一实施例基本相似,在此不进行赘述。67.第三实施例(加密解密系统):68.与所述ipfs文件的加密方法或解密方法相对应的,本实施例还提供一种ipfs文件的加密解密系统,其包括:69.文件传输模块,用于获取上传文件,或者,用于下载加密文件;70.文件处理模块,用于提取所述上传文件中的高频词,对所述高频词建立索引表,将上传文件中的高频词替换为预设的索引词得到替换文件,对所述替换文件进行切片得到文件分片列表和文件分片;或者,根据所述文件分片列表获得所述替换文件的所有文件分片,根据所述索引表将所述替换文件还原为原始的上传文件;71.文件加密解密模块,用于对所述索引表、文件分片列表、文件分片的部分内容进行密钥加密得到加密文件;或者,用于使用密钥对所述加密文件进行解密得到解密文件,所述解密文件包括:文件分片列表、索引表、文件分片的部分内容;72.文件存储模块,用于对所述文件分片、所述加密文件及其密钥进行分发存储。73.本实施例的加密解密系统通过在ipfs网络中还部署用户节点和服务节点,所述用户节点用于上传文件或下载文件,所述服务节点用于存储所述文件的文件分片;并且,还在区块链网络中部署智能合约,通过所述智能合约对文件存储进行激励;所述智能合约包括存储机制和激励机制;所述服务节点通过所述智能合约获取所述用户节点上传的文件列表,根据所述存储机制判断是否存储所述文件的文件分片和存储数量,并根据所述激励机制获取对应的收益。74.服务节点:全体服务节点组成服务节点网络,对外提供存储和备份服务;75.用户节点:用户使用服务节点网络服务的入口;76.智能合约:对服务节点网络存储服务进行检验、激励和宏观调控。77.本发明还提供一种设备,所述设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的ipfs文件的加密程序或解密程序,所述ipfs文件的加密程序或解密程序被所述处理器执行时实现如上文第一实施例所述的ipfs文件的加密方法或第二实施例所述的解密方法的步骤。该设备包括第三实施例所述的ipfs文件的加密解密系统,其对应地,可以执行第一实施例和第二实施例所示方法的技术方案,其实现原理和技术效果类似,详细可以参见上述实施例中的相关记载,此处不再赘述。78.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有ipfs文件的加密程序或解密程序,所述ipfs文件的加密程序或解密程序被处理器执行时实现如上文所述的ipfs文件的加密方法或解密方法的步骤。该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现第一实施例所述的ipfs文件的加密方法或第二实施例所述的ipfs文件的解密方法。所述计算机可读存储介质可以是只读存储器,磁盘或光盘等。79.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例、设备实施例及存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。80.并且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。81.上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献