论文部分内容阅读
SaaS多租户应用模式下,租户通过租赁方式使用软件,租户的数据放置在服务商一端,服务商统一进行软件的维护、运行管理及升级工作,并同时服务于数量众多的软件租户,整体上节约资源、提高软件运行服务质量,因此这种模式具有广阔的发展前景。在多租户应用服务模式下,租户的数据存储在非完全可信的服务运营商一方、甚至是虚拟的云上,租户敏感信息面临极大的泄露风险,事实上这也成为了SaaS应用模式进一步发展的重要障碍之一。租户数据隐私保护问题成为了迫切需要解决的问题。目前,针对数据隐私保护研究主要分为数据加密、数据混淆和数据分解几种方法,本文研究通过数据加密方式进行多租户应用的隐私保护机制。多租户应用具有按需定制、共享存储、单实例多租赁的特征,通过数据加密进行隐私保护存在的主要问题和挑战为:(1)不同租户、不同敏感信息相应的隐私保护需求不同,针对租户敏感信息的保护应能适应不同租户的个性化需求。(2)多租户数据管理系统为应用程序提供了数据的独立性和方便的数据操纵能力,数据加密后需保持这种特性,避免因隐私保护给应用的开发带来过多的负担。(3)数据的加密往往会损失数据的原有顺序特征,造成传统的索引机制不能直接应用,导致效率的下降,需要研究数据加密的情况下的新的机制来确保效率。本文以数据加密机制解决多租户应用隐私保护问题为目标,具体从个性化隐私保护需求支持、数据加密后的高效查询机制、支持基于密文进行基本运算的机制等几个方面进行了探讨。本文主要贡献如下:(1)针对多租户应用中隐私保护个性化支持的需求,提出了一种基于可信应用系统的数据加密隐私保护机制,支持个性化隐私保护策略管理,满足多租户个性化隐私保护需求。本文提出一种基于可信应用系统的数据加密保护框架,通过支持隐私保护定制服务、适合多租户应用的密钥管理及分发协议、以及数据加解密引擎、加密条件下SQL重写等机制等实现在保护数据隐私的情况下对个性化需求的支持。通过分析证明了其中协议的安全性和合理性,并通过实验验证了该机制的实用性。(2)针对目前加密机制对信息加密后,范围查询效率急剧降低的问题,提出了一种可以平衡效率与安全程度的加密机制,机制支持应用中对不同租户、不同敏感数据提供不同级别的服务。目前传统加密机制安全强度高,但加密后会损失原有数据顺序信息,范围查询等操作效率急剧下降。本文提出了一种部分保序加密机制,机制支持效率和安全保护程度的平衡。给出了机制的一般定义以及机制的实例,通过分析,证明了机制一方面安全程度是可证明的,支持根据不同保护需求实现个性化保护。本文针对一个具体实例进行实验,验证了机制实用性。(3)针对数据加密后,损失对基本运算的直接支持,提出并实现了一种数据密文多份存储的机制,机制采用多种加密方法共同支持基于密文的基本运算,增强了基于密文进行基本运算能力。目前针对数据库加密方法和机制多数只支持部分运算,全同态加密可直接基于密文进行算术运算,但目前相应的算法尚处于理论阶段,不能实用。本文提出通过对数据操作类型分类进行数据对应的密文多份存储的机制,并通过类型与加密方法的映射实现对基于密文基本运算的支持。机制基于在实际应用中数据的写操作频率远低于数据读操作频率这一事实,通过数据写时自动存储多份密文,而访问时根据操作类型进行选择不同的密文直接操作,通过访问时减少解密次数提高综合访问效率。文中给出了相应分析以及相应实验验证结果,密文多份存储机制增强了现有加密算法在数据库加密方面的实用性。