论文部分内容阅读
摘要: 分析基于网络的数据库安全模型的结构设计,研究模型的功能设计,并进一步实现模型的关键功能。研究希望对同类型的数据库提供一定的参考价值。
关键词: 网络数据库;安全模型;数字签名
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2011)0710077-01
0 引言
随着网络以及信息技术的发展,信息系统的安全越来越得到重视。而数据库安全是信息系统安全的一个分支。而现在是网络的时代,网络数据库与传统数据库有一定的区别,其与网络之间的关联性比较直接,面对的安全隐患也更多,比如:网络信息的非法窃取、网络病毒、网络数据包的非法监听等等,这些都会对网络数据库带来不安全因素。
本文就是针对基于网络的数据库,探讨其安全模型,以更好地保证网络环境下数据库系统的安全性及稳定性。
1 基于网络的数据库安全模型的设计
1.1 模型的结构设计
本文研究的网络数据库安全模型的结构如图1所示。可知,业务处理模块涉及到功能有:身份认证、RBAC授权以及日志记录。
1.2 RBAC的控制授权功能
网络数据库安全模型主要分为一般用户、会员用户以及超级用户。针对三大用户类别,本文建立了角色用户表,目的是为了让用户能够根据相关的权限进行数据库的访问。通过多对多的角色授权映射机制,可以将授权问题转化为角色对应数字与数据库标识对应数字的矩阵,其中用户角色用矩阵的行加以表示,而数据库相关表用矩阵的列加以表示。
当用户身份认证通过之后,角色权限对应标识数为就可以作为一个重要的参数,并传给数据库角色表对应的接口模块,而该接口模块就是授权处理模块。用户每次获得授权,都必须借助于对应的角色数字访问数据库,并获取对应的权力标识数字,这样才能获取对应的控制授权。
1.3 用户身份的认证功能
本文通过数学签名技术实现用户的身份认证,认证流图如图2所示:
整个用户认证步骤如下描述:
1)用户将相关请求发送至认证服务器;
2)认证服务器接收到用户请求,同时生成时间戳以及现时对应数据,打包后反馈到客户端;
3)客户端根据私钥对反馈内容进行签名,并将结果再次传递给认证服务器;
4)服務器直接根据签名进行认证处理。由于私钥只有对应的客户知道,所以签名就有了——对应关系,服务器也可以解析出哪些用户需要并有权访问数据库。
2 网络数据库安全模型关键功能的实现
2.1 签名认证服务器功能的实现
签名认证服务器主要实现服务器端的签名认证,涉及到:文件系统对应的公钥装入;初始化网络连接;实时监听服务器端口的连接状态;时间戳及随机数的生成以及反馈;客户端签名的接收、验证处理以及反馈等。其实现的关键代码如下描述:
Public static void main(String args[]) throws Exceptin {
publicmainKey pKey = repub( pubmainkey File-name ) ; //客户对应的公钥被获取
ServerSocketdd = new Serversocket( serPort ) ;
// 生成对应的套接字,对连接进行检测
Private static PubicmainKey republicKey (String filenm) throw Exception
//公钥对应函数的读取处理
……
While ( (tB = files.read())! =-1 ){
Baos.read (tB);// 获取公钥
}
2.2 客户端签名认证功能的实现
客户端签名认证功能的实现主要涉及到:客户端用户私钥的读取,并通过对其进行解密处理;打开同服务器端的连接;获取从服务器端反馈的需要签名处理的数据;对数据进行数组签名以及结果的反馈操作;获取服务器端的授权布尔值。其实现的关键代码如下描述:
Public static void main(String args[])throws Exception
{
获取、读入并解释用户对应的私钥
……
Socket clientSocket = new Socket ( cliethostnm,PORT);//将连接打开
IntoutFormServer. reF( data _BeSing);//获取需要签名处理的数据
Signature.sntue = Singature.gInstance (“MD5”); //通过MD5进行签名的初始化处理
Boolean ver = inputFormServer.readBoolean() ;
//获取反馈的布尔值,从而确定是否可以接受认证 }
Private static PriKey getPriKey(strin PriKeyFiname,char [] password)throws Exception {
FileInputStream filenames = new FileInPutStream(PriKey filenm);
//用户私钥的获取操作
……
Ciper.init ( Cip.Decry_mde, prikey,paraSpec);
//进行解密的对应处理
}
3 总结
本文针对基于网络的数据库系统提出了安全模型的研究,设计并实现了数字签名技术的认证以及密钥的管理,并通过日志记录避免了非法入侵。该网络数据库安全模型可以很好解决网络数据库所面临的诸多安全隐患,但由于网络环境的复杂性,该网络数据库安全模型的应用需要在实践过程中进一步加以完善。
参考文献:
[1]郑东生,网络数据库的安全性方法及其应用[J].平顶山工学院学报,2011(02).
[2]王静,网络环境下的数据库安全综述[J].合作经济与科技,2009
(05).
关键词: 网络数据库;安全模型;数字签名
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2011)0710077-01
0 引言
随着网络以及信息技术的发展,信息系统的安全越来越得到重视。而数据库安全是信息系统安全的一个分支。而现在是网络的时代,网络数据库与传统数据库有一定的区别,其与网络之间的关联性比较直接,面对的安全隐患也更多,比如:网络信息的非法窃取、网络病毒、网络数据包的非法监听等等,这些都会对网络数据库带来不安全因素。
本文就是针对基于网络的数据库,探讨其安全模型,以更好地保证网络环境下数据库系统的安全性及稳定性。
1 基于网络的数据库安全模型的设计
1.1 模型的结构设计
本文研究的网络数据库安全模型的结构如图1所示。可知,业务处理模块涉及到功能有:身份认证、RBAC授权以及日志记录。
1.2 RBAC的控制授权功能
网络数据库安全模型主要分为一般用户、会员用户以及超级用户。针对三大用户类别,本文建立了角色用户表,目的是为了让用户能够根据相关的权限进行数据库的访问。通过多对多的角色授权映射机制,可以将授权问题转化为角色对应数字与数据库标识对应数字的矩阵,其中用户角色用矩阵的行加以表示,而数据库相关表用矩阵的列加以表示。
当用户身份认证通过之后,角色权限对应标识数为就可以作为一个重要的参数,并传给数据库角色表对应的接口模块,而该接口模块就是授权处理模块。用户每次获得授权,都必须借助于对应的角色数字访问数据库,并获取对应的权力标识数字,这样才能获取对应的控制授权。
1.3 用户身份的认证功能
本文通过数学签名技术实现用户的身份认证,认证流图如图2所示:
整个用户认证步骤如下描述:
1)用户将相关请求发送至认证服务器;
2)认证服务器接收到用户请求,同时生成时间戳以及现时对应数据,打包后反馈到客户端;
3)客户端根据私钥对反馈内容进行签名,并将结果再次传递给认证服务器;
4)服務器直接根据签名进行认证处理。由于私钥只有对应的客户知道,所以签名就有了——对应关系,服务器也可以解析出哪些用户需要并有权访问数据库。
2 网络数据库安全模型关键功能的实现
2.1 签名认证服务器功能的实现
签名认证服务器主要实现服务器端的签名认证,涉及到:文件系统对应的公钥装入;初始化网络连接;实时监听服务器端口的连接状态;时间戳及随机数的生成以及反馈;客户端签名的接收、验证处理以及反馈等。其实现的关键代码如下描述:
Public static void main(String args[]) throws Exceptin {
publicmainKey pKey = repub( pubmainkey File-name ) ; //客户对应的公钥被获取
ServerSocketdd = new Serversocket( serPort ) ;
// 生成对应的套接字,对连接进行检测
Private static PubicmainKey republicKey (String filenm) throw Exception
//公钥对应函数的读取处理
……
While ( (tB = files.read())! =-1 ){
Baos.read (tB);// 获取公钥
}
2.2 客户端签名认证功能的实现
客户端签名认证功能的实现主要涉及到:客户端用户私钥的读取,并通过对其进行解密处理;打开同服务器端的连接;获取从服务器端反馈的需要签名处理的数据;对数据进行数组签名以及结果的反馈操作;获取服务器端的授权布尔值。其实现的关键代码如下描述:
Public static void main(String args[])throws Exception
{
获取、读入并解释用户对应的私钥
……
Socket clientSocket = new Socket ( cliethostnm,PORT);//将连接打开
IntoutFormServer. reF( data _BeSing);//获取需要签名处理的数据
Signature.sntue = Singature.gInstance (“MD5”); //通过MD5进行签名的初始化处理
Boolean ver = inputFormServer.readBoolean() ;
//获取反馈的布尔值,从而确定是否可以接受认证 }
Private static PriKey getPriKey(strin PriKeyFiname,char [] password)throws Exception {
FileInputStream filenames = new FileInPutStream(PriKey filenm);
//用户私钥的获取操作
……
Ciper.init ( Cip.Decry_mde, prikey,paraSpec);
//进行解密的对应处理
}
3 总结
本文针对基于网络的数据库系统提出了安全模型的研究,设计并实现了数字签名技术的认证以及密钥的管理,并通过日志记录避免了非法入侵。该网络数据库安全模型可以很好解决网络数据库所面临的诸多安全隐患,但由于网络环境的复杂性,该网络数据库安全模型的应用需要在实践过程中进一步加以完善。
参考文献:
[1]郑东生,网络数据库的安全性方法及其应用[J].平顶山工学院学报,2011(02).
[2]王静,网络环境下的数据库安全综述[J].合作经济与科技,2009
(05).