CN115580495B - 数据审计方法、装置、电子设备和存储介质 - Google Patents

数据审计方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN115580495B
CN115580495B CN202211576228.6A CN202211576228A CN115580495B CN 115580495 B CN115580495 B CN 115580495B CN 202211576228 A CN202211576228 A CN 202211576228A CN 115580495 B CN115580495 B CN 115580495B
Authority
CN
China
Prior art keywords
audit
data
target
certificate
bloom filter
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
Application number
CN202211576228.6A
Other languages
English (en)
Other versions
CN115580495A (zh
Inventor
刘杨
宋金明
彭木根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202211576228.6A priority Critical patent/CN115580495B/zh
Publication of CN115580495A publication Critical patent/CN115580495A/zh
Application granted granted Critical
Publication of CN115580495B publication Critical patent/CN115580495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种数据审计方法、装置、电子设备和存储介质,涉及计算机技术领域,其中数据审计方法包括:接收数据共享平台发送的针对目标数据的审计凭证获取请求;基于双计数布隆过滤器及第一区块高度对原始审计凭证进行有效性验证;在原始审计凭证有效的情况下,基于操作类型生成操作类型对应的目标审计凭证;将目标审计凭证发送至数据共享平台。通过上述方法,基于双计数布隆过滤器及第一区块高度对原始审计凭证进行有效性验证,保证了原始审计凭证的有效性,进而保证了目标审计凭证的有效性;同时基于双计数布隆过滤器实现了原始审计凭证有效性验证的高效性;将目标审计凭证发送至数据共享平台,实现了数据共享平台的动态审计。

Description

数据审计方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据审计方法、装置、电子设备和存储介质。
背景技术
随着互联网技术的发展,基于互联网的业务越来越多,例如基于互联网的视频下载、数据上传等业务。在基于互联网执行业务的过程中,可能存在对业务的恶意访问,从而造成业务异常;因此,为了保护业务能够正常执行,需要对访问业务的数据进行审计。目前,数据审计技术在银行、医院等不同的领域得到了广泛的应用。
相关技术中,数据审计大多是在云服务器存储审计内容,由于云服务器本身的安全问题,所以审计内容的有效性无法得到保证。
因此,如何保证数据审计内容的有效性是目前亟待解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种数据审计方法、装置、电子设备和存储介质。
第一方面,本发明提供一种数据审计方法,应用于数据审计服务器,包括:
接收数据共享平台发送的针对目标数据的审计凭证获取请求;所述审计凭证获取请求携带所述目标数据对应的操作类型、原始审计凭证及所述原始审计凭证在区块链中的第一区块高度;
基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证;所述双计数布隆过滤器中存储有无效审计凭证和有效审计凭证;
在所述原始审计凭证有效的情况下,基于所述操作类型生成所述操作类型对应的目标审计凭证;
将所述目标审计凭证发送至所述数据共享平台。
可选地,所述双计数布隆过滤器包括第一计数布隆过滤器和第二计数布隆过滤器;所述第一计数布隆过滤器用于存储所述有效审计凭证,所述第二计数布隆过滤器用于存储所述无效审计凭证。
可选地,所述审计凭证获取请求还携带所述原始审计凭证对应的签名值;所述签名值用于判断所述原始审计凭证的真实性;
所述基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证,包括:
基于所述签名值验证所述原始审计凭证的真实性;
在所述原始审计凭证为真的情况下,判断所述原始审计凭证的哈希值是否存在于所述第二计数布隆过滤器;
在所述原始审计凭证的哈希值存在于所述第二计数布隆过滤器的情况下,判断所述原始审计凭证的哈希值是否存在于所述第一计数布隆过滤器;
在所述原始审计凭证的哈希值存在于所述第一计数布隆过滤器的情况下,基于所述第一区块高度,验证所述原始审计凭证是否为删除状态;
在所述原始审计凭证为非删除状态的情况下,所述原始审计凭证有效。
可选地,所述将所述目标审计凭证发送至所述数据共享平台,包括:
将所述目标审计凭证发送至区块链网络;
接收所述区块链网络发送的第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;
利用私钥对所述目标审计凭证及所述第二区块高度进行加密处理,并发送至所述数据共享平台;所述第二区块高度用于客户端从所述数据共享平台获取所述目标审计凭证之后,验证所述目标审计凭证的有效性。
可选地,在所述基于所述操作类型生成所述操作类型对应的目标审计凭证之后,所述方法还包括:
将所述目标审计凭证的哈希值存储至所述第一计数布隆过滤器,删除所述第一计数布隆过滤器中存储的所述原始审计凭证的哈希值;
将所述原始审计凭证的哈希值存储至所述第二计数布隆过滤器。
可选地,在所述基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证之前,所述方法还包括:
接收所述数据共享平台发送的注册请求;
基于所述注册请求,生成随机字符串密钥并发送至所述数据共享平台;
接收所述数据共享平台发送的身份验证请求;所述身份验证请求中携带盲因子及利用Pedersen承诺得到的所述随机字符串密钥对应的第一承诺值;
基于所述盲因子、所述第一承诺值和第二承诺值,对所述数据共享平台的身份进行验证;所述第二承诺值为所述数据共享平台根据自身存储的随机字符串获得的承诺值。
可选地,所述方法还包括:
接收所述客户端发送的目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;
基于所述双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证;
向所述客户端发送所述目标审计凭证的有效性验证结果。
第二方面,本发明还提供一种数据审计方法,应用于客户端,包括:
向数据共享平台发送针对目标数据的目标审计凭证获取请求;
接收所述数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;
向所述数据审计服务器发送目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;
接收所述数据审计服务器发送的所述目标审计凭证的有效性验证结果;所述目标审计凭证的有效性验证结果是所述数据审计服务器基于双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证后生成的。
可选地,所述目标审计凭证及所述第二区块高度是所述数据审计服务器利用私钥进行加密处理后得到的;
在所述接收所述数据共享平台发送的来自数据审计服务器的目标审计凭证及第二区块高度之后,所述方法还包括:
利用公钥对所述目标审计凭证及所述第二区块高度进行解密处理。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述数据审计方法,或实现如上述第二方面所述数据审计方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述数据审计方法,或实现如上述第二方面所述数据审计方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述数据审计方法,或实现如上述第二方面所述数据审计方法。
本发明提供的数据审计方法、装置、电子设备和存储介质,数据审计服务器首先接收数据共享平台发送的针对目标数据的审计凭证获取请求,由于区块链具有去中心化、防篡改的特点,因此数据审计服务器可以基于双计数布隆过滤器及原始审计凭证在区块链中的第一区块高度对原始审计凭证进行有效性验证,保证了数据共享平台发送的原始审计凭证是真实有效的;同时,基于双计数布隆过滤器中存储的无效审计凭证和有效审计凭证,可以实现原始审计凭证有效性验证的高效性,同时也降低了存储空间;数据审计服务器在验证原始审计凭证有效的情况下,基于审计凭证获取请求携带的目标数据对应的操作类型生成目标审计凭证,由于目标审计凭证是数据审计服务器在验证原始审计凭证有效的情况下生成的,因此目标审计凭证也是真实有效的,从而保证了数据审计内容的有效性;最后数据审计服务器将目标审计凭证发送至数据共享平台,实现了数据共享平台的动态审计。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据审计方法的流程示意图之一;
图2是本发明提供的数据审计方法的流程示意图之二;
图3是本发明提供的数据审计装置的结构示意图之一;
图4是本发明提供的数据审计装置的结构示意图之二;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1对本发明提供的数据审计方法进行具体描述。图1是本发明提供的数据审计方法的流程示意图之一,参见图1所示,该方法应用于数据审计服务器,包括步骤101-步骤104,其中:
步骤101、接收数据共享平台发送的针对目标数据的审计凭证获取请求;所述审计凭证获取请求携带所述目标数据对应的操作类型、原始审计凭证及所述原始审计凭证在区块链中的第一区块高度。
为了保证审计内容的有效性,在本实施例中,数据审计服务器首先需要接收数据共享平台发送的针对目标数据的审计凭证获取请求;其中,数据共享平台是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而提供全面的数据共享的平台。
具体地,数据审计服务器在接收数据共享平台发送的审计凭证获取请求之前,数据共享平台需要基于目标数据生成目标数据对应的操作类型、原始审计凭证及原始审计凭证对应的第一区块高度,第一区块高度是将原始审计凭证发送至区块链后生成的;
其中,目标数据例如为视频、音频、图像、文字等数据;目标数据对应的操作类型例如可以是上传目标数据、删除目标数据、更新目标数据等;
需要说明的是,原始审计凭证是针对目标数据历史性操作的凭证,原始审计凭证表征着目标数据的历史操作记录,例如对目标数据进行了修改、更新等操作。表1示出了原始审计凭证的数据格式。
表1
Figure 855735DEST_PATH_IMAGE001
1)Version:标识当前审计凭证的版本;
2)Service Name:标识数据共享平台上传的数据类型,用于获取对应的公钥;
3)Name:数据共享平台上传的数据唯一标识;
4)Content Hash:数据共享平台当前操作的数据内容哈希值;
5)Hash Algorithm:数据共享平台生成数据哈希的算法;
6)Last Content Hash:数据共享平台上次操作的数据内容哈希值,如果为上传操作,该字段为空;如果为更新或删除操作,为上次操作的数据内容哈希值;
7)Signature Algorithm:审计凭证的签名算法;
8)Operation Type:数据共享平台的操作类型,包括数据上传、数据更新、数据删除;
9)Timestamp:记录审计凭证生成的时间;
10)Expiration time:审计凭证的有效时间;
11)Certificate Hash:审计凭证的哈希值,用于审计凭证的有效性验证;
12)Last Height:用于记录审计凭证存储在区块链的高度,如果为上传操作,该字段为空;如果为更新或删除操作,为上次操作的区块高度;
13)Signature Value:数据审计服务器对审计凭证的签名值。
步骤102、基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证;所述双计数布隆过滤器中存储有无效审计凭证和有效审计凭证。
在本实施例中,数据共享平台发送的审计凭证获取请求中携带的原始审计凭证有可能的恶意的或是无效的。
因此,在数据审计服务器接收到审计凭证获取请求之后,需要基于双计数布隆过滤器以及原始审计凭证在区块链中的第一区块高度对原始审计凭证进行有效性验证,以确保数据共享平台发送的原始审计凭证是有效的。
需要说明的是,利用双计数布隆过滤器对原始审计凭证进行有效性验证,在双计数布隆过滤器中仅存储有无效审计凭证和有效审计凭证,因此,查询原始审计凭证是否存在于双计数布隆过滤器,即可实现对原始审计凭证进行有效性验证,从而保证了原始审计凭证有效性验证的高效性。
步骤103、在所述原始审计凭证有效的情况下,基于所述操作类型生成所述操作类型对应的目标审计凭证。
在本实施例中,在原始审计凭证有效的情况下,数据审计服务器会基于目标数据对应的操作类型,生成操作类型对应的目标审计凭证。
例如,在目标数据对应的操作类型是数据上传的情况下,数据审计服务器会生成数据上传对应的目标审计凭证;
在目标数据对应的操作类型是数据删除的情况下,数据审计服务器会生成数据删除对应的目标审计凭证;
在目标数据对应的操作类型是数据更新的情况下,数据审计服务器会生成数据更新对应的目标审计凭证。在实际应用中:
a)数据审计服务器具体通过以下方式生成数据上传对应的目标审计凭证:
数据审计服务器在接收到数据共享平台发送的审计凭证获取请求RegReq={Service Name、Name、Content Hash、Hash Algorithm、Operation Type}之后,根据Operation Type判断数据共享平台的请求操作为数据上传。
数据审计服务器通过修改审计凭证格式的相应字段生成目标审计凭证
Figure 949593DEST_PATH_IMAGE002
具体地,数据审计服务器需要将审计凭证格式中的Operation Type字段设置为 Upload;将
Figure 684330DEST_PATH_IMAGE002
的Last Content Hash和Last Height字段置为空值,Version字段置为 1;将Name、Content Hash、Hash Algorithm分别赋值的对应字段;生成
Figure 463805DEST_PATH_IMAGE002
的有效期及 时间戳,分别赋值Expiration time、Timestamp字段;生成
Figure 309402DEST_PATH_IMAGE002
的哈希值,赋值给 Certificate Hash字段。
b)数据审计服务器具体通过以下方式生成数据删除对应的目标审计凭证:
数据审计服务器首先判断
Figure 992187DEST_PATH_IMAGE003
的Name字段是否等于Name,不等于直接结束,其 中,
Figure 897826DEST_PATH_IMAGE003
表示原始审计凭证。
判断
Figure 790695DEST_PATH_IMAGE003
是否有效,无效直接结束。
然后数据审计服务器根据数据共享平台发送的审计凭证获取请求DelReq= {Service Name、Name、Content Hash、Operation Type、Last Height、Signature Value、
Figure 684657DEST_PATH_IMAGE003
}之后,判断数据共享平台的请求操作为数据删除。
数据审计服务器通过修改审计凭证格式的相应字段生成目标审计凭证
Figure 487528DEST_PATH_IMAGE004
具体地,数据审计服务器需要将审计凭证格式中的Operation Type字段置为 Delete;将
Figure 298489DEST_PATH_IMAGE003
的Content Hash字段赋值给
Figure 554021DEST_PATH_IMAGE004
的Last Content Hash字段;Hash Algorithm字段赋值给
Figure 239955DEST_PATH_IMAGE004
的Hash Algorithm字段;Version字段加一赋值给
Figure 21967DEST_PATH_IMAGE004
的Version字段;将Name、Content Hash、Last Height分别赋值
Figure 269408DEST_PATH_IMAGE004
的对应字段;生成
Figure 12236DEST_PATH_IMAGE004
的有效期及时间戳,分别赋值Expiration time、Timestamp字段;生成
Figure 737747DEST_PATH_IMAGE004
的 哈希值,赋值给Certificate Hash字段。
c)数据审计服务器具体通过以下方式生成数据更新对应的目标审计凭证:
数据审计服务器首先判断
Figure 748166DEST_PATH_IMAGE003
的Name字段是否等于Name,不等于直接结束,其 中,
Figure 166509DEST_PATH_IMAGE003
表示原始审计凭证。
判断
Figure 255688DEST_PATH_IMAGE003
是否有效,无效直接结束。
数据审计服务器在接收到数据共享平台发送的审计凭证获取请求UpdReq= {Service Name、Name、Content Hash、Operation Type、Last Height、Signature Value、
Figure 784889DEST_PATH_IMAGE003
}之后,判断数据共享平台的请求操作为数据更新。
数据审计服务器通过修改审计凭证格式的相应字段生成目标审计凭证
Figure 151280DEST_PATH_IMAGE005
具体地,数据审计服务器需要将审计凭证格式中的Operation Type字段置为 Update;将
Figure 239059DEST_PATH_IMAGE003
的Content Hash字段赋值给
Figure 956479DEST_PATH_IMAGE005
的Last Content Hash字段;Hash Algorithm字段赋值给
Figure 289372DEST_PATH_IMAGE005
的Hash Algorithm字段;Version字段加一赋值给
Figure 634902DEST_PATH_IMAGE005
的Version字段;将Name、Content Hash、Last Height分别赋值
Figure 395048DEST_PATH_IMAGE005
的对应字段;生成
Figure 832720DEST_PATH_IMAGE005
的有效期及时间戳,分别赋值Expiration time、Timestamp字段;生成
Figure 703724DEST_PATH_IMAGE005
的 哈希值,赋值给Certificate Hash字段。
步骤104、将所述目标审计凭证发送至所述数据共享平台。
在本实施例中,数据审计服务器将目标审计凭证发送至数据共享平台。
相应地,客户端可以向数据共享平台发送针对目标数据的目标审计凭证获取请求;数据共享平台会向客户端发送来自数据审计服务器的针对目标数据的目标审计凭证,从而实现了客户、数据共享平台与数据审计服务器之间的动态数据审计。
本发明提供的数据审计方法,数据审计服务器首先接收数据共享平台发送的针对目标数据的审计凭证获取请求,由于区块链具有去中心化、防篡改的特点,因此数据审计服务器可以基于双计数布隆过滤器及原始审计凭证在区块链中的第一区块高度对原始审计凭证进行有效性验证,保证了数据共享平台发送的原始审计凭证是真实有效的;同时,基于双计数布隆过滤器中存储的无效审计凭证和有效审计凭证,可以实现原始审计凭证有效性验证的高效性,同时也降低了存储空间;数据审计服务器在验证原始审计凭证有效的情况下,基于审计凭证获取请求携带的目标数据对应的操作类型生成目标审计凭证,由于目标审计凭证是数据审计服务器在验证原始审计凭证有效的情况下生成的,因此目标审计凭证也是真实有效的,从而保证了数据审计内容的有效性;最后数据审计服务器将目标审计凭证发送至数据共享平台,实现了数据共享平台的动态审计。
可选地,所述双计数布隆过滤器包括第一计数布隆过滤器和第二计数布隆过滤器;所述第一计数布隆过滤器用于存储所述有效审计凭证,所述第二计数布隆过滤器用于存储所述无效审计凭证。
在本实施例中,双计数布隆过滤器中包括第一计数布隆过滤器(Count BloomFilter,CBF1)和第二计数布隆过滤器(CBF2),其中,CBF1用于存储有效审计凭证,CBF2用于存储无效审计凭证。
可选地,在所述基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证之前,还需要对数据共享平台的身份进行认证,以保证数据共享平台的真实性,保证数据安全;具体可以通过以下步骤1)-步骤4)实现:
步骤1)、接收所述数据共享平台发送的注册请求;
步骤2)、基于所述注册请求,生成随机字符串密钥并发送至所述数据共享平台;
步骤3)、接收所述数据共享平台发送的身份验证请求;所述身份验证请求中携带盲因子及利用Pedersen承诺得到的所述随机字符串密钥对应的第一承诺值;
步骤4)、基于所述盲因子、所述第一承诺值和第二承诺值,对所述数据共享平台的身份进行验证;所述第二承诺值为所述数据共享平台根据自身存储的随机字符串获得的承诺值。
在本实施例中,数据共享平台向数据审计服务器发送服务注册请求RegReq={Service Name}。
相应地,数据审计服务器需要基于Service Name验证数据共享平台是否已经注册,若已注册,则表示该数据共享平台之前已在数据审计服务器注册过,数据审计服务器直接忽略该注册请求。
若数据审计服务器基于Service Name验证该数据共享平台没有注册过,则数据审 计服务器会生成随机字符串密钥
Figure 44707DEST_PATH_IMAGE006
,然后数据审计服务器和数据共享平台分别将
Figure 100388DEST_PATH_IMAGE006
进行保 存。
在数据审计服务器和数据共享平台分别将
Figure 526821DEST_PATH_IMAGE006
保存之后,数据共享平台会向数据审 计服务器发送身份验证请求,在该身份验证请求中携带有盲因子
Figure 700051DEST_PATH_IMAGE007
以及利用Pedersen承诺 得到的随机字符串密钥对应的第一承诺值
Figure 895540DEST_PATH_IMAGE008
,即身份验证请求可以表示为RegReq= {Service Name,
Figure 731909DEST_PATH_IMAGE007
Figure 770272DEST_PATH_IMAGE008
}。
需要说明的是,
Figure 983079DEST_PATH_IMAGE007
是数据共享平台随机生成的,
Figure 797189DEST_PATH_IMAGE008
是数据共享平台使用Pedersen 承诺生成的,
Figure 70038DEST_PATH_IMAGE008
具体通过以下公式(1)计算得到:
Figure 471064DEST_PATH_IMAGE009
其中,g和h为循环群的两个随机生产元。
数据审计服务器在接收到数据共享平台发送的身份验证请求之后,便基于身份验 证请求中携带的
Figure 487561DEST_PATH_IMAGE007
Figure 782277DEST_PATH_IMAGE008
,对数据共享平台的身份进行验证。
具体地,数据审计服务器使用
Figure 458983DEST_PATH_IMAGE007
,根据Service Name获取存储在本地的对应字符 串密钥
Figure 347305DEST_PATH_IMAGE010
,使用Pedersen承诺生成第二承诺值
Figure 901914DEST_PATH_IMAGE011
Figure 192081DEST_PATH_IMAGE011
具体通过以下公式2计算得到:
Figure 665788DEST_PATH_IMAGE012
数据审计服务器对比
Figure 286080DEST_PATH_IMAGE008
Figure 909960DEST_PATH_IMAGE011
,若相等,说明双方
Figure 789054DEST_PATH_IMAGE013
,即数据共享平台身份验 证通过。若不相等则数据共享平台身份验证不通过,无法进行后续操作请求。
在上述实施方式中,数据审计服务器通过接收数据共享平台发送的注册请求,在数据共享平台为注册的情况下,生成随机字符串密钥并发送至数据共享平台;然后接收数据共享平台发送的身份验证请求,基于身份验证请求中的盲因子第一承诺值和第二承诺值,可以对数据共享平台的身份进行验证以保证数据共享平台的真实性,保证数据安全。
可选地,所述审计凭证获取请求还携带所述原始审计凭证对应的签名值Signature Value;其中,Signature Value用于判断所述原始审计凭证的真实性;
所述基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证,具体通过以下步骤[1]至步骤[5]实现:
步骤[1]、基于所述签名值验证所述原始审计凭证的真实性;
步骤[2]、在所述原始审计凭证为真的情况下,判断所述原始审计凭证的哈希值是否存在于所述第二计数布隆过滤器;
步骤[3]、在所述原始审计凭证的哈希值存在于所述第二计数布隆过滤器的情况下,判断所述原始审计凭证的哈希值是否存在于所述第一计数布隆过滤器;
步骤[4]、在所述原始审计凭证的哈希值存在于所述第一计数布隆过滤器的情况下,基于所述第一区块高度,验证所述原始审计凭证是否为删除状态;
步骤[5]、在所述原始审计凭证为非删除状态的情况下,所述原始审计凭证有效。
在本实施例中,数据审计服务器在接收到数据共享平台发送的审计凭证获取请求之后,会基于审计凭证获取请求中携带的目标数据对应的操作类型,对原始审计凭证进行有效性验证;具体包括以下至少一种方式:
方式1、在目标数据对应的操作类型为数据删除的情况下,数据共享平台发送的审 计凭证获取请求用于获取数据删除对应的目标审计凭证,该审计凭证获取请求可以表示 为:DelReq={Service Name、Name、Content Hash、Operation Type、Last Height、 Signature Value、
Figure 574607DEST_PATH_IMAGE003
},其中,
Figure 936056DEST_PATH_IMAGE003
表示原始审计凭证。
数据审计服务器首先需要基于原始审计凭证对应的签名值Signature Value验证原始审计凭证的真实性。
具体地,数据审计服务器使用公钥解密Signature Value获得h,验证h是否等于
Figure 957102DEST_PATH_IMAGE003
的哈希值,若不相等则
Figure 956282DEST_PATH_IMAGE003
为伪造的,直接结束;若h等于
Figure 912737DEST_PATH_IMAGE003
的哈希值则该
Figure 997367DEST_PATH_IMAGE003
为真实的。
Figure 196005DEST_PATH_IMAGE003
为真的情况下,数据审计服务器需要判断
Figure 315271DEST_PATH_IMAGE003
的有效性。
具体地,在
Figure 301681DEST_PATH_IMAGE003
为真的情况下,数据审计服务器需要判断
Figure 139187DEST_PATH_IMAGE003
的哈希值是否 存在于CBF2,由于CBF2用于存储无效的审计凭证的哈希值,因此
Figure 377402DEST_PATH_IMAGE003
的哈希值若不存在 于CBF2中,则说明
Figure 584130DEST_PATH_IMAGE003
有效。
Figure 147967DEST_PATH_IMAGE003
的哈希值若存在于CBF2中,由于双计数布隆过滤器存在误判的可能,因此 若
Figure 66244DEST_PATH_IMAGE003
的哈希值存在于CBF2中,则需要进一步查看CBF1中是否存在
Figure 108149DEST_PATH_IMAGE003
的哈希值,若 不存在,说明
Figure 202007DEST_PATH_IMAGE003
已经失效,直接结束。
若CBF1存在
Figure 169701DEST_PATH_IMAGE003
的哈希值,则根据第一区块高度,验证
Figure 981799DEST_PATH_IMAGE003
的状态,若为删 除状态,则
Figure 561816DEST_PATH_IMAGE003
失效;否则,
Figure 244601DEST_PATH_IMAGE003
有效。
方式2、在目标数据对应的操作类型为数据更新的情况下,数据共享平台发送的审 计凭证获取请求用于获取数据更新对应的目标审计凭证,该审计凭证获取请求可以表示 为:UpdReq={Service Name、Name、Content Hash、Operation Type、Last Height、 Signature Value、
Figure 648776DEST_PATH_IMAGE003
},其中,
Figure 541645DEST_PATH_IMAGE003
表示原始审计凭证。
数据审计服务器首先需要基于原始审计凭证对应的签名值Signature Value验证原始审计凭证的真实性。
具体地,数据审计服务器使用公钥解密Signature Value获得h,验证h是否等于
Figure 190933DEST_PATH_IMAGE003
的哈希值,若不相等则
Figure 728224DEST_PATH_IMAGE003
为伪造的,直接结束;若h等于
Figure 804765DEST_PATH_IMAGE003
的哈希值则该
Figure 293253DEST_PATH_IMAGE003
为真实的。
Figure 746231DEST_PATH_IMAGE003
为真的情况下,数据审计服务器需要判断
Figure 528242DEST_PATH_IMAGE003
的有效性。
具体地,在
Figure 775684DEST_PATH_IMAGE003
为真的情况下,数据审计服务器需要判断
Figure 252932DEST_PATH_IMAGE003
的哈希值是否 存在于CBF2,由于CBF2用于存储无效的审计凭证的哈希值,因此
Figure 476978DEST_PATH_IMAGE003
的哈希值若不存在 于CBF2中,则说明
Figure 254441DEST_PATH_IMAGE003
有效。
Figure 407205DEST_PATH_IMAGE003
的哈希值若存在于CBF2中,由于双计数布隆过滤器存在误判的可能,因此 若
Figure 761963DEST_PATH_IMAGE003
的哈希值存在于CBF2中,则需要进一步查看CBF1中是否存在
Figure 25585DEST_PATH_IMAGE003
的哈希值,若 不存在,说明
Figure 433388DEST_PATH_IMAGE003
已经失效,直接结束。
若CBF1存在
Figure 491474DEST_PATH_IMAGE003
的哈希值,则根据第一区块高度,验证
Figure 208894DEST_PATH_IMAGE003
的状态,若为删 除状态,则
Figure 400841DEST_PATH_IMAGE003
失效;否则,
Figure 887317DEST_PATH_IMAGE003
有效。
方式3、在目标数据对应的操作类型为上传数据的情况下,数据共享平台发送的审计凭证获取请求用于获取数据上传对应的目标审计凭证,该审计凭证获取请求可以表示为:RegReq={Service Name、Name、Content Hash、Hash Algorithm、Operation Type}。
此时在审计凭证获取请求中没有原始审计凭证,因此无需验证原始审计凭证的有效性,数据审计服务器即可直接生成数据上传操作对应的目标审计凭证。
在上述实施方式中,数据审计服务器可以基于双计数布隆过滤器及原始审计凭证在区块链中的第一区块高度对原始审计凭证进行有效性验证,保证了数据共享平台发送的原始审计凭证是真实有效的;同时,基于双计数布隆过滤器中存储的无效审计凭证和有效审计凭证,可以实现原始审计凭证有效性验证的高效性,同时也降低了存储空间。
可选地,所述将所述目标审计凭证发送至所述数据共享平台,具体通过以下步骤[a]-步骤[c]实现:
步骤[a]、将所述目标审计凭证发送至区块链网络;
步骤[b]、接收所述区块链网络发送的第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;
步骤[c]、利用私钥对所述目标审计凭证及所述第二区块高度进行加密处理,并发送至所述数据共享平台;所述第二区块高度用于客户端从所述数据共享平台获取所述目标审计凭证之后,验证所述目标审计凭证的有效性。
在本实施例中,数据审计服务器在基于操作类型生成操作类型对应的目标审计凭证之后,需要将目标审计凭证发送至区块链网络,以使区块链网络基于目标审计凭证确定对应的第二区块高度。
数据审计服务器接收到区块链网络发送的第二区块高度之后,需要利用私钥对目标审计凭证及第二区块高度进行加密处理,并发送至数据共享平台。
具体地,数据审计服务器需要利用私钥加密目标审计凭证的Certificate Hash,生成目标审计凭证对应的签名值,并赋值给目标审计凭证的Signature Value字段。
在上述实施方式中,利用私钥对目标审计凭证及第二区块高度进行加密处理,并发送至数据共享平台,提高了目标审计凭证的安全性,以确保数据共享平台收到的目标审计凭证的真实性。
可选地,在数据审计服务器基于所述操作类型生成所述操作类型对应的目标审计凭证之后,还需要执行以下步骤1)至步骤2):
步骤1)、将所述目标审计凭证的哈希值存储至所述第一计数布隆过滤器,删除所述第一计数布隆过滤器中存储的所述原始审计凭证的哈希值;
步骤2)、将所述原始审计凭证的哈希值存储至所述第二计数布隆过滤器。
在上述实施方式中,在生成目标审计凭证之后,基于目标审计凭证对CBF1和CBF2进行更新,即,将CBF1中存储的原始审计凭证的哈希值替换为目标审计凭证的哈希值,在接收到下一轮数据共享平台发送的针对目标数据的审计凭证获取请求的情况下,将上一轮目标审计凭证的哈希值作为原始审计凭证的哈希值,从而可以保证数据审计服务器对原始审计凭证进行有效性验证。
可选地,在数据审计服务器将目标审计凭证发送至数据共享平台之后,客户端可以从数据共享平台获取到目标数据对应的目标审计凭证,客户端还可以利用数据审计服务器对目标审计凭证的有效性进行验证;具体通过以下步骤1-步骤3实现:
步骤1、接收所述客户端发送的目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;
步骤2、基于所述双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证;
步骤3、向所述客户端发送所述目标审计凭证的有效性验证结果。
具体地,首先,客户端需要向数据共享平台发送针对目标数据的目标审计凭证获取请求,从而得到数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度。
需要说明的是,在数据审计服务器对目标审计凭证及第二区块高度进行加密的情况下,客户端还需要使用数据审计服务器的公钥对目标审计凭证及第二区块高度进行解密处理。
然后客户端向数据审计服务器发送目标审计凭证有效性验证请求,从而对目标审计凭证的有效性进行验证;其中,目标审计凭证有效性验证请求中携带目标审计凭证及第二区块高度,以使数据审计服务器基于目标审计凭证及第二区块高度对目标审计凭证的有效性进行验证。
最后,数据审计服务器将目标审计凭证的有效性验证结果发送至客户端。
在实际应用中,客户端收到数据平台的针对目标数据的目标审计凭证及第二区块高度,然后使用数据审计服务器的公钥解密目标审计凭证中的Signature Value生成h。
验证h是否等于目标审计凭证的哈希值,若不相等则为伪造的目标审计凭证,若相等则验证目标审计凭证是否过期,具体通过以下方式实现:
通过查询目标审计凭证中的Expiration time、Timestamp验证目标审计凭证是否 过期,若未过期则客户端向数据审计服务器发送目标审计凭证有效性验证请求,从而对目 标审计凭证的有效性进行验证;其中,目标审计凭证有效性验证请求中携带目标审计凭证 及第二区块高度,以使数据审计服务器基于目标审计凭证及第二区块高度对目标审计凭证 的有效性进行验证;其中,目标审计凭证有效性验证请求可以表示为ValReq={
Figure 880419DEST_PATH_IMAGE014
Figure 85135DEST_PATH_IMAGE015
}, 其中,
Figure 815194DEST_PATH_IMAGE014
表示目标审计凭证,
Figure 421755DEST_PATH_IMAGE015
表示第二区块高度。
数据审计服务器验证客户端请求的
Figure 87223DEST_PATH_IMAGE014
是否有效:
具体地,数据审计服务器首先查看CBF2是否存在
Figure 12192DEST_PATH_IMAGE014
,若不存在,则说明
Figure 686887DEST_PATH_IMAGE014
有效。
若存在,为了避免发生误判,需要进一步查看CBF1是否存在
Figure 147955DEST_PATH_IMAGE014
,若不存在,说 明
Figure 108958DEST_PATH_IMAGE014
已经失效,直接结束。
若CBF1存在,则根据第二区块高度
Figure 22687DEST_PATH_IMAGE015
,验证
Figure 734029DEST_PATH_IMAGE014
的状态,若为删除状态,则
Figure 49604DEST_PATH_IMAGE014
失效;否则,
Figure 322453DEST_PATH_IMAGE014
有效。
最后,数据审计服务器向客户端发送目标审计凭证的有效性验证结果。
在上述实施方式中,客户端可以从数据共享平台获取目标数据对应的目标审计凭证,并且可以基于数据审计服务器对目标审计凭证的有效性进行验证,保证了数据审计内容的有效性。
图2是本发明提供的数据审计方法的流程示意图之二,参见图2所示,该方法应用于客户端,包括步骤201-步骤204,其中:
步骤201、向数据共享平台发送针对目标数据的目标审计凭证获取请求。
在本实施例中,客户端首先需要向数据共享平台发送针对目标数据的目标审计凭证获取请求,其中,目标审计凭证获取请求与目标数据的操作类型相关,即,目标数据的不同操作类型对应不同的目标审计凭证获取请求。
其中,目标数据的操作类型有数据上传、数据更新、数据删除等。
步骤202、接收所述数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度。
步骤203、向所述数据审计服务器发送目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度。
在本实施例中,目标审计凭证有效性验证请求可以表示为ValReq={
Figure 723479DEST_PATH_IMAGE014
Figure 599031DEST_PATH_IMAGE015
}, 其中,
Figure 267647DEST_PATH_IMAGE014
表示目标审计凭证,
Figure 711398DEST_PATH_IMAGE015
表示第二区块高度。
步骤204、接收所述数据审计服务器发送的所述目标审计凭证的有效性验证结果;所述目标审计凭证的有效性验证结果是所述数据审计服务器基于双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证后生成的。
本发明提供的数据审计方法,客户端向数据共享平台发送针对目标数据的目标审计凭证获取请求之后,接收数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及目标审计凭证在区块链中的第二区块高度;然后将目标审计凭证及第二区块高度发送至数据审计服务器,数据审计服务器基于双计数布隆过滤器及第二区块高度对目标审计凭进行有效性验证后向客户端发送目标审计凭证的有效性验证结果;由于区块链具有去中心化、防篡改的特点,因此客户端将目标审计凭证及第二区块高度发送至数据审计服务器,从而使数据审计服务器可以基于双计数布隆过滤器及目标审计凭证在区块链中的第二区块高度对目标审计凭证进行有效性验证,保证了客户端收到的目标审计凭证是真实有效的;同时,基于双计数布隆过滤器中存储的无效审计凭证和有效审计凭证,可以实现目标审计凭证有效性验证的高效性,同时也降低了存储空间。
可选地,所述目标审计凭证及所述第二区块高度是所述数据审计服务器利用私钥进行加密处理后得到的;
在所述接收所述数据共享平台发送的来自数据审计服务器的目标审计凭证及第二区块高度之后,客户端还需要执行以下步骤:利用公钥对所述目标审计凭证及所述第二区块高度进行解密处理。
在本实施例中,在数据审计服务器利用私钥对目标审计凭证及第二区块高度进行加密的情况下,客户端还需要使用数据审计服务器的公钥对目标审计凭证及第二区块高度进行解密处理。
在实际应用中,客户端收到数据平台的针对目标数据的目标审计凭证及第二区块高度,然后使用数据审计服务器的公钥解密目标审计凭证中的Signature Value生成h,从而可以利用h与目标审计凭证的哈希值进行比较,以验证目标审计凭证的真实性。
在上述实施方式中,客户端利用公钥对目标审计凭证及第二区块高度进行解密处理,从而保证了目标审计凭证的真实性,保护了数据安全。
为了更清晰的描述本发明提供的数据审计方法,本实施例提供了一种数据审计系统,该系统包括客户端、数据共享平台、数据审计服务器及区块链,其中,利用数据审计系统执行数据审计方法具体可以通过以下步骤实现:
步骤1、数据共享平台向数据审计服务器发送注册请求。
步骤2、数据审计服务器基于注册请求,生成随机字符串密钥并发送至数据共享平台。
步骤3、数据共享平台向数据审计服务器发送身份验证请求。
具体地,身份验证请求中携带盲因子及随机字符串密钥对应的承诺值。
步骤4、数据审计服务器基于盲因子和所述承诺值,对数据共享平台的身份进行验证。
步骤5、在数据共享平台身份验证通过的情况下,数据共享平台向数据审计服务器发送针对目标数据的审计凭证获取请求。
具体地,审计凭证获取请求携带目标数据对应的操作类型、原始审计凭证及原始审计凭证在区块链中的第一区块高度。
步骤6、数据审计服务器基于目标数据的审计凭证获取请求中原始审计凭证对应的签名值验证原始审计凭证的真实性。
步骤7、在原始审计凭证为真的情况下,数据审计服务器判断原始审计凭证的哈希值是否存在于第二计数布隆过滤器。
步骤8、在原始审计凭证的哈希值存在于第二计数布隆过滤器的情况下,数据审计服务器判断原始审计凭证的哈希值是否存在于第一计数布隆过滤器。
步骤9、在原始审计凭证的哈希值存在于第一计数布隆过滤器的情况下,数据审计服务器基于第一区块高度,验证原始审计凭证是否为删除状态。
步骤10、在原始审计凭证为非删除状态的情况下,数据审计服务器判断原始审计凭证有效。
步骤11、数据审计服务器将目标审计凭证发送至区块链网络。
步骤12、数据审计服务器接收区块链网络发送的第二区块高度,其中,第二区块高度为目标审计凭证在区块链中的区块高度。
步骤13、数据审计服务器利用私钥对目标审计凭证及第二区块高度进行加密处理,并发送至数据共享平台。
具体地,第二区块高度用于客户端从数据共享平台获取目标审计凭证之后,验证目标审计凭证的有效性。
步骤14、客户端向数据共享平台发送针对目标数据的目标审计凭证获取请求。
步骤15、客户端接收数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度,其中,第二区块高度为目标审计凭证在区块链中的区块高度。
步骤16、客户端向数据审计服务器发送目标审计凭证有效性验证请求,其中,目标审计凭证有效性验证请求中携带目标审计凭证及第二区块高度。
步骤18、客户端接收数据审计服务器发送的目标审计凭证的有效性验证结果。
具体地,目标审计凭证的有效性验证结果是数据审计服务器基于双计数布隆过滤器及第二区块高度对目标审计凭进行有效性验证后生成的。
步骤19、客户端利用公钥对目标审计凭证及第二区块高度进行解密处理。
下面对本发明提供的数据审计装置进行描述,下文描述的数据审计装置与上文描述的数据审计方法可相互对应参照。图3是本发明提供的数据审计装置的结构示意图之一,如图3所示,该数据审计装置300应用于数据审计服务器,包括:第一接收模块301、第一验证模块302、生成模块303及第一发送模块304,其中:
第一接收模块301,用于接收数据共享平台发送的针对目标数据的审计凭证获取请求;所述审计凭证获取请求携带所述目标数据对应的操作类型、原始审计凭证及所述原始审计凭证在区块链中的第一区块高度;
第一验证模块302,用于基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证;所述双计数布隆过滤器中存储有无效审计凭证和有效审计凭证;
生成模块303,用于在所述原始审计凭证有效的情况下,基于所述操作类型生成所述操作类型对应的目标审计凭证;
第一发送模块304,用于将所述目标审计凭证发送至所述数据共享平台。
本发明提供的数据审计装置,数据审计服务器首先接收数据共享平台发送的针对目标数据的审计凭证获取请求,由于区块链具有去中心化、防篡改的特点,因此数据审计服务器可以基于双计数布隆过滤器及原始审计凭证在区块链中的第一区块高度对原始审计凭证进行有效性验证,保证了数据共享平台发送的原始审计凭证是真实有效的;同时,基于双计数布隆过滤器中存储的无效审计凭证和有效审计凭证,可以实现原始审计凭证有效性验证的高效性,同时也降低了存储空间;数据审计服务器在验证原始审计凭证有效的情况下,基于审计凭证获取请求携带的目标数据对应的操作类型生成目标审计凭证,由于目标审计凭证是数据审计服务器在验证原始审计凭证有效的情况下生成的,因此目标审计凭证也是真实有效的,从而保证了数据审计内容的有效性;最后数据审计服务器将目标审计凭证发送至数据共享平台,实现了数据共享平台的动态审计。
可选地,所述双计数布隆过滤器包括第一计数布隆过滤器和第二计数布隆过滤器;所述第一计数布隆过滤器用于存储所述有效审计凭证,所述第二计数布隆过滤器用于存储所述无效审计凭证。
可选地,所述审计凭证获取请求还携带所述原始审计凭证对应的签名值;所述签名值用于判断所述原始审计凭证的真实性;
所述第一验证模块302,进一步用于:
基于所述签名值验证所述原始审计凭证的真实性;
在所述原始审计凭证为真的情况下,判断所述原始审计凭证的哈希值是否存在于所述第二计数布隆过滤器;
在所述原始审计凭证的哈希值存在于所述第二计数布隆过滤器的情况下,判断所述原始审计凭证的哈希值是否存在于所述第一计数布隆过滤器;
在所述原始审计凭证的哈希值存在于所述第一计数布隆过滤器的情况下,基于所述第一区块高度,验证所述原始审计凭证是否为删除状态;
在所述原始审计凭证为非删除状态的情况下,所述原始审计凭证有效。
可选地,所述第一发送模块304,进一步用于:
将所述目标审计凭证发送至区块链网络;
接收所述区块链网络发送的第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;
利用私钥对所述目标审计凭证及所述第二区块高度进行加密处理,并发送至所述数据共享平台;所述第二区块高度用于客户端从所述数据共享平台获取所述目标审计凭证之后,验证所述目标审计凭证的有效性。
可选地,所述装置还包括:
第一存储模块,用于将所述目标审计凭证的哈希值存储至所述第一计数布隆过滤器,删除所述第一计数布隆过滤器中存储的所述原始审计凭证的哈希值;
第二存储模块,用于将所述原始审计凭证的哈希值存储至所述第二计数布隆过滤器。
可选地,所述装置还包括:
第四接收模块,用于接收所述数据共享平台发送的注册请求;
第二生成模块,用于基于所述注册请求,生成随机字符串密钥并发送至所述数据共享平台;
第五接收模块,用于接收所述数据共享平台发送的身份验证请求;所述身份验证请求中携带盲因子及利用Pedersen承诺得到的所述随机字符串密钥对应的第一承诺值;
第二验证模块,用于基于所述盲因子、所述第一承诺值和第二承诺值,对所述数据共享平台的身份进行验证;所述第二承诺值为所述数据共享平台根据自身存储的随机字符串获得的承诺值。
可选地,所述装置还包括:
第六接收模块,用于接收所述客户端发送的目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;
第三验证模块,用于基于所述双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证;
第四发送模块,用于向所述客户端发送所述目标审计凭证的有效性验证结果。
图4是本发明提供的数据审计装置的结构示意图之二,如图4所示,该数据审计装置400应用于客户端,包括:第二发送模块401、第二接收模块402、第三发送模块403及第三接收模块404,其中:
第二发送模块401,用于向数据共享平台发送针对目标数据的目标审计凭证获取请求;
第二接收模块402,用于接收所述数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;
第三发送模块403,用于向所述数据审计服务器发送目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;
第三接收模块404,用于接收所述数据审计服务器发送的所述目标审计凭证的有效性验证结果;所述目标审计凭证的有效性验证结果是所述数据审计服务器基于双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证后生成的。
本发明提供的数据审计装置,客户端向数据共享平台发送针对目标数据的目标审计凭证获取请求之后,接收数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及目标审计凭证在区块链中的第二区块高度;然后将目标审计凭证及第二区块高度发送至数据审计服务器,数据审计服务器基于双计数布隆过滤器及第二区块高度对目标审计凭进行有效性验证后向客户端发送目标审计凭证的有效性验证结果;由于区块链具有去中心化、防篡改的特点,因此客户端将目标审计凭证及第二区块高度发送至数据审计服务器,从而使数据审计服务器可以基于双计数布隆过滤器及目标审计凭证在区块链中的第二区块高度对目标审计凭证进行有效性验证,保证了客户端收到的目标审计凭证是真实有效的;同时,基于双计数布隆过滤器中存储的无效审计凭证和有效审计凭证,可以实现目标审计凭证有效性验证的高效性,同时也降低了存储空间。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行数据审计方法,该方法包括:接收数据共享平台发送的针对目标数据的审计凭证获取请求;所述审计凭证获取请求携带所述目标数据对应的操作类型、原始审计凭证及所述原始审计凭证在区块链中的第一区块高度;基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证;所述双计数布隆过滤器中存储有无效审计凭证和有效审计凭证;在所述原始审计凭证有效的情况下,基于所述操作类型生成所述操作类型对应的目标审计凭证;将所述目标审计凭证发送至所述数据共享平台;
或者,
向数据共享平台发送针对目标数据的目标审计凭证获取请求;接收所述数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;向所述数据审计服务器发送目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;接收所述数据审计服务器发送的所述目标审计凭证的有效性验证结果;所述目标审计凭证的有效性验证结果是所述数据审计服务器基于双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证后生成的。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据审计方法,该方法包括:接收数据共享平台发送的针对目标数据的审计凭证获取请求;所述审计凭证获取请求携带所述目标数据对应的操作类型、原始审计凭证及所述原始审计凭证在区块链中的第一区块高度;基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证;所述双计数布隆过滤器中存储有无效审计凭证和有效审计凭证;在所述原始审计凭证有效的情况下,基于所述操作类型生成所述操作类型对应的目标审计凭证;将所述目标审计凭证发送至所述数据共享平台;
或者,
向数据共享平台发送针对目标数据的目标审计凭证获取请求;接收所述数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;向所述数据审计服务器发送目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;接收所述数据审计服务器发送的所述目标审计凭证的有效性验证结果;所述目标审计凭证的有效性验证结果是所述数据审计服务器基于双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证后生成的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据审计方法,该方法包括:接收数据共享平台发送的针对目标数据的审计凭证获取请求;所述审计凭证获取请求携带所述目标数据对应的操作类型、原始审计凭证及所述原始审计凭证在区块链中的第一区块高度;基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证;所述双计数布隆过滤器中存储有无效审计凭证和有效审计凭证;在所述原始审计凭证有效的情况下,基于所述操作类型生成所述操作类型对应的目标审计凭证;将所述目标审计凭证发送至所述数据共享平台;
或者,
向数据共享平台发送针对目标数据的目标审计凭证获取请求;接收所述数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;向所述数据审计服务器发送目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;接收所述数据审计服务器发送的所述目标审计凭证的有效性验证结果;所述目标审计凭证的有效性验证结果是所述数据审计服务器基于双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证后生成的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种数据审计方法,其特征在于,应用于数据审计服务器,包括:
接收数据共享平台发送的针对目标数据的审计凭证获取请求;所述审计凭证获取请求携带所述目标数据对应的操作类型、原始审计凭证及所述原始审计凭证在区块链中的第一区块高度;
基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证;所述双计数布隆过滤器中存储有无效审计凭证和有效审计凭证;
在所述原始审计凭证有效的情况下,基于所述操作类型生成所述操作类型对应的目标审计凭证;
将所述目标审计凭证发送至所述数据共享平台;
其中,所述双计数布隆过滤器包括第一计数布隆过滤器和第二计数布隆过滤器;所述第一计数布隆过滤器用于存储所述有效审计凭证,所述第二计数布隆过滤器用于存储所述无效审计凭证。
2.根据权利要求1所述的数据审计方法,其特征在于,所述审计凭证获取请求还携带所述原始审计凭证对应的签名值;所述签名值用于判断所述原始审计凭证的真实性;
所述基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证,包括:
基于所述签名值验证所述原始审计凭证的真实性;
在所述原始审计凭证为真的情况下,判断所述原始审计凭证的哈希值是否存在于所述第二计数布隆过滤器;
在所述原始审计凭证的哈希值存在于所述第二计数布隆过滤器的情况下,判断所述原始审计凭证的哈希值是否存在于所述第一计数布隆过滤器;
在所述原始审计凭证的哈希值存在于所述第一计数布隆过滤器的情况下,基于所述第一区块高度,验证所述原始审计凭证是否为删除状态;
在所述原始审计凭证为非删除状态的情况下,所述原始审计凭证有效。
3.根据权利要求1所述的数据审计方法,其特征在于,所述将所述目标审计凭证发送至所述数据共享平台,包括:
将所述目标审计凭证发送至区块链网络;
接收所述区块链网络发送的第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;
利用私钥对所述目标审计凭证及所述第二区块高度进行加密处理,并发送至所述数据共享平台;所述第二区块高度用于客户端从所述数据共享平台获取所述目标审计凭证之后,验证所述目标审计凭证的有效性。
4.根据权利要求1所述的数据审计方法,其特征在于,在所述基于所述操作类型生成所述操作类型对应的目标审计凭证之后,所述方法还包括:
将所述目标审计凭证的哈希值存储至所述第一计数布隆过滤器,删除所述第一计数布隆过滤器中存储的所述原始审计凭证的哈希值;
将所述原始审计凭证的哈希值存储至所述第二计数布隆过滤器。
5.根据权利要求1所述的数据审计方法,其特征在于,在所述基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证之前,所述方法还包括:
接收所述数据共享平台发送的注册请求;
基于所述注册请求,生成随机字符串密钥并发送至所述数据共享平台;
接收所述数据共享平台发送的身份验证请求;所述身份验证请求中携带盲因子及利用Pedersen承诺得到的所述随机字符串密钥对应的第一承诺值;
基于所述盲因子、所述第一承诺值和第二承诺值,对所述数据共享平台的身份进行验证;所述第二承诺值为所述数据共享平台根据自身存储的随机字符串获得的承诺值。
6.根据权利要求3所述的数据审计方法,其特征在于,所述方法还包括:
接收所述客户端发送的目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;
基于所述双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证;
向所述客户端发送所述目标审计凭证的有效性验证结果。
7.一种数据审计方法,其特征在于,应用于客户端,包括:
向数据共享平台发送针对目标数据的目标审计凭证获取请求;
接收所述数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;
向所述数据审计服务器发送目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;
接收所述数据审计服务器发送的所述目标审计凭证的有效性验证结果;所述目标审计凭证的有效性验证结果是所述数据审计服务器基于双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证后生成的;
其中,所述双计数布隆过滤器包括第一计数布隆过滤器和第二计数布隆过滤器;所述第一计数布隆过滤器用于存储有效审计凭证,所述第二计数布隆过滤器用于存储无效审计凭证。
8.根据权利要求7所述的数据审计方法,其特征在于,所述目标审计凭证及所述第二区块高度是所述数据审计服务器利用私钥进行加密处理后得到的;
在所述接收所述数据共享平台发送的来自数据审计服务器的目标审计凭证及第二区块高度之后,所述方法还包括:
利用公钥对所述目标审计凭证及所述第二区块高度进行解密处理。
9.一种数据审计装置,其特征在于,应用于数据审计服务器,包括:
第一接收模块,用于接收数据共享平台发送的针对目标数据的审计凭证获取请求;所述审计凭证获取请求携带所述目标数据对应的操作类型、原始审计凭证及所述原始审计凭证在区块链中的第一区块高度;
第一验证模块,用于基于双计数布隆过滤器及所述第一区块高度对所述原始审计凭证进行有效性验证;所述双计数布隆过滤器中存储有无效审计凭证和有效审计凭证;
第一生成模块,用于在所述原始审计凭证有效的情况下,基于所述操作类型生成所述操作类型对应的目标审计凭证;
第一发送模块,用于将所述目标审计凭证发送至所述数据共享平台;
其中,所述双计数布隆过滤器包括第一计数布隆过滤器和第二计数布隆过滤器;所述第一计数布隆过滤器用于存储所述有效审计凭证,所述第二计数布隆过滤器用于存储所述无效审计凭证。
10.一种数据审计装置,其特征在于,应用于客户端,包括:
第二发送模块,用于向数据共享平台发送针对目标数据的目标审计凭证获取请求;
第二接收模块,用于接收所述数据共享平台发送的来自数据审计服务器的针对目标数据的目标审计凭证及第二区块高度;所述第二区块高度为所述目标审计凭证在区块链中的区块高度;
第三发送模块,用于向所述数据审计服务器发送目标审计凭证有效性验证请求,所述目标审计凭证有效性验证请求中携带所述目标审计凭证及所述第二区块高度;
第三接收模块,用于接收所述数据审计服务器发送的所述目标审计凭证的有效性验证结果;所述目标审计凭证的有效性验证结果是所述数据审计服务器基于双计数布隆过滤器及所述第二区块高度对所述目标审计凭进行有效性验证后生成的;
其中,所述双计数布隆过滤器包括第一计数布隆过滤器和第二计数布隆过滤器;所述第一计数布隆过滤器用于存储有效审计凭证,所述第二计数布隆过滤器用于存储无效审计凭证。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述数据审计方法,或者实现如权利要求7至8任一项所述数据审计方法。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据审计方法,或者实现如权利要求7至8任一项所述数据审计方法。
CN202211576228.6A 2022-12-09 2022-12-09 数据审计方法、装置、电子设备和存储介质 Active CN115580495B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211576228.6A CN115580495B (zh) 2022-12-09 2022-12-09 数据审计方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211576228.6A CN115580495B (zh) 2022-12-09 2022-12-09 数据审计方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN115580495A CN115580495A (zh) 2023-01-06
CN115580495B true CN115580495B (zh) 2023-03-10

Family

ID=84590390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211576228.6A Active CN115580495B (zh) 2022-12-09 2022-12-09 数据审计方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115580495B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493007A (zh) * 2019-09-06 2019-11-22 腾讯科技(深圳)有限公司 一种基于区块链的信息验证方法、装置、设备及存储介质
CN110493220A (zh) * 2019-08-16 2019-11-22 腾讯科技(深圳)有限公司 一种基于区块链的数据共享方法、设备及存储介质
CN114372296A (zh) * 2021-12-31 2022-04-19 华南理工大学 一种基于区块链的用户行为数据审计方法及系统
WO2022141057A1 (zh) * 2020-12-29 2022-07-07 合肥达朴汇联科技有限公司 区块链匿名用户审计方法、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405216B2 (en) * 2020-05-07 2022-08-02 Adp, Inc. System for authenticating verified personal credentials
KR20220057203A (ko) * 2020-10-29 2022-05-09 삼성전자주식회사 데이터 수신장치 및 데이터 수신방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493220A (zh) * 2019-08-16 2019-11-22 腾讯科技(深圳)有限公司 一种基于区块链的数据共享方法、设备及存储介质
CN110493007A (zh) * 2019-09-06 2019-11-22 腾讯科技(深圳)有限公司 一种基于区块链的信息验证方法、装置、设备及存储介质
WO2022141057A1 (zh) * 2020-12-29 2022-07-07 合肥达朴汇联科技有限公司 区块链匿名用户审计方法、电子设备及存储介质
CN114372296A (zh) * 2021-12-31 2022-04-19 华南理工大学 一种基于区块链的用户行为数据审计方法及系统

Also Published As

Publication number Publication date
CN115580495A (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
US11128477B2 (en) Electronic certification system
US10296248B2 (en) Turn-control rewritable blockchain
CN111859348B (zh) 一种基于用户识别模块及区块链技术的身份认证方法及装置
CN108933667B (zh) 一种基于区块链的公钥证书的管理方法及管理系统
US20170019260A1 (en) Identity-based certificate management
EP3375135A1 (en) Methods and systems for pki-based authentication
US20050144439A1 (en) System and method of managing encryption key management system for mobile terminals
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
JP4256361B2 (ja) 認証管理方法及びシステム
CN110995446B (zh) 证据验证方法、装置、服务器及存储介质
US20070050626A1 (en) Document management system, document processing computer, signature generating computer, storage medium storing program for document management, and document management method
CN107483407B (zh) 一种防盗链的方法和系统
US7739500B2 (en) Method and system for consistent recognition of ongoing digital relationships
US20080148401A1 (en) System for Reducing Fraud
US8683195B2 (en) System and method for reducing fraud
JP6779416B2 (ja) 電子錠システム、電子錠管理方法、および電子錠管理プログラム
US20230232222A1 (en) User terminal, authentication terminal, registration terminal, management system and program
JP6533542B2 (ja) 秘密鍵複製システム、端末および秘密鍵複製方法
CN111740995B (zh) 一种授权认证方法及相关装置
CN115580495B (zh) 数据审计方法、装置、电子设备和存储介质
CN114726606B (zh) 一种用户认证方法、客户端、网关及认证服务器
CN114257376B (zh) 数字证书更新方法、装置、计算机设备和存储介质
CN114422266A (zh) 一种基于双重验证机制的IDaaS系统
CN114638009A (zh) 一种适用于公钥密码技术和支持商用密码算法的电子签章系统
CN115114648A (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