论文部分内容阅读
【摘要】数据库分为文件型数据库和关系型数据库,其中文件型数据库是被广泛使用的方便移植的数据库。而针对文件型数据库的加密技术与传统关系型数据库的加密技术存在很多不同点,分析文件型数据库的加密技术是实现全方位数据安全的必经之路。
【关键词】数据库;文件型;加密;方法
中图分类号: G250.74 文献标识码: A 文章编号:
一、前言
文件型数据库正在逐步被广泛应用,相比较传统数据库而言,文件型数据库更加轻巧、方便。本文从文件型数据库介绍和文件型数据库加密方法两个个方面对文件型数据库的加密技术进行分析和介绍,并对文件型数据库独有的特点进行研究。
二、文件型数据库介绍
美国Lotus公司已被IBM公司兼并于八十年代后期推出的群组工作软件群件——Lotus Notes/Domino是一种基于Internet/Intranet技术为构架的群件系统运行模式不但有客户机服务器Client/Server而且有浏览器服务器Browser/Server是构造企业信息网主要工具之一。现已被广泛应用于办公自动化、工作流控制、协同工作环境等方面它提供了功能强大的多媒体共享文档数据库和电子邮件系统是工业界的群件标准。
在SQL Server、DB2、Sybase、Oracle等大型关系数据库得到普遍应用的大环境下当前我国的院校学历教育课程中有关数据库系统的教学内容主要集中在关系数据库上关于文档数据库的知识介绍较少。尤其是Notes文档数据库在我国大、中型行政和企、事业单位应用日趋普及的情况下对于每一个转向Notes的开发者来说必须有比较深刻的认识和理解。本文根据在实际开发中的经验体会结合对Notes应用中的需要来对文档数据库原理和模式结构进行比较分析加以讨论。 一关于Notes数据库与关系数据库的概念比较 我们知道在数据库理论中有外模式、模式和内模式之分。
外模式又称子模式或用户模式是数据库用户使用的局部数据的逻辑结构和特征的描述是数据库用户的数据视图如视图和表的结构、类型、长度、保密级别等。模式是数据库中全体数据的逻辑结构和特征的描述是所有用户的公共数据视图如不同表的结构、类型、长度、保密级别等以及表和表之间的各种逻辑关系。内模式又称物理模式是数据物理结构和存储方式的描述是数据在数据库内部的表示方式如存储、索引方式以及数据压缩、加密和聚簇等。
Lotus Notes/Domino是一个较优秀的群件工作平台拥有较强的应用开发能力和编程能力适应于企业级的管理和与互联网络的集成等性能。并且它有很好的电子邮件系统领先的全文检索和复制功能。对信息的查询就是对文档的查询信息检索技术作为Lotus Notes/Domino的一个主要技术为用户提供了包括全文检索、按关键字查询、视图和文件夹等多种方式。它还具有极强的安全机制可以可靠地保证信息安全性。但Notes不支持关系NSF中的文档不支持加锁Lotus Notes数据库作为非关系数据库管理系统它的特点是:基于文档组织模式、使用非结构化的数据元素、通过定时复制刷新数据、使用视图定位数据、通过全文检索访问数据。
三、数据库加密方法
通过密码等办法对数据库的增加、删除这些数据访问加以控制,防止不合法用户读写数据。但由于DBF文件采用的是ASCII明文存储,如果非法用户不使用程序读取数据,而是直接使用WINHEX、UltreaEdit等工具--甚至是DOS下的DEBUG来打开数据库文件,都可以直接阅读到数据库中的内容。因此,为了使得DBF文件可以更加安全,必须对数据的载体DBF 文件进行加密保护,主要的目的还是把ASCII码的信息变成不可直接阅读的数据。在文件型数据库中,记录的长度一般比较短,数据存储的时间长,相应的密钥保存时间也随数据生命周期而定。如果在库内使用同一密钥,则保密性差;如果不同记录使用不同的密钥,则密钥太多,管理相当复杂。因此,应该针对数据库的特点,研究相应的加密方法和密钥管理方法。根据文件型数据库的特点,数据库的加密一般可以有四种方式:1、库外加密考虑到文件型数据库系统是基于文件系统的,因而库外加密的办法,应该针对文件IO操作或操作系统而言的,因为数据库管理系统与操作系统的接口方式有三种:一是直接利用文件系统的功能;二是利用操作系统的I/O模块;三是直接调用存储管理。所以在采用库外加密的方法时,可以将数据先在内存中使用DES、RSA等方法進行加密,然后文件系统把每次加密后的内存数据写入到数据库文件中去(注意是把整个数据库普通的文件看待,而不是按数据关系写入),读入时再逆方面进行解密就可以正常使用了。这种加密方法相对简单,只要妥善管理密钥就可以了。缺点对数据库的读写都比较麻烦,每次都要进行加解密的工作,对程序的编写和读写数据库的速度都会有影响。2、库内加密如果从关系型数据库的各个方面出发,很容易形成库内加密的思想。关系型数据库的关键术语有:表、字段、行和数据元素。基本上可以针对这几方面形成一种加密的方法。 (一)、以表为单位:对于文件型数据库来说,一个文件只有一张表,因而对表的加密可以说是对文件的加密了。对过更改文件分配表(FAT)中的说明等手段可以实现对文件的简单加密,但这种加密方式涉及到文件系统底层,误操作容易造成FAT混乱,而且与文件系统格式有关,因而通常不宜采用。(二)、以记录或字段(即二维表的行或列)为单位加密:通常情况下,我们访问数据库时都是以二维表方式进行的,二维表的每一行就是数据库的一条记录,二维表的每一列就是数据库的一个字段。如果以记录为单位进行加密,那么每读写一条记录只需进行一次加解密的操作,对于不需要访问到的记录,完全不需要进行任何操作,所以使用起来效率会高一些。3、硬件加密
硬件加密主要是相对于软件加密的,是指在物理存储器与数据库系统之间加上一层硬件作为中间层,加密和解密的工作都由添加的硬件完成。不过由于添加的硬件与原计算机硬件之间可能存在着兼容问题,还有在进行控制读写的时候存在着繁琐的设置,所以这种应用起来也不会太广泛。
4、嵌入式数据库加密技术
(一)、嵌入式数据库加密方法的选择
根据嵌入式数据库一般的体系结构,对数据库加密的办法是针对文件IO 操作即把数据写到文件之前先对数据加密然后再将数据写到文件里。而在读文件时先将数据读到内存再对数据进行解密然后再将解密后的数据返回上一层。嵌入式数据库加密解密过程是将数据先在内存中使用 RSA、RC4 和 SHA 方法进行加密然后文件系统把每次加密后的内存数据写入到数据库文件中去而当读入时文件系统先将数据读入到内存然后利用解密算法对数据进行解密。
(二)、加密算法的选择
加密算法或者以纯软件的形式或者以加密卡的形式提供给用户。不同加密服务提供者提 供的加密接口往往各不相同这就给用户带来了不便。因此出现了有关加密API的国际标准和规范使得呈现给用户的加密 API有几种统一的形式。目前有关加密 API 的国际标准和规范主要有GSS-API V2.0 、GCS-API 、CDSA 、RSA PKCS11、Cryptographic Token Interface Standard V2.01、RSA BSAFE API
四、结束语
通过对文件型数据库的分析,得知目前文件型数据库的加密技术主要分为四种,这四种技术手段各有特点,最终都实现了对数据库内数据的安全保障。文件型数据库正以它轻量级的体现逐步展开,最终将在轻量级数据库领域成为首选数据库。
参考文献
[1]冯兴祥 一种对数据库文件的加密方法[J] 计算机安全 2004年
[2]朱鲁华 数据库加密系统的加密和实现[J] 计算机工程 2002年
[3]宁洪 分布式数据库系统的安全机制[J] 计算机工程与应用 2000年
[4]王小敏 基于PSTN的远程分布式系统安全解决方案[J] 铁道学报2003年
[5]王元珍 数据库加密系统的研究与实现[J] 计算机工程与应用 2005年
【关键词】数据库;文件型;加密;方法
中图分类号: G250.74 文献标识码: A 文章编号:
一、前言
文件型数据库正在逐步被广泛应用,相比较传统数据库而言,文件型数据库更加轻巧、方便。本文从文件型数据库介绍和文件型数据库加密方法两个个方面对文件型数据库的加密技术进行分析和介绍,并对文件型数据库独有的特点进行研究。
二、文件型数据库介绍
美国Lotus公司已被IBM公司兼并于八十年代后期推出的群组工作软件群件——Lotus Notes/Domino是一种基于Internet/Intranet技术为构架的群件系统运行模式不但有客户机服务器Client/Server而且有浏览器服务器Browser/Server是构造企业信息网主要工具之一。现已被广泛应用于办公自动化、工作流控制、协同工作环境等方面它提供了功能强大的多媒体共享文档数据库和电子邮件系统是工业界的群件标准。
在SQL Server、DB2、Sybase、Oracle等大型关系数据库得到普遍应用的大环境下当前我国的院校学历教育课程中有关数据库系统的教学内容主要集中在关系数据库上关于文档数据库的知识介绍较少。尤其是Notes文档数据库在我国大、中型行政和企、事业单位应用日趋普及的情况下对于每一个转向Notes的开发者来说必须有比较深刻的认识和理解。本文根据在实际开发中的经验体会结合对Notes应用中的需要来对文档数据库原理和模式结构进行比较分析加以讨论。 一关于Notes数据库与关系数据库的概念比较 我们知道在数据库理论中有外模式、模式和内模式之分。
外模式又称子模式或用户模式是数据库用户使用的局部数据的逻辑结构和特征的描述是数据库用户的数据视图如视图和表的结构、类型、长度、保密级别等。模式是数据库中全体数据的逻辑结构和特征的描述是所有用户的公共数据视图如不同表的结构、类型、长度、保密级别等以及表和表之间的各种逻辑关系。内模式又称物理模式是数据物理结构和存储方式的描述是数据在数据库内部的表示方式如存储、索引方式以及数据压缩、加密和聚簇等。
Lotus Notes/Domino是一个较优秀的群件工作平台拥有较强的应用开发能力和编程能力适应于企业级的管理和与互联网络的集成等性能。并且它有很好的电子邮件系统领先的全文检索和复制功能。对信息的查询就是对文档的查询信息检索技术作为Lotus Notes/Domino的一个主要技术为用户提供了包括全文检索、按关键字查询、视图和文件夹等多种方式。它还具有极强的安全机制可以可靠地保证信息安全性。但Notes不支持关系NSF中的文档不支持加锁Lotus Notes数据库作为非关系数据库管理系统它的特点是:基于文档组织模式、使用非结构化的数据元素、通过定时复制刷新数据、使用视图定位数据、通过全文检索访问数据。
三、数据库加密方法
通过密码等办法对数据库的增加、删除这些数据访问加以控制,防止不合法用户读写数据。但由于DBF文件采用的是ASCII明文存储,如果非法用户不使用程序读取数据,而是直接使用WINHEX、UltreaEdit等工具--甚至是DOS下的DEBUG来打开数据库文件,都可以直接阅读到数据库中的内容。因此,为了使得DBF文件可以更加安全,必须对数据的载体DBF 文件进行加密保护,主要的目的还是把ASCII码的信息变成不可直接阅读的数据。在文件型数据库中,记录的长度一般比较短,数据存储的时间长,相应的密钥保存时间也随数据生命周期而定。如果在库内使用同一密钥,则保密性差;如果不同记录使用不同的密钥,则密钥太多,管理相当复杂。因此,应该针对数据库的特点,研究相应的加密方法和密钥管理方法。根据文件型数据库的特点,数据库的加密一般可以有四种方式:1、库外加密考虑到文件型数据库系统是基于文件系统的,因而库外加密的办法,应该针对文件IO操作或操作系统而言的,因为数据库管理系统与操作系统的接口方式有三种:一是直接利用文件系统的功能;二是利用操作系统的I/O模块;三是直接调用存储管理。所以在采用库外加密的方法时,可以将数据先在内存中使用DES、RSA等方法進行加密,然后文件系统把每次加密后的内存数据写入到数据库文件中去(注意是把整个数据库普通的文件看待,而不是按数据关系写入),读入时再逆方面进行解密就可以正常使用了。这种加密方法相对简单,只要妥善管理密钥就可以了。缺点对数据库的读写都比较麻烦,每次都要进行加解密的工作,对程序的编写和读写数据库的速度都会有影响。2、库内加密如果从关系型数据库的各个方面出发,很容易形成库内加密的思想。关系型数据库的关键术语有:表、字段、行和数据元素。基本上可以针对这几方面形成一种加密的方法。 (一)、以表为单位:对于文件型数据库来说,一个文件只有一张表,因而对表的加密可以说是对文件的加密了。对过更改文件分配表(FAT)中的说明等手段可以实现对文件的简单加密,但这种加密方式涉及到文件系统底层,误操作容易造成FAT混乱,而且与文件系统格式有关,因而通常不宜采用。(二)、以记录或字段(即二维表的行或列)为单位加密:通常情况下,我们访问数据库时都是以二维表方式进行的,二维表的每一行就是数据库的一条记录,二维表的每一列就是数据库的一个字段。如果以记录为单位进行加密,那么每读写一条记录只需进行一次加解密的操作,对于不需要访问到的记录,完全不需要进行任何操作,所以使用起来效率会高一些。3、硬件加密
硬件加密主要是相对于软件加密的,是指在物理存储器与数据库系统之间加上一层硬件作为中间层,加密和解密的工作都由添加的硬件完成。不过由于添加的硬件与原计算机硬件之间可能存在着兼容问题,还有在进行控制读写的时候存在着繁琐的设置,所以这种应用起来也不会太广泛。
4、嵌入式数据库加密技术
(一)、嵌入式数据库加密方法的选择
根据嵌入式数据库一般的体系结构,对数据库加密的办法是针对文件IO 操作即把数据写到文件之前先对数据加密然后再将数据写到文件里。而在读文件时先将数据读到内存再对数据进行解密然后再将解密后的数据返回上一层。嵌入式数据库加密解密过程是将数据先在内存中使用 RSA、RC4 和 SHA 方法进行加密然后文件系统把每次加密后的内存数据写入到数据库文件中去而当读入时文件系统先将数据读入到内存然后利用解密算法对数据进行解密。
(二)、加密算法的选择
加密算法或者以纯软件的形式或者以加密卡的形式提供给用户。不同加密服务提供者提 供的加密接口往往各不相同这就给用户带来了不便。因此出现了有关加密API的国际标准和规范使得呈现给用户的加密 API有几种统一的形式。目前有关加密 API 的国际标准和规范主要有GSS-API V2.0 、GCS-API 、CDSA 、RSA PKCS11、Cryptographic Token Interface Standard V2.01、RSA BSAFE API
四、结束语
通过对文件型数据库的分析,得知目前文件型数据库的加密技术主要分为四种,这四种技术手段各有特点,最终都实现了对数据库内数据的安全保障。文件型数据库正以它轻量级的体现逐步展开,最终将在轻量级数据库领域成为首选数据库。
参考文献
[1]冯兴祥 一种对数据库文件的加密方法[J] 计算机安全 2004年
[2]朱鲁华 数据库加密系统的加密和实现[J] 计算机工程 2002年
[3]宁洪 分布式数据库系统的安全机制[J] 计算机工程与应用 2000年
[4]王小敏 基于PSTN的远程分布式系统安全解决方案[J] 铁道学报2003年
[5]王元珍 数据库加密系统的研究与实现[J] 计算机工程与应用 2005年