论文部分内容阅读
摘要:针对分布式数据库系统的安全性要求,从身份验证、保密通信、访问控制、库文加密等方面,对分布式数据库的安全策略和机制进行了比较和分析。
关键词:分布式数据库:安全机制;身份验证;访问控制;加密
分布式数据库是指物理上分布于多个网络站点,而逻辑上统一的数据库系统,它由一组通过网络互连的服务器和客户机组成。系统中的用户访问分布式数据库时,首先由任意一个客户机登录,进行身份验证,系统确认该用户的合法身份后,接受该用户提出的数据库访问请求,并将请求经用户接口转换后。由编译层进行语法语义分析、权限检查等操作。而后提交本地或远程事务管理层监督执行。同集中式数据库系统相比,分布式数据库系统存在的安全问题主要有:
(1)一个分布式数据库系统常常具有多个用户和用户组,而这些用户和用户组又通常分布于系统的各个站点。因此,确认系统中用户的合法身份显然较集中式数据库系统的方法更为复杂。
(2)分布式数据库系统内的用户通常需要共享系统内的数据,而这些数据可能由不同的用户存储,并可能分布在多个站点上,同一数据对不同用户可能具有不同的安全要求。
(3)单纯的只根据用户安全级别进行的访问控制可能造成未授权信息的泄露。
因此,对于分布式数据库系统来说,安全策略是安全体系结构中的重要部分。安全策略是规定一组如何管理、保护和分配敏感信息的法律以及规则和实践经验的集合。安全机制是对安全策略的实现,如密码体制、数字签名、访问控制等。下面详细阐述分布式数据库系统的安全策略及机制中目前所使用的相关技术。
1、身份验证
1.1用户登录
常使用的是系统给每个合法用户分配一个唯一的用户标识和口令。高级系统要使用智能卡技术、物理特征(指纹、声纹、手图、视网膜等)认证技术、数字签名等。
1.2站点间身份验证
Kerberos是基于对称密码体制的双向身份验证协议,各站点从密钥管理中心获得与耳际站点通信用的秘密密钥。基于公钥密码体制拘双向身份验证协议,每个站点都生成一个非对称密码算法(RSA)的公钥对,其中私钥由站点自己保存,并通过可信渠道把自己的公钥分发到分布式系统的其他站点,然后任意两个站点可以利用所获得的公钥信息相互验证身份。
2、保密通信
使用保密通信技术,可有效地防止黑客在网络信道上监听窃取数据。数据链路层上有加密机、加密卡。网络层上有IPSEC协议规范的安全路由器和通信软件。传输层上有安全套接字协议(SSL)。应用层上有安全代理软件。
3、访问控制
系统使用合适的访问控制模型和机制对用户的数据访问请求进行是否授权的检查。通过各级别检查的请求才能被系统执行相应的操作。
(1)自主访问控制模型(DAC)基于用户的身份和访问控制规则。允许用户将其访问权力赋予其他用户。主要缺点是难以控制已被赋予出去的访问权限。
(2)强制访问控制模型(MAC)。主体和客体被赋予安全级,安全级包含两个元素:密级和范围。主体的安全级反映主体的可信度,客体的安全级反映客体所含信息的敏感程度。MAC访问控制的规则是不准上读,主体只能读安全级受其安全级支配的客体;不准下写,主体只能写安全级支配其安全级的客体。MAC会引起多级关系和多实例问题。
(3)基于角色的访问控制模型(RBAC),提供了解决具有大量用户、数据客体和访问权限的系统中授权管理问题。涉及用户(USER)、角色(ROLE)、访问权(PERMISSION)、会话(SESSION)等主要概念。现在有四种RBAC模型:基本模型RBAC0,指明用户、角色、访问权和会话之间的关系;层次模型RBAC1,是偏序的。上层角色继承下层角色的访问权:约束模型RBAC2,除了包含RBAC0的所有基本特性外。增加了对RBAC0的所有元素的约束检查,只有拥有有效值的元素才可被接受;层次约束模型RBAC3,兼有RBAC1和RBAC2的特点。RBAC与策略无关,可灵活运用于各种不同的安全策略。
4、库文加密
库文数据加密是将需要保护的数据(明码文)在秘密信息(密钥)的作用下按照一定的规则(加密算法)变换成他人无法识别的形式(密码文)。
(1)加密/解密算法。常用的有:DES算法、RSA算法、MH背包算法。MH背包算法是一种适合数据库加密的算法。
(2)加密粒度。基于文件的加密:单机上的数据库系统使用,使用传统的单密钥密码体制(DES)。基于记录的加密:在各自密钥的作用下,将数据库的每一个记录加密成密码文并存放于数据库文件中;记录的查找是通过将需查找的值加密成密码文后进行的。不能实现如索引、连接、统计、排序等操作。基于字段的加密:将记录中的一部分字段加密。索引项、比较、表问的连接码等字段不能加密。
小结
对于分布式数据库来说,安全和效率是很难兼得的,这就要求我们在选择安全策略的时候应尽量平衡这两方面的因素。通常情况下需要多种安全机制相结合。对于安全性要求不高的系统使用基于口令的身份验证和访问控制就足够了。对于通讯线路保密有要求的话还需要使用保密通信和加密的机制。对于高安全级别的系统而言除了这些安全机制外,访问控制模型和密钥管理的选择也十分重要。基于角色的访问控制模型能满足要求又比较容易实现:多级安全访问控制模型比较适合政府机关、金融机构、军事组织等场合。总之没有一种方法能够解决所有问题,应该在实践中不断探索,在安全与效率上找到最佳的结合点。
关键词:分布式数据库:安全机制;身份验证;访问控制;加密
分布式数据库是指物理上分布于多个网络站点,而逻辑上统一的数据库系统,它由一组通过网络互连的服务器和客户机组成。系统中的用户访问分布式数据库时,首先由任意一个客户机登录,进行身份验证,系统确认该用户的合法身份后,接受该用户提出的数据库访问请求,并将请求经用户接口转换后。由编译层进行语法语义分析、权限检查等操作。而后提交本地或远程事务管理层监督执行。同集中式数据库系统相比,分布式数据库系统存在的安全问题主要有:
(1)一个分布式数据库系统常常具有多个用户和用户组,而这些用户和用户组又通常分布于系统的各个站点。因此,确认系统中用户的合法身份显然较集中式数据库系统的方法更为复杂。
(2)分布式数据库系统内的用户通常需要共享系统内的数据,而这些数据可能由不同的用户存储,并可能分布在多个站点上,同一数据对不同用户可能具有不同的安全要求。
(3)单纯的只根据用户安全级别进行的访问控制可能造成未授权信息的泄露。
因此,对于分布式数据库系统来说,安全策略是安全体系结构中的重要部分。安全策略是规定一组如何管理、保护和分配敏感信息的法律以及规则和实践经验的集合。安全机制是对安全策略的实现,如密码体制、数字签名、访问控制等。下面详细阐述分布式数据库系统的安全策略及机制中目前所使用的相关技术。
1、身份验证
1.1用户登录
常使用的是系统给每个合法用户分配一个唯一的用户标识和口令。高级系统要使用智能卡技术、物理特征(指纹、声纹、手图、视网膜等)认证技术、数字签名等。
1.2站点间身份验证
Kerberos是基于对称密码体制的双向身份验证协议,各站点从密钥管理中心获得与耳际站点通信用的秘密密钥。基于公钥密码体制拘双向身份验证协议,每个站点都生成一个非对称密码算法(RSA)的公钥对,其中私钥由站点自己保存,并通过可信渠道把自己的公钥分发到分布式系统的其他站点,然后任意两个站点可以利用所获得的公钥信息相互验证身份。
2、保密通信
使用保密通信技术,可有效地防止黑客在网络信道上监听窃取数据。数据链路层上有加密机、加密卡。网络层上有IPSEC协议规范的安全路由器和通信软件。传输层上有安全套接字协议(SSL)。应用层上有安全代理软件。
3、访问控制
系统使用合适的访问控制模型和机制对用户的数据访问请求进行是否授权的检查。通过各级别检查的请求才能被系统执行相应的操作。
(1)自主访问控制模型(DAC)基于用户的身份和访问控制规则。允许用户将其访问权力赋予其他用户。主要缺点是难以控制已被赋予出去的访问权限。
(2)强制访问控制模型(MAC)。主体和客体被赋予安全级,安全级包含两个元素:密级和范围。主体的安全级反映主体的可信度,客体的安全级反映客体所含信息的敏感程度。MAC访问控制的规则是不准上读,主体只能读安全级受其安全级支配的客体;不准下写,主体只能写安全级支配其安全级的客体。MAC会引起多级关系和多实例问题。
(3)基于角色的访问控制模型(RBAC),提供了解决具有大量用户、数据客体和访问权限的系统中授权管理问题。涉及用户(USER)、角色(ROLE)、访问权(PERMISSION)、会话(SESSION)等主要概念。现在有四种RBAC模型:基本模型RBAC0,指明用户、角色、访问权和会话之间的关系;层次模型RBAC1,是偏序的。上层角色继承下层角色的访问权:约束模型RBAC2,除了包含RBAC0的所有基本特性外。增加了对RBAC0的所有元素的约束检查,只有拥有有效值的元素才可被接受;层次约束模型RBAC3,兼有RBAC1和RBAC2的特点。RBAC与策略无关,可灵活运用于各种不同的安全策略。
4、库文加密
库文数据加密是将需要保护的数据(明码文)在秘密信息(密钥)的作用下按照一定的规则(加密算法)变换成他人无法识别的形式(密码文)。
(1)加密/解密算法。常用的有:DES算法、RSA算法、MH背包算法。MH背包算法是一种适合数据库加密的算法。
(2)加密粒度。基于文件的加密:单机上的数据库系统使用,使用传统的单密钥密码体制(DES)。基于记录的加密:在各自密钥的作用下,将数据库的每一个记录加密成密码文并存放于数据库文件中;记录的查找是通过将需查找的值加密成密码文后进行的。不能实现如索引、连接、统计、排序等操作。基于字段的加密:将记录中的一部分字段加密。索引项、比较、表问的连接码等字段不能加密。
小结
对于分布式数据库来说,安全和效率是很难兼得的,这就要求我们在选择安全策略的时候应尽量平衡这两方面的因素。通常情况下需要多种安全机制相结合。对于安全性要求不高的系统使用基于口令的身份验证和访问控制就足够了。对于通讯线路保密有要求的话还需要使用保密通信和加密的机制。对于高安全级别的系统而言除了这些安全机制外,访问控制模型和密钥管理的选择也十分重要。基于角色的访问控制模型能满足要求又比较容易实现:多级安全访问控制模型比较适合政府机关、金融机构、军事组织等场合。总之没有一种方法能够解决所有问题,应该在实践中不断探索,在安全与效率上找到最佳的结合点。