本发明涉及区块链,具体为一种基于区块链可信传感器的可验证可搜索加密方法。
背景技术:
1、区块链可信传感器bts:是由传感器和具有一定数据处理能力的可信模组组成的可信硬件。它利用密码学、区块链、故障诊断、隐私保护等技术保证数据采集端的数据可信性,使得源数据自采集端到服务端实现数据的不可篡改和可靠传输,即解决数据的链上链下一致性问题。
2、经检索公告号为cn115996137a的中国专利公开了一种基于可搜索加密技术,实现安全、合规、高效的隐匿密文查询、上传与删除操作,保证数据托管方不会泄露明文数据,提高了数据隐私性。
3、结合上述专利和现实生活,在公有云存储场景下,服务器可能是不可信的,存储服务若为了节省计算资源而向用户返回不正确的搜索结果,其次,由于网络不稳定或者设备软硬件出现故障,也可能导致用户收到的搜索结果错误。
技术实现思路
1、本发明的目的在于提供一种基于区块链可信传感器的可验证可搜索加密方法,以解决上述背景技术中提出的问题。
2、为实现上述目的,本发明提供如下技术方案:
3、一种基于区块链可信传感器的可验证可搜索加密方法,包括以下步骤:
4、s1、bts注册上链,生成区块链标识id、时间戳等,并且由bc对bts进行身份管理;
5、s2、bts执行密钥生成算法,得到秘钥k;
6、s3、bts将在时间周期t内采集到的数据信息进行打包、提取和加密操作,生成前向安全索引γ、密文集合c={c1,c2,...,cm}和验证列表l,随后bts将(γ,c)上传到云服务器cs,将验证列表l上传至bc;
7、s4、在数据用户du请求查询数据时,先向bts注册,然后du生成搜索令牌st,并将st发给cs;
8、s5、cs将s4中得到的st输入搜索算法search,得到o←search(c,γ,st),其中,o表示的是cs执行密文检索后得到的检索结果,同时,cs将得到的o发送给bc,并向bc发出对o的完整性验证请求;
9、s6、bc层在接收到s5中的完整性验证请求后,利用验证智能合约,执行验证算法对o进行完整性验证;
10、s7、对文件动态进行更新,然后bc向用户返回(o,proof)。
11、作为本发明的一种优选方案:所述s2中的秘钥生成算法公式为:k←keygen(1λ),其中λ表示安全参数。
12、作为本发明的一种优选方案:所述s3中的打包、提取和加密操作包括以下步骤:
13、s①、bts将在时间周期t内采集到的数据信息打包成数据文件集合r={r1,r2,...,rm};
14、s②、bts提取r={r1,r2,...,rm}的关键词并产生文件列表fl;
15、s③、bts对fl加密,生成前向安全索引γ;
16、s④、对文件集合r中的文件加密,生成密文集合c={c1,c2,...,cm},并利用c中的加密文件生成验证列表l。
17、作为本发明的一种优选方案:所述s3中的验证列表l={c1||hmac(c1,k),c2||hmac(c2,k),...,cm||hmac(cm,k)},其中||表示连接。
18、作为本发明的一种优选方案:所述s4中搜索令牌st生成过程需要bts先分配给du一个参数,然后du利用此参数和查询关键词生成搜索令牌st。
19、作为本发明的一种优选方案:所述s6中的执行验证算法为(o,proof)←verify(o,st,l),其中proof表示bc产生的验证信息。
20、作为本发明的一种优选方案:所述s7中对文件动态进行更新时需要将验证列表l重新上传到区块链,然后采用区块压缩程序,最后在区块链网络中同步压缩后的区块数据。
21、作为本发明的一种优选方案:所述区块压缩程序需要将历史区块作为叶子节点构造merkletree,merkletree根节点的哈希值存储在压缩区块中,新区块的哈希指针指向压缩区块。
22、与现有技术相比,本发明的有益效果是:
23、1、基于区块链技术,构建了一种可验证sse方案,在保证前向安全的基础上,利用cs实现密文检索,并由bc实现搜索结果验证;
24、2、利用对称加密实现了前向安全的搜索索引,保证了方案更新过程中的前向安全性;
25、3、bc层采用区块压缩程序,防止存储验证列表信息会占用过大的存储空间。
1.一种基于区块链可信传感器的可验证可搜索加密方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于区块链可信传感器的可验证可搜索加密方法,其特征在于:所述s2中的秘钥生成算法公式为:k←keygen(1λ),其中λ表示安全参数。
3.根据权利要求1所述的一种基于区块链可信传感器的可验证可搜索加密方法,其特征在于:所述s3中的打包、提取和加密操作包括以下步骤:
4.根据权利要求3所述的一种基于区块链可信传感器的可验证可搜索加密方法,其特征在于:所述s3中的验证列表l={c1||hmac(c1,k),c2||hmac(c2,k),...,cm||hmac(cm,k)},其中||表示连接。
5.根据权利要求1所述的一种基于区块链可信传感器的可验证可搜索加密方法,其特征在于:所述s4中搜索令牌st生成过程需要bts先分配给du一个参数,然后du利用此参数和查询关键词生成搜索令牌st。
6.根据权利要求1所述的一种基于区块链可信传感器的可验证可搜索加密方法,其特征在于:所述s6中的执行验证算法为(o,proof)←verify(o,st,l),其中proof表示bc产生的验证信息。
7.根据权利要求1所述的一种基于区块链可信传感器的可验证可搜索加密方法,其特征在于:所述s7中对文件动态进行更新时需要将验证列表l重新上传到区块链,然后采用区块压缩程序,最后在区块链网络中同步压缩后的区块数据。
8.根据权利要求7所述的一种基于区块链可信传感器的可验证可搜索加密方法,其特征在于:所述区块压缩程序需要将历史区块作为叶子节点构造merkletree,merkletree根节点的哈希值存储在压缩区块中,新区块的哈希指针指向压缩区块。