2.2 数据生命周期中的安全风险
用户将其数据存放到云存储服务器,从数据的产生、数据存储、数据利用、数据共享、数据迁移直至数据销毁,就是数据的生命周期。
用户数据在云服务器上静态存储时,可能因为容灾备份,数据有多个副本存储在服务器上。数据被利用时,可能存在于内存、网络或磁盘缓存等介质中。在数据生命周期中的每个阶段,数据安全都面临着不同的安全威胁,因此需要对应的安全机制来抵御。
1. 数据产生
数据产生阶段由数据拥有者生成数据,但还未存储到云服务器。通常认为这个阶段的数据是安全的,但为了保障后续数据安全,需要对数据进行一些处理,比如对数据进行加密、建立索引、生成完整性验证标签、为数据添加属性(数据类型、安全级别等)等。在数据产生阶段,用户必须了解自身数据的安全属性,才能根据需要设置对应的安全策略及进行必要的预处理。
2. 数据存储
将数据存储到云存储服务器,面临以下安全风险。
(1)用户失去对数据的物理控制权,数据存放位置不确定,与哪些用户共享物理资源不可知,以及对数据的隔离机制也知之甚少。
(2)数据存储在云服务器上,有内部人员威胁,云服务器可能被病毒破坏、被木马入侵,因此数据存在丢失和篡改的风险。
(3)云服务器可能遭受自然灾害、战争等不可抗力因素的破坏,对用户数据造成不可挽回的损失。
因此,将数据保存到云平台上,要考虑静态数据的隐私性、机密性、完整性、可用性与可靠性等。目前保障以上安全性的机制有数据加密存储、建立密文索引实现密文搜索、生成可验证标签对数据实施完整性验证、对数据进行远程容灾备份等。因为云存储下大量的用户以及海量的数据,所以对用户数据的加密一般采用对称密码算法。
3. 数据利用
数据利用是指用户将数据存储后,可以定期或不定期地访问数据,并可能对数据进行增加、删除或修改等更新操作,也可以对数据进行检索以及进行完整性验证等。在数据利用阶段,存在以下的安全风险。
(1)非法访问风险:如果云服务提供商没有严格的访问控制与授权机制,可能让攻击者有机会非法访问、篡改或破坏用户的数据,甚至使合法用户不能正常地访问其数据。
(2)数据传输安全:用户通过网络远程访问数据,在数据传输过程中,可能会遭受攻击者拦截或篡改数据。
(3)服务质量(Quality of Service,QoS)保证:用户使用云数据时,会对数据的传输性能有一定的要求,但因为用户是通过网络访问数据,会受到网络环境等外部条件的限制,而不一定能够达到用户期待的服务质量,满足用户的需求。
4. 数据共享
数据共享是指用户将其存储在云服务器上的数据与第三方共享。在数据共享过程中存在较多的安全风险。除了以上网络安全风险外,重点要防范数据访问控制与授权风险,即与第三方共享数据时可能造成的非法访问数据的风险。这就需要数据拥有者及云服务提供商协同提供合理的访问控制与授权机制,使得只有被授权的第三方可以访问数据。
5. 数据迁移
数据迁移是指将很少使用或不使用的数据迁移到一个单独的存储设备(如磁带或光盘)进行长期保存的存档过程。在数据迁移准备阶段,要对待迁移数据的属性有详细的了解,包括数据的存储方式、数据量、数据的时间跨度等。在数据迁移过程中,要制定详细的迁移策略。在数据迁移完成后,还要对数据进行校验,数据校验的结果是判断数据迁移是否成功的重要依据。对数据进行校验的内容包括数据格式、数据完整性与一致性等方面。
在数据迁移过程中要注意以下问题。
(1)平滑过渡:无论是同构数据迁移还是异构数据迁移,要考虑迁移过程中,用户仍然可以访问数据,如何实现不同格式数据服务可以在用户无感知的情况下做到平滑迁移是要注意的问题。
(2)出错处理:在数据迁移过程中发生错误要怎么处理是迁移过程中要注意的问题,要求在迁移准备阶段做好错误预判,并在实施阶段设计错误追踪方案及相应的解决方案。
(3)数据迁移测试:要保障数据迁移完成后数据的正确性、完整性与可用性。
在数据迁移阶段,云数据除了面临和数据存储阶段类似的安全风险外,还面临如下安全风险。
(1)大规模数据迁移造成数据的可用性问题:当迁移的数据量非常大时,数据迁移过程可能需要花费几个月甚至几年的时间,这样长时间的迁移过程,随时有可能影响数据的使用。
(2)合规性风险:某些特殊数据对归档使用的存储介质以及时间期限有一些特殊规定,而云服务提供商不一定能满足这些特殊要求,造成数据的合规性风险。
6. 数据销毁
对于自主控制的存储,数据销毁很容易做到,可一旦将数据存储到云上后,数据销毁却成为一件非常困难的事情。通常,计算机删除数据时,并没有将数据从计算机的硬盘上真正地删除,只是删除了文件相应的索引,使得用户不能通过文件系统访问该文件。而对硬盘进行格式化操作时,也并没有将磁盘上数据删除,而只是重新创建文件系统并创建新的索引,将磁盘的扇区标记为未使用过。因此,攻击者仍然可以在获取硬盘后利用一定的数据恢复方式来还原被删除的数据。
同时,因为云服务提供商不一定是可信的,用户无法确信云服务器是否真正地删除了数据。因此,对于用户的敏感数据,通常需要加密后再存储到云服务器上,可以避免因为云服务器不可信带来的数据销毁问题。对于云服务提供商,为了完成数据销毁,可以采用磁盘擦写的方式来删除用户的数据。