一种基于身份的云服务器计算正确性验证方法与流程

文档序号:24402765发布日期:2021-03-26 15:34阅读:314来源:国知局
一种基于身份的云服务器计算正确性验证方法与流程

1.本发明涉及网络安全的技术领域,特别涉及一种基于身份的云服务器计算正确性验证方法。


背景技术:

2.随着云计算和云存储技术的飞速发展,越来越多的企业和个人将其数据外包给云服务器进行存储或计算。云服务器的普遍应用为企业和个人带来了很多便利。对于资源受限的用户终端无法满足本地存储开销和计算开销较大的应用需求时,借助云服务器可为资源受限的用户承担外包存储和计算工作提供了可行的解决方案,而企业或个人只需支付相对较低的服务费用即可。
3.尽管云计算被认为是下一代互联网的一个有前途的服务平台,但安全和隐私是阻碍云计算在实践中广泛接受的主要挑战。与传统的计算模式不同的是,云计算需要将物理数据和机器的管理委托给云服务提供商,而用户只保留对虚拟机的一些控制。因此,由于缺乏对数据所有者的数据安全控制,数据存储和计算的正确性可能会受到损害。
4.另一方面,用于外包存储和作为外包计算输入的用户数据在很大程度上属于涉及用户隐私的敏感数据,但云服务器通常被假定工作在半可信或恶意安全模型下。前者是指云服务器在严格执行协议规程的前提下,试图通过与用户的交互最大限度地提取有关用户个人数据隐私与外包计算运算结果隐私的秘密信息;后者是指云服务器可通过任意破坏协议正确运行的行为来获取上述秘密信息。因此,用户端敏感数据必须在加密后存储在第三方云服务器中。如何保证用户数据的隐私性同时正确执行用户需要的计算是亟待解决且具有极大挑战的公开研究课题。然而,现有的关于云安全性的大多数工作都集中在存储安全性上,而不是将计算安全性一起考虑在内,并且大多数研究都基于公钥基础设施(pki),由于pki自身机制的复杂性,证书管理工作负担非常严重,包括证书的申请、发布、查询、使用、更新和废除,密钥管理工作也很复杂,包括密钥的产生、恢复、更新等一系列问题。


技术实现要素:

5.本发明针对基于公钥基础设施(pki)的云计算环境中存在的云服务器计算正确性验证问题和证书管理的复杂性问题,提出了一种云计算中基于身份的云服务器计算正确性验证方法。
6.为了达到上述目的,本发明的技术方案如下:一种基于身份的云服务器计算正确性验证方法,包括如下的步骤:
7.步骤s1:数据拥有者向私钥生成中心pkg发送其身份信息id以申请私钥,验证者向pkg申请公共参数params;
8.步骤s2:pkg服务器生成公共参数params、主私钥sk以及对应的用户私钥d
id

9.setup(1
λ
,l)

(params,sk)
10.extract(sk,id)

d
id
11.并通过安全信道发送d
id
至数据拥有者、发送params至验证者;
12.步骤s3:数据拥有者利用私钥d
id
和文件标签τ={0,1}
λ
对子空间的一组基向量的各分量m
i
进行签名σ
i

13.sign(d
id
,τ,m
i
)

σ
i
14.并将基向量各分量及其签名的二元组(m
i
,σ
i
)发送给验证者;其中λ是系统的安全参数,q是素数,z
q
表示有限域{0,1,

,q

1},n,l是自然数,m是一个l维的消息子空间,即该子空间中的待签名消息为m1,m2,

m
l

15.步骤s4:验证者基于公共参数params、身份id和文件标签τ对基向量各分量的签名σ
i
的的有效性进行验证;
16.verify(params,id,τ,m
i
,σ
i
)

b
17.若b=1,σ
i
是消息m
i
的有效签名;否则,m
i
无效;
18.步骤s5:数据拥有者基于线性函数f∈f生成其对应的密钥sk
f,τ

19.kgen(sk,τ,f)

sk
f,τ
20.随后将这些参数发送给验证者和云服务器;其中f是基向量的一组线性组合,f:f∈f是基向量所有可能的线性组合的集合;
21.步骤s6:云服务器基于线性函数f和密钥sk
f,τ
对基向量的签名进行线性同态运算,生成子空间m中其他消息的签名
[0022][0023]
并将线性运算结果发送给验证者;
[0024]
步骤s7:验证者基于公共参数params、身份id和文件标签τ对线性同态运算生成的签名的有效性进行验证:
[0025][0026]
若b=1,是的有效签名,则云服务器的计算结果是正确的,即云服务器完全按照数据拥有者的需求进行计算;否则,无效。
[0027]
技术方案的原理及效果:在本方案中数据拥有者可以将线性函数f和身份id委托给云服务器,并使其能够代表数据拥有者对线性运算结果进行签名,仅当在来自数据拥有者的数据上进行正确计算时,云服务器才能生成有效的签名,由此验证云服务器计算正确性,达到数据拥有者控制云服务器计算行为的目的。
[0028]
与现有技术相比,本方案的有益效果:
[0029]
本方案可应用于高安全性要求的云计算环境;本方案利用函数签名(functional signature,fs)实现云服务器计算正确性验证,利用基于身份的线性同态签名方案(identity

based linearly homomorphic signature,iblhs)避免了公钥证书管理等系列问题,减少了建立、管理pki系统的成本和验证计算成本。
附图说明
[0030]
图1是本发明一种基于身份的云服务器计算正确性验证方法的流程图。
具体实施方式
[0031]
下面通过具体实施方式对本发明作进一步详细的说明:
[0032]
实施例
[0033]
如附图1所示:一种基于身份的云服务器计算正确性验证方法,包括如下步骤:
[0034]
步骤s1:数据拥有者向私钥生成中心pkg发送其身份信息id以申请私钥,验证者向pkg申请公共参数params;
[0035]
步骤s2:pkg服务器生成公共参数params、主私钥sk以及对应的用户私钥d
id
,具体包括以下的子步骤:
[0036]
步骤s2.2:pkg服务器选择一个安全参数λ;
[0037]
步骤s2.3:pkg服务器生成基于身份的线性同态签名方案ibhs的私钥和参数:
[0038]
(x,p
pub
)

ibhs.hsetup(1
λ
,l)
[0039]
步骤s2.4:pkg服务器生成函数签名方案fs的私钥和验证密钥:
[0040]
(msk,mvk)

fs.setup(1
λ
)
[0041]
步骤s2.5:pkg服务器分别将ibhs方案和fs的私钥、公钥结合生成系统公共参数和主私钥:
[0042]
sk

(x,msk)
[0043]
params

(p
pub
,mvk)
[0044]
步骤s2.6:pkg服务器基于ibhs的密钥x和用户身份id生成ibhs方案的用户密钥:
[0045]
d
id

ibhs.hextract(x,id)
[0046]
步骤s2.7:pkg服务器通过安全信道发送d
id
至数据拥有者、发送params至验证者。
[0047]
步骤s3:数据拥有者利用私钥d
id
和文件标签τ={0,1}
λ
对子空间的一组基向量的各分量m
i
进行签名σ
i

[0048]
步骤s3.1:数据拥有者调用ibhs方案的签名算法对待上传至云服务器并进行计算的原始文件(消息)的一组基向量的的各分量进行签名:
[0049]
步骤s3.1.1:数据拥有者为待上传文件m设置一个文件名fname,并基于系统安全参数计算文件标签τ={0,1}
λ

[0050]
步骤s3.1.2:数据拥有者随机选取m的一组基向量调用ibhs方案的签名算法对基向量各分量进行签名:
[0051][0052]
步骤s3.2:数据拥有者将基向量各分量及其签名的二元组(m
i
,σ
i
)发送给验证者。
[0053]
步骤s4:验证者基于系统公共参数params、用户身份id和文件标签τ={0,1}
λ
对基向量各分量m
i
的签名σ
i
的有效性进行验证。
[0054]
步骤s4.1:验证者调用ibhs方案的验证算法对基向量的各分量m
i
的签名σ
i
的有效性进行验证:
[0055]
如果σ
i

sign(d
id
,τ,m
i
),即基向量的每个分量的签名都是由ibhs方案的签名算法生成的,那么
[0056]1←
ibhs.hverify(id,,m
i
,σ
i
)
[0057]
即各分量的签名有效,从而说明
[0058][0059]
是基向量的有效签名;
[0060]
否则
[0061][0062]
则签名无效,中止并输出0;
[0063]
步骤s5:数据拥有者基于线性函数f∈f生成其对应的密钥sk
f,τ

[0064]
步骤s5.1:数据拥有者调用fs方案的密钥生成算法:
[0065]
步骤s5.1.1:编码生成线性函数:
[0066]
g(
·
)=f(
·
)||τ
[0067]
即线性函数g表示线性函数f被文件标签τ标识后的函数。
[0068]
步骤s5.1.2:fs方案基于线性函数g生成其对应密钥:
[0069]
sk
f,τ

fs.kgen(msk,g)
[0070]
步骤s5.2:若步骤s4.1输出1,则数据拥有者将基向量及其分量、线性函数f及其对应密钥组成的四元组发送至云服务器。
[0071]
步骤s6:云服务器基于线性函数f和密钥sk
f,τ
对基向量的签名进行线性同态运算,生成子空间m中其他消息的签名
[0072]
步骤6.1:云服务器编码生成线性函数:
[0073]
g(
·
)=f(
·
)||τ
[0074]
步骤6.2:云服务器调用fs函数的签名算法生成基向量的一组线性组合同时基于sk
f,τ
对进行签名:
[0075][0076]
其中是由文件标签τ标识后的假设线性函数f的系数为{f1,f2,

,f
n
),则
[0077]
步骤6.3:云服务器调用ibhs函数的线性同态运算算法生成同态签名σ
h

[0078][0079]
步骤6.4:云服务器将生成的签名结合:
[0080][0081]
步骤6.5:云服务器将线性同态运算结果发送给验证者;
[0082]
步骤7:验证者基于公共参数params、身份id和文件标签τ对线性同态运算生成的签名的有效性进行验证:
[0083]
步骤7.1:验证者调用ibhs方案的验证算法对线性同态签名有效性进行验证:
[0084][0085]
若b=1,则σ
h
是的有效线性同态签名;否则,σ
h
无效;
[0086]
步骤7.2:验证者调用fs方案的验证算法对基于sk
f,τ
生成的签名有效性进行验证:
[0087][0088]
若b=1,则σ
g
是的有效签名;否则,σ
g
无效;
[0089]
步骤7.3:如果
[0090][0091]

[0092][0093]

[0094][0095]
即是的有效签名,从而说明云服务器的计算结果是正确的,即云服务器完全按照数据拥有者的需求进行计算;否则,签名无效。
[0096]
在本实施方式中,采用的是函数签名和基于身份的线性同态签名的通用方案,对于具体采用的函数签名方案和基于身份的线性同态签名方案,本实施例不作限定。
[0097]
以上的仅是本发明的实施例,方案中公知的具体结构和/或特性等常识在此未作过多描述。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1