论文部分内容阅读
随着大数据时代海量数据的产生以及计算机产业的快速发展,云服务闯入了人们的生活中。它利用其强大的存储以及计算能力将分布式的各种被数字化后的数据信息汇总、处理并进行运算。这些数据往往来自移动物联网、互联网、传感器以及智能处理设备等等。云服务器的出现把不同地点的计算节点连接起来,将其变成一个拥有强大计算能力的服务平台。用户们可以把自己的数据外包给云服务器来进行委托计算,这不仅可以将用户从自我繁重的计算中解放出来,而且云服务器在数据量更大的情况下进行大数据计算的结果也更加精准有效。云计算服务目前作为一种商业化的服务模式,确实能为用户提供各种各样的个性化服务。但是,在云服务器为我们提供便捷服务的同时,它带来的隐私泄露问题也日趋严重。因为云计算服务的实质就是用户委托云服务提供商来执行本身无法解决或不愿意解决的问题。云服务器经过用户授权之后可以随时随地对直接触摸到用户的数据,这就会造成用户的隐私数据和敏感信息的泄露。目前,云外包计算主要存在以下几个问题:(1)用户隐私数据得不到保护。在一些计算服务中,用户上传的数据往往包含着用户的隐私,有时尽管云服务器会遵循服务协议完成计算,但是云服务器可能会通过合谋手段或者其他恶意手段利用中间结果或者最终结果来推测用户的隐私数据,这样势必会给用户的隐私造成威胁。(2)现存方案的整体效率过低。目前在多方外包计算隐私保护方案中使用较多的密码学手段为全同态加密。对通过该方式计算得到的加密结果进行解密后等于在用户明文数据上直接计算得到的结果,但是这样需要大量的时间消耗。(3)云服务器计算结果的正确性得不到有效验证。当云服务器以恶意的参与方出现时,它会不按照协议流程执行甚至破坏协议,那么此时云服务器就有可能给出错误的计算结果。而目前很多提出的方案是无法解决验证计算结果是否正确。(4)安全外包计算隐私保护方案只适用于单个用户请求云服务器进行外包计算的场景,而不适用于分布式的多用户场景。大数据基本上都是以分布式的形式存在于不同的数据提供者手中的,云服务器也正是要处理计算这些分布式的数据。但是目前大多数方案仍不能很好解决多方外包计算带来隐私泄露的问题。因此当前多方外包计算隐私保护研究急需要解决的问题便是针对用户需要进行的计算选择相应的加密手段、构建相应的验证协议、设计相应的多方外包计算隐私保护方案。这样就能实现保护用户隐私数据及敏感信息的安全,同时也能确保云服务器按照协议执行目标计算,为用户提供正确的计算结果。本文根据目前机器学习中已有的各种重要的数学计算的安全外包方案的研究现状进行深入的分析,对现有的安全外包计算隐私保护方案中所存在的问题与不足之处进行了归纳与总结。本文目标将单方外包计算隐私保护研究扩展到多方外包计算隐私保护研究,以梯度下降优化算法、矩阵的乘法以及矩阵的非负分解三种数学计算为着力点,重点研究了以下几个方面的内容:(1)多方外包梯度下降隐私保护方案的设计与分析。在当前安全外包梯度下降隐私保护研究中,用户在借助云服务器进行机器学习训练样本时,预测模型是被云服务器所拥有的。但是在现实生活中,预测模型往往是单独归拥有模型的用户而不是被存放在云服务器中。同时现有的方案都无法适用于全部的梯度下降方法。因此,本文针对以上存在的缺陷,利用了El Gamal加密算法以及Gentry提出的Evaluation电路改进了现有的多方外包梯度下降隐私保护方案,提出了一个新的方案。该方案实现了训练模型由模型拥有者拥有而不是云服务器,其次训练数据集是由多个数据拥有者的样本共同组成的集合。数据集的划分方式既可以是水平的也可以是垂直的。同时模型拥有者可以利用自己想要的任何一种梯度下降法来优化训练模型,这在之前已有的方案中都是做不到的。通过正确性以及隐私保护性分析证明可以得出本文构建的多方外包梯度下降隐私保护方案不仅可以在整个训练过程中保护数据拥有者的数据隐私以及模型拥有者的训练模型隐私,同时该方案还可以适用于全部的梯度下降算法。这就大大降低了多方外包梯度下降隐私保护方案的场景特殊性,提高了其适用性与普遍性。(2)多方外包矩阵乘法隐私保护方案的设计与分析。在当前安全外包矩阵乘法隐私保护研究中,都是单个用户将自己想要相乘的两个矩阵进行预处理之后发送给云服务器。然后由云服务器代替用户执行两个矩阵相乘的计算,最后将加密的计算结果返回给用户,用户解密计算结果后可以得到最终想要的结果。但是如今用户在借助云服务器进行机器学习时,云服务器经常要计算多个矩阵的乘积。而这些矩阵通常都是来自不同的用户。现有的安全外包隐私保护方案既不能解决多个矩阵乘法的问题也不能解决多个用户存在的问题。因此,针对以上存在的不足之处,本文利用克罗内克函数构建了一个全新的多方外包矩阵乘法隐私保护方案,改进了现有的安全外包矩阵乘法隐私保护方案。本文提出的方案不仅实现了云服务器计算来自不同用户的矩阵的乘积,而且云服务器的计算结果的正确性可以被验证服务器验证。本文对此做出了详细的理论性证明,得出如果云服务器的计算结果有误或者恶意地不按照流程执行协议,那么云服务器的计算结果总是会以不可忽视的概率无法通过验证服务器的验证。因此,本文提出的多方外包矩阵乘法隐私保护方案在加强方案适用性的同时保证了云服务器计算结果的可验证性。(3)多方外包矩阵分解隐私保护方案的设计与分析。在当前安全外包矩阵分解隐私保护研究中,大多数解决的都是相同的场景:即单个用户将自己想要进行分解的矩阵进行预处理之后发送给云服务器进行委托计算。云服务器计算完后将加密的结果返回给用户,用户解密后可以得到自己想要的结果。但是,在机器学习特别是推荐系统中,云服务器分解的用户评分矩阵通常是一个维数很大的矩阵,而且矩阵大多数是由多个不同的数据提供者的样本共同构成的。矩阵的划分方式既可以是水平的也可以是垂直的。目前,唯一一个可以解决该场景的多方外包矩阵分解隐私保护方案则是利用了全同态加密的技术,但这导致了很高的复杂度,而且云服务器的计算结果还不能得到有效的验证。针对这一场景以及现有方案中存在的问题,本文利用克罗内克函数提出了一个新的多方外包矩阵分解隐私保护方案。该方案不仅能够适用多用户矩阵外包分解的场景,而且避免使用了全同态加密技术,同时验证服务器还可以验证云服务器计算结果的正确性。根据方案的正确性、隐私保护性证明以及模拟实验的评估结果,我们可以得出本文提出的方案不仅保证了正确性,用户数据的隐私保护性,而且还具有高效性。