如果你不信任他们,你就把数据加密。”这是数据安全专家常常挂在嘴边的一句话。部署在企业内部的数据中心,由于单位组织完全控制全部的软/硬件设备,所以数据要不要加密由企业规章制度界定。
但是在云端,多个互不认识的租户共用计算资源,每个租户需要加密的数据自然就更多,需要加密的数据越多,业务流程越复杂,密钥管理也就越繁重。所以,在实际的 *** 作过程中,我们要综合考虑各个因素,制定出一套既满足安全要求又不大幅度增加加/解密和密钥管理的工作难度的方案。
加密介绍
根据企业的规章制度,某些数据被列为机密并必须要加以保护,当前存储在企业内部的机密数据开始被陆续迁入云端,所以数据保护的力度必须要加大。把机密数据存储在企业的安全边界之外,这增加了数据保护的复杂度,同时也增加了风险系数。
关于云端的数据加密,以下因素必须慎重考虑。
1)不单单在传输过程中需要加密保护,在云端存储和使用数据的过程中也依然需要加密保护。
2)存储在云端并被共享的非结构化数据文件保护方法有以下两种:
采用授权服务器进行集中加密;
加密直接被嵌入到每个文件当中(分散加密)。
当使用经第一种方法加密的文件时,首先要联系授权服务器进行解密,比如微软的 Word 文字处理软件会自动联系服务器并完成身份验证和解密工作。
3)加/解密的密钥的管理期限就是数据的整个生命周期,在数据被销毁之前如果密钥丢失,则会导致数据无法解密。另外,对于密钥的保护和正当使用,要尽可能避免依赖云服务提供商。
4)保护那些经常被忽视却又包含敏感信息的文件,比如日志文件和元数据如果不加以保护,那么很可能成为数据泄露的途径。
5)云端的加密密钥应具备足够的强度(如 AES-256),且与同一单位组织内部的加密密钥一致。提倡使用开放的且经过验证的加密格式,尽可能避免使用特有的加密格式。
云端数据库加密
首先考虑数据要不要加密,因为加密数据会提高成本并使得业务处理复杂化。目前几乎所有的数据库都具备权限管理机制,如果配置得当,数据库管理系统本身就能很好地保护敏感数据。如果遇到下面 3 种情况,那么我们就不得不对数据库中的记录进行加密了:不想让有权限的人(如数据库管理员)看到记录信息。
法律规定一些记录必须要加密(如交易记录中的xyk信息)。
数据存储在数据库的一个 Schema 中,但是数据的主人无法控制访问这些数据的账号(比如多人使用的共享账号,每个人都不能随意修改账号密码)。
当人们使用云端数据库,尤其是 SaaS 应用(该应用需要使用数据库)时,如果数据库不能 *** 作加密的数据,那么数据库的功能会大打折扣。当然,前提是数据库管理系统或者应用能够访问密钥。
数据加密是以提高复杂度和降低性能为代价的,下面是一些替代的方法。
1)使用数据库本身的对象安全机制
数据库中的表、视图、存储过程、函数等统称为对象,对这些对象的访问,数据库管理系统本身提供了一套权限管理机制,诸如账号、分组、角色、授权、撤权等。要严格控制那些被授权的账号,确保这些账号只分配给正确的人。2)存储安全哈希值
只存储数据的哈希值,而不直接存储数据本身。这使得你的应用程序能证明持有正确哈希值的人就是持有正确数据的人,因为数据与哈希值是一一对应关系,即 hash(data)=x,把 x 存储在数据库中,而 data 存储在另外一个私密的地方,从 x 是无法反算出 data 的。密钥管理
无论是采用对称加密算法还是采用非对称加密算法,密钥的管理都是重中之重,尤其是对于多租户模式的公共云端来说,密钥管理是一个比较繁重的任务。最简单的案例是应用在云端运行,而只在企业内部使用密钥对迁移到云端的数据进行加密——在企业的网络安全边界部署一个加密引擎,只要通过这个加密引擎,那么离开企业的数据就会自动加密,而进入企业的数据则会自动解密。
而下面这种情况会把事情搞得很复杂:如果一个使用密钥的应用又包含其他需要使用密钥解密数据的进程(如一个批处理应用可能包含很多进程),且这些进程又驻留云端,那么此时的密钥需要离开企业内部的网络安全边界而进入云端。
企业一般为每个需要加密功能的实体(用户、设备、进程等)分配单独的密钥,这样就不用共享一个密钥,从而避免带来很多隐患。
为了管理众多的实体密钥,最简便的方法是部署一个基于身份的密钥管理中心,从而使得为一个具体实体加密的任何数据只对该实体本身有效。如果同一个组的成员确实需要共享数据,那么可以给该组分配组级的密钥,同组成员共享组级密钥。正如前面所提到的那样:密钥的管理必须局限在企业内部。
如果数据存储在公共云环境中,那么在退出这个环境时,需要确保所有的数据(特别是 PII、SPI 数据或受到监管的数据)已经从公共云环境中删除,其中包括其他存储介质(如备份磁带)上的数据。本地管理密钥的做法很容易实现这个目标:只要从本地密钥管理中心删除相应的密钥即可,从而保证残留在公共云的任何数据再也不能被解密。
如果云服务提供商和消费者不严格执行各自的密钥管理流程,那么数据加密就没有什么实际意义。比如云服务提供商,如果职责混乱,大家可以随意访问密钥服务器和存储了加密数据的服务器,或者 DBA 能随意访问数据库中的个人密钥,那么数据加密就形同虚设。
同样,比如云服务消费者,如果存储密钥的终端设备本身就不安全(如移动设备)或者没有达到与加密系统同等安全级别的终端设备,这就像用木板做保险柜,那么这时加密数据无疑也是形同虚设。
围绕如何保护密钥本身,方案设计师通常的做法是采用密钥来加密密钥,只在内存中产生有效密钥,并且只存储加密过的密钥。这理解起来有点绕,其实就是把密钥当作普通的数据再次进行加密。
一、数据库加密是什么?数据库加密技术属于主动防御机制,可以防止明文存储引起的数据泄密、突破边界防护的外部黑客攻击以及来自于内部高权限用户的数据窃取,从根本上解决数据库敏感数据泄漏问题。数据库加密技术是数据库安全措施中最顶级的防护手段,也是对技术性要求最高的,产品的稳定性至关重要。
二、数据库加密的方式有哪些?
目前,不同场景下仍在使用的数据库加密技术主要有:前置代理加密、应用系统加密、文件系统加密、后置代理加密、表空间加密和磁盘加密等,下文将对前四种数据加密技术原理进行简要说明。
1、前置代理加密技术
该技术的思路是在数据库之前增加一道安全代理服务,所有访问数据库的行为都必须经过该安全代理服务,在此服务中实现如数据加解密、存取控制等安全策略,安全代理服务通过数据库的访问接口实现数据存储。安全代理服务存在于客户端应用与数据库存储引擎之间,负责完成数据的加解密工作,加密数据存储在安全代理服务中。
2、应用加密技术
该技术是应用系统通过加密API(JDBC,ODBC,CAPI等)对敏感数据进行加密,将加密数据存储到数据库的底层文件中;在进行数据检索时,将密文数据取回到客户端,再进行解密,应用系统自行管理密钥体系。
3、文件系统加解密技术
该技术不与数据库自身原理融合,只是对数据存储的载体从 *** 作系统或文件系统层面进行加解密。这种技术通过在 *** 作系统中植入具有一定入侵性的“钩子”进程,在数据存储文件被打开的时候进行解密动作,在数据落地的时候执行加密动作,具备基础加解密能力的同时,能够根据 *** 作系统用户或者访问文件的进程ID进行基本的访问权限控制。
4、后置代理技术
该技术是使用“视图”+“触发器”+“扩展索引”+“外部调用”的方式实现数据加密,同时保证应用完全透明。核心思想是充分利用数据库自身提供的应用定制扩展能力,分别使用其触发器扩展能力、索引扩展能力、自定义函数扩展能力以及视图等技术来满足数据存储加密,加密后数据检索,对应用无缝透明等核心需求。
三、数据库加密的价值
1、在被拖库后,避免因明文存储导致的数据泄露
通常情况下,数据库中的数据是以明文形式进行存储和使用的,一旦数据文件或备份磁带丢失,可能引发严重的数据泄露问题;而在拖库攻击中,明文存储的数据对于攻击者同样没有任何秘密可言——如Aul、MyDul等很多成熟的数据库文件解析软件,均可对明文存储的数据文件进行直接分析,并输出清晰的、结构化的数据,从而导致泄密。
数据库加密技术可对数据库中存储的数据在存储层进行加密,即使有人想对此类数据文件进行反向解析,所得到的也不过是没有任何可读性的“乱码”,有效避免了因数据文件被拖库而造成数据泄露的问题,从根本上保证数据的安全。
2、对高权用户,防范内部窃取数据造成数据泄露
主流商业数据库系统考虑到初始化和管理的需要,会设置以sys、sa或root为代表的数据库超级用户。这些超级用户天然具备数据访问、授权和审计的权限,对存储在数据库中的所有数据都可以进行无限制的访问和处理;而在一些大型企业和政府机构中,除系统管理员,以数据分析员、程序员、服务外包人员为代表的其他数据库用户,也存在以某种形式、在非业务需要时访问敏感数据的可能。
数据库加密技术通常可以提供独立于数据库系统自身权限控制体系之外的增强权控能力,由专用的加密系统为数据库中的敏感数据设置访问权限,有效限制数据库超级用户或其他高权限用户对敏感数据的访问行为,保障数据安全。
MICROSOFT SQL SERVER 2012 企业核心版激活码序列号:
FH666-Y346V-7XFQ3-V69JM-RHW28
MICROSOFT SQL SERVER 2012 商业智能版激活码序列号:
HRV7T-DVTM4-V6XG8-P36T4-MRYT6
MICROSOFT SQL SERVER 2012 开发版激活码序列号:
YQWTX-G8T4R-QW4XX-BVH62-GP68Y
MICROSOFT SQL SERVER 2012 企业服务器版/CAL版序列号:
748RB-X4T6B-MRM7V-RTVFF-CHC8H
MICROSOFT SQL SERVER 2012 标准版激活码序列号:
YFC4R-BRRWB-TVP9Y-6WJQ9-MCJQ7
MICROSOFT SQL SERVER 2012 WEB版激活码序列号:
FB3W8-YRXDP-G8F8F-C46KG-Q998F
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)