CN100514333C - 一种数据库安全访问方法和系统 - Google Patents
一种数据库安全访问方法和系统 Download PDFInfo
- Publication number
- CN100514333C CN100514333C CN 200610104098 CN200610104098A CN100514333C CN 100514333 C CN100514333 C CN 100514333C CN 200610104098 CN200610104098 CN 200610104098 CN 200610104098 A CN200610104098 A CN 200610104098A CN 100514333 C CN100514333 C CN 100514333C
- Authority
- CN
- China
- Prior art keywords
- client
- database
- application server
- network
- authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
公开了一种数据库安全访问方法和系统,以提供更高的数据库安全性。该系统包括:数据库,用于存储数据源;通过第一网络与数据库连接的客户端,用于发起认证请求,和在认证通过的情况下访问数据库;通过第一网络与客户端连接且通过第二网络与数据库连接的应用服务器,用于接收来自客户端的认证请求,由认证装置进行认证,在认证通过的情况下获取数据库访问信息,并将数据库访问信息发送给客户端;其中,客户端根据数据库访问信息访问数据库。利用本发明的方案,提高了数据库密码的安全性,减少了客户机和数据库系统之间的耦合性并且能够对密码进行统一管理。
Description
技术领域
本发明涉及一种数据库领域,特别涉及一种数据库安全访问方法和系统。
背景技术
在目前的CS模式中,常用的方式是操作员输入自己的用户名和密码登陆客户端,然后通过保存在客户端的数据库用户密码登陆到数据库上进行用户的有效性验证,这种方式存在着以下几个比较严重的问题:
1、系统安全性很差。由于在客户端有数据库地址,数据库用户,数据库密码,如果这些泄漏出去对系统将造成不可估计的损失。
2、系统的可维护性很差。由于数据库的很多信息都保存在客户端,限制了系统的很多变更。例如系统进行迁移或者修改IP地址;数据库修改用户口令等,这些变化都需要重新发布客户端程序。
发明内容
鉴于上述问题,完成了本发明。本发明实现了CS架构下数据库的安全访问,增强了数据库的独立性,同时数据库的任何操作都可以不影响客户端。
本发明主要解决传统CS架构模式下通过将数据库用户名和密码保存在客户端存在的数据库访问安全问题。
在本发明的第一方面,提供了一种C/S架构下的数据库安全访问系统,包括:数据库,用于存储数据源;通过第一网络与数据库连接的客户端,用于发起认证请求,和在认证通过的情况下访问数据库;通过第一网络与客户端连接且通过第二网络与数据库连接的应用服务器,用于接收来自客户端的认证请求,由认证装置进行认证,在认证通过的情况下获取数据库访问信息,并将数据库访问信息发送给客户端;其中,客户端根据数据库访问信息访问数据库;所述客户端包括第一加解密模块,用于对认证请求进行加密,和对来自应用服务器的信息进行解密;以及所述应用服务器包括第二加解密模块,用于对来自客户端的已加密认证请求进行解密,由认证装置进行认证,和对所获得的数据库访问信息加密,发送给客户端;其中所述数据库对访问请求进行解析,并进行数据抽取,将得到的记录通过网络发送给客户端;以及客户端在输出界面上显示所述记录;其中述第一加解密模块和所述第二加解密模块:将原码的每一位转换成二进制数A,然后产生一个随机数B,将该二进制数A进行B次左移,得到一个新的二进制数C,然后再产生一个随机数D,将C加上D得到加密后的密文。
根据本发明的实施例,所述数据库访问信息存储在应用服务器、数据库或者认证装置中。
根据本发明的实施例,所述第一网络是公共网,所述第二网络是内部网。
根据本发明的实施例,所述数据库访问信息包括数据库地址、数据库服务器名称、用户名和密码中的至少一个。
在本发明的第二方面,提出了一种C/S架构下的数据库安全访问方法,包括步骤:客户端发起认证请求;认证装置对应用服务器接收的认证请求进行认证;在认证通过的情况下,由应用服务器获得数据库访问信息并将其发送给客户端;客户端基于数据库访问信息访问数据库;其中在客户端对认证请求加密,在应用服务器对已加密的认证请求解密;以及在应用服务器对数据库访问信息加密,在客户端对已加密的数据库访问信息解密;其中所述数据库对访问请求进行解析,并进行数据抽取,将得到的记录通过网络发送给客户端;以及客户端在输出界面上显示所述记录;其中所述客户端和所述应用服务器:将原码的每一位转换成二进制数A,然后产生一个随机数B,将该二进制数A进行B次左移,得到一个新的二进制数C,然后再产生一个随机数D,将C加上D得到加密后的密文。
本发明解决了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登陆,在登陆界面上输入认证信息,例如用户名和密码,由加解密模块1a加密后发送给应用服务器2;
步骤S101:应用服务器2接收认证信息后,由加解密模块2a解密认证信息,并转发给统一认证服务器3;
步骤S102:统一认证服务器3进行认证;
步骤S103:统一认证服务器3将认证结果返回给应用服务器2;
步骤S104:应用服务器2将接收到的认证结果信息进行分析,如果认证通过,则获取数据库相关信息,加解密模块2a将认证结果和数据库相关信息一起加密,返回给客户端1;如果认证不通过,则只将认证结果加密后返回给客户端1。
步骤S105:客户端1接收到认证结果信息后,在加解密模块1a进行解密;
步骤S106:客户端1对解密后的认证结果信息判断认证是否通过;
步骤S107:客户端1判断如果认证没有通过,则提示“认证失败”;
步骤S108:客户端1判断如果认证通过,则利用相关信息访问数据库服务器4。
以上展示和描述了本发明的一些特征,在所附的权利要求范围内,具备该领域常识的人会发现本发明还有很多修改、替换、改变和等同之处。
Claims (6)
1.一种C/S架构下的数据库安全访问系统,包括:
数据库,用于存储数据源;
通过第一网络与数据库连接的客户端,用于发起认证请求,和在认证通过的情况下访问数据库;
通过第一网络与客户端连接且通过第二网络与数据库连接的应用服务器,用于接收来自客户端的认证请求,由认证装置进行认证,在认证通过的情况下获取数据库访问信息,并将数据库访问信息发送给客户端;
其中,客户端根据数据库访问信息访问数据库;
所述客户端包括第一加解密模块,用于对认证请求进行加密,和对来自应用服务器的信息进行解密;以及
所述应用服务器包括第二加解密模块,用于对来自客户端的已加密认证请求进行解密,由认证装置进行认证,和对所获得的数据库访问信息加密,发送给客户端;
其中所述数据库对访问请求进行解析,并进行数据抽取,将得到的记录通过网络发送给客户端;以及
客户端在输出界面上显示所述记录;其中所述第一加解密模块和所述第二加解密模块按照如下过程进行上述加密:
将原码的每一位转换成二进制数A,然后产生一个随机数B,将该二进制数A进行B次左移,得到一个新的二进制数C,然后再产生一个随机数D,将C加上D得到加密后的密文。
2.根据权利要求1所述的系统,其特征在于,所述数据库访问信息存储在应用服务器、数据库或者认证装置中。
3.根据权利要求1所述的系统,其特征在于,所述第一网络是公共网,所述第二网络是内部网。
4.根据权利要求1所述的系统,其特征在于,所述数据库访问信息包括数据库地址、数据库服务器名称、用户名和密码中的至少一个。
5.一种C/S架构下的数据库安全访问方法,包括步骤:
客户端发起认证请求;
认证装置对应用服务器接收的认证请求进行认证;
在认证通过的情况下,由应用服务器获得数据库访问信息并将其发送给客户端;
客户端基于数据库访问信息访问数据库;
其中在客户端对认证请求加密,在应用服务器对已加密的认证请求解密;以及
在应用服务器对数据库访问信息加密,在客户端对已加密的数据库访问信息解密;
其中所述数据库对访问请求进行解析,并进行数据抽取,将得到的记录通过网络发送给客户端;以及
客户端在输出界面上显示所述记录;其中所述客户端和所述应用服务器按照如下过程进行上述加密:
将原码的每一位转换成二进制数A,然后产生一个随机数B,将该二进制数A进行B次左移,得到一个新的二进制数C,然后再产生一个随机数D,将C加上D得到加密后的密文。
6.根据权利要求5所述的方法,其特征在于,所述数据库访问信息存储在应用服务器、数据库或者认证装置中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610104098 CN100514333C (zh) | 2006-08-01 | 2006-08-01 | 一种数据库安全访问方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610104098 CN100514333C (zh) | 2006-08-01 | 2006-08-01 | 一种数据库安全访问方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1889081A CN1889081A (zh) | 2007-01-03 |
CN100514333C true CN100514333C (zh) | 2009-07-15 |
Family
ID=37578359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610104098 Active CN100514333C (zh) | 2006-08-01 | 2006-08-01 | 一种数据库安全访问方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100514333C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4989431B2 (ja) * | 2007-11-30 | 2012-08-01 | 株式会社富士通ビー・エス・シー | セキュリティ管理プログラム、セキュリティ管理方法および携帯端末装置 |
CN101685528A (zh) * | 2008-09-28 | 2010-03-31 | 北京易路联动技术有限公司 | 互联网个人数据银行技术的管理方法、系统及网络侧设备 |
CN102025722A (zh) * | 2010-10-19 | 2011-04-20 | 深圳市拜特科技股份有限公司 | C/s架构客户机安全获取数据库服务器连接信息的方法 |
US20160162683A1 (en) * | 2013-05-29 | 2016-06-09 | Hewlett Packard Enterprise Development Lp | Passive security of applications |
CN103336748A (zh) * | 2013-05-31 | 2013-10-02 | 北京中创信测科技股份有限公司 | 智能计算机系统及在其中运行的方法 |
CN105279197A (zh) * | 2014-07-24 | 2016-01-27 | 中国银联股份有限公司 | JavaEE应用服务器与数据库建立连接的方法和装置 |
CN105100107B (zh) * | 2015-08-17 | 2018-10-12 | 深信服科技股份有限公司 | 代理客户端账号认证的方法和装置 |
CN108345801B (zh) * | 2018-02-09 | 2021-09-28 | 南京邮电大学 | 一种面向密文数据库的中间件动态用户认证方法及系统 |
CN113553573B (zh) * | 2021-07-09 | 2024-02-06 | 深圳市高德信通信股份有限公司 | 一种数据安全验证方法 |
-
2006
- 2006-08-01 CN CN 200610104098 patent/CN100514333C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN1889081A (zh) | 2007-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6941146B2 (ja) | データセキュリティサービス | |
US20210367795A1 (en) | Identity-Linked Authentication Through A User Certificate System | |
CN100514333C (zh) | 一种数据库安全访问方法和系统 | |
CN103685282B (zh) | 一种基于单点登录的身份认证方法 | |
CN111447214B (zh) | 一种基于指纹识别的公钥密码集中服务的方法 | |
JP5926441B2 (ja) | マルチパーティシステムにおける安全な認証 | |
CN102685093B (zh) | 一种基于移动终端的身份认证系统及方法 | |
JP2018077893A (ja) | 関連データを有するポリシー施行 | |
WO2019109097A1 (en) | Identity verification document request handling utilizing a user certificate system and user identity document repository | |
EP3090520A1 (en) | System and method for securing machine-to-machine communications | |
JP2001326632A (ja) | 分散グループ管理システムおよび方法 | |
WO2013101358A1 (en) | System and method for secure network login | |
US8397281B2 (en) | Service assisted secret provisioning | |
CN113748657B (zh) | 用于许可认证的方法、节点、系统和计算机可读存储介质 | |
US11716312B1 (en) | Platform for optimizing secure communications | |
WO2014067925A1 (en) | Telecommunications chip card | |
JP2012519995A (ja) | ネットワーク通信を保護する方法および装置 | |
GB2404535A (en) | Secure transmission of data via an intermediary which cannot access the data | |
JP2001186122A (ja) | 認証システム及び認証方法 | |
Griffin | Telebiometric authentication objects | |
JP4823704B2 (ja) | 認証システムおよび同システムにおける認証情報委譲方法ならびにセキュリティデバイス | |
Guo et al. | Using blockchain to control access to cloud data | |
KR101510290B1 (ko) | Vpn에서 이중 인증을 구현하기 위한 장치 및 이의 동작 방법 | |
Beltrán et al. | Federated system-to-service authentication and authorization combining PUFs and tokens | |
Vossaert et al. | User-centric identity management using trusted modules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |