1.一种基于环签名的区块链传感器数据认证方法,其特征在于,包括步骤:
s1、当前区块链传感器采用所属的当前区块链节点的节点公钥加密待传输数据信息,得到第一信息;
s2、所述当前区块链传感器采用自身的当前传感器私钥以及所述当前区块链节点中的任意多个区块链传感器的多个传感器公钥对所述待传输数据信息进行环签名,得到第二信息;
s3、所述当前区块链传感器将所述多个传感器公钥、所述第一信息和所述第二信息发送给所述当前区块链节点;
s4、所述当前区块链节点采用自身的节点私钥解密所述第一信息,得到所述第一信息中的所述待传输数据信息,并通过环签名算法验证所述第二信息是否由所属区块链传感器生成,若是,则验证通过,将所述待传输数据信息上链,否则返回验证失败通知。
2.根据权利要求1所述的一种基于环签名的区块链传感器数据认证方法,其特征在于,所述步骤s1之前还包括步骤:
s01、所述当前区块链传感器生成并存储所述当前传感器公钥和所述当前传感器私钥,并将所述当前传感器公钥和自身的当前传感器物理标识存储在所述当前区块链节点中,同时将所述当前传感器公钥存储在所述当前区块链节点的所有所属区块链传感器中;
s02、所述当前区块链节点生成并存储所述节点公钥和所述节点私钥,并将所述节点公钥和自身的节点物理标识存储在所述区块链节点中的每个所属区块链传感器中。
3.根据权利要求2所述的一种基于环签名的区块链传感器数据认证方法,其特征在于,所述步骤s3具体为:
所述当前区块链传感器将所述多个传感器公钥、所述节点物理标识、所述当前传感器物理标识、所述第二信息和所述第一信息发送给所述当前区块链节点。
4.根据权利要求3所述的一种基于环签名的区块链传感器数据认证方法,其特征在于,所述步骤s4具体包括以下步骤:
s41、所述当前区块链节点验证所述节点物理标识是否存储在所述当前区块链节点中,若是则执行步骤s42,否则返回验证失败通知;
s42、所述当前区块链节点验证所述当前传感器物理标识是否存储在所述当前区块链节点中,若是则执行步骤s43,否则返回验证失败通知;
s43、所述当前区块链节点采用自身的节点私钥解密所述第一信息,得到所述第一信息中的所述待传输数据信息,并通过环签名算法验证所述第二信息是否由所属区块链传感器生成,若是,则验证通过,将所述待传输数据信息上链,否则返回验证失败通知。
5.根据权利要求1至4任一所述的一种基于环签名的区块链传感器数据认证方法,其特征在于,所述步骤s2具体为:
对所述待传输数据信息进行哈希值计算,得到第二哈希值;
所述当前区块链传感器采用所述当前传感器私钥以及所述当前区块链节点中的任意多个区块链传感器的多个传感器公钥对所述第二哈希值进行环签名,得到第二信息;
所述步骤s4中的并通过环签名算法验证所述第二信息是否由所属区块链传感器生成具体为:
首先验证所述多个传感器公钥是否在所述当前区块链节点的数据库中存储有,若是,则通过所述多个传感器公钥将所述第二信息解为所述第二哈希值,再正向计算所述待传输数据信息的哈希值为第一哈希值,比对所述第一哈希值与所述第二哈希值是否相同,若是,则所述第二信息是由所属区块链传感器生成,否则所述第二信息不是由所属区块链传感器生成。
6.一种基于环签名的区块链传感器数据认证系统,其特征在于,包括当前区块链传感器以及当前区块链节点子系统,所述当前区块链传感器包括第一存储器、第一处理器以及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述当前区块链节点子系统包括第二存储器、第二处理器以及存储在第二存储器上并可在第二处理器上运行的第二计算机程序;
所述第一处理器执行所述第一计算机程序时实现以下步骤:
s1、采用所属的当前区块链节点的节点公钥加密待传输数据信息,得到第一信息;
s2、采用自身的当前传感器私钥以及所述当前区块链节点中的任意多个区块链传感器的多个传感器公钥对所述待传输数据信息进行环签名,得到第二信息;
s3、将所述多个传感器公钥、所述第一信息和所述第二信息发送给所述当前区块链节点;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
s4、采用自身的节点私钥解密所述第一信息,得到所述第一信息中的所述待传输数据信息,并通过环签名算法验证所述第二信息是否由所属区块链传感器生成,若是,则验证通过,将所述待传输数据信息上链,否则返回验证失败通知。
7.根据权利要求6所述的一种基于环签名的区块链传感器数据认证系统,其特征在于,在所述步骤s1之前,所述第一处理器执行所述第一计算机程序还包括步骤:
s01、生成并存储所述当前传感器公钥和所述当前传感器私钥,并将所述当前传感器公钥和自身的当前传感器物理标识存储在所述当前区块链节点中,同时将所述当前传感器公钥存储在所述当前区块链节点的所有所属区块链传感器中;
所述第二处理器执行所述第二计算机程序还包括步骤:
s02、生成并存储所述节点公钥和所述节点私钥,并将所述节点公钥和自身的节点物理标识存储在所述区块链节点中的每个所属区块链传感器中。
8.根据权利要求7所述的一种基于环签名的区块链传感器数据认证系统,其特征在于,所述第一处理器执行所述第一计算机程序的所述步骤s3时具体为:
将所述多个传感器公钥、所述节点物理标识、所述当前传感器物理标识、所述第二信息和所述第一信息发送给所述当前区块链节点。
9.根据权利要求8所述的一种基于环签名的区块链传感器数据认证系统,其特征在于,所述第二处理器执行所述第二计算机程序的所述步骤s4时具体包括以下步骤:
s41、验证所述节点物理标识是否存储在所述当前区块链节点中,若是则执行步骤s42,否则返回验证失败通知;
s42、验证所述当前传感器物理标识是否存储在所述当前区块链节点中,若是则执行步骤s43,否则返回验证失败通知;
s43、采用自身的节点私钥解密所述第一信息,得到所述第一信息中的所述待传输数据信息,并通过环签名算法验证所述第二信息是否由所属区块链传感器生成,若是,则验证通过,将所述待传输数据信息上链,否则返回验证失败通知。
10.根据权利要求6至9任一所述的一种基于环签名的区块链传感器数据认证系统,其特征在于,所述第一处理器执行所述第一计算机程序的所述步骤s2时具体为:
对所述待传输数据信息进行哈希值计算,得到第二哈希值;
采用所述当前传感器私钥以及所述当前区块链节点中的任意多个区块链传感器的多个传感器公钥对所述第二哈希值进行环签名,得到第二信息;
所述第二处理器执行所述第二计算机程序的所述步骤s4中的并通过环签名算法验证所述第二信息是否由所属区块链传感器生成具体为:
首先验证所述多个传感器公钥是否在所述当前区块链节点的数据库中存储有,若是,则通过所述多个传感器公钥将所述第二信息解为所述第二哈希值,再正向计算所述待传输数据信息的哈希值为第一哈希值,比对所述第一哈希值与所述第二哈希值是否相同,若是,则所述第二信息是由所属区块链传感器生成,否则所述第二信息不是由所属区块链传感器生成。