论文部分内容阅读
摘要:采取相应的数据库加密技术,防止数据库被非法浏览、修改、破坏,是很有必要的,可以有效地保证数据存储过程中的安全问题。本文通过对VFP常用的数据库加密技术进行分析,讨论了各自的优缺点。
关键词:VFP;数据库加密技术;计算机网络
中图分类号:TP309.7文献标识码:A文章编号:1007-9599 (2013) 05-0000-02
1前言
VFP(Visual FoxPro),是Microsoft公司从Fox公司的Fox Base数据库软件经过数次改良后的到的软件,并且移植到Windows之后,用来实现应用程序的开发,主要用于数据管理的开发等方面的软件。VFP是Microsoft最新推出的可视化数据库管理系统平台,是功能特别强大的32位数据库管理系统。
2数据库加密技术原理
数据加密就是在系统处理过程中,将我们认为重要的数据信息通过转换,变成不能够通过通常处理就能够识别的数据信息的过程。数据库加密原理如图1所示,
图1 数据库加密技术原理图
其目的是通过加密技术的处理,使我们认为重要的信息不能够被他人辨别。那么,与之对应的,解密就是在我们需要获得该重要信息时,就要将由明文转换来的密文翻译为能够直接识别的信息的过程。
在计算机技术中,还有很多常规的加密方式,与其相比,数据库加密系统有其自身的特别要求。二元函数通常被用作数据库的公开密钥:密文=f(明文,密钥)。当所要使用的加密算法f()被确定后,我们只需知道明文,再将明文按照f()进行翻译,这样,我们便能够得到密文,该密文是与明文是一一对应的。相反,解密就是将加密的过程反过来进行,即明文=f-1(明文,密钥)。加密算法在计算机中通常被作为数据库加密的核心内容,如果我们采用好的加密算法,他就应该具备以下特点:在加密过程中所产生的密文不应该是频率不均,而应该是频率平衡的,并且是随机产生的,这样就不会出现规律,其周期相对较长,也就不产生重复,使窃密者难以通过对密文进行频率、重码等特征的分析,进而获得需要保密的明文。
3数据库加密系统的基本要求
对字段数据进行加密。每个记录的字段数据通常被作为加密和解密的最小粒度。如果将文件或列作为粒进行加密,就会提高使用密钥的频率,由于密钥被反复调用,在加密过程中就越容易出现密钥的泄露,这无疑会降低加密系统工作的可靠性,由于在加密过程中反复的使用密钥,还会无形的增加加密的时间,同样,解密的时间也会相应增加,这就给使用带来了极大的不便。
由于密钥的反复使用,会降低安全性,就需要多个密钥对数据库进行加密,这样即使丢失了几个密钥,只要无法获得全部密钥,还是不能对密文进行翻译,这就会增加系统的安全性,但是,密钥数量的增加就要有相应的管理措施,并对密钥实行动态管理。
恰当处理加密数据类型。在进行数据库加密的过程中,同样要适当地处理数据类型,否则就会造成数据类型混乱,进而引起各种错误,进而导致拒绝加载。在进行加密的过程中,还需考虑存储问题,数据库加密后的文件大小不应过多增加。
合法用户能够正常操作。加密系统在进行数据操作,即加解密的过程中,响应时间要尽量短,不应超过0.1秒的延迟。
禁止非法数据拷贝。数据库加密系统,应该能够禁止非法的数据拷贝操作。
4VFP数据加密技术
4.1表级加密
(1)用随机伪码的方法实现对数据表的加密。加密函数就是对用户密码进行简单处理,将原始码通过某种手段进行复杂化和隐蔽化处理,例如,将用户密码隐藏在多位的伪码当中,这种方法具有很好的优点:简单,可靠,并且不容易被破解。将由1至7位数字或字母组成的用户密码通过加密转换为20位的随机伪码,并且在每次进行密码的重新设置时,加密系统所产生的伪码都不一样,这样就会使每次转换的变成的伪码是随机的,这样即使在数据表中进行任何操作都不能够进入系统,这就实現了可靠的控制密码权限。
(2)用VFP所提供的低级文件函数实现加密。采用低级文件来实现函数加密,其方法原理为:由低级文件函数自定义首先产生一个文件头,其中可包含的内容包括:文件头长度,字段长度,字段类型,字段名,密钥等,紧接着将按文件头对格式的规定对数据进行加密,加密后依函数中的顺序将其写入文件。在进行解密时,可使用CreateCurso-SQL进入到已经经过低级文件函数实现加密的数据表中,读取并解密,然后再创建新的数据表,并将数据加载进去,然后就实现了解密,数据表就能够使用了。
4.2行级加密或列级加密
如果采用行级加密时,即以记录作为基本单位进行加密,那么在每次进行记录的读写操作时只要加密和解密一次便可完成,对于不需要访问的记录,就会自动的不进行任何操作(加密和解密)。在计算机数据库系统中,行级加密技术通常被采用。行级加密的思路为:每一条记录都有其对应的密钥,每一条记录在相应密钥的作用下,将其全部进行加密,并形成相应的密文存放在数据库文件中;在进行数据库的查找的过程,也要将加密过程重复一次,再按照转换的密文进行相应的查找。但是,在这一过程中便存在问题,由于密文数据是不能够产生和明文数据相同的算术运算和关系运算结果,这样,数据库就会有很多功能的缺失。
列级加密和行级加密情况相似,列级加密,即字段级加密,在列级加密过程中,字段中存放着以伪码方式存在的数据,常常把多随机数加密的方法使用在这类型的加密过程中,在进行加密的时候,就是将要加密的源码中的每个字符都进行转换,并会生成另一个数,然后按照三个转换过来的字符与生成的相应密钥进行结合,这样就形成了形成四个字符,这样就形成了伪码,最后,将所有生成的全部字符(伪码)组合起来,这样就构成了相应的密文了。在我们需要对数据进行操作(打开表)时,就会用加密函数对原码进行相应的操作,并且转换为其所对的伪码,只有程序才能动态看到原码,从表中是不能够直接看到原码的,具有很好的保密性。在解密时就是将加密的方式进行逆运算。
4.3数据项级(字段值级)加密
数据项级加密虽然安全性高,灵活性好和适应性强。但是加密和解密的效率却很低,密钥数量巨大,管理困难。不再介绍。
5结论
随着计算机技术的不断发展,用于反面的计算机技术和正面的计算机技术同样取得了较大的进步。因此,人们也越来越重视数据库加密技术在计算机系统中的应用。在计算机数据库系统中应用VFP加密技术可以很好的应对VFP中数据的安全问题,我们可以根据现实对于计算机数据库的不同要求对加密方法进行选择。本文通过对VFP中数据库加密技术的分析,包括原理和存在的问题,对VFP中数据库加密技术进行了研究,并对各种加密技术的优缺点进行了分析。以期对VFP中数据库加密技术有所贡献,相信随着技术的不断进步,机密技术会取得更大的进步。
参考文献:
[1]郑羽,杨春生,于江.加密与解密实战入门[M].北京:电子工业出版社,2006.
[2]成培,李峰,王畅.连接池数据库访问技术深入研究[J].计算机工程与设计,2007,3.
[作者简介]廖春明(1982-),男,壮族,云南富宁人,文山学院计科系助教,主要从事计算机应用研究。
关键词:VFP;数据库加密技术;计算机网络
中图分类号:TP309.7文献标识码:A文章编号:1007-9599 (2013) 05-0000-02
1前言
VFP(Visual FoxPro),是Microsoft公司从Fox公司的Fox Base数据库软件经过数次改良后的到的软件,并且移植到Windows之后,用来实现应用程序的开发,主要用于数据管理的开发等方面的软件。VFP是Microsoft最新推出的可视化数据库管理系统平台,是功能特别强大的32位数据库管理系统。
2数据库加密技术原理
数据加密就是在系统处理过程中,将我们认为重要的数据信息通过转换,变成不能够通过通常处理就能够识别的数据信息的过程。数据库加密原理如图1所示,
图1 数据库加密技术原理图
其目的是通过加密技术的处理,使我们认为重要的信息不能够被他人辨别。那么,与之对应的,解密就是在我们需要获得该重要信息时,就要将由明文转换来的密文翻译为能够直接识别的信息的过程。
在计算机技术中,还有很多常规的加密方式,与其相比,数据库加密系统有其自身的特别要求。二元函数通常被用作数据库的公开密钥:密文=f(明文,密钥)。当所要使用的加密算法f()被确定后,我们只需知道明文,再将明文按照f()进行翻译,这样,我们便能够得到密文,该密文是与明文是一一对应的。相反,解密就是将加密的过程反过来进行,即明文=f-1(明文,密钥)。加密算法在计算机中通常被作为数据库加密的核心内容,如果我们采用好的加密算法,他就应该具备以下特点:在加密过程中所产生的密文不应该是频率不均,而应该是频率平衡的,并且是随机产生的,这样就不会出现规律,其周期相对较长,也就不产生重复,使窃密者难以通过对密文进行频率、重码等特征的分析,进而获得需要保密的明文。
3数据库加密系统的基本要求
对字段数据进行加密。每个记录的字段数据通常被作为加密和解密的最小粒度。如果将文件或列作为粒进行加密,就会提高使用密钥的频率,由于密钥被反复调用,在加密过程中就越容易出现密钥的泄露,这无疑会降低加密系统工作的可靠性,由于在加密过程中反复的使用密钥,还会无形的增加加密的时间,同样,解密的时间也会相应增加,这就给使用带来了极大的不便。
由于密钥的反复使用,会降低安全性,就需要多个密钥对数据库进行加密,这样即使丢失了几个密钥,只要无法获得全部密钥,还是不能对密文进行翻译,这就会增加系统的安全性,但是,密钥数量的增加就要有相应的管理措施,并对密钥实行动态管理。
恰当处理加密数据类型。在进行数据库加密的过程中,同样要适当地处理数据类型,否则就会造成数据类型混乱,进而引起各种错误,进而导致拒绝加载。在进行加密的过程中,还需考虑存储问题,数据库加密后的文件大小不应过多增加。
合法用户能够正常操作。加密系统在进行数据操作,即加解密的过程中,响应时间要尽量短,不应超过0.1秒的延迟。
禁止非法数据拷贝。数据库加密系统,应该能够禁止非法的数据拷贝操作。
4VFP数据加密技术
4.1表级加密
(1)用随机伪码的方法实现对数据表的加密。加密函数就是对用户密码进行简单处理,将原始码通过某种手段进行复杂化和隐蔽化处理,例如,将用户密码隐藏在多位的伪码当中,这种方法具有很好的优点:简单,可靠,并且不容易被破解。将由1至7位数字或字母组成的用户密码通过加密转换为20位的随机伪码,并且在每次进行密码的重新设置时,加密系统所产生的伪码都不一样,这样就会使每次转换的变成的伪码是随机的,这样即使在数据表中进行任何操作都不能够进入系统,这就实現了可靠的控制密码权限。
(2)用VFP所提供的低级文件函数实现加密。采用低级文件来实现函数加密,其方法原理为:由低级文件函数自定义首先产生一个文件头,其中可包含的内容包括:文件头长度,字段长度,字段类型,字段名,密钥等,紧接着将按文件头对格式的规定对数据进行加密,加密后依函数中的顺序将其写入文件。在进行解密时,可使用CreateCurso-SQL进入到已经经过低级文件函数实现加密的数据表中,读取并解密,然后再创建新的数据表,并将数据加载进去,然后就实现了解密,数据表就能够使用了。
4.2行级加密或列级加密
如果采用行级加密时,即以记录作为基本单位进行加密,那么在每次进行记录的读写操作时只要加密和解密一次便可完成,对于不需要访问的记录,就会自动的不进行任何操作(加密和解密)。在计算机数据库系统中,行级加密技术通常被采用。行级加密的思路为:每一条记录都有其对应的密钥,每一条记录在相应密钥的作用下,将其全部进行加密,并形成相应的密文存放在数据库文件中;在进行数据库的查找的过程,也要将加密过程重复一次,再按照转换的密文进行相应的查找。但是,在这一过程中便存在问题,由于密文数据是不能够产生和明文数据相同的算术运算和关系运算结果,这样,数据库就会有很多功能的缺失。
列级加密和行级加密情况相似,列级加密,即字段级加密,在列级加密过程中,字段中存放着以伪码方式存在的数据,常常把多随机数加密的方法使用在这类型的加密过程中,在进行加密的时候,就是将要加密的源码中的每个字符都进行转换,并会生成另一个数,然后按照三个转换过来的字符与生成的相应密钥进行结合,这样就形成了形成四个字符,这样就形成了伪码,最后,将所有生成的全部字符(伪码)组合起来,这样就构成了相应的密文了。在我们需要对数据进行操作(打开表)时,就会用加密函数对原码进行相应的操作,并且转换为其所对的伪码,只有程序才能动态看到原码,从表中是不能够直接看到原码的,具有很好的保密性。在解密时就是将加密的方式进行逆运算。
4.3数据项级(字段值级)加密
数据项级加密虽然安全性高,灵活性好和适应性强。但是加密和解密的效率却很低,密钥数量巨大,管理困难。不再介绍。
5结论
随着计算机技术的不断发展,用于反面的计算机技术和正面的计算机技术同样取得了较大的进步。因此,人们也越来越重视数据库加密技术在计算机系统中的应用。在计算机数据库系统中应用VFP加密技术可以很好的应对VFP中数据的安全问题,我们可以根据现实对于计算机数据库的不同要求对加密方法进行选择。本文通过对VFP中数据库加密技术的分析,包括原理和存在的问题,对VFP中数据库加密技术进行了研究,并对各种加密技术的优缺点进行了分析。以期对VFP中数据库加密技术有所贡献,相信随着技术的不断进步,机密技术会取得更大的进步。
参考文献:
[1]郑羽,杨春生,于江.加密与解密实战入门[M].北京:电子工业出版社,2006.
[2]成培,李峰,王畅.连接池数据库访问技术深入研究[J].计算机工程与设计,2007,3.
[作者简介]廖春明(1982-),男,壮族,云南富宁人,文山学院计科系助教,主要从事计算机应用研究。