云服务器如何保护敏感文件
① 如何理解云数据安全
在云计算模式下,数据存储和处理设备部署到统一的资源池中,用户数据存储在云计算环境中,所以用户的数据不仅面临着敌手攻击的威胁,同时也面临着云服务提供商的威胁。与此同时,在云计算环境中部署了很多虚拟服务器,多个用户的数据可能存储在一台虚拟服务器上,如何防止其他用户对数据的非授权访问,也是云计算中急需解决的安全问题。下面根据云计算模式下带来的数据威胁风险从数据加密与密文检索、数据完整性验证、数据隔离三个角度对云计算中的数据安全问题进行剖析。
数据加密与密文检索
在云存储模式下,为了保障数据不被其他非授权用户访问或者是篡改,实现数据的保密性,最传统的方法就是对数据进行加密存储,这样即使非授权用户获取了密文数据,也很难对其进行解密以获取相应的明文。但是采用数据加密的方式进行数据保护给我们带来了新的技术挑战,即密文数据检索技术。
好的加密算法对密文数据检索的效率起到了至关重要的作用,所以加密算法是进行数据加密的核心,一个好的加密算法产生的密文应该频率平衡,随机无重码规律,周期长而不可能产生重复现象。窃密者很难通过对密文频率、重码等特征的分析成功解密。同时,算法必须适应数据存储系统的特性,加解密尤其是解密响应迅速。
常用的加密算法包括对称密钥算法和非对称密钥算法。一方面,对称密钥算法的运算速度比非对称密钥算法快很多,两者相差2~3个数量级;另一方面,在非对称密钥算法中,每个用户有自己的密钥对。而作为数据加密的密钥如果因人而异,将产生异常庞大的密钥数据存储量。基于以上原因,目前在对数据进行加密存储中一般采取对称密钥的分组加密算法,如3DES、IDEA、AES及RCS 等。
近年来,有学者提出将秘密同态技术应用于数据存储系统的加密。秘密同态技术利用算法的同态性,不对已经加密的数据存储系统进行解密,而直接在密文数据存储系统上进行查询、更新等数据库操作,它使用户可以对敏感数据操作而又不泄露数据信息,同时避免了大量繁琐的加密解密操作,提高了数据存储系统的运行效率。
支持密文数据查询的技术需要从两个方面来考虑,一是数据本身的性质,二是查询的性质。按照这两个方面可以将密文数据检索技术分为如下两种研究方向:
- 基于关键词的密文文本检索技术这种检索技术的主体是加密的文本文件,主要的应用场景是远程的邮件服务器(部分可信),在邮件服务器上存储着用户的加密的邮件,并且允许用户用关键词来查询和检索他们的加密邮件。
- 基于加密的关系型数据库的检索技术这种检索方式应用场景是远程的加密的关系型数据库管理系统(部分可信),远程的数据库存储着用户数据并且允许用户用SQL语言对加密的数据库系统进行查询。密文数据检索技术最早应用于加密的电子邮件服务系统,
DAS(Database as a service)服务模式提出后,对该技术的研究和应用进入了一个崭新的阶段。
DAS模型是以对用户提供服务的形式来部署的,它不仅提供了多种数据管理功能,而且也克服了传统数据管理系统存在的缺陷,DAS数据管理模型如下图所示。
DAS模型由三部分组成:用户(数据拥有者)、客户端、服务器。
- 用户即为数据拥有者与使用者。
- 客户端也可称为数据客户端,它是用户查询数据和服务器端查询结果的中转站,起到查询转换和用户访问控制的作用。
- 服务器它由远端服务提供商来管理,用来对用户的数据进行存储和管理,它提供了强大的接口,用户可以通过接口来创建、存储、接入、操纵数据库。而对数据库的管理(包括安装、备份、重组、集成、软件更新等)都由服务提供商来承担。
DAS结构具有很多优势,例如较低的构建成本、操作成本,强有力的服务(更好的稳定性和可用性,更好的硬件和软件系统,灵活的数据共享)等。如今,DAS模型已经得到了一些应用,如Yahoo、MSN、Google的邮件服务,Shutterfly的相册服务等。由于DAS的明显的优势,相信不久的将来DAS模型会在各种商业领域内得到更广泛的应用。
② 技术干货 019|用LUKS为云盘敏感数据上锁
通过之前的教程,我们学习了如何在 Linux 和 Windows 云服务器上挂载和扩容云硬盘,解决了业务存储的性能扩展问题。然而,如何确保这些块存储的安全性呢?本文将探讨如何在腾讯云上,通过 dm-crypto/LUKS 实现云硬盘的块设备加密方法。
在讨论数据安全时,静止数据加密(data-at-rest)至关重要。它确保文件始终以加密形式存储在磁盘上。只有在系统运行且受信任用户解锁时,文件才以可读形式对操作系统和应用程序可见。未经授权直接查看磁盘内容,只会得到无法理解的随机数据。静止数据加密在以下场景提供保护:非受信任人员进入机房、硬盘丢失或被盗、笔记本电脑、上网本或外部存储设备的使用、在修理厂修理以及硬盘弃用后。尽管它不能防止运行时网络入侵或物理入侵等场景下的数据泄露,但结合在途数据加密(data-in-use或data-in-transit),形成完整的数据安全策略。
静止数据加密的层次模型包括应用层、文件系统层和块设备层加密。应用层加密由软件提供,灵活性高但性能挑战大。文件系统层加密如 EFS、XTS 等,文件系统本身负责加密解密操作,对应用程序透明,但难以配置精细权限。块设备层加密,如 dm-crypt/LUKS,对整个磁盘加密,提供最高安全性和性能。
dm-crypt 是 Linux 内核提供的标准设备映射加密功能,允许在 Linux 2.6 版本中作为透明硬盘加密子系统加入。它通过 device mapper target 实现,支持文件系统、swap 分区、LVM 和其他块设备加密。LUKS 是 dm-crypt 的扩展,提供密钥管理功能,确保加密卷的安全性和易用性。LUKS 卷默认使用 AES-XTS 加密算法,这是目前最安全且性能最高的 AES 加密模式,依赖硬件加速(如 AESNI)提供性能优势。
本文通过 cryptsetup 工具指导实践,演示了如何在腾讯云 CVM 云服务器上创建、格式化、打开和管理 LUKS 加密卷。通过 luksFormat 创建加密卷,luksDump 查看加密卷 Header 信息,luksOpen 和 luksClose 进行加密卷的解锁和锁定。此外,还提供了备份和恢复 Header、变更密码等操作的步骤,确保了数据安全性和管理灵活性。
性能测试显示,LUKS 加密对硬盘的读写性能影响较小,加密前后性能变化在 1%~3% 内,且均超过云硬盘官方性能。这得益于 dm-crypt/LUKS 的高性能加密实现。最佳实践建议仅加密数据盘,系统盘无需加密,以提高启动效率。LUKS 可以在 LVM 之下或之上使用,根据具体需求选择合适的加密层级。
本文不仅提供了技术细节,还强调了数据安全的重要性。通过 dm-crypt/LUKS 实现的块设备加密,为云存储数据提供了一把安全的锁。在完成本文学习后,希望读者能够为自己的(云)硬盘加一把安全锁,确保数据安全。