数据库层上的细粒度访问控制技术
数据库安全设计与身份认证方案

数据库安全设计与身份认证方案简介在当今的信息化社会中,数据库承载着组织机构和个人的重要信息,包括客户信息、财务数据、研究成果等。
然而,随着黑客技术的不断发展,数据库安全性成为组织和个人需要解决的重要问题。
为了确保数据库的安全性,合理的数据库安全设计和身份认证方案是必不可少的。
数据库安全设计1. 数据库加密:通过加密技术保护数据库中的敏感数据的安全性。
可以采用对称加密算法或非对称加密算法对数据进行加密和解密,确保只有授权用户可以使用解密密钥访问数据。
2. 合理的数据访问控制:通过权限管理实现数据访问的细粒度控制。
通过定义角色、权限和用户组的概念,分配不同的访问权限给不同的用户,限制未授权用户的访问能力。
3. 数据库审计:对数据库进行审计,记录和跟踪所有数据库操作,包括登录、查询和修改等活动。
审计日志可以用于及时发现安全漏洞和未经授权的访问。
4. 定期备份和恢复:定期对数据库进行备份,并将备份数据存储在安全的位置。
一旦数据库发生故障或遭受攻击,可以通过备份数据恢复数据库,并减少数据丢失的风险。
5. 强密码策略:设置强密码策略要求用户在创建账户时使用符合安全标准的密码,包括密码长度、复杂性和有效期等。
这可以提高密码的安全性,减少密码被破解的可能性。
身份认证方案1. 双因素身份认证:通过引入双因素身份认证,增加用户登录的安全性。
除了常规的用户名和密码,还需要用户提供第二个身份认证因素,比如手机短信验证码、指纹或面部识别等。
这大大降低了身份盗用和密码破解的风险。
2. 个人数字证书:个人数字证书是一种用于身份认证和数据加密的安全工具。
用户可以通过申请个人数字证书,将其与用户账户关联,实现身份验证和数据加密。
个人数字证书通过公私钥体系,确保用户身份的唯一性和信息的安全性。
3. 单点登录:单点登录是一种集中式身份认证解决方案,允许用户通过一组凭据访问多个相关系统。
用户只需提供一次身份认证,即可在多个系统中访问其所拥有的权限。
基于RBAC的细粒度访问控制方法

1 概述
基于 We b的管理信息系统成为软件开发的一个方向, 其
信息安全受到人们的关注。特别是在 B o e/e e( /) rwsr r r s模 sv B 式的管理信息系统中 ,强健的权限管理对于保证信息系统的 安全性 是必需的。权 限管理为解决信 息系统安全性问题提供
了重 要保 障 。
问在指派角色 的基础上被管制 。 19 , ad u2 布 了 R A 9 9 6年 S n h [发 1 B C 6的 R A B C通 用模 型家
r l Th s p p r p o o e h d a a o tfn l r n l c e s c n r l e o oe i a e r p s s t e i e b u e y g a u a a c s o to ,d c mp s s t e a c s rv lg f s u c s t e s g a u a i ,a d t e i r o e h c e s p i i e o o r e o l s r n l rt e y n h p i ie e i s i n d t o e h n a c s o to a e ma a e a iy b e n n h s ro h o e a d t e i h rto o e T a i i f rv lg s a sg e o r l,t e c e s c n r lc n b n g d e sl y d f i g t e u e f t e r l n h n e i f r l s he v l t o i d y me h d i r v d b h u c s f ls se o n l r n l r c e s o to a e n RBAC. sg n mp e n a i n p o e so eme h d h v t o sp o e y t es c e su y t m f e y g a u a c s n r l s d o i f a c b De i n a d i l me t t r c s ft t o a e o h
数据库加密技术的应用和优势

数据库加密技术的应用和优势在当前数字化时代,数据的安全性和隐私保护是一个全球性的关注点。
数据库是存储和管理大量敏感信息的核心,因此数据库加密技术的应用变得尤为重要。
本文将探讨数据库加密技术的应用领域以及它所带来的优势。
一、数据库加密技术的应用领域1. 金融行业:作为金融交易的中心,数据库加密技术在保护客户账户和金融交易记录方面起到关键作用。
通过对数据库内的敏感信息进行加密,如银行账号、信用卡号码和交易细节,可以防止黑客和未授权人员获取这些敏感数据。
2. 医疗保健:医疗机构存储着大量的个人和病历数据,这些数据对于患者的隐私至关重要。
通过数据库加密技术,可以确保医疗机构的数据库只能被授权人员访问,并在数据传输和存储过程中保持数据的完整性和机密性。
3. 政府和军事:政府机构和国防部门处理着极其敏感的国家安全信息。
数据库加密技术可以帮助保护这些信息的机密性,防止敌对势力获取和篡改这些数据。
4. 零售和电子商务:在零售和电子商务领域,企业需要存储大量的客户信息,包括个人资料和支付信息。
数据库加密技术可以防止黑客入侵和盗窃,保护客户的隐私和财务安全。
二、数据库加密技术的优势1. 数据保护:数据库加密技术通过加密敏感数据,确保即使数据库被非法入侵,黑客也无法获取到实际有用的信息。
即使黑客成功获得数据库,他们将只能获得一系列加密数据,无法直接读取或使用这些数据。
2. 遵守法规:在许多行业,数据安全和隐私受到严格的法规约束,如金融领域的《支付卡行业数据安全标准》(PCI DSS)和医疗行业的《健康保险可移植和责任法案》(HIPAA)。
数据库加密技术可以帮助企业遵守这些法规,保护客户和用户的数据。
3. 减少风险:数据库加密技术可以降低因数据泄露和信息安全事件而引发的潜在风险。
即使发生黑客攻击或内部数据泄露,加密的数据库可以限制对敏感信息的访问,减轻潜在的损失。
4. 与传统安全控制的互补:数据库加密技术不与传统的防火墙和访问控制冲突,而是作为一个补充性的安全层。
云计算环境中的数据共享与访问控制

云计算环境中的数据共享与访问控制随着信息技术的迅猛发展,云计算作为一种先进的计算模式,逐渐成为了企业和个人处理数据的主要方式。
云计算的出现,使得数据的存储和处理能力大大提高,但与此同时也带来了数据共享和访问控制的隐私和安全问题。
在云计算环境中,数据共享是指多个用户之间在该计算平台上共享数据的过程。
这种共享方式在很大程度上提高了数据利用效率,促进了协作和创新。
然而,数据共享也带来了一系列的隐私和安全问题。
首先,用户在共享数据时需要考虑数据的敏感性和隐私保护。
敏感数据的泄露可能会对个人隐私产生严重影响,甚至导致经济损失。
其次,在数据共享的过程中,需要进行精确的数据授权和控制,以防止非法用户对数据进行访问。
此外,由于云计算平台的异地性质,数据共享还需要解决跨地域和跨国运营带来的法律和合规问题。
在处理数据共享的问题时,访问控制是一项关键技术。
访问控制是通过管理用户对特定资源的访问权限,以确保只有经过授权的用户才能访问数据。
在云计算环境中,访问控制不仅需要考虑用户的身份验证和授权,还需要提供细粒度的访问控制机制。
细粒度的访问控制可以基于用户的角色、任务和数据属性来设置不同的访问权限,从而提高数据的安全性和可控性。
为了解决云计算环境中的数据共享和访问控制问题,研究人员提出了许多解决方案和方法。
其中,加密和数据隐藏技术是最常见的数据安全措施之一。
通过对数据进行加密和隐藏,可以在保护数据安全的同时实现数据共享和访问控制。
例如,对于敏感数据,可以使用加密算法对其进行加密,然后将密钥只授权给特定用户。
只有掌握密钥的用户才能对数据进行解密访问。
此外,还可以使用数据隐藏算法对数据进行处理,以隐藏数据的真实内容,从而防止未经授权的用户获取敏感信息。
此外,身份验证和权限管理也是数据共享和访问控制中不可或缺的技术。
身份验证是验证用户身份和合法性的过程,常用的身份验证方式包括密码、生物特征和智能卡等。
权限管理则是根据用户的身份和角色来分配和控制数据的访问权限。
云计算环境下的数据安全与个人隐私保护研究

云计算环境下的数据安全与个人隐私保护研究随着云计算技术的不断发展,越来越多的数据被存储到了云端,为我们带来了便利的同时,也带来了数据安全和个人隐私保护问题。
在云计算环境下,数据安全和个人隐私保护已成为一个热门的话题。
本文将探讨云计算环境下的数据安全与个人隐私保护研究,分析目前存在的问题和解决方案。
一、云计算环境的数据安全问题在云计算环境下,数据的存储、处理和传输过程中,容易遇到各种安全问题。
这些问题包括数据泄露、数据篡改、身份伪造等等。
由于数据的复杂性和云计算的开放性,可能会带来更大的安全威胁。
1. 数据泄露数据泄露是指未经授权访问或使用数据的事件。
在云计算环境下,可能会由于软件漏洞、硬件故障和网络攻击等原因,导致数据泄露。
一旦数据泄露,将会带来巨大的安全隐患,例如财务数据泄露、用户隐私泄露等。
2. 数据篡改数据篡改是指未经授权修改数据的行为,例如数据被改变、删除或创建的行为等。
在云计算环境下,由于数据传输和存储的过程中,存在多个环节,可能会被黑客或内部人员篡改数据,严重破坏数据的完整性和可靠性。
3. 身份伪造身份伪造是指未经身份验证就访问资源和数据的行为。
在云计算环境下,由于多层次的系统架构和复杂性,攻击者可以伪造身份获取系统密码,从而访问敏感数据和资源。
身份伪造将导致数据被非法使用和资源被非法访问。
二、云计算环境下的个人隐私保护问题在云计算环境下,用户个人隐私保护是一个十分重要的问题。
由于云计算模式的开放性和数据存储方式的变化,会使得用户的个人隐私数据更容易被窃取和滥用。
例如,社交媒体网站上的个人信息泄露、信用卡信息泄露等。
1. 个人身份信息保护在云计算环境下,个人身份信息泄露不可避免。
因此,必须采取措施保护个人身份信息,例如加密、身份验证、数据备份等方法。
还可以引入数据匿名化技术,将个人身份信息与其他数据混合存储,从而保护用户的隐私数据。
2. 虚拟机安全在云计算环境下,用户可以通过虚拟机来存储和处理数据。
数据库安全管理与权限控制

数据库安全管理与权限控制数据库安全管理是在数据库系统中保护数据免受未经授权的访问、使用、披露、修改、破坏和删除的过程。
拥有恰当的数据库安全措施是确保数据完整性、保密性和可用性的关键。
而权限控制则是数据库安全管理的一个重要方面,它定义了用户对数据库对象的访问权限,以防止未经授权的用户访问或修改敏感数据。
一、数据库安全管理的目标和重要性数据库安全管理的目标是保护数据库系统免受各种威胁和攻击,确保数据的完整性、保密性和可用性。
数据完整性是指数据在存储、传输和处理过程中不被意外或恶意篡改。
数据保密性是指数据只对授权用户可见,不被未经授权的用户访问。
数据可用性是指数据可以在需要时被授权用户正常访问和使用。
数据库安全管理的重要性体现在以下几个方面:1. 维护个人隐私保护:数据库通常存储大量包含个人身份信息和敏感数据的信息。
数据库安全管理的不足可能导致这些个人信息被泄露,给个人隐私带来严重的风险。
2. 保护商业机密:许多企业的数据库中存储了公司的商业机密信息,如核心技术、客户信息和战略规划等。
如果这些信息被未经授权的用户获取,将严重影响企业的竞争力和利益。
3. 遵守法律法规:随着个人数据保护法规和行业标准的不断加强,数据库安全管理的重要性更加凸显。
企业需要制定和遵守合规政策,保证数据库操作符合法律法规的要求。
4. 防止数据损坏和丢失:数据库安全管理不仅包括对未经授权用户的阻止,还包括对数据备份、灾备和恢复的有效保护,以防止数据损坏和丢失。
二、权限控制的核心原则和实施方法权限控制是数据库安全管理中防止未经授权用户访问和修改敏感数据的一种重要手段。
它通过定义用户对数据库对象的访问权限来确保数据安全。
权限控制的核心原则包括最小权限原则、完整性约束和强制执行原则。
最小权限原则指的是将用户的访问权限限制在最小权限范围内。
即用户只能获得完成其工作所需的最低权限,以防止用户滥用权限或错误操作数据。
完整性约束是指数据库中的数据必须符合定义的完整性要求。
数据库数据权限控制的设计与实现方法
数据库数据权限控制的设计与实现方法数据库在现代信息系统中扮演着至关重要的角色,广泛应用于各个行业。
然而,随着数据量的不断增加和用户访问需求的复杂化,数据库数据权限控制变得尤为重要。
数据权限控制旨在保护数据库中敏感数据,限制用户的访问权限,确保数据安全性和保密性。
本文将探讨数据库数据权限控制的设计与实现方法。
首先,数据库数据权限控制的设计应该基于安全考虑。
在设计权限控制模型时,需要从角色角度出发,定义不同用户角色在数据库中的权限范围。
一个常见的方法是使用基于角色的访问控制(Role-Based Access Control, RBAC)模型。
该模型将用户和用户权限抽象为角色,并根据角色与权限的关系进行用户访问的控制。
在数据库设计阶段,应考虑到每个角色需要的访问权限,并为其分配合适的操作权限。
例如,可为管理员角色分配最高权限,允许其进行所有操作,而一般用户角色只能进行数据查询和部分编辑操作。
通过根据用户的角色来控制其对数据库中数据的访问权限,可以实现细粒度的权限控制。
其次,数据库数据权限控制的实现方法包括物理和逻辑两个层面。
在物理层面,可以通过数据库的用户管理功能来实现权限控制。
数据库提供了对用户和角色的管理接口,管理员可以通过创建、修改和删除用户及角色的权限来实现对数据库中数据的控制。
例如,在Oracle数据库中,可以使用GRANT和REVOKE语句来授权或撤销用户的访问权限。
在逻辑层面,可以通过编写触发器、存储过程或函数来实现数据权限控制。
这种方法可以在用户执行特定操作时触发,然后根据预先定义的规则来控制其对数据的访问。
例如,在一个银行系统中,可以通过触发器来限制某个角色只能访问自己名下的账户,而不能访问其他用户的账户信息。
此外,数据库数据权限控制还可以结合其他安全策略进行增强。
例如,可以使用加密技术对敏感数据进行加密存储,只有相应权限的用户才能解密和访问数据。
此外,可以使用审计功能追踪用户的操作,并定期进行安全审计和漏洞扫描,及时发现和修复安全问题。
数据库安全性监控实时监测并应对安全威胁
数据库安全性监控实时监测并应对安全威胁数据库在现代信息系统中扮演着不可或缺的角色,它承载着大量的敏感数据,包括个人信息、商业机密等。
因此,数据库的安全性至关重要。
为了保护数据库免受威胁,实时监测和应对安全威胁已成为现代数据库管理的关键环节。
一、数据库安全性监测的重要性及挑战数据库安全性监测的目的是实时检测和分析数据库中的安全威胁,以快速发现和应对潜在风险。
这项工作的重要性主要体现在以下几个方面:1. 预防数据泄露:通过安全性监测,可以及时发现并阻止未经授权的访问,避免敏感数据泄露。
2. 防范内部威胁:通过监测数据库操作日志和异常行为,可以发现内部人员可能存在的不当行为或滥用权限现象。
3. 应对外部攻击:数据库是黑客攻击的主要目标,通过监测数据库流量和异常访问行为,可以及时发现并应对外部安全威胁。
然而,数据库安全性监测也面临着一些挑战。
首先,数据库规模庞大,包含着海量的数据,监测和分析这些数据需要强大的计算和存储资源。
其次,安全威胁的形式多样化,在不断变化,需要监测系统能够实时适应和识别新的威胁类型。
最后,数据库监测工作本身也需要满足高可靠性和实时性的要求,以便在发现威胁时能够及时应对。
二、数据库安全性监测的技术手段为了满足数据库安全性监测的要求,必须利用一系列有效的技术手段。
以下是一些常见的数据库安全性监测技术:1. 安全审计日志:数据库管理系统提供了安全审计日志功能,可以记录数据库中的操作和访问事件。
通过分析这些日志,可以发现潜在的安全问题。
2. 实时监测工具:针对数据库的实时监测工具可以帮助管理员实时监测和分析数据库活动,包括流量监测、访问日志分析、异常行为检测等。
3. 异常行为检测:通过建立数据库的正常行为模型,可以检测到与正常行为模式不符的异常行为。
例如,异常的登录时间、异常的访问频率等。
4. 数据库加密:加密是数据库安全的常用方法之一。
通过采用合适的加密算法和密钥管理策略,可以保护数据库中的敏感数据不被未经授权的访问者窃取。
计算机网络中的数据安全保护技术
计算机网络中的数据安全保护技术一、数据安全保护技术概述数据安全保护技术是指在计算机网络中,为了防止数据受到非法访问、篡改、泄露、丢失等威胁,采取的一系列技术手段和方法。
这些技术手段和方法包括加密技术、认证技术、访问控制技术、安全协议、安全策略等。
二、加密技术加密技术是数据安全保护技术的核心,通过对数据进行加密和解密,实现数据在传输和存储过程中的安全性。
常见的加密算法有对称加密算法(如DES、AES)、非对称加密算法(如RSA、ECC)和混合加密算法(如SSL/TLS)。
三、认证技术认证技术是为了确保网络中通信双方的身份合法性,防止恶意用户或攻击者冒充他人身份进行非法操作。
常见的认证技术包括密码认证、数字证书认证、生物识别技术等。
四、访问控制技术访问控制技术是为了保证网络中资源的合法访问,防止未经授权的用户访问敏感信息。
常见的访问控制技术包括角色访问控制(RBAC)、属性基访问控制(ABAC)等。
五、安全协议安全协议是计算机网络中用于保护数据传输安全的协议,常见的如SSL/TLS、IPSec、SSH等。
这些协议通过加密、认证、完整性验证等技术手段,确保数据在传输过程中的安全性。
六、安全策略安全策略是制定和实施一系列安全措施,以保护计算机网络中的数据安全。
安全策略包括网络安全策略、数据备份策略、入侵检测策略等。
七、其他数据安全保护技术除了上述技术外,还有一些其他的数据安全保护技术,如防火墙、入侵检测系统(IDS)、入侵防御系统(IPS)、安全审计等。
八、我国数据安全保护法律法规我国政府高度重视数据安全保护,制定了一系列法律法规,如《网络安全法》、《个人信息保护法》等,对计算机网络中的数据安全保护提出了明确的要求。
综上所述,计算机网络中的数据安全保护技术包括加密技术、认证技术、访问控制技术、安全协议、安全策略等。
掌握这些技术对于保障计算机网络中的数据安全具有重要意义。
习题及方法:1.习题:请简述加密技术在计算机网络数据安全保护中的作用。
云计算数据安全及访问控制关键技术
于评估服务组织的信息系统安全性、可用性和完整性。
PCI DSS
03
支付卡行业数据安全标准,旨在保护持卡人信息和支付交易安
全。
合规性要求
HIPAA
美国医疗保健法案,要求医疗保健组织保护个人健康信息(PHI) 的安全和隐私。
SOX
美国萨班斯-奥克斯利法案,要求上市公司实施内部控制和财务报 告的准确性。
ห้องสมุดไป่ตู้
反馈与改进
对已发生的安全事件进行总结分析,优化安 全策略和流程。
05
云计算安全标准与合规性
云计算安全标准
ISO 27001
01
国际标准化组织(ISO)制定的信息安全管理体系标准,为组织
提供信息安全管理的最佳实践和指南。
SSAE 16 SOC 1、2、3
02
美国注册会计师协会(AICPA)制定的服务组织控制报告,用
数据备份与恢复技术
全量备份
备份整个数据集,通常用于初始设 置或系统迁移。
增量备份
只备份自上次备份以来发生变化的 文件或数据块。
差异备份
备份自上次全量备份以来发生变化 的文件或数据块。
日志备份
备份事务日志,用于恢复数据库到特 定时间点。
备份策略
根据业务需求和数据重要性制定合 适的备份策略,包括备份频率、保 留期限等。
02
数据加密与保护技术
数据加密技术
对称加密
使用相同的密钥进行加密和解 密,常见的算法有AES、DES等
。
非对称加密
使用不同的密钥进行加密和解 密,常见的算法有RSA、DSA 等。
哈希加密
通过将数据转换为固定长度的 哈希值,常见的算法有SHA256、MD5等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户
用户 用户 用户 用户
表 1 访问控制矩阵
Tab. 1 Access control matrix
目标 R、W、Own
R R
目标 目标
R、W、Own R、W R、W角色的权限,
Obj 1
因此这里不涉及角色粒度的问题。
User A
User B
User C
2)访问控制列表(Access Control List,ACL)
访问控制列表中,每个客体附加一个它可以访 问的主体的明细表,访问控制列表包含的条目指定 或排除单个用户和组对其相关联的客体的访问权 限(如图 2)。理论上这种方法可以实现任何粒度
图 2 访问控制列表
Fig. 2 Access control list
目前,随着数据库技术的应用越来越广泛,使 用数据库的用户数量的增多以及数据内容的敏感 程度的加强,数据库的安全也变得更加重要。为了 保证数据库中的数据不受到非授权的查看和修改, 必须控制用户对数据的访问。虽然一个数据库中的 数据都是相互关联的,但是这些数据的敏感程度可 能不相同,例如,职工的工资信息可能比较敏感, 普通用户不能看到职工的工资信息,但是能查看其 他信息,而另一些高级用户却可以查看职工的所有 信息。这时必须对数据库中的数据实施访问控制。
1.1 传统的访问控制模型
当前存在 3 种主要的访问控制模型 [2],它们的 基本组成如图 1 所示:
1) 自主 访 问控 制 (Discretionary (or Userbased) Access Control, DAC) 它定义所有用户 都可以访问数据库。它是基于数据所有者能保护其 他用户的访问权的假设,这种访问权限的典型使用 是在操作系统中的文件级别 (如 UNIX 文件系统)。
3)访问能力表(Capabilities, CL)
访问能力表中,每个主体都附加一个该主体可 访问的客体的明细表,指定主体可以访问的客体以 及主体对客体相应的访问方式 (如图 3),由于能力 表与主体相关联,当某个访问请求需进行生效检查 时,则按访问请求的主体找到能力表逐项核对以决 定其是否有效,它也可以实现细粒度的控制,但在 一个特定时刻判断哪些主体对一个课题具有访问 权限比较困难,使访问权限的撤销变得复杂。
第 30 卷 第 4 期 2006 年 7 月
燕山大学学报 Journal of Yanshan University
文章编号:1007-791X (2006) 04-0345-04
Vol. 30 No. 4 July 2006
数据库层上的细粒度访问控制技术
韩言妮 1,刘国华 1,沈兵红 2
(1. 燕山大学 信息科学与工程学院,河北 秦皇岛 066004;2. 燕山大学 里仁学院,河北 秦皇岛 066004)
表 2 视图访问控制机制
Tab. 2 The mechanism of view-based access control
客体 客体定义: Database、Table、View 客体内容: Table、View
特权 Create、Drop、Alter Insert、Delete、Select、Update、Reference、Index
应用程序
查询 结果
安全机制 数据库
图 5 VPD 允许将安全机制转移到数据库内 Fig. 5 VPD permit to transfer the safe mechanism to the
database
348
燕山大学学报
2006
虚拟私有数据库包括两个组件: 细粒度访问控 制(Fined-Grained Access Control)和应用程序上 下文(Application Context),下面对其进行简单的 介绍:
粒度
N/A Column、Row、Aggregate Function
1.3 细粒度访问控制实施的层次
在访问数据库方式(如在本地、通过 Intranet、 Internet) 日益多样的今天,仅仅在应用程序层实 施安全策略进行访问控制设计是不够的,因为某些 软件如 SQL*PLUS 可以方便的绕过系统的安全机 制直接的访问数据,对数据库造成很大的安全隐患 如图 4 所示,除此之外,它还存在着下面的缺点 : [5]
至关重要。
2 数据库层上的细粒度访问控制
2.1 虚拟私有数据库(Virtual Private Database, VPD)
Oracle9i 的数据库功能-虚拟私有数据库 [6] 能 够为用户提供服务器强化的、细粒度的访问控制及 一个安全的应用程序环境,可使多个客户和合作伙 伴能够安全和直接地访问任务的关键数据。VPD 系统的安全策略(Security Policy)直接捆绑在需 要保护的数据库、表、视图上,用户在访问表、视 图中的数据时,自动激活安全策略,对数据实施保 护,从而使任何试图绕过安全机制直接访问数据库 的努力成为徒劳,从而避免了在应用程序层现在的 缺陷,具体如图 5 所示,这种数据库根据用户的访 问权限进行逻辑分割(精确到“行级”粒度),确 定用户只能访问与其权限相对应的数据,称为虚拟 私有数据库。虽然它在物理上只有一个数据库,但 是对系统用户存在很多个私有的数据库。
User A
Obj 1
Own R W
o
Obj 2 R
o
Obj 3
R W
o
图 3 访问能力表 Fig. 3 Capabilities
4)视图(View) 在 DBMS 中 SQL 被用来对数据库用户和数据
第4期
韩言妮 等 数据库层上的细粒度访问控制技术
347
库客体的访问实现自主控制。这些客体可能是客体 用户访问此视图。视图对数据的访问粒度包含:1)
发起者 Initiator
提出访 问请求
访问控制实施功能 AEF
提出访 问请求
目标 Target
Own
R
R
R
W
W
o
o
o
请求决策
决策
访问控制决策功能 ADF
图 1 访问控制模型的基本组成 Fig. 1 The basic composition of access control model
1.2 细粒度访问控制的实现机制
1) 访问控制必须在每个用户的接口被检测, 这无疑增加了全部代码的大小,并且访问控制策略 的任何变动都需要改变大量的代码;
2)所有的安全策略必须被实施到每一个构建 在这个数据项上的应用中来)例如 OLTP 和决策支 持应用使用相同的基本数据);
3)假定应用代码非常大,十分有可能忽略了 那些被开发的漏洞,从而破坏安全策略,例如: 对 于应用程序员来说,设计不当的小服务程序,很容 易创建恶意的陷门,因为在一个大型的应用程序 中,不可能检查每一行的代码。
但是上述两种模型的一个主要缺点在于:在数 据库中被执行的查询,对于用户来说是一个透明的 修改,这样可能引起用户期望看到的结果与系统返 回的结果存在不一致的问题。
1)细粒度访问控制
细粒度访问控制是通过 SQL 语句上的 Where 子句部分的动动态谓词(Dynamic Predicate)而作 用的。动态谓词是动态的附加在 Where 子句上的 一个或多个限定条件,即所谓的安全策略。这些过 程是数据库在执行之前的解析阶段自动添加的,实 时透明的修改 SQL 语句,对表或视图中的数据进 行保护。
1) 访 问 控 制 矩 阵 (Access Control Matrix, ACM)
访问控制矩阵 [3] 中,行对应于用户,列对应 于目标,每个矩阵元素规定了相应的用户对应于相 应的目标被准予的访问许可、实施行为。按列看是 访问控制表内容,按行看是访问能力表内容(如表 1)。虽然它可以实现任意细粒度的访问,但它具有 不可伸缩性,在大量的元组和用户的系统设计中, 几乎不能实现,随着对象列表的更新,这种信息安 全的维护也十分困难。
控制,国内自主开发的 OpenBASE Secure 安全数 据库系统采用了 MAC 机制,按照敏感程度的不同, 提供了元组级安全标记,使对数据库客体的访问控 制最小粒度达到元组级。MAC 和 DAC 并不是完 全相互排斥的,由于两者均能实现对不同种类信息 访问的安全控制,在任何信息需要保护的情况下, 强制策略控制前提下的自主安全提供更细致的控 制粒度。而 RBAC 主要采用角色的机制,在一定
2.2 Truman 模型
Truman 模型 [5] 扩展视图的思想,根据应用程 序上下文提出参数视图,DBA 为每个用户提供一 个完整的数据库的个人受约束的参数授权视图,当 用户提出查询时,这个查询通过相应的参数视图来 替换查询中涉及的关系,从而透明的修改来确保用 户不能够查看多于自己数据库视图的任何数据,这 就是所谓的“授权-透明”查询,其中这种查询的 修改,对于用户来说是不可见的,是透明的。
摘 要:讨论了数据库安全的一个前沿屏蔽-访问控制的问题,并且针对当今数据库的发展需求,重点介绍了 细粒度的访问控制技术以及它的实施层次问题,在此基础上,详细的阐述了对数据库层次上的细粒度访问控制 的问题。
关键词:访问控制;视图;粒度
中图分类号:TP309.2
文献标识码:A
0 引言
1 细粒度访问控制技术
用户
查询 安全机制
结果
应用程序
查询 结果
数据库
图 4 在应用程序内查询安全策略 Fig. 4 Execute the safe mechanism in application program
因此,为了确保数据安全性而在数据库端强制 执行“行级”(row-level)的细粒度访问控制变得
用户
查询 结果
2)强制访问控制 (Mandatory (or Label-based) Access Control,MAC) 它要求数据项根据安全级 别分类,用户被明确分配访问权限。当用户访问 时,只能访问相应级别的数据项,如果访问控制规 则满足就允许数据访问,否则拒绝。