数据库加密技术在保证安全性的同时,也给数据库系统的可用性带来一些影响,那么制约数据库加密技术发展的因素有哪些呢?接下来我们可以看看。
数据库加密的局限性
(一)系统运行效率受到影响
数据库加密技术带来的主要问题之一是影响效率,数据以密文方式存储在数据库中,增加了查询和索引的难度。加密算法—般会打乱数据存储的顺序,破坏原有的索引结构,并且查询语句一般也难以直接运用到密文数据库的查询过程中,无论采用何种加密机制、何种加密粒度、何种密钥管理方式,对系统运行效率的影响是显而易见的。
(二)难以实现对数据完整性约束
数据库一般都定义了关系数据之间的完整性约束,如主/外键约束,值域的定义等。数据一旦加密,DBMS将难以实现这些约束.另外,数据库中的每个字段的类型、长度都有具体的限定,密文的数据类型与长度等不能违反这些约束,否则将破坏数据完整性。
(三)对数据库的SQL语言及SQL函数操作受到制约
对密文数据的聚集操作(如Group by,Order by,Having等SQL子句)将失去原语句的分组、排序作用.另外,DBMS -般都通过扩展SQL语言的方式,对各种类型数据提供了一些内部函数,这些函数一般也不能直接作用于密文数据。
(四)密文数据更易成为攻击目标
加密技术把有意义的明文转换成看上去没有实际意义的密文信息,但密文的随机性同时也暴露了消息的重要性,容易引起攻击者的注意和破坏,这造成了一种新的不安全性,加密技术需要和其他非加密安全机制相结合,以提高数据库系统的整体安全性。
小知识之数据库加密
对数据进行加密,主要有三种方式:系统中加密、客户端(DBMS外层)加密、服务器端(DBMS内核层)加密。客户端加密的好处是不会加重数据库服务器的负载,并且可实现网上的传输加密,这种加密方式通常利用数据库外层工具实现。而服务器端的加密需要对数据库管理系统本身进行操作,属核心层加密,如果没有数据库开发商的配合,其实现难度相对较大。此外,对那些希望通过ASP获得服务的企业来说,只有在客户端实现加解密,才能保证其数据的安全可靠。