CN114372296B - 一种基于区块链的用户行为数据审计方法及系统 - Google Patents
一种基于区块链的用户行为数据审计方法及系统 Download PDFInfo
- Publication number
- CN114372296B CN114372296B CN202111675396.6A CN202111675396A CN114372296B CN 114372296 B CN114372296 B CN 114372296B CN 202111675396 A CN202111675396 A CN 202111675396A CN 114372296 B CN114372296 B CN 114372296B
- Authority
- CN
- China
- Prior art keywords
- data
- user behavior
- behavior data
- user
- key
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于区块链的用户行为数据审计方法及系统,其方法包括步骤:S1、执行初始化操作;S2、基于统一的数据存储规范实时采集用户行为数据;S3、基于数据分块和二级索引存储机制,将数据指纹等信息上传部署至区块链作为凭证;S4、用户行为数据完整性验证,遍历二级索引存储机制,获取存储用户行为数据的文件集合;基于“挑战‑响应‑验证”模式,使用智能合约对用户行为数据完整性进行审计;S5、以保持完整的用户行为数据作为审计依据,对数据安全事件进行追踪审计以及云服务质量评估审计。本发明通过利用区块链不可抵赖性,有效解决云服务商和用户间的信任问题,保证审计过程安全、可信;利用二级索引存储机制提高海量数据的审计效率。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于区块链的用户行为数据审计方法及系统。
背景技术
随着云计算的不断发展,以及云平台的快捷部署,用户不用搭建服务器集群,只需要购买或租用相应云服务的存储和计算资源便可完成相关工作,不过云环境的安全问题一直阻碍着云计算的发展。云端的用户行为数据包括用户在云计算环境中发生的各类操作行为,通过用户行为数据的审计对于确认责任归属、追溯用户数据以及限制非法操作等都有很大的帮助,可以有效地缓解用户与云服务商之间的信任问题。目前,许多审计工作引入了第三方审计员(Third Party Auditor,TPA)接受审计委托,但这种审计模式强烈依赖TPA的可信性与安全性,但近年来屡次发生的一些数据泄露和篡改等安全问题足以表明:可信的第三方并不总是值得信任,他们可能由于利益出卖用户数据或篡改审计结果。因此,如何找到一个完全可信的第三方、如何对安全事故的追踪审计、如何解决用户与云服务商的信任问题,是目前亟需解决的问题。
区块链是一个信息技术领域的术语,从本质上是一种结合分布式存储、点对点传输、共识机制和密码学技术的分布式基础架构和计算方式。同时,其去中心化、不可篡改、共识性、匿名性、自治性和开放性等特性,确保数据不可篡改、全程留痕可追溯,为建立跨主体的多方协作提供了新途径,为传统领域应用提供了新模式,为信息化交互提供了可信第三方。
大数据时代,在云计算平台中,大量云用户每天与云服务交互会产生海量行为数据,在审计操作中,这些行为数据如果集中发送到日志服务器进行存储,待审计的用户行为数据及审计结果易被篡改,缺乏独立性与公正性。但是,庞大的原始审计数据直接作为交易记录存储在区块链中,又会极大加重区块链的存储压力,影响共识计算效率,因此,需要有一种高效又安全的方案来存储审计数据,保证审计过程高效率、高可信。
发明内容
为解决现有技术所存在的技术问题,本发明提供一种基于区块链的用户行为数据审计方法及系统,通过利用区块链不可抵赖性,有效解决云服务商和用户间的信任问题,保证审计过程安全、可信;利用二级索引存储机制提高海量数据的审计效率。
本发明方法采用以下技术方案来实现:一种基于区块链的用户行为数据审计方法,包括以下步骤:
S1、执行初始化操作,包括对全局参数、配置初始化,并基于密钥生成中心为用户生成一组主密钥对(PKm,SKm)和一组次密钥对(PKs,SKs);
S2、基于统一的数据存储规范实时采集用户行为数据,该数据是用户在云服务中发生的各种操作行为,并以消息的形式异步发送至消息中间件;
S3、基于数据分块和二级索引存储机制,将用户行为数据上传至云服务器,将数据指纹等信息上传部署至区块链作为凭证;
S4、用户行为数据完整性验证,基于用户审计请求,遍历二级索引存储机制,获取存储用户行为数据的文件集合;基于“挑战-响应-验证”模式,依托区块链网络,使用智能合约对用户行为数据完整性进行审计;
S5、以保持完整的用户行为数据作为审计依据,对数据安全事件进行追踪审计以及云服务质量评估审计。
本发明系统采用以下技术方案来实现:一种基于区块链的用户行为数据审计系统,包括:
数据采集模块:用于实时采集发生在云服务中的用户行为数据;
数据处理模块:用于将采集数据统一转换格式,并以消息的形式发送至消息中间件;
数据存储模块:用于存储用户行为数据,并更新二级索引存储机制;
区块链管理模块:用于执行信息上链、查询等操作以及智能合约;
行为数据审计模块:用于审计用户行为数据;
密钥生成中心:用于为各个用户生成密钥。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明利用区块链的不可抵赖性和可追溯性,以用户行为数据为依据,实现对数据安全事件的追踪审计与云服务质量的评估审计,确保审计报告的公平、可信。
2、本发明利用区块链上存储数据指纹的方式,减少了区块链的存储空间,提高共识计算效率,并且链下数据使用基于属性索引树和时序索引树的二级索引存储机制,提高了海量用户行为数据的审计效率。
附图说明
图1是本发明的方法流程图;
图2是随机密钥生成方法流程图;
图3(a)是二级索引存储机制的属性索引树的示意图;
图3(b)是二级索引存储机制的时序索引树的示意图;
图4是二级索引存储机制的检索流程图;
图5是用户行为数据完整性验证流程图;
图6是面向用户与云服务商的审计流程图;
图7是用户行为数据流通示意图;
图8是本发明的系统方框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本实施例一种基于区块链的用户行为数据审计方法,包括以下步骤:
S1、执行初始化操作,包括对全局参数、配置初始化,并基于密钥生成中心为用户生成一组主密钥对(PKm,SKm)和一组次密钥对(PKs,SKs);
S2、基于统一的数据存储规范实时采集用户行为数据,该数据是用户在云服务中发生的各种操作行为,并以消息的形式异步发送至消息中间件;
S3、基于数据分块和二级索引存储机制,将用户行为数据上传至云服务器,将数据指纹等信息上传部署至区块链作为凭证;
S4、用户行为数据完整性验证,基于用户审计请求,遍历二级索引存储机制,获取存储用户行为数据的文件集合;基于“挑战-响应-验证”模式,依托区块链网络,使用智能合约对用户行为数据完整性进行审计;
S5、以保持完整的用户行为数据作为审计依据,实现对数据安全事件的追踪审计以及云服务质量的评估审计。
本实施例中,主密钥对(PKm,SKm)用于数据加密,其生成方式为:通过密钥生成方法生成主私钥SKm,主私钥SKm通过单向散列函数执行不可逆计算,生成主公钥PKm;次密钥对(PKs,SKs)用于数据签名,其生成方式和上述一致。
如图2所示,本实施例中,密钥生成方法的具体过程为:
S101、进行初始化,根据密钥的复杂程度,设置迭代次数k;
S102、通过对用户自定义信息(包括文本、图像、视频等)、随机数、当前时间戳等信息的拼接处理,生成原始密钥row_key;
S103、以预设的密钥种子seed作为扰动项,对原始密钥row_key进行干扰处理,计算生成临时密钥temporary_key;
S104、将临时密钥temporary_key赋值给seed,根据预设的迭代次数k,对步骤S103-S104迭代执行,生成最终密钥key。
本实施例中,步骤S2中的用户行为数据包含以下数据结构<用户标识,数据标识,数据类型,操作码,详细内容,扩展字段,原哈希值,新哈希值,时间戳,用户签名>,其中,用户标识和数据标识是通过分布式ID算法生成的唯一标识,数据类型是云端数据的类型,操作码对应的操作包含数据上传、数据下载、更新、删除、检索等操作,详细内容是对此次操作的记载,扩展字段用于存放扩展信息,原哈希值为被操作前的数据哈希值,新哈希值为被操作之后的数据的哈希值,用户签名是当前访问数据的用户利用其私钥对该访问记录生成的签名;
本实施例中,步骤S2中消息的发送过程为:实例化消息生产者(Producer),对用户行为数据,依照其数据结构的不同属性,构造消息,指定主题、标签,向消息中间件集群异步投递消息,消息中间件会根据设定的时间阈值暂存批量消息,等待消费者依据不同主题订阅消息。
本实施例中,步骤S3的具体过程如下:
S301、分段订阅消息中间件中的用户行为数据,根据预设的时间间隔Δt,从消息中间件中分段获取各用户在时间序列[T1,T2],[T2,T3],[T3,T4],…,[Tn,Tn+1]内的行为数据,记作X={X1,X2,X3,……,Xn},其中,Xi表示[Ti,Ti+1]内的数据,i∈[1,n];
S302、计算数据块的数据指纹及签名,设数据块集合X的标识为IDX,每一个数据块的标号为IDX1,IDX2,IDX3,……,IDXn,对每一个数据块Xi,计算MDi=H(Xi),MDi为数据块Xi的数据指纹,MD={MD1,MD2,MD3,……,MDn};对每一个数据块Xi的数据指纹MDi,生成对应的签名Si=Sign(MDi||IDXi||R,SKs),R为随机生成的辅助变量,SKs为进行数据签名的私钥,S={S1,S2,S3,……,Sn};
S303、加密存储数据与更新二级索引存储机制,对数据块集合X的每个数据块进行添加标号并加密存储,生成云端文件集合F={F1,F2,F3,……,Fn},其中,Fi=E(Xi||IDXi,PKm),PKm为加密算法E(.)的密钥;对于文件集合F中的每个文件Fi的关联信息(Addri,Seqi)组合成一个节点Nodei,Addri为文件Fi的地址,Seqi为文件Fi对应的时间序列,遍历二级索引存储机制,将Nodei以叶子节点的身份进行插入;
S304、区块链上保存凭证,利用PKm加密处理数据指纹、签名等信息,通知授权节点以交易的形式将加密信息发布到区块链上作为凭证。
具体地,步骤S303中二级索引存储机制的更新操作第一次执行的时候需要执行相关的索引机制初始化操作,具体包括属性索引树初始化、时序索引树初始化;文件中存储的数据为已加密的密文,可以保证用户隐私行为的安全性;存储用户行为数据的文件可以作分布式备份,避免因服务器宕机、单点故障等情况造成数据文件损坏而不能恢复问题;区块链只保存用户行为数据的摘要而不保存全部信息,可以减小区块链的存储压力,提高共识效率。
具体地,步骤S304中区块链上保存凭证的具体过程如下:
S3041、在存储数据到区块链上之前,通知授权节点执行上链操作,授权节点根据上一个区块的哈希值以及预设随机数进行哈希计算,确定具有最新哈希值的目标区块头;其中,区块头信息包括版本号、父哈希值、默克尔根、时间戳、难度值和随机数;
S3042、将用户行为数据的数据指纹等信息作为凭证,存储到包括目标区块头的新区块中,并将该新区块添加到区块链中。
本实施例中,二级索引存储机制包括第一级索引机制,以用户行为数据的属性构建的属性索引树;第二级索引机制,以时间序列构建的时序索引树。
如图3(a)所示,属性索引树每个节点分别包含用户行为数据的部分属性,通过数据属性的划分,排除无关数据,为第二级索引进行粗粒度筛选;
如图3(b)所示,本实施例中,时序索引树是以B+树的结构进行构建,包含根节点、内部节点、叶子节点;非叶子节点(如:根节点和内部节点)只存储时序索引数据,叶子节点存储的是用户行为数据的实际存储地址;时序索引树同层节点存储的时序数据按照从左至右的顺序递增;时序索引树的叶子节点从左至右构成叶子节点链表;时序索引树在节点插入或删除的过程中能够进行结构调整,保持高度平衡。
具体地,一般的B+树的数据插入方法为:首先遍历B+树查找应该插入的位置,然后再进行插入,基于时序数据有序递增的特性,所有插入B+树的数据只会出现在最右的叶子节点上。
如果选择一般的插入方法,一方面会增加检索时间(如:寻找插入位置的时间),另一方面B+树的中上层节点伴随着数据的插入会不断地进行分裂,导致整体索引效率降低。因此,本实施例中,时序索引树的数据插入过程为:
基于时序数据有序递增的特性,数据插入不再遍历整棵树寻找应该插入的位置,而是直接将新数据链接在叶子节点链表末尾,生成新叶子节点,新节点存储有时序数据对应的用户行为数据的存储地址;
基于已生成的新叶子节点,按照从叶子节点向根节点的顺序,更新调整时序索引树;若时序索引树高度不平衡,通过结构调整,保持时序索引树高度平衡。
具体地,本实施例中,时序索引树支持批量数据快速插入,批量数据插入与单个数据插入流程一致,具体过程为:根据批量数据生成多个叶子节点,并按序链接至叶子节点链表末尾,然后按照从叶子节点向根节点的顺序,更新调整时序索引树,完成批量数据的快速插入。
如图4所示,本实施例中,二级索引存储机制的检索流程为:
基于第一级索引机制的属性索引树的属性划分,将不相关数据排除在第二级索引机制之外;
基于检索信息生成时间窗口[start_t,end_t],其中,start_t为该检索信息的起始时间,若起始时间不存在,则start_t为0;end_t为该检索信息的结束时间,若结束时间不存在,则end_t为当前时间值;按照根节点到叶子节点的顺序比较该时间窗口与当前节点存储的时间序列,进行时序索引树遍历,直到找到第一个符合检索条件的叶子节点,若未找到符合检索条件的叶子节点,则返回错误信息;
根据找到的叶子节点,在叶子节点链表中遍历,将符合检索条件的节点添加至目标节点集合中;
基于目标节点集合,从目标节点取出相应的文件地址,获取符合检索条件的用户行为数据文件。
本实施例中,检索流程中时间窗口与节点存储的时间信息的具体比较方法为:
设[start_t,end_t]为时间窗口a_t,[Ti,Tj]为节点存储的其中一个时间段ai;
方法一:若start_t<Ti,则a_t<ai;
方法二:若start_t>Ti,则a_t>ai;
方法三:若start_t==Ti&&end_t<Tj,则a_t<ai;
方法四:若start_t==Ti&&end_t>Tj,则a_t>ai;
方法五:若start_t==Ti&&end_t==Tj,则a_t==ai;
方法六:若start_t<=Ti&&end_t>=Tj,则a_t包含ai,满足包含条件;
对于非叶子节点,时间序列比较采用的方法为方法一到方法五;对于叶子节点,时间序列比较采用的方法为方法六,满足包含条件的叶子节点即为符合检索条件的叶子节点。
具体地,本实施例中,时间以整型时间戳的形式表示、计算。
如图5所示,步骤S4的具体过程如下:
S401、获取待审计数据:将审计辅助信息(Attr,Seq)组合成一个索引对象Index,其中,Attr为待审计的数据属性,Seq为待审计的时间序列;通过索引对象Index遍历二级索引存储机制获取存储在服务器上的待审计文件集合,其对应标识为IDF={IDF1,IDF2,IDF3,……,IDFn};
S402、生成挑战请求:区块链上的智能合约利用预设的挑战请求算法ChallengeGen(IDF,m)->C生成挑战信息,具体为:IDF={IDF1,IDF2,IDF3,……,IDFn}为文件标识集合,n为全部文件个数,m为辅助参数,若m>n则m=n,利用随机数生成器生成一个介于m和n之间的随机数r;从文件标识集合IDF中随机抽取r个,记作C={C1,C2,C3,……,Cr}r<=n,作为挑战请求信息发送给云服务商;
S403、证据生成:云服务商利用证据生成算法ProofGen(C)->P,生成完整性证据P,具体为:云服务商作为证明者,根据接收到的挑战信息C,获取对应的文件集合F={F1,F2,F3,……,Fr},并通过利用哈希算法计算该文件集合F对应的数据指纹MD={MD1,MD2,MD3,……,MDr},生成完整性证据P(F,MD);
S404、证据验证:区块链上的智能合约利用预设的验证算法ProofCheck(P,C,PKs)->{TRUE/FALSE}对云服务商提供的完整性证据进行验证,具体为:
验证一:验证发起审计请求的用户是否满足权限;
验证二:利用次公钥PKs验证文件签名是否有效;
验证三:验证区块链存储的数据指纹MD*与完整性证据P中的MD是否一致;
只有以上条件均验证通过,则输出TRUE,表示验证成功;否则输出FALSE,表示验证失败。
需要说明的是,步骤S4中不需要对所有数据块进行完整性验证,其中,验证数据块的多少依赖于数据出错的比例和验证结论的可信程度;设λ为出错数据块的比例,p为检测的云端数据块出错概率,r为需要验证的数据块的数量,三者之间满足的关系为p=1-(1-λ)r,因此,在保持用户可以接受的出错概率下,以随机抽样选取部分数据块进行完整性检测,来代替全部数据块的完整性检测,可以有效降低审计计算代价。
如图6所示,步骤S5的具体过程如下:
S501、获取通过完整性验证的文件作为以下审计的重要凭据;
S502、基于数据安全事件的追踪审计是通过用户行为数据对云端数据进行追踪,判定数据安全事件的责任归属:
(1)由于区块链的不可抵赖性,当出现安全事件后可安全对用户与云服务商双方全程的交互行为进行追踪管理,从验证通过的文件中提取数据操作事件,并依据数据操作、原哈希值、新哈希值,追踪云端数据的使用状况;
(2)通过比较追溯云端数据变化,确定云端数据丢失、篡改的原因,判定安全事件的责任归属;
S503、基于云服务质量的评估审计是通过用户行为数据对购买、租用的云服务质量进行审计,评估云服务是否符合预先设定的标准;评估内容包括:
(1)可用性:描述云服务在服务协议规定的条件下处于可执行规定状态的能力,本实施例中,可采用云服务可用率A来表示,A越大,可用性越高;
其中,A为云服务可用率,N为预定义时段数量,Ti为预定义时间段,Ti′为预定义时间段内允许的服务不可用时间,Ti″为预定义时间段内非正常情况导致的服务不可用时间;
(2)可靠性:描述云服务商在规定条件下和规定时间内执行服务协议的能力,本实施例中,可采用云服务异常率E来表示,E越小,可靠性越高;
其中,E为云服务异常率,M为服务执行次数,SEi为服务运行异常值,若服务正常运行,则SEi=0;反之,SEi=1;
(3)响应性:描述云服务商为云用户提供及时、有效的弹性扩展的服务能力,本实施例中,可采用平均响应时间RT来表示,RT越小,响应性越高;
其中,RT为平均响应时间,M为服务执行次数,RTi为单次响应时间。
需要说明的是,在进行审计之前,用户需要设置审计的目标数据的数据属性,以及审计时间范围,并将数据属性与时间范围传输至二级索引存储机制,以加快用户审计的过程。
具体地,步骤S5中云服务质量评估审计还包括周期审计:设置定时触发任务,随机抽取部分用户行为数据,周期性地评估云服务质量,生成审计报告;统计云服务质量分数,若分数过低,则触发预警,推送预警信息给用户;
步骤S5中基于数据安全事件的追踪审计是小概率发生事件,因此,可用全部的用户行为数据作为依据进行追踪审计,判定安全事件的责任归属;基于云服务质量的评估审计是一个更常用的操作,审计用户可授权给其他用户/平台进行辅助审计,同时,为了保护用户隐私可以只授权部分审计数据,以部分代整体进行评估云服务。
本实施例中的哈希计算方法H(.)采用的是SHA256算法,对于任意长度的消息,SHA256都会产生一个256bit长的哈希值,称作消息摘要。
如图7所示,本实例中的数据流通渠道为:云平台(数据产生)—>消息中间件(数据处理)—>文件块(实际数据)—>区块链(数据指纹等);其中,云平台是原始审计行为数据的产生地,通过对云服务中实时产生的用户行为数据的采集,规范其数据结构后暂存于消息中间件,消息中间件中的消息会按照时间序列的形式,分段保存至文件块中,并且将用户行为数据的数据指纹等信息存储至区块链中。
如图8所示,基于相同的发明构思,本发明提出了一种基于区块链的用户行为数据审计系统,包括:
数据采集模块:用于实时采集发生在云服务中的用户行为数据;
数据处理模块:用于将采集数据统一转换格式,并以消息的形式发送至消息中间件;
数据存储模块:用于存储用户行为数据,并更新二级索引存储机制;
区块链管理模块:用于执行信息上链、查询等操作以及智能合约;
行为数据审计模块:用于审计用户行为数据;
密钥生成中心:用于为各个用户生成密钥。
本实施例中,各模块依照一种基于区块链的用户行为数据审计方法进行运作。
具体地,系统运行流程为:数据采集模块实时收集原始用户行为数据;该数据通过数据处理模块后得到统一数据规范格式的处理数据;通过密钥生成中心生成的密钥对数据加密存储,并将数据指纹信息等信息存储至区块链上;通过行为数据审计模块进行审计工作。
本实施例中,利用一个更具体的专利分类实例来对本发明进行说明:
用户购买、租用文本分类的云服务,将一个专利文本数据集上传到云端,文本分类服务通过自然语言处理技术对专利文本进行分析、挖掘,实现专利文本分类;将专利文本分类服务产生的行为数据按照所述的一种基于区块链的用户行为数据审计方法进行运作,具体地,将发生的用户行为数据依照预设的时间间隔进行收集、处理,并通过二级索引存储机制进行存储,同时,将用户行为数据对应的数据指纹保存至区块链上作为审计凭证;
基于用户审计请求,遍历二级索引存储机制,获取存储用户行为数据文件;对文件完整性验证,通过验证的文件作为后续审计的重要凭据;审计类型分为基于数据安全事件的追踪审计和基于云服务质量的评估审计;
若发生专利文本数据丢失、篡改等数据安全事件,则用户和云服务商可以利用步骤S5的基于数据安全事件的追踪审计进行审计,从验证通过的文件中提取专利文本数据集上发生的操作行为,通过对发生在专利文本数据集上的用户与云服务商双方的交互行为进行追踪管理,追溯专利文本数据集变化,确定专利文本数据集丢失、篡改的原因,公正地判定此次安全事件的责任归属,解决用户与云服务商之间的争论;
若需要对文本分类服务质量进行审计,则用户和云服务商可以利用步骤S5的基于云服务质量的评估审计对该服务进行审计,通过分别计算专利分类服务可用率、专利分类服务异常率、平均响应时间来评估云服务的可用性、可靠性、响应性,生成审计报告,供用户与云服务提供商参考。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种基于区块链的用户行为数据审计方法,其特征在于,包括以下步骤:
S1、执行初始化操作,包括对全局参数、配置初始化,并基于密钥生成中心为用户生成一组主密钥对(PKm,SKm)和一组次密钥对(PKs,SKs);
S2、基于统一的数据存储规范实时采集用户行为数据,该数据是用户在云服务中发生的各种操作行为,并以消息的形式异步发送至消息中间件;
S3、基于数据分块和二级索引存储机制,将用户行为数据上传至云服务器,将数据指纹信息上传部署至区块链作为凭证;
S4、用户行为数据完整性验证,基于用户审计请求,遍历二级索引存储机制,获取存储用户行为数据的文件集合;基于“挑战-响应-验证”模式,依托区块链网络,使用智能合约对用户行为数据完整性进行审计;
S5、以保持完整的用户行为数据作为审计依据,对数据安全事件进行追踪审计以及云服务质量评估审计;
步骤S1中主密钥对(PKm,SKm)用于数据加密,其生成方式为:通过密钥生成方法生成主私钥SKm,主私钥SKm通过单向散列函数执行不可逆计算,生成主公钥PKm;次密钥对(PKs,SKs)用于数据签名;
密钥生成方法的具体过程为:
S101、进行初始化,根据密钥的复杂程度,设置迭代次数k;
S102、通过对用户自定义信息、随机数、当前时间戳信息的拼接处理,生成原始密钥row_key;
S103、以预设的密钥种子seed作为扰动项,对原始密钥row_key进行干扰处理,计算生成临时密钥temporary_key;
S104、将临时密钥temporary_key赋值给seed,根据预设的迭代次数k,对步骤S103-S104迭代执行,生成最终密钥key;
步骤S2中的用户行为数据包含以下数据结构<用户标识,数据标识,数据类型,操作码,详细内容,扩展字段,原哈希值,新哈希值,时间戳,用户签名>,其中,用户标识和数据标识是通过分布式ID算法生成的唯一标识,数据类型是云端数据的类型,操作码对应的操作包含数据上传、数据下载、更新、删除、检索操作,详细内容是对此次操作的记载,扩展字段用于存放扩展信息,原哈希值为被操作前的数据哈希值,新哈希值为被操作之后的数据的哈希值,用户签名是当前访问数据的用户利用其私钥对该访问数据 生成的签名;
步骤S2中消息的发送过程为:实例化消息生产者,对用户行为数据,依照其数据结构的属性,构造消息,指定主题、标签,向消息中间件集群异步投递消息,消息中间件根据设定的时间阈值暂存批量消息,等待消费者依据主题订阅消息;
步骤S3的具体过程如下:
S301、分段订阅消息中间件中的用户行为数据,根据预设的时间间隔Δt,从消息中间件中分段获取各用户在时间序列[T1,T2],[T2,T3],[T3,T4],…,[Tn,Tn+1]内的行为数据,记作X={X1,X2,X3,……,Xn},其中,Xi表示[Ti,Ti+1]内的数据,i∈[1,n];
S302、计算数据块的数据指纹及签名,设数据块集合X的标识为IDX,每一个数据块的标号为IDX1,IDX2,IDX3,……,IDXn,对每一个数据块Xi,计算MDi=H(Xi),MDi为数据块Xi的数据指纹,MD={MD1,MD2,MD3,……,MDn};对每一个数据块Xi的数据指纹MDi,生成对应的签名Si=Sign(MDi||IDXi||R,SKs),R为随机生成的辅助变量,SKs为进行数据签名的私钥,S={S1,S2,S3,……,Sn};
S303、加密存储数据与更新二级索引存储机制,对数据块集合X的每个数据块进行添加标号并加密存储,生成云端文件集合F={F1,F2,F3,……,Fn},其中,Fi=E(Xi||IDXi,PKm),PKm为加密算法E(.)的密钥;对于文件集合F中的每个文件Fi的关联信息(Addri,Seqi)组合成一个节点Nodei,Addri为文件Fi的地址,Seqi为文件Fi对应的时间序列,遍历二级索引存储机制,将Nodei以叶子节点的身份进行插入;
S304、区块链上保存凭证,利用PKm加密处理数据指纹、签名信息,通知授权节点以交易的形式将加密信息发布到区块链上作为凭证;
步骤S4的具体过程如下:
S401、获取待审计数据:将审计辅助信息(Attr,Seq)组合成一个索引对象Index,其中,Attr为待审计的数据属性,Seq为待审计的时间序列;通过索引对象Index遍历二级索引存储机制获取存储在服务器上的待审计文件集合,其对应标识为IDF={IDF1,IDF2,IDF3,……,IDFn};
S402、生成挑战请求:区块链上的智能合约利用预设的挑战请求算法ChallengeGen(IDF,m)->C生成挑战信息,具体为:IDF={IDF1,IDF2,IDF3,……,IDFn}为文件标识集合,n为全部文件个数,m为辅助参数,若m>n则m=n,利用随机数生成器生成一个介于m和n之间的随机数r;从文件标识集合IDF中随机抽取r个,记作C={C1,C2,C3,……,Cr}r<=n,作为挑战请求信息发送给云服务商;
S403、证据生成:云服务商利用证据生成算法ProofGen(C)->P,生成完整性证据P,具体为:云服务商作为证明者,根据接收到的挑战信息C,获取对应的文件集合F={F1,F2,F3,……,Fr},并通过利用哈希算法计算该文件集合F对应的数据指纹MD={MD1,MD2,MD3,……,MDr},生成完整性证据P(F,MD);
S404、证据验证:区块链上的智能合约利用预设的验证算法ProofCheck(P,C,PKs)->{TRUE/FALSE}对云服务商提供的完整性证据进行验证,具体为:
验证一:验证发起审计请求的用户的权限;
验证二:利用次公钥PKs验证文件签名的有效性;
验证三:验证区块链存储的数据指纹MD*与完整性证据P中的MD的一致性;
三个条件均验证通过,则输出TRUE,表示验证成功;否则,输出FALSE,表示验证失败。
2.根据权利要求1所述的一种基于区块链的用户行为数据审计方法,其特征在于,步骤S303中二级索引存储机制的更新操作第一次执行是执行相关的索引机制初始化操作,具体包括属性索引树初始化、时序索引树初始化;文件中存储的数据为已加密的密文;存储用户行为数据的文件作分布式备份;区块链保存用户行为数据的摘要;
步骤S304中区块链上保存凭证的具体过程如下:
S3041、在存储数据到区块链上之前,通知授权节点执行上链操作,授权节点根据上一个区块的哈希值以及预设随机数进行哈希计算,确定具有最新哈希值的目标区块头;其中,区块头信息包括版本号、父哈希值、默克尔根、时间戳、难度值和随机数;
S3042、将用户行为数据的数据指纹信息作为凭证,存储到包括目标区块头的新区块中,并将该新区块添加到区块链中。
3.根据权利要求2所述的一种基于区块链的用户行为数据审计方法,其特征在于,二级索引存储机制包括第一级索引机制,以用户行为数据的属性构建的属性索引树;第二级索引机制,以时间序列构建的时序索引树;
属性索引树每个节点分别包含用户行为数据的部分属性,通过数据属性的划分,为第二级索引进行粗粒度筛选;
时序索引树是以B+树的结构进行构建,包含根节点、内部节点、叶子节点;非叶子节点存储时序索引数据,叶子节点存储的是用户行为数据的实际存储地址;时序索引树同层节点存储的时序数据按照从左至右的顺序递增;时序索引树的叶子节点从左至右构成叶子节点链表;
二级索引存储机制的检索流程为:
基于第一级索引机制的属性索引树的属性划分;
基于检索信息生成时间窗口[start_t,end_t],其中,start_t为该检索信息的起始时间;end_t为该检索信息的结束时间;按照根节点到叶子节点的顺序比较该时间窗口与当前节点存储的时间序列,进行时序索引树遍历,直到找到第一个符合检索条件的叶子节点,否则,则返回错误信息;
根据找到的叶子节点,在叶子节点链表中遍历,将符合检索条件的节点添加至目标节点集合中;
基于目标节点集合,从目标节点取出相应的文件地址,获取符合检索条件的用户行为数据文件。
4.根据权利要求1所述的一种基于区块链的用户行为数据审计方法,其特征在于,步骤S5的具体过程如下:
S501、获取通过完整性验证的文件作为审计的重要凭据;
S502、基于数据安全事件的追踪审计是通过用户行为数据对云端数据进行追踪,判定数据安全事件的责任归属:
(1)当出现安全事件,安全对用户与云服务商双方全程的交互行为进行追踪管理,从验证通过的文件中提取数据操作事件,并依据数据操作、原哈希值、新哈希值,追踪云端数据的使用状况;
(2)通过比较追溯云端数据变化,确定云端数据丢失、篡改的原因,判定安全事件的责任归属;
S503、基于云服务质量的评估审计是通过用户行为数据对购买、租用的云服务质量进行审计,评估云服务符合预先设定的标准;评估内容包括:
(1)可用性:描述云服务在服务协议规定的条件下处于可执行规定状态的能力,采用云服务可用率A来表示:
其中,A为云服务可用率,N为预定义时段数量,Ti为预定义时间段,T′i为预定义时间段内允许的服务不可用时间,T″i为预定义时间段内非正常情况导致的服务不可用时间;
(2)可靠性:描述云服务商在规定条件下和规定时间内执行服务协议的能力,采用云服务异常率E来表示:
其中,E为云服务异常率,M为服务执行次数,SEi为服务运行异常值,若服务正常运行,则SEi=0;反之,SEi=1;
(3)响应性:描述云服务商为云用户提供及时、有效的弹性扩展的服务能力,采用平均响应时间RT来表示:
其中,RT为平均响应时间,M为服务执行次数,RTi为单次响应时间。
5.根据权利要求1所述的一种基于区块链的用户行为数据审计方法,其特征在于,步骤S5中云服务质量评估审计包括周期审计,设置定时触发任务,随机抽取部分用户行为数据,周期性地评估云服务质量,生成审计报告;统计云服务质量分数,若分数过低,则触发预警,推送预警信息给用户。
6.基于权利要求1所述的一种基于区块链的用户行为数据审计方法的用户行为数据审计系统,其特征在于,包括:
数据采集模块:用于实时采集发生在云服务中的用户行为数据;
数据处理模块:用于将采集数据统一转换格式,并以消息的形式发送至消息中间件;
数据存储模块:用于存储用户行为数据,并更新二级索引存储机制;
区块链管理模块:用于执行信息上链、查询操作以及智能合约;
行为数据审计模块:用于审计用户行为数据;
密钥生成中心:用于为各个用户生成密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111675396.6A CN114372296B (zh) | 2021-12-31 | 2021-12-31 | 一种基于区块链的用户行为数据审计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111675396.6A CN114372296B (zh) | 2021-12-31 | 2021-12-31 | 一种基于区块链的用户行为数据审计方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114372296A CN114372296A (zh) | 2022-04-19 |
CN114372296B true CN114372296B (zh) | 2023-03-21 |
Family
ID=81141866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111675396.6A Active CN114372296B (zh) | 2021-12-31 | 2021-12-31 | 一种基于区块链的用户行为数据审计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114372296B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150096A (zh) * | 2022-06-30 | 2022-10-04 | 中国银行股份有限公司 | 一种数据访问认证方法及装置 |
CN115580495B (zh) * | 2022-12-09 | 2023-03-10 | 北京邮电大学 | 数据审计方法、装置、电子设备和存储介质 |
CN116405188B (zh) * | 2023-06-07 | 2023-08-22 | 湖南元数科技有限公司 | 一种基于区块链的保险投保流程数据存储方法及系统 |
CN116776386B (zh) * | 2023-07-05 | 2023-11-17 | 深圳钰丰信息技术有限公司 | 一种云服务数据信息安全管理方法及系统 |
CN117390031B (zh) * | 2023-12-11 | 2024-03-08 | 武汉纺织大学 | 一种基于lsm树的存储系统中二级索引有效性的验证方法 |
CN117834303B (zh) * | 2024-03-05 | 2024-05-28 | 南开大学 | 一种面向去中心化存储的数据审计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263584A (zh) * | 2019-06-19 | 2019-09-20 | 华中科技大学 | 一种基于区块链的数据完整性审计方法和系统 |
CN113312574A (zh) * | 2021-05-21 | 2021-08-27 | 太原科技大学 | 一种基于区块链的云数据完整性审计方法 |
-
2021
- 2021-12-31 CN CN202111675396.6A patent/CN114372296B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263584A (zh) * | 2019-06-19 | 2019-09-20 | 华中科技大学 | 一种基于区块链的数据完整性审计方法和系统 |
CN113312574A (zh) * | 2021-05-21 | 2021-08-27 | 太原科技大学 | 一种基于区块链的云数据完整性审计方法 |
Non-Patent Citations (2)
Title |
---|
Blockchain-based personal health records sharing scheme with data integrity verifiable;S.Wang等;《IEEE Access》;20191231;102887-102901 * |
基于联盟链的云存储完整性审计机制研究;顾浩等;《微电子学与计算机》;20200105(第01期);57-62 * |
Also Published As
Publication number | Publication date |
---|---|
CN114372296A (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114372296B (zh) | 一种基于区块链的用户行为数据审计方法及系统 | |
CN114514732B (zh) | 用于区块链dag结构的共识协议的方法、计算系统和可读介质 | |
CN115210741B (zh) | 部分有序的区块链 | |
CN109417479B (zh) | 密码逻辑可重写区块链 | |
CN107220559B (zh) | 一种针对不可篡改文件的加密存储方法 | |
JP7499852B2 (ja) | 許可型ブロックチェーンのためのランダムなノード選択 | |
CN111444277B (zh) | 一种基于区块链技术的反恐情报协同共享平台及方法 | |
CN109543065B (zh) | 一种结合区块链的视频主动识别方法 | |
Cai et al. | Hardening distributed and encrypted keyword search via blockchain | |
JP2023504492A (ja) | データ・オブジェクトの効率的しきい値ストレージ | |
CN110502889B (zh) | 登录方法、装置、计算机可读存储介质和计算机设备 | |
CN111899019A (zh) | 一种黑名单多方交叉验证和共享的方法及系统 | |
Kuntze et al. | Secure digital chains of evidence | |
WO2020243818A1 (en) | System and method for certifying integrity of data assets | |
CN116151826B (zh) | 一种基于区块链的电力交易终端信任管理方法 | |
JP2023530594A (ja) | 分散型データベースにおける許可されたイベント処理 | |
CN115208628A (zh) | 基于区块链的数据完整性验证方法 | |
CN112487042A (zh) | 电能计量数据处理方法、装置、计算机设备和存储介质 | |
US11343107B2 (en) | System for method for secured logging of events | |
CN100452026C (zh) | 数据一次写入方法和基于该方法的数据库安全管理方法 | |
CN112836228B (zh) | 一种基于区块链的数据所有权的分布式管理系统 | |
Deng et al. | Efficient Verification of Cloud Data Security Based on Blockchain Untrusted Environment | |
Rajendar et al. | A Comprehensive and Secure Trustless Blockchain Framework for Autonomous Vehicles | |
Wang et al. | Information Security and Big Data | |
CN118394991A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230613 Address after: Room 03 and 04, Room 2702, No. 246, 248 and 250, Wushan Road, Tianhe District, Guangzhou, Guangdong 510000 (for office use only) Patentee after: Guangzhou Bofang Information Technology Co.,Ltd. Address before: 510640 No. five, 381 mountain road, Guangzhou, Guangdong, Tianhe District Patentee before: SOUTH CHINA University OF TECHNOLOGY |
|
TR01 | Transfer of patent right |