欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    浅析基于可验证计算的可信云计算.docx

    • 资源ID:1482704       资源大小:21.31KB        全文页数:5页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    浅析基于可验证计算的可信云计算.docx

    1、浅析基于可验证计算的可信云计算浅析基于可验证计算的可信云计算 1 引 言 云计算作为一种新兴的网络计算商业服务模式,使得用户可以随时在远端的云服务器存储数据和运行程序.但这种新兴的计算模式在给用户带来诸多便利性的同时,也带来了一些新的安全挑战.用户可能担心云计算平台本身的安全性,比如云平台漏洞和错误配置、管理员的恶意行为等等,而这都可能直接导致用户数据的完整性和隐私性受到危害,导致用户应用程序无法正确执行.这就产生了一个问题:用户如何相信云提供商执行的程序结果是正确的?如何确保存储在远端的数据的完整性和私密性?检测远程服务器返回的结果是否正确的传统解决方案有以下几种: (1)采用审计的方法,即

    2、随机选取服务器执行的一小部分程序进行验证,这就可能发生错误执行的程序没有被服务器验证的情况,所以说这种方法必须假设错误执行的程序的发生频率是很小的; (2)利用可信硬件和远程证明来保证远程服务器运行的程序是正确的,但是这种方法必须假设云提供商是完全可信的,由于硬件基础设施是在云提供商的控制之下,如果云提供商内部人员恶意控制了可信硬件(如CPU、TPM),就无法保障云提供商运行的程序的机密性和可验证性.而且还需要假设存在一个可信链,而运行时可信链的建立在可信计算领域依然是一个难题.事实上,在实际的云计算应用场景中这两个假设通常是无法满足的.在云计算场景中,用户无法完全相信云提供商,即使用户出于声

    3、誉的考虑相信云提供商本身,也无法相信其内部管理人员; (3)采用冗余计算的方法,用户可以让多个远程服务器把相同的程序执行多次,然后检测他们返回的结果是否一致.但这在云计算中也是行不通的,云计算中的软硬件平台配置通常是相同的,而这违背了冗余计算中错误必须是不相关的假设,且远程服务器很容易窜通,合谋返回一个错误的程序执行结果. 而可证明数据持有(Provable Data Possession,PDP)方法和可恢复证明(Proof of Retrievability,POR)方法可以用来确保存储在远端的数据的完整性,避免云提供商删除和篡改数据.相比PDP方法,POR除了能确保数据的完整性之外,还能

    4、确保数据的可恢复性,但是PDP和POR无法确保在云提供商端执行的程序的正确性.另一方面,基于复杂性理论的交互式证明系统(Interactive Proof system,IPs)和概率可验证证明系统(Probabilistically Checkable Proof system,PCPs)以及密码学理论构造的可验证计算协议能以很高的正确率检测出远程服务器返回的程序执行结果是否正确并且不需要对远程服务器(云提供商)做任何假设.可验证计算协议致力于设计验证者与证明者之间的协议,协议允许在计算能力上相对较弱的验证者(如云计算中的用户)将其程序发送到一个计算能力强大的,但不可信的证明者(例如云提供商

    5、),并要求证明者执行其发送的程序.所设计的协议应确保证明者不但返回程序的执行结果给验证者,并且使得验证者相信这个程序执行结果是正确的.其主要目标是使得服务器在发送程序执行结果的同时提供程序正确执行的证据,而用户验证证据的过程必须要比用户自己执行程序的开销小(当然有时由于资源比如存储的限制,用户根本无法自己执行程序,在这种情况下是指和假设用户有足够的资源执行程序时的开销相比要小). 2 问题描述和协议设计原则问题描述:验证者V把程序f和输入变量x发送给证明者P,P计算f(x),并把f(x)赋值给变量y,返回y给V,然后V 和P 以如下方式进行交互: (1)如果y=f(x),那么P 应该能向V 证

    6、明y的正确性,即使得V 接受y.其中,证明可以通过回答V 提出的一些问题完成,也可以通过给V 提供一个证书完成. (2)如果yf(x),V 能以很高的概率拒绝接受y.可验证计算协议的设计必须满足3个基本原则:(1)协议应该使得验证者的开销比其在本地执行程序f(x)的开销要低,但可以允许证明者为达到协议的目标产生合理的开销,因为提供运行程序的正确性保障本身就需要用户付出一定的代价,在云计算实际场景中,表现为云提供商可能会对需要提供程序正确执行证据的用户收取额外的费用; (2)不能假设证明者完全遵守协议,也就是说证明者可能是恶意的,这和云计算中不能假设云提供商是完全可信的实际场景也是十分吻合的;

    7、(3)f 应该是通用程序,然而在具体的协议设计中,可能需要对f 表示的程序做一些假设,从而通过限制可验证计算协议适用的应用程序种类使得协议的性能达到实际应用场景的要求,但是可验证计算协议的设计原则依然是尽量能表示通用程序. 通常的安全保障工具比如说病毒检测关注的都是不正确的行为的识别和防范,可验证计算协议则有所不同,其不关心证明者可能的不正确行为,比如犯了什么错误,出现了什么故障等等,而只关心其执行程序的结果是否是正确的,却无法推测程序错误执行的原因.这和云计算中用户对于程序执行的要求也是相符的. 3 协议流程和关键 3.1 可验证计算协议流程 可验证计算协议的流程主要包括编译处理和证明系统,

    8、具体流程如图1所示.首先是编译处理阶段,验证者V 和证明者P 将高级语言(比如C 语言)编写的程序转换成一组布尔电路集(根据协议的不同,也可以是其他计算模型比如算术电路集或者约束集等).接下来,P 和V 进行一系列协议交互,不失一般性,这里用布尔电路集C表示程序f.V 把输入变量x传输给P,P 计算C,输出程序执行结果y和C正确执行的一组轨迹C,x,y给V,C,x,y也称为C的一个可满足性赋值z.其中,C正确执行的一组轨迹是指C的输入线路被赋值为x,输出线路被赋值为f(x)时,电路集中所有电路门的赋值集合.在程序执行的过程中,证明者P 获得了正确计算电路的执行轨迹C,x,y.如果P 声称的输出

    9、y是不正确的,即y不等于f(x),那么对于C,x,y,就不可能存在一个有效的执行轨迹(电路C正确计算的一个证明).因此,如果P 能够对C,x,y构建一个有效的执行轨迹,那么就一定能使得验证者V 相信它返回的结果是正确的.显然,电路正确计算过程中的各个门的赋值本身就能说明存在有效的执行轨迹.但是,如果需要V 依次验证所有电路门在计算电路过程中的值,进而确定程序是否正确执行,这个工作量和V 本地执行f 是相当的,这就违背了可验证计算协议设计的基本原则.所以,图中第步就需要证明者对程序执行轨迹编码,生成一个很长的字符串,并使得不同的执行轨迹生成的编码在所有不同的位置的取值是不相同的.这样,验证者就可

    10、以通过检查随机选择的编码的特定的位置的取值,来验证执行轨迹的有效性,进而对返回的结果采取特定的测试来确定证明者返回的结果是否正确. 3.2 可验证计算协议的理论依据 理解可验证计算协议的原理和流程关键在于理解两个等价关系,如3.1节所述,可验证计算协议的流程主要包括编译处理和证明系统.其中,编译处理阶段,编译器完成高级语言程序到电路集或者约束集(可以看做方程组)等计算模型的转化,其实现的理论依据在于等价关系:程序执行的正确性等价于电路集或者约束集可满足问题. 4 计算模型生成原理流程 为了应用IPs和PCPs理论构造可验证计算协议,必须先把高级语言程序转换成IPs和PCPs 判定器可以接受的计

    11、算模型,比如说电路集和约束集.Cook-Levin 理论表明这种转换理论上是可以的,因为任何程序f 都可以用图灵机来模拟,同时图灵机可以转换成布尔电路,且不会超过程序的步骤.目前可验证计算协议中编译器都是基于Fairplay和Benjamin 编译器设计的,常用的计算模型主要有电路集和约束集两种.Fairplay编译器和通常的硬件编译器不同,不能使用寄存器,没有时序逻辑,通过Fairplay Web 网站可以获取该编译器.Fairplay 可以用来把高级语言编写的程序编译成一组布尔电路集,但这种高级语言并不是通常所说的高级语言,而是一种类似Pascal或者C 语言的子集的程序语言,称为(安全函

    12、数定义)SFDL 语言.Benjamin 提出的编译器继承并改进了Fairplay 编译器,用于把高级语言表示的程序编译成一组约束集.这种编译器也引入了一种类似SFDL 的高级程序语言,称为扩展函数描述BFDL.不失一般性,本文以Benjamin 编译器为例说明从高级语言程序(C 语言为例)转化成约束集的原理和工作流程.BFDL 的语法很容易理解,很多地方都是从C和Pascal语言继承的.BFDL 语言使用C 风格的语法,是一种静态类型语言,支持类型引用:第一部分是类型声明,定义将要使用的数据类型、支持布尔型、整型、结构体和数组. 5 可验证计算协议分类 5.1 依据编译器复杂程度分类 由第3

    13、节所述,可验证计算协议主要流程包括编译处理和证明系统两个阶段,所以下文将依据协议流程对不同协议分类,并说明每种分类的特点和典型协议. 本文提到的协议中的编译处理都是直接使用Fairplay和Benjamin编译器或者对其改进后使用,生成证明系统可以接受的计算模型.依据可验证计算协议使用的编译器的复杂程度,可以分为简单编译器的可验证计算协议和复杂编译器的可验证计算协议.简单的编译器是指不支持内存随机存取的编译器,即不考虑内存概念,假设程序的输入都来源于验证者.简单编译器的可验证计算协议包括GKR、CMT、Thaler、Allspice、Pepper、Ginger、Zaatar和Pinocchio

    14、等,其中Pinocchio是第一个直接接受C语言程序的协议,而其他协议则需要先将C语言程序转化为另一种指定的高级语言比如BFDL语言,然后再转化成证明系统可以接受的计算模型.GKR使用算术电路作为计算模型,相比较之前协议使用的布尔电路减少了程序编译的开销.CMT、Thaler、Allspice、Pepper基本沿用了GKR 中的编译器,且Pepper对算术电路进行了简化,Ginger扩展了算术电路模型表示的程序种类,使得模型包含浮点数类型,不等测试,逻辑表达式,条件语句等等,因而使得模型能表示的程序更加接近于通用程序.Allspice编译器通过增加了一个静态分析器来自动确定并运行Zaatar或

    15、GKR两个协议中效率较高的一个,增加了协议的可扩展性. 复杂编译器的可验证计算协议包括Pantry和BCGTV.复杂的编译器支持内存操作,这更符合实际应用场景.Pantry中的编译器改进了Zaatar和Pinocchio使用的编译器,结合了不可信存储中使用的技术,使用Merkle-hash树来支持内存随机存取.通过构建一个二叉树来表示内存,二叉树的每个叶节点存储相应内存地址的值,每个内部节点存储作用于其子节点的抗冲突哈希函数的值.每当验证者通过(根节点值、内存地址)二元组访问一个内存地址(叶节点)时,证明者可以通过提供沿叶节点到根节点证明路径的所有值来证明其返回值是正确的.证明者欺骗验证者的唯

    16、一方法是通过找到哈希函数中的冲突.由于Pantry使用的抗冲突哈希函数的计算函数可以有效地表示成约束集,从而使得内存操作也可以有效的表示成约束集.如果把内存操作也看作普通的程序,就可以实现包含内存操作的程序的可验证计算了.更重要的是,Pantry支持远程输入,这使其能更好的支持MapReduce程序,且在MapReduce程序中为了降低开销定义了GetBlock和PutBlock两种元操作来代替构造Merklehash树6 基于交互式证明系统的可验证计算协议本文首先说明交互式证明系统是如何使验证者V确信它接收到的程序执行结果是正确的,.假设要执行的程序是计算输入为x 的函数f.首先,验证者在把输入x 和f传输给证明者,同时随机选取关于输入的低阶多项式扩展函数的值(比如加权和)作为秘密s,s不依赖于要执行的程序,因此无需在输入要执行的程序之前选取秘密s.接下来,P和V 进行一系列交互(d 轮,d 为电路层数),这些交互的


    注意事项

    本文(浅析基于可验证计算的可信云计算.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开