节点文献

基于密文数据的可验证外包计算方案的设计与分析

Design and Analysis of Verifiable Outsourced Computation Scheme Based on Encrypted Data

【作者】 杨海宁;

【导师】 秦静;

【作者基本信息】 山东大学 , 基础数学, 2021, 博士

【摘要】 随着大数据时代的快速发展,各式各样的数据不断产生,数据成为了重要的战略资源。如何高效而精确地处理这些规模庞大、种类繁杂并且快速增长的数据是各个行业在激烈的竞争中抢占先机的关键因素。但是,很多经济实力薄弱的用户无力承担购买和维护数据处理设备的高额成本,因此,这些用户会因不具备处理复杂数据的计算能力而失去竞争优势。此外,在物联网、车联网以及可穿戴医疗设备等新兴技术中,终端设备为了做出精确的响应,需要对大量数据进行快速的分析。但是,为了保证便携性,这些设备通常都是轻量级的,不能提供充足的空间来配置存储和计算资源,它们很难通过自身的计算能力对大量的数据进行快速处理,这将成为制约这些技术朝着功能多样化方向进一步发展的重要因素。这些问题表明,复杂的计算任务对计算资源的需求与用户的有限计算能力之间的矛盾已成为一个重要问题。云计算技术的出现为解决这些问题提供了方法,只拥有有限计算能力的用户可以把复杂的计算任务委托给云服务器,然后借助其强大的计算能力完成这些计算,这种将复杂的计算任务委托给具有强大计算能力的一方的行为被称作外包计算。目前,外包计算主要有两种模式。在最初的外包计算中,用户把目标函数和要输入的数据同时发送给云服务器,而云服务器只需要执行相应的计算过程并把结果返回给用户,所以,只有用户的计算开销小于自己直接在本地计算该函数的开销时,这种类型的外包计算才有意义。否则,不仅会失去把计算外包给云服务器的必要性,而且用户依靠自身的计算能力仍然无法完成相关过程。而在基于外包数据库的外包计算中,用户可以首先把数据存储在云服务器中,然后把目标函数发送云服务器并利用之前存储的数据进行计算。该模式不仅可以减轻用户的计算负担,还可以减轻其存储负担。此外,基于外包数据库的外包计算还可以在数据共享情形中应用,这种情形中的数据使用者和拥有者可以是不同的用户,因此,它不仅可以减轻用户的存储和计算负担,还可以在用户之间实现数据共享。很明显,与第一种模型中的外包计算相比,基于外包数据库的外包计算更具有优势。虽然外包计算可以帮助用户借助云计算服务克服因存储和计算能力不足造成的困难,但是随之而来的安全问题也不容忽视。在外包计算中,计算结果包含着重要的信息,如果云服务器返回的计算结果是错误的,可能会对用户造成不可挽回的损失,这意味着在外包计算中首先需要保证云服务器向用户返回的计算结果是正确的。为了解决该问题,我们要求云服务器在返回计算结果的同时,也返回一个可以证明该结果是正确的证据,从而用户可以利用这个证据和自己保留的信息验证计算结果的正确性。除了计算结果的正确性之外,数据信息的泄露也是一个重要的安全问题。由于外包计算中的输入数据和计算结果会包含着一些敏感信息,保证它们的保密性可以防止泄露用户的私密信息,除此之外,还可以避免云服务器对输入数据和计算结果进行分析,降低它通过伪造一个证据欺骗用户接受错误结果的风险,所以保证输入数据和计算结果的保密性是很多方案的重要目标。值得注意的是,由于在数据共享情形中,使用者可能会不经许可而滥用拥有者的数据,进而导致外包数据的泄露。因此,除了保证外包数据和计算结果的保密性之外,防止存储在云服务器中的数据被滥用也成为了外包计算的重要要求。数据的保密性和可使用性一直是密码学领域的研究热点。在外包计算中,使用传统加密方法对输入数据进行加密虽然可以保证其保密性,但是也会影响其可使用性,因此,如何平衡数据的保密性和可使用性之间的关系是一个重要的问题。本文将围绕不同模式下外包计算的方案构造和数据信息的泄露问题,对基于密文数据的可验证外包计算进行研究,从而实现以加密数据为输入进行相关计算,主要工作如下所述。(1)具有选择性数据共享功能的可验证外包内积计算为使用内积函数加密方案构造基于外包数据库的高效可验证外包内积计算方案,我们首先研究了内积函数加密中主私钥信息和被加密向量的泄露问题,在内积函数加密中引入了标准一致性限制条件并提出了主私钥的隐藏性,从而提高了内积函数加密的安全要求,然后构造了一个符合新安全模型的内积函数加密方案。为加强可验证外包计算中数据的保密性,我们提出了具有选择性数据共享功能的可验证外包内积计算模型。不同于传统数据共享模式中直接把目标数据发送给使用者,在我们的模型中,为了避免使用者接触外包数据,减少数据泄露的机率,云服务器将利用目标数据得到的计算结果发送给用户,并且只有经过授权的使用者才能获得这个计算结果,因此,它不仅可以减轻使用者的存储和计算负担,还可以增强外包数据的保密性。我们利用本文给出的内积函数加密方案构造了一个具体方案,在该方案中,验证结果正确性的时间和存储开销均与向量的大小无关,并且可以保证私钥和计算结果的保密性。内积函数加密方案的CCA安全不仅可以保证外包数据的保密性,还可以将计算类型限制为内积计算,从而对外包数据实现双重控制,使得合法的数据使用者只能利用外包数据进行内积计算。这一部分工作与发表在期刊IEEE Transactions on Dependable and Se-cure Computing 上的文章《Privacy-Preserving Outsourced Inner Product Com-putation on Encrypted Database》相对应,将在第三章详细介绍。(2)具有数据和使用者认证性的可验证外包内积计算针对内积计算,我们利用内积函数加密方案构造了一个基于外包数据库的可验证外包计算方案,该方案适用于选择性数据共享情形,可以在一定范围内的使用者之间实现数据共享,并且可以对目标数据和使用者进行认证。为了实现目标数据的认证性,数据拥有者需要对标签-数据二元组(τi,xi)进行加密,从而将标签和外包数据进行绑定,然后将生成的密文存储在云服务器上。同时,每个使用者只需保存自己的私钥作为认证信息,并且该信息在拥有者更新外包数据的访问权限时不需要被更新。在进行计算时,半诚实的云服务器首先运行认证算法,确定目标数据,同时判断该用户是否允许使用目标数据,从而增强外包数据的保密性。由于认证过程是在执行计算之前进行的,未经授权的使用者的计算请求将会被拒绝,因此,云服务器可以减少因非法用户而产生的计算开销。此外,云服务器在定位目标数据时不会泄露数据标签和数据之间的对应关系。这一部分工作与发表在期刊Information Sciences上的文章《Verifiable In-ner Product Computation on Outsourced Database for Authenticated Multi-user Data Sharing》相对应,将在第四章详细介绍。(3)具有结果保密性的可验证外包计算针对布尔函数,我们利用基于属性的加密方案构造了一个具有结果保密性的可验证外包计算方案,该方案适用于多用户情形,并且具有整体运行效率高、公开可委托性以及公开可验证性等优势。此外,本文方案的验证方法是盲公开可验证,它将现有方案中的公开验证算法分为使用公开信息验证结果的正确性和使用恢复密钥获得计算结果两个独立的过程,其中恢复密钥是秘密信息,验证过程不会泄露计算结果,并且只有持有恢复密钥的用户才能获得计算结果,因此,与公开可验证性相比,盲公开可验证性可以满足更高的安全要求。该方案还满足只有通过一定数量的用户共同合作才能够获得计算结果,从而可以进一步加强计算结果的保密性。这一部分工作与发表在期刊Concurrency and Computation:Practice and Experience上的文章《An Improved Scheme for Outsourced Computa-tion with Attribute-based Encryption》相对应,将在第五章详细介绍。综上所述,本文对外包计算的模型、安全性和数据的保密性进行了系统研究,并构造了具体方案,对推广和使用云计算服务有重要的理论和实际意义。

【Abstract】 With the rapid development of the era of big data,all kinds of data is constantly produced,and data has become an important strategic resource.How to deal with these massive,complex,and rapidly growing data efficiently and accurately has become the key factor for each industry to seize the lead in the fierce competition.However,many clients with poor economic strength cannot pay for the high cost of purchasing and maintaining data processing equipment.As a result,these clients will lose the competitive edge for lack of the computational capability.In addition,technologies such as the Internet of Things(IOT),the Internet of Vehicles(IOV),and wearable medical devices are becoming more and more mature.To make accurate responses,terminal devices need to conduct the rapid analysis on a large amount of data.But for portability,these devices are often lightweight and unable to provide enough space for strong storage and computing power.As a result,these devices cannot process the data as desired by themselves,which will be an important factor for restricting the further development of these technologies in the direction of functionality diversification.It indicates that discrepancy between the demand on the computational resource of the complicated task and the constraint computational capability becomes an essential issue.The introduction of cloud computing provides a solution in such a way that the client with limited computational capability can delegate the complicated task to a cloud server.This action of accomplishing difficult computation with the help of one powerful entity is called as outsourced computation.The outsourced computation can be divided into two categories.Initially,the outsourced computation needs the client to send both input and function to the cloud server,and then the cloud server only performs the computation to return back the result.In this case,it makes sense that the client’s local time cost is less than that of directly performing the computation by himself/herself.Otherwise,it is meaningless to delegate the computation to the cloud server and the client still cannot perform the local computation whose time cost is almost identical to that of computing the outsourced function.In another model,the client can first store some data in the cloud server,and then it asks the cloud server to compute on the outsourced data.In this way,the client is relieved from not only the computational burden but also the storage burden.The outsourced computation in the data sharing setting is also an important case where the data owner and user can be different parties.The outsourced computation in this case is qualified to implement the data sharing functionality.For these facts,the outsourced computation based on outsourced database is better than the one introduced in the beginning of this paragraph.Although outsourced computation can help client overcome the difficulty caused by the poor capability with respect to storage and computation,it also suffers from some security concerns that should be considered.Since the result usually contains some important information.The client would suffer losses if the result is wrong.Hence,it is important to ensure the correctness of the result returned by cloud server.A solution is to require the cloud server to send back a proof that the returned result is correctly computed.By this solution,the client can efficiently check the correctness of the result by using the proof and his/her holding information.In the outsourced computation,the input and result may contain some sensitive information,the client’s private information can be prevented from being revealed if their confidentiality is guaranteed.Furthermore,the action that the cloud server analyzes the input and result and then forges a proof is also hindered by the confidentiality.This in turn reduces the risk that the client is deceived to accept a wrong result by the cloud server.Hence,to ensure the confidentiality of input and result is an important goal in many schemes.It should be taken into account that the data user may abuse the outsourced data beyond the owner’s permission,which will result in the data leakage.This implies that preventing the outsourced data from being abused is a new requirement in outsourced computation besides ensuring the confidentiality of the data and result.The confidentiality and usability of data has always been the hotspot in the cryptographic community.The confidentiality of the input data in outsourced computation can be ensured by using the traditional encryption,but the usability of the data can be affected.Therefore,how to balance the relationship between the confidentiality and usability of the data becomes an important issue.This thesis mainly researches on the verifiable outsourced computation based on the encrypted data in such a way that some kinds of computations can be performed on the encrypted data,where the concrete construction and data leakage issues for some practical cases are included.Specifically,(1)The verifiable outsourced inner product computation with the selective data sharing functionality.To propose an efficient verifiable outsourced inner product computation scheme from the inner product functional encryption scheme,we first focus on the issues regarding leakage of master secret key and encrypted vector.The security of inner product functional encryption is strengthened by introducing the requirements of standard consistency constraint condition and encrypted vector hiding.A construction under this stronger model is proposed for the inner product functional encryption.We then propose a verifiable outsourced computation model for the selective data sharing setting with the goal of enhancing the data confidentiality guarantee.This model is distinguished from the conventional data sharing model in the sense that the result is sent back to the data user instead of the outsourced data.And only the authorized data user can obtain the result from the returned result.The data user’s storage and computation burden can be relieved.Furthermore,the probability of data leakage is reduced because the outsourced data is not directly sent to the data user.Based on the proposed inner product functional encryption scheme,the scheme under this model is proposed whose verification time and storage overhead are independent of the vector size.In addition,the proposed scheme can ensure the confidentiality of the secret key and result.The CCA security of the underlying inner product functional encryption can restrict the computation on the outsourced data to be inner product besides ensuring the confidentiality of the outsourced data.It implies that the scheme implements double access control on the outsourced data so that the authorized data user can only compute the inner product by using the outsourced data.This part of work is related to the work Privacy-Preserving Outsourced Inner Product Computation on Encrypted Database that is published in the journal of IEEE Transactions on Dependable and Secure Computing,and the detailed description is given in Chapter 3.(2)The verifiable outsourced inner product computation with authentication for data and user.For the inner product computation,we use the inner product functional encryption as a building block to construct a verifiable outsourced computation scheme for the selective data sharing setting.The proposed scheme can be used to share the data among a specific set of users by authenticating the desired data and users.In order to achieve the authentication for outsourced data,the owner needs to build the binding relationship for the label τi and data xi.This is achieved by encrypting the tuple(τi,x2)before storing it in cloud server.For the user authentication,the user’s secret key is used as his/her authentication information that remain the same when the data owner updates the authorization information.Upon the cloud server receives the computing query from the user,the authentication process is conducted by the cloud server to locate the desired data and determine whether the user is authorized to access to the data.The data confidentiality can be ensured by preventing the unauthorized user from using the data.Since the unauthorized user will be rejected before performing the computation,the cloud server is free of the computation overhead induced by the unauthorized user.In addition,the relationship will not be revealed when the cloud server locates the desired data.This part of work is related to the work Verifiable Inner Product Computation on Outsourced Database for Authenticated Multi-user Data Sharing published in the journal of Information Sciences,and the detailed description is given in Chapter 4.(3)The verifiable outsourced computation with result confidentiality guarantee.We use the attribute-based encryption as a building block to construct an efficient verifiable computation scheme for Boolean function.The proposed scheme is efficient,achieving public delegation and public verifiability,etc.However,the blindly public verifiability can ensure the validity of the result is checked without revealing the value.The verification for the validity of the result and recovering the value from the returned result are independent processes in the proposed scheme.To obtain the value,it needs to use the retrieving key that is the secret information.As a result,the client holding the evaluation key is only allowed to learn the value,so that the value will not be revealed in the verification process.This implies that the blindly public verifiability is more advanced than the public verifiability.The result confidentiality guarantee in the proposed scheme is further enhanced in the sense that the value can be learned only if some clients cooperate on the retrieving the value.This part of work is related to the work An Improved Scheme for Out-sourced Computation with Attribute-based Encryption that is published in the journal of Concurrency and Computation:Practice and Experience,and the detailed description is given in Chapter 5.In conclusion,this thesis systematically studies on the system model,security and confidentiality in the outsourced computation,and the more practical schemes are proposed.This work is of important significance for the promotion and usability of the cloud computing service from theoretical and practical view.

  • 【网络出版投稿人】 山东大学
  • 【网络出版年期】2021年 12期
节点文献中: