智慧城市中轻量级和隐私保护的公共云审计系统和方法
技术领域
本发明属于云存储数据完整性审计技术领域,涉及一种智慧城市中轻量级和隐私保护的公共云审计系统和方法。
背景技术
“智慧城市”作为解决交通拥挤、智能家居、智慧养老等城市问题的一种可行途径,已成为可持续发展的未来城市的必然趋势。智慧城市包括以下智能领域(如图1):智能交通、智能教育、智能建筑、智能经济等,它们是居民生活便利的基本保证。近年来,许多欧洲城市已经确立了智慧城市发展战略,如英国有很多城市成功转型为智慧城市,解决了城市发展与重建、振兴经济问题,促进卫星导航、物联网、智能交通、智能电网、云计算、软件服务等行业的发展,同时提升了城市吸引力和竞争力。
但在实际应用中,智慧城市中的居民在享受更智能的城市交通网络、更便捷的电子医疗服务、更便利的建筑物的同时,也面临着安全技术和隐私保护方面的挑战:①非结构化数据的低效管理和处理能力不足。智慧城市中大量的设备通过物联网连接,而这些设备中的应用程序会产生海量的非结构化数据,数据的有效管理是高效使用这些数据的基本保障。物联网设备没有足够的处理数据的能力,只能将产生的海量数据远程存储到云存储中心,待集中处理。②存储空间严重匮乏。智慧城市中智能交通电子眼每日都会产生源源不断的视频流,海量数据如果不能有效存储则毫无用处。智能手机、移动终端的快速发展,导致存储空间匮乏问题突显,缺乏有效的存储能力给现有的系统带来了空前压力。③数据的隐私和安全问题。来自任何终端设备的用户数据隐私应当受到保护,因此,这些数据需要适当的加密处理或盲化处理以保护原数据的隐私性。
上述三个问题影响着智慧城市的建设进程,云存储平台(CSP,CloudStoragePlatform)由此应用而生。生活在智慧城市中的终端用户(企业、移动终端个人或传感器节点)因缺乏足够的存储空间和管理能力,选择把海量数据存储至远程云平台,并将大量数据计算外包给云服务器,于是用户不仅摆脱存储资源不足的束缚,而且可以从管理复杂软硬件存储系统和数据维护的痛苦中解放出来,他们无需本地备份数据,就可以随时随地通过网络访问存储在云存储平台上的数据,减少了软硬件购买搭建和资源维护的人力物力。因此,云存储平台在智慧城市建设中扮演着越来越重要的角色,逐步成为主流的数据存储和管理方式(如图2)。
虽然云存储在智慧城市中具有得天独厚的优势,但它也带来了新的挑战和安全威胁。当用户将数据外包存储至云服务器时,他们不得不放弃对数据的物理管控权,且须允许云存储平台CSP对他们的数据执行一些基本的操作,最重要的是云外包存储不能对外包存储数据提供绝对的完整性保证。造成用户数据完整性破坏的原因主要有:①云服务器的软件故障或硬件损坏导致数据丢失,其属于小概率事件;②云服务器可能受到其他用户的恶意攻击,导致存储数据损坏;③云存储平台CSP为了经济利益,可能不遵守服务水平协议(SLAs),擅自删除一些用户不经常访问的数据,或采取离线存储模式。因此,智慧城市中云存储数据的完整性验证的问题亟待解决,如何保证云存储环境下用户数据的完整性成为学术界的一个研究热点。
Deswarte等人首先提出了HMAC哈希函数来实现远程云存储数据的完整性验证,但该方案需要较大的计算开销和通信开销,并不适合大规模的应用。因此,Deswarte等人又提出了利用RSA签名的同态特征实现数据完整性验证,但需付出很高的计算成本。随后Sébe等人对方案中的算法进行了适当的修改,提出了利用分块处理的思想来降低计算成本,但采用的是确定性完整性验证策略,即对存储的每一个数据块均需要做完整性验证,当数据文件分块个数很大时,会导致计算成本非常大。随后Ateniese等人提出了概率性完整性验证方法,即随机选取一定比例的数据块来验证外包数据是否完整,并利用RSA签名机制的同态特性,将证据聚合成一个小值,极大地降低了该类型方案的通信开销。以上方案均只满足于静态存储,而实际上支持存储数据动态更新的数据完整性验证更实用。因此,Wang等人提出了一种支持全动态的数据完整性验证机制。该方案通过Merkle哈希树来确保每个数据块在正确的位置上被完整存储,数据块的值由BLS签名机制计算。为了减轻用户的负担,该机制还引入了一个独立的第三方来代表用户去验证云存储数据的完整性,但该机制存在将数据隐私泄露给第三方的风险。为了解决这个问题,Wang等人提出了另一种保护数据隐私的数据完整性验证机制。该机制采用随机掩码技术,有效地隐藏了云存储平台CSP返回的证据,使得好奇的第三方审计者TPA无法从返回证据中窃取用户数据隐私。
近年来,越来越多的公共云审计方案被提出,如Wang等人提出了云用户高效撤销的共享数据公开审计方案Panda和Panda Plus。Li等人提出了基于云的无线体域网的公共审计方案。Patwardhan等人提出了同态验证环签名机制共享数据的公共云审计方案。然而,在这些方案中,均是用户生成数据的认证元集并上传至云服务器,这给用户带来巨大的计算开销,特别是计算和能量资源受限的移动终端和传感器节点。因此,Li等人提出了一种新的云存储审计方案,该方案中包括云审计服务器和云存储服务器。在向云存储服务器上传数据之前,云审计服务器为用户生成数据认证元集,虽然这个方案可以减少用户的计算负担,但它带来了一种新的安全问题,即用户需将自己的私钥及数据完全交付于云审计服务器,这显然不现实。Guan等人提出了一种具有不可混淆特性的云审计方案,虽然降低了数据认证元集的计算开销,但云存储数据的完整性验证是相当耗时的。随后,Shen等人提出了一种轻量级和隐私保护的安全云审计方案,该方案引入了第三方媒介(TPM)来代替用户生成数据认证元集,且由于用户对数据进行了盲化,故TPM无法获取用户的数据隐私。然而,该方案需要大量的对运算,这给云存储系统带来了巨大的负担。另外,该方案不支持批量审计,当大量用户同时委托TPM审计不同审计任务时,TPM只能逐一完成审计任务,会导致整个方案效率相当低。
发明内容
本发明的目的在于克服上述现有技术中移动终端或传感器节点自己生成认证元需要较大计算开销、整个系统需要多个对运算导致系统整体低效、无法进行批量审计以及审计过程中用户数据的隐私保护问题,提供一种智慧城市中轻量级和隐私保护的公共云审计系统和方法。
为达到上述目的,本发明采用以下技术方案予以实现:
一种智慧城市中轻量级和隐私保护的公共云审计系统,包括智能城市、用户、云存储平台CSP和第三方审计者TPA;用户和第三方审计者TPA均能与云存储平台CSP相交互;其中:
智能城市:是依靠智能设施为用户提供便利服务的系统;
用户:是智能城市中移动终端用户或传感器节点,能够随时将数据上传存储到云存储平台CSP,且能通过网络访问自己存储在云存储平台CSP的数据;
云存储平台CSP:是由云服务提供商统一进行管理的云服务器集群;云存储平台CSP是一个具有海量存储空间的云计算系统,其核心功能是为用户提供数据存储和管理的服务;
第三方审计者TPA:是具有计算能力的第三方计算集群,拥有专业的审计知识和能力,能够为用户生成数据认证元集,并验证云存储数据的完整性。
本发明还公开了一种智慧城市中轻量级和隐私保护的公共云审计方法,包括以下步骤:
用户将数据外包给云存储平台CSP进行存储和维护,周期性请求第三方审计者TPA计算外包存储数据认证元集并验证外包存储数据的完整性,同时防止云存储平台CSP和第三方审计者TPA窃取数据隐私信息,第三方审计者TPA替用户生成数据认证元集;
存储阶段:
当用户将数据外包存储至云存储平台CSP时,首先对数据进行盲化处理以保护数据隐私,然后将其发送给第三方审计者TPA和云存储平台CSP;当第三方审计者TPA接收到盲化数据后,为用户生成相应的数据认证元集并发送给云存储平台CSP;随后,云存储平台CSP验证认证元集的时效性和正确性,并根据验证结果是否有效来决定是否存储用户的盲化数据;
审计阶段:
当用户需要审计其某个外包数据是否被云存储平台CSP完整地存储时,发送审计请求给第三方审计者TPA;第三方审计者TPA接收审计请求后,针对审计数据生成审计挑战并将其发送给云存储平台CSP;随后,云存储平台CSP基于审计挑战生成审计证明,并返回给第三方审计者TPA;最后,第三方审计者TPA通过审计证明来验证外包数据的完整性。
本发明进一步的改进在于:
存储阶段的具体方法如下:
(1)初始化:输入一个安全参数λ,系统生成两个大素数p和q,其中q是p-1的素因子,q阶乘法循环群G,G的生成元g满足gq≡1modp;并从一簇安全哈希函数集中随机选择一个安全哈希函数h(·):{0,1}*→Zq;系统设置一个伪随机数发生器PRG:和一个伪随机函数PRF:其中和分别为伪随机数发生器PRG和伪随机函数PRF的密钥空间,Γ为数据M中数据块的索引集;同时,系统基于实际网络通信情况定义了时间上限Δ1和Δ2,其中Δ1是第三方审计者TPA产生认证元集的时间上限,Δ2是云服务提供商产生审计证明的时间上限;最后公开公共参数:
cp={p,q,G,g,h(·),PRG,PGF}
(2)密钥生成:第三方审计者TPA和用户各自执行该算法产生其公私钥对;
第三方审计者TPA定义身份识别符IDT∈Zq并选择一个随机值作为其私钥,计算作为其公钥,第三方审计者TPA公开公钥yT,保密其私钥xT;
用户定义身份识别符IDU∈Zq并生成公私密钥对(pkU,skU)用于计算数据标签,最后用户公开公钥pkU,保密其私钥skU;
(3)生成签名:由用户、第三方审计者TPA和云存储平台CSP运行;
①用户处理数据并生成数据标签:
给定数据M,M按以下形式分块:
其中,数据M被划分为n个数据块m1,m2,…,mn,每个数据块mi又被划分为s个字段mi1,mi2,…,mis,mij∈Zq,其中1≤j≤s;
为确保唯一数据的完整性,用户计算数据M的标签
为了确保数据M的机密性和隐私性,用户使用随机掩码技术对每个数据块mi进行盲化处理的mi',数据M被盲化成数据M′;
②第三方审计者TPA产生认证元集:
当收到用户盲化数据M′,第三方审计者TPA生成密钥对k=(kg,kf),其中计算和每个数据块mi'(i=1,...,n)的HomMAC:
选择随机值并计算si=(riηi+ρixT)modq,输出σi=(ri,si)作为mi'的签名;
定义Φ={σi}i∈Γ为数据认证元集,发送{IDT,k,TagM,Φ}给云存储平台CSP,同时删除本地盲化数据M′,本地列表增加一条信息{IDU,TagM,k};
③云存储平台CSP根据验证结果决定是否存储数据:
云存储平台CSP收到第三方审计者TPA的消息{IDT,k,TagM,Φ}后,首先记录时间戳TSC12并计算Δt1=TSC12-TSU11,如果Δt1>Δ1,返回“超时”给用户,否则执行以下计算:
云存储平台CSP利用伪随机数发生器PRG和伪随机函数PRF计算ω=(ω1,ω2,…,ωs)←PRG(kg)和并验证式(1):
如果验证式(1)成立,云存储平台CSP将存储数据并返回“正确”给用户,用户收到该消息后从本地存储中删除原有数据M;否则,云存储平台CSP将不提供存储数据服务并返回“错误”给用户。
盲化处理的具体方法如下:
选择随机值和一个常数u∈G,计算 并且盲化每个数据块mi:
最终数据M=(m1,m2,…,mn)被盲化为M'=(m′1,m′2,…,m′n);
用户将{IDu,TagM,M'}发送给第三方审计者TPA,并记录时间戳TSU11,并将{IDU,M',TSU11}发送给云存储平台CSP。
为了验证数据的完整性,用户向第三方审计者TPA发送审计请求,审计阶段的具体方法如下:
(1)挑战:收到审计请求后,第三方审计者TPA首先验证审计挑战是否合法,若不合法,中止审计任务;否则,生成审计挑战如下:
随机选取一个包含c个元素的子集I∈Γ;
对于每个元素i∈I,选择一个随机值
输出审计挑战chal={(i,vi)}i∈I并将其发送给云存储平台CSP;同时第三方审计者TPA记录时间戳TST21;
(2)生成证明:云存储平台CSP收到审计挑战chal后,生成审计证明P:
计算和
计算被挑战数据块的线性组合,其中;
输出审计证明P={μ,R,S},其中μ=(μ1,μ2,…,μs),后将审计证明P发送给第三方审计者TPA;
(3)验证证明:第三方审计者TPA收到审计证明P后,首先记录时间戳TST22,然后验证审计证明的时效性及正确性。
验证审计证明的时效性及正确性的方法如下:
计算如果第三方审计者TPA中止审计任务并返回“超时”给云存储平台CSP,否则第三方审计者TPA调用本地信息列表{IDU,TagM,k}中k,利用伪随机数发生器PRG和伪随机函数PRF计算ω=(ω1,ω2,…,ωs)←PRG(kg)和并执行以下操作:
计算验证式(2):
如果等式成立,第三方审计者TPA认为用户的外包数据是完整的,否则第三方审计者TPA认为用户的外包数据不完整;随后,第三方审计者TPA将审计报告返回给用户。
审计阶段支持批量审计,具体方法如下:
(1)存储阶段:
1-1)生成密钥:假设系统中有多个用户,每个用户都有一个唯一的身份标识符θ=1,2,...,用户Uθ生成公私钥对第三方审计者TPA的身份标识符是IDT∈Zq,第三方审计者TPA生成公私钥对(xT,yT);用户和第三方审计者TPA各自公开其公钥,秘密保存其私钥;
1-2)签名生成:
(a)假设用户Uθ拥有某数据计算数据M(θ)的标签为了确保用户数据隐私,用户Uθ利用随机掩码技术将数据M(θ)盲化为M(θ)';最后,用户将发送给第三方审计者TPA,并记录时间戳接着将发送给云存储平台CSP;
(b)第三方审计者TPA收到Uθ的消息后,首先生成密钥对其中接着计算 及数据块的HomMAC值:然后计算数据块的签名:其中Φ(θ)记为数据认证元集;最后,第三方审计者TPA将发送给云存储平台CSP并删除本地数据M(θ)',本地列表增加一条信息
(c)云存储平台CSP接收到上述消息后,首先记录时间戳并计算如果云存储平台CSP将返回“超时”给用户,否则云存储平台CSP利用k和伪随机数发生器和伪随机函数计算并验证式(3):
云存储平台CSP根据验证结果决定是否提供数据存储服务,并将相应的信息反馈给该用户;
(2)审计阶段:
2-1)挑战:假设同时或相近时间内有N个用户向第三方审计者TPA发出审计请求,第三方审计者TPA同时为这N个用户生成审计挑战chal={(i,vi)}i∈I并将这些用户的审计请求和chal发送给云存储平台CSP,同时记录时间戳TST21;
2-2)生成证明:云存储平台CSP接收到来自第三方审计者TPA的审计请求和审计挑战chal={(i,vi)}i∈I后,计算 其中;然后将审计证明θ=1,2,...,N,发送给第三方审计者TPA;
2-3)验证证明:第三方审计者TPA接收审计证明P后,首先记录时间戳TST22,然后计算Δt2=TST22-TST21;如果Δt2>Δ2,中止批量审计任务并返回“超时”给云存储平台CSP,否则调用信息列表中密钥k(θ),利用伪随机数发生器PRG和伪随机函数PRF计算ω=(ω1,ω2,…,ωs)←PRG(kg)和ω~i←PRF(kf,i),进一步计算并验证式(4):
如果验证式(4)成立,第三方审计者TPA认为发起审计请求的所有用户的外包数据均是完整的,否则第三方审计者TPA认为其中某些用户的外包数据已经损坏。
与现有技术相比,本发明具有以下有益效果:
①轻量级
本发明实现了公共云审计,即第三方审计者TPA代替用户验证外包数据的完整性,且用户无需恢复数据副本及增加用户与云存储平台CSP之间的网络负担。考虑到智慧城市中数据产生者多数为资源受限的移动终端用户和传感器节点,本发明中第三方审计者TPA代替用户生成数据认证元集(传统解决方案是用户自己生成认证元集,需要大量的计算开销),极大的减少了用户的计算负担。其次本发明整体上避免了目前密码学中最耗时的对运算,且云存储平台CSP不再需要盲化证据,极大地减少了第三方审计者TPA和云存储平台CSP的计算开销,降低了整个云存储系统和云审计过程的计算负担。
②隐私保护
在本发明中,首先,用户在发送数据给第三方审计者TPA和云存储平台CSP之前,使用了随机掩码技术来盲化数据,这使得好奇的第三方审计者TPA和云存储平台CSP无法获得任何用户数据的隐私。此外,在云存储平台CSP返回证据时,无需对证据进行任何盲化处理,但依然可防止好奇的第三方审计者TPA从云存储平台CSP返回的响应中获取用户的数据隐私,减轻了云存储平台CSP的计算开销。
③批量审计
本发明能够容易自然地将单用户情况下的单个审计方案扩展成多用户情况下的批量审计,从而使第三方审计者TPA能够高效地同时执行多个审计任务。更为重要的是,由于本发明没有使用对运算,故极大地提高了审计效率。
④存储正确性及不可伪造性
本发明能实现存储正确性,即恶意的云存储平台CSP不可以在不完整存储用户数据的情况下通过第三方审计者TPA审计。本发明能实现不可伪造性,即第三方审计者TPA生成的数据认证元集是不可伪造的,云存储平台CSP生成的审计证明也是不可伪造的。
附图说明
图1为智慧城市结构图;
图2为智慧城市中云存储平台图;
图3为本发明的系统模型图;
图4(a)为存储阶段的流程图;
图4(b)为审计阶段的流程图;
图5是存储、审计算法流程图;
图6是批审计算法流程图;
图7是小A数据存储阶段流程图;
图8是小A数据审计阶段流程图;
图9是批量审计流程图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
参见图1-图3,本发明的系统模型由一个背景,三个实体组成,每个实体的详细定义如下:
智能城市:包含各种智能领域,如智能汽车、智能教育、智能电网等等,为城市中的居民提供方便快捷的生活条件。智能城市是本发明系统模型的应用背景,智能城市依赖于很多传感器网络产生海量数据,传感器本身不能存储海量数据,所以需要借助远程的云存储服务平台来存储这些数据,故云存储平台在智能城市中具有举足轻重的作用。本发明就是解决在智能城市背景下适用于存储计算能力受限的传感器用户或者移动终端向云服务器存储信息,并委托第三方审计者TPA帮其确认存储完整性的应用场景。
用户:是智能城市中移动终端或传感器节点,拥有(易产生)大量数据却缺乏充足的存储空间,故需将数据外包存储至云服务平台。同时,用户可以随时通过网络访问云存储平台中自己存储的数据。
云存储平台CSP:是由云服务提供商统一进行管理的云服务器集群,云存储平台CSP具有其他实体无法实现的明显优势:高效的数据存储、充足的存储空间、复杂的计算能力和强大的网络访问服务。
第三方审计者TPA:拥有云用户不具备的专业的审计知识和能力,可代替用户生成数据认证元集,并验证云存储数据的完整性。
用户主要依赖云存储平台CSP进行数据的存储和维护,同时希望他们的数据隐私不会被泄露。由于用户在本地不再存储数据副本,因此确保用户外包数据被正确地存储和维护是至关重要的。为了降低计算开销及外包数据正确性验证时带来潜在网络负担,用户可以请求第三方审计者TPA代替其去计算数据认证元集及验证外包存储数据的完整性,同时防止好奇的第三方审计者TPA窃取数据隐私。
当用户将海量数据外包存储至云存储平台CSP时,首先对原数据进行盲化处理,然后将其发送给第三方审计者TPA和云存储平台CSP;当第三方审计者TPA接收到盲化数据后,他为用户生成相应的数据认证元集并发送给云存储平台CSP;随后,云存储平台CSP验证认证元集的时效性和正确性,当且仅当在有效时间段内生成的认证元集是正确的,云存储平台CSP才存储用户的盲化数据。当用户想知道他们的外包数据是否被云存储平台CSP完整的存储时,他发送审计请求给第三方审计者TPA;第三方审计者TPA接收审计请求后,他生成审计挑战并发送给云存储平台CSP;随后,云存储平台CSP基于审计挑战生成审计证明,并返回给第三方审计者TPA;最后,第三方审计者TPA代替用户验证外包数据的完整性,并将审计结果告知用户。
离散对数问题(DLP):给定一个p阶的乘法循环群G,g为G的生成元,DLP问题就是任意给定g,ga∈G,求如果在多项式时间内,没有任何敌手可以以一个不可忽略的概率求解DLP,那么称DLP问题在群G中是计算困难的。本发明假设群G中求解DLP问题是计算困难的。
同态MAC(HomMAC)是本发明中最关键的定义,文献[Agrawal S,DanB.Homomorphic MACs:MAC-Based Integrity for Network Coding[C]//InternationalConference on Applied Cryptography and Network Security.Springer-Verlag,2009:292-305]中已详细描述了HomMAC的详细定义和安全性分析。
给定数据块其HomMAC为:其中 由密钥为skprg的伪随机发生器(PRG)生成,由密钥为skprf的伪随机函数(PRF)生成。
根据同态的性质,给定数据块m1和m2的HomMAC分别为ρ1和ρ2,一个新的数据块m'=m1+m2的有效HomMAC在不知道密钥对(skprg,skprf)的情况下可以利用ρ'=ρ1+ρ2计算出来。
本发明从单用户情况下的单个审计案例出发,分为存储阶段和审计阶段;然后自然地拓展到多用户环境下的批量审计。
存储阶段:这个阶段是本发明的基本部分,分为以下三个算法:
(1)初始化:输入一个安全参数λ,系统生成两个大素数p和q,其中q是p-1的素因子,q阶乘法循环群G,G的生成元g满足gq≡1modp;并从一簇安全哈希函数集中随机选择一个哈希函数h(·):{0,1}*→Zq;系统设置一个伪随机数发生器PRG:和一个伪随机函数PRF:其中和分别为PRG和PRF的密钥空间,Γ为M的所有数据块的索引集;同时,系统基于实际通信网络情况定义了时间上限Δ1和Δ2,其中Δ1是第三方审计者TPA产生认证元集的时间上限,Δ2是云存储平台CSP产生审计证明的时间上限;系统公开公共参数cp={p,q,G,g,h(·),PRG,PGF};
(2)密钥生成:第三方审计者TPA和用户各自执行该算法生成各自的公私钥对。
第三方审计者TPA定义身份识别符IDT∈Zq并选择一个随机值作为密钥,计算作为公钥,第三方审计者TPA公开其公钥yT,保密其私钥xT;
用户定义身份识别符IDU∈Zq并生成公私密钥对(pkU,skU),该公私钥对主要用于计算存储数据的标签,最后用户公开公钥pkU,保密其私钥skU。
(3)生成签名:用户、第三方审计者TPA和云存储平台CSP各自分别运行该算法。
①用户处理数据并生成数据标签
给定数据M,M按以下形式分块:
其中,数据M被划分为n个数据块m1,m2,…,mn,每个数据块mi又被划分为s个字段mi1,mi2,…,mis,mij∈Zq,其中1≤i≤n,1≤j≤s;
为确保唯一数据的完整性,用户计算数据M的标签
为了确保数据M的机密性和隐私性,用户使用随机掩码技术对每个数据块mi
进行盲化处理,具体如下:
选择随机值和一个常数u∈G,计算并盲化每个数据块mi:
最终数据M=(m1,m2,…,mn)被盲化为M'=(m′1,m′2,…,m′n)。
用户将{IDu,TagM,M'}发送给第三方审计者TPA,并记录时间戳TSU11,紧接着将{IDU,M',TSU11}发送给云存储平台CSP。
②第三方审计者TPA代替用户产生认证元集
当收到用户的信息{IDu,TagM,M'},第三方审计者TPA随机生成密钥对k=(kg,kf),其中计算和每个数据块mi'的HomMAC:
第三方审计者TPA选择随机值计算si=(riηi+ρixT)modq,输出σi=(ri,si)作为mi'的签名。
第三方审计者TPA定义Φ={σi}i∈Γ为数据认证元集,发送{IDT,k,TagM,Φ}给云存储平台CSP,同时删除数据M′,并在本地列表增加信息{ID,TagM,k}。
③云存储平台CSP根据验证结果存储数据
云存储平台CSP收到第三方审计者TPA的消息后,首先记录时间戳TSC12并计算如果返回“超时”给用户,否则执行以下计算:
云存储平台CSP计算ω=(ω1,ω2,…,ωs)←PRG(kg)和并验证等式:
如果验证等式成立,云存储平台CSP将存储用户的盲化数据并返回“正确”给用户;否则,云存储平台CSP将不接受存储数据业务并返回“错误”给用户,当用户收到云存储平台CSP返回的“正确”信息后,从本地存储中删除已相应的外包存储数据。。
审计阶段:此阶段是核心部分,分为以下三个算法。为了验证外包存储数据的完整性,用户向第三方审计者TPA发送审计请求。
(1)挑战:收到用户的审计请求后,第三方审计者TPA首先验证审计挑战是否合法,若不合法,中止审计任务;否则,生成审计挑战如下:
随机选取一个包含c个元素的子集I∈Γ;
对于每个元素i∈I,选择一个随机值
输出审计挑战chal={(i,vi)}i∈I并将其发送给云存储平台CSP;同时第三方审计者TPA记录时间戳TST21;
(2)生成证明:云存储平台CSP收到审计挑战chal后,生成审计证明P;;
计算和S=∑i∈Ivisimodq;
计算被挑战数据块的线性组合μl=∑i∈Ivimil'modq,其中;
输出审计证明P={μ,R,S},其中μ=(μ1,μ2,…,μs),并将审计证明P发送给第三方审计者TPA。
(3)验证证明:第三方审计者TPA收到审计证明P后,首先记录时间戳TST22,然后按照如下方法验证审计证明的时效性及正确性:
计算如果第三方审计者TPA中止审计任务并返回“超时”给云存储平台CSP;否则调用本地信息列表{ID,TagM,k}中k,利用伪随机数发生器PRG和伪随机函数PRF计算ω=(ω1,ω2,…,ωs)←PRG(kg)和第三方审计者TPA执行以下操作。
计算
验证以下等式:
如果等式成立,第三方审计者TPA认为用户的外包数据是完整的,否则第三方审计者TPA认为用户的外包数据已经损坏了。随后,第三方审计者TPA将审计报告返回给用户。
(4)支持批量审计
众所周知,随着大数据时代数据的爆炸性增长,云存储在智能城市建设中发挥着越来越重要的作用。对于海量数据,不同的用户可能需要大量的审计委托,而对于第三方审计者TPA来说,单独审计这些任务是冗长而低效的。因此,本发明将单用户的公共云审计方案自然地扩展成多用户的批量云审计方案,实现了第三方审计者TPA可以同时处理不同用户的多个审计委托的属性,极大地提高了第三方审计者TPA审计效率,具体描述如下:
存储阶段:此阶段中的初始化算法类似于单用户情况。
生成密钥:此阶段算法类似于单用户情况,只是假设在系统中有多个用户,每个用户都有一个独一无二的身份标识符其公私钥对为第三方审计者TPA的身份标识符是IDT∈Zq。其公私钥对依然为(yT,xT)签名生成:该算法类似于单个审计,故只进行简要介绍:
(1)为表述简洁,假设每个用户Uθ只有一个数据M(θ)且都被划分成相同数量的数据块用户Uθ计算数据M(θ)的标签同样,为了确保用户数据隐私,用户Uθ利用随机掩码技术数据M(θ)盲化为M(θ)';最后,用户将发送给第三方审计者TPA,并记录时间戳紧接着将发送给云存储平台CSP;
(2)第三方审计者TPA收到用户Uθ发来的消息后,为用户Uθ生成密钥对其中计算 及数据块的HomMAC值:然后计算数据块的签名:其中Φ(θ)记为数据认证元集;最后,第三方审计者TPA将发送给云存储平台CSP并删除数据M(θ) ',本地列表记录信息
(3)云存储平台CSP接收到上述消息后,首先记录时间戳并计算如果云存储平台CSP将返回“超时”给用户;否则云存储平台CSP利用k(θ)和伪随机数生成器和伪随机函数计算并验证以下等式:
同样地,云存储平台CSP根据验证结果存储数据,并反馈给用户相应的信息。
批量审计阶段:此阶段与单个审计类似,故只进行简要描述。
(1)挑战:假设系统中有N个用户向第三方审计者TPA同时或者相近时间内发起审计请求,,第三方审计者TPA汇总N个用户挑战任务的文件信息并生成审计挑战chal={(i,vi)}i∈I,并将用户审计请求和审计挑战一起发给云存储平台CSP,同时记录时间戳TST21。
(2)生成证明:云存储平台CSP接收到审计挑战chal后,计算其中。然后将审计证明P={μ(θ),R,S}发送给第三方审计者TPA,其中θ=1,2,...,N。
③验证证明:第三方审计者TPA接收审计证明P后,首先记录时间戳TST22,然后计算如果中止批量审计任务并返回“超时”给云存储平台CSP,否则TPA调用本地信息列表中k(θ),利用伪随机数发生器PRG和伪随机函数PRF计算和计算 并验证以下等式:
如果验证等式成立,第三方审计者TPA认为这N个用户的外包数据均是完整的,否则第三方审计者TPA认为其中某些用户的外包数据已被损坏。
实施例1(个人移动终端用户)
如图7所示,小A居住在某智能城市的一个智能小区中,智能城市中的各个智能领域(如智能交通、智能电网、智能建筑等)为他提供了方便快捷的智能生活。如:当小A离开家时,他无需手动开关空调,洗衣机,智能电饭煲等电器,只需在出门时通过智能移动设备(如手机、iPad等)输入相应的指令,家中需要开关的电器就会自动开关;当小A开车出行时,他只需提前在他的移动设备上输入相应的指令,车在他达到的前几分钟会自动将车内温度调至合适值,上车后,小A只需要发布相应指令,车将自动识别并为他提供最合适的导航路线;当小A回家时,他只需在到家前几分钟发布相应指令,家中的相应电器会自动打开,为他调整至的合适的室温、湿度、灯光等。虽然智能城市为小A提供了方便快捷的生活条件,但他在享受各个智能领域的同时,他移动终端设备上产生会大量的数据,这些海量的数据信息对于存储资源受限的小A来说是极大的困扰。因此,一个合适的云存储服务平台是智能城市中居民解决存储资源受限的一个关键所在。故小A选取某云存储平台来存储及维护自己的海量数据,选取某第三方审计中心来代替自己生成认证元集合及执行审计任务。首先,在存储阶段,小A通过智能设备将自己的数据进行合理的处理(分块、生成数据标签及盲化),并由这些智能设备发送至云存储平台CSP及第三方审计者TPA,第三方审计者TPA对盲化数据生成认证元集合并发送给云存储平台CSP,随后删除小A的数据;为了防止不诚实的第三方审计者TPA伪造认证元集合,云存储平台CSP对该认证元集合进行时效性及正确性验证,若验证通过,云存储平台CSP为小A保存盲化数据及相应的认证元集合,并返回给小A相应指令,接到云存储平台CSP正确存储数据的指令后,小A删除本地的数据备份,以节省本地资源;若验证失败,云存储平台CSP也反馈相应信息给小A。在审计阶段,当小A想知道自己的数据是否被云存储平台CSP完整保存时,他发送了一个审计请求给第三方审计者TPA,第三方审计者TPA收到审计请求后生成审计挑战并发送给云存储平台CSP,云存储平台CSP根据挑战信息生成审计证明并返回给第三方审计者TPA,随后第三方审计者TPA验证审计证明的时效性及正确性,若验证通过,第三方审计者TPA相信云存储平台CSP完整的保存了小A的数据,若验证失败,第三方审计者TPA认为小A审计的数据存在不完整存储的情况,并生成相应的审计报告返回给小A。
如图8所示,在该智能城市中,时时刻刻会产生大量的数据需要外包至云服务平台进行存储及维护,故第三方审计者TPA和云存储平台CSP会拥有很多类似于小A的用户(小B、小C、...、)。在此情形下,第三方审计者TPA会面临同时来自不同用户的多个审计任务。在数据存储阶段,各用户的操作与小A相同。在审计阶段,当第三方审计者TPA同时收到来自N个不同用户的审计请求时,第三方审计者TPA生成审计挑战并发送给云存储平台CSP,云存储平台CSP根据审计挑战生成审计证明并发送给第三方审计者TPA,第三方审计者TPA验证审计证明的时效性与正确性。当验证通过时,第三方审计者TPA相信这N个用户的数据均已被云存储平台CSP完整的保存,当验证失败时,第三方审计者TPA认为其中部分用户的数据已经损坏,并利用二分法来查找定位哪些用户的数据已被损坏,最后返回相应的审计报告给各个用户。
实施例2(企业)
目前智能医疗已走进寻常百姓的生活,电子远程诊疗系统如雨后春笋般涌现,各类医疗网站层出不穷。某三甲医院通过结合无线网技术、物联网技术、移动计算技术、数据融合技术实现了智能医疗体系,具体体现在:1)业务管理系统,包括医院收费和药品管理系统;2)电子病历系统,包括病人信息、影像信息;3)临床应用系统,包括计算机医生医嘱录入系统(CPOE)等;4)慢性疾病管理系统;5)区域医疗信息交换系统;6)临床支持决策系统;7)公共健康卫生系统。在该医院智能医疗体系的迅猛发展的同时,产生了海量的医疗数据,因缺乏大量的存储资源及统一高效的管理技术,该医院将海量医疗数据外包存储至与自己有长期合作关系的云存储平台,并委托某第三方审计中心TPA执行云存储数据的完整性审计任务。由于该医院庞大的医疗结构体系,第三方审计者TPA会同时处理多个审计任务。
在存储阶段,用户(患者A、B、C...、医生a、b、c...)将自己的医疗数据进行适当的处理(分块、生成数据标签、盲化数据),随之将其发送给第三方审计者TPA和云存储平台CSP,第三方审计者TPA生成相应的认证元集合并发送至云存储平台CSP,随后删除用户的数据,云存储平台CSP验证认证元集合的时效性及正确性,若验证通过,云存储平台CSP存储用户的数据及相应的认证元集合,并反馈成功存储信息给用户,用户删除本地记录;若验证失败,云存储平台CSP拒绝存储数据并反馈相应信息给用户。在审计阶段,当第三方审计者TPA接收到来自用户(患者A、B、C...、医生a、b、c...)的审计请求时,第三方审计者TPA生成审计挑战,云存储平台CSP根据审计挑战信息生成审计证明并返回给第三方审计者TPA,第三方审计者TPA验证审计证明的时效性及正确性,当验证通过时,第三方审计者TPA认为云存储平台CSP完整的保存了用户(患者A、B、C...、医生a、b、c...)的数据;否则,第三方审计者TPA利用二分查找法查找哪些用户的数据已被损坏,最后,根据审计结果返回相应的审计报告给各个用户。
以上内容仅为阐述本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。