一种基于云计算的数据监控方法与流程

文档序号:11180653阅读:425来源:国知局
一种基于云计算的数据监控方法与流程

本发明涉及云计算领域,具体涉及一种基于云计算的数据监控方法。



背景技术:

云计算是能够动态搜索虚拟化资源,通过互联网以服务的方式提供给用户的一种计算模式。在云计算模式下,用户不必构建或管理这些资源,而是可以直接按需付费使用云计算服务商提供的资源。云计算把it资源、数据、应用作为一种服务,通过网络提供给用户,这是服务方式的变革,是共享数据模式的改变。对于云计算服务商而言,云计算这种模式使资源利用率提高,大大降低了服务成本。比如,google公司每年投入16亿美元建设云计算数据中心,所获得的能力相当于使用传统技术投入640亿美元,节省了40倍的成本。因此,云计算因其强大的计算能力、高可靠性、按需提供服务、降低it投入成本等特点,受到政府和信息产业界的大力倡导。独立研究机构forrester预测,至2020年,球云计算市场规模将达到2410亿美元,而这一数字在2010年仅为407亿美元。目前,全球各it企业纷纷制定和发布自己的云战略,如谷歌、亚马逊、ibm等已经形成提供大规模全球化计算服务的云计算平台。各国政府也纷纷将云计算视为重点发展的战略研究领域。美国政府推出“云优先”战略,为推动政府机构接受云计算的理念,联邦政府开设了“一站式云服务”门户网站,展示并提供得到政府认可的云计算应用。英国政府启动“政府云战略”,使政府云成为连接政府机构与供应商的桥梁,借助云计算模式提高政府采购的效率。我国政府将云计算列入着力培育的八大新型产业之一,并将北京、无锡、上海、杭州、深圳等五大城市作为云计算发展的试点城市,投资建立了云计算中心。

虽然云计算发展迅速,但是云计算的安全问题成为其健康发展和普及的“拦路虎”,特别是数据安全问题。早在2009年的时候,gartner公司就调查过17个国家的500位高管和it经理,结果表明,绝大多数用户仍倾向于使用现有内部系统而非云计算系统,首要原因是担心数据安全和个人隐私受到威胁。2012年中国云安全调查结果显示,受访者对于云安全问题并不放心,88.2%的受访者认为目前没有服务商可以解决其安全问题。受访者最关心的三个安全问题分别是:云帐户劫持(39.9%)、云数据访问(33.2%)和数据恢复/备份(31.9%)。

用户的担心是不无道理的,云计算的服务计算模式、动态虚拟化管理以及多租户共享运营模式等特点给数据安全带来了新的挑战。在用户使用云计算服务时,用户唯一的保障是和云服务商之间签订的服务协议。比如,amazon对用户的服务协议条款表明,服务商会遵守协议约束,不主动破坏数据安全,并且尽可能防范来自内部的安全漏洞,包括安装监控设备、记录操作日志,审查雇员背景等。但是,云服务提供者并未向用户说明安全机制的原理和安全效果,也就是说,云服务商并不对安全作担保,也不能挽回攻击造成的损失。近年来曝光的一些云安全事件也证实了用户的担忧。2011年3月,谷歌gmail邮箱发生大规模的用户数据丢失事件,大约有15万(约为用户总数的0.08%)gmail用户的所有邮件和聊天记录被删除,部分用户的帐户被重置。2011年6月,云存储服务商dropbox遭遇安全事件,任何用户不用口令就可以直接访问云服务。2011年10月,阿里云存储服务器出现磁盘错误,在维护过程中执行了重启操作,导致teamcola公司的数据丢失。2012年8月,盛大云声明称由于一台物理服务器磁盘发生损坏,导致个别用户数据丢失,使用户对云的灾备机制产生巨大质疑。

综上所述,云计算的数据安全问题亟待解决,研究和建立云计算环境下的数据安全保护机制,对于推动云计算及其应用的健康发展具有理论价值和现实意义。



技术实现要素:

至少部分的解决现有技术中存在的问题,本发明提出一种基于云计算的数据监控方法,采用完全存储树实现对用户文件的验证,所述完全存储树具体为:

以平衡二叉搜索树为基础结构建立完全存储树,所述完全存储树中每个结点都存储以下内容:

1)存储在该结点的文件块mi;

2)本结点文件块的哈希值hi=h(mi);

3)联合哈希值hsum(i),如果i是叶子结点,则hsum(i)=h(i),否则,根据结点i子结点的哈希值,求得其父结点的哈希值,迭代求下去,得到所述完全存储树的根结点的哈希值,即整个完全存储树的哈希值h(root);所述方法包括:

(1)存储数据:用户在向云存储服务器存储数据的时候,同时生成验证工作所需的信息,将必要的信息分别存储在第三方和云存储服务器上;

(2)发起验证请求:在用户的要求下,或者定期任务下,第三方可信任验证机构向云存储服务器发起验证请求,将验证请求信息发送给云存储服务器;

(3)生成验证消息:云存储服务器收到第三方可信任验证机构的验证请求后,根据收到的验证信息,计算出相应的证明信息,然后将证明信息发送给第三方可信任验证机构接受验证;

(4)验证:第三方可信任验证机构收到云存储服务器发来的反馈内容以后,结合第(2)步发给云存储服务器的验证请求信息,以及存储在第三方可信任验证机构的用户信息,根据定义的规则验证用户的文件是否正确存储。

优选的,步骤(3)包括:

云存储服务器收到第三方可信任验证机构的验证请求后,云存储服务器在完全存储树中查找到存储着目标数据的相应目标结点target,并记录了从根结点root到目标结点t的查找路径,此时,云存储服务器向用户返回相应证据。

优选的,所述证据为proof={η,π1,π2,…,πn}:

1)若t是叶子结点,则η={mt},其中,mt表示结点t存储的文件块;

2)若t不是叶子结点,则η={mt,hsum(t→leftchild),hsum(t→rightchild)},其中,hsum(t→leftchild)表示结点t的左结点的联合哈希值,hsum(t→rightchild)表示结点t的右结点的联合哈希值。

πi的定义如下:

1)若i-1为左结点,则πi={hi,hsum(i-1),hsum(i→rightchild)};

2)若i-1为右结点,则πi={hi,hsum(i→leftchild),hsum(i-1)}。

优选的,步骤(4)包括:

1)首先计算a=h(mt),如果t是叶子结点,则验证a=hsum(t)是否成立,否则,验证h(a,hsum(t→leftchild),hsum(t→rightchild))=hsum(t)是否成立;

2)对于πi(i<n),若i-1为左结点,计算h(hi,hsum(i-1),hsum(i→rightchild)),若i-1为右结点,则计算h(hi,hsum(i→leftchild),hsum(i-1)),并验证h(hi,hsum(i-1),hsum(i-1→brother))=hsum(i)是否成立;

3)对于πn,若n-1为左结点,则计算h(hn,hsum(n-1),hsum(n→rightchild)),若其为右结点,则计算h(hn,hsum(n→leftchild),hsum(n-1)),并与用户之前所存储的数据集的摘要值h(root)相对比;

如果以上所有验证过程全部成立,则证明云存储服务器所返回的答案为正确的,即认为所验证的数据是完整的,反之,用户则认为该数据已被篡改或伪造。

本发明提出了基于云计算的数据监控方法,提高了数据处理的效率、减少了占用的存储空间。

附图说明

图1为本发明一种基于云计算的数据监控方法的流程图;

具体实施方式

下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

参见图1,本发明提出了一种基于云计算的数据监控方法,包括:

(1)存储数据:用户在向云存储服务器存储数据的时候,同时生成验证工作所需的信息,将必要的信息分别存储在第三方和云存储服务器上。

首先,用户经由第三方为文件生成数字签名,同时为每一个文件块生成一个文件校验值,然后将文件协同数字签名和校验值一起存储在云存储服务器上,具体过程包括:

每个用户为自己生成一对密朗,存储在第三方可信任验证机构,密钥由一个私钥和一个公钥组成;

生成随机数x作为私钥,其中x∈zp,zp表示元素个数为素数p的有限域{0,1,…,p-1};

同时生成随机数u,计算v=gx,o=ux,其中,g是有限域zp的生成元,以pk=(v,o,g,u)作为公钥;

用户在上传文件时,用自己的私钥为每个文件块签名,生成一个文件签名,同时用特定的文件校验方法为每个文件块生成一个校验值,例如md5校验、sha-1校验。

具体签名方法包括:

对由n个文件块组成的文件f=(m1,m2,…,mi,…,mn),为每个文件块生成一个文件签名h(mi)是哈希函数;

同时为每个文件块生成校验值wi,然后将mi,σi,wi一起存放到云存储服务器上,将mi,σi,wi从本地删除,然后将文件的序列信息,即每个用户有几个文件,分别是什么,存放到第三方可信任验证机构。

(2)发起验证请求:在用户的要求下,或者定期任务下,第三方可信任验证机构向云存储服务器发起验证请求,将验证请求信息发送给云存储服务器,具体包括:

第三方可信任验证机构向云存储服务器发送验证请求信息,验证请求信息为一串文件块的序列,同时还要为每个文件块生成一个随机数,用chal表示,chal={i,qi},其中i表示文件块的序列号,qi表示生成的随机数;

(3)生成验证消息:云存储服务器收到第三方可信任验证机构的验证请求后,根据收到的验证信息,计算出相应的证明信息,然后将证明信息发送给第三方可信任验证机构接受验证,具体包括:

设需要验证的文件块分别是k个用户的,对每个用户k,k∈{1,…,k},k个用户的文件块、数字签名及校验值分别是mk,1,…,mk,i,…,mk,n、σk,1,…,σk,i,…,σk,n、wk,1,…,wk,i,…,wk,n,同时为每个用户k生成一个随机数μrk;

云存储服务器需要计算以下两部分内容:

一是要计算每个用户文件的线性组合:

其中,μrk是云存储服务器每次验证的过程中为每个用户生成的随机数,用于避免第三方可信任验证机构获得用户的数据;

如果不用μrk,则验证者可能会通过线性攻击得到服务器上的文件,例如,如果第三方可信任验证机构两次验证的过程中,第二次验证比第一次验证少一个文件,其他文件都相同,那么只需要用第二次的μrk值减去第一次的μrk值,就可以获取到第二次验证少的那个文件的信息了。如果加上随机数,那么每次还参杂的有随机数在里边,通过简单的线性攻击就无法获取到文件的信息。

二是要计算聚合签名σ:

其中

将计算结果反馈给第三方可信任验证机构,反馈的内容如下:

{σ,{μk}1≤k≤k}

(4)验证:第三方可信任验证机构收到云存储服务器发来的反馈内容以后,结合第(2)步发给云存储服务器的验证请求信息,以及存储在第三方可信任验证机构的用户信息,根据定义的规则验证用户的文件是否正确存储。

在云存储的数据验证模型中,由于需要对用户存储在云存储服务器上的数据进行验证,如果这个验证工作由用户自己来做,有很多不合适的地方。

首先,用户的计算能力有限,如果验证的工作比较复杂,那么用户本地的资源可能无法胜任这项任务,例如cpu运算速度不够、带宽不够。其次,验证工作需要验证方保存有一些特定的信息,例如用户的密铜,如果将验证工作交给用户来做,那么用户可能会将这些特定的信息丢失,这些信息一旦丢失,就无法再做验证工作。第三,验证工作可能会定期执行或者需要一定的时间才能执行完毕,在这个过程中,验证方必须在线完成验证工作,而用户在验证过程中并不一定能够保证在线,因此对于验证工作也无法胜任。

因此,针对用户无法完成验证工作的事实,必须要有一个第三方可信任的机构来代替用户作为验证方完成验证工作。用户与云存储服务器之间仍旧直接上传和下载文件,而对于用户文件的验证工作则交给第三方来处理。

在使用同态认证标签对用户的数据进行验证的方法中,由于每个用户的密钥不一样,而验证方法中需要使用用户的密钥对服务器返回的验证证据进行加密运算,因此在每次验证的计算过程只能针对单个用户的数据进行。在实际的数据验证中,由于有数量巨大的用户存在,如果每次验证过程只针对一个用户的文件进行处理,每次传输过程只传输一个用户的验证信息,这个效率是比较低下的,将所有用户的数据都验证完需要太多次认证。

通过研究,发现由于同态认证标签本来就己经通过密钥签名存储在服务器上,而服务器端计算聚合签名的过程是与用户密钥无关的,只是将各个文件的标签进行结合得到一个聚合签名,因此可以同时进行多个用户计算聚合签名的步骤,减少得到的聚合签名的数量,进而减少传输的数量,做到多个用户的数据共同验证。

而在多用户文件共同验证的过程中,会带来一些其他的问题。每一次验证过程,由验证方向存储方发起验证请求,由存储方返回证据,证据证明这些批量验证的文件是否有异常。然而如果在一次验证过程中,某一个用户的某个文件有异常,那么返回的证据只能表明该次验证过程失败,即说明该次验证的这些文件的某些部分有问题,却无法确定具体是哪一个文件有问题。遇到这种情况,需要对多用户共同验证工作进行修改,重新分配需要验证的文件数量并重新进行验证,直到多次验证后定位到出现错误的文件。针对这个问题,本发明在云存储服务器开始验证前,先由云存储服务器用一种基本的方法对用户数据进行自检,将错误文件提取出来,再将自检结果发送给验证方,由验证方用更加确切的方法来验证云存储服务器的自检结果。

早期的关于云存储数据验证的方法,都是建立在静态文件的验证基础之上的,这些方法的前提是文件不能变化,如果文件发生了变化,那么这些方法就会全部失效。而在实际的存储环境中,文件不可能不发生变化,因此,必须把文件变化作为一个必要的因素考虑进数据验证的方法。

本发明采用一种带权二叉树实现对用户文件的验证,所述带权二叉树具体为:

所有的叶子结点都是一个文件块的哈希值,同时包含一个权值,所有的叶子结点中,深度小的叶子结点的权值必须不小于比它深度大的叶子结点的权值;而对于非叶子结点,都只包含一个哈希值,这个哈希值是对它的两个子结点的哈希值再次运算求得的哈希值。

在上述步骤(1)中,对于每个用户k,根据每个文件块的哈希值h(mi),以及每个文件块赋予的初始权值vi,作为一个叶子结点生成一棵所述带权二叉树,然后再根据两个子结点的哈希值,两两求得其父结点的哈希值,迭代求下去,得到所述带权二叉树的根结点的哈希值,然后用用户k的私钥对根结点进行数字签名,生成一个根签名文件sig(root),生成了根签名文件以后,将根签名文件、文件块、文件块的签名、每个文件块的权值以及所述带权二叉树的结构信息一起发送到云存储服务器上,可以表示为{(mi,vi,σi),sig(root),struc},其中struc表示所述带权二叉树结构相关的信息,可以根据该信息得到所述带权二叉树的结构;同时用户将自己的私钥存储在可信任的第三方验证平台上,云存储服务器根据收到的{(mi,vi,σi),sig(root),struc},在云存储服务器端生成一棵所述带权二叉树。

在上述步骤(3)中,根据所述带权二叉树的结构struc,把哈希值集合{h(mi)}连同计算根结点哈希值时struc上其他需要的结点的哈希值集合{{ωj}j∈struc},以及结构struc,一起返回给第三方可信任验证机构,返回的数据表示为{{μk},σ,{ωj}j∈struc,sig(root),struc}。

在上述步骤(4)中,根据结构struc,用结点的哈希值{{h(mi)},{ωj}j∈struc}还原所述带权二叉树,进而得到新的根结点的哈希值h(root),之后,与收到的根结点签名对下述公式进行验证:

e(sig(root),g)=e(h(root),gsk)

sig(root):收到的根结点哈希值的数字签名,h(root):根结点的哈希值,e():双线性函数,g:有限域的生成元,sk:用户的私钥;

若根据云存储服务器反馈的数据以及存储在第三方可信任验证机构的数据能够满足公式,则说明云存储服务器存储的数据没有问题。

现有的基于云计算的数据验证方法所采用的数据结构在存储数据时,都是将数据存储在叶子结点之中,在这种结构中,其他上层结点并不存储实际数据,而只是存储一些用以验证的摘要值信息,这无疑增加了服务器上的存储空间开销。

为了优化这一问题,本发明又提出一种完全存储树,即树中的所有结点都可以用来存储实际数据,这样不但减少了服务器上的空间开销,而且可以降低树的高度,从而降低了数据插入删除等基本操作的时间复杂度。

本发明采用一种完全存储树实现对用户文件的验证,所述完全存储树具体为:

以平衡二叉搜索树为基础结构建立完全存储树,所述完全存储树中每个结点都存储以下内容:

1)存储在该结点的文件块mi;

2)本结点文件块的哈希值hi=h(mi);

3)联合哈希值hsum(i),如果i是叶子结点,则hsum(i)=h(i),否则,根据结点i子结点的哈希值,求得其父结点的哈希值,迭代求下去,得到所述完全存储树的根结点的哈希值,即整个完全存储树的哈希值h(root)。

在上述步骤(3)中,云存储服务器收到第三方可信任验证机构的验证请求后,云存储服务器在完全存储树中查找到存储着目标数据的相应目标结点target,并记录了从根结点root到目标结点t的查找路径,此时,云存储服务器向用户返回相应证据proof={η,π1,π2,…,πn},其中

1)若t是叶子结点,则η={mt},其中,mt表示结点t存储的文件块;

2)若t不是叶子结点,则η={mt,hsum(t→leftchild),hsum(t→rightchild)},其中,hsum(t→leftchild)表示结点t的左结点的联合哈希值,hsum(t→rightchild)表示结点t的右结点的联合哈希值。

πi的定义如下:

1)若i-1为左结点,则πi={hi,hsum(i-1),hsum(i→rightchild)};

2)若i-1为右结点,则πi={hi,hsum(i→leftchild),hsum(i-1)};

在上述步骤(4)中,具体验证过程如下:

1)首先计算a=h(mt),如果t是叶子结点,则验证a=hsum(t)是否成立,否则,验证h(a,hsum(t→leftchild),hsum(t→rightchild))=hsum(t)是否成立;

2)对于πi(i<n),若i-1为左结点,计算h(hi,hsum(i-1),hsum(i→rightchild)),若i-1为右结点,则计算h(hi,hsum(i→leftchild),hsum(i-1)),并验证h(hi,hsum(i-1),hsum(i-1→brother))=hsum(i)是否成立;

3)对于πn,若n-1为左结点,则计算h(hn,hsum(n-1),hsum(n→rightchild)),若其为右结点,则计算h(hn,hsum(n→leftchild),hsum(n-1)),并与用户之前所存储的数据集的摘要值h(root)相对比;

如果以上所有验证过程全部成立,则证明云存储服务器所返回的答案为正确的,即认为所验证的数据是完整的,反之,用户则认为该数据已被篡改或伪造。

本发明提出了基于云计算的数据监控方法,提高了数据处理的效率、减少了占用的存储空间。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1