论文部分内容阅读
随着大数据时代的快速发展,各式各样的数据不断产生,数据成为了重要的战略资源。如何高效而精确地处理这些规模庞大、种类繁杂并且快速增长的数据是各个行业在激烈的竞争中抢占先机的关键因素。但是,很多经济实力薄弱的用户无力承担购买和维护数据处理设备的高额成本,因此,这些用户会因不具备处理复杂数据的计算能力而失去竞争优势。此外,在物联网、车联网以及可穿戴医疗设备等新兴技术中,终端设备为了做出精确的响应,需要对大量数据进行快速的分析。但是,为了保证便携性,这些设备通常都是轻量级的,不能提供充足的空间来配置存储和计算资源,它们很难通过自身的计算能力对大量的数据进行快速处理,这将成为制约这些技术朝着功能多样化方向进一步发展的重要因素。这些问题表明,复杂的计算任务对计算资源的需求与用户的有限计算能力之间的矛盾已成为一个重要问题。云计算技术的出现为解决这些问题提供了方法,只拥有有限计算能力的用户可以把复杂的计算任务委托给云服务器,然后借助其强大的计算能力完成这些计算,这种将复杂的计算任务委托给具有强大计算能力的一方的行为被称作外包计算。目前,外包计算主要有两种模式。在最初的外包计算中,用户把目标函数和要输入的数据同时发送给云服务器,而云服务器只需要执行相应的计算过程并把结果返回给用户,所以,只有用户的计算开销小于自己直接在本地计算该函数的开销时,这种类型的外包计算才有意义。否则,不仅会失去把计算外包给云服务器的必要性,而且用户依靠自身的计算能力仍然无法完成相关过程。而在基于外包数据库的外包计算中,用户可以首先把数据存储在云服务器中,然后把目标函数发送云服务器并利用之前存储的数据进行计算。该模式不仅可以减轻用户的计算负担,还可以减轻其存储负担。此外,基于外包数据库的外包计算还可以在数据共享情形中应用,这种情形中的数据使用者和拥有者可以是不同的用户,因此,它不仅可以减轻用户的存储和计算负担,还可以在用户之间实现数据共享。很明显,与第一种模型中的外包计算相比,基于外包数据库的外包计算更具有优势。虽然外包计算可以帮助用户借助云计算服务克服因存储和计算能力不足造成的困难,但是随之而来的安全问题也不容忽视。在外包计算中,计算结果包含着重要的信息,如果云服务器返回的计算结果是错误的,可能会对用户造成不可挽回的损失,这意味着在外包计算中首先需要保证云服务器向用户返回的计算结果是正确的。为了解决该问题,我们要求云服务器在返回计算结果的同时,也返回一个可以证明该结果是正确的证据,从而用户可以利用这个证据和自己保留的信息验证计算结果的正确性。除了计算结果的正确性之外,数据信息的泄露也是一个重要的安全问题。由于外包计算中的输入数据和计算结果会包含着一些敏感信息,保证它们的保密性可以防止泄露用户的私密信息,除此之外,还可以避免云服务器对输入数据和计算结果进行分析,降低它通过伪造一个证据欺骗用户接受错误结果的风险,所以保证输入数据和计算结果的保密性是很多方案的重要目标。值得注意的是,由于在数据共享情形中,使用者可能会不经许可而滥用拥有者的数据,进而导致外包数据的泄露。因此,除了保证外包数据和计算结果的保密性之外,防止存储在云服务器中的数据被滥用也成为了外包计算的重要要求。数据的保密性和可使用性一直是密码学领域的研究热点。在外包计算中,使用传统加密方法对输入数据进行加密虽然可以保证其保密性,但是也会影响其可使用性,因此,如何平衡数据的保密性和可使用性之间的关系是一个重要的问题。本文将围绕不同模式下外包计算的方案构造和数据信息的泄露问题,对基于密文数据的可验证外包计算进行研究,从而实现以加密数据为输入进行相关计算,主要工作如下所述。(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》相对应,将在第五章详细介绍。综上所述,本文对外包计算的模型、安全性和数据的保密性进行了系统研究,并构造了具体方案,对推广和使用云计算服务有重要的理论和实际意义。