CN108345801B - 一种面向密文数据库的中间件动态用户认证方法及系统 - Google Patents
一种面向密文数据库的中间件动态用户认证方法及系统 Download PDFInfo
- Publication number
- CN108345801B CN108345801B CN201810133545.8A CN201810133545A CN108345801B CN 108345801 B CN108345801 B CN 108345801B CN 201810133545 A CN201810133545 A CN 201810133545A CN 108345801 B CN108345801 B CN 108345801B
- Authority
- CN
- China
- Prior art keywords
- user
- data
- authentication information
- authority
- middleware
- 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
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/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
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种面向密文数据库的中间件动态用户认证方法,实现对密文数据库用户的安全管理。本发明主要包括获取数据使用者身份属性,计算其权限、获取数据使用者的认证信息,判断认证信息是否一致、更新认证信息、根据数据使用者权限创建密文数据库临时用户、数据使用者退出时,中间件销毁数据库临时用户五个步骤。通过这五个步骤,可以有效防止非法用户使用重放攻击进入密文数据库以及合法用户的越权操作,从而在用户管理方面保证了密文数据库的安全性。本发明还提出一种面向密文数据库支持动态用户管理的中间件系统。
Description
技术领域
本发明涉及一种面向密文数据库的中间件动态用户认证方法及系统,属于信息安全技术领域。
背景技术
为了保障数据库中数据的机密性,防止非法用户恶意探查、泄露和篡改隐私数据的发生,对敏感数据加密后存入数据库是一种有效的方法。目前常用的数据库加密方法是在DBMS外层对数据进行加密,DBMS外层实现加密的优点是不会加重数据库服务器的负担,但是加密功能可能会受到一定的限制,并且与数据库管理系统的耦合性较差。因此,很多用户使用中间件来实现明文数据的加密操作,中间件系统部署在数据库客户端与服务器端之间,可以在保证数据安全性的同时灵活调整加解密算法,在不修改上层应用的同时实现与数据库服务器的松耦合。
虽然现有的数据库中间件可以在一定程度上保证数据的机密性,但是对数据使用者不能进行很好的管理,一旦有非法用户通过重放攻击获得进入密文数据库的权限,便可以通过使用中间件查看、恶意篡改和删除密文数据库中的数据,而且合法用户也可能进行越权操作。因此不对访问密文数据库的用户进行有效的管理将会影响到数据的机密性、完整性和可用性。
发明内容
目的:为了克服现有技术中存在的不足,本发明提供一种面向密文数据库的中间件动态用户认证方法及系统。
技术方案:为解决上述技术问题,本发明采用的技术方案为:
一种面向密文数据库的中间件动态用户认证方法,包括如下步骤,
步骤一:获取数据使用者身份属性,计算其权限;
中间件获取数据使用者的若干个身份属性,通过权限访问模型计算数据使用者的权重值,并判断用户权限,最后把数据使用者的用户名、身份属性和权限存入用户属性表中,其中用户属性表用于保存数据使用者的身份属性和权限;
步骤二:获取数据使用者认证信息,判断认证信息是否一致;
数据使用者对密文数据库进行第i+1次访问,i≥1,对数据使用者拥有的认证信息进行加密,并将加密的认证信息Eni传递给中间件;
中间件通过Dei=D(ki,Eni)对Eni进行解密,将Dei与用户认证表中的认证信息进行比较,如果相同则认证成功并进入步骤三,否则提示数据使用者认证失败;
步骤三:更新认证信息;
中间件更新密钥ki+1,生成新的认证信息ci+1,并对用户认证表中的信息进行更新;
使用新密钥ki+1对ci+1进行加密,得到新的加密认证信息Eni+1,中间件将新的加密认证信息发送给数据使用者;
数据使用者使用密钥ki+1对加密的认证信息Eni+1解密,保存新的认证信息ci+1;
步骤四:根据数据使用者权限创建密文数据库临时用户;
中间件读取步骤一中获取的用户权限,根据用户权限在密文数据库中创建临时用户,临时用户的用户名为数据使用者的用户名,密码为新的认证信息ci+1,数据使用者通过用户名和密码进入密文数据库中进行相应的操作;
步骤五:数据使用者退出时,中间件销毁步骤四中创建的数据库临时用户;
数据使用者退出密文数据库后,中间件对密文数据库发出销毁临时数据库用户的命令;若数据使用者需再次访问密文数据库,则必须重新进行步骤二到四的用户认证。
进一步地,所述权限访问模型包括权重函数及门限值,并将权重函数计算出来的权重值与门限值进行比较从而判断用户权限;所述权重函数计算公式如式一所示,
其中ω为权重函数,atti为身份属性,ai为每个身份属性的权值,0﹤i≤n,若ω≥T,则用户满足权限访问模型。
一种面向密文数据库的中间件动态用户认证系统,包括加解密模块、密钥管理模块、用户管理模块及数据传输模块。
进一步地,所述用户管理模块,用于对用户权限分析和用户身份的动态认证,为通过认证的数据使用者在密文数据库中创建临时用户,并在数据使用者操作结束后销毁临时用户。
有益效果:本发明提供的用户认证方法解决了非法用户进入密文数据库及合法用户越权操作的问题,有效提高密文数据库的安全性。
附图说明
图1为本发明的结构示意图;
图2为动态用户认证流程示意图。
具体实施方式
下面结合附图及实施例对本发明作更进一步的说明。
支持动态用户认证体系结构如图1所示,本发明针对中间件系统在用户管理方面的安全问题,提出一种面向密文数据库的中间件动态用户认证方法。该方法通过对访问密文数据库的用户身份进行认证,防止非法用户通过重放攻击进入密文数据库。
如图2所示,该方法包括以下步骤:
步骤一、获取数据使用者身份属性,计算权限;
本实施例中,数据提供者设置的用户属性为职位、年龄和入职时间,中间件创建用户属性表。如表1所示,数据使用者Tom、John和Amy首次访问密文数据库时,向中间件系统提供自己的身份属性atti(0<i≤n)。通过使用权重门限访问模型,设定身份属性的权重分别为10、5和7,中间件利用以下公式一计算出用户的权重值;
表1用户属性表
ω(Tom)=10*(CEO)*+5*(40)*+7*(1997)*=37;
ω(John)=10*(Manager)*+5*(35)*+7*(2005)*=27;
ω(Amy)=10*(ProjectLeader)*+5*(27)*+7*(2014)*=15;
设置门限值为T1=20,T2=30,设定权重值小于T1将无权访问密文数据库,权重值在T1与T2之间将只能查看密文数据库中的数据,权重值大于T2的用户可以对密文数据库中的数据进行查看、修改和更新操作。通过比较权重值与门限值可以看到:
T2<ω(Tom) auth=Top Authority
T1<ω(John)<T2 auth=Second Authority
ω(John)<T1 auth=Third Authority
Tom权重值最大拥有最高的权限,John具有第二级的权限,Amy的权限最低。判断出数据使用者的权限后,将数据使用者的用户名userName、身份属性at和计算出的权限Auth存入用户属性表中。
步骤二:获取数据使用者认证信息,判断认证信息是否一致;
用户John对密文数据库进行第i+1次访问,认证过程主要包括以下三步:
(3)中间件使用密钥ki对Eni进行解密Dei=D(ki,Eni),解密获得的Dei与用户认证表中的信息进行比较,如果相同则认证成功并进入步骤三,否则提示John认证失败。
步骤三:更新认证信息;
中间件对密钥进行更新计算新的认证信息更新John在用户认证表中的信息。然后使用密钥ki+1对ci+1加密,得到新的加密认证信息中间件将新的加密认证信息发送给John。John使用密钥ki+1对加密的认证信息Eni+1进行解密Dei+1=D(ki+1,Eni+1),并保存新的认证信息ci+1。
步骤四:根据数据使用者权限创建密文数据库临时用户;
中间件首先从用户属性表中获取John的权限,John的权限为SecondAuthority,所以只能查看密文数据库中的数据,因此中间件向密文数据库发送创建用户命令”CREATEUSER'John'@'host'IDENTIFIED BY'ci+1';”和授权命令”GRANT SELECT ONdatabasename.tablename TO'John'@'host'”在密文数据库中创建一个只能查看数据的临时用户,临时用户的用户名为John,密码为ci+1,John使用该临时用户进入密文数据库。
步骤五:数据使用者退出时,中间件销毁数据库临时用户;
当John完成对数据库的操作,退出密文数据库时,中间件会对密文数据库发出销毁临时数据库用户的命令”DROP USER'John'@'host';”。当John再一次想要访问密文数据库时,需要进行重新认证,完成认证后才能获得登录密文数据库临时用户的密码。
综上所述,本发明提出了一种面向密文数据库的中间件动态用户认证方法,通过对用户持有的加密信息进行认证并生成新的认证信息,使用新的认证信息在密文数据库中创建临时用户并在数据使用者访问完数据库后销毁临时用户,从而达到对密文数据库使用者有效管理的要求。
应用前述的中间件动态用户认证方法,提出一种面向密文数据库且支持动态用户认证的系统,该系统包括加解密模块、密钥管理模块、用户管理模块及数据传输模块。
其中,加解密模块,用于对SQL语句重写和对数据库客户端和服务器端交互的数据进行加解密操作。
密钥管理模块,用于数据提供者主密钥的生成与管理和对加解密工作密钥的管理。
用户管理模块,用于对用户权限分析和用户身份的动态认证,为通过认证的数据使用者在密文数据库中创建临时用户,并在数据使用者操作结束后销毁临时用户。
数据传输模块,用于连接数据库客户端和服务器端,可以获取从数据库客户端和服务器端发出的数据,并能保证数据的传输安全。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种面向密文数据库的中间件动态用户认证方法,其特征在于:包括如下步骤,
步骤一:获取数据使用者身份属性,计算其权限;
中间件获取数据使用者的若干个身份属性,通过权限访问模型计算数据使用者的权重值,并判断用户权限,最后把数据使用者的用户名、身份属性和权限存入用户属性表中,其中用户属性表用于保存数据使用者的身份属性和权限;
步骤二:获取数据使用者认证信息,判断认证信息是否一致;
数据使用者对密文数据库进行第i+1次访问,i≥1,对数据使用者拥有的认证信息进行加密,并将加密的认证信息En i 传递给中间件;加密的认证信息,其中k i 为加密密钥,c i 表示数据使用者拥有的认证信息,t i 表示数据使用者认证的次数,表示异或操作;
中间件通过De i = D(k i ,En i )对En i 进行解密,将De i 与用户认证表中的认证信息进行比较,如果相同则认证成功并进入步骤三,否则提示数据使用者认证失败;
步骤三:更新认证信息;
中间件更新密钥k i+1 ,生成新的认证信息c i+1 ,并对用户认证表中的信息进行更新;
使用新密钥k i+1 对c i+1 进行加密,得到新的加密认证信息En i+1 ,中间件将新的加密认证信息发送给数据使用者;
数据使用者使用密钥k i+1 对加密的认证信息En i+1 解密,保存新的认证信息c i+1 ;
步骤四:根据数据使用者权限创建密文数据库临时用户;
中间件读取步骤一中获取的用户权限,根据用户权限在密文数据库中创建临时用户,临时用户的用户名为数据使用者的用户名,密码为新的认证信息c i+1 ,数据使用者通过用户名和密码进入密文数据库中进行相应的操作;
步骤五:数据使用者退出时,中间件销毁步骤四中创建的数据库临时用户;
数据使用者退出密文数据库后,中间件对密文数据库发出销毁临时数据库用户的命令;若数据使用者需再次访问密文数据库,则必须重新进行步骤二到四的用户认证。
4.根据权利要求1~3任一项所述的认证方法,提出一种面向密文数据库的中间件动态用户认证系统,其特征在于:包括加解密模块、密钥管理模块、用户管理模块及数据传输模块。
5.根据权利要求4所述的认证系统,其特征在于:所述用户管理模块,用于对用户权限分析和用户身份的动态认证,为通过认证的数据使用者在密文数据库中创建临时用户,并在数据使用者操作结束后销毁临时用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810133545.8A CN108345801B (zh) | 2018-02-09 | 2018-02-09 | 一种面向密文数据库的中间件动态用户认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810133545.8A CN108345801B (zh) | 2018-02-09 | 2018-02-09 | 一种面向密文数据库的中间件动态用户认证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108345801A CN108345801A (zh) | 2018-07-31 |
CN108345801B true CN108345801B (zh) | 2021-09-28 |
Family
ID=62959380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810133545.8A Active CN108345801B (zh) | 2018-02-09 | 2018-02-09 | 一种面向密文数据库的中间件动态用户认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108345801B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032862B (zh) * | 2019-04-01 | 2022-12-16 | 中科天御(苏州)科技有限公司 | 一种防撞库攻击的数据动态防护方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889081A (zh) * | 2006-08-01 | 2007-01-03 | 中国工商银行股份有限公司 | 一种数据库安全访问方法和系统 |
CN102571754A (zh) * | 2011-12-05 | 2012-07-11 | 北京交通大学 | 一种对可视化信息系统进行安全防护的方法 |
CN103152179A (zh) * | 2013-02-07 | 2013-06-12 | 江苏意源科技有限公司 | 一种适用于多应用系统的统一身份认证方法 |
CN104866316A (zh) * | 2015-06-02 | 2015-08-26 | 雷虹 | 数据中心中间件系统 |
CN104881280A (zh) * | 2015-05-13 | 2015-09-02 | 南京邮电大学 | 一种支持多查询的密文数据库中间件的设计方法 |
CN104899817A (zh) * | 2015-06-26 | 2015-09-09 | 中国人民解放军第四五四医院 | 一种移动互联网医院安全交互的方法 |
CN105207970A (zh) * | 2014-06-12 | 2015-12-30 | 中兴通讯股份有限公司 | 基于公有云的认证方法、安全认证中间件及云计算资源池 |
CN107426169A (zh) * | 2017-05-24 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 一种基于权限的业务处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2013200916B2 (en) * | 2012-02-20 | 2014-09-11 | Kl Data Security Pty Ltd | Cryptographic Method and System |
US9836371B2 (en) * | 2013-09-20 | 2017-12-05 | Oracle International Corporation | User-directed logging and auto-correction |
-
2018
- 2018-02-09 CN CN201810133545.8A patent/CN108345801B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889081A (zh) * | 2006-08-01 | 2007-01-03 | 中国工商银行股份有限公司 | 一种数据库安全访问方法和系统 |
CN102571754A (zh) * | 2011-12-05 | 2012-07-11 | 北京交通大学 | 一种对可视化信息系统进行安全防护的方法 |
CN103152179A (zh) * | 2013-02-07 | 2013-06-12 | 江苏意源科技有限公司 | 一种适用于多应用系统的统一身份认证方法 |
CN105207970A (zh) * | 2014-06-12 | 2015-12-30 | 中兴通讯股份有限公司 | 基于公有云的认证方法、安全认证中间件及云计算资源池 |
CN104881280A (zh) * | 2015-05-13 | 2015-09-02 | 南京邮电大学 | 一种支持多查询的密文数据库中间件的设计方法 |
CN104866316A (zh) * | 2015-06-02 | 2015-08-26 | 雷虹 | 数据中心中间件系统 |
CN104899817A (zh) * | 2015-06-26 | 2015-09-09 | 中国人民解放军第四五四医院 | 一种移动互联网医院安全交互的方法 |
CN107426169A (zh) * | 2017-05-24 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 一种基于权限的业务处理方法及装置 |
Non-Patent Citations (7)
Title |
---|
GridCertLib: A Single Sign-on Solution for Grid Web Applications and Portals;Riccardo Murri, et al.;《J Grid Computing》;20111104;第9卷;第441-453页 * |
Reducing Dependency on Middleware for Pull Based Active Services in LBS Systems;Saroj Kaushik, et al.;《Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 2011》;20111231;第90-106 * |
具有数据库更新通知功能的数据库中间件;肖统民;《现代计算机》;20051130;第28-30页 * |
可搜索数据库加密系统的设计与实现;汪海伟 等;《计算机技术与发展》;20070605;第27卷(第8期);第130-134页 * |
基于中间件的C/S模式下的身份认证;于泽源 等;《计算机工程与设计》;20020228;第23卷(第2期);第43-44,17页 * |
安全中间件技术分析;淡蓝色的风red;《https://blog.csdn.net/chenshaored/article/details/6118355》;20110105;第1-4页 * |
面向密文数据库的中间件系统设计与实现;宋天煜 等;《计算机应用》;20181210;第38卷(第12期);第3450-3454,3461页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108345801A (zh) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11803654B2 (en) | Integration of a block chain, managing group authority and access in an enterprise environment | |
EP2731043B1 (en) | Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method | |
US7155616B1 (en) | Computer network comprising network authentication facilities implemented in a disk drive | |
US8813247B1 (en) | Providing cryptographic security for objective-oriented programming files | |
CN103561034B (zh) | 一种安全文件共享系统 | |
US8856530B2 (en) | Data storage incorporating cryptographically enhanced data protection | |
US10348706B2 (en) | Assuring external accessibility for devices on a network | |
US8499147B2 (en) | Account management system, root-account management apparatus, derived-account management apparatus, and program | |
CN110489996B (zh) | 一种数据库数据安全管理方法及系统 | |
US20200259637A1 (en) | Management and distribution of keys in distributed environments | |
US10771467B1 (en) | External accessibility for computing devices | |
US8904504B2 (en) | Remote keychain for mobile devices | |
US8953805B2 (en) | Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method | |
JP2018529299A (ja) | 生体認証プロトコル標準のシステムおよび方法 | |
KR20170019308A (ko) | 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법 | |
CN112347451A (zh) | 一种基于区块链技术的mes数据管理追踪方法及系统 | |
JP6712707B2 (ja) | 複数のサービスシステムを制御するサーバシステム及び方法 | |
CN108345801B (zh) | 一种面向密文数据库的中间件动态用户认证方法及系统 | |
EP2920732B1 (en) | Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method | |
CN114978771B (zh) | 一种基于区块链技术的数据安全共享方法及系统 | |
AU2017412654A1 (en) | Assuring external accessibility for devices on a network | |
CN115348035A (zh) | 访问请求的处理方法及装置、存储介质、电子设备 | |
CN116418596A (zh) | 一种身份认证方法及系统 | |
CN117313144A (zh) | 敏感数据的管理方法、装置、存储介质和电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |