利索能及
我要发布
收藏
专利号: 2024101338004
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:授权未缴费
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种边缘环境下基于智能合约的数据完整性审计方法,其特征在于,包括以下步骤:S1:云服务器将原始数据F进行均匀分块F={m1,m2,m3…mn},m表示数据块,此处假设数据F共分成了n个数据块,计算出每个数据块的哈希值,h(F)={h(m1),h(m2),h(m3)…h(mn)},并将数据F上传至边缘服务器;

S2:云服务器随机选择一个私钥d,计算出对应公钥PK;并用私钥d对数据块的哈希值进行相应运算,得到各数据块的验证标签,将验证标签上传至验证标签存储智能合约;

S3:选择当前资源使用率最低的边缘服务器作为本次工作的审计者,云服务器向审计者发起数据完整性审计挑战,审计者在收到挑战后将挑战信息转发给待审计的边缘服务器;

S4:收到挑战的边缘服务器生成随机数k,并为每个数据块生成签名,将数据块的签名和随机数k发送给审计者;

S5:完整性审计智能合约对边缘数据的完整性进行审计,判定边缘数据的完整性是否受损;

S6:若审计通过,审计者直接将审计结果返还给云服务器;若审计未通过,则执行数据块定位智能合约找出受损数据块。

2.根据权利要求1所述的一种边缘环境下基于智能合约的数据完整性审计方法,其特征在于,所述步骤S2中,计算数据块验证标签的步骤具体为:S21.云服务器随机选择一个私钥d,d∈[1,n1‑1],并求出对应公钥PK=d·G,其中,n1为曲线Ed25519的阶,G为曲线Ed25519的基点;

S22.假设数据被分为了n块,那么第j个数据块的哈希值为h(mj);

S23.用公钥与该数据块的哈希值生成一个新的中间值,中间值由sha256算法计算所得,其计算公式为:ej=sha256(PK,h(mj))mod n1#(1)S24.用私钥与中间值进行运算,得到该数据块的验证标签,验证标签的计算公式为:tj=ej·d#(2)。

3.根据权利要求1所述的一种边缘环境下基于智能合约的数据完整性审计方法,其特征在于,所述步骤S3中,选择本次审计工作的审计者的步骤具体为:S31.计算区块链网络中共识节点的CPU使用率,其公式为:S32.计算区块链网络中共识节点的内存使用率,其公式为:S33.计算区块链网络中共识节点的资源使用率,资源使用率的计算公式为:资源使用率=CPU使用率·50%+内存使用率·50%#(5)S34.选择资源使用率最低的节点作为本次审计工作的审计者。

4.根据权利要求1所述的一种边缘环境下基于智能合约的数据完整性审计方法,其特征在于,所述步骤S4中,数据块签名的生成包括以下步骤:S41.边缘服务器生成随机数k,k∈[1,n1‑1],n1为曲线ed25519的阶;

S42.边缘服务器用随机数k与曲线上的基点G进行倍点运算,得到承诺R;

S43.假设要求边缘服务器i的第j个数据块的签名sij,签名的计算公式为:sij=R+eij·PK#(6)

其中eij=sha256(PK,h(mj))mod n1。

5.根据权利要求4所述的一种边缘环境下基于智能合约的数据完整性审计方法,其特征在于,所述步骤S5中,判定边缘数据的完整性是否受损的步骤具体为:S51.完整性审计智能合约以随机数k和原始数据的验证标签作为输入,用EdDSA(爱德华兹曲线签名算法)签名算法为原始数据生成签名;

S52.完整性审计智能合约将签名与曲线上的基点G进行运算;

S53.假设为数据块j生成签名:sj=tj+k=ej·d+k;

S54.若边缘数据完整性验证通过,则有如下等式:

sj·G=(tj+k)·G=(ej·d+k)·G=sij=R+eij·PK    (7)S55.将此处的等值判断转换为值0判断:即若完整性验证通过,则如下公式一定成立:(ej·d+k)·G‑R‑eij·PK=0#(8)

S56.将一个数据块的验证衍生到所有数据块的验证,则有:[(e1+e2+…+en)·d+nk]·G‑nR‑(ei1+ei2+…+ein)·PK=0#(9)其中,e由原始数据块生成,e={e1,e2,e3...en};ei由边缘服务器i上所有数据块生成,ei={ei1,ei2,ei3...ein};

S57.完整性审计智能合约将运算结果与验证证据进行相减,若值为0,则完整性验证通过,否则不通过。

6.根据权利要求5所述的一种边缘环境下基于智能合约的数据完整性审计方法,其特征在于,所述步骤S6中,若完整性审计未通过,定位出受损数据块的步骤具体为:S61.若数据完整性审计未通过,那么(e·d+k)·G‑R‑ei·PK的值一定不为0,假设该等式的结果为Q;

S62.数据完整性审计未通过,则完整性审计智能合约将原始数据的签名与边缘数据的签名发送给数据块定位智能合约;

S63.假设所有数据块的批量验证值N为父节点,将所有数据块由中间位置为分割点分为块数相等的两部分,左半部分的批量审计结果为左子节点N‑,右半部分的审计结果为右子节点N+;

S64.重新批量验证左半部分数据块的签名,看是否通过数据完整性验证;

S65.若左半部分数据块的验证结果为Q,那么受损数据块全在左半部分,因为右半部分的批量审计结果一定为N+=N‑N‑=Q‑Q=0;若左半部分数据块的验证结果为0,则受损数据块全在右半部分,原因相同;若左半部分数据块的验证结果为Q1,则右半部分的批量审计结果一定为Q‑Q1;重复上述步骤,直至找出所有受损数据块。

7.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至6任一项所述边缘环境下基于智能合约的数据完整性审计方法。

8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述边缘环境下基于智能合约的数据完整性审计方法。

9.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述边缘环境下基于智能合约的数据完整性审计方法。