BS办公自动化系统是随着Internet技术的兴起而兴起的,是对C/S系统的一种变化和改进。BS办公自动化系统建立在广域网上,面向的是不可知用户群,对安全的控制力较弱。因此将数据库加密技术应用于BS办公自动化系统中将有助于提高系统的安全性能。

一、数据库加密技术

1、数据库加密的设计要求

数据库文件加密解密应当做到以下几点要求:

(1)在实现数据库文件加密后,特权用户(如DBA、系统安全员)的权限度受到限制,没有授权就无法看到被加密的数据;

(2)加密后的数据库文件操作仍然可行有效;

(3)加密后的数据存储时应基本不增加空间开销;

(3)对数据库文件中数据加密和解密时需要给定加密算法、密钥、密钥长度等加密属性,要求数据库加密要有一个合理、安全的密钥管理体制,便于系统管理和使用。

2、加密层次

可以考虑在三个不同层次实现对数据库数据的加密,分别是OS层,DBMS内核层和DBMS外层。在OS层加密,即直接对数据库文件进行加密,虽然开发简单但当进行数据库操作时需要对整个数据库作加解密操作,时空代价较大,可靠性不高;在DBMS内核层加密,加解密过程对用户与应用透明,数据在物理存取之前完成加密和解密工作,但这种方式加重了数据库服务器负载,自主性受限且难于开发:本文将采用在DBMS外层加密,即在DBMS外层增加数据库文件加密层,它可以实现加密和解密、定义加密需求、密钥管理等,虽然数据库文件的操作效率会有所降低,但能够相对灵活的完成加解密工作。

3、加密范围

数据文件加密通过对明文进行复杂的加密操作,以达到无法发现明文和密文之间、密文和密钥之间的内在关系。但是,DBMS要完成对数据库文件的管理和使用,因此,对数据库中数据而言,以下几种字段不能加密。

(1)索引字段不能加密。为了达到迅速查询的目的,数据库文件的索引,无论是字典式的单词索引、B_树索引或者HASH函数索引等,它们的建立和应用必须是明文状态。

(2)关系运算的比较字段不能加密。DBMS要组织和完成关系运算,参加并、差、积、商、投影、选择和连接等操作的数据一般都要经过条件筛选,这种“条件”选择项必须是明文。

(3)表间的连接码字段不能加密。数据库表之间存在着密切的联系,这种相关性往往是通过“外部编码”联系的,这些编码若加密就无法进行表与表之间的连接运算。

4、加密粒度选择

加密粒度是指加密的最小单位。加密粒度越小灵活度就越大。比较几种加密粒度:文件级加密比较粗糙,且会使数据库效率明显受到影响;记录级加密无法实现对在这个记录中小需要的字段不解密,因此灵活性不高;数据项加密虽然安全性灵活性最好,但密钥数量庞大,管理困难;而字段级加密以不同记录的不同字段为基本加密单元,比较适应数据库文件加密的需求,因为通常只需要对某些敏感字段进行加密保护,因此本系统选择了字段级的粒度加密。

5、加密算法选取

对明文进行加密时所采用的一组规则称作加密算法,而它的逆过程称作解密算法。一个好的数据库文件加密算法应该保证数据库文件加密后,数据量不应明显增加。同时,适应数据库系统的特性,加解密响应迅速。本系统采用会话密钥加密的方法,它是对称加密和非对称加密方法的结合,即用对称密钥对数据加密,公钥对密钥本身加密。这种方法与对称加密相比较更加安全,与非对称加密相比又能够节约CPU的时间,这对程序的可用性非常关键。

三、BS办公系统的数据库文件加密设计与实现

1、BS办公系统开发平台

BS办公系统表示层使用JSP技术;应用程序服务器采用Tomcat,解释和执行JSP程序,并传送给Web服务器;后台使用soLServer2000作为数据库服务器;并使用JDBC连接池技术实现服务器与数据库的连接;加密包采用JAVA密码构架(JCA)和JAVA密码扩展(JCE)。

2、系统结构设计

数据库加密技术在BS办公自动化系统中的应用

用户通过浏览器向服务器发送请求,Web服务器对需要访问数据库的请求交中间件处理,对需要加密的数据文件由加密和解密模块处理。用户查询加密数据库系统的处理流程如下:

(1)浏览器的用户程序发出连接数据库请求。

(2)系统根据身份认证机制判断用户身份。

(3)如果身份合法,用户向加密后的数据库系统提供用户密钥及访问请求。

(4)系统根据访问权限判断是否响应用户的请求。

(5)如果有此权限,则数据库文件加密和解密引擎执行查询请求,得到密文数据。

(6)查询加密字典获得密钥,对密文解密并返回给用户。

3、系统功能设计

系统包括用户管理、数据库连接、加密和解密引擎、密钥生成及管理等模块,下面介绍各模块的功能及实现。

(1)用户管理模块

实现用户身份校验和级别管理。对于非法的用户请求,用户管理模块将其阻挡在应用系统之外;对于合法的用户请求,用户管理模块根据用户请求的类型和用户合法身份的级别,限制和管理用户在应用系统中使用的功能和服务。设计采用了基于角色的访问控制(RBAC)模型网,以及加盐的消息摘要技术对用户密码信息进行保护。身份认证的流程如图2所示。

数据库加密技术在BS办公自动化系统中的应用

(2)密钥管理模块

实现对密钥的生成、加密、存储、管理等工作。对每个数据库用户,系统自动产生用户密钥对,密钥对中的公钥和被用户口令加密后的私钥—起存放在加密字典中;而对每个需要加密的字段,系统会自动产生一个数据密钥,这个数据密钥则由用户密钥对中的公钥加密后存放在密钥表中。涉及的主要数据库表设计如下:

数据库加密技术在BS办公自动化系统中的应用

(3)加密、解密引擎模块

是整个系统的核心部件。用户对数据文件进行插入、删除、更新、查询等操作时,需要数据文件加密和解密模块来完成。加密时明文经过加密存入数据库,解密时先将密文从数据库中读出再进行解密操作。以加密Corporate表的IDCard字段为例,加密数据的主要步骤示例如下:

KeyGcncrator kg=KeyGcnerator.gctlnstance(’’Blowfish") ;//生成sessionKey_kg.init (128);

Key sessionKey=kg.gcnerateKey();

加密模式下初始化Cipher

Cipher SymmelricCiphcr=Cipbcr,gctlnst.ancc("Blowjjsh/ECB/PKCS5Padding");

symmetricCipher.init (Cipher.ENCRYPT- MODE, scssionKey);

EncryptcdIDCard;symmctricCiphcr.doFinal (IDCard.gcLBytes ("UTF8"));//加密数据

//加密sessionKey

Cipher asymnwtricCiphcr=Cipher.getlnstancc("RSA/ECIVPKCSIPadding");

asymrnetricCipher.init (Cipher.ENCRYPT MODE. mPublicKey);

EncryptedSessionKey:asymmetricCiphcr.doFinaJ (sessionKey.getEncoded0);

解密数据的主要步骤如下:

用私钥解密 scssionKey

Cipher asymmetricCipher = Cipher.gctlnsiancc ( "RSA/ECB/PKCSIPadding") ;

asymmctricCiphcr.init (Ciphcr.DECRYPT MODE, privateKey) ;

byteo sessionKcyBytcs= asymmetricaphcr.doFinal (CorporateDBO .getEncryptcdSc:ssionKcy0) ;

//用sessionKey解密数据

SecrctKcy symmelricKey = new SccrctKeySpec (sessionKeyByt es, " Blowfish")

Cipher symmetricCipher = Cipher.gctjnstancc UBlowfish/ECIVPKCS5Padding")

symmctricCipherinit (Cipher.DECRYPT_MODE, symmetricKey) ;

byte O IDCardBytcs = symmctricCipher.doFinal (CorporateDBO_.gctEncryptedIDCard0) ;

IDCard = new String (IDCardBytcs, “UTF8”) ;

(4)数据库连接模块

此模块是系统与数据库通信的桥梁,采用JDBC以及数据库连接池技术,实现Web服务器与后台数据库的连接。通过SQL语句与数据库交互,完成基本的数据库操作。

数据库中敏感数据文件经加密系统处理后,以密文形式存储,即使非法使用者窃取了数据库文件,仍然难以得到所需的信息口对于那些敏感数据,系统管理员也不能见到其明文,提高了关键数据的安全性。该加密系统在用户管理设计中采用基于角色的访问控制(RBAC)以及基于口令的加密(PBE)技术对用户密码信息进行保护;采取混合密码体制以及多级密钥的管理方法,来提高整个系统的安全性和易用性。因此,按照以上加密方案实现的系统,有较好的安全性能,保证了数据的机密性和完整性。

小知识之办公自动化系统

办公自动化系统是利用技术的手段提高办公的效率,进而实现办公自动化处理的系统。它采用Internet/Intranet技术,基于工作流的概念,使企业内部人员方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,实现迅速、全方位的信息采集、信息处理,为企业的管理和决策提供科学的依据,深受众多企业的青睐。