一种云计算环境下双线性对的安全外包的方法

文档序号:7866697阅读:383来源:国知局
专利名称:一种云计算环境下双线性对的安全外包的方法
技术领域
本发明属于云计算技术领域,尤其涉及云计算环境下双线性对的安全外包的方法。
背景技术
随着云服务在可用性方面的快速发展,如何将代价过高的计算安全外包给不可信服务器的技术越来越受到科学界的高度关注。在外包计算模式中,对于资源受限的设备,它可以以按次付费方式享受无限的计算资源,这样就可以大量地节约在硬件/软件部署和维护方面的资本支出。
尽管外包计算会带来巨大的好处,但是它也不可避免地引入了一些新的安全问题和挑战。首先,计算任务通常包含一些敏感信息,这是不应该暴露给不可信的云服务器的。因此,第一个安全挑战是保密的外包计算云服务器不应该了解它实际上是在计算什么(包括输入和输出的隐私性)。我们认为加密只能提供对这个问题的部分解决方案,因为服务器在加密的数据上很难执行有意义的计算。注意,完全同态加密可能是一个潜在的解决方案,但现有的方案还不实用。其次,不完全可信的云服务器可能会作弊,可能会返回一个无效的结果。例如,服务器可能包含一个软件漏洞,可能根本无法完成一个常数次数的调用。此外,可能由于经济报酬上的激励不足,服务器会减少计算量,然后返回一个计算上不可区分的(无效)的结果。因此,第二个安全挑战是外包计算的可检查性外包商应该有能力发现云服务器的作弊行为,如果云服务器作弊,外包商会立即发现错误。通常,检测程序应该不需要执行其它复杂的计算,因为很多计算能力有限的设备,如RFID标签或者智能卡等都无力执行这种检测。至少,检测过程必须比完成计算任务本身更为有效(回忆外包计算的动机和目的),否则外包就没什么意义了。在过去的十年中,双线性对尤其是代数曲线上的Weil对和Tate对,已经形成了密码学的一些全新的领域,使得密码学可以在此基础上实现之前未知的或不切实际的加密原语。通常,基于对运算的密码协议的实现依赖于对运算的计算速度,为此也有大量的工作来研究如何有效地实现此工作。在嵌入式设备如RFID标签或智能卡上双线性对的运算的代价一直被认为是过分高昂的(注意,我们甚至假设模指数运算在这样的设备上都太昂贵而无法进行)。Chevallier-Mames等人发布了第一个基于一个不可信的服务器模型的椭圆曲线上对运算的安全外包方法。如果服务器有作弊行为,外包商可以以100 %的概率检测到该错误。然而,该方法的一个明显缺点是外包商需要执行其它的一些代价高昂的计算,如标量乘法和指数运算。更准确地说,一方面,我们认为这些代价高昂的计算因为太多的资源消耗是无法在计算能力有限的设备上完成的。另一方面,计算标量乘法在一些的场景下与计算对运算的代价是相当的,这与外包计算的动机和目的是矛盾的。因此,在这个意义下,该方法在真实世界的应用中是完全没有意义的。据我们所知,后来的所有的在双线性对的授权外包方面都遭遇到了同样的问题。

发明内容
本方案提出了云计算环境下双线性对的安全外包的方法,是一种在两个不可信,不勾结服务器(允许其中一个是恶意的)模型下的安全有效的双线性对外包方法,通过调用提高计算速度的子例程Rand,外包用户T将它的双线性对运算外包给计算服务器,敌手无法知道外包算法Pair的输入和输出的任何有用信息。外包商不需要再执行代价过高的计算SM (群G1或者G2上的标量乘法运算)和Exp (群Gt上的指数运算)运算。本发明实施例是这样实现的,云计算环境下双线性对的安全外包的方法,该方法包括以下步骤1、调用Rand生成一个六元组。2、逻辑拆分,利用六元组中的一些元素将e(A,B)变换为计算其余的四部分。3、调用Rand来生成两个新的六元组。 4、对计算服务器的询问,服务器计算出双线性对结果,求出了其余的四部分,其余的作为测试数据;5、T检测U1和U2的输出结果是否正确,T再次分别向U1, U2询问e (X1X1, X2X2)和eGA,,并计算出结果。第一步,T调用Rand生成一个六元组。为了用U1和U2来实现Pair (双线性对的外包方法),T首先要调用Rand来生成一个六元组(V1, V2, V1V1, V2V1, v2V2, e (V1V1, V2V2))。记λ = e (V1V1, V2V2)。Pair的核心技巧是将A, B拆分成看似随机的、可以被U1和U2计算的数。A和B是保密的,U1和U2无法计算出A和B。第二步,逻辑拆分。利用六元组中的一些元素将计算e(A,B)变换为计算其余的四部分。第一个逻辑拆分Ia1 = e (A+vJi, B+v2V2);第二个逻辑拆分a2= e (A+V1; V2V2);第三个逻辑拆分a3 = e (V1V1, B+V2);注意到a j = e (A+vJp B+v2V2) = e (A, B) e (A, V2V2) e (V1V1, B) e (V1V1, V2V2);a 2 = e (A+Vp V2V2) = e (A, V2V2) e (V1, V2V2);a 3 = e (V1V1, B+V2) = e (V1V1, B) e (V1V1, V2);因此e(A, B) = a j a a f1 λ、(V1, V2)vl+v2 ;第三步,调用Rand,生成两个新的六元组。T调用Rand来生成两个新的六元组。(X1, X2J XiXi 7 X2X1, e (xA,叉2父2))和(Yl, , y 5^2^1 ^2丫2,e (Υ Υ!2^2))。第四步,对计算服务器的询问。服务器计算出双线性对结果,求出了其余的四部分,其余的作为测试数据。T以任意次序对U1进行如下询问U1 {K+n1N1, B+v2V2) — e (A+vA, B+v2V2) = α1;U1 (V1Vv2V1,V2) — e (V1,V2)vl+v2 ;U1 (X1X1, X2X2) — e (X1X1, X2X2);U1 (J1Y1, J2Y2) Bij1Y1, J2Y2);
T以任意次序对U2进行如下询问U2 (A+V-!, V2V2) — e ^+Y1, V2V2) = α 2 ;U2 (V1V1, B+V2) — e (V1V1, B+V2) = α 3 ;U2 (X1X1, X2X2) — e (X1X1, X2X2);UJy1Y1, J2Y2) e Cy1Y1, J2Y2);第五步,T检测U1和U2的输出结果是否正确,T再次分别向U1;U2询问e (X1X1, X2X2)和My1Y1, y2Y2),并根据服务器的响应结果给出计算结果。 如果其中有一个输出结果与之前对应输出结果不等,即出现错误,说明服务器存在作弊行为,T终止询问,输出“error” ;如果输出结果与之前对应输出结果相等,T计算e(A,B) = α a X^eiY1,
V2)vl+v2。性能比较下表给出了 Pair与Chevallier-Mames等人提出的方法的效率比较,这里忽略模
加运算的代价。
权利要求
1.一种云计算环境下双线性对的安全外包的方法,其特征在于该方法包括以下步骤 第一步调用Rand生成一个六元组。
第二步逻辑拆分,利用六元组中的一些元素将e(A,B)逻辑拆分为五部分,其中一部分在生成的六元组中,只需计算另外的四部分。
第三步调用Rand来生成两个新的六元组。
第四步对计算服务器UJPU2的询问,服务器计算出双线性对结果,求出了其余的四部分,其余的作为测试数据; 第五步T检测U1和U2的输出结果是否正确,T再次分别向U1, U2询问e (X1X1, X2X2)和e (Y1Y1, J2Y2),并给出计算结果。
2.如权利要求1所述的云计算环境下双线性对的安全外包的方法,其特征在于调用Rand生成一个六元组。为了用U1和U2来实现Pair (双线性对的外包方法),T首先要调用Rand 来生成一个六元组(V1J2, V1V1J2V1, V2VyeO1V1, V2V2))。记 λ =G(V1V1J2V2)0 Pair的核心技巧是将A,B拆分成看似随机的、可以被U1和U2计算的数。A和B是保密的,且U1和U2无法通过其他方法计算出A和B。
3.如权利要求1所述的云计算环境下双线性对的安全外包的方法,其特征在于逻辑拆分,利用六元组中的一些元素将e(A,B)逻辑拆分为五部分αι、α2-\ a 3' A-\e(V1; V2)vl+v2,其中一部分在生成的六元组中,只需计算另外的四部分CipCi2^a3'λ'具体描述如下 第一个逻辑拆分a I = e(A+v1V1, B+v2V2); 第二个逻辑拆分α 2 = e (A+V1; V2V2); 第三个逻辑拆分a 3 = e (V1V1, B+V2); 注意到 a ! = e (A+vJi, B+v2V2) = e (A, B) e (A, V2V2) e (V1V1, B) e (V1V1, V2V2); a a = e (A+V1; V2V2) = e (A, V2V2) e (V1, V2V2); a 3 = e (V1V1, B+V2) = e (V1V1, B) e (V1V1, V2); 因此e(A, B) = a 工 a f1 a f1 λ-1e (V1, V2)vl+v2。
4.如权利要求1所述的云计算环境下双线性对的安全外包的方法,其特征在于对计算服务器U1和U2的询问,服务器计算出双线性对结果,求出了其余的四部分,其余的作为测试数据。
T以任意次序对U1进行如下询问U1 (A+v^!, B+v2V2) — e (A+v^!, B+v2V2) = a j ;U1(V1Vv2V1J2) - e(V1; V2)vl+v2 ; Ui (XiXi,X2X2) ~^ e (X1X1,X2X2);Ui (yJn y2Y2) ^eG1Y1J2Y2); T以任意次序对U2进行如下询问 U2 (A+V1; V2V2) — e (A+V1; V2V2) = a 2 ;U2 (V1V1, B+V2) — e (V1V1, B+V2) = a3; U2 (x^X^,X2X2) ~^ e (x^X^,X2X2); U2 (Y1Y1, y2Y2) — e (Y1Y1, y2Y2)。
5.如权利要求1所述的云计算环境下双线性对的安全外包的方法,其特征在于T检测U1和U2的输出结果是否正确,T再次分别向U1,U2询问e (X1X1,X2X2)和e G1Y1,y2Y2),并根据响应结果给出计算结果。
如果其中有一个输出结果与之前询问时对应的输出结果不等,即出现错误,说明服务器存在作弊行为,T终止询问,输出“eiror” ; 如果输出结果与之前询问时对应的输出结果相等,T计算e(A,B)=a j α 2_1 α , λ -1e (V1, V2)vl+v2。
全文摘要
本发明公开了一种云计算环境下双线性对的安全外包的方法,需要进行外包计算的用户T首先调用提高计算速度的子程序Rand生成一个六元组,利用六元组中的一些元素将e(A,B)逻辑拆分为五部分,接着调用Rand来生成两个新的六元组,紧接着对计算服务器U1,U2进行8次询问,服务器计算出双线性对结果,其中的四部分作为中间的计算结果,另外的四部分作为测试数据。最后T检测U1和U2的输出结果是否正确,根据服务器的响应,T计算出结果。该方法可适用于资源受限的设备。它的计算效率更高,运算的次数少,外包商T不需要再执行代价过高的计算SM和Exp运算。此外,利用该方法作为子例程可以实现Boneh-Franklin基于身份的加密方案和Cha-Cheon基于身份的签名方案的安全外包。
文档编号H04L29/06GK103024006SQ20121050784
公开日2013年4月3日 申请日期2012年11月23日 优先权日2012年11月23日
发明者陈晓峰, 王星, 尤沛, 李进, 朱辉 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1