基于C/S架构MIS设计中安全技术的应用

时间:2022-01-09 05:39:39

基于C/S架构MIS设计中安全技术的应用

摘要:论述了在C/S体系结构下,基于Microsoft SQL Server 数据库,管理信息系统开发所涉及的相关安全技术,主要包括网络拓扑结构、数据库加密、数据备份与恢复、日志管理、事务处理技术合理使用等。

关键词:管理系统;客户机/服务器;数据库加密

中图分类号:TP309文献标识码:A文章编号:1009-3044(2009)14-3605-02

The Application of Security Technology in MIS Design Based on C/S Architecture

MEI Feng

(Shaoxing University Computer Center,Shaoxing 312000,China)

Abstract: Under the C/S system architecture, this paper discourses the system security technology about MIS's development based on the Microsoft SQL Server database.The system security technology includes network topology, database encryption, database back-up and recovery, reasonable using of transaction processing technology.

Key words: management system; Client/Server; database encryption

1 引言

目前,电脑与网络的使用越来越普遍,社会生活方式、工作方式发生了巨大的变化,人们对管理信息系统的依赖程度日益加深。许多管理信息系统不仅仅管理数据,还管理企业的业务过程。人们对数据安全的关注度不断增加。系统安全,尤其是保障数据的安全是在构建管理信息系统的过程中应重点考虑的问题之一。

2 安全技术

2.1 网络拓扑结构

Client/Server结构模式近年来不断成熟和被广泛应用,这种结构体系合理分配了数据的表现功能,数据库存取功能及数据处理功能,它充分发挥了Client和Server各自的特点。[1]

把数据库和服务端分别装在不同服务器上,装有服务端的服务器可以考虑用双网卡并配置成不同网段,其中一网卡接入客户机的局域网,另一网卡通过交换机与数据库服务器相连。在此拓扑结构下客户端对数据库的操作由服务端代为完成。客户端软件复杂度得到极大降低,不必了解服务器访问数据库的操作细节,同时当系统升级时,如果服务器上的数据库存储位置和库表结构等情况有所变动,客户端软件只须少量甚至不必改动。因为各客户机上没有本地数据库,也不能直接访问服务器上的数据库,这就更加有利于保证数据的一致性和安全性。[2]

系统采用的网络拓扑结构,如图1。

2.2 数据库选择与加密

SQL Server属于网络版,可支持跨界的集团公司异地使用数据库的要求;节点多,支持多重路由器;管理权限划分细致,对内安全性高;数据库划分细致,对外防黑客能力高;并发处理能力方面能同时支持万人在线提交,在其它硬件例如网速等条件匹配的情况下可完全实现;数据处理能力快等特点。[3]

加密技术是信息安全的基础,在安全领域都发挥着关键作用。在系统设计时,不管采用什么数据库,对数据库表里存放密码(特别是管理员的密码)的字段进行有效的加密处理是非常有必要的,这样即使密码字段内容被非法获取也无法获知原始密码,保护了系统安全。数据加密算法有很多,各有所长。其中,MD5就是一种非常优秀的加密技术,且使用它不需要支付任何版权费用。MD5被广泛用于加密解密技术上,如UNIX、各类BSD系统登录密码、通信信息加密、数字签名等诸多方面。

例如:“abc123”经过MD5加密后的32位字符串为:“e99a18c428cb38d5f260853678922e03”

下面给出另外一种加密实现算法,非常简单有效,采用VB描述如下:

Public Function NewPswd(ByVal oldPswd As String, ByVal key As String) As String

Dim iKey As Byte

Dim tmpStr As String * 1

NewPswd = ""

Dim x As Byte, y As Byte, z As Byte

Dim iCount As Integer

For iCount = 1 To Len(Trim(oldPswd))

tmpStr = Left(oldPswd, 1)

oldPswd = Mid(oldPswd, 2)

x = Asc(key)

y = Asc(tmpStr)

z = x Xor y

NewPswd = NewPswd & Chr(z)

Next

End Function

例如:str1=”abc123”那么NewPswd(str1,”a”))加密后的字符串为:“PSR”,NewPswd函数第二个参数根据需要可以变化出各不相同的密码。

2.3 数据备份与恢复

管理系统是以数据库为基础,所以数据的定时备份尤为重要。数据库的大小和数据修改的频率决定了采用何种数据库备份恢复策略。如果数据库较小或修改的频度非常低,则可以只实施完全数据库备份,不过此时要定期清理数据库的事务日志,防止数据库的事务日志被填满。其它情况则需要使用差异备份。

SQL Server的一个优势就是对日常维护的要求比较低,但为了追求更高的可用性和安全性,建议每周做备份,同时注意将备份放在不同的备份媒体中,如多个硬盘。

使用SQL Server的“数据库维护计划”,按步骤创建一个数据库维护计划,可以实现自动备份调度,以及自动删除旧的数据备份,完全能够满足自动备份要求。

对系统数据库备份后,在一些无法避免数据破坏的情况下,可以通过数据还原功能从备份数据库中将数据导入到工作数据库中恢复数据,减少损失。

2.4 日志管理

日志功能是对用户和管理员的日常操作进行记录,其主要包括:系统管理员日志和用户日志。系统管理员日志对于用户的日常操作来说非常重要,对于该系统来说必不可少。由于本软件主要是针对大众上机进行管理的,所以日常操作非常的多,有了系统日志,可以查询系统的运行状况,以便在日常的维护中有案可查。日志功能对于监控数据库安全方面具有重要的作用。

2.5 事务处理

事务是被作为一个逻辑单元而执行的一系列操作,它具有以下特点:原子性、一致性、独立性和有效性。

如果你要对数据库中多个表同时进行修改,那么,我认为事务处理是必需的。它能够保证数据的完整性,即要么都修改,要么都不修改。在事务执行期间,会对所操作的数据进行一定程度的封锁,不准其它事务来干扰。如果事务处理的过程中出现了错误,那么数据库保持原始状态,因为只有执行到mittrans时从cnn.begintrans之后所有的操作才能生效。

通过合理使用事务来保证数据的一致性。例如计费管理系统中充值操作,该过程是先更新“帐户资料”中余额,再向“用户充值与消费”和“操作员充值”表里分别插入充值记录。现在启动一个事务,要求这些操作要么全部执行,要么全部不执行,可以在客户端下写如下代码启动事务,并进行相关的提交和回滚操作。

用户充值过程的核心代码如下:

Dim JFConn as new adodb.connection

JFConn.connectionString="连接字符串"

JFConn.Open

JFConn.BeginTrans '开启事务

On error goto ErrorHand

JFConn.execute "update帐户资料…" '更新余额

JFConn.execute "insert into用户充值与消费…" ‘插入充值历史记录

JFConn.execute " insert into操作员充值…" ‘插入充值记录

mitTrans '提交事务

Exit sub

ErrorHand:

JFConn.RollbackTrans '回滚事务

2.6 数据库验证方式和连接

应用程序端连接数据库时使用的数据库验证方式为SQL Server验证,并且连接数据库的密码尽可能设得复杂些。为了系统具有良好的兼容性和可移植性,我们可以通过系统配置文件或注册表获取相应数据库相关参数(如数据库服务器名或IP地址等),然后生成一个数据库访问的连接字符串。这个连接字符串也可以使用CAPICOM技术加密存储在系统配置文件中。

2.7 通信安全

在管理信息系统设计过程中,为了数据传输的安全,实际应用中,应该将通信数据包采用密文传输,发送方对发送的数据先进行加密,接收方收到密文后再还原为真正的通信数据,以防止被一些恶意用户使用拦截技术、嗅探手段等截取明文数据进行破坏。

3 结束语

随着各类信息管理系统应用的普及,系统的安全性也越来越受到重视。本文初步探讨了C/S架构管理信息系统开发过程中涉及系统数据安全的相关技术,尚有许多其它安全性方面的问题有待今后进一步深入研究和解决。

参考文献:

[1] 刘智.Client/Server结构模式机房管理系统的探讨与研究[J],大连大学学报,2000,21(4):25-26.

[2] 汪彦,阳爱民.基于sockets编程与桌面数据库的机房管理系统[J].山西科技,2007,3:53-54.

[3] 罗兴荣,浅析使用Acces2000与SQLServerZO00的区别[J].电脑知识与技术,2007:1355.

上一篇:J2EE集成开源框架的应用与研究 下一篇:校园网认证技术的研究与应用