在线客服

咨询热线

公共云计算环境下用户隐私保护方案

作者: 朱琦

  摘要:云计算是以网络服务的形式将计算机资源提供给用户,而基于网络的服务存在用户数据在网络上的隐私安全问题。用户数据的隐私问题成为了云计算快速发展所面对的一个巨大挑战。为了解决这一问题,本文提出了两个解决方案。第一是针对云端的数据安全和控制问题,探讨了Dissolver系统,Dissolver可以确保用户的隐私数据在云端的安全性;第二是针对对云服务器硬件的直接物理攻击,引入了Diamond技术,使得用户数据的隐私性得以保证。
  关键词:云计算;隐私保护;数据安全;保护方案
  中图分类号:TP393 文献标识码:A 文章编号:1007-9599 (2012) 18-0000-02
  1 基于云服务器端的数据保护与销毁
  1.1 云服务器端可信性分析
  云服务器端包括用户层,操作系统层,虚拟机监控器层和硬件层四层。
  首先,因为云计算的提供商整体上来说是善意的,所以我们假定与计算的硬件是可信的,并假设服务器中安装了可信平台模块(TPM)。
  其次,我们假定虚拟机监控器是可以信任的,因为虚拟机监控器相对来说是容易的、静态的。
  第三,因为Windows等操作系统本身非常繁杂,所以难免会有不少漏洞。而操作系统很重要,一旦被入侵,用户的数据信息就不再安全。因此,本文需要保证操作系统在被入侵的情况下仍为用户提供保护以保证用户数据的安全。
  第四,我们假定存在中间人攻击的可能。因为在云端与用户的通信通道中,中间人攻击会在通信信道上同时与服务器端、用户端取得联系,通过伪装成用户来与服务器端建立连接进行交互,伪装成服务器端来与用户建立连接进行交互,这样就可以获取服务器和用户交互的数据。
  通过以上对云服务器端各部分的分析,我们明确:在云服务器端,用户数据在经过一些不可信部分的时候,会遭受攻击,我们需要建立一个安全机制来进行保护。
  1.2 Dissolver系统的设计
  Dissolver系统包含一个受保护进程,即只有处于受保护进程的用户,才执行系统的新增模块。
  Dissolver系统还包含一个密钥管理模块,用户在进行上传数据前要先用Dissolver进行加密,被加密了的数据上传至云存储服务器后,云系统会对其进行备份,防止容灾等情况,这样被加密了的用户数据即使被恶意的员工非法拷贝走也没有威胁。
  Dissolver中数据销毁有两种方式,一是用户发出销毁指定,二是数据到了用户指定的时限,系统便会将公钥、密钥、可执行文件进行销毁。因此系统还包括一个计时模块。
  Dissolver系统的总结构(图1):
  (1)Dissolver接口。Dissolver接口负责解释分析用户的指示命令,并且可以和用户进行交流互动,也可以对伪装成用户指令的攻击进行预防和防护。接口支持新程序注册、新用户注册、延长数据生命时限、程序运行、销毁指定数据、销毁全部数据六种用户命令。
  由于数据生命到达时限前用户可以主动销毁数据,因此存在重放攻击和DOS攻击,对于重放攻击,除新用户注册命令外的5条命令都含有一个命令版本号,用户发出的命令包中命令字号存在先后顺序,当Dissolver收到命令后,会先对命令中的命令版本号和上一个收到的命令版本号进行对比,如果比原来的小,它会拒绝对这一命令响应,这样就可以防止重放攻击。对于DOS攻击,由于它位于用户端与虚拟监视器之间的通信线路上,Dissolver无法阻拦这种攻击。但是前面我们说过程序使用的是生命时限机制,假如DOS攻击在通信线路上拦截了用户数据,用户的后续命令包就不能发送到虚拟监视器,到达程序的生命时限后,Dissolver会强行切断用户端与虚拟机之间的通信,销毁数据文件和密钥,以保证用户数据不被泄露。
  (2)密钥模块。用户注册新程序时,程序的公钥会被Dissolver系统存储到密钥管理模块,程序运行时,密钥管理模块会将其尾部的对称密钥解密。对称密钥和程序公钥都存储在虚拟机监控器的内存上。如果没有恶意篡改上层服务软件,Dissolver会执行删除数据操作,即使上层软件留下一些用户数据的密文拷贝,但是这些数据的密钥已经被销毁[3]因此不会给用户造成隐私泄露。
  (3)生命时限计时模块。生命时限计时模块是用来计算用户数据的剩余生命时限的,当一个处于受保护进程下的用户进程运行时,计时模块开始记录时间,到达时限后会终止与用户的数据传输,删除密钥和数据。如果是未处于保护进程下的普通程序运行时,不启用生命时限计时模块。
  2 基于CPU的隐私数据保护
  云计算中,对硬件进行攻击是一个很大的威胁,因为这种攻击可以直接访问内存中的用户数据,所有逻辑上的软件保护都无法阻止。
  基于此,我们需要对硬件增强安全性,以保护用户隐私数据的安全。在所有的硬件中,由于CPU是最复杂的,因此CPU的可信度最高,本文探讨引入Diamond技术来增强CPU的安全功能,对硬件的直接物理攻击进行防范。
  首先,我们认为数据加密是安全可信的。CPU可以对用户的数据动态生成加密密钥,然后将密钥通过安全通道发给用户,攻击者无法得知。
  其次,我们假设复杂程度高的CPU在攻击者进行攻击时可以保证其完整性。
  第三,我们认为只有CPU的存储部分可信,其余都是不可信的。
  基于上述三个假设,本文利用Diamond技术通过增加安全性模块来加强CPU的安全性。图2是完善改进后的结构。
  图中的阴影模块是我们为CPU新增的安全功能模块,RSA平台私钥拟定于CPU芯片上,出厂前就生成,大小为2048比特,主要是用于签名和解密。页面主表主要用来存放页属主信息,包含2048项,初始值为0,不属于任何的虚拟机。会话密钥表用于存储虚拟机的会话密钥,初始值为0,最多能够存储256项对称密钥。虚拟机监视器发起的I/O操作主要记录I/O缓存地址表[5]。
  本文针对用户数据在公共云环境下的安全问题,在云服务器端构建了Dissolver总体结构,在CPU端构建了Diamond总体结构,下一步通过对系统进行具体实现和应用的研究,便能够保证用户在云服务器端和在用户虚拟机的隐私数据不会被恶意攻击者获取。进而可以行之有效地对重放攻击、DOS攻击和物理性攻击进行预防和防卫。
  参考文献:
  [1]邓仲华.云计算环境下的隐私权保护初探[J].图书与情报,2010,4.
  [2]张逢喆,陈进,陈海波,臧斌宇.云计算中的数据隐私性保护与自我销毁[J].计算机研究与发展,2011,48(7):1155-1167.
论文来源:《计算机光盘软件与应用》 2012年第18期
转载注明来源:https://www.xzbu.com/8/view-4011807.htm