CN114866337B - 共享数据审计方法及其装置、设备、存储介质和程序产品 - Google Patents
共享数据审计方法及其装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN114866337B CN114866337B CN202210656397.4A CN202210656397A CN114866337B CN 114866337 B CN114866337 B CN 114866337B CN 202210656397 A CN202210656397 A CN 202210656397A CN 114866337 B CN114866337 B CN 114866337B
- Authority
- CN
- China
- Prior art keywords
- shared data
- data
- audit
- cloud server
- data block
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000012550 audit Methods 0.000 claims abstract description 130
- 238000004891 communication Methods 0.000 claims abstract description 50
- 238000012795 verification Methods 0.000 claims description 18
- 239000003999 initiator Substances 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 time stamps, e.g. generation of time stamps
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种共享数据审计方法,涉及计算机技术领域,可以应用于金融领域或其他领域。共享数据审计方法应用于代理服务器中,共享数据审计方法包括:向云服务器发送第一指令,第一指令配置为:使云服务器建立可信容器并发起运行环境认证;当运行环境认证通过时,与可信容器建立通信;根据审计对象,生成挑战信息;将挑战信息发送至可信容器中,挑战信息配置为:使云服务器基于挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与审计对象相匹配的第一共享数据,并在可信容器中对该第一共享数据进行完整性审计;获取完整性审计的审计结果,将审计结果转发给用户组。本公开还提供了一种共享数据审计装置、设备、存储介质和程序产品。
Description
技术领域
本公开涉及计算机技术领域,可应用于金融领域或其他领域,本公开具体涉及一种共享数据审计方法及其装置、设备、存储介质和程序产品。
背景技术
随着企业间协同工作的开展,共享数据成为了一种重要数据形式。
目前,共享数据存储在云服务器中,为了保证共享数据的可靠性,需要对共享数据进行完整性审计。然而,现有的审计方案需要在用户端和云服务器端进行大量的密码学操作以保证数据安全,例如,为文件生成验证标签、证据生成和证据验证等,导致了严重的计算和通信开销。
发明内容
鉴于上述问题,本公开提供了一种共享数据审计方法及其装置、设备、存储介质和程序产品。
根据本公开的第一个方面,提供了一种共享数据审计方法,其中,所述共享数据审计方法应用于代理服务器中,所述共享数据审计方法包括:
向云服务器发送第一指令,所述第一指令配置为:使所述云服务器建立可信容器并发起运行环境认证;
当所述运行环境认证通过时,与所述可信容器建立通信;
根据审计对象,生成挑战信息;
将所述挑战信息发送至所述可信容器中,所述挑战信息配置为:使所述云服务器基于所述挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与所述审计对象相匹配的所述第一共享数据,并在所述可信容器中对该第一共享数据进行完整性审计;
获取所述完整性审计的审计结果,并将所述审计结果转发给用户组。
根据本公开的实施例,所述共享数据审计方法还包括:
获取所述用户组上传的第二共享数据,所述第二共享数据包括多个数据块;
根据所述第二共享数据,配置与其对应的记录表;
其中,所述记录表包括:所述第二共享数据的第一标识符、所述第二共享数据中每个数据块的索引和每个数据块的第一哈希值。
根据本公开的实施例,所述记录表包括数据块描述链表和多个操作项链表;
所述数据块描述链表包括多个依次连接的数据块描述节点,每个所述数据块描述节点与一个所述数据块对应设置,不同的所述数据块描述节点对应不同的所述数据块,每个所述数据块描述节点包括所述数据块的索引;
每个所述操作项链表通过所述数据块描述节点与一个所述数据块对应设置,不同的所述操作项链表对应不同的所述数据块,所述操作项链表包括至少一个操作描述节点,每个所述操作描述节点包括对所述数据块进行的至少一项操作的操作记录以及所述数据块在经过该操作后的第一哈希值。
根据本公开的实施例,所述操作记录包括:对所述数据块进行的至少一项操作的操作类型以及操作的发起方。
根据本公开的实施例,所述操作项链表中的所述操作描述节点根据时间顺序依次连接,并且,最新插入的所述操作描述节点位于所述操作项链表的头部。
根据本公开的实施例,在获取所述用户组上传的所述第二共享数据之后,所述共享数据审计方法还包括:
从预先存储的至少一个第一密钥中,确定与所述第二共享数据相匹配的第一密钥;
根据所述记录表和确定出的所述第一密钥,对所述第二共享数据进行签名,以得到第一签名;
将所述第一签名和所述第二共享数据发送至云服务器中,以使所述云服务器根据所述第一签名将所述第二共享数据存储至所述非可信区域中,以得到所述第一共享数据。
根据本公开的实施例,所述操作记录还包括操作时间戳;
所述根据确定出的第一密钥和所述记录表,对所述第二共享数据进行签名,以得到第一签名,包括:
通过以下步骤生成每个所述数据块的第二签名:
从与所述数据块相应的所述操作项链表中,确定位于头部的所述操作描述节点,并提取该操作描述节点中的操作时间戳和第一哈希值;
根据确定出的第一密钥以及提取出的所述第一哈希值和所述操作时间戳,生成所述数据块的第二签名。
根据本公开的实施例,所述根据审计对象,生成挑战信息,包括:
确定与所述审计对象相匹配的记录表,以得到目标记录表;
从所述目标记录表中,抽取所述第一标识符、部分数据块的索引以及该部分数据块的第一哈希值;
根据抽取出的所述第一标识符、索引和第一哈希值,构建所述挑战信息。
本公开的第二方面提供了一种共享数据审计方法,其中,所述共享数据审计方法应用于云服务器中,所述共享数据审计方法包括:
获取由代理服务器发送的第一指令;
根据所述第一指令建立可信容器并发起运行环境认证;
获取挑战信息,所述挑战信息由所述代理服务器根据审计对象生成;
基于所述挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与所述审计对象相匹配的第一共享数据,并在所述可信容器中对该第一共享数据进行完整性审计;
将所述审计结果发送给代理服务器。
根据本公开的实施例,所述共享数据审计方法,还包括:
获取由代理服务器发送的第一签名和第二共享数据,所述第一签名由所述代理服务器通过第一密钥对所述第二共享数据进行签名后得到;
根据预先存储的与所述第一密钥相匹配的第二密钥对所述第一签名进行验证;
当验证通过后,将所述第二共享数据存储至非可信区域中,以得到所述第一共享数据。
根据本公开的实施例,所述挑战信息包括:第一标识符、部分数据块的索引以及该部分数据块的第一哈希值,所述基于所述挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与所述审计对象相匹配的第一共享数据,包括:
从所述云服务器的非可信区域存储的至少一个第一共享数据中,确定与所述第一标识符相匹配的第一共享数据,以得到与所述审计对象相匹配的第一共享数据;
所述在所述可信容器中对该第一共享数据进行完整性审计,包括:
从与所述审计对象相匹配的第一共享数据中,加载与所述索引相匹配的数据块,以得到目标数据块;
计算所述目标数据块的第二哈希值;
将所述第二哈希值与所述挑战信息中的第一哈希值进行比对,以进行所述完整性审计。
本公开的第三方面提供了一种共享数据审计装置,其中,所述共享数据审计装置应用于代理服务器中,所述共享数据审计装置包括:
第一发送模块,用于向云服务器发送第一指令,所述第一指令配置为:使所述云服务器建立可信容器并发起运行环境认证;
第一通信模块,用于当所述运行环境认证通过时,与所述可信容器建立通信;
生成模块,用于根据审计对象,生成挑战信息;
第二发送模块,用于将所述挑战信息发送至所述可信容器中,所述挑战信息配置为,使所述云服务器基于所述挑战信息,从所述云服务器的非可信区域中确定与所述审计对象相匹配的共享数据,并在所述可信容器中对该共享数据进行完整性审计;
第一获取模块,用于获取所述完整性审计的审计结果,并将所述审计结果转发给用户组。
本公开的第四方面提供了一种共享数据审计装置,其中,所述共享数据审计装置应用于云服务器中,所述共享数据审计装置包括:
第二获取模块,用于获取由代理服务器发送的第一指令;
第二通信获取模块,用于根据所述第一指令建立可信容器并发起运行环境认证;
第三获取模块,用于获取挑战信息,所述挑战信息由所述代理服务器根据审计对象生成;
审计模块,用于基于所述挑战信息,从非可信区域中确定与所述审计对象相匹配的共享数据,并在所述可信容器中对与所述审计对象相匹配的共享数据进行完整性审计;
第三发送模块,用于将所述审计结果发送给代理服务器。
本公开的第五方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述的共享数据审计方法。
本公开的第六方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的共享数据审计方法。
本公开的第七方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的共享数据审计方法。
上述一个或多个实施例具有如下优点或益效果:
采用本公开实施例的共享数据审计方法,其在用户组与云服务器中间增设代理服务器,代理服务器能够向云服务器发送第一指令,以使云服务器建立可信容器并发起运行环境认证,当运行环境认证通过后,代理服务器与可信容器建立通信,并向其发送挑战信息以进行完整性审计。可信容器能够基于硬件保证数据的私密性和安全性,例如,可信容器可以基于SGX技术实现。这样一来,云服务器在进行共享数据的完整性审计时,云服务器可以将完整性审计涉及的具体数据放在可信容器中,从而基于硬件保证数据的私密性和安全性而不再依赖于软件,进而可以省去大量的密码学操作,节省通信开销。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的共享数据审计方法及其装置、电子设备、存储介质和程序产品的应用场景图;
图2a示意性示出了根据本公开实施例的应用于代理服务器中的共享数据审计方法的流程图;
图2b示意性示出了根据本公开实施例的代理服务器与云服务器交互的流程图;
图3示意性示出了根据本公开实施例的配置记录表的流程图;
图4a和图4b示意性示出了根据本公开实施例的记录表的示意图;
图5示意性示出了根据本公开实施例的对共享数据进行签名的流程图;
图6示意性示出了根据本公开实施例的生成挑战信息的流程图;
图7示意性示出了根据本公开实施例的应用于云服务器中的共享数据审计方法的流程图;
图8示意性示出了根据本公开实施例的应用于代理服务器中的共享数据审计装置的结构框图;
图9示意性示出了根据本公开实施例的应用于云服务器中的共享数据审计装置的结构框图;
图10示意性示出了根据本公开实施例的适于实现共享数据审计方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
需要说明的是,本公开提供的共享数据审计方法及其装置、电子设备、存储介质和程序产品涉及计算机技术领域。本公开的实施例提供的共享数据审计方法及其装置、电子设备、存储介质和程序产品可应用于金融领域或者除金融领域之外的任意领域,例如,本公开实施例提供的共享数据审计方法及其装置、电子设备、存储介质和程序产品可应用于金融领域中的数据完整性审计业务中。本公开对共享数据审计方法及其装置、电子设备、存储介质和程序产品的应用领域不做限定。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
本公开的实施例提供了一种共享数据审计方法,其中,共享数据审计方法应用于代理服务器中,共享数据审计方法包括:向云服务器发送第一指令,第一指令配置为:使云服务器建立可信容器并发起运行环境认证;当运行环境认证通过时,与可信容器建立通信;根据审计对象,生成挑战信息;将挑战信息发送至可信容器中,挑战信息配置为,使云服务器基于挑战信息,从云服务器的非可信区域中确定与审计对象相匹配的共享数据,并在可信容器中对该共享数据进行完整性审计;获取完整性审计的审计结果,并将审计结果转发给用户组。
采用本公开实施例的共享数据审计方法,其在用户组与云服务器中间增设代理服务器,代理服务器能够向云服务器发送第一指令,以使云服务器建立可信容器并发起运行环境认证,当运行环境认证通过后,代理服务器与可信容器建立通信,并向其发送挑战信息以进行完整性审计。可信容器能够基于硬件保证数据的私密性和安全性,例如,可信容器可以基于SGX技术实现。这样一来,云服务器在进行共享数据的完整性审计时,云服务器可以将完整性审计涉及的具体数据放在可信容器中,从而基于硬件保证数据的私密性和安全性而不再依赖于软件,进而可以省去大量的密码学操作,节省通信开销。
图1示意性示出了根据本公开实施例的共享数据审计方法及其装置、电子设备、存储介质和程序产品的应用场景图,如图1所示,根据该实施例的应用场景100可以包括用户组101、网络102、103、代理服务器104和云服务器105。网络102用以在用户组101和代理服务器104之间提供通信链路的介质。网络103用以在代理服务器104和云服务器105之间提供通信链路的介质。网络102、103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户组101中的用户可以利用终端设备通过网络102与代理服务器104交互,以接收或发送消息等。终端设备上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
代理服务器104和云服务器105可以是提供各种服务的服务器,例如,代理服务器104可以将用户组101上传的共享数据在进行签名等处理后转发至云服务器105中,云服务器105可以对接收到的共享数据进行管理,例如对共享数据进行存储和完整性审计等。云服务器105还可以向用户组反馈审计结果、以及允许用户组101查询、修改共享数据等。
需要说明的是,本公开实施例所提供的一种共享数据审计方法一般可以由代理服务器104执行。相应地,本公开实施例所提供的一种共享数据审计装置一般可以设置于代理服务器104中。本公开实施例所提供的一种共享数据审计方法也可以由不同于代理服务器104且能够与用户组101和云服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的一种共享数据审计装置也可以设置于不同于代理服务器104且能够与用户组101和云服务器105通信的服务器或服务器集群中。
本公开实施例所提供的另一种共享数据审计方法一般可以由云服务器105执行。相应地,本公开实施例所提供的另一种共享数据审计装置一般可以设置于云服务器105中。本公开实施例所提供的另一种共享数据审计方法也可以由不同于云服务器105且能够与代理服务器104通信的服务器或服务器集群执行。相应地,本公开实施例所提供的另一种共享数据审计装置也可以设置于不同于云服务器105且能够与代理服务器104通信的服务器或服务器集群中。
应该理解,图1中的用户组、网络、代理服务器和云服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的用户组、网络、代理服务器和云服务器。
以下将基于图1描述的场景,通过图2a~图6对公开实施例的共享数据审计方法进行详细描述,该实施例中的共享数据审计方法应用于代理服务器中。
图2a示意性示出了根据本公开实施例的应用于代理服务器中的共享数据审计方法的流程图,图2b示意性示出了根据本公开实施例的代理服务器与云服务器交互的流程图,结合图2a和图2b所示,该实施例的共享数据审计方法包括步骤S210~步骤S250。
需要说明的是,虽然本公开实施例附图中的各步骤按照箭头的指示依次显示,但是,这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替的执行。
在步骤S210,向云服务器发送第一指令,第一指令配置为:使云服务器建立可信容器并发起运行环境认证。
在本公开实施例中,代理服务器可以响应于审计请求,向云服务器发送第一指令。可选地,审计请求可以是由用户组发出的,也可以是代理服务器按照预先设置的周期定期发起的。
在步骤S220,当运行环境认证通过时,与可信容器建立通信。
在本公开实施例中,代理服务器和云服务器中可以引入软件保护扩展(SoftwareGuard Extension,SGX)技术,SGX技术旨在以硬件安全为强制性保障,不依赖于软件的安全状态,提供可信容器,进而通过一组新的指令集扩展与访问控制机制保障代码和数据的机密性与完整性不受恶意软件的破坏。由此,运行在可信容器中的代码和数据是保密且不可篡改的。
在本公开实施例中,云服务器可以基于SGX技术建立可信容器并发起运行环境认证。例如,云服务器可以根据第一指令,创建具有指定内容的可信容器。当可信容器创建完成后,云服务器可以将该可信容器内容的哈希值发给代理服务器,代理服务器若判断该哈希值与期望值一致,则确定运行环境认证通过,此时,代理服务器将与该可信容器建立可信通道,以进行通信。当运行环境认证未通过时,代理服务器拒绝与可信容器建立通信。
在步骤S230,根据审计对象,生成挑战信息。
在步骤S240,将挑战信息发送至可信容器中,挑战信息配置为:使云服务器基于挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与审计对象相匹配的第一共享数据,并在可信容器中对该第一共享数据进行完整性审计。
在本公开实施例中,云服务器中的非可信区域可以是指可信容器之外的区域,例如存储区域和计算区域。用户组可以通过代理服务器向云服务器上传共享数据,在本公开实施例中,为形成区分,下文将上传的共享数据称为第二共享数据。
云服务器在接收到第二共享数据后,可以将其存储在非可信区域中,为形成区分,在本公开实施例中,将云服务器中存储的共享数据称为第一共享数据,完整性审计则是指对云服务器中存储的第一共享数据发起的审计,用于确定云服务器中存储的第一共享数据是否完整。
在本公开实施例中,第二共享数据经由代理服务器上传至云服务器,因此,在代理服务器中,可以为第二共享数据配置记录表,这样一来,在本公开实施例中,可以基于代理服务器中配置的记录表对云服务中存储的第一共享数据发起完整性审计。
例如,在进行完整性审计时,代理服务器先明确审计对象,之后,代理服务器可以根据审计对象,生成挑战信息并将挑战信息发送至云服务器的可信容器中。可信容器可以根据挑战信息确定与审计对象相匹配的第一共享数据并加载至可信容器中,进而发起完整性审计。
例如,用户组在上传第二共享数据时,可以为第二共享数据生成第一标识符,第二共享数据经由代理服务器上传至云服务器中时,该第一标识符可以存储在代理服务器上配置的记录表中。代理服务器在生成挑战信息时,可以从记录表中获取该第一标识符,并基于该第一标识符生成挑战信息。云服务器则可以根据挑战信息中的第一标识符,从非可信区域中找到相应的第一共享数据,从而确定与审计对象相匹配的第一共享数据。
云服务器在确定与审计对象相匹配的第一共享数据后,云服务器可以基于挑战信息从该第一共享数据中加载部分数据,进而通过数据比对等方式,以进行完整性审计。
例如,代理服务器中的记录表中还可以包括能够表征第二共享数据的内容的信息,例如下文将会提到的第一哈希值等。代理服务器在生成挑战信息时,可以从记录表中获取该第一哈希值,并基于第一标识符和第一哈希值生成挑战信息。云服务器则可以根据挑战信息中的第一标识符,从非可信区域中找到相应的第一共享数据并加载至可信容器中,在可信容器中,可以计算加载的数据的哈希值,例如下文将会提到的第二哈希值,从而通过比对第一哈希值和第二哈希值进行完整性审计。
在步骤S250,获取完整性审计的审计结果,并将审计结果转发给用户组,以供用户组查看。
采用本公开实施例的共享数据审计方法,其在用户组与云服务器中间增设代理服务器,代理服务器能够向云服务器发送第一指令,以使云服务器建立可信容器并发起运行环境认证,当运行环境认证通过后,代理服务器与可信容器建立通信,并向其发送挑战信息以进行完整性审计。可信容器能够基于硬件保证数据的私密性和安全性,例如,可信容器可以基于SGX技术实现。这样一来,云服务器在进行第一共享数据的完整性审计时,云服务器可以将完整性审计涉及的具体数据放在可信容器中,从而基于硬件保证数据的私密性和安全性而不再依赖于软件,进而可以省去大量的密码学操作,节省通信开销。
下面结合图2a至图6对本公开实施例的共享数据审计方法进行进一步的说明。
图3示意性示出了根据本公开实施例的配置记录表的流程图,如图3所示,在一些具体实施例中,共享数据审计方法还包括步骤S310和步骤S320。
在步骤S310,获取用户组上传的第二共享数据,第二共享数据包括多个数据块。
在本公开实施例中,用户组可以包括数据拥有者、普通用户和用户管理者。数据拥有者可以生产和上传第二共享数据,例如,数据拥有者可以通过代理服务器向云服务器中上传第二共享数据。普通用户可以查询和修改存储在云服务器中的第一共享数据。用户管理者可以管理用户组中的用户,例如,用户管理者可以通过用户清单管理用户的加入,删除等。
可选地,用户组在上传第二共享数据时,可以对第二共享数据进行预处理。例如,用户组可以为第二共享数据生成第一标识符。
可选地,用户组可以将第二共享数据切分成多个数据块。之后,用户组可以对每个数据块进行哈希计算,从而得到每个数据块的第一哈希值。例如,用户组可以为第二共享数据F生成第一标识符Fid,以及将第二共享数据F切分成n个数据块bi(i=1,2……n),其中,n为正整数,从而得到数据块集合X,X={b1,b2……bn}。用户组为每个数据块bi计算第一哈希值ri(i=1,2……n),得到第一哈希值集合R,R={r1,r2……rn}。
在步骤S320,根据第二共享数据,配置与其对应的记录表。
在本公开实施例中,记录表中可以记录第二共享数据的关键信息,而将其余的信息删除以节省存储空间。例如,记录表包括:第二共享数据的第一标识符、第二共享数据中每个数据块的索引和每个数据块的第一哈希值。
图4a和图4b示意性示出了根据本公开实施例的记录表的示意图,其中,图4a示意性示出了上传第二共享数据时生成的初始记录表,图4b示意性示出了对第二共享数据进行至少一项操作后得到的记录表。结合图4a和图4b所示,在一些具体实施例中,记录表包括数据块描述链表和多个操作项链表。数据块描述链表包括多个依次连接的数据块描述节点B1至Bn,每个数据块描述节点与一个数据块对应设置,不同的数据块描述节点对应不同的数据块,每个数据块描述节点包括数据块的索引。每个操作项链表通过数据块描述节点与一个数据块对应设置,不同的操作项链表对应不同的数据块,操作项链表包括至少一个操作描述节点,每个操作描述节点包括对数据块进行的至少一项操作的操作记录以及数据块在经过该操作后的第一哈希值,例如图4b中,在数据块描述节点Bi指向的操作项链表中,在第j个操作描述节点,其中包括第一哈希值ri,j,第一哈希值ri,j表示,用户组在对数据块bi进行第j项操作后,数据块bi的第一哈希值。其中,j为正整数。
在本公开实施例中,对数据块进行的操作可以根据实际需要确定,在此不作限制,例如,操作可以包括上传、查询和修改等。
在一些具体实施例中,操作记录包括:对数据块进行的至少一项操作的操作类型,例如图4b中,在数据块描述节点Bi指向的操作项链表中,在第j个操作描述节点,其(操作记录)包括操作类型opi,j以及操作的发起方ui,j,其中,操作类型opi,j表示,用户组在对数据块bi进行第j项操作后,第j项操作的操作类型,发起方ui,j表示,第j项操作的发起方。这样一来,在发现异常操作时,可以及时定位操作来源。
在一些具体实施例中,操作项链表中的操作描述节点根据时间顺序依次连接,并且,最新插入的操作描述节点位于操作项链表的头部,从而可以顺着操作项链表,梳理发生过的所有操作,从而有利于追根溯源。
例如,在上传第二共享数据F时,可以为其配置初始的记录表,此时,记录表包括数据描述链表和多个操作项链表,其中,数据描述链表包括与数据块b1至bn一一对应的B1至Bn,由于该记录表为初始的记录表,因此,每个操作项链表可以包括一个操作描述节点。
结合图4a和图4b所示,在后续过程中,假设用户组中的某一用户对数据块b1进行了修改操作,那么,代理服务器可以在与数据块b2对应的操作项链表中,在第一个操作描述节点之前,插入新的操作描述节点,从而使得新插入的操作描述节点位于操作项链表的头部。
图5示意性示出了根据本公开实施例的对共享数据进行签名的流程图,如图5所示,在一些具体实施例中,在步骤S310之后,共享数据审计方法还包括步骤S330至步骤S350。
在步骤S330,从预先存储的至少一个第一密钥中,确定与第二共享数据相匹配的第一密钥。
在本公开实施例中,可以为每个用户组配置第一密钥和第二密钥。可选地,第一密钥和第二密钥可以为公私密钥对,其中,第一密钥和第二密钥中的一者为私钥,另一者为公钥。第一密钥存储在代理服务中,以供代理服务器进行签名使用,第二密钥可以公开,从而使云服务器可以根据第二密钥对由第一密钥签名的数据进行验证等。
在步骤S340,根据记录表和确定出的第一密钥,对第二共享数据进行签名,以得到第一签名。
在本公开实施例中,代理服务器可以为第二共享数据的每个数据块生成第二签名,并组成签名集合,以得到第一签名。例如,可以针对每个数据块,从记录表中提取出该数据块的第一哈希值,之后,利用第一密钥和提取出的第一哈希值生成第二签名。
在一些具体实施例中,记录表包括上述的数据块描述链表和多个操作项链表,操作记录还包括操作时间戳,例如图4b中,在数据块描述节点Bi指向的操作项链表中,在第j个操作描述节点,其(操作记录)还包括时间戳ti,j,其中,时间戳ti,j表示,用户组在对数据块bi进行过第j项操作后,第j项操作的操作时间。步骤S340包括通过步骤S341和步骤S342生成每个所述数据块的第二签名。
在步骤S341,从与数据块相应的操作项链表中,确定位于头部的操作描述节点,并提取该操作描述节点中的操作时间戳和第一哈希值。
在本公开实施例中,操作项链表与数据块一一对应设置,在操作项链表中,位于头部的操作描述节点也即最新插入的操作描述节点,该操作描述节点中的第一哈希值即为相应的数据块的最新哈希值。
示例性地,第二共享数据F包括多个数据块b1至bn,数据块描述链表包括多个依次连接的数据块描述节点B1至Bn。每个数据块描述节点B1连接一个操作项链表,每个操作项链表包括至少一个操作描述节点。
例如,如图4b所示,数据块描述节点B1指向的操作项链表包括两个操作描述节点,数据块描述节点B2指向的操作项链表包括一个操作描述节点,数据块描述节点Bi指向的操作项链表包括c个操作描述节点,数据块描述节点Bn指向的操作项链表包括1个操作描述节点。其中,每个操作描述节点均包括相应的数据块的第一哈希值和操作时间戳。
例如,数据块描述节点B1指向的操作项链表包括两个操作描述节点,第一个操作描述节点(也即位于头部的操作描述节点)包括第一哈希值ri,2和时间戳ti,2。第二个操作描述节点包括第一哈希值ri,1和时间戳ti,1。因此,在步骤S341,可以从第一个操作描述节点中提取出第一哈希值ri,2和时间戳ti,2。
在步骤S342,根据确定出的第一密钥以及提取出的第一哈希值和操作时间戳,生成数据块的第二签名。
在本公开实施例中可以将第一哈希值和操作时间戳进行拼接并进行第一次哈希计算,之后,利用第一密钥sk对第一次哈希计算的结果进行签名,以得到第三签名。继而,再将第三签名和操作时间戳进行拼接,从而生成每个数据块的第二签名。
可选地,可以通过以下公式生成数据块bi的第二签名σi(i=1,2……n):
σi=ti,j||SIG(sk,h(ti,j||ri,j))
其中,h(ti,j||ri,j)表示对数据块bi的第一哈希值ri,j和操作时间戳ti,j的拼接值进行哈希计算,SIG(sk,h(ti,j||ri,j))表示用第一密钥sk为h(ti,j||ri,j)生成数字签名。样一来,可以得到第二共享数据F中各个数据块(b1至bn)的第二签名的集合E={σ1,σ2,...,σn},进而,可以由该集合作为第一签名。
在步骤S350,将第一签名和第二共享数据发送至云服务器中,以使云服务器根据第一签名将第二共享数据存储至非可信区域中,以得到第一共享数据。
云服务器在接收到第一签名后,可以对第一签名进行验证,例如,可以通过上述的第二密钥进行验证。
示例性地,云服务器在接收到第一签名和第二共享数据后,可以对第二共享数据的每个数据块再次进行哈希值运算,以得到数据块bi的第三哈希值ri’,之后,利用第二密钥pk,结合每个数据块的第二签名进行验证。
可选地,可以通过以下公式计算数据块bi的验证结果λi:
λi=Vetify(pk,ri′,σi)
其中,其中Verify(pk,r′iσi)表示用公钥pk和第三哈希值ri’对第二签名σi进行验证。若每个数据块的验证结果λi的值都为True,则确定验证通过,保存上传的第二共享数据;若存在一个数据块的验证结果λi的值为False,则确定验证未通过,可以要求重新上传对应的数据块。
图6示意性示出了根据本公开实施例的生成挑战信息的流程图,如图6所示,在一些具体实施例中,步骤S230包括步骤S231至步骤S233。
在步骤S231,确定与审计对象相匹配的记录表,以得到目标记录表。
在步骤S232,从目标记录表中,抽取第一标识符、部分数据块的索引以及该部分数据块的第一哈希值。
例如,在上传第二共享数据F时,代理服务器生成记录表y。该记录表y可以如前文所述,在此不再赘述,第二共享数据F存储至云服务器中后,得到相应的第一共享数据F’。在本公开实施例中,若想对第一共享数据F’进行完整性审计,可以先找到记录表y,进而抽取第一标识符Fid、l个数据块(b1至bl)的索引和第一哈希值等等。其中,l小于或等于n。
在步骤S233,根据抽取出的第一标识符、索引和第一哈希值,构建挑战信息。
在本公开实施例中,可以由第一标识符Fid、索引Ω和第一哈希值rl,j,共同组合得到挑战信息chal={Fid,Ω,{rl|l∈Ω}}。其中,第一哈希值rl,j表示,数据块bl的第一哈希值。
在本公开实施例中,云服务器在接收到挑战信息后,可以根据标识符Fid找到与审计对象相匹配的第一共享数据,进而,根据挑战信息中的索引Ω从与审计对象相匹配的第一共享数据中向可信容器中加载相应的数据块。
在本公开实施例中,云服务器可以在可信容器中计算加载的数据块的哈希值,以得到第二哈希值。云服务器可以根据索引,找到对应同一个数据块第一哈希值和第二哈希值,将对二者进行比对,若一致,则说明加载数据块与预期相同。当加载的所有数据块均与预期相同时,则说明云服务中存储的第一共享数据与代理服务器中记录表中所记录的一致,此时,可以确认完整性审计通过。
采用本公开实施例的共享数据审计方法,能够基于SGX实现轻量的通信开销。在此基础上,通过用户管理员管理用户组中用户的添加和删除,由代理服务器保存密钥和进行签名,从而能够实现便利的用户管理,例如,用户的添加删除不再需要对元数据进行修改,同时还能抵御用户恶意泄露密钥带来的风险。再者,本公开的实施例通过记录表记录对数据块的各项操作,还能够实现对异常操作的追踪,从而能够及时定位异常来源。
本公开的实施例还提供另一种共享数据审计方法,该共享数据审计方法应用于云服务器中,以下将基于图1描述的场景,通过图7对该实施例的共享数据审计方法进行详细描述。
图7示意性示出了根据本公开实施例的应用于云服务器中的共享数据审计方法的流程图,结合图7和图2b所示,共享数据审计方法包括步骤S410至步骤S450。
在步骤S410,获取由代理服务器发送的第一指令。
在步骤S420,根据第一指令建立可信容器并发起运行环境认证。
在步骤S430,获取挑战信息,挑战信息由代理服务器根据审计对象生成。
在步骤S440,基于挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与审计对象相匹配的第一共享数据,并在可信容器中对该第一共享数据进行完整性审计。
在步骤S450,将审计结果发送给代理服务器。
在本公开实施例中,代理服务器可以响应于审计请求,向云服务器发送第一指令。可选地,审计请求可以是由用户组发出的,也可以是代理服务器按照预先设置的周期定期发起的。
在本公开实施例中,代理服务器和云服务器中可以引入软件保护扩展(SoftwareGuard Extension,SGX)技术,SGX技术旨在以硬件安全为强制性保障,不依赖于软件的安全状态,提供可信容器,进而通过一组新的指令集扩展与访问控制机制保障代码和数据的机密性与完整性不受恶意软件的破坏。由此,运行在可信容器中的代码和数据是保密且不可篡改的。
在本公开实施例中,云服务器可以基于SGX技术建立可信容器并发起运行环境认证。例如,云服务器可以根据第一指令,创建具有指定内容的可信容器。当可信容器创建完成后,云服务器可以将该可信容器内容的哈希值发给代理服务器,代理服务器若判断该哈希值与期望的值一致,则确定运行环境认证通过,此时,代理服务器将与该可信容器建立可信通道,以进行通信。当运行环境认证未通过时,代理服务器拒绝与可信容器建立通信。
在本公开实施例中,云服务器中的非可信区域可以是指可信容器之外的区域,上传至云服务器中的共享数据可以存储在非可信区域中。完整性审计则是指对云服务器中存储的共享数据发起的审计,用于确定云服务器中存储的共享数据是否完整。
在本公开实施例中,共享数据经由代理服务器上传至云服务器,因此,在代理服务器中可以备份上传的共享数据,这样一来,在本公开实施例中,可以基于代理服务器中备份的共享数据对云服务中存储的共享数据发起完整性审计。为形成区分,在本公开实施例中,将云服务器中存储的共享数据称为第一共享数据。
例如,在进行完整性审计时,代理服务器先明确审计对象,之后,代理服务器可以根据审计对象,生成挑战信息,云服务器在接收到挑战信息后,可以从非可信区域中存储的多个第一共享数据中找到与审计对象相匹配的第一共享数据,进而发起完整性审计。
例如,用户组在上传第二共享数据时,可以为第二共享数据生成第一标识符,第二共享数据经由代理服务器上传至云服务器中时,该第一标识符可以存储在代理服务器上配置的记录表中。代理服务器在生成挑战信息时,可以从记录表中获取该第一标识符,并基于该第一标识符生成挑战信息。云服务器则可以根据挑战信息中的第一标识符,从非可信区域中找到相应的第一共享数据,从而确定与审计对象相匹配的第一共享数据。
云服务器在确定与审计对象相匹配的第一共享数据后,云服务器可以基于挑战信息从该第一共享数据中加载部分数据,进而通过数据比对等方式,以进行完整性审计。
例如,代理服务器中的记录表中还可以包括能够表征第二共享数据的内容的信息,例如下文将会提到的第一哈希值等。代理服务器在生成挑战信息时,可以从记录表中获取该第一哈希值,并基于第一标识符和第一哈希值生成挑战信息。云服务器则可以根据挑战信息中的第一标识符,从非可信区域中找到相应的第一共享数据并加载至可信容器中,在可信容器中,可以计算加载的数据的哈希值,例如下文将会提到的第二哈希值,从而通过比对第一哈希值和第二哈希值进行完整性审计。
采用本公开实施例的共享数据审计方法,其在用户组与云服务器中间增设代理服务器,代理服务器能够向云服务器发送第一指令,以使云服务器建立可信容器并发起运行环境认证,当运行环境认证通过后,代理服务器与可信容器建立通信,并向其发送挑战信息以进行完整性审计。可信容器能够基于硬件保证数据的私密性和安全性,例如,可信容器可以基于SGX技术实现。这样一来,云服务器在进行第一共享数据的完整性审计时,云服务器可以将完整性审计涉及的具体数据放在可信容器中,从而基于硬件保证数据的私密性和安全性而不再依赖于软件,进而可以省去大量的密码学操作,节省通信开销。
下面对本公开实施例的共享数据审计方法进行进一步的说明。
在一些具体实施例中,共享数据审计方法,还包括步骤S510至步骤S530。
在步骤S510,获取由代理服务器发送的第一签名和第二共享数据,第一签名由代理服务器通过第一密钥对第二共享数据进行签名后得到。
在步骤S520,根据预先存储的与第一密钥相匹配的第二密钥对第一签名进行验证。
在步骤S530,当验证通过后,将第二共享数据存储至非可信区域中,以得到所述第一共享数据。
在本公开实施例中,可以为每个用户组配置第一密钥和第二密钥。可选地,第一密钥和第二密钥可以为公私密钥对,其中,第一密钥和第二密钥中的一者为私钥,另一者为公钥。第一密钥存储在代理服务中,以供代理服务器进行签名使用,第二密钥可以公开,从而使云服务器可以根据第二密钥对由第一密钥签名的数据进行验证等。
这样一来,第一密钥可以由代理服务器保管,相较于传统方案中,第一密钥由用户保管的方案而言,本公开的实施例可以防止用户恶意泄露第一密钥,避免由此导致的安全风险。
在本公开实施例中,代理服务器可以为第二共享数据的每个数据块生成第二签名,并组成签名集合,以得到第一签名。例如,可以针对每个数据块,从记录表中提取出该数据块的第一哈希值,之后,利用第一密钥和提取出的第一哈希值生成第二签名。
在一些具体实施例中,记录表包括上述的数据块描述链表和多个操作项链表,操作记录还包括操作时间戳,例如图4b中,在数据块描述节点Bi指向的操作项链表中,在第j个操作描述节点,其(操作记录)还包括时间戳ti,j,其中,时间戳ti,j表示,用户组在对数据块bi进行过第j项操作后,第j项操作的操作时间。代理服务器可以生成每个数据块的第二签名。
代理服务器可以从与数据块相应的操作项链表中,确定位于头部的操作描述节点,并提取该操作描述节点中的操作时间戳和第一哈希值。
在本公开实施例中,操作项链表与数据块一一对应设置,在操作项链表中,位于头部的操作描述节点也即最新插入的操作描述节点,该操作描述节点中的第一哈希值即为相应的数据块的最新哈希值。
示例性地,第二共享数据F包括多个数据块b1至bn,数据块描述链表包括多个依次连接的数据块描述节点B1至Bn。每个数据块描述节点B1连接一个操作项链表,每个操作项链表包括至少一个操作描述节点。
例如,如图4b所示,数据块描述节点B1指向的操作项链表包括两个操作描述节点,数据块描述节点B2指向的操作项链表包括一个操作描述节点,数据块描述节点Bi指向的操作项链表包括c个操作描述节点,数据块描述节点Bn指向的操作项链表包括1个操作描述节点。其中,每个操作描述节点均包括相应的数据块的第一哈希值和操作时间戳。
例如,数据块描述节点B1指向的操作项链表包括两个操作描述节点,第一个操作描述节点(也即位于头部的操作描述节点)包括第一哈希值ri,2和时间戳ti,2。第二个操作描述节点包括第一哈希值ri,1和时间戳ti,1。因此,在步骤S341,可以从第一个操作描述节点中提取出第一哈希值ri,2和时间戳ti,2。
代理服务器可以根据确定出的第一密钥以及提取出的第一哈希值和操作时间戳,生成数据块的第二签名。
在本公开实施例中可以将第一哈希值和操作时间戳进行拼接并进行第一次哈希计算,之后,利用第一密钥sk对第一次哈希计算的结果进行签名,以得到第三签名。继而,再将第三签名和操作时间戳进行拼接,从而生成每个数据块的第二签名。
可选地,可以通过以下公式生成数据块bi的第二签名σi(i=1,2……n):
σi=ti,j||SIG(sk,h(ti,j||ri,j))
其中,h(ti,j||ri,j)表示对数据块bi的第一哈希值ri,j和操作时间戳ti,j的拼接值进行哈希计算,SIG(sk,h(ti,j||ri,j))表示用第一密钥sk为h(ti,j||ri,j)生成数字签名。样一来,可以得到第二共享数据F中各个数据块(b1至bn)的第二签名的集合E={σ1,σ2,...,σn},进而,可以由该集合作为第一签名。
代理服务器可以将第一签名和第二共享数据发送至云服务器中,以使云服务器根据第一签名将第二共享数据存储至非可信区域中,以得到第一共享数据。
云服务器在接收到第一签名后,可以对第一签名进行验证,例如,可以通过上述的第二密钥进行验证。
示例性地,云服务器在接收到第一签名和第二共享数据后,可以对第二共享数据的每个数据块再次进行哈希值运算,以得到数据块bi的第三哈希值ri’,之后,利用第二密钥pk,结合每个数据块的第二签名进行验证。
可选地,可以通过以下公式计算数据块bi的验证结果λi:
λi=Verify(pk,r′iσi)
其中,其中Verify(pk,r′iσi)表示用公钥pk和第三哈希值ri’对第二签名σi进行验证。若每个数据块的验证结果λi的值都为True,则确定验证通过,保存上传的第二共享数据;若存在一个数据块的验证结果λi的值为False,则确定验证未通过,可以要求重新上传对应的数据块。在一些具体实施例中,挑战信息包括:第一标识符、部分数据块的索引以及该部分数据块的第一哈希值,步骤S440包括步骤S441至步骤S444
在步骤S441,从云服务器的非可信区域存储的至少一个第一共享数据中,确定与第一标识符相匹配的第一共享数据,以得到与审计对象相匹配的第一共享数据。
在步骤S442,从与审计对象相匹配的第一共享数据中,加载与索引相匹配的数据块,以得到目标数据块。
在步骤S443,计算目标数据块的第二哈希值。
在步骤S444,将第二哈希值与挑战信息中的第一哈希值进行比对,以进行完整性审计。
在本公开实施例中,可以由第一标识符Fid、索引Ω和第一哈希值rl,j,共同组合得到挑战信息chal={Fid,Ω,{rl|l∈Ω}}。其中,第一哈希值rl,j表示,数据块bl的第一哈希值。
在本公开实施例中,云服务器在接收到挑战信息后,可以根据标识符Fid找到与审计对象相匹配的第一共享数据,进而,根据挑战信息中的索引Ω从与审计对象相匹配的第一共享数据中向可信容器中加载相应的数据块。
在本公开实施例中,云服务器可以在可信容器中计算加载的数据块的哈希值,以得到第二哈希值。云服务器可以根据索引,找到对应同一个数据块第一哈希值和第二哈希值,将对二者进行比对,若一致,则说明加载数据块与预期相同。当加载的所有数据块均与预期相同时,则说明云服务中存储的第一共享数据与代理服务器中记录表中所记录的一致,此时,可以确认完整性审计通过。
采用本公开实施例的共享数据审计方法,能够基于SGX实现轻量的通信开销。在此基础上,通过用户管理员管理用户组中用户的添加和删除,由代理服务器保存密钥和进行签名,从而能够实现便利的用户管理,例如,用户的添加删除不再需要对元数据进行修改,同时还能抵御用户恶意泄露密钥带来的风险。再者,本公开的实施例通过记录表记录对数据块的各项操作,还能够实现对异常操作的追踪,从而能够及时定位异常来源。
需要说明的是,本公开实施例的未详尽描述可以参见前述实施例,故在此不再赘述。
基于上述的应用于代理服务器中的共享数据审计方法,本公开还提供了一种共享数据审计装置,该实施例的共享数据审计装置应用于代理服务器中。以下将结合图8对该装置进行详细描述。
图8示意性示出了根据本公开实施例的应用于代理服务器中的共享数据审计装置的结构框图,如图8所示,该实施例的共享数据审计装置800包括第一发送模块810、第一通信模块820、生成模块830、第二发送模块840和第一获取模块850。
第一发送模块810用于向云服务器发送第一指令,第一指令配置为:使云服务器建立可信容器并发起运行环境认证。在一实施例中,第一发送模块810可以用于执行前文描述的步骤S210,在此不再赘述。
第一通信模块820用于当运行环境认证通过时,与可信容器建立通信。在一实施例中,第一通信模块820可以用于执行前文描述的步骤S220,在此不再赘述。
生成模块830用于根据审计对象,生成挑战信息。在一实施例中,生成模块830可以用于执行前文描述的步骤S230,在此不再赘述。
第二发送模块840用于将挑战信息发送至可信容器中,挑战信息配置为:使云服务器基于挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与审计对象相匹配的第一共享数据,并在可信容器中对该第一共享数据进行完整性审计。在一实施例中,第二发送模块840可以用于执行前文描述的步骤S240,在此不再赘述。
第一获取模块850用于获取完整性审计的审计结果,并将审计结果转发给用户组。在一实施例中,第一获取模块850可以用于执行前文描述的步骤S250,在此不再赘述。
采用本公开实施例的共享数据审计装置,其在用户组与云服务器中间增设代理服务器,代理服务器能够向云服务器发送第一指令,以使云服务器建立可信容器并发起运行环境认证,当运行环境认证通过后,代理服务器与可信容器建立通信,并向其发送挑战信息以进行完整性审计。可信容器能够基于硬件保证数据的私密性和安全性,例如,可信容器可以基于SGX技术实现。这样一来,云服务器在进行第一共享数据的完整性审计时,云服务器可以将完整性审计涉及的具体数据放在可信容器中,从而基于硬件保证数据的私密性和安全性而不再依赖于软件,进而可以省去大量的密码学操作,节省通信开销。
根据本公开的实施例,第一发送模块810、第一通信模块820、生成模块830、第二发送模块840和第一获取模块850中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一发送模块810、第一通信模块820、生成模块830、第二发送模块840和第一获取模块850中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一发送模块810、第一通信模块820、生成模块830、第二发送模块840和第一获取模块850中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
基于上述的应用于云服务器中的共享数据审计方法,本公开还提供了一种共享数据审计装置,该实施例的共享数据审计装置应用于云服务器中。以下将结合图9对该装置进行详细描述。
图9示意性示出了根据本公开实施例的应用于云服务器中的共享数据审计装置的结构框图,如图9所示,该实施例的共享数据审计装置900包括:第二获取模块910、第二通信获取模块920、第三获取模块930、审计模块940和第三发送模块950。
第二获取模块910用于获取由代理服务器发送的第一指令。在一实施例中,第二获取模块910可以用于执行前文描述的步骤S410,在此不再赘述。
第二通信获取模块920用于根据第一指令建立可信容器并发起运行环境认证。在一实施例中,第二通信获取模块920可以用于执行前文描述的步骤S420,在此不再赘述。
第三获取模块930用于获取挑战信息,挑战信息由代理服务器根据审计对象生成。在一实施例中,第三获取模块930可以用于执行前文描述的步骤S430,在此不再赘述。
审计模块940用于基于挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与审计对象相匹配的第一共享数据,并在可信容器中对该第一共享数据进行完整性审计。在一实施例中,审计模块940可以用于执行前文描述的步骤S440,在此不再赘述。
第三发送模块950用于将审计结果发送给代理服务器。在一实施例中,第三发送模块950可以用于执行前文描述的步骤S450,在此不再赘述。
采用本公开实施例的共享数据审计装置,其在用户组与云服务器中间增设代理服务器,代理服务器能够向云服务器发送第一指令,以使云服务器建立可信容器并发起运行环境认证,当运行环境认证通过后,代理服务器与可信容器建立通信,并向其发送挑战信息以进行完整性审计。可信容器能够基于硬件保证数据的私密性和安全性,例如,可信容器可以基于SGX技术实现。这样一来,云服务器在进行第一共享数据的完整性审计时,云服务器可以将完整性审计涉及的具体数据放在可信容器中,从而基于硬件保证数据的私密性和安全性而不再依赖于软件,进而可以省去大量的密码学操作,节省通信开销。
根据本公开的实施例,第二获取模块910、第二通信获取模块920、第三获取模块930、审计模块940和第三发送模块950中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第二获取模块910、第二通信获取模块920、第三获取模块930、审计模块940和第三发送模块950中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第二获取模块910、第二通信获取模块920、第三获取模块930、审计模块940和第三发送模块950中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了根据本公开实施例的适于实现共享数据审计方法的电子设备的方框图,如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的共享数据审计方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM 1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的共享数据审计方法。
在该计算机程序被处理器1001执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (12)
1.一种共享数据审计方法,其特征在于,所述共享数据审计方法应用于代理服务器中,所述共享数据审计方法包括:
向云服务器发送第一指令,所述第一指令配置为:使所述云服务器建立可信容器并发起运行环境认证;
当所述运行环境认证通过时,与所述可信容器建立通信;
根据审计对象,生成挑战信息;
将所述挑战信息发送至所述可信容器中,所述挑战信息配置为:使所述云服务器基于所述挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与所述审计对象相匹配的所述第一共享数据,并在所述可信容器中对该第一共享数据进行完整性审计;
获取所述完整性审计的审计结果,并将所述审计结果转发给用户组;
所述共享数据审计方法还包括:
获取所述用户组上传的第二共享数据,所述第二共享数据包括多个数据块;
根据所述第二共享数据,配置与其对应的记录表;
其中,所述记录表包括:所述第二共享数据的第一标识符、所述第二共享数据中每个数据块的索引和每个数据块的第一哈希值;
在获取所述用户组上传的所述第二共享数据之后,所述共享数据审计方法还包括:
从预先存储的至少一个第一密钥中,确定与所述第二共享数据相匹配的第一密钥;
根据所述记录表和确定出的所述第一密钥,对所述第二共享数据进行签名,以得到第一签名;
将所述第一签名和所述第二共享数据发送至云服务器中,以使所述云服务器根据所述第一签名将所述第二共享数据存储至所述非可信区域中,以得到所述第一共享数据。
2.根据权利要求1所述的共享数据审计方法,其特征在于,所述记录表包括数据块描述链表和多个操作项链表;
所述数据块描述链表包括多个依次连接的数据块描述节点,每个所述数据块描述节点与一个所述数据块对应设置,不同的所述数据块描述节点对应不同的所述数据块,每个所述数据块描述节点包括所述数据块的索引;
每个所述操作项链表通过所述数据块描述节点与一个所述数据块对应设置,不同的所述操作项链表对应不同的所述数据块,所述操作项链表包括至少一个操作描述节点,每个所述操作描述节点包括对所述数据块进行的至少一项操作的操作记录以及所述数据块在经过该操作后的第一哈希值。
3.根据权利要求2所述的共享数据审计方法,其特征在于,所述操作记录包括:对所述数据块进行的至少一项操作的操作类型以及操作的发起方。
4.根据权利要求2所述的共享数据审计方法,其特征在于,所述操作项链表中的所述操作描述节点根据时间顺序依次连接,并且,最新插入的所述操作描述节点位于所述操作项链表的头部。
5.根据权利要求2所述的共享数据审计方法,其特征在于,所述操作项链表中的所述操作描述节点根据时间顺序依次连接,并且,最新插入的所述操作描述节点位于所述操作项链表的头部,所述操作记录还包括操作时间戳;
所述根据所述记录表和确定出的所述第一密钥,对所述第二共享数据进行签名,以得到第一签名,包括:
通过以下步骤生成每个所述数据块的第二签名:
从与所述数据块相应的所述操作项链表中,确定位于头部的所述操作描述节点,并提取该操作描述节点中的操作时间戳和第一哈希值;
根据确定出的第一密钥以及提取出的所述第一哈希值和所述操作时间戳,生成所述数据块的第二签名。
6.根据权利要求1至3中任一项所述的共享数据审计方法,其特征在于,所述根据审计对象,生成挑战信息,包括:
确定与所述审计对象相匹配的记录表,以得到目标记录表;
从所述目标记录表中,抽取所述第一标识符、部分数据块的索引以及该部分数据块的第一哈希值;
根据抽取出的所述第一标识符、索引和第一哈希值,构建所述挑战信息。
7.一种共享数据审计方法,其特征在于,所述共享数据审计方法应用于云服务器中,所述共享数据审计方法包括:
获取由代理服务器发送的第一指令;
根据所述第一指令建立可信容器并发起运行环境认证;
获取挑战信息,所述挑战信息由所述代理服务器根据审计对象生成;
基于所述挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与所述审计对象相匹配的第一共享数据,并在所述可信容器中对该第一共享数据进行完整性审计;
将所述审计的结果发送给代理服务器;
所述共享数据审计方法,还包括:
获取由代理服务器发送的第一签名和第二共享数据,所述第一签名由所述代理服务器通过第一密钥对所述第二共享数据进行签名后得到;
根据预先存储的与所述第一密钥相匹配的第二密钥对所述第一签名进行验证;
当验证通过后,将所述第二共享数据存储至非可信区域中,以得到所述第一共享数据。
8.根据权利要求7所述的共享数据审计方法,其特征在于,所述挑战信息包括:第一标识符、部分数据块的索引以及该部分数据块的第一哈希值,所述基于所述挑战信息,从非可信区域中存储的至少一个第一共享数据中,确定与所述审计对象相匹配的第一共享数据,包括:
从所述云服务器的非可信区域存储的至少一个第一共享数据中,确定与所述第一标识符相匹配的第一共享数据,以得到与所述审计对象相匹配的第一共享数据;
所述在所述可信容器中对该第一共享数据进行完整性审计,包括:
从与所述审计对象相匹配的第一共享数据中,加载与所述索引相匹配的数据块,以得到目标数据块;
计算所述目标数据块的第二哈希值;
将所述第二哈希值与所述挑战信息中的第一哈希值进行比对,以进行所述完整性审计。
9.一种共享数据审计装置,其特征在于,所述共享数据审计装置应用于代理服务器中,所述共享数据审计装置包括:
第一发送模块,用于向云服务器发送第一指令,所述第一指令配置为:使所述云服务器建立可信容器并发起运行环境认证;
第一通信模块,用于当所述运行环境认证通过时,与所述可信容器建立通信;
生成模块,用于根据审计对象,生成挑战信息;
第二发送模块,用于将所述挑战信息发送至所述可信容器中,所述挑战信息配置为,使所述云服务器基于所述挑战信息,从所述云服务器的非可信区域中确定与所述审计对象相匹配的第一共享数据,并在所述可信容器中对该第一共享数据进行完整性审计;
第一获取模块,用于获取所述完整性审计的审计结果,并将所述审计结果转发给用户组;
所述共享数据审计装置还用于执行以下步骤:
获取所述用户组上传的第二共享数据,所述第二共享数据包括多个数据块;
根据所述第二共享数据,配置与其对应的记录表;
其中,所述记录表包括:所述第二共享数据的第一标识符、所述第二共享数据中每个数据块的索引和每个数据块的第一哈希值;
在获取所述用户组上传的所述第二共享数据之后,所述共享数据审计装置还用于执行以下步骤:
从预先存储的至少一个第一密钥中,确定与所述第二共享数据相匹配的第一密钥;
根据所述记录表和确定出的所述第一密钥,对所述第二共享数据进行签名,以得到第一签名;
将所述第一签名和所述第二共享数据发送至云服务器中,以使所述云服务器根据所述第一签名将所述第二共享数据存储至所述非可信区域中,以得到所述第一共享数据。
10.一种共享数据审计装置,其特征在于,所述共享数据审计装置应用于云服务器中,所述共享数据审计装置包括:
第二获取模块,用于获取由代理服务器发送的第一指令;
第二通信获取模块,用于根据所述第一指令建立可信容器并发起运行环境认证;
第三获取模块,用于获取挑战信息,所述挑战信息由所述代理服务器根据审计对象生成;
审计模块,用于基于所述挑战信息,从非可信区域中确定与所述审计对象相匹配的第一共享数据,并在所述可信容器中对与所述审计对象相匹配的第一共享数据进行完整性审计;
第三发送模块,用于将所述审计的结果发送给代理服务器;
所述共享数据审计装置还用于执行以下步骤:
获取由代理服务器发送的第一签名和第二共享数据,所述第一签名由所述代理服务器通过第一密钥对所述第二共享数据进行签名后得到;
根据预先存储的与所述第一密钥相匹配的第二密钥对所述第一签名进行验证;
当验证通过后,将所述第二共享数据存储至非可信区域中,以得到所述第一共享数据。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的共享数据审计方法。
12.一种计算机可读存储介质,其特征在于,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的共享数据审计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210656397.4A CN114866337B (zh) | 2022-06-10 | 2022-06-10 | 共享数据审计方法及其装置、设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210656397.4A CN114866337B (zh) | 2022-06-10 | 2022-06-10 | 共享数据审计方法及其装置、设备、存储介质和程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114866337A CN114866337A (zh) | 2022-08-05 |
CN114866337B true CN114866337B (zh) | 2023-12-01 |
Family
ID=82625341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210656397.4A Active CN114866337B (zh) | 2022-06-10 | 2022-06-10 | 共享数据审计方法及其装置、设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114866337B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859467A (zh) * | 2020-07-23 | 2020-10-30 | 中国工商银行股份有限公司 | 一种基于sgx的云数据完整性审计方法及装置 |
CN113139213A (zh) * | 2021-05-13 | 2021-07-20 | 中国工商银行股份有限公司 | 多版本数据完整性云审计方法及系统 |
CN113422688A (zh) * | 2021-08-19 | 2021-09-21 | 西南石油大学 | 一种云存储数据的快速审计方法 |
CN113992389A (zh) * | 2021-10-26 | 2022-01-28 | 东北大学秦皇岛分校 | 一种基于动态频率表的sgx数据完整性审计方法 |
-
2022
- 2022-06-10 CN CN202210656397.4A patent/CN114866337B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859467A (zh) * | 2020-07-23 | 2020-10-30 | 中国工商银行股份有限公司 | 一种基于sgx的云数据完整性审计方法及装置 |
CN113139213A (zh) * | 2021-05-13 | 2021-07-20 | 中国工商银行股份有限公司 | 多版本数据完整性云审计方法及系统 |
CN113422688A (zh) * | 2021-08-19 | 2021-09-21 | 西南石油大学 | 一种云存储数据的快速审计方法 |
CN113992389A (zh) * | 2021-10-26 | 2022-01-28 | 东北大学秦皇岛分校 | 一种基于动态频率表的sgx数据完整性审计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114866337A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110400221B (zh) | 数据处理方法、系统、存储介质及计算机设备 | |
CN113711536B (zh) | 从区块链网络中提取数据 | |
JP6985576B2 (ja) | ビジネスプロセスシステム、ビジネスデータ処理方法及び装置 | |
US10790976B1 (en) | System and method of blockchain wallet recovery | |
WO2022042301A1 (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
US11244064B2 (en) | Application level data security | |
CN115210741B (zh) | 部分有序的区块链 | |
US10356094B2 (en) | Uniqueness and auditing of a data resource through an immutable record of transactions in a hash history | |
US10951396B2 (en) | Tamper-proof management of audit logs | |
CN107948152B (zh) | 信息存储方法、获取方法、装置及设备 | |
KR20190136245A (ko) | 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템 | |
KR20200083939A (ko) | 스마트 계약 화이트리스트 | |
US11397919B1 (en) | Electronic agreement data management architecture with blockchain distributed ledger | |
US11314885B2 (en) | Cryptographic data entry blockchain data structure | |
CN111291394B (zh) | 一种虚假信息管理方法、装置和存储介质 | |
KR20220160021A (ko) | 낮은 신뢰 권한 액세스 관리 | |
CN111698198B (zh) | 秘密生成和份额分发 | |
CN112307504B (zh) | 一种安全多方计算方法、装置、电子设备及存储介质 | |
US20230229649A1 (en) | Data structure storage optimisation | |
CN111797426B (zh) | 一种用于去信任通知服务的方法和系统 | |
CN116583833A (zh) | 自审计区块链 | |
CN117390698A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN112702419A (zh) | 基于区块链的数据处理方法、装置、设备和存储介质 | |
CN117097526A (zh) | 一种基于区块链的数据安全共享方法及装置 | |
KR102501004B1 (ko) | 블록체인 기반의 데이터 관리 방법 및 장치 |
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 |