安全问题是电子商务应用中最令人担心的问题,如何保证电子商务活动的安全,将一直是电子商务的核心研究领域。作为一个安全的电子商务系统,首先必须有一个安全可靠的通讯网络,以保证交易信息安全、迅速地传递;其次必须保证数据库中的数据绝对安全,防止黑客闯入网络盗取数据。
网络数据库是电子商务的基础,其保存着重要的商业信息,因此对于电子商务系统来说,保证其网络数据库的安全尤为重要。网络数据库安全是指数据库信息的保密性、完整性、一致性和可用性。数据库不仅储存数据,还要为使用者提供信息。应该确保合法用户在一定规则的控制和约束下使用数据库,同时应该防止入侵者或非授权者非法访间数据库。
对于一般的数据库系统,我们可以采用访问控制、用户身份认证、授权控制、监视跟踪、安全审计、备份与恢复、反病毒等安全管理技术来构筑其安全体系,以保证数据的安全性和可靠性。由于电子商务系统中的网络数据库保存着重要的商业信息,但某些用户尤其是一些内部用户仍可能非法获取用户名、口令字或利用其他方法越权使用数据库,甚至可以直接打开数据库文件来窃取或篡改信息,所以仅靠上述的安全措施难以完全保证其数据的安全性,因此有必要对数据库中存储的重要数据进行加密处理。
与传统的数据加密技术相比,数据库加密技术有其自身的要求和特点。传统的加密以报文为单位,加密、解密都是从头至尾顺序进行。而数据库中的数据必须以字段为单位进行加密,否则该数据库将无法被操作。同时由于数据库中的数据是共享的,有权限的用户随时需要知道密钥来查询、修改、删除和插入数据,这样就要随时对数据库中数据进行加解密处理。
一、数据库的加密方式
数据库的加密方式很多,可以是软件加密,也可以是硬件加密。软件加密可以采用库外加密,也可以采用库内加密。
1.库外加密。库外加密方式即采用文件加密的方法,它把数据库作为一个文件,把每一个数据块当作文件的一个记录进行加密,文件系统与数据库管理系统交换的就是块号。
库外加密方法比较简单,密钥管理也相对简单。
2.库内加密。库内加密按加密的方式,可以进行记录加密,也可以进行字段加密,还可以对数据元素进行加密。
记录加密方式,实质上是把数据库的每一行作为一个文件来进行加密。此时,每一个记录必须有一个密钥与之匹配。因此,产生和管理记录密钥比较复杂。
字段加密方式,就是把一个数据库的每一列作为一个文件来进行加密。此时,每一个字段必须有一个密钥与之匹配。它的缺点与记录加密相同,密钥的产生和管理比较复杂。
数据元素加密方式即将每个元素当作一个文件进行加密。数据元素是数据库加密的最小粒度。这种加密方式具有更好的灵活性和适应性,完全支持数据库的各种功能(如记录、数据项查询、修改)。它把每个数据元素看作一个文件进行加密,每个被加密的元素有一个与之对应的加密密钥。由于它的加密粒度小,因此加密效率低,而且元素密钥的产生和管理比记录加密方式和字段加密方式还要复杂。
3.硬件加密。硬件加密是在物理存储器(磁盘)与数据库系统之间加一硬件装置,使之与实际的数据库系统脱离。这种方式首先要求数据库应保存在专一磁盘上,并且对控制信息不加密,而只对数据加密。
二、数据库加密的范围
数据库管理系统要完成对数据库文件的管理和使用,必须具有能够识别部分数据的条件。因此,只能对数据库中的数据进行部分加密。
1.索引字段不能加密。为了达到迅速查询的目的,数据库文件需要建立一些索引,索引的建立和应用必须是明文状态,否则将失去索引的作用。
2.关系运算的比较字段不能加密。数据库管理系统要组织和完成关系运算,参加并、差、积、商、选择和连接等操作的数据项必须是明文,否则数据库管理系统将无法进行比较筛选。
3.表间的连接码字段不能加密。数据模型规范化以后,数据库表之间存在着密切的联系,这种相关性往往是通过“外码”联系的,这些外码若加密就无法进行表与表之间的连接运算。
三、数据库的加密层次
对数据库文件进行加密处理可以考虑在三个不同层次实现,这三个层次分别是操作系统层、数据库管理系统内核层和数据库管理系统外层。
由于在操作系统层无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,对密钥合理的管理和使用也很难。所以,对于大型数据库来说,在操作系统层对数据库文件进行加密很难实现。
在数据库管理系统内核层对数据库文件加密,是指数据在物理存取之前完成加密、解密工作。这种加密方式的加密功能强且加密功能几乎不影响数据库管理系统的功能;但其是在服务器端进行加密、解密工作,加重了数据库服务器的负载。
在数据库管理系统外层对数据库文件加密,是将数据库加密系统做成数据库管理系统的外层工具,根据加密要求自动完成对数据库数据的加密、解密处理。这种加密方式中加密、解密运算可以在客户端完成,可以减轻数据库服务器的负载并能实现网上传输加密,但加密功能会受到一定限制。
数据加密,是将明文数据通过算法和密钥变成难以直接辨认的密文数据。数据库密码系统就是将明文数据加密成密文数据,数据库中存储密文数据,查询时将密文数据取出,解密得到明文信息。数据加密技术是保证网络数据库中数据安全最有效的技术之一。数据库加密的目的是保护网络数据库系统内的数据、文件、口令和控制信息,防止数据的非授权泄露,从而大大提高了数据库中数据的完全性。