CN107871084A - 基于身份和规则的数据库访问控制方法 - Google Patents
基于身份和规则的数据库访问控制方法 Download PDFInfo
- Publication number
- CN107871084A CN107871084A CN201610855818.0A CN201610855818A CN107871084A CN 107871084 A CN107871084 A CN 107871084A CN 201610855818 A CN201610855818 A CN 201610855818A CN 107871084 A CN107871084 A CN 107871084A
- Authority
- CN
- China
- Prior art keywords
- access
- database
- rule
- identity
- request
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于身份和规则的数据库访问控制方法,其中,包括:步骤1:配置数据库合法访问者;步骤2:创建数据库访问控制规则;步骤3:截获数据库访问请求并对访问请求发起者身份信息进行验证,根据身份验证结果确定是否允许继续访问;如果身份验证通过,则放行该访问请求,否则终止该访问请求;步骤4:如果数据库访问身份请求获得通过,则验证访问身份的访问控制规则,如通过验证,则执行数据请求。本发明通过对数据库访问请求者身份信息进行预先设置来阻止非法访问用户,同时结合行列级数据的访问权限控制规则来实现细粒度的访问请求控制。通过综合访问请求身份信息验证、行列级的数据访问权限验证等识别非法请求从而增强数据库防护能力,维护信息系统安全。
Description
技术领域
本发明属于数据库安全防护技术领域,特别是一种基于身份和规则的数据库访问控制方法。
背景技术
随着信息技术的发展,数据库在各行各业得到了更加广泛的应用。数据库在承载信息系统核心数据的同时,也日益成为数据窃取者的重点攻击目标。为了提高数据库的安全防护能力,可在现行数据库已有的安全机制基础上通过增加身份认证和细粒度的访问控制规则来阻止数据库非法访问请求保护数据。
基于身份和规则的数据库访问控制技术通过对数据库访问请求者身份信息进行预先设置来阻止非法用户请求,同时结合行列级的数据访问权限控制规则来实现细粒度的访问请求控制。通过综合访问请求身份信息验证、数据访问权限验证等识别非法请求从而增强数据库防护能力,维护信息系统安全。
目前开展数据库访问控制研究主要有两条思路:一是采用中间件的方式,在用户和数据库之间加入访问控制中间件,通过加解密数据、表级访问权限控制等实现数据库访问控制;二是直接在数据库上进行数据加解密控制,可分为对整个数据库、数据库中的表以及表中的数据等进行加解密,保证数据安全。但目前的研究还存在以下不足:
对数据库访问请求仅采用简单的用户合法性验证;数据库加解密过程往往比较耗费计算资源,而且加密后的数据列往往无法正常索引,影响数据库检索结果;需要进行SQL语句解析,而目前SQL语句解析无法做到完全正确导致数据库访问控制失败;未能实现行列级数据的访问控制。
发明内容
本发明公开了一种基于身份和规则的数据库访问控制方法,用于解决上述现有技术的问题。
本发明的一种基于身份和规则的数据库访问控制方法,其中,包括:步骤1:配置数据库合法访问者;步骤2:创建数据库访问控制规则;步骤3:截获数据库访问请求并对访问请求发起者身份信息进行验证,根据身份验证结果确定是否允许继续访问;如果身份验证通过,则放行该访问请求,否则终止该访问请求;步骤4:如果数据库访问身份请求获得通过,则验证访问身份的访问控制规则,如通过验证,则执行数据请求。
根据本发明的基于身份和规则的数据库访问控制方法,其中,数据库访问控制规则主要由访问控制视图来完成对数据库表的行列级数据进行增、删、改和查访问权限控制.
根据本发明的基于身份和规则的数据库访问控制方法,其中,如果数据库访问身份请求获得通过,则验证访问身份的访问控制规则,如通过验证,则执行数据请求,否则屏蔽被保护的数据
根据本发明的基于身份和规则的数据库访问控制方法,其中,步骤1还包括:将用户与身份认证特征标识和角色进行绑定。
根据本发明的基于身份和规则的数据库访问控制方法,其中,步骤2包括:创建角色,以及角色对应的操作权限。
根据本发明的基于身份和规则的数据库访问控制方法,其中,步骤2还包括:创建数据库访问控制表,该数据库访问控制表的表项包括:角色、操作权限、可访问的被保护行以及可访问的被保护列。
本发明通过对数据库访问请求者身份信息进行预先设置来阻止非法访问用户,同时结合行列级数据的访问权限控制规则来实现细粒度的访问请求控制。通过综合访问请求身份信息验证、行列级的数据访问权限验证等识别非法请求从而增强数据库防护能力,维护信息系统安全。
附图说明
图1所示为本发明基于身份和规则的数据库访问控制方法的流程图;
图2所示为配置数据库访问请求用户并赋予角色的示意图;
图3所示为数据库访问控制规则创建过程的示意图;
图4所示为数据库访问请求身份验证流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为本发明基于身份和规则的数据库访问控制方法的流程图,如图1所示,本发明基于身份和规则的数据库访问控制方法包括:
步骤1:配置数据库合法访问者;
步骤2:创建数据库访问控制规则;
步骤3:截获数据库访问请求并对访问请求发起者身份信息进行验证,根据身份验证结果确定是否允许继续访问。如果身份验证通过,则放行该访问请求,否则终止该访问请求。通过对数据库访问请求者身份进行验证可以有效阻止非法用户访问数据库;
步骤4:如果数据库访问身份请求获得通过,则还需要验证步骤2创建的访问控制规则。数据库访问控制规则主要由访问控制视图来完成对数据库表的行列级数据进行增、删、改、查等访问权限控制;
步骤5:根据步骤4进行的规则验证结果确定是否允许执行访问请求。如果仍然通过访问请求规则验证,则执行数据请求,否则屏蔽被保护的数据。
图2所示为配置数据库访问请求用户并赋予角色的示意图,如图1以及图2所示,本发明基于身份和规则的数据库访问控制方法包括:
步骤1:配置数据库合法访问者。
数据库访问请求用户可以是应用系统用户或由应用端主机地址、者应用服务器地址表示。这里以user代替合法的数据库访问者。
为了进行后续身份验证,这里需要将用户与身份认证特征标识绑定起来。同时为了后续授权的方便,也需要根据需求创建不同的角色,并将用户赋予给角色。
如图2所示,其中,label1、label2、label3以及label4是身份认证特征标识,可以是身份认证卡也可以身份认证指纹等;user1、user2、user3以及user4代表不同的合法访问请求用户;role1、role2分别表示不同的角色,主要用于权限划分。
步骤2:创建数据库访问控制规则。
图3所示为数据库访问控制规则创建过程的示意图,如图3所示,这里的数据库访问控制规则可以实现行列级数据的权限控制。本规则基于数据库访问控制视图创建而成。需要指出的是,本规则创建过程需要对数据库中的表进行简单改造。
如图3所示,其中,“Table1”是原数据表,也是需要被保护的数据表;“视图Table1”是访问控制视图,名称与被保护的表Table1相同;“xxx”代表的是原表Table1被随机修改后的表名,该表中的数据不改动;“访问控制规则”建立在“视图Table1”之上,主要通过视图中的触发器完成用户权限控制。该触发器同时需要完成对访问请求截获。
结合步骤1所创建的用户,访问控制规则可以表1表1所示为数据库访问控制规则表1:
表1
角色 | 视图 | 操作权限 | 列控制 | 行控制 |
role1 | 视图Table1 | SELECT | attr1,attr2 | attr3:keya,attr4:keyb |
其中,“role1”是步骤1创建的角色;
“视图Table1”是指数据库访问控制视图;
“SELECT”表示角色role1能够对被保护数据有查询操作权限;
“attr1,attr2”是针对表Table1需要进行整列保护的列属性名,以“,”相隔;
“attr3:keya,attr4:keyb”是针对表Table1需要进行字段数据保护的配置数据。其中,att3表示表Table1中的列属性名,keya表示需要被保护字段数据的行关键字,attr3:keya两者结合起来可确定需要被保护的字段数据。同理,attr4:keyb可确定另一个需要被保护的字段数据。不同字段数据同样以“,”相隔。
该规则为白名单规则,即只有角色role1有权限访问视图Table1中被保护起来的列“attr1,attr2”和行“attr3:keya,attr4:keyb”数据。
步骤3:图4所示为数据库访问请求身份验证流程图,如图4所示,截获数据库访问请求并对访问请求发起者身份信息进行验证,根据身份验证结果确定是否允许继续访问。如果身份验证通过,则放行该访问请求,否则终止该访问请求。
当访问请求SQL语句涉及到表Table1时,就会触发访问控制视图上的触发器。该触发器会从访问请求连接的session中获取本次访问请求的用户信息并进行转发完成用户合法性验证。
如果身份验证获得通过,则放行该访问请求,否则终止该访问请求。可以用0表示验证不通过,即访问请求用户不合法;1表示验证通过,即访问请求用户合法。当访问请求用户不合法时,终止该访问请求;否则,放行该访问请求。
步骤4:如果数据库访问身份请求获得通过,则还需要验证步骤2创建的访问控制规则。数据库访问控制规则主要由访问控制视图来完成对数据库表的行列级数据进行增、删、改、查等访问权限控制。
本步骤验证的主要依据是步骤2创建的数据库访问控制规则,如表1所示。
角色role1所对应的用户user1、user2以及user3对视图Table1中被保护起来的列“attr1,attr2”和行“attr3:keya,attr4:keyb”仅有查询的操作权限;而其他角色,如role2,对应的用户user4访问视图Table1时,屏蔽对该用户访问列“attr1,attr2”和行“attr3:keya,attr4:keyb”所对应的数据。
步骤5:根据步骤4进行的规则验证结果确定是否允许执行访问请求。如果仍然通过访问请求规则验证,则执行数据请求,否则屏蔽被保护的数据。
针对本次role1发起的针对表Table1的访问请求,如果是SELECT操作,则返回正确的请求结果;否则,屏蔽列“attr1,attr2”和行“attr3:keya,attr4:keyb”对应的数据。
同时,可以根据需要记录数据库访问请求过程中的日志信息,以便后续安全分析。针对非法请求给予及时告警。
本数据库访问控制方法基于访问请求者身份及访问权限控制规则,在增强用户身份认证的同时,实现了对数据库中的数据进行行列级细粒度的权限控制能力。该方法可在现有数据库保护机制的基础上有效增强数据库数据的防护能力,且具有普遍推广价值,对于维护信息系统,特别是保护部门核心数据库数据具有重要意义。
本发明通过对数据库访问请求者身份信息进行预先设置来阻止非法访问用户,同时结合行列级数据的访问权限控制规则来实现细粒度的访问请求控制。通过综合访问请求身份信息验证、行列级的数据访问权限验证等识别非法请求从而增强数据库防护能力,维护信息系统安全。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种基于身份和规则的数据库访问控制方法,其特征在于,包括:
步骤1:配置数据库合法访问者;
步骤2:创建数据库访问控制规则;
步骤3:截获数据库访问请求并对访问请求发起者身份信息进行验证,根据身份验证结果确定是否允许继续访问;如果身份验证通过,则放行该访问请求,否则终止该访问请求;
步骤4:如果数据库访问身份请求获得通过,则验证访问身份的访问控制规则,如通过验证,则执行数据请求。
2.如权利要求1所述的基于身份和规则的数据库访问控制方法,其特征在于,数据库访问控制规则主要由访问控制视图来完成对数据库表的行列级数据进行增、删、改和查访问权限控制。
3.如权利要求1所述的基于身份和规则的数据库访问控制方法,其特征在于,如果数据库访问身份请求获得通过,则验证访问身份的访问控制规则,如通过验证,则执行数据请求,否则屏蔽被保护的数据 。
4.如权利要求1所述的基于身份和规则的数据库访问控制方法,其特征在于,步骤1还包括:将用户与身份认证特征标识和角色进行绑定。
5.如权利要求4所述的基于身份和规则的数据库访问控制方法, 其特征在于,步骤2包括:创建角色,以及角色对应的操作权限。
6.如权利要求5所述的基于身份和规则的数据库访问控制方法,其特征在于,步骤2还包括:创建数据库访问控制表,该数据库访问控制表的表项包括:角色、操作权限、可访问的被保护行以及可访问的被保护列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610855818.0A CN107871084A (zh) | 2016-09-27 | 2016-09-27 | 基于身份和规则的数据库访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610855818.0A CN107871084A (zh) | 2016-09-27 | 2016-09-27 | 基于身份和规则的数据库访问控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107871084A true CN107871084A (zh) | 2018-04-03 |
Family
ID=61751075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610855818.0A Pending CN107871084A (zh) | 2016-09-27 | 2016-09-27 | 基于身份和规则的数据库访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107871084A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587151A (zh) * | 2018-12-13 | 2019-04-05 | 泰康保险集团股份有限公司 | 访问控制方法、装置、设备及计算机可读存储介质 |
CN110175464A (zh) * | 2019-06-05 | 2019-08-27 | 中国民用航空总局第二研究所 | 数据访问控制方法、装置、存储介质及电子设备 |
CN110598445A (zh) * | 2019-09-12 | 2019-12-20 | 金蝶蝶金云计算有限公司 | 一种数据库访问控制方法、系统及相关设备 |
CN112580091A (zh) * | 2020-11-04 | 2021-03-30 | 京信数据科技有限公司 | 一种细粒度数据访问控制方法及装置 |
CN113452683A (zh) * | 2021-06-15 | 2021-09-28 | 郑州云智信安安全技术有限公司 | 一种数据库行列级权限控制的方法和系统 |
CN112836237B (zh) * | 2021-02-05 | 2023-08-15 | 广州海量数据库技术有限公司 | 一种在内容数据库中进行强制访问控制的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101379507A (zh) * | 2006-01-31 | 2009-03-04 | 皇家飞利浦电子股份有限公司 | 基于角色的访问控制 |
US20100242083A1 (en) * | 2009-03-23 | 2010-09-23 | International Business Machines Corporation | Restricting access to objects created by privileged commands |
CN102456103A (zh) * | 2010-10-26 | 2012-05-16 | 王芳 | 一种改进的rbac访问控制模型 |
-
2016
- 2016-09-27 CN CN201610855818.0A patent/CN107871084A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101379507A (zh) * | 2006-01-31 | 2009-03-04 | 皇家飞利浦电子股份有限公司 | 基于角色的访问控制 |
US20100242083A1 (en) * | 2009-03-23 | 2010-09-23 | International Business Machines Corporation | Restricting access to objects created by privileged commands |
CN102456103A (zh) * | 2010-10-26 | 2012-05-16 | 王芳 | 一种改进的rbac访问控制模型 |
Non-Patent Citations (2)
Title |
---|
冯志亮 等: ""分级的行列级权限系统的设计和实现"", 《计算机工程与设计》 * |
孙先友: ""一种基于角色的数据库访问控制系统设计"", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587151A (zh) * | 2018-12-13 | 2019-04-05 | 泰康保险集团股份有限公司 | 访问控制方法、装置、设备及计算机可读存储介质 |
CN110175464A (zh) * | 2019-06-05 | 2019-08-27 | 中国民用航空总局第二研究所 | 数据访问控制方法、装置、存储介质及电子设备 |
CN110598445A (zh) * | 2019-09-12 | 2019-12-20 | 金蝶蝶金云计算有限公司 | 一种数据库访问控制方法、系统及相关设备 |
CN110598445B (zh) * | 2019-09-12 | 2022-05-20 | 金蝶蝶金云计算有限公司 | 一种数据库访问控制方法、系统及相关设备 |
CN112580091A (zh) * | 2020-11-04 | 2021-03-30 | 京信数据科技有限公司 | 一种细粒度数据访问控制方法及装置 |
CN112836237B (zh) * | 2021-02-05 | 2023-08-15 | 广州海量数据库技术有限公司 | 一种在内容数据库中进行强制访问控制的方法及系统 |
CN113452683A (zh) * | 2021-06-15 | 2021-09-28 | 郑州云智信安安全技术有限公司 | 一种数据库行列级权限控制的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107871084A (zh) | 基于身份和规则的数据库访问控制方法 | |
CN107403106B (zh) | 基于终端用户的数据库细粒度访问控制方法 | |
US20170070495A1 (en) | Method to secure file origination, access and updates | |
US8555075B2 (en) | Methods and system for storing and retrieving identity mapping information | |
US20140068270A1 (en) | Systems And Methods For Device Based Secure Access Control Using Encryption | |
US9092614B2 (en) | Preventing impersonation of a computer system user | |
CN106575342B (zh) | 包括关系数据库的内核程序、以及用于执行所述程序的方法和装置 | |
US20050004924A1 (en) | Control of access to databases | |
CN104766023B (zh) | 基于oracle数据库的用户管理方法 | |
Lee et al. | Reverse‐safe authentication protocol for secure USB memories | |
WO2012156785A1 (en) | Systems and methods for device based password-less user authentication using encryption | |
US20200028823A1 (en) | Using cryptography and application gateway to eliminate malicious data access and data exfiltration | |
Patel et al. | A system for prevention of SQLi attacks | |
US20090019289A1 (en) | Negative authentication system for a networked computer system | |
JPH0341535A (ja) | コンピュータ・システムにおけるセキュリティ保護の強制的実施方法 | |
US20140259105A1 (en) | System and method for securely accessing data through web applications | |
Mughaid et al. | Intelligent cybersecurity approach for data protection in cloud computing based Internet of Things | |
Vats et al. | An overview of SQL injection attacks | |
Lee et al. | A study on a secure USB mechanism that prevents the exposure of authentication information for smart human care services | |
CN109510837A (zh) | 一种用户权限管理系统 | |
Fataniya | A Survey of Database Security Challenges, Issues and Solution | |
US20220021516A1 (en) | System and Method for Securing a Database by Scrambling Data | |
RU2778216C1 (ru) | Компьютеризированный способ аутентификации пользователя и защиты данных (варианты), система аутентификации пользователя и защиты данных (варианты) и машиночитаемый носитель информации | |
CN115203740A (zh) | 一种可用于电子医疗的个人隐私保护方法组件及系统 | |
Semenihin et al. | “Digital Police” and Artificial Intelligence: Leading Trends for the 21st Century |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180403 |
|
WD01 | Invention patent application deemed withdrawn after publication |