随着数据库技术的广泛应用,作为信息系统的核心-数据库已经广泛应用于企事业单位、政府机关、医疗机构等各个领域。信息安全的核心问题─数据库的安全问题也已经越来越受到高度关注。

数据安全不仅要抵抗来自网络黑客的安全威胁,还要防止来自网络内部,特别是数据库管理员的安全威胁,在利益的驱使下,一些重要或敏感数据往往成为黑客们的攻击对象,许多敏感数据如用户密码或重要的数据如医院的收费系统、住院记费系统、煤气公司售气系统等可以轻而易举的被数据库管理人员窃取或更改,造成重要数据的泄漏或经济上的损失,传统的数据库防护措施(访问控制、入侵检测等)提供的安全性已经不能满足数据库安全的需要。而目前的数据库管理系统安全体系,几乎不能对数据库管理员采取任何安全限制。若要满足重要数据的安全需要,防止内部人员以及合法用户越权使用数据,对数据库中的重要数据进行加密保护是当前最为有效的一道保护措施。通过对数据库重要或敏感数据进行加密处理,即使入侵者从数据库中取得了数据也无法解密密文,从而保证了机密信息的安全,极大地避免了因机密、隐私泄露对数据所有者造成损失。

数据库加密技术是通过加密数据库中数据,使得数据库中的重要数据或敏感数据在“密文”方式下工作。数据加密的过程是对原来为明文数据按某种算法进行处理,使其成为不可读的一段代码,加密后的数据也称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的,确保了数据库数据的安全。

目前,我国中小型企事业单位使用的信息系统,大多采用自行研发或与专业公司联系开发,研发主要是以实现相关业务处理和功能为目标。虽然大型数据库管理系统,如Oracle、SQL Server等,已经提供了一些简单的数据加密功能,但其加密性能有限,对于系统维护人员很容易进入数据库并修改数据,因此,对数据库中的关键数据进行适当的加密,有利于防止重要数据的泄漏或恶意更改,是数据库安全的最后一道防线。简单有效的数据加密方法可采用异或加密法。

浅析异或加密在数据库中的应用

异或加密的策略
异或加密是一种容易实现的技术,非常适合采用自行研发的信息系统中使用,在对数据进行异或加密之前,可以先对其进行与其它处理,如:可以对数据进行循环位移,之后再进行加密,增加破解难度。

只对重要或敏感数据加密
我们使用异或加密技术,主要针对数据库中的数据,因此,系统中可以选择需要加密的数据库列,以便于用户选择那些敏感信息进行加密而不是全部数据都加密。只对用户的敏感数据加密可以提高数据库访问速度。这样有利于用户在效率与安全性之间进行自主选择。

加密密码的设置原则
加密密码就是参与异或的数据,是以字符串形式存在,其字符串长度应该与数据长度一致,尽量采用字母+数字形式,密码的保密至关重要,例如,可以考虑存放在注册表中。

异或加密的局限性
异或加密是强度极低的一种方式,除非极长的密码,才能确保加密的有效性,但是,使密码达到与数据一致,显然是不可能的,因此,异或加密的数据长度会受到限制。由于异或加密的强度极低,因此,应根据数据库加密的保密性来决定采用什么样的加密技术,如果想获得比较可靠的加密,可以采用分组交换式加密方案。