一种数据库安全访问方法和系统技术方案

技术编号:2846677 阅读:179 留言:0更新日期:2012-04-11 18:40
公开了一种数据库安全访问方法和系统,以提供更高的数据库安全性。该系统包括:数据库,用于存储数据源;通过第一网络与数据库连接的客户端,用于发起认证请求,和在认证通过的情况下访问数据库;通过第一网络与客户端连接且通过第二网络与数据库连接的应用服务器,用于接收来自客户端的认证请求,由认证装置进行认证,在认证通过的情况下获取数据库访问信息,并将数据库访问信息发送给客户端;其中,客户端根据数据库访问信息访问数据库。利用本发明专利技术的方案,提高了数据库密码的安全性,减少了客户机和数据库系统之间的耦合性并且能够对密码进行统一管理。

【技术实现步骤摘要】

本专利技术涉及一种数据库领域,特别涉及一种数据库安全访问方法和系统
技术介绍
在目前的CS模式中,常用的方式是操作员输入自己的用户名和密码登陆客户端,然后通过保存在客户端的数据库用户密码登陆到数据库上进行用户的有效性验证,这种方式存在着以下几个比较严重的问题1、系统安全性很差。由于在客户端有数据库地址,数据库用户,数据库密码,如果这些泄漏出去对系统将造成不可估计的损失。2、系统的可维护性很差。由于数据库的很多信息都保存在客户端,限制了系统的很多变更。例如系统进行迁移或者修改IP地址;数据库修改用户口令等,这些变化都需要重新发布客户端程序。
技术实现思路
鉴于上述问题,完成了本专利技术。本专利技术实现了CS架构下数据库的安全访问,增强了数据库的独立性,同时数据库的任何操作都可以不影响客户端。本专利技术主要解决传统CS架构模式下通过将数据库用户名和密码保存在客户端存在的数据库访问安全问题。在本专利技术的第一方面,提供了一种数据库安全访问系统,包括数据库,用于存储数据源;通过第一网络与数据库连接的客户端,用于发起认证请求,和在认证通过的情况下访问数据库;通过第一网络与客户端连接且通过第二网络与数据库连接的应用服务器,用于接收来自客户端的认证请求,由认证装置进行认证,在认证通过的情况下获取数据库访问信息,并将数据库访问信息发送给客户端;其中,客户端根据数据库访问信息访问数据库。根据本专利技术的实施例,所述客户端包括第一加解密模块,用于对认证请求进行加密,和对来自应用服务器的信息进行解密;以及所述应用服务器包括第二加解密模块,用于对来自客户端的已加密认证请求进行解密,由认证装置进行认证,和对所获得的数据库访问信息加密,发送给客户端。根据本专利技术的实施例,所述数据库访问信息存储在应用服务器、数据库或者认证装置中。根据本专利技术的实施例,所述第一网络是公共网,所述第二网络是内部网。根据本专利技术的实施例,所述数据库访问信息包括数据库地址、数据库服务器名称、用户名和密码中的至少一个。在本专利技术的第二方面,提出了一种数据库安全访问方法,包括步骤客户端发起认证请求;认证装置对应用服务器接收的认证请求进行认证;在认证通过的情况下,由应用服务器获得数据库访问信息并将其发送给客户端;客户端基于数据库访问信息访问数据库。根据本专利技术的实施例,在客户端对认证请求加密,在应用服务器对已加密的认证请求解密;以及在应用服务器对数据库访问信息加密,在客户端对已加密的数据库访问信息解密。本专利技术解决了CS架构模式下的数据库安全访问问题,主要有以下优点1、数据库密码的安全性。通过服务器端的认证成功后获得存放在统一认证服务器端的数据库访问密码等信息,保证了数据库相关信息的安全,防止泄露。2、减少了客户机和数据库系统之间的耦合性。数据库系统的任何变化,例如修改用户密码,甚至数据库迁移,都不需要通知客户机,只需要修改应用服务器上相应的信息就可以了。保证了数据库系统的灵活性和可维护性。3、密码进行了统一管理。所有柜员的身份都通过统一认证系统进行了验证,保证了每个柜员只有一个有效的身份,不会出现一个柜员在不同系统使用不同身份的情况。附图说明本专利技术的实施例由实例来描述,并不受附图中的图的限制,附图中相似的参考数字表示对应的、类似的或相似的元件,附图中图1是根据本专利技术实施例的数据库安全访问系统的架构图;图2是根据本专利技术实施例的数据库安全访问系统的工作流程图。具体实施例方式下面详细描述中给出了许多具体细节,以确保对本专利技术实例的透彻理解。但是,对于知道本领域基本常识的人,能够理解没有这些具体细节,本专利技术的实施例也能实现。另外,没有详细描述众所周知的方法、过程、部件和电路,以避免使本专利技术的实现变得不清楚。图1是根据本专利技术实施例的数据库安全访问系统的架构图。如图1所示,根据本专利技术实施例的CS架构模式下数据库安全访问系统包括客户端1、应用服务器2、统一认证服务器3以及数据库服务器4。客户端1与应用服务器2以及数据库服务器4之间通过公共网络相连接。应用服务器2与数据库服务器4以及统一认证服务器3之间通过内部网络相连接。客户端1可以是一台个人PC,安装有客户端软件,向用户提供客户端操作界面。此外客户端1有显示装置和输入装置,输入装置可以是键盘和鼠标,客户端用户通过输入装置输入认证信息,例如用户名和密码,经加解密模块1a对该认证信息进行加密后发送给应用服务器2,然后由统一认证服务器3进行认证。此外,客户端1接收应用服务器2返回的认证结果信息后,经加解密模块1a进行解密,并利用解密后的认证结果信息,判断认证是否通过,如果没有通过,则提示认证失败,否则利用认证结果信息访问数据库服务器4。客户端1传输的信息需要加密后给应用服务器2,同时应用服务器2返传给客户端1的信息采用同样的加密算法进行加密,然后返传给客户端1。这里加解密模块1a和2a采用的加密解密算法可以是1、对称加密算法如高级加密标准算法AES(AdvancedEncryption Standard),美国数据加密标准算法DES(DataEncryption Standard);2、散列算法;3、循环冗余校验算法CRC(Cyclic Redundancy Check)。此外,还可以是如下算法将原码的每一位转换成二进制数A,然后产生一个随机数B。将该二进制数A进行B次左移,得到一个新的二进制数C。然后,再产生一个随机数D,将C加上D就得到加密后的密文E。用E代替原来A的位置,在原来字符长度加上A原来的位置得到一个新的字符位置,该位置存放B。在原来字符长度乘以2加上A原来的位置得到一个新的字符位置,该位置存放D。得到的密文长度变成了原来长度的3倍。应用服务器2可以是一个web服务器,为客户提供基于http和https的服务。应用服务器2与数据库服务器4以及统一认证服务器3之间通过内部网络相连接,接收客户端1发送过来的认证信息后,经加解密模块2a解密后转发给统一认证服务器3进行认证,并接收统一认证服务器3返回的认证结果。如果认证结果是通过,则应用服务器将其上存储的相应的数据库地址、数据库服务器名称、用户名和密码等数据库相关信息,连同认证结果经加解密模块2a加密后返回给客户端1,否则,直接将认证结果经加解密模块2a加密后返回给客户端1。统一认证服务器3主要是对当前登陆柜员的身份进行认证。通过对解密后的认证信息与保存在本地的柜员身份进行比较,如果认证通过,说明柜员身份合法,否则就是不合法柜员,不能使用相应的系统,并将认证结果返回给应用服务器2。数据库服务器4存放了所有客户端感兴趣的数据源。数据库服务器4对客户端1的数据请求进行解析,数据抽取,将得到的记录集通过网络返回到客户端1,在客户端1的输出界面上进行展示。另,通过数据库服务器4与应用服务器2相连接,可以方便的将变更的数据库相关信息通过内部网络下传到应用服务器2上。需要说明的是数据库相关信息可以保存在应用服务器2的某个配置文件中,也可以保存在统一认证服务器3中,还可以保存在数据库服务器4中。图2是根据本专利技术实施例的数据库安全访问系统的工作流程图。如图2所示,根据本专利技术实施例的CS架构模式下数据库安全访问系统的工作过程描述如下步骤S100客户端1登陆,在登陆界面上输入认证信息,例如用户名和密码,由加解密本文档来自技高网...

【技术保护点】
一种数据库安全访问系统,包括:数据库,用于存储数据源;通过第一网络与数据库连接的客户端,用于发起认证请求,和在认证通过的情况下访问数据库;通过第一网络与客户端连接且通过第二网络与数据库连接的应用服务器,用于接收来自客 户端的认证请求,由认证装置进行认证,在认证通过的情况下获取数据库访问信息,并将数据库访问信息发送给客户端;其中,客户端根据数据库访问信息访问数据库。

【技术特征摘要】
1.一种数据库安全访问系统,包括数据库,用于存储数据源;通过第一网络与数据库连接的客户端,用于发起认证请求,和在认证通过的情况下访问数据库;通过第一网络与客户端连接且通过第二网络与数据库连接的应用服务器,用于接收来自客户端的认证请求,由认证装置进行认证,在认证通过的情况下获取数据库访问信息,并将数据库访问信息发送给客户端;其中,客户端根据数据库访问信息访问数据库。2.根据权利要求1所述的系统,其特征在于所述客户端包括第一加解密模块,用于对认证请求进行加密,和对来自应用服务器的信息进行解密;以及所述应用服务器包括第二加解密模块,用于对来自客户端的已加密认证请求进行解密,由认证装置进行认证,和对所获得的数据库访问信息加密,发送给客户端。3.根据权利要求2所述的系统,其特征在于,所述数据库访问信息存储在应用服务...

【专利技术属性】
技术研发人员:杨龙如杨洋陈骏
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1